TS3Admin.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <?php
  2. /*
  3. *
  4. * OGP - Open Game Panel
  5. * Copyright (C) Copyright (C) 2008 - 2013 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'] ) OR !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['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. $TS3_list = $db->resultQuery("SELECT * FROM OGP_DB_PREFIXts3_homes WHERE user_id='".$_SESSION['user_id']."' AND rserver_id='".$_SESSION['rserver_id']."'");
  70. }
  71. if( !empty( $TS3_list ) )
  72. {
  73. $remote_server = $db->getRemoteServer($_SESSION['rserver_id']);
  74. $_SESSION['remote_key'] = $remote_server['encryption_key'];
  75. if( isset( $_POST['vserver_id'] ) AND !$isAdmin )
  76. {
  77. foreach($TS3_list as $TS3)
  78. {
  79. if($_POST['vserver_id'] == $TS3['vserver_id'])
  80. {
  81. $_SESSION['ts3_ip'] = $TS3['ip'];
  82. $_SESSION['ts3_pwd'] = $TS3['pwd'];
  83. $_SESSION['ts3_vserver_id'] = $TS3['vserver_id'];
  84. break;
  85. }
  86. }
  87. }
  88. if( $isAdmin )
  89. {
  90. $TS3 = $TS3_list[0];
  91. $_SESSION['ts3_ip'] = $TS3['ip'];
  92. $_SESSION['ts3_pwd'] = $TS3['pwd'];
  93. }
  94. else
  95. {
  96. echo "<table><tr>";
  97. $counter = 0;
  98. foreach( $TS3_list as $TS3 )
  99. {
  100. $counter++;
  101. echo "<td><form action='' method='POST'>
  102. <input type='hidden' name='vserver_id' value='". $TS3['vserver_id'] . "' />
  103. <input type='submit' value='Virtual Server ID ". $TS3['vserver_id'] . ".' />
  104. </form></td>";
  105. if($counter >= 5)
  106. {
  107. echo "</tr><tr>";
  108. $counter = 0;
  109. }
  110. }
  111. echo "</tr></table>";
  112. }
  113. }
  114. else
  115. {
  116. echo get_lang('no_ts3_servers_assigned_to_account');
  117. return;
  118. }
  119. }
  120. if( !isset( $_SESSION['ts3_ip'] ) ) return;
  121. if( isset($_GET['type']) && $_GET['type'] == "cleared" )
  122. {
  123. $refreshing = TRUE;
  124. }
  125. else
  126. {
  127. echo '<link href="modules/TS3Admin/webinterface.css" rel="stylesheet" type="text/css" />';
  128. $refreshing = FALSE;
  129. }
  130. if ( $isAdmin )
  131. {
  132. if( !$refreshing )
  133. echo '<a href="home.php?m=TS3Admin&changevServer">'.get_lang("change_virtual_server").'</a>&nbsp;';
  134. }
  135. else
  136. {
  137. if( !$refreshing )
  138. echo '<a href="home.php?m=TS3Admin&changeRemoteServer">'.get_lang("change_remote_server").'</a>&nbsp;';
  139. }
  140. define('TS3WEBINTERFACE_IP', $_SESSION['ts3_ip']); // edit server ip
  141. define('TS3WEBINTERFACE_PORT', "10011"); // edit server query port
  142. define('TS3WEBINTERFACE_NAME', "serveradmin");
  143. define('TS3WEBINTERFACE_PWD', $_SESSION['ts3_pwd']);
  144. if ( !$isAdmin )
  145. define('TS3WEBINTERFACE_VSERVER_ID', $_SESSION['ts3_vserver_id']);
  146. define('TS3WEBINTERFACE_LANG', $settings['panel_language']); // edit language
  147. require('ts3webinterface.class.php');
  148. $wi = new TS3webinterface(TS3WEBINTERFACE_IP, TS3WEBINTERFACE_PORT);
  149. }
  150. else
  151. {
  152. print_failure( get_lang_f( 'temp_folder_not_writable', $templates_folder ) );
  153. }
  154. }
  155. ?>