isAdmin( $_SESSION['user_id'] );
$home_id = $_GET['home_id'];
if( $isAdmin )
$game_home['access_rights'] = "ufpetc";
else
$game_home = $db->getUserGameHome($_SESSION['user_id'],$home_id);
if ( !$game_home and !$isAdmin )
return;
$submit = isset($_REQUEST['submit']) ? $_REQUEST['submit'] : "";
$home_info = $db->getGameHomeWithoutMods($home_id);
$servers_with_same_path = $db->getGameServersWithSamePath($home_info['remote_server_id'], $home_info['home_path']);
$servers_with_same_path = (is_array($servers_with_same_path) ? count($servers_with_same_path) : 0);
$home_id = $home_info['home_id'];
$enabled_mods = $db->getHomeMods($home_id);
if( $isAdmin and isset( $_POST['change_home_cfg_id'] ) )
{
if( !empty($enabled_mods) )
{
foreach ( $enabled_mods as $enabled_rows )
{
$db->delGameMod($enabled_rows['mod_id']);
}
}
$home_cfg_id = $home_info['home_cfg_id'];
$new_home_cfg_id = $_POST['home_cfg_id'];
if($db->updateHomeCfgId($home_id, $new_home_cfg_id))
{
$json_message = array('result' => 'success', 'info' => get_lang("successfully_changed_game_server"));
echo json_encode($json_message);
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("change_game_type") .":old home_cfg_id:$home_cfg_id, new home_cfg_id:$new_home_cfg_id");
}
else
echo json_encode(array('result' => 'failure', 'info' => 'Error while updating game type.'));
return;
}
$server_xml = read_server_config(SERVER_CONFIG_LOCATION.$home_info['home_cfg_file']);
include_once('includes/lib_remote.php');
$remote = new OGPRemoteLibrary($home_info['agent_ip'],$home_info['agent_port'],$home_info['encryption_key'],$home_info['timeout']);
$ftp_installed = $db->isModuleInstalled('ftp');
if( isset($_REQUEST['change_name']) )
{
$server_name = strip_tags(strip_real_escape_string($_POST['server_name']));
if ( $db->changeHomeName($home_id, $server_name) === TRUE )
{
echo json_encode(array('result' => 'success', 'info' => get_lang("successfully_changed_game_server")));
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("game_server_name") .":$server_name");
}
else
echo json_encode(array('result' => 'failure', 'info' => 'Name update failed.'));
return;
}
elseif ( isset($_REQUEST['change_control_password']) )
{
$control_password = $_POST['control_password'];
if($control_password != "")
{
$control_password = validate_login($control_password);
if(!$control_password)
{
echo json_encode(array('result' => 'failure', 'info' => 'Not allowed characters'));
return;
}
}
if ( $db->changeHomeControlPassword($home_id, $control_password) === TRUE )
{
echo json_encode(array('result' => 'success', 'info' => get_lang("control_password_updated_successfully")));
$db->logger( get_lang("control_password_updated_successfully") ." HOME ID:$home_id - ". get_lang("game_control_password") .":$control_password");
}
else
echo json_encode(array('result' => 'failure', 'info' => get_lang("control_password_update_failed")));
return;
}
elseif( isset($_REQUEST['change_ftp_login']) && preg_match("/t/",$game_home['access_rights']) > 0 )
{
// Is FTP Module Installed?
if($ftp_installed){
if ($db->IsFtpEnabled($home_id) OR $isAdmin)
{
$old_login = isset($home_info['ftp_login']) ? $home_info['ftp_login'] : $home_id;
$post_ftp_login = $_POST['ftp_login'];
if($post_ftp_login != "")
{
$post_ftp_login = validate_login($post_ftp_login);
if(!$post_ftp_login)
{
echo json_encode(array('result' => 'failure', 'info' => 'Not allowed characters'));
return;
}
}
else
{
echo json_encode(array('result' => 'failure', 'info' => 'Empty input not permitted.'));
return;
}
// Validation
// Is the same user old and new?
if($old_login == $post_ftp_login)
{
echo json_encode(array('result' => 'success', 'info' => ''));
return;
}
if(strlen($post_ftp_login) > 32){
echo json_encode(array('result' => 'failure', 'info' => get_lang("ftp_account_username_too_long")));
return;
}
$host_stat = $remote->status_chk();
$user_exists = FALSE;
$old_login_exists = FALSE;
$host_online = FALSE;
if( $host_stat === 1 )
{
$host_online = TRUE;
$ftp_accounts_list = $remote->ftp_mgr("list");
$ftp_accounts = explode("\n",$ftp_accounts_list);
foreach($ftp_accounts as $ftp_account)
{
if( $ftp_account != "" )
{
list($ftp_login, $ftp_path) = explode("\t",$ftp_account);
$ftp_login = trim($ftp_login);
if ($ftp_login == $old_login)
$old_login_exists = TRUE;
if ($ftp_login == $post_ftp_login)
$user_exists = TRUE;
}
}
}
if( $host_online and ! $user_exists )
{
if($old_login_exists)
$change_login_delete_old = $remote->ftp_mgr("userdel", $old_login);
else
$change_login_delete_old = 1;
if ($change_login_delete_old !== 0)
{
$change_login_add_new = $remote->ftp_mgr("useradd", $post_ftp_login, $home_info['ftp_password'], $home_info['home_path']);
}
if (isset($change_login_add_new) and $change_login_add_new !== 0)
{
if ( $db->changeFtpLogin($home_id,$post_ftp_login) === TRUE )
{
echo json_encode(array('result' => 'success', 'info' => get_lang("successfully_changed_game_server")));
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("server_ftp_login") .":$post_ftp_login");
}
}
else
{
echo json_encode(array('result' => 'failure', 'info' => get_lang("error_ocurred_on_remote_server") .
" " . get_lang("ftp_login_can_not_be_changed")));
}
}
else
{
echo json_encode(array('result' => 'failure', 'info' => get_lang("error_ocurred_on_remote_server") .
" " . get_lang("ftp_login_can_not_be_changed")));
}
}
}
return;
}
elseif( isset( $_REQUEST['change_ftp_password']) && preg_match("/t/",$game_home['access_rights']) > 0 )
{
// Is FTP Module Installed?
if($ftp_installed){
if ($db->IsFtpEnabled($home_id) OR $isAdmin)
{
$ftp_password = $_POST['ftp_password'];
if($ftp_password != "")
{
$ftp_password = validate_login($ftp_password);
if(!$ftp_password)
{
echo json_encode(array('result' => 'failure', 'info' => 'Not allowed characters'));
return;
}
}
else
{
echo json_encode(array('result' => 'failure', 'info' => 'Empty input not permitted.'));
return;
}
// Validation
// Is the same password old and new?
if($home_info['ftp_password'] == $ftp_password)
{
echo json_encode(array('result' => 'success', 'info' => ''));
return;
}
if(strlen($ftp_password) > 128){
echo json_encode(array('result' => 'failure', 'info' => get_lang("ftp_account_password_too_long")));
return;
}
$host_stat = $remote->status_chk();
$current_login = isset($home_info['ftp_login']) ? $home_info['ftp_login'] : $home_id;
$login_exists = FALSE;
$host_online = FALSE;
if( $host_stat === 1 )
{
$host_online = TRUE;
$ftp_accounts_list = $remote->ftp_mgr("list");
$ftp_accounts = explode("\n",$ftp_accounts_list);
foreach($ftp_accounts as $ftp_account)
{
if( $ftp_account != "" )
{
list($ftp_login, $ftp_path) = explode("\t",$ftp_account);
$ftp_login = trim($ftp_login);
if ($ftp_login == $current_login)
{
$login_exists = TRUE;
break;
}
}
}
}
if($host_online)
{
if(!$login_exists)
{
if($remote->ftp_mgr("useradd", $current_login, $ftp_password, $home_info['home_path']) !== 0)
{
echo json_encode(array('result' => 'success', 'info' => get_lang("successfully_changed_game_server")));
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("server_ftp_password") .":$ftp_password");
}
else
{
echo json_encode(array('result' => 'failure', 'info' => get_lang("error_ocurred_on_remote_server") .
" " . get_lang("ftp_password_can_not_be_changed")));
}
return;
}
else
{
if ($remote->ftp_mgr("passwd", $current_login, $ftp_password) !== 0)
{
if ( $db->changeFtpPassword($home_id,clean_path($ftp_password)) === TRUE )
{
echo json_encode(array('result' => 'success', 'info' => get_lang("successfully_changed_game_server")));
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("server_ftp_password") .":$ftp_password");
}
}
else
{
echo json_encode(array('result' => 'failure', 'info' => get_lang("error_ocurred_on_remote_server") .
" " . get_lang("ftp_password_can_not_be_changed")));
}
}
}
else
echo json_encode(array('result' => 'failure', 'info' => get_lang("error_ocurred_on_remote_server") .
" " . get_lang("ftp_password_can_not_be_changed")));
}
}
return;
}
elseif (isset($_POST["force_mod_id"]))
{
$force_mod_id = $_POST['force_mod_id'];
$ip_id = $_POST['ip_id'];
$port = $_POST['port'];
if ( $db->forceModAtAddress($ip_id, $port, $force_mod_id) )
{
echo json_encode(array('result' => 'success', 'info' => get_lang("successfully_assigned_mod_to_address")));
$db->logger( get_lang("successfully_assigned_mod_to_address") );
}
else
echo json_encode(array('result' => 'failure', 'info' => "Failed to assign mod to address."));
return;
}
elseif ( $isAdmin )
{
if( isset( $_REQUEST['create_ftp']) )
{
$login = isset($home_info['ftp_login']) ? $home_info['ftp_login'] : $home_id;
$success = true;
if(strlen($login) > 32){
$result = get_lang("ftp_account_username_too_long");
$type = "failure";
$success = false;
}
if($success){
if ($remote->ftp_mgr("useradd", $login, $home_info['ftp_password'], $home_info['home_path']) === 0)
{
$result = get_lang("error_ocurred_on_remote_server") ." ". get_lang("ftp_can_not_be_switched_on");
$type = "failure";
}
else
{
$db->changeFtpStatus('enabled',$home_id);
$result = get_lang("successfully_changed_game_server");
$type = "success";
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("change_ftp_account_status") .":enabled");
}
}
}
else if( isset( $_REQUEST['delete_ftp']) )
{
$login = isset($home_info['ftp_login']) ? $home_info['ftp_login'] : $home_id;
$host_stat = $remote->status_chk();
$user_exists = FALSE;
$host_online = FALSE;
if( $host_stat === 1 )
{
$host_online = TRUE;
$ftp_accounts_list = $remote->ftp_mgr("list");
$ftp_accounts = explode("\n",$ftp_accounts_list);
foreach($ftp_accounts as $ftp_account)
{
if( $ftp_account != "" )
{
list($ftp_login, $ftp_path) = explode("\t",$ftp_account);
$ftp_login = trim($ftp_login);
if ($ftp_login == $login)
{
$user_exists = TRUE;
break;
}
}
}
}
if($host_online and $ftp_accounts_list !== 0)
{
if( $user_exists )
{
$delete_ftp = $remote->ftp_mgr("userdel", $login);
if ($delete_ftp === 0)
{
$result = get_lang("error_ocurred_on_remote_server") ." ". get_lang("ftp_can_not_be_switched_off");
$type = "failure";
}
else
{
$db->changeFtpStatus('disabled',$home_id);
$result = get_lang("successfully_changed_game_server");
$type = "success";
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("change_ftp_account_status") .":disabled");
}
}
else
{
$db->changeFtpStatus('disabled',$home_id);
$result = get_lang("successfully_changed_game_server");
$type = "success";
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("change_ftp_account_status") .":disabled");
}
}
else
{
$result = get_lang("error_ocurred_on_remote_server") ." ". get_lang("ftp_can_not_be_switched_off");
$type = "failure";
}
}
else if( isset( $_REQUEST['change_user_id_main']) )
{
$user_id_main = $_POST['user_id_main'];
$old_home = $db->getUserGameHome($home_info['user_id_main'],$home_id);
if(isset($_POST['deleteoldassigns']))
{
$db->unassignHomeFrom("user",$home_info['user_id_main'],$home_id);
$home_groups = $db->getGroupsForHome($home_info['home_id']);
if( isset( $home_groups ) )
{
foreach($home_groups as $home_group)
{
$db->unassignHomeFrom("group",$home_group['group_id'],$home_id);
}
}
}
if ( $db->changeUserIdMain($home_id,$user_id_main) == TRUE )
{
$db->assignHomeTo("user",$user_id_main,$home_id,$old_home['access_rights']);
echo json_encode(array('result' => 'success', 'info' => get_lang("successfully_changed_game_server")));
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("change_user_id_main") .":$user_id_main");
}
else
echo json_encode(array('result' => 'failure', 'info' => "Unable to change main user."));
return;
}
else if( isset( $_REQUEST['change_home'] ) )
{
$home_path = strip_real_escape_string($_POST['home_path']);
if(preg_match("/^[a-z]:\//i", $home_path))
{
$home_path = str_replace("/", "\\\\", $home_path);
$home_path = rtrim($remote->exec("cygpath -u $home_path"));
}
if(preg_match("/^\//",$home_path))
{
if ( $db->changeHomePath($home_id,clean_path($home_path)) === TRUE )
{
$home_info = $db->getGameHomeWithoutMods($home_id);
$servers_with_same_path = $db->getGameServersWithSamePath($home_info['remote_server_id'], $home_info['home_path']);
$servers_with_same_path = (is_array($servers_with_same_path) ? count($servers_with_same_path) : 0);
$success_json = array('result' => 'success', 'info' => get_lang("successfully_changed_game_server"));
if($servers_with_same_path > 1){
$success_json["warning_info"] = get_lang('other_servers_exist_with_path_please_change');
}
// Create new home directory if it doesn't already exist
$remote->exec("mkdir -p " . clean_path($home_path));
// If FTP is enabled, update the FTP info.
if($ftp_installed){
if ($db->IsFtpEnabled($home_id))
{
$login = isset($home_info['ftp_login']) ? $home_info['ftp_login'] : $home_id;
$delte_old_ftp_account = $remote->ftp_mgr("userdel", $login);
if ($delte_old_ftp_account !== 0)
{
$create_new_ftp_account = $remote->ftp_mgr("useradd", $login, $home_info['ftp_password'], $home_path);
}
if (isset($create_new_ftp_account) and $create_new_ftp_account !== 0)
{
echo json_encode($success_json);
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("home_path") .":$home_path");
}
else
{
echo json_encode(array('result' => 'failure', 'info' => get_lang("error_ocurred_on_remote_server") .
" " . get_lang("ftp_login_can_not_be_changed")));
}
}
else
{
echo json_encode($success_json);
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("home_path") .":$home_path");
}
}
else
{
echo json_encode($success_json);
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("home_path") .":$home_path");
}
}
else
echo json_encode(array('result' => 'failure', 'info' => get_lang("selected_path_already_in_use")));
}
else
echo json_encode(array('result' => 'failure', 'info' => get_lang("invalid_path")));
return;
}
else if( isset( $_REQUEST['master_server'] ) )
{
if ( isset( $_POST['add'] ) )
$action = "add";
else
$action = "remove";
if ( $db->setMasterServer($action, $home_id, $home_info['home_cfg_id'], $home_info['remote_server_id']) === TRUE )
{
$result = get_lang("successfully_changed_game_server");
$type = "success";
$db->logger( get_lang("successfully_changed_game_server") ." HOME ID:$home_id - ". get_lang("set_as_master_server") .":$action");
}
}
if( isset($_REQUEST['add_mod']) )
{
$mod_cfg_id = $_POST['mod_cfg_id'];
if ( $db->addModToGameHome($home_id,$mod_cfg_id) === FALSE )
{
$result = get_lang_f('failed_to_assing_mod_to_home',$mod_cfg_id);
$type = "failure";
}
else
{
$result = get_lang_f('successfully_assigned_mod_to_home',$mod_cfg_id);
$type = "success";
$db->logger(get_lang_f('successfully_assigned_mod_to_home',$mod_cfg_id)." [HOME ID:$home_id]");
}
}
else if($submit == "delete_mod")
{
$mod_id = $_GET['mod_id'];
if ( $db->delGameMod($mod_id) === TRUE )
{
$result = get_lang("successfully_removed_mod");
$type = "success";
$db->logger( get_lang("successfully_removed_mod") ." [MOD ID:$mod_id HOME ID:$home_id]");
}
}
else if(isset($_REQUEST['set_options']))
{
$maxplayers = 0 + @$_POST['maxplayers'];
$cliopts = $_POST['cliopts'];
// Get the total CPU count. and, if the agent is offline, set the CPU to NA.
$remoteCpus = $remote->cpu_count();
$validCpus = $remoteCpus === -1 ? 'NA' : $remoteCpus-1;
if(isset($_POST['cpus']) && $validCpus !== 'NA')
{
$cpuArray = explode(',', $_POST['cpus']);
// Check if a a valid core has been submitted. eg, the checkbox hasn't been manually edited.
foreach($cpuArray as $cpu)
{
if($cpu > $validCpus || !is_numeric($cpu))
{
$cpus = 'NA';
break;
} else {
$cpus[] = $cpu;
}
}
// If $cpus is an array, seperate all the values with a comma. Otherwise, just pass $cpus to the query - which, as above, will be NA.
$cpus = is_array($cpus) ? implode(',', $cpus) : $cpus;
} else {
$cpus = 'NA';
}
// If we're on Windows, and some cores have been selected...
if (preg_match('/cygwin/i', $remote->what_os()) && $cpus !== 'NA') {
$result = 0;
$cores = explode(',', $cpus);
foreach ($cores as $core) {
$coreNum = intval($core);
$result |= (1 << $coreNum);
}
$cpus = strtoupper(dechex($result));
}
$nice = isset($_POST['nice']) ? (int)$_POST['nice'] : 0;
$mod_cfg_id = $_POST['mod_cfg_id'];
if ( $db->updateGameModParams($maxplayers,$cliopts,$cpus,$nice,$home_id,$mod_cfg_id) === TRUE )
{
echo json_encode(array('result' => 'success', 'info' => get_lang("successfully_modified_mod")));
$db->logger( get_lang("successfully_modified_mod") ." [MOD CFG ID:$mod_cfg_id HOME ID:$home_id]");
}
else
echo json_encode(array('result' => 'failure', 'info' => "The mod could not be changed."));
return;
}
else if( isset( $_REQUEST['set_expiration_date'] ) )
{
if ( $db->updateExpirationDate($home_id, $_POST['expiration_date'], 'server') === TRUE )
{
echo json_encode(array('result' => 'success', 'info' => get_lang('expiration_date_changed')));
$db->logger( get_lang('expiration_date_changed') ." [ HOME ID:$home_id NEW DATE:" . $_POST['expiration_date'] ." ]");
}
else
echo json_encode(array('result' => 'failure', 'info' => get_lang('expiration_date_could_not_be_changed')));
return;
}
}
?>
". get_lang("editing_home_called") ." \"".htmlentities($home_info['home_name'])."\"
";
if(isset($result))
{
if($type == 'success')
print_success($result);
elseif($type = 'failure')
print_failure($result);
}
echo "
";
$home_info = $db->getGameHomeWithoutMods($home_id);
echo "";
echo "<< ". get_lang("back_to_game_monitor") ."";
if ( $isAdmin )
{
echo " ";
echo "<< ". get_lang("back_to_game_servers") ."";
}
echo "
";
echo "";
if ( $isAdmin )
{
// Form to change game type
echo "| ". get_lang("game_type") .": | ";
echo " |
";
echo "| ". get_lang("change_game_type_info") ." |
";
// Form to edit main user.
echo "| ". get_lang("user_id_main") .": | ";
echo "";
echo " |
| " . get_lang("change_user_id_main_info") ." |
";
// Form to edit game path.
echo "| ". get_lang("home_path") .": | ".
"";
if($servers_with_same_path > 1){
print_failure(get_lang('other_servers_exist_with_path_please_change'), "warning");
}
echo " |
".
"| ". get_lang("change_home_info") ." |
";
//Jquery path browser dialog
echo "";
}
// Form to edit game name
echo "| ". get_lang("game_server_name") .": | ";
echo " |
";
echo "| ". get_lang("change_name_info") ." |
";
// Form to edit control password
echo "| ". get_lang("game_control_password") .": | ";
echo " |
";
echo "| ". get_lang("change_control_password_info") ." |
";
if ( $isAdmin && $ftp_installed )
{
// Forms to enable/disable ftp account
echo "";
echo "| ". get_lang("change_ftp_account_status") .": | ";
echo "";
if ( !$db->IsFtpEnabled( $home_id ) )
{
echo "";
}
else
{
echo "";
}
echo " |
";
echo "| ". get_lang("change_ftp_account_status_info") ." | ";
echo "
";
}
if ( preg_match("/t/",$game_home['access_rights']) > 0 && $ftp_installed && $db->IsFtpEnabled($home_id) )
{
// Form to edit control ftp login
$ftp_login = isset($home_info['ftp_login']) ? $home_info['ftp_login'] : $home_id;
echo "| ". get_lang("server_ftp_login") .": | ";
echo " |
";
echo "| ". get_lang("change_ftp_login_info") ." |
";
// Form to edit control ftp password
echo "| ". get_lang("server_ftp_password") .": | ";
echo " |
";
echo "| ". get_lang("change_ftp_password_info") ." |
";
}
if ( $isAdmin )
{
$master_server_home_id = $db->getMasterServer( $home_info['remote_server_id'], $home_info['home_cfg_id'] );
$expiration_date = !empty($home_info['server_expiration_date']) && $home_info['server_expiration_date'] != 'X' ? date( "d/m/Y H:i:s", $home_info['server_expiration_date'] ) : '';
if( $master_server_home_id != FALSE AND $master_server_home_id == $home_id )
$checked = 'checked ="checked"';
else
$checked = "";
// Form to enable/disable as master server for local update
echo "| ". get_lang("master_server_for_clon_update") .": | ";
echo " |
";
echo "| ". get_lang("set_as_master_server_for_local_clon_update") .
" (".get_lang_f( 'only_available_for', $server_xml->game_name, $home_info['remote_server_name']).") |
";
// Expiration
echo "| ".get_lang('server_expiration_date').": | \n".
" |
\n".
"| ". get_lang("server_expiration_date_info") ." |
";
}
echo "
";
if ( $isAdmin )
{
$avail_ips = $db->getRemoteServerIPs($home_info['remote_server_id']);
$ip_array = array();
if ( is_array($avail_ips) && !empty($avail_ips) )
{
echo "". get_lang("ips_and_ports") ."
";
$screen_running = $remote->is_screen_running(OGP_SCREEN_TYPE_HOME,$home_info['home_id']) === 1;
if( ! $screen_running )
{
if( isset($_REQUEST['set_ip']) )
{
$ip_id = $db->real_escape_string($_POST['ip']);
$ip_row = $db->resultQuery( "SELECT ip FROM OGP_DB_PREFIXremote_server_ips WHERE ip_id=".$ip_id );
if($ip_row !== false){
$ip = $ip_row['0']['ip'];
$port = $_POST['port'];
$port = (int)(trim($port));
$home_id = $_POST['home_id'];
if ( !isPortValid($port) )
{
print_failure( get_lang("port_range_error") );
}
else
{
if ( $db->addGameIpPort($home_id, $ip_id, $port) === FALSE )
{
print_failure(get_lang_f('ip_port_already_in_use', $ip, $port));
}
else {
print_success(get_lang_f('successfully_assigned_ip_port_to_server_id', $ip, $port, $home_id));
$db->logger(get_lang_f('successfully_assigned_ip_port_to_server_id', $ip, $port, $home_id));
}
}
}
}
if (isset($_REQUEST["delete_ip"]))
{
$del_ip = $_GET['ip'];
$del_port = $_GET['port'];
if ( $db->delGameIpPort($home_id,$del_ip,$del_port) )
{
print_success( get_lang("successfully_assigned_ip_port") );
$db->logger( get_lang("successfully_assigned_ip_port") ." [unassigned]");
}
else
print_failure("Failed to unassign ip:port.");
}
echo "";
$assigned = $db->getHomeIpPorts($home_id);
if( empty($assigned) )
{
print_failure( get_lang("no_ip_ports_assigned") );
}
else
{
foreach ( $assigned as $assigned_rows )
{
$force_mod = "";
$align = "center";
if( !empty($enabled_mods) and count($enabled_mods) > 1 )
{
$force_mod .= "\n".
"\n | \n";
$align = "right";
}
echo "\n";
}
}
}
else
{
print_failure( get_lang("server_is_running_change_addresses_not_available") );
}
}
else
{
print_failure( get_lang("no_ip_addresses_configured") ."". get_lang("server_page") ."." );
}
echo "";
}
else
{
$assigned = $db->getHomeIpPorts($home_id);
if( !empty($assigned) and !empty($enabled_mods) and count($enabled_mods) > 1 )
{
echo "\n".
"\n".
"".
"". get_lang("switch_mods") ."".
" | \n".
"
\n";
$force_mod = "";
foreach ( $assigned as $assigned_rows )
{
$force_mod .= "\n| ".get_lang_f('switch_mod_for_address',$assigned_rows['ip'].":".$assigned_rows['port']).
" | \n\n".
"\n | \n
\n";
}
echo $force_mod."
\n";
}
}
}
?>