| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293 |
- <script type="text/javascript" src="js/jquery/plugins/jquery.numeric.js"></script>
- <script type="text/javascript" src="js/modules/server.js"></script>
- <?php
- function exec_ogp_module()
- {
- global $db,$view;
-
- if( isset( $_GET['rserver_id'] ) and $_GET['rserver_id'] != "" )
- {
- $remote_server_ips = $db->getRemoteServerIPs($_GET['rserver_id']);
-
- if(!empty($remote_server_ips))
- {
- if(isset( $_GET['ip_id'] ) and $_GET['ip_id'] != "")
- {
- $ip = $db->getIpById($_GET['ip_id']);
- echo "<h2>".get_lang_f('assign_new_ports_range_for_ip',$ip)."</h2>";
- if(isset($_POST['assign_range']))
- {
- if($_POST['home_cfg_id'] != "0")
- $cfg_info = $db->getGameCfg($_POST['home_cfg_id']);
- else
- $cfg_info['game_name'] = get_lang("unspecified_game_types");
-
- $retval = $db->addPortsRange($_POST['ip_id'],$_POST['home_cfg_id'],$_POST['start_port'],$_POST['end_port'],$_POST['port_increment']);
- if($retval === 1)
- print_failure( get_lang("invalid_values") );
- elseif($retval === 2)
- print_failure( get_lang("ports_in_range_already_arranged") );
- elseif($retval)
- print_success(get_lang_f('ports_range_added_successfull_for',$cfg_info['game_name']));
- else
- print_failure(get_lang_f('ports_range_already_configured_for',$cfg_info['game_name']));
-
- $view->refresh('?m=server&p=arrange_ports&rserver_id='.$_GET['rserver_id'].'&ip_id='.$_GET['ip_id'],3);
- }
- $game_homes = $db->getIpPorts( $_GET['ip_id'] );
- $game_cfgs = $db->getGameCfgs();
- //
- require_once('includes/lib_remote.php');
- $rhost_id = $_GET['rserver_id'];
- $remote_server = $db->getRemoteServer($rhost_id);
- require_once('includes/lib_remote.php');
- $remote = new OGPRemoteLibrary($remote_server['agent_ip'],$remote_server['agent_port'],$remote_server['encryption_key'],$remote_server['timeout']);
- $host_stat = $remote->status_chk();
- if( $host_stat === 1)
- $os = $remote->what_os();
- else
- {
- print_failure(get_lang_f("caution_agent_offline_can_not_get_os_and_arch_showing_servers_for_all_platforms"));
- $os = "Unknown OS";
- }
-
- echo "<form method='POST' action=''>\n
- <input type='hidden' name='ip_id' value='". $_GET['ip_id'] . "' />\n
- <table>\n
- <tr>\n
- <td>\n
- <select name='home_cfg_id'>\n
- <option style='background:black;color:white;' value='0'>". get_lang("unspecified_game_types") ."</option>\n";
-
- echo "<b>". get_lang("assign_range_to_game_type") .":</b>";
- // Linux 64 bits + wine
- if( preg_match("/Linux/", $os) AND preg_match("/64/", $os) AND preg_match("/wine/", $os) )
- {
- foreach ( $game_cfgs as $row )
- {
- if ( preg_match("/linux/", $row['game_key']) )
- echo "<option value='".$row['home_cfg_id']."'>".$row['game_name'];
- if ( preg_match("/64/", $row['game_key']) ) echo " (64 bit)";
- echo "</option>\n";
- }
- echo "<option style='background:black;color:white;' value=''>". get_lang("wine_games") .":</option>\n";
- foreach ( $game_cfgs as $row )
- {
- if ( preg_match("/win/", $row['game_key']) )
- echo "<option value='".$row['home_cfg_id']."'>".$row['game_name'];
- if ( preg_match("/64/", $row['game_key']) ) echo " (64 bit)";
- echo "</option>\n";
- }
- }
- // Linux 64 bits
- elseif( preg_match("/Linux/", $os) AND preg_match("/64/", $os) )
- {
- foreach ( $game_cfgs as $row )
- {
- if ( preg_match("/linux/", $row['game_key']))
- echo "<option value='".$row['home_cfg_id']."'>".$row['game_name'];
- if ( preg_match("/64/", $row['game_key']) ) echo " (64 bit)";
- echo "</option>\n";
- }
- }
- // Linux 32 bits + wine
- elseif( preg_match("/Linux/", $os) AND preg_match("/wine/", $os) )
- {
- foreach ( $game_cfgs as $row )
- {
- if ( preg_match("/linux32/", $row['game_key']) )
- echo "<option value='".$row['home_cfg_id']."'>".$row['game_name']."</option>\n";
- }
- echo "<option style='background:black;color:white;' value=''>". get_lang("wine_games") ."</option>\n";
- foreach ( $game_cfgs as $row )
- {
- if ( preg_match("/win32/", $row['game_key']) )
- echo "<option value='".$row['home_cfg_id']."'>".$row['game_name']."</option>\n";
- }
- }
- // Linux 32 bits
- elseif( preg_match("/Linux/", $os) )
- {
- foreach ( $game_cfgs as $row )
- {
- if ( preg_match("/linux32/", $row['game_key']) )
- echo "<option value='".$row['home_cfg_id']."'>".$row['game_name']."</option>\n";
- }
- }
- // Windows 64 bits (CYGWIN)
- elseif( preg_match("/CYGWIN/", $os) AND preg_match("/64/", $os))
- {
- foreach ( $game_cfgs as $row )
- {
- if ( preg_match("/win/", $row['game_key']) )
- echo "<option value='".$row['home_cfg_id']."'>".$row['game_name'];
- if ( preg_match("/64/", $row['game_key']) ) echo " (64 bit)";
- echo "</option>\n";
- }
- }
- // Windows 32 bits (CYGWIN)
- elseif( preg_match("/CYGWIN/", $os))
- {
- foreach ( $game_cfgs as $row )
- {
- if ( preg_match("/win32/", $row['game_key']) )
- echo "<option value='".$row['home_cfg_id']."'>".$row['game_name']."</option>\n";
- }
- }
- elseif ( $os == "Unknown OS" )
- {
- foreach ( $game_cfgs as $row )
- {
- echo "<option value='".$row['home_cfg_id']."'>".$row['game_name'];
- if ( preg_match("/64/", $row['game_key']) ) echo " (64 bit)";
- echo "</option>\n";
- }
- }
- echo "</select>\n
- </td>\n
- <td>\n".
- get_lang("start_port") .
- "<input type='text' id='start_port' name='start_port' class='add' size='8' />\n
- </td>\n
- <td>\n".
- get_lang("end_port") .
- "<input type='text' id='end_port' name='end_port' class='add' size='8' />\n
- </td>\n
- <td>\n
- ".
- get_lang("port_increment") .
- "<input type='text' id='port_increment' name='port_increment' class='add' value='1' size='2' />\n
- </td>\n
- <td>\n
- ".
- get_lang("total_assignable_ports") ."\t<span id='total_assignable_ports' class='add'></span>\n
- </td>\n
- <td>\n".
- "<input type='submit' name='assign_range' value='". get_lang("assign_range") ."' />\n
- </td>\n
- </tr>\n
- </table>\n
- </form>\n";
-
-
- echo "<h2>".get_lang_f('assigned_port_ranges_for_ip',$ip)."</h2>";
- //
- if(isset($_POST['delete_range']))
- {
- if($db->delPortsRange($_POST['range_id']))
- print_success( get_lang("ports_range_deleted_successfull") );
- else
- print_failure( get_lang("failed_to_delete_ports_range") );
- $view->refresh('?m=server&p=arrange_ports&rserver_id='.$_GET['rserver_id'].'&ip_id='.$_GET['ip_id'],3);
- }
- if(isset($_POST['edit_range']))
- {
- if($_POST['home_cfg_id'] != "0")
- $cfg_info = $db->getGameCfg($_POST['home_cfg_id']);
- else
- $cfg_info['game_name'] = get_lang("unspecified_game_types");
-
- $retval = $db->editPortsRange($_POST['range_id'],$_POST['ip_id'],$_POST['start_port'],$_POST['end_port'],$_POST['port_increment']);
- if($retval === 1)
- print_failure( get_lang("invalid_values") );
- elseif($retval === 2)
- print_failure( get_lang("ports_in_range_already_arranged") );
- elseif($retval)
- print_success(get_lang_f('ports_range_edited_successfull_for',$cfg_info['game_name']));
- else
- print_failure(get_lang_f('ports_range_already_configured_for',$cfg_info['game_name']));
- $view->refresh('?m=server&p=arrange_ports&rserver_id='.$_GET['rserver_id'].'&ip_id='.$_GET['ip_id'],3);
- }
- $ranges = $db->getPortsRange($_GET['ip_id']);
- if(!empty($ranges))
- {
- echo "<table>\n";
- foreach($ranges as $range)
- {
- if($range['home_cfg_id'] != "0")
- $cfg_info = $db->getGameCfg($range['home_cfg_id']);
- else
- $cfg_info['game_name'] = get_lang("unspecified_game_types");
-
-
- $available_ports_amount = intval((($range['end_port'] - $range['start_port']) / $range['port_increment']) + 1);
-
- $usable_range_ports = array();
- for($port = $range['start_port']; $port >= $range['start_port'] and $port <= $range['end_port']; $port+=$range['port_increment'])
- {
- $usable_range_ports[] = $port;
- }
-
- $used_ports = array();
- if(!empty($game_homes))
- {
- foreach($game_homes as $game_home)
- {
- $used_ports[] = $game_home['port'];
- }
- }
-
- if(!empty($used_ports))
- {
- foreach($used_ports as $used_port)
- {
- if(in_array($used_port,$usable_range_ports))
- $available_ports_amount--;
- }
- }
-
- echo "<form method='POST' action=''>\n
- <input type='hidden' name='range_id' value='". $range['range_id'] . "' />\n
- <input type='hidden' name='ip_id' value='". $range['ip_id'] . "' />\n
- <input type='hidden' name='home_cfg_id' value='". $range['home_cfg_id'] . "' />\n
- <tr>\n
- <td>\n".
- $cfg_info['game_name'].
- "</td>\n
- <td>\n".
- get_lang("start_port") .
- "<input type='text' id='start_port' name='start_port' value='".$range['start_port']."' size='8' />\n
- </td>\n
- <td>\n".
- get_lang("end_port") .
- "<input type='text' id='end_port' name='end_port' value='".$range['end_port']."' size='8' />\n
- </td>\n
- <td>\n".
- get_lang("port_increment") .
- "<input type='text' id='port_increment' name='port_increment' value='".$range['port_increment']."' value='1' size='2' />\n
- </td>\n
- <td>\n".
- get_lang("available_range_ports") .
- "\t<span id='available_range_ports'>".$available_ports_amount."</span>\n
- </td>\n
- <td>\n
- <input type='submit' name='edit_range' value='". get_lang("edit_range") ."' />\n
- <input type='submit' name='delete_range' value='". get_lang("delete_range") ."' />\n
- </td>\n
- </tr>\n
- </form>\n";
- }
- echo "</table>\n";
- }
- echo "<h2>".get_lang_f('assigned_ports_for_ip',$ip)."</h2>";
- if(!empty($game_homes))
- {
- echo "<table class='center'>";
- echo "<tr><th>". get_lang("home_id") ."</th><th>". get_lang("home_path") ."</th><th>". get_lang("game_type") ."</th><th>". get_lang("server_name") ."</th><th>". get_lang("port") ."</th></tr>";
- foreach($game_homes as $game_home)
- {
- echo "<tr><td>".$game_home['home_id']."</td><td>".$game_home['home_path']."</td><td>".$game_home['game_name']."</td><td>".htmlentities($game_home['home_name'])."</td><td>".$game_home['port']."</td></tr>";
- }
- echo "</table>";
- }
- }
- }
- else
- {
- echo "There are no IPs assigned to the selected remote server.";
- return;
- }
- echo create_back_button('server','edit&rhost_id='.$_GET['rserver_id'].'&edit');
- }
- }
- ?>
|