TS3Admin.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?php
  2. /*
  3. *
  4. * OGP - Open Game Panel
  5. * Copyright (C) 2008 - 2018 The OGP Development Team
  6. *
  7. * http://www.opengamepanel.org/
  8. *
  9. * This program is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU General Public License
  11. * as published by the Free Software Foundation; either version 2
  12. * of the License, or any later version.
  13. *
  14. * This program is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU General Public License
  20. * along with this program; if not, write to the Free Software
  21. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  22. *
  23. */
  24. function exec_ogp_module()
  25. {
  26. $templates_folder = 'modules/TS3Admin/templates_c';
  27. if( is_writable( $templates_folder ) )
  28. {
  29. global $db,$settings;
  30. $isAdmin = $db->isAdmin( $_SESSION['user_id'] );
  31. if( isset($_GET['changeRemoteServer']) )
  32. unset($_SESSION['ts3_ip']);
  33. if( isset( $_GET['changevServer'] ) || !isset( $_SESSION['ts3_ip'] ))
  34. {
  35. if(!$isAdmin)
  36. $remote_servers = $db->getRemoteServers_ts3($_SESSION['user_id']);
  37. else
  38. $remote_servers = $db->getRemoteServers();
  39. if ($remote_servers !== false) {
  40. echo "<form action='home.php?m=TS3Admin' method='GET'>
  41. <input type='hidden' name='m' value='". $_GET['m'] . "' />
  42. <table class='center'>
  43. <tr>
  44. <td class='left'>
  45. <select onchange=".'"this.form.submit()"'." name='rserver_id'>
  46. <option></option>\n";
  47. foreach ( $remote_servers as $server )
  48. {
  49. $display_ip = checkDisplayPublicIP($server['display_public_ip'],$server['ip'] != $server['agent_ip'] ? $server['ip'] : $server['agent_ip']);
  50. echo "<option value='".$server['remote_server_id']."'>".
  51. $server['remote_server_name']." (".$display_ip.")</option>\n";
  52. }
  53. echo "</select>
  54. </form>
  55. </td></tr></table>";
  56. } else {
  57. echo get_lang('no_remote_servers');
  58. }
  59. }
  60. if( isset( $_GET['rserver_id'] ) )
  61. {
  62. $_SESSION['rserver_id'] = $_GET['rserver_id'];
  63. if( $isAdmin )
  64. {
  65. $TS3_list = $db->resultQuery("SELECT * FROM OGP_DB_PREFIXts3_homes WHERE rserver_id='".$_SESSION['rserver_id']."'");
  66. }
  67. else
  68. {
  69. $sql = "SELECT * FROM OGP_DB_PREFIXts3_homes WHERE";
  70. if(!$isAdmin){
  71. $sql .= " user_id='".$_SESSION['user_id']."' AND";
  72. }
  73. $sql .= " rserver_id='".$_SESSION['rserver_id']."'";
  74. $TS3_list = $db->resultQuery($sql);
  75. }
  76. if( !empty( $TS3_list ) )
  77. {
  78. $remote_server = $db->getRemoteServer($_SESSION['rserver_id']);
  79. $_SESSION['remote_key'] = $remote_server['encryption_key'];
  80. if( isset( $_POST['vserver_id'] ) && !$isAdmin )
  81. {
  82. foreach($TS3_list as $TS3)
  83. {
  84. if($_POST['vserver_id'] == $TS3['vserver_id'])
  85. {
  86. $_SESSION['ts3_ip'] = $TS3['ip'];
  87. $_SESSION['ts3_pwd'] = $TS3['pwd'];
  88. $_SESSION['ts3_vserver_id'] = $TS3['vserver_id'];
  89. $_SESSION['ts3_port'] = $TS3['port'];
  90. break;
  91. }
  92. }
  93. }
  94. if( $isAdmin )
  95. {
  96. $TS3 = $TS3_list[0];
  97. $_SESSION['ts3_ip'] = $TS3['ip'];
  98. $_SESSION['ts3_pwd'] = $TS3['pwd'];
  99. $_SESSION['ts3_port'] = $TS3['port'];
  100. }
  101. else
  102. {
  103. echo "<table><tr>";
  104. $counter = 0;
  105. foreach( $TS3_list as $TS3 )
  106. {
  107. $counter++;
  108. echo "<td><form action='' method='POST'>
  109. <input type='hidden' name='vserver_id' value='". $TS3['vserver_id'] . "' />
  110. <input type='submit' value='Virtual Server ID ". $TS3['vserver_id'] . ".' />
  111. </form></td>";
  112. if($counter >= 5)
  113. {
  114. echo "</tr><tr>";
  115. $counter = 0;
  116. }
  117. }
  118. echo "</tr></table>";
  119. }
  120. }
  121. else
  122. {
  123. echo get_lang('no_ts3_servers_assigned_to_account');
  124. return;
  125. }
  126. }
  127. if( !isset( $_SESSION['ts3_ip'] ) ) return;
  128. if( isset($_GET['type']) && $_GET['type'] == "cleared" )
  129. {
  130. $refreshing = TRUE;
  131. }
  132. else
  133. {
  134. echo '<link href="modules/TS3Admin/webinterface.css" rel="stylesheet" type="text/css" />';
  135. $refreshing = FALSE;
  136. }
  137. if ( $isAdmin )
  138. {
  139. if( !$refreshing )
  140. echo '<a href="home.php?m=TS3Admin&changevServer">'.get_lang("change_virtual_server").'</a>&nbsp;';
  141. }
  142. else
  143. {
  144. if( !$refreshing )
  145. echo '<a href="home.php?m=TS3Admin&changeRemoteServer">'.get_lang("change_remote_server").'</a>&nbsp;';
  146. }
  147. define('TS3WEBINTERFACE_IP', $_SESSION['ts3_ip']); // edit server ip
  148. define('TS3WEBINTERFACE_PORT', $_SESSION['ts3_port']); // edit server query port
  149. define('TS3WEBINTERFACE_NAME', "serveradmin");
  150. define('TS3WEBINTERFACE_PWD', $_SESSION['ts3_pwd']);
  151. if ( !$isAdmin )
  152. define('TS3WEBINTERFACE_VSERVER_ID', $_SESSION['ts3_vserver_id']);
  153. define('TS3WEBINTERFACE_LANG', $settings['panel_language']); // edit language
  154. require('ts3webinterface.class.php');
  155. $wi = new TS3webinterface(TS3WEBINTERFACE_IP, TS3WEBINTERFACE_PORT);
  156. }
  157. else
  158. {
  159. print_failure( get_lang_f( 'temp_folder_not_writable', $templates_folder ) );
  160. }
  161. }
  162. ?>