servers.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <script type="text/javascript" src="js/modules/server.js"></script>
  2. <?php
  3. /*
  4. *
  5. * OGP - Open Game Panel
  6. * Copyright (C) 2008 - 2018 The OGP Development Team
  7. *
  8. * http://www.opengamepanel.org/
  9. *
  10. * This program is free software; you can redistribute it and/or
  11. * modify it under the terms of the GNU General Public License
  12. * as published by the Free Software Foundation; either version 2
  13. * of the License, or any later version.
  14. *
  15. * This program is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. * GNU General Public License for more details.
  19. *
  20. * You should have received a copy of the GNU General Public License
  21. * along with this program; if not, write to the Free Software
  22. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  23. *
  24. */
  25. require_once('includes/lib_remote.php');
  26. function exec_ogp_module() {
  27. global $view;
  28. global $db;
  29. echo "<h2>". get_lang("add_new_remote_host") ."</h2>";
  30. echo "<p>". get_lang("note_remote_host") ."</p>";
  31. require_once("includes/form_table_class.php");
  32. $ft = new FormTable();
  33. $ft->start_form("?m=server&amp;p=add");
  34. $ft->start_table();
  35. $ft->add_field('string','remote_host',"");
  36. $ft->add_field('string','remote_host_port',"12679");
  37. $ft->add_field('string','remote_host_name',"");
  38. $ft->add_field('string','remote_host_ftp_ip',"");
  39. $ft->add_field('string','remote_host_ftp_port',"21");
  40. $ft->add_field('string','remote_encryption_key',"");
  41. $ft->add_field('string','timeout',"5");
  42. $ft->add_field('on_off','use_nat',"0");
  43. $ft->add_field('string','display_public_ip',"");
  44. $ft->end_table();
  45. $ft->add_button('submit','add_remote_host', get_lang("add_remote_host") );
  46. $ft->end_form();
  47. $servers = $db->getRemoteServers();
  48. if ( $servers === FALSE )
  49. return;
  50. $tr = 0;
  51. ?><table id="servermonitor" class="tablesorter remote">
  52. <thead>
  53. <tr>
  54. <th colspan="4" class="header sorter-false"><?php print_lang('configured_remote_hosts'); ?></th>
  55. </tr>
  56. </thead>
  57. <tbody> <?php
  58. foreach ( $servers as $server_row )
  59. {
  60. #check to see if the remote daeomns are up status_chk is found in lib_remote.php
  61. $remote = new OGPRemoteLibrary($server_row['agent_ip'],$server_row['agent_port'],$server_row['encryption_key'],$server_row['timeout']);
  62. $host_stat = $remote->status_chk();
  63. $buttons = "<a href='?m=server&amp;p=edit&amp;rhost_id=".
  64. $server_row['remote_server_id']."&amp;delete'>[". get_lang("delete") ."]</a>\n".
  65. "<a href='?m=server&amp;p=edit&amp;rhost_id=".$server_row['remote_server_id'].
  66. "&amp;edit'>[". get_lang("edit") ."]</a>\n";
  67. $tittle = "<b>ID#:</b> <b style='color:red;'>".$server_row['remote_server_id']."</b></td>
  68. <td class='collapsible' ><b>". get_lang("server_name") .":</b> ".$server_row['remote_server_name']."</td>
  69. <td class='collapsible' ><b>". get_lang("agent_status") .":</b> ";
  70. $booble = "";
  71. if($host_stat === 0 )
  72. {
  73. $tittle .= "<span class='failure'>". get_lang("offline") ."</span> ";
  74. }
  75. elseif( $host_stat === 1)
  76. {
  77. $os = $remote->what_os();
  78. $buttons .= "<a href='?m=server&amp;p=reboot&amp;rhost_id=".$server_row['remote_server_id'].
  79. "'>[". get_lang("reboot") ."]</a>\n<a href='?m=server&amp;p=restart&amp;rhost_id=".$server_row['remote_server_id'].
  80. "'>[". get_lang("restart") ."]</a>\n".
  81. "<a href='?m=server&amp;p=log&amp;rhost_id=".$server_row['remote_server_id']."'>[". get_lang("view_log") ."]</a>\n";
  82. $tittle .= "<span class='success'>". get_lang("online") ."</span>";
  83. $booble .= "<img src='images/magnifglass.png' data-url='home.php?m=server&p=mon_stats&remote_server_id=" . $server_row['remote_server_id'] . "&type=cleared' weight='8' class='center' />";
  84. }
  85. elseif( $host_stat === -1 )
  86. {
  87. $tittle .= "<span class='failure'>". get_lang("encryption_key_mismatch") ."</span>\n";
  88. }
  89. else
  90. {
  91. $tittle .= "<span class='failure'>". get_lang("unknown_error") .": $host_stat</span>\n";
  92. }
  93. $tittle .= "</td><td>$buttons</td>";
  94. $ftp_ip = empty( $server_row['ftp_ip'] ) ? $server_row['agent_ip'] : $server_row['ftp_ip'];
  95. $data = "<tr class='expand-child' >
  96. <td>$booble</td><td>
  97. <b>". get_lang("ogp_user") .":</b> ".$server_row['ogp_user']."<br />
  98. <b>". get_lang("agent_ip_port") .":</b> ".$server_row['agent_ip'].":".$server_row['agent_port']."<br />
  99. <b>". get_lang("remote_host_ftp_ip") .":</b> ".$ftp_ip."<br />
  100. <b>". get_lang("remote_host_ftp_port") .":</b> ".$server_row['ftp_port']."<br />
  101. <b>". get_lang("timeout") .":</b> ".$server_row['timeout']."&nbsp;". get_lang("seconds") ."<br />
  102. <b>". get_lang("encryption_key") .":</b> ".$server_row['encryption_key']."<br />
  103. </td>
  104. <td>
  105. <b>". get_lang("display_public_ip") .":</b><br />".checkDisplayPublicIP($server_row['display_public_ip'], $server_row['agent_ip'])."<br />
  106. <b>". get_lang("ips") .": </b><br>";
  107. // Next we print the IP addresses and one empty field.
  108. $remote_server_ips = $db->getRemoteServerIPs($server_row['remote_server_id']);
  109. if ( empty($remote_server_ips) )
  110. {
  111. $data .= "<span class='failure'>". get_lang("no_ip_for_remote_host") ."</span>";
  112. }
  113. else
  114. {
  115. foreach ( $remote_server_ips as $ip_row )
  116. {
  117. $data .= $ip_row['ip']."<br>";
  118. }
  119. }
  120. $data .="</td><td>";
  121. if( $host_stat === 1)
  122. {
  123. $data .= "<b>OS:</b> ".@$os."<br><b>". get_lang("firewall_status") .":</b> ";
  124. $firewall_settings = $db->getFirewallSettings($server_row['remote_server_id']);
  125. if ( !$firewall_settings )
  126. {
  127. $status = "disable";
  128. }
  129. else
  130. {
  131. $status = isset($firewall_settings['status']) ? $firewall_settings['status'] : "disable";
  132. }
  133. if($status == "enable")
  134. {
  135. $data .= get_lang("on");
  136. }
  137. elseif($status == "disable")
  138. {
  139. $data .= get_lang("off");
  140. }
  141. $data .= "<br />
  142. <a href='?m=server&amp;p=firewall&amp;rhost_id=".
  143. $server_row['remote_server_id']."'>[". get_lang("firewall_settings") ."]</a>\n<br />";
  144. }
  145. $data .= "</td></tr>";
  146. // Template
  147. $first = "<tr class='maintr'><td class='collapsible' >$tittle</td></tr>";
  148. $second = $data;
  149. //Echo them all
  150. echo "$first$second";
  151. }
  152. echo "</tbody>";
  153. echo "</table>\n";
  154. }