PageRenderTime 27ms CodeModel.GetById 6ms RepoModel.GetById 0ms app.codeStats 0ms

/modules/Defy/admin.php

https://code.google.com/p/nuked-klan/
PHP | 266 lines | 221 code | 33 blank | 12 comment | 8 complexity | 124574fedd248d87b185680f40c58404 MD5 | raw file
Possible License(s): GPL-3.0, BSD-3-Clause, GPL-2.0, LGPL-3.0, LGPL-2.1
  1. <?php
  2. // -------------------------------------------------------------------------//
  3. // Nuked-KlaN - PHP Portal //
  4. // http://www.nuked-klan.org //
  5. // -------------------------------------------------------------------------//
  6. // This program is free software. you can redistribute it and/or modify //
  7. // it under the terms of the GNU General Public License as published by //
  8. // the Free Software Foundation; either version 2 of the License. //
  9. // -------------------------------------------------------------------------//
  10. defined('INDEX_CHECK') or die ('<div style="text-align: center;">You cannot open this page directly</div>');
  11. translate('modules/Defy/lang/' . $language . '.lang.php');
  12. include 'modules/Admin/design.php';
  13. admintop();
  14. $visiteur = ($user) ? $user[1] : 0;
  15. $ModName = basename(dirname(__FILE__));
  16. $level_admin = admin_mod($ModName);
  17. if ($visiteur >= $level_admin && $level_admin > -1) {
  18. function main(){
  19. global $nuked, $language;
  20. echo "<div class=\"content-box\">\n" //<!-- Start Content Box -->
  21. . "<div class=\"content-box-header\"><h3>" . _DEFY . "</h3>\n"
  22. . "<div style=\"text-align:right;\"><a href=\"help/" . $language . "/Defy.php\" rel=\"modal\">\n"
  23. . "<img style=\"border: 0;\" src=\"help/help.gif\" alt=\"\" title=\"" . _HELP . "\" /></a>\n"
  24. . "</div></div>\n"
  25. . "<div class=\"tab-content\" id=\"tab2\"><div style=\"text-align: center;\">" . _DEFY . "<b> | "
  26. . "<a href=\"index.php?file=Defy&amp;page=admin&amp;op=edit_pref\">" . _PREFS . "</a></b></div><br />\n"
  27. . "<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\">\n"
  28. . "<tr>\n"
  29. . "<td style=\"width: 25%;\" align=\"center\"><b>" . _NICK . "</b></td>\n"
  30. . "<td style=\"width: 15%;\" align=\"center\"><b>" . _CLAN . "</b></td>\n"
  31. . "<td style=\"width: 20%;\" align=\"center\"><b>" . _GAME . "</b></td>\n"
  32. . "<td style=\"width: 20%;\" align=\"center\"><b>" . _MAIL . "</b></td>\n"
  33. . "<td style=\"width: 20%;\" align=\"center\"><b>" . _DATE . "</b></td></tr>\n";
  34. $sql = mysql_query("SELECT id, pseudo, send, mail, clan, game FROM " . DEFY_TABLE . " ORDER BY id DESC");
  35. $count = mysql_num_rows($sql);
  36. while (list($did, $pseudo, $date, $mail, $clan, $game) = mysql_fetch_array($sql)){
  37. $date = nkDate($date);
  38. $sql2 = mysql_query("SELECT name FROM " . GAMES_TABLE . " WHERE id='" . $game . "'");
  39. list($game_name) = mysql_fetch_array($sql2);
  40. $game_name = printSecuTags($game_name);
  41. echo "<tr>"
  42. . "<td style=\"width: 25%;\" align=\"center\"><a href=\"index.php?file=Defy&amp;page=admin&amp;op=view&amp;did=" . $did . "\">" . $pseudo . "</a></td>\n"
  43. . "<td style=\"width: 15%;\" align=\"center\">" . $clan . "</td>\n"
  44. . "<td style=\"width: 20%;\" align=\"center\">" . $game_name . "</td>\n"
  45. . "<td style=\"width: 20%;\" align=\"center\"><a href=\"mailto:" . $mail . "\">" . $mail . "</a></td>\n"
  46. . "<td style=\"width: 20%;\" align=\"center\">" . $date . "</td></tr>\n";
  47. }
  48. if ($count == 0) {
  49. echo "<tr><td colspan=\"5\" align=\"center\">" . _NODEFY . "</td></tr>\n";
  50. }
  51. echo "</table><div style=\"text-align: center;\"><br />[ <a href=\"index.php?file=Admin\"><b>" . _BACK . "</b></a> ]</div><br /></div></div>\n";
  52. }
  53. function view($did) {
  54. global $nuked, $language;
  55. echo "<script type=\"text/javascript\">\n"
  56. . "<!--\n"
  57. . "\n"
  58. . "function del_defie(pseudo, id)\n"
  59. . "{\n"
  60. . "if (confirm('" . _DELETEMATCH . " '+pseudo+' ! " . _CONFIRM . "'))\n"
  61. . "{document.location.href = 'index.php?file=Defy&page=admin&op=del&did='+id;}\n"
  62. . "}\n"
  63. . "\n"
  64. . "// -->\n"
  65. . "</script>\n";
  66. echo "<div class=\"content-box\">\n" //<!-- Start Content Box -->
  67. . "<div class=\"content-box-header\"><h3>" . _DEFY . "</h3>\n"
  68. . "<div style=\"text-align:right;\"><a href=\"help/" . $language . "/Defy.php\" rel=\"modal\">\n"
  69. . "<img style=\"border: 0;\" src=\"help/help.gif\" alt=\"\" title=\"" . _HELP . "\" /></a>\n"
  70. . "</div></div>\n"
  71. . "<div class=\"tab-content\" id=\"tab2\"><div style=\"text-align: center;\">[ <a href=\"index.php?file=Defy&amp;page=admin&amp;op=transfert&amp;did=" . $did . "\"><b>" . _TRANSFERT . "</b></a> ]</div><br />\n"
  72. . "<table width=\"90%\" style=\"margin-left: auto;margin-right: auto;text-align: left;\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\"><tr><td>\n";
  73. $sql = mysql_query("SELECT pseudo, clan, mail, icq, irc, url, pays, date, heure, serveur, game, type, map, comment FROM " . DEFY_TABLE . " WHERE id = '" . $did . "'");
  74. list($pseudo, $clan, $mail, $icq, $irc, $url, $country, $date, $heure, $serveur, $game, $type, $map, $comment) = mysql_fetch_array($sql);
  75. list ($pays, $ext) = explode ('.', $country);
  76. $sql2 = mysql_query("SELECT name FROM " . GAMES_TABLE . " WHERE id = '" . $game . "'");
  77. list($game_name) = mysql_fetch_array($sql2);
  78. $game_name = printSecuTags($game_name);
  79. echo "<b>" . _NICK . " : </b>" . $pseudo . "<br />\n"
  80. . "<b>" . _CLAN . " : </b>" . $clan . "<br />\n"
  81. . "<b>" . _MAIL . " : </b><a href=\"mailto:" . $mail . "\">" . $mail . "</a><br />\n"
  82. . "<b>" . _ICQMSN . " : </b>" . $icq . "<br />\n"
  83. . "<b>" . _CHANIRC . " : </b>" . $irc . "<br />\n"
  84. . "<b>" . _URL . " : </b><a href=\"" . $url . "\" onclick=\"window.open(this.href); return false;\">" . $url . "</a><br />\n"
  85. . "<b>" . _COUNTRY . " : </b>" . $pays . "<br />\n"
  86. . "<b>" . _DATE . " : </b>" . $date . "<br />\n"
  87. . "<b>" . _HOUR . " : </b>" . $heure . "<br />\n"
  88. . "<b>" . _SERVER . " : </b>" . $serveur . "<br />\n"
  89. . "<b>" . _GAME . " : </b>" . $game_name . "<br />\n"
  90. . "<b>" . _MATCH . " : </b>" . $type . "<br />\n"
  91. . "<b>" . _MAP . " : </b>" . $map . "<br /><br />\n"
  92. . "<b>" . _COMMENT . " : </b>" . $comment . "<br /><br />\n"
  93. . "</td></tr></table><div style=\"text-align: center;\"><input type=\"submit\" value=\"" . _REMOVE . "\" onclick=\"javascript:del_defie('" . mysql_real_escape_string(stripslashes($pseudo)) . "', '" . $did . "');\" /></div>\n"
  94. . "<div style=\"text-align: center;\"><br />[ <a href=\"index.php?file=Defy&amp;page=admin\"><b>" . _BACK . "</b></a> ]</div><br /></div></div>\n";
  95. }
  96. function del($did) {
  97. global $nuked, $user;
  98. $sql = mysql_query("SELECT pseudo FROM " . DEFY_TABLE . " WHERE id = '" . $did . "'");
  99. list($pseudo) = mysql_fetch_array($sql);
  100. $del = mysql_query("DELETE FROM " . DEFY_TABLE . " WHERE id = '" . $did . "'");
  101. // Action
  102. $texteaction = _ACTIONDELDEFY . ' ' . $pseudo;
  103. $acdate = time();
  104. $sqlaction = mysql_query("INSERT INTO " . $nuked['prefix'] . "_action (`date`, `pseudo`, `action`) VALUES ('" . $acdate . "', '" . $user[0] . "', '" . $texteaction . "')");
  105. //Fin action
  106. echo "<div class=\"notification success png_bg\">\n"
  107. . "<div>\n"
  108. . _DEFIEDELETE . "\n"
  109. . "</div>\n"
  110. . "</div>\n";
  111. redirect('index.php?file=Defy&page=admin', 2);
  112. }
  113. function transfert($did) {
  114. global $nuked, $user;
  115. $sql = mysql_query("SELECT pseudo, clan, url, pays, date, heure, game, type, map FROM " . DEFY_TABLE . " WHERE id = '" . $did . "'");
  116. list($pseudo, $clan, $url, $pays, $date, $heure, $game, $type, $map) = mysql_fetch_array($sql);
  117. list($date_jour, $date_mois, $date_an) = explode('-', $date);
  118. $insert = mysql_query("INSERT INTO " . WARS_TABLE . " ( `warid` , `etat` , `team` , `game` , `adversaire` , `url_adv` , `pays_adv` , `type` , `style` , `date_jour` , `date_mois` , `date_an` , `heure` , `map` , `tscore_team` , `tscore_adv` , `score_team` , `score_adv` , `report` , `auteur` , `url_league` , `dispo` , `pas_dispo` ) VALUES ( '' , '0' , '' , '" . mysql_real_escape_string($game) . "' , '" . mysql_real_escape_string($clan) . "' , '" . mysql_real_escape_string($url) . "' , '" . mysql_real_escape_string($pays) . "' , '" . mysql_real_escape_string($type) . "' , '' , '" . mysql_real_escape_string($date_jour) . "' , '" .mysql_real_escape_string($date_mois) . "' , '" . mysql_real_escape_string($date_an) . "' , '" . mysql_real_escape_string($heure) . "' , '" . mysql_real_escape_string($map) . "' , '' , '' , '' , '' , '' , '" . $user[2] . "' , '' , '' , '' )");
  119. $sql_match = mysql_query("SELECT warid FROM " . WARS_TABLE . " WHERE adversaire = '" . $clan . "'");
  120. list($warid) = mysql_fetch_array($sql_match);
  121. $del = mysql_query("DELETE FROM " . DEFY_TABLE . " WHERE id = '" . $did . "'");
  122. // Action
  123. $texteaction = _ACTIONTRANDEFY . ' ' . $pseudo;
  124. $acdate = time();
  125. $sqlaction = mysql_query("INSERT INTO ". $nuked['prefix'] ."_action (`date`, `pseudo`, `action`) VALUES ('".$acdate."', '".$user[0]."', '".$texteaction."')");
  126. //Fin action
  127. echo "<div class=\"notification success png_bg\">\n"
  128. . "<div>\n"
  129. . _DEFIETRANSFERT . "\n"
  130. . "</div>\n"
  131. . "</div>\n";
  132. $url_redirect = 'index.php?file=Wars&page=admin&op=match&do=edit&war_id=' . $warid;
  133. redirect($url_redirect, 2);
  134. }
  135. function edit_pref() {
  136. global $nuked, $language;
  137. $charte = $nuked['defie_charte'];
  138. echo "<div class=\"content-box\">\n" //<!-- Start Content Box -->
  139. . "<div class=\"content-box-header\"><h3>" . _DEFY . "</h3>\n"
  140. . "<div style=\"text-align:right;\"><a href=\"help/" . $language . "/Defy.php\" rel=\"modal\">\n"
  141. . "<img style=\"border: 0;\" src=\"help/help.gif\" alt=\"\" title=\"" . _HELP . "\" /></a>\n"
  142. . "</div></div>\n"
  143. . "<div class=\"tab-content\" id=\"tab2\"><div style=\"text-align: center;\"><b><a href=\"index.php?file=Defy&amp;page=admin\">" . _DEFY . "</a> | "
  144. . "</b>" . _PREFS . "</div><br />\n"
  145. . "<form method=\"post\" action=\"index.php?file=Defy&amp;page=admin&amp;op=update_pref\">\n"
  146. . "<table style=\"margin-left: auto;margin-right: auto;text-align: left;\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\">\n"
  147. . "<tr><td align=\"center\"><big>" . _PREFS . "</big></td></tr>\n"
  148. . "<tr><td><b>" . _MAILAVERT . "</b> : <input type=\"text\" size=\"30\" name=\"defie_mail\" value=\"" . $nuked['defie_mail'] . "\" /></td></tr>\n"
  149. . "<tr><td><b>" . _INBOXAVERT . "</b> : <select name=\"defie_inbox\"><option value=\"\">" . _OFF . "</option>\n";
  150. $sql2 = mysql_query("SELECT id, pseudo FROM " . USER_TABLE . " WHERE niveau > 1 ORDER BY niveau DESC");
  151. while (list($id_user, $pseudo) = mysql_fetch_array($sql2)) {
  152. if ($nuked['defie_inbox'] == $id_user) {
  153. $checked = "selected=\"selected\"";
  154. }
  155. echo "<option value=\"" . $id_user . "\" " . $checked . ">" . $pseudo . "</option>\n";
  156. }
  157. echo "</select></td></tr><tr><td>&nbsp;</td></tr>\n";
  158. echo "<tr><td><b>" . _CHARTE . "</b> : <br /><textarea class=\"editor\" name=\"defie_charte\" cols=\"65\" rows=\"15\"\">" . $charte . "</textarea></td></tr></table>\n"
  159. . "<div style=\"text-align: center;\"><input type=\"submit\" value=\"" . _SEND . "\" /></div>\n"
  160. . "<div style=\"text-align: center;\"><br />[ <a href=\"index.php?file=Defy&amp;page=admin\"><b>" . _BACK . "</b></a> ]</div></form><br /></div></div>\n";
  161. }
  162. function update_pref($defie_mail, $defie_inbox, $defie_charte) {
  163. global $nuked, $user;
  164. $defie_charte = html_entity_decode($defie_charte);
  165. $defie_charte = mysql_real_escape_string(stripslashes($defie_charte));
  166. $upd1 = mysql_query("UPDATE " . CONFIG_TABLE . " SET value = '" . $defie_charte . "' WHERE name = 'defie_charte'");
  167. $upd2 = mysql_query("UPDATE " . CONFIG_TABLE . " SET value = '" . $defie_mail . "' WHERE name = 'defie_mail'");
  168. $upd3 = mysql_query("UPDATE " . CONFIG_TABLE . " SET value = '" . $defie_inbox . "' WHERE name = 'defie_inbox'");
  169. // Action
  170. $texteaction = _ACTIONPREFDEFY . '.';
  171. $acdate = time();
  172. $sqlaction = mysql_query("INSERT INTO ". $nuked['prefix'] ."_action (`date`, `pseudo`, `action`) VALUES ('".$acdate."', '".$user[0]."', '".$texteaction."')");
  173. //Fin action
  174. echo "<div class=\"notification success png_bg\">\n"
  175. . "<div>\n"
  176. . _PREFUPDATE . "\n"
  177. . "</div>\n"
  178. . "</div>\n";
  179. redirect('index.php?file=Defy&page=admin', 2);
  180. }
  181. switch ($_REQUEST['op']){
  182. case 'view':
  183. view($_REQUEST['did']);
  184. break;
  185. case 'del':
  186. del($_REQUEST['did']);
  187. break;
  188. case 'transfert':
  189. transfert($_REQUEST['did']);
  190. break;
  191. case 'edit_pref':
  192. edit_pref();
  193. break;
  194. case 'update_pref':
  195. update_pref($_REQUEST['defie_mail'], $_REQUEST['defie_inbox'], $_REQUEST['defie_charte']);
  196. break;
  197. default:
  198. main();
  199. break;
  200. }
  201. }
  202. else if ($level_admin == -1) {
  203. echo "<div class=\"notification error png_bg\">\n"
  204. . "<div>\n"
  205. . "<br /><br /><div style=\"text-align: center;\">" . _MODULEOFF . "<br /><br /><a href=\"javascript:history.back()\"><b>" . _BACK . "</b></a></div><br /><br />"
  206. . "</div>\n"
  207. . "</div>\n";
  208. } else if ($visiteur > 1) {
  209. echo "<div class=\"notification error png_bg\">\n"
  210. . "<div>\n"
  211. . "<br /><br /><div style=\"text-align: center;\">" . _NOENTRANCE . "<br /><br /><a href=\"javascript:history.back()\"><b>" . _BACK . "</b></a></div><br /><br />"
  212. . "</div>\n"
  213. . "</div>\n";
  214. } else {
  215. echo "<div class=\"notification error png_bg\">\n"
  216. . "<div>\n"
  217. . "<br /><br /><div style=\"text-align: center;\">" . _ZONEADMIN . "<br /><br /><a href=\"javascript:history.back()\"><b>" . _BACK . "</b></a></div><br /><br />"
  218. . "</div>\n"
  219. . "</div>\n";
  220. }
  221. adminfoot();
  222. ?>