PageRenderTime 46ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/justjs/fcforcesoccer/competition/form_competition.php

https://github.com/jkreska/test1
PHP | 433 lines | 360 code | 43 blank | 30 comment | 47 complexity | f9df14fc3e06bd9813c1b4feba865deb MD5 | raw file
Possible License(s): GPL-2.0
  1. <?php
  2. ##################################
  3. # competition
  4. ##################################
  5. # variables
  6. $page['L_message_competition']="";
  7. $page['form_action']=convert_url("index.php?r=".$lang['general']['idurl_competition']."&v1=form_competition");
  8. $nb_erreur="0";
  9. $page['erreur']=array();
  10. $page['pop']="";
  11. # form values
  12. $page['value_id']="";
  13. $page['value_name']="";
  14. if($right_user['add_competition'] OR $right_user['edit_competition']) {
  15. $page['show_form']=1;
  16. }
  17. else {
  18. $page['show_form']='';
  19. $page['L_message']=$lang['general']['acces_reserve_admin'];
  20. }
  21. # si l'identifiant du competition est passe dans l'url (modification), on le recupere
  22. if(isset($_GET['v2']) AND $_GET['v2']!="") { $page['value_id']=$_GET['v2']; }
  23. elseif(isset($_POST['id']) AND $_POST['id']!="") { $page['value_id']=$_POST['id']; }
  24. # case of add or edit
  25. if(isset($_POST) AND !empty($_POST))
  26. {
  27. # we format datas
  28. if(isset($_POST['name'])) $_POST['name']=format_txt($_POST['name']);
  29. # we check datas
  30. if(!isset($_POST['name']) OR $_POST['name']=="") { $page['erreur'][$nb_erreur]['message']=$lang['competition']['E_empty_name_competition']; $nb_erreur++; }
  31. else
  32. {
  33. # we check if it does not already exist
  34. $sgbd = sql_connect();
  35. $sql_verif = sql_replace($sql['competition']['verif_presence_competition'],$_POST);
  36. $res_verif = sql_query($sql_verif);
  37. $nb_res = sql_num_rows($res_verif);
  38. sql_free_result($res_verif);
  39. sql_close($sgbd);
  40. if($nb_res!="0") { $page['erreur'][$nb_erreur]['message']=$lang['competition']['E_exist_competition']; $nb_erreur++; }
  41. }
  42. if(isset($_POST['name_round']) AND !empty($_POST['name_round'])) {
  43. $name_erreur=0;
  44. $point_erreur=0;
  45. $group_erreur=0;
  46. $day_erreur=0;
  47. $value_round=array();
  48. # format and check round
  49. foreach($_POST['name_round'] as $key => $row) {
  50. $_POST['name_round'][$key]=format_txt($_POST['name_round'][$key]);
  51. $_POST['point_win_at_home'][$key]=format_txt($_POST['point_win_at_home'][$key]);
  52. $_POST['point_win_away'][$key]=format_txt($_POST['point_win_away'][$key]);
  53. $_POST['point_tie_at_home'][$key]=format_txt($_POST['point_tie_at_home'][$key]);
  54. $_POST['point_tie_away'][$key]=format_txt($_POST['point_tie_away'][$key]);
  55. $_POST['point_defeat_at_home'][$key]=format_txt($_POST['point_defeat_at_home'][$key]);
  56. $_POST['point_defeat_away'][$key]=format_txt($_POST['point_defeat_at_home'][$key]);
  57. $_POST['group'][$key]=format_txt($_POST['group'][$key]);
  58. $_POST['day'][$key]=format_txt($_POST['day'][$key]);
  59. if($_POST['name_round'][$key]=="" AND $name_erreur==0) {
  60. $page['erreur'][$nb_erreur]['message']=$lang['competition']['E_empty_name_round']; $nb_erreur++;
  61. $name_erreur=1;
  62. }
  63. if($_POST['standings'][$key]==1 AND (!check_integer($_POST['point_win_at_home'][$key]) OR
  64. !check_integer($_POST['point_win_away'][$key]) OR
  65. !check_integer($_POST['point_tie_at_home'][$key]) OR
  66. !check_integer($_POST['point_tie_away'][$key]) OR
  67. !check_integer($_POST['point_defeat_at_home'][$key]) OR
  68. !check_integer($_POST['point_defeat_away'][$key])) AND $point_erreur==0)
  69. {
  70. $page['erreur'][$nb_erreur]['message']=$lang['competition']['E_invalid_point']; $nb_erreur++;
  71. $point_erreur=1;
  72. }
  73. if(!empty($_POST['group'][$key]) AND !check_integer($_POST['group'][$key]) AND $group_erreur==0) {
  74. $page['erreur'][$nb_erreur]['message']=$lang['competition']['E_invalid_group']; $nb_erreur++;
  75. $group_erreur=1;
  76. }
  77. if(!empty($_POST['day'][$key]) AND !check_integer($_POST['day'][$key]) AND $day_erreur==0) {
  78. $page['erreur'][$nb_erreur]['message']=$lang['competition']['E_invalid_day']; $nb_erreur++;
  79. $day_erreur=1;
  80. }
  81. }
  82. }
  83. # there is no error in submited datas
  84. if($nb_erreur==0)
  85. {
  86. # case : new item to add
  87. if(!isset($_POST['id']) OR empty($_POST['id']) AND $right_user['add_competition'])
  88. {
  89. $sql_add=sql_replace($sql['competition']['insert_competition'],$_POST);
  90. $sgbd = sql_connect();
  91. $execution=sql_query($sql_add);
  92. if($execution) { $page['L_message_competition']=$lang['competition']['form_competition_add_1']; }
  93. else { $page['L_message_competition']=$lang['competition']['form_competition_add_0']; }
  94. $page['value_id']=sql_insert_id($sgbd);
  95. # we add rounds
  96. if(isset($_POST['name_round'])) {
  97. foreach($_POST['name_round'] as $key => $row) {
  98. $value_round[]="('".$page['value_id']."','".$_POST['name_round'][$key]."','".($key+1)."','".$_POST['standings'][$key]."','".$_POST['point_win_at_home'][$key]."','".$_POST['point_win_away'][$key]."','".$_POST['point_tie_at_home'][$key]."','".$_POST['point_tie_away'][$key]."','".$_POST['point_defeat_at_home'][$key]."','".$_POST['point_defeat_away'][$key]."','".$_POST['order_team'][$key]."','".$_POST['order_team_egality'][$key]."','".$_POST['group'][$key]."','".$_POST['day'][$key]."')";
  99. }
  100. if(!empty($value_round)) {
  101. $var['values']=implode(",",$value_round);
  102. $sql_add_round=sql_replace($sql['competition']['insert_round'],$var);
  103. if($execution) sql_query($sql_add_round);
  104. }
  105. sql_close($sgbd);
  106. }
  107. # si l'add vient d'une page pop, c'est que l'on vient d'un autre formulaire.
  108. # on va donc renvoyer l'information au formulaire parent
  109. if($execution AND isset($_GET['fen']) AND $_GET['fen']=="pop")
  110. {
  111. $page['pop']="1";
  112. $page['nouveau_text']=$_POST['name'];
  113. $page['nouveau_id']=$page['value_id'];
  114. }
  115. }
  116. # case : item to modify
  117. elseif($right_user['edit_competition'])
  118. {
  119. $sql_modification=sql_replace($sql['competition']['edit_competition'],$_POST);
  120. $sgbd = sql_connect();
  121. $execution=sql_query($sql_modification);
  122. if($execution) { $page['L_message_competition']=$lang['competition']['form_competition_edit_1']; }
  123. else { $page['L_message_competition']=$lang['competition']['form_competition_edit_0']; }
  124. # we update rounds
  125. $var['round_id_list']=array();
  126. if(isset($_POST['name_round'])) {
  127. foreach($_POST['name_round'] as $key => $row) {
  128. if(isset($_POST['id_round'][$key]) AND !empty($_POST['id_round'][$key])) {
  129. $var['id']=$_POST['id_round'][$key];
  130. array_push($var['round_id_list'],$_POST['id_round'][$key]);
  131. $var['name']=$_POST['name_round'][$key];
  132. $var['order']=($key+1);
  133. $var['standings']=$_POST['standings'][$key];
  134. $var['point_win_at_home']=$_POST['point_win_at_home'][$key];
  135. $var['point_win_away']=$_POST['point_win_away'][$key];
  136. $var['point_tie_at_home']=$_POST['point_tie_at_home'][$key];
  137. $var['point_tie_away']=$_POST['point_tie_away'][$key];
  138. $var['point_defeat_at_home']=$_POST['point_defeat_at_home'][$key];
  139. $var['point_defeat_away']=$_POST['point_defeat_away'][$key];
  140. $var['order_team']=$_POST['order_team'][$key];
  141. $var['order_team_egality']=$_POST['order_team_egality'][$key];
  142. $var['group']=$_POST['group'][$key];
  143. $var['day']=$_POST['day'][$key];
  144. $sql_edit_round=sql_replace($sql['competition']['edit_round'],$var);
  145. if($execution) sql_query($sql_edit_round);
  146. }
  147. else
  148. {
  149. $var['values']="('".$page['value_id']."','".$_POST['name_round'][$key]."','".($key+1)."','".$_POST['standings'][$key]."','".$_POST['point_win_at_home'][$key]."','".$_POST['point_win_away'][$key]."','".$_POST['point_tie_at_home'][$key]."','".$_POST['point_tie_away'][$key]."','".$_POST['point_defeat_at_home'][$key]."','".$_POST['point_defeat_away'][$key]."','".$_POST['order_team'][$key]."','".$_POST['order_team_egality'][$key]."','".$_POST['group'][$key]."','".$_POST['day'][$key]."')";
  150. $sql_add_round=sql_replace($sql['competition']['insert_round'],$var);
  151. if($execution) sql_query($sql_add_round);
  152. $_POST['id_round'][$key]=sql_insert_id($sgbd);
  153. array_push($var['round_id_list'],$_POST['id_round'][$key]);
  154. }
  155. }
  156. }
  157. # we delete other rounds
  158. $var['competition']=$_POST['id'];
  159. $var['round_id_list']=implode("','",$var['round_id_list']);
  160. $sql_delete_round=sql_replace($sql['competition']['delete_round_notin'],$var);
  161. sql_query($sql_delete_round);
  162. sql_close($sgbd);
  163. }
  164. }
  165. else
  166. {
  167. # there is some errors: we show the datas again
  168. if(isset($_POST['id'])) $page['value_id']=$_POST['id'];
  169. if(isset($_POST['name'])) $page['value_name']=$_POST['name'];
  170. }
  171. }
  172. # if the ID is known, we get the datas to show them in the form
  173. if(isset($page['value_id']) AND $page['value_id']!="" AND $nb_erreur==0)
  174. {
  175. # we get the item information
  176. $var['id']=$page['value_id'];
  177. $sql_details=sql_replace($sql['competition']['select_competition_details'],$var);
  178. $sgbd = sql_connect();
  179. $res = sql_query($sql_details);
  180. $ligne = sql_fetch_array($res);
  181. sql_free_result($res);
  182. sql_close($sgbd);
  183. $page['value_id']=$ligne['competition_id'];
  184. $page['value_name']=$ligne['competition_name'];
  185. }
  186. # order team by
  187. $order_team=array(
  188. "0"=>$lang['competition']['point'],
  189. "1"=>$lang['competition']['nb_match'],
  190. "2"=>$lang['competition']['nb_win'],
  191. "3"=>$lang['competition']['nb_tie'],
  192. "4"=>$lang['competition']['nb_defeat'],
  193. "5"=>$lang['competition']['goal_average']);
  194. # rounds
  195. $page['round']=array();
  196. $page['nb_round']="0";
  197. if(!empty($page['value_id']))
  198. {
  199. $var['competition']=$page['value_id'];
  200. $sql_round=sql_replace($sql['competition']['select_round_count_match'],$var);
  201. $sgbd = sql_connect();
  202. $res = sql_query($sql_round);
  203. $page['nb_round'] = sql_num_rows($res);
  204. $i="0";
  205. if($page['nb_round']!=0)
  206. {
  207. while($ligne = sql_fetch_array($res))
  208. {
  209. $page['round'][$i]['i']=$i;
  210. if($i==0) {
  211. $page['round'][$i]['display_round']="block";
  212. $page['round'][$i]['class']="on";
  213. }
  214. else {
  215. $page['round'][$i]['display_round']="none";
  216. $page['round'][$i]['class']="";
  217. }
  218. $page['round'][$i]['id']=$ligne['round_id'];
  219. $page['round'][$i]['name']=$ligne['round_name'];
  220. $page['round'][$i]['nb_match']=$ligne['nb_match'];
  221. $page['round'][$i]['order']=($i+1);
  222. $page['round'][$i]['standings']=$ligne['round_standings'];
  223. if($ligne['round_standings']==1) {
  224. $page['round'][$i]['display_point_system']="block";
  225. $page['round'][$i]['standings_checked_yes']="checked=\"checked\"";
  226. $page['round'][$i]['standings_checked_no']="";
  227. }
  228. else {
  229. $page['round'][$i]['display_point_system']="none";
  230. $page['round'][$i]['standings_checked_no']="checked=\"checked\"";
  231. $page['round'][$i]['standings_checked_yes']="";
  232. }
  233. $page['round'][$i]['point_win_at_home']=$ligne['point_win_at_home'];
  234. $page['round'][$i]['point_win_away']=$ligne['point_win_away'];
  235. $page['round'][$i]['point_tie_at_home']=$ligne['point_tie_at_home'];
  236. $page['round'][$i]['point_tie_away']=$ligne['point_tie_away'];
  237. $page['round'][$i]['point_defeat_at_home']=$ligne['point_defeat_at_home'];
  238. $page['round'][$i]['point_defeat_away']=$ligne['point_defeat_away'];
  239. $page['round'][$i]['group']=$ligne['round_group'];
  240. $page['round'][$i]['day']=$ligne['round_day'];
  241. $page['round'][$i]['L_round_name']=$lang['competition']['round_name'];
  242. $page['round'][$i]['L_standings']=$lang['competition']['standings'];
  243. $page['round'][$i]['L_point_system']=$lang['competition']['point_system'];
  244. $page['round'][$i]['L_nb_group']=$lang['competition']['group'];
  245. $page['round'][$i]['L_nb_day']=$lang['competition']['day'];
  246. $page['round'][$i]['L_at_home']=$lang['competition']['at_home'];
  247. $page['round'][$i]['L_away']=$lang['competition']['away'];
  248. $page['round'][$i]['L_win']=$lang['competition']['win'];
  249. $page['round'][$i]['L_tie']=$lang['competition']['tie'];
  250. $page['round'][$i]['L_defeat']=$lang['competition']['defeat'];
  251. $page['round'][$i]['L_yes']=$lang['general']['yes'];
  252. $page['round'][$i]['L_no']=$lang['general']['no'];
  253. $page['round'][$i]['L_order_team']=$lang['competition']['order_team'];
  254. $page['round'][$i]['L_order_team_egality']=$lang['competition']['order_team_egality'];
  255. $page['round'][$i]['L_delete']=$lang['competition']['delete'];
  256. # order_team
  257. $page['round'][$i]['order_team']=array();
  258. $j="0";
  259. foreach($order_team as $key => $row) {
  260. $page['round'][$i]['order_team'][$j]['value']=$key;
  261. $page['round'][$i]['order_team'][$j]['name']=$row;
  262. $page['round'][$i]['order_team'][$j]['selected']="";
  263. $page['round'][$i]['order_team'][$j]['selected_egality']="";
  264. if($ligne['order_team']==$key) { $page['round'][$i]['order_team'][$j]['selected']="selected=\"selected\""; }
  265. if($ligne['order_team_egality']==$key) { $page['round'][$i]['order_team'][$j]['selected_egality']="selected=\"selected\""; }
  266. $j++;
  267. }
  268. $i++;
  269. }
  270. }
  271. sql_free_result($res);
  272. sql_close($sgbd);
  273. }
  274. # liste des round envoyes via le formulaire
  275. if(isset($_POST['name_round']))
  276. {
  277. $page['round']=array();
  278. $tab=array_keys($_POST['name_round']);
  279. $i="0";
  280. foreach($tab as $key => $value)
  281. {
  282. $page['round'][$i]['i']=$i;
  283. if($i==0) {
  284. $page['round'][$i]['display_round']="block";
  285. $page['round'][$i]['class']="on";
  286. }
  287. else {
  288. $page['round'][$i]['display_round']="none";
  289. $page['round'][$i]['class']="";
  290. }
  291. $page['round'][$i]['id']=$_POST['id_round'][$value];
  292. $page['round'][$i]['name']=$_POST['name_round'][$value];
  293. $page['round'][$i]['nb_match']=$_POST['nb_match'][$value];
  294. $page['round'][$i]['order']=($i+1);
  295. if($_POST['standings'][$value]==1) {
  296. $page['round'][$i]['display_point_system']="block";
  297. $page['round'][$i]['standings_checked_yes']="checked=\"checked\"";
  298. $page['round'][$i]['standings_checked_no']="";
  299. }
  300. else {
  301. $page['round'][$i]['display_point_system']="none";
  302. $page['round'][$i]['standings_checked_no']="checked=\"checked\"";
  303. $page['round'][$i]['standings_checked_yes']="";
  304. }
  305. $page['round'][$i]['point_win_at_home']=$_POST['point_win_at_home'][$value];
  306. $page['round'][$i]['point_win_away']=$_POST['point_win_away'][$value];
  307. $page['round'][$i]['point_tie_at_home']=$_POST['point_tie_at_home'][$value];
  308. $page['round'][$i]['point_tie_away']=$_POST['point_tie_away'][$value];
  309. $page['round'][$i]['point_defeat_at_home']=$_POST['point_defeat_at_home'][$value];
  310. $page['round'][$i]['point_defeat_away']=$_POST['point_defeat_away'][$value];
  311. $page['round'][$i]['group']=$_POST['group'][$value];
  312. $page['round'][$i]['day']=$_POST['day'][$value];
  313. $page['round'][$i]['L_round_name']=$lang['competition']['round_name'];
  314. $page['round'][$i]['L_standings']=$lang['competition']['standings'];
  315. $page['round'][$i]['L_point_system']=$lang['competition']['point_system'];
  316. $page['round'][$i]['L_nb_group']=$lang['competition']['nb_group'];
  317. $page['round'][$i]['L_nb_day']=$lang['competition']['nb_day'];
  318. $page['round'][$i]['L_at_home']=$lang['competition']['at_home'];
  319. $page['round'][$i]['L_away']=$lang['competition']['away'];
  320. $page['round'][$i]['L_win']=$lang['competition']['win'];
  321. $page['round'][$i]['L_tie']=$lang['competition']['tie'];
  322. $page['round'][$i]['L_defeat']=$lang['competition']['defeat'];
  323. $page['round'][$i]['L_yes']=$lang['general']['yes'];
  324. $page['round'][$i]['L_no']=$lang['general']['no'];
  325. $page['round'][$i]['L_order_team']=$lang['competition']['order_team'];
  326. $page['round'][$i]['L_order_team_egality']=$lang['competition']['order_team_egality'];
  327. $page['round'][$i]['L_delete']=$lang['competition']['delete'];
  328. # order_team
  329. $page['round'][$i]['order_team']=array();
  330. $j="0";
  331. foreach($order_team as $key => $row) {
  332. $page['round'][$i]['order_team'][$j]['value']=$key;
  333. $page['round'][$i]['order_team'][$j]['name']=$row;
  334. $page['round'][$i]['order_team'][$j]['selected']="";
  335. $page['round'][$i]['order_team'][$j]['selected_egality']="";
  336. if($_POST['order_team'][$value]==$key) { $page['round'][$i]['order_team'][$j]['selected']="selected=\"selected\""; }
  337. if($_POST['order_team_egality'][$value]==$key) { $page['round'][$i]['order_team'][$j]['selected_egality']="selected=\"selected\""; }
  338. $j++;
  339. }
  340. $i++;
  341. }
  342. $page['nb_round']=$i;
  343. }
  344. # order_team
  345. $page['order_team']=array();
  346. $j="0";
  347. foreach($order_team as $key => $row) {
  348. $page['order_team'][$j]['value']=$key;
  349. $page['order_team'][$j]['name']=$row;
  350. $j++;
  351. }
  352. # links
  353. if($right_user['delete_competition'] AND !empty($page['value_id']))
  354. {
  355. $page['link_delete']=convert_url("index.php?r=".$lang['general']['idurl_competition']."&v1=competition_list&v2=delete&v3=".$page['value_id']);
  356. }
  357. else
  358. {
  359. $page['link_delete']="";
  360. }
  361. $page['link_list']=convert_url("index.php?r=".$lang['general']['idurl_competition']."&v1=competition_list");
  362. # text
  363. if(empty($page['value_id'])) { $page['L_title']=$lang['competition']['form_competition_add']; }
  364. else { $page['L_title']=$lang['competition']['form_competition_edit']; }
  365. $page['L_submit']=$lang['competition']['submit'];
  366. $page['L_delete']=$lang['competition']['delete'];
  367. $page['L_back_list']=$lang['competition']['back_list'];
  368. $page['L_erreur']=$lang['general']['E_erreur'];
  369. $page['L_field_required']=$lang['general']['field_required'];
  370. $page['L_name']=$lang['competition']['name'];
  371. $page['L_standings']=$lang['competition']['standings'];
  372. $page['L_point_system']=$lang['competition']['point_system'];
  373. $page['L_nb_group']=$lang['competition']['nb_group'];
  374. $page['L_nb_day']=$lang['competition']['nb_day'];
  375. $page['L_at_home']=$lang['competition']['at_home'];
  376. $page['L_away']=$lang['competition']['away'];
  377. $page['L_win']=$lang['competition']['win'];
  378. $page['L_tie']=$lang['competition']['tie'];
  379. $page['L_defeat']=$lang['competition']['defeat'];
  380. $page['L_cant_delete_round']=$lang['competition']['E_cant_delete_round'];
  381. $page['L_yes']=$lang['general']['yes'];
  382. $page['L_no']=$lang['general']['no'];
  383. $page['L_order_team']=$lang['competition']['order_team'];
  384. $page['L_order_team_egality']=$lang['competition']['order_team_egality'];
  385. $page['L_round_name']=$lang['competition']['round_name'];
  386. $page['L_add_round']=$lang['competition']['add_round'];
  387. $page['L_delete']=$lang['competition']['delete'];
  388. $page['meta_title']=$page['L_title'];
  389. $page['template']=$tpl['competition']['form_competition'];
  390. ?>