/admin/paneladmina.php

https://github.com/myrtus/SuperNova · PHP · 169 lines · 132 code · 26 blank · 11 comment · 15 complexity · 9b6af8fd6acc5292b8decee1f832a383 MD5 · raw file

  1. <?php
  2. /**
  3. * paneladmina.php
  4. *
  5. * @version 1.0s - Security checked for SQL-injection by Gorlum for http://supernova.ws
  6. * @version 1.0
  7. * @copyright 2008 by ??????? for XNova
  8. */
  9. define('INSIDE' , true);
  10. define('INSTALL' , false);
  11. define('IN_ADMIN', true);
  12. require('../common.' . substr(strrchr(__FILE__, '.'), 1));
  13. if($user['authlevel'] < 3)
  14. {
  15. AdminMessage($lang['adm_err_denied']);
  16. }
  17. $GET_action = sys_get_param_str('action');
  18. $GET_result = sys_get_param_str('result');
  19. $Pattern = sys_get_param_str('player');
  20. $NewLvl = intval($_GET['authlvl']);
  21. $ip = sys_get_param_str('ip');
  22. $PanelMainTPL = gettemplate('admin/admin_panel_main');
  23. $parse = $lang;
  24. $parse['adm_sub_form1'] = "";
  25. $parse['adm_sub_form2'] = "";
  26. $parse['adm_sub_form3'] = "";
  27. // Afficher les templates
  28. if (isset($GET_result)) {
  29. switch ($GET_result){
  30. case 'usr_search':
  31. $SelUser = doquery("SELECT * FROM {{users}} WHERE `username` LIKE '%". $Pattern ."%' LIMIT 1;", '', true);
  32. $UsrMain = doquery("SELECT `name` FROM {{planets}} WHERE `id` = '". $SelUser['id_planet'] ."';", '', true);
  33. $bloc = $lang;
  34. $bloc['answer1'] = $SelUser['id'];
  35. $bloc['answer2'] = $SelUser['username'];
  36. $bloc['answer3'] = $SelUser['user_lastip'];
  37. $bloc['answer4'] = $SelUser['email'];
  38. $bloc['answer5'] = $lang['adm_usr_level'][ $SelUser['authlevel'] ];
  39. $bloc['answer6'] = $lang['adm_usr_genre'][ $SelUser['sex'] ];
  40. $bloc['answer7'] = "[".$SelUser['id_planet']."] ".$UsrMain['name'];
  41. $bloc['answer8'] = "[".$SelUser['galaxy'].":".$SelUser['system'].":".$SelUser['planet']."] ";
  42. $bloc['qst_quest_complete'] = get_quest_amount_complete($SelUser['id']);
  43. $bloc['user_id'] = $SelUser['id'];
  44. $SubPanelTPL = gettemplate('admin/admin_panel_asw1');
  45. $parse['adm_sub_form2'] = parsetemplate( $SubPanelTPL, $bloc );
  46. break;
  47. case 'usr_data':
  48. $SelUser = doquery("SELECT * FROM {{users}} WHERE `username` LIKE '%". $Pattern ."%' LIMIT 1;", '', true);
  49. $UsrMain = doquery("SELECT `name` FROM {{planets}} WHERE `id` = '". $SelUser['id_planet'] ."';", '', true);
  50. $bloc = $lang;
  51. $bloc['answer1'] = $SelUser['id'];
  52. $bloc['answer2'] = $SelUser['username'];
  53. $bloc['answer3'] = $SelUser['user_lastip'];
  54. $bloc['answer4'] = $SelUser['email'];
  55. $bloc['answer5'] = $lang['adm_usr_level'][ $SelUser['authlevel'] ];
  56. $bloc['answer6'] = $lang['adm_usr_genre'][ $SelUser['sex'] ];
  57. $bloc['answer7'] = "[".$SelUser['id_planet']."] ".$UsrMain['name'];
  58. $bloc['answer8'] = "[".$SelUser['galaxy'].":".$SelUser['system'].":".$SelUser['planet']."] ";
  59. $bloc['qst_quest_complete'] = get_quest_amount_complete($SelUser['id']);
  60. $bloc['user_id'] = $SelUser['id'];
  61. $SubPanelTPL = gettemplate('admin/admin_panel_asw1');
  62. $parse['adm_sub_form1'] = parsetemplate( $SubPanelTPL, $bloc );
  63. $parse['adm_sub_form2'] = "<table><tbody>";
  64. $parse['adm_sub_form2'] .= "<tr><td colspan=\"4\" class=\"c\">".$lang['adm_colony']."</td></tr>";
  65. $UsrColo = doquery("SELECT * FROM {{planets}} WHERE `id_owner` = '". $SelUser['id'] ." ORDER BY `galaxy` ASC, `planet` ASC, `system` ASC, `planet_type` ASC';");
  66. while ( $Colo = mysql_fetch_assoc($UsrColo) ) {
  67. if ($Colo['id'] != $SelUser['id_planet']) {
  68. $parse['adm_sub_form2'] .= "<tr><th>".$Colo['id']."</th>";
  69. $parse['adm_sub_form2'] .= "<th>". (($Colo['planet_type'] == 1) ? $lang['adm_planet'] : $lang['adm_moon'] ) ."</th>";
  70. $parse['adm_sub_form2'] .= "<th>[".$Colo['galaxy'].":".$Colo['system'].":".$Colo['planet']."]</th>";
  71. $parse['adm_sub_form2'] .= "<th>".$Colo['name']."</th></tr>";
  72. }
  73. }
  74. $parse['adm_sub_form2'] .= "</tbody></table>";
  75. $parse['adm_sub_form3'] = "<table><tbody>";
  76. $parse['adm_sub_form3'] .= "<tr><td colspan=\"4\" class=\"c\">".$lang['adm_technos']."</td></tr>";
  77. foreach($sn_data['groups']['tech'] as $Item)
  78. {
  79. $parse['adm_sub_form3'] .= "<tr><th>".$lang['tech'][$Item]."</th>";
  80. $parse['adm_sub_form3'] .= "<th>".$SelUser[$sn_data[$Item]['name']]."</th></tr>";
  81. }
  82. $parse['adm_sub_form3'] .= "</tbody></table>";
  83. break;
  84. case 'usr_level':
  85. # only for admins
  86. if ($user['authlevel'] < 3 || $NewLevel >= $user['authlevel'])
  87. {
  88. message($lang['sys_noalloaw'], $lang['sys_noaccess']);
  89. die();
  90. }
  91. $QryUpdate = doquery("UPDATE {{users}} SET `authlevel` = '".$NewLvl."' WHERE `username` = '".$Pattern."';");
  92. $Message = $lang['adm_mess_lvl1']. " ". $Pattern ." ".$lang['adm_mess_lvl2'];
  93. $Message .= "<font color=\"red\">".$lang['adm_usr_level'][ $NewLvl ]."</font>!";
  94. AdminMessage ( $Message, $lang['adm_mod_level'] );
  95. break;
  96. case 'ip_search':
  97. $SelUser = doquery("SELECT * FROM {{users}} WHERE `user_lastip` = '". $ip ."' LIMIT 10;");
  98. $bloc = $lang;
  99. $bloc['adm_this_ip'] = $ip;
  100. while ( $Usr = mysql_fetch_assoc($SelUser) ) {
  101. $UsrMain = doquery("SELECT `name` FROM {{planets}} WHERE `id` = '". $Usr['id_planet'] ."';", '', true);
  102. $bloc['adm_plyer_lst'] .= "<tr><th>".$Usr['username']."</th><th>[".$Usr['galaxy'].":".$Usr['system'].":".$Usr['planet']."] ".$UsrMain['name']."</th></tr>";
  103. }
  104. $SubPanelTPL = gettemplate('admin/admin_panel_asw2');
  105. $parse['adm_sub_form2'] = parsetemplate( $SubPanelTPL, $bloc );
  106. break;
  107. default:
  108. break;
  109. }
  110. }
  111. // Traiter les reponses aux formulaires
  112. if (isset($GET_action)) {
  113. $bloc = $lang;
  114. switch ($GET_action){
  115. case 'usr_search':
  116. $SubPanelTPL = gettemplate('admin/admin_panel_frm1');
  117. break;
  118. case 'usr_data':
  119. $SubPanelTPL = gettemplate('admin/admin_panel_frm4');
  120. break;
  121. case 'usr_level':
  122. # only for admins
  123. if ($user['authlevel'] != 3)
  124. {
  125. message($lang['sys_noalloaw'], $lang['sys_noaccess']);
  126. die();
  127. }
  128. for ($Lvl = 0; $Lvl < 4; $Lvl++) {
  129. $bloc['adm_level_lst'] .= "<option value=\"". $Lvl ."\">". $lang['adm_usr_level'][ $Lvl ] ."</option>";
  130. }
  131. $SubPanelTPL = gettemplate('admin/admin_panel_frm3');
  132. break;
  133. case 'ip_search':
  134. $SubPanelTPL = gettemplate('admin/admin_panel_frm2');
  135. break;
  136. default:
  137. break;
  138. }
  139. $parse['adm_sub_form2'] = parsetemplate( $SubPanelTPL, $bloc );
  140. }
  141. $page = parsetemplate( $PanelMainTPL, $parse );
  142. display( $page, $lang['panel_mainttl'], false, '', true );
  143. ?>