1
0

edit_server.php 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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. global $view;
  26. global $db;
  27. $rhost_id = @$_REQUEST['rhost_id'];
  28. $remote_server = $db->getRemoteServer($rhost_id);
  29. if ( $remote_server === FALSE )
  30. {
  31. print_failure(get_lang_f('invalid_remote_host_id',$rhost_id));
  32. $view->refresh("?m=server");
  33. return;
  34. }
  35. echo "<h2>".get_lang_f('editing_remote_server',$remote_server['remote_server_name'])."</h2>";
  36. #this allows you to define upto 4 IPs for each remote host. The IPs are for binding games to
  37. if ( isset($_REQUEST['add_ip']) )
  38. {
  39. $remote_ip = $_POST['remote_ip'];
  40. $remote_ip = preg_replace("/[^0-9\.]/", "", $remote_ip);
  41. if ( $db->addRemoteServerIp($rhost_id, $remote_ip) === FALSE )
  42. {
  43. print_failure( could_not_add_ip );
  44. }
  45. else
  46. {
  47. print_success(get_lang_f('ips_set_for_server',$remote_server['remote_server_name']));
  48. }
  49. $view->refresh("?m=server&amp;p=edit&amp;rhost_id=".$rhost_id."&amp;edit");
  50. }
  51. else if ( isset($_REQUEST['remove_ip']) )
  52. {
  53. $ip_id = $_POST['ip_id'];
  54. if ( $db->removeRemoteServerIps($ip_id) === FALSE )
  55. {
  56. print_failure( could_not_remove_ip );
  57. }
  58. else
  59. {
  60. print_success(get_lang_f('ips_set_for_server',$remote_server['remote_server_name']));
  61. }
  62. $view->refresh("?m=server&amp;p=edit&amp;rhost_id=".$rhost_id."&amp;edit");
  63. }
  64. else if ( isset($_REQUEST['edit_ip']) )
  65. {
  66. $ip_id = $_POST['ip_id'];
  67. $ip = $_POST['ip'];
  68. $ip = preg_replace("/[^0-9\.]/", "", $ip);
  69. if ( $db->editRemoteServerIps($ip_id,$ip) === FALSE )
  70. {
  71. print_failure( could_not_edit_ip );
  72. }
  73. else
  74. {
  75. print_success(get_lang_f('ips_set_for_server',$remote_server['remote_server_name']));
  76. }
  77. $view->refresh("?m=server&amp;p=edit&amp;rhost_id=".$rhost_id."&amp;edit");
  78. }
  79. #This removes and rhost from the list
  80. else if ( isset($_REQUEST['delete']) )
  81. {
  82. if ( !isset($_REQUEST['y'] ) )
  83. {
  84. echo "<p>". areyousure_removeagent ." <b>\"".
  85. $remote_server['remote_server_name']."\"</b> ". areyousure_removeagent2 ."</p>
  86. <p><a href='?m=server&amp;p=edit&amp;rhost_id=".$rhost_id."&amp;delete&amp;y=y'>".
  87. yes ."</a> <a href='?m=server'>".
  88. no ."</a></p>";
  89. return;
  90. }
  91. else if ( $db->removeRemoteServer($rhost_id) === FALSE )
  92. print_failure( error_while_remove );
  93. else
  94. print_success(get_lang_f('remote_host_removed',$remote_server['remote_server_name']));
  95. $view->refresh("?m=server");
  96. return;
  97. }
  98. else if ( isset($_REQUEST['save_settings']) )
  99. {
  100. $db->changeRemoteServerSettings($remote_server['remote_server_id'],
  101. $_REQUEST['remote_host'],
  102. $_REQUEST['remote_host_port'],
  103. $_REQUEST['remote_host_name'],
  104. $_REQUEST['ogp_user'],
  105. $_REQUEST['remote_host_ftp_ip'],
  106. $_REQUEST['remote_host_ftp_port'],
  107. $_REQUEST['remote_encryption_key'],
  108. $_REQUEST['timeout'],
  109. $_REQUEST['use_nat']);
  110. print_success(get_lang_f('remote_server_settings_changed',$remote_server['remote_server_name']));
  111. $view->refresh("?m=server&amp;p=edit&amp;rhost_id=".$rhost_id."&amp;edit");
  112. }
  113. if ( isset($_REQUEST['edit']) )
  114. {
  115. $remote_server = $db->getRemoteServer($rhost_id);
  116. $ftp_ip = empty($remote_server['ftp_ip']) ? $remote_server['agent_ip'] : $remote_server['ftp_ip'];
  117. require_once('includes/form_table_class.php');
  118. $ft = new FormTable();
  119. $ft->start_form('?m=server&amp;p=edit&amp;rhost_id='.$rhost_id.'&amp;edit');
  120. $ft->add_field_hidden('rhost_id',$remote_server['remote_server_id']);
  121. $ft->start_table();
  122. $ft->add_field('string','remote_host',$remote_server['agent_ip']);
  123. $ft->add_field('string','remote_host_port',$remote_server['agent_port']);
  124. $ft->add_field('string','remote_host_name',$remote_server['remote_server_name']);
  125. $ft->add_field('string','ogp_user',$remote_server['ogp_user']);
  126. $ft->add_field('string','remote_host_ftp_ip',$ftp_ip);
  127. $ft->add_field('string','remote_host_ftp_port',$remote_server['ftp_port']);
  128. $ft->add_field('string','remote_encryption_key',$remote_server['encryption_key']);
  129. $ft->add_field('string','timeout',$remote_server['timeout']);
  130. $ft->add_field('on_off','use_nat',$remote_server['use_nat']);
  131. $ft->end_table();
  132. $ft->add_button('submit','save_settings', save_settings );
  133. $ft->end_form();
  134. echo create_back_button('server');
  135. echo "<h2>".get_lang_f('remote_ips_for',$remote_server['remote_server_name'])."</h2>";
  136. echo "<p class='info'>". hint .": ". add_more_ips ."</p>";
  137. $remote_server_ips = $db->getRemoteServerIPs($remote_server['remote_server_id']);
  138. if ( !empty($remote_server_ips) )
  139. {
  140. echo "<h1>". edit_ip ."s</h1>";
  141. include('includes/lib_remote.php');
  142. foreach ( $remote_server_ips as $ip_row )
  143. {
  144. $servers_match_ip_id = $db->getIpPorts( $ip_row['ip_id'] );
  145. $servers_running = FALSE;
  146. if($servers_match_ip_id)
  147. {
  148. foreach ( $servers_match_ip_id as $home_info )
  149. {
  150. $remote = new OGPRemoteLibrary($home_info['agent_ip'],$home_info['agent_port'],$home_info['encryption_key'],$home_info['timeout']);
  151. $screen_running = $remote->is_screen_running(OGP_SCREEN_TYPE_HOME,$home_info['home_id']) === 1;
  152. if( $screen_running )
  153. {
  154. $servers_running = TRUE;
  155. break;
  156. }
  157. }
  158. }
  159. $disabled = $servers_running ? "disabled" : "";
  160. $warning = $servers_running ? "<b class='failure' >". there_are_servers_running_on_this_ip ."<b>" : "";
  161. echo "<table style='width:auto;'>
  162. <tr>
  163. <td align='left' >
  164. <form method='post' action=''>
  165. <input name='ip_id' type='hidden' value='".$ip_row['ip_id']."'/>
  166. <input name='ip' type='text' value='".$ip_row['ip']."'/>
  167. <input type='submit' name='edit_ip' value='". edit_ip ."' $disabled/>
  168. <input type='submit' name='remove_ip' value='". remove_ip ."' $disabled/> $warning
  169. </form>
  170. </td>
  171. <td style='text-align:left;'>
  172. <form method='post' action='?m=server&p=arrange_ports&rserver_id=".$rhost_id."&ip_id=".$ip_row['ip_id']."'>
  173. <input type='submit' name='arrange_ports' value='". arrange_ports ."'/>
  174. </form>
  175. </td>
  176. </tr>
  177. </table>";
  178. }
  179. }
  180. echo "<h1>". add_ip ."s</h1>";
  181. $ft = new FormTable();
  182. $ft->start_form('');
  183. $ft->add_field_hidden('rhost_id',$remote_server['remote_server_id']);
  184. $ft->start_table();
  185. $ft->add_field('string','remote_ip','');
  186. $ft->end_table();
  187. $ft->add_button('submit','add_ip', add_ip );
  188. $ft->end_form();
  189. }
  190. else
  191. {
  192. print_failure("Invalid url.");
  193. $view->refresh("?m=server");
  194. }
  195. }
  196. ?>