TS3Admin.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  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. $remote_servers = $db->getRemoteServers();
  36. if ($remote_servers !== false) {
  37. echo "<form action='home.php?m=TS3Admin' method='GET'>
  38. <input type='hidden' name='m' value='". $_GET['m'] . "' />
  39. <table class='center'>
  40. <tr>
  41. <td class='left'>
  42. <select onchange=".'"this.form.submit()"'." name='rserver_id'>
  43. <option></option>\n";
  44. foreach ( $remote_servers as $server )
  45. {
  46. echo "<option value='".$server['remote_server_id']."'>".
  47. $server['remote_server_name']." (".$server['agent_ip'].")</option>\n";
  48. }
  49. echo "</select>
  50. </form>
  51. </td></tr></table>";
  52. } else {
  53. echo get_lang('no_remote_servers');
  54. }
  55. }
  56. if( isset( $_GET['rserver_id'] ) )
  57. {
  58. $_SESSION['rserver_id'] = $_GET['rserver_id'];
  59. if( $isAdmin )
  60. {
  61. $TS3_list = $db->resultQuery("SELECT * FROM OGP_DB_PREFIXts3_homes WHERE rserver_id='".$_SESSION['rserver_id']."'");
  62. }
  63. else
  64. {
  65. $TS3_list = $db->resultQuery("SELECT * FROM OGP_DB_PREFIXts3_homes WHERE user_id='".$_SESSION['user_id']."' AND rserver_id='".$_SESSION['rserver_id']."'");
  66. }
  67. if( !empty( $TS3_list ) )
  68. {
  69. $remote_server = $db->getRemoteServer($_SESSION['rserver_id']);
  70. $_SESSION['remote_key'] = $remote_server['encryption_key'];
  71. if( isset( $_POST['vserver_id'] ) AND !$isAdmin )
  72. {
  73. foreach($TS3_list as $TS3)
  74. {
  75. if($_POST['vserver_id'] == $TS3['vserver_id'])
  76. {
  77. $_SESSION['ts3_ip'] = $TS3['ip'];
  78. $_SESSION['ts3_pwd'] = $TS3['pwd'];
  79. $_SESSION['ts3_vserver_id'] = $TS3['vserver_id'];
  80. break;
  81. }
  82. }
  83. }
  84. if( $isAdmin )
  85. {
  86. $TS3 = $TS3_list[0];
  87. $_SESSION['ts3_ip'] = $TS3['ip'];
  88. $_SESSION['ts3_pwd'] = $TS3['pwd'];
  89. }
  90. else
  91. {
  92. echo "<table><tr>";
  93. $counter = 0;
  94. foreach( $TS3_list as $TS3 )
  95. {
  96. $counter++;
  97. echo "<td><form action='' method='POST'>
  98. <input type='hidden' name='vserver_id' value='". $TS3['vserver_id'] . "' />
  99. <input type='submit' value='Virtual Server ID ". $TS3['vserver_id'] . ".' />
  100. </form></td>";
  101. if($counter >= 5)
  102. {
  103. echo "</tr><tr>";
  104. $counter = 0;
  105. }
  106. }
  107. echo "</tr></table>";
  108. }
  109. }
  110. else
  111. {
  112. echo get_lang('no_ts3_servers_assigned_to_account');
  113. return;
  114. }
  115. }
  116. if( !isset( $_SESSION['ts3_ip'] ) ) return;
  117. if( isset($_GET['type']) && $_GET['type'] == "cleared" )
  118. {
  119. $refreshing = TRUE;
  120. }
  121. else
  122. {
  123. echo '<link href="modules/TS3Admin/webinterface.css" rel="stylesheet" type="text/css" />';
  124. $refreshing = FALSE;
  125. }
  126. if ( $isAdmin )
  127. {
  128. if( !$refreshing )
  129. echo '<a href="home.php?m=TS3Admin&changevServer">Change Virtual Server</a>&nbsp;';
  130. }
  131. else
  132. {
  133. if( !$refreshing )
  134. echo '<a href="home.php?m=TS3Admin&changeRemoteServer">Change Remote Server</a>&nbsp;';
  135. }
  136. define('TS3WEBINTERFACE_IP', $_SESSION['ts3_ip']); // edit server ip
  137. define('TS3WEBINTERFACE_PORT', "10011"); // edit server query port
  138. define('TS3WEBINTERFACE_NAME', "serveradmin");
  139. define('TS3WEBINTERFACE_PWD', $_SESSION['ts3_pwd']);
  140. if ( !$isAdmin )
  141. define('TS3WEBINTERFACE_VSERVER_ID', $_SESSION['ts3_vserver_id']);
  142. define('TS3WEBINTERFACE_LANG', $settings['panel_language']); // edit language
  143. require('ts3webinterface.class.php');
  144. $wi = new TS3webinterface(TS3WEBINTERFACE_IP, TS3WEBINTERFACE_PORT);
  145. }
  146. else
  147. {
  148. print_failure( get_lang_f( 'temp_folder_not_writable', $templates_folder ) );
  149. }
  150. }
  151. ?>