PageRenderTime 25ms CodeModel.GetById 29ms RepoModel.GetById 1ms app.codeStats 0ms

/anc/admin/config.php

https://gitlab.com/lcapdecomme/monls
PHP | 485 lines | 410 code | 46 blank | 29 comment | 84 complexity | 963d7ddbc7f4ca3013c2a2a64fe2b917 MD5 | raw file
  1. <?php
  2. $sql_serveur=getenv('DB_HOSTNAME');
  3. $sql_user=getenv('DB_USERNAME');
  4. $sql_passwd=getenv('DB_PASSWORD');
  5. $sql_bdd=getenv('DB_NAME');
  6. // Date et heure courantes, ne pas modifier
  7. $now=date("Y-m-d H:i:s");
  8. $maintenant=date("d-m-Y H:i");
  9. $date_jour=formatte_date($now,4);
  10. $date_jour_simple=date("d/m/Y");
  11. // Mail de l'administrateur
  12. $mail_admin="monls@free.fr";
  13. // Définition du nom du cookie
  14. $nom_cookie = 'auth';
  15. $sepCookie = 'aicd45ez432dsf43d432';
  16. function isCookieOk()
  17. {
  18. global $nom_cookie;
  19. global $sepCookie;
  20. // Test du cookie sur toutes les pages du site
  21. if (isset($_COOKIE[$nom_cookie]) && !isset($_SESSION["id_joueur"]) )
  22. {
  23. $monLSCookie = $_COOKIE[$nom_cookie];
  24. $monLSCookie = explode($sepCookie, $monLSCookie);
  25. // Ouverture de la base de données
  26. $db_link = ouvre_base();
  27. if ($db_link && count($monLSCookie)==3)
  28. {
  29. // Requete pour retrouver cette utilisateur
  30. $joueur=getUtilisateurID($monLSCookie[0]);
  31. // Lecture des propriétés du joueur
  32. $joueur_id = $joueur["joueur_id"];
  33. $nom = $joueur["nom"];
  34. if ( (sha1($nom)==$monLSCookie[1]) && (sha1($_SERVER['REMOTE_ADDR']== $monLSCookie[2])) )
  35. {
  36. $der_cnx = $joueur["der_cnx"];
  37. $administrateur = $joueur["administrateur"];
  38. // Enregistrer en base
  39. setCnxUtilisateur($joueur_id);
  40. // Création de la session
  41. $_SESSION["id_joueur"] = $joueur_id;
  42. $_SESSION["nom_joueur"] = $nom;
  43. $_SESSION["der_cnx_joueur"] = $der_cnx;
  44. $_SESSION["admin"] = $administrateur;
  45. // Raffraichissement du cookie
  46. setcookie($nom_cookie,$joueur_id.$sepCookie.sha1($nom).$sepCookie.sha1($_SERVER['REMOTE_ADDR']), time() + 10*24*3600,'/');
  47. }
  48. else
  49. {
  50. setcookie($nom_cookie,'',0,'/');
  51. }
  52. ferme_base($db_link);
  53. }
  54. else
  55. {
  56. setcookie($nom_cookie,'',0,'/');
  57. }
  58. }
  59. }
  60. function getmicrotime()
  61. {
  62. $tmp = explode( ' ', microtime() );
  63. return $tmp[1] . substr( $tmp[0], 1 );
  64. }
  65. function getPosition($i)
  66. {
  67. if ($i==0) return "Premier";
  68. if ($i==1) return "Deuxième";
  69. if ($i==2) return "Troisième";
  70. if ($i==3) return "Quatrième";
  71. if ($i==4) return "Cinquième";
  72. if ($i==5) return "Sixième";
  73. if ($i==6) return "Septième";
  74. if ($i==7) return "Huitième";
  75. if ($i==8) return "Neuvième";
  76. if ($i==9) return "Dixième";
  77. if ($i==10) return "Onzième";
  78. if ($i==11) return "Douzième";
  79. if ($i==12) return "Treizième";
  80. if ($i==13) return "Quatorzième";
  81. if ($i==14) return "Quinzième";
  82. if ($i==15) return "Seizième";
  83. if ($i==16) return "Dix-Septième";
  84. if ($i==17) return "Dix-Huitième";
  85. if ($i==18) return "Dix-neuvième";
  86. if ($i==19) return "Vingtième";
  87. if ($i==20) return "Vingt-et-unième";
  88. return "...";
  89. }
  90. function stripslashes_r( $string ) {
  91. if(get_magic_quotes_gpc()) {
  92. return stripslashes($string);
  93. } else {
  94. return $string;
  95. }
  96. }
  97. // Connexion à la base
  98. function ouvre_base()
  99. {
  100. global $sql_serveur;
  101. global $sql_user;
  102. global $sql_passwd;
  103. global $sql_bdd;
  104. // Connexion à la base de donnée
  105. $db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
  106. if (!$db_link)
  107. {
  108. // die ('Impossible de se connecter : ' . mysql_error());
  109. return False;
  110. }
  111. // Sélection de la base de données db
  112. $db_selected = mysql_select_db($sql_bdd);
  113. if (!$db_selected)
  114. {
  115. // die ('Impossible d\'utiliser la base : ' . mysql_error());
  116. return False;
  117. }
  118. mysql_query("SET NAMES UTF8");
  119. return $db_link;
  120. }
  121. // Déconnexion à la base
  122. function ferme_base($db_link)
  123. {
  124. mysql_close($db_link);
  125. }
  126. // Formate une date
  127. function formatte_date($date,$style)
  128. {
  129. if ($style == 1)
  130. {
  131. // aaaa/mm/jj -> jj/mm/aaaa ou jj/mm/aaaa Hhm
  132. $a=substr($date,0,4);
  133. $m=substr($date,5,2);
  134. $j=substr($date,8,2);
  135. if(($len_date=strlen($date)) == 10)
  136. {
  137. $date=$j."/".$m."/".$a;
  138. }
  139. elseif($len_date == 19)
  140. {
  141. $h=substr($date,11,2);
  142. $n=substr($date,14,2);
  143. $date=$j."/".$m."/".$a." à ".$h.":".$n;
  144. }
  145. return $date;
  146. }
  147. if ($style == 2)
  148. {
  149. // jj/mm/aaaa ->aaaa/mm/jj
  150. $j=substr($date,0,2);
  151. $m=substr($date,3,2);
  152. $a=substr($date,6,4);
  153. $date=$a."/".$m."/".$j;
  154. return $date;
  155. }
  156. if ($style == 4)
  157. {
  158. // aaaa/mm/jj ->jour jj mois aaaa
  159. $a=substr($date,0,4);
  160. $m=substr($date,5,2);
  161. $j=substr($date,8,2);
  162. $timestamp=mktime(0,0,0,$m,$j,$a);
  163. $en_jour = date("l",$timestamp);
  164. if($en_jour == "Monday") {$jour = "Lundi";}
  165. elseif($en_jour == "Tuesday") {$jour = "Mardi";}
  166. elseif($en_jour == "Wednesday") {$jour = "Mercredi";}
  167. elseif($en_jour == "Thursday") {$jour = "Jeudi";}
  168. elseif($en_jour == "Friday") {$jour = "Vendredi";}
  169. elseif($en_jour == "Saturday") {$jour = "Samedi";}
  170. else {$jour = "Dimanche";}
  171. switch($m)
  172. {
  173. case "01": $mois="Janvier";break;
  174. case "02": $mois="Février";break;
  175. case "03": $mois="Mars";break;
  176. case "04": $mois="Avril";break;
  177. case "05": $mois="Mai";break;
  178. case "06": $mois="Juin";break;
  179. case "07": $mois="Juillet";break;
  180. case "08": $mois="Août";break;
  181. case "09": $mois="Septembre";break;
  182. case "10": $mois="Octobre";break;
  183. case "11": $mois="Novembre";break;
  184. case "12": $mois="Décembre";break;
  185. default: $mois="";break;
  186. }
  187. switch($j)
  188. {
  189. case "01": $njour="1er";break;
  190. case "02": $njour="2";break;
  191. case "03": $njour="3";break;
  192. case "04": $njour="4";break;
  193. case "05": $njour="5";break;
  194. case "06": $njour="6";break;
  195. case "07": $njour="7";break;
  196. case "08": $njour="8";break;
  197. case "09": $njour="9";break;
  198. default: $njour=$j;
  199. }
  200. $date=$jour." ".$njour." ".$mois." ".$a;
  201. return $date;
  202. }
  203. if ($style == 5)
  204. {
  205. // aaaa/mm/jj ->jour jj mois
  206. $a=substr($date,0,4);
  207. $m=substr($date,5,2);
  208. $j=substr($date,8,2);
  209. $timestamp=mktime(0,0,0,$m,$j,$a);
  210. $en_jour = date("l",$timestamp);
  211. if($en_jour == "Monday") {$jour = "lundi";}
  212. elseif($en_jour == "Tuesday") {$jour = "mardi";}
  213. elseif($en_jour == "Wednesday") {$jour = "mercredi";}
  214. elseif($en_jour == "Thursday") {$jour = "jeudi";}
  215. elseif($en_jour == "Friday") {$jour = "vendredi";}
  216. elseif($en_jour == "Saturday") {$jour = "samedi";}
  217. else {$jour = "dimanche";}
  218. switch($m)
  219. {
  220. case "01": $mois="janvier";break;
  221. case "02": $mois="février";break;
  222. case "03": $mois="mars";break;
  223. case "04": $mois="avril";break;
  224. case "05": $mois="mai";break;
  225. case "06": $mois="juin";break;
  226. case "07": $mois="juillet";break;
  227. case "08": $mois="août";break;
  228. case "09": $mois="septembre";break;
  229. case "10": $mois="octobre";break;
  230. case "11": $mois="novembre";break;
  231. case "12": $mois="décembre";break;
  232. default: $mois="";break;
  233. }
  234. switch($j)
  235. {
  236. case "01": $njour="1er";break;
  237. case "02": $njour="2";break;
  238. case "03": $njour="3";break;
  239. case "04": $njour="4";break;
  240. case "05": $njour="5";break;
  241. case "06": $njour="6";break;
  242. case "07": $njour="7";break;
  243. case "08": $njour="8";break;
  244. case "09": $njour="9";break;
  245. default: $njour=$j;
  246. }
  247. $date=$jour." ".$njour." ".$mois;
  248. return $date;
  249. }
  250. if ($style == 6)
  251. {
  252. // JJmm -> jj mois
  253. $m=substr($date,3,2);
  254. $j=substr($date,0,2);
  255. switch($m)
  256. {
  257. case "01": $mois="Janvier";break;
  258. case "02": $mois="Février";break;
  259. case "03": $mois="Mars";break;
  260. case "04": $mois="Avril";break;
  261. case "05": $mois="Mai";break;
  262. case "06": $mois="Juin";break;
  263. case "07": $mois="Juillet";break;
  264. case "08": $mois="Août";break;
  265. case "09": $mois="Septembre";break;
  266. case "10": $mois="Octobre";break;
  267. case "11": $mois="Novembre";break;
  268. case "12": $mois="Décembre";break;
  269. default: $mois="";break;
  270. }
  271. switch($j)
  272. {
  273. case "01": $njour="1er";break;
  274. case "02": $njour="2";break;
  275. case "03": $njour="3";break;
  276. case "04": $njour="4";break;
  277. case "05": $njour="5";break;
  278. case "06": $njour="6";break;
  279. case "07": $njour="7";break;
  280. case "08": $njour="8";break;
  281. case "09": $njour="9";break;
  282. default: $njour=$j;
  283. }
  284. $date=$njour." ".$mois;
  285. return $date;
  286. }
  287. if ($style == 7)
  288. {
  289. // aaaa/mm -> mois aaaa
  290. $a=substr($date,0,4);
  291. $m=substr($date,5,2);
  292. switch($m)
  293. {
  294. case "01": $mois="Janvier";break;
  295. case "02": $mois="Février";break;
  296. case "03": $mois="Mars";break;
  297. case "04": $mois="Avril";break;
  298. case "05": $mois="Mai";break;
  299. case "06": $mois="Juin";break;
  300. case "07": $mois="Juillet";break;
  301. case "08": $mois="Août";break;
  302. case "09": $mois="Septembre";break;
  303. case "10": $mois="Octobre";break;
  304. case "11": $mois="Novembre";break;
  305. case "12": $mois="Décembre";break;
  306. default: $mois="";break;
  307. }
  308. $date=$mois." ".$a;
  309. return $date;
  310. }
  311. }
  312. function getBrowser()
  313. {
  314. // récupération du navigateur et de l'OS du client
  315. if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') )
  316. {
  317. if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Netscape') )
  318. {
  319. $browser = 'Netscape ';
  320. }
  321. else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') )
  322. {
  323. $browser = 'Firefox';
  324. }
  325. else
  326. {
  327. $browser = 'Mozilla';
  328. }
  329. }
  330. else if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') )
  331. {
  332. if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') )
  333. {
  334. $browser = 'Opera';
  335. }
  336. else
  337. {
  338. $browser = 'IE';
  339. }
  340. }
  341. else
  342. {
  343. $browser = 'Autres';
  344. }
  345. return $browser;
  346. }
  347. function SauveBaseEtMail($destinataire)
  348. {
  349. $db_link = ouvre_base();
  350. global $sql_bdd;
  351. if ($db_link)
  352. {
  353. $tables = mysql_list_tables($sql_bdd);
  354. while ($donnees = mysql_fetch_array($tables))
  355. {
  356. $table = $donnees[0];
  357. $res = mysql_query("SHOW CREATE TABLE $table");
  358. if ($res)
  359. {
  360. $insertions = "";
  361. $tableau = mysql_fetch_array($res);
  362. //$tableau[1] .= ";";
  363. $valTab = "\nDROP TABLE IF EXISTS `$table`;";
  364. $valTab .= "\n".str_replace("\n", "", $tableau[1]);
  365. $dumpsql[] = str_replace(",", ",\n", $valTab);
  366. // Ajout de la notion de l'auto-incrmement
  367. $req_autoincrement = mysql_query('SHOW TABLE STATUS FROM '.$sql_bdd.' LIKE \'' . $table. '\'');
  368. if ($req_autoincrement != FALSE)
  369. {
  370. $ligne_autoincrement = mysql_fetch_array($req_autoincrement);
  371. if (!empty($ligne_autoincrement['Auto_increment']))
  372. {
  373. $dumpsql[].= ' AUTO_INCREMENT=' . $ligne_autoincrement['Auto_increment'] . ";\n";
  374. }
  375. }
  376. $req_table = mysql_query("SELECT * FROM $table");
  377. $nbr_champs = mysql_num_fields($req_table);
  378. while ($ligne = mysql_fetch_array($req_table))
  379. {
  380. $insertions .= "INSERT INTO $table VALUES(";
  381. for ($i=0; $i<=$nbr_champs-1; $i++)
  382. {
  383. $insertions .= "'" . mysql_real_escape_string($ligne[$i]) . "', ";
  384. }
  385. $insertions = substr($insertions, 0, -2);
  386. $insertions .= ");\n";
  387. }
  388. if ($insertions != "")
  389. {
  390. $dumpsql[] = $insertions;
  391. }
  392. }
  393. }
  394. $contenucomplet = implode("\r", $dumpsql);
  395. // Entete du mail ..
  396. $entetedate = date("D, j M Y H:i:s -0600"); // Offset horaire
  397. $entetemail = "From: AdministrateurMonLS \n"; // Adresse expéditeur
  398. $entetemail .= "Cc: \n";
  399. $entetemail .= "Bcc: \n"; // Copies cachées
  400. $entetemail .= "Reply-To: monls@free.fr \n"; // Adresse de retour
  401. $entetemail .= "X-Mailer: PHP/" . phpversion() . "\n" ;
  402. $entetemail .= "Date: $entetedate";
  403. mail($destinataire, "Sauvegarde de la BD monls", $contenucomplet,$entetemail);
  404. ferme_base($db_link);
  405. }
  406. }
  407. function getJeuPresent($jeu_id,$jeuxStat)
  408. {
  409. // Affichage des initiales de tous les joueurs
  410. for($p=0;$p<sizeof($jeuxStat) && !empty($jeuxStat);$p++)
  411. {
  412. $t=$jeuxStat[$p];
  413. if (isset($t))
  414. {
  415. $idje=$t["jeu_id"];
  416. if ($idje==$jeu_id )
  417. {
  418. return True;
  419. }
  420. }
  421. }
  422. return False;
  423. }
  424. function getValeur($jeu_id, $joueur_id,$jeuxStat)
  425. {
  426. // Affichage des initiales de tous les joueurs
  427. for($p=0;$p<sizeof($jeuxStat) && !empty($jeuxStat);$p++)
  428. {
  429. $t=$jeuxStat[$p];
  430. $idjo=$t["joueur_id"];
  431. $idje=$t["jeu_id"];
  432. if ($idje==$jeu_id AND $idjo==$joueur_id)
  433. {
  434. return $t;
  435. }
  436. }
  437. return False;
  438. }
  439. ?>