attribute as $attribute) $attributesString .= $attribute['key']. "='$attribute' "; $disabledString = ($param_access_enabled) ? "" : "disabled "; if (array_key_exists((string)$param['key'], $last_param)) $paramValue = (string)$last_param[(string)$param['key']]; else $paramValue = (string)$param->default; $idString = "id='".clean_id_string($param['key'])."'"; $nameString = "name='params[".$param['key']."]'"; $paramType = $param['type']; if ($paramType == "select") { $inputElementString = ""; } else { if ($paramType == "checkbox_key_value") { if ($paramValue) // convert the XML object to string $attributesString .= "checked='checked' "; $paramValue = $param['key']; $paramType = "checkbox"; } else if ($paramType == "checkbox") { if ($paramValue) // convert the XML object to string $attributesString .= "checked='checked' "; } $inputElementString = ""; } echo "$inputElementString\n"; } function get_sync_name($server_xml) { if( $server_xml->lgsl_query_name ) { $sync_name = $server_xml->lgsl_query_name; if($sync_name == "quake3") { if($server_xml->game_name == "Quake 3") $sync_name = "q3"; } } elseif( $server_xml->gameq_query_name ) { $sync_name = $server_xml->gameq_query_name; if($sync_name == "minecraft") { if($server_xml->game_name == "Minecraft Tekkit") $sync_name = "tekkit"; elseif($server_xml->game_name == "Minecraft Bukkit") $sync_name = "bukkit"; } } elseif( isset($server_xml->protocol) ) $sync_name = $server_xml->protocol; else $sync_name = $server_xml->mods->mod['key']; return $sync_name; } function exec_ogp_module() { global $db, $settings, $loggedInUserInfo; echo "

". game_monitor ."

"; $refresh = new refreshed(); set_time_limit(0); $stats_servers_online = 0; $stats_servers = 0; $stats_players = 0; $stats_maxplayers = 0; $home_page = (isset($_GET['page']) && (int)$_GET['page'] > 0) ? (int)$_GET['page'] : 1; $home_limit = (isset($_GET['limit']) && (int)$_GET['limit'] > 0) ? (int)$_GET['limit'] : 10; if(hasValue($loggedInUserInfo) && is_array($loggedInUserInfo) && $loggedInUserInfo["users_page_limit"] && !hasValue($_GET['limit'])){ $home_limit = $loggedInUserInfo["users_page_limit"]; } $isAdmin = $db->isAdmin( $_SESSION['user_id'] ); if ( $isAdmin ) { if(isset($_GET['home_id']) OR isset($_GET['home_id-mod_id-ip-port'])) $server_homes = $db->getHomesFor('admin', $_SESSION['user_id']); else $server_homes = $db->getHomesFor_limit('admin', $_SESSION['user_id'],$home_page,$home_limit); } else { if(isset($_GET['home_id']) OR isset($_GET['home_id-mod_id-ip-port'])) $server_homes = $db->getHomesFor('user_and_group', $_SESSION['user_id']); else $server_homes = $db->getHomesFor_limit('user_and_group', $_SESSION['user_id'],$home_page,$home_limit); } if( $server_homes === FALSE ) { // If there are no games, then there can not be any mods either. print_failure( no_game_homes_assigned ); if ( $isAdmin ) { echo "

". assign_game_homes ."

"; } return; } ?>
:
$value) { if( preg_match( "/^action/", $key ) ) { list($action,$home_id,$mod_id,$ip,$port) = explode("-", $value); exec_operation( $action, $home_id, $mod_id, $ip, $port ); } } if ( empty( $_GET['home_id-mod_id-ip-port'] ) ) unset( $_GET['home_id-mod_id-ip-port'] ); if ( empty( $_GET['home_id'] ) ) unset( $_GET['home_id'] ); if ( isset($_GET['home_cfg_id']) and $_GET['home_cfg_id'] == game_type ) unset( $_GET['home_cfg_id'] ); create_home_selector_game_type($_GET['m'], $_GET['p'], $server_homes); if (!isset($_GET['home_id-mod_id-ip-port']) and !isset($_GET['home_id']) and !isset($_GET['home_cfg_id'])) { create_home_selector_address($_GET['m'], $_GET['p'], $server_homes); $show_all = TRUE; } else { create_home_selector_address($_GET['m'], $_GET['p'], $server_homes); create_home_selector($_GET['m'], $_GET['p'], "show_all"); $show_all = FALSE; } require("protocol/lgsl/lgsl_protocol.php"); $info = $db->getUserById($_SESSION['user_id']); if($info['user_expires'] != "X") { ?>
:
". "". "". "\t". "\t". "\t" . server_name . "". "\t" . address . "". "\t" . owner . "". "\t". "\t\t" . operations . "". "\t\t". "\t\t". "\t\t". "\t". "". "". ""; $litefm_installed = $db->isModuleInstalled('litefm'); $ftp_installed = $db->isModuleInstalled('ftp'); $addonsmanager_installed = $db->isModuleInstalled('addonsmanager'); $mysql_installed = $db->isModuleInstalled('mysql'); if( isset( $_GET['home_id-mod_id-ip-port']) ) list( $post_home_id, $post_mod_id, $post_ip, $post_port ) = explode( "-", $_GET['home_id-mod_id-ip-port'] ); foreach( $server_homes as $server_home ) { if( ( $show_all or isset($_GET['home_cfg_id']) ) AND ( !isset($server_home['ip']) or !isset($server_home['mod_id']) ) ) continue; // Count the number of servers. $stats_servers++; if( $show_all OR ( isset( $_GET['home_id'] ) and $_GET['home_id'] == $server_home['home_id'] ) OR ( isset( $_GET['home_id-mod_id-ip-port'] ) and $server_home['home_id'] == $post_home_id and $server_home['mod_id'] == $post_mod_id and $post_ip == $server_home['ip'] and $post_port == $server_home['port'] ) OR ( isset( $_GET['home_cfg_id'] ) and $_GET['home_cfg_id'] == $server_home['home_cfg_id'] ) ) { //Unset variables. unset($map, $trclass, $first, $second, $onlineT, $ts3opt, $offlineT, $halfT, $ministart, $player_list, $groupsus, $name, $mod_name, $SrvCtrl, $lite_fm, $manager, $user, $pos, $ftp, $addonsmanager, $ctrlChkBoxes, $expiration_dates); if ( $isAdmin ) { $server_home['access_rights'] = "ufpetc"; } if ($server_home['mod_name'] == "none" OR $server_home['mod_name'] == "None") $mod_name = ""; elseif($server_home['mod_name'] != $server_home['game_name']) $mod_name = " ( ".$server_home['mod_name']." )"; $expiration_dates = ""; if(isset($server_home['server_expiration_date']) and $server_home['server_expiration_date'] != "X") $expiration_dates .= server_expiration_date . ": " . date('d/m/Y H:i:s', $server_home["server_expiration_date"]) . "
"; if(isset($server_home['user_expiration_date']) and $server_home['user_expiration_date'] != "X") $expiration_dates .= assign_expiration_date . " (" . user . "): " . date('d/m/Y H:i:s', $server_home["user_expiration_date"]) . "
"; if(isset($server_home['user_group_expiration_date']) and $server_home['user_expiration_date'] != "X") $expiration_dates .= assign_expiration_date . " (" . group . "): " . date('d/m/Y H:i:s', $server_home["user_group_expiration_date"]); $get_size = " ". get_size ." "; $manager = " ". edit ." "; // Only show the filemanager link when the litefm is installed. if ( preg_match("/f/",$server_home['access_rights']) > 0 && $litefm_installed ) { $lite_fm = " ". file_manager ." "; } if ( preg_match("/t/",$server_home['access_rights']) > 0 && $ftp_installed ) { $ftp = " ". ftp ." "; } if ( $addonsmanager_installed ) { $addons = $db->resultQuery("SELECT DISTINCT addon_id FROM OGP_DB_PREFIXaddons NATURAL JOIN OGP_DB_PREFIXconfig_homes WHERE home_cfg_id=".$server_home['home_cfg_id']); $addons_qty = count($addons); if($addons and $addons_qty >= 1){ $addonsmanager = " ". addons ." (".$addons_qty.") "; } } if ( $mysql_installed ) { $mysql_dbs = $db->resultQuery("SELECT db_id FROM OGP_DB_PREFIXmysql_databases WHERE enabled=1 AND home_id=".$server_home['home_id']); if(!empty($mysql_dbs)) $mysql = " ". mysql_databases ." "; } if( !isset($server_home['mod_id']) ) { $ministart = fail_no_mods; if ( $isAdmin ) { $ministart .= " " . configure_mods . " "; } } $server_xml = read_server_config(SERVER_CONFIG_LOCATION."/".$server_home['home_cfg_file']); if ( $server_xml ) { if (preg_match("/u/",$server_home['access_rights'])) { $master_server_home_id = $db->getMasterServer( $server_home['remote_server_id'], $server_home['home_cfg_id'] ); if ( $master_server_home_id != FALSE ) { if ( !$db->getGameHomeWithoutMods($master_server_home_id) ) { $db->setMasterServer("remove", $master_server_home_id, $server_home['home_cfg_id'], $server_home['remote_server_id']); $master_server_home_id = FALSE; } } // In case game is compatible with steam we offer a way to use steam with the updates. if( $server_xml->installer == "steamcmd" ) { if( $master_server_home_id != FALSE AND $master_server_home_id != $server_home['home_id'] ) { $manager .= " ". update_from_local_master_server ." "; } $manager .= " ". install_update_steam ." "; $manager .= " ". get_steam_autoupdate_api_link . " "; } // In other cases manual update is provided. else { $manager .= " ". install_update_manual ." "; $sync_name = get_sync_name($server_xml); $sync_list = @file("modules/gamemanager/rsync.list", FILE_IGNORE_NEW_LINES); if ( in_array($sync_name, $sync_list) OR ($master_server_home_id != FALSE and $master_server_home_id != $server_home['home_id']) ) { $manager .= " ". rsync_install ." "; } } } } if( $isAdmin ) { if ( ( $server_xml->control_protocol and preg_match("/^(rcon|lcon|rcon2)$/" ,$server_xml->control_protocol) ) OR ( $server_xml->gameq_query_name and $server_xml->gameq_query_name == 'minecraft' ) ) { $manager .= " ".rcon_presets." "; } } $mod = $server_home['mod_key']; // If query name does not exist use mod key instead. if ($server_xml->protocol == "gameq") $query_name = $server_xml->gameq_query_name; elseif ($server_xml->protocol == "lgsl") $query_name = $server_xml->lgsl_query_name; else $query_name = $mod; //----------+ getting the lgsl image icon $icon_paths = array("images/icons/$mod.png", "images/icons/$query_name.png", "protocol/lgsl/other/icon_unknown.gif"); $icon_path = get_first_existing_file($icon_paths); //Properties for all servers if(isset($post_home_id) && $post_home_id == $server_home['home_id'] OR isset($_GET['home_id']) && $_GET['home_id'] == $server_home['home_id'] ) $trclass = " expandme"; $groupusers = $db->getGroupUsersByHomeId($server_home['home_id']); $groupsus = ""; if($groupusers) { foreach($groupusers as $groupu) { if($groupu['user_id'] == $server_home['user_id_main']) continue; $groupsus .= $groupu['users_login']."
"; } } $groupsus = $groupsus != "" ? $groupsus = "". group_users ."
".$groupsus : ""; $owners = $db->getUsersByHomeId($server_home['home_id']); $other_owners = ""; if($owners) { foreach($owners as $owner) { if($owner['user_id'] == $server_home['user_id_main']) continue; $other_owners .= $owner['users_login'].'
'; } } $other_owners = $other_owners != "" ? $other_owners = "". assigned_to ."
".$other_owners : ""; $view_log = " ". view_log ." "; $btns = $view_log. @$ftp. @$lite_fm. @$addonsmanager; //End $remote = new OGPRemoteLibrary($server_home['agent_ip'], $server_home['agent_port'], $server_home['encryption_key'], $server_home['timeout']); $host_stat = $remote->status_chk(); if( $host_stat === 1) { if ( $server_home['use_nat'] == 1 ) $query_ip = $server_home['agent_ip']; else $query_ip = $server_home['ip']; $address = $query_ip . ":" . $server_home['port']; $screen_running = $remote->is_screen_running(OGP_SCREEN_TYPE_HOME,$server_home['home_id']) === 1; $update_in_progress = $remote->is_screen_running(OGP_SCREEN_TYPE_UPDATE,$server_home['home_id']) === 1; if($screen_running) { // Check if the screen running the server is running. $status = "online"; $order=1; if ($server_xml->protocol == "lgsl") { $get_q_and_s = lgsl_port_conversion($query_name, $server_home['port'], "", ""); //Connection port $c_port = $get_q_and_s['0']; //query port $q_port = $get_q_and_s['1']; //software port $s_port = $get_q_and_s['2']; $address = "".$query_ip.":".$server_home['port'].""; } if ($server_xml->protocol == "teamspeak3") $address = "".$query_ip.":".$server_home['port'].""; if($server_xml->protocol == "gameq" and $server_xml->installer == 'steamcmd') $address = "" . $query_ip . ":" . $server_home['port'] . ""; $pos = $refresh->add("home.php?m=gamemanager&p=ref_servermonitor&type=cleared&home_id=". $server_home['home_id'] . "&mod_id=". $server_home['mod_id'] . "&ip=" . $server_home['ip'] . "&port=" . $server_home['port']); if ($server_xml->protocol == "teamspeak3") { require('protocol/TeamSpeak3/functions.php'); } $startup_file_exists = $remote->rfile_exists( "startups/".$server_home['ip']."-".$server_home['port'] ) === 1; if( isset($server_home['ip']) and isset($server_home['mod_id']) and ($server_xml->protocol != "teamspeak3" or ($startup_file_exists and $server_xml->protocol == "teamspeak3")) ) { $ctrlChkBoxes .= '
'. '
 '. stop_server .'
'. '
 '. restart_server .'
'; } $stats_servers_online++; } else { $status = "offline"; if ($server_home['last_param'] != "" and isset($server_home['ip']) and isset($server_home['mod_id'])) { if($update_in_progress) $ctrlChkBoxes .= '
 '. update_in_progress .'
'; else $ctrlChkBoxes .= '
 '. start_server .'
'; } $order = 3; if(isset($server_home['mod_id'])) { ob_start(); require('modules/gamemanager/mini_start.php'); $ministart = ob_get_contents(); ob_end_clean(); } if($update_in_progress) $offlineT = '
 '. update_in_progress .'
'; else $offlineT = $ministart; } } else{ $status = "offline"; $order = 3; $address = "Agent Offline"; } $user = $db->getUserById($server_home['user_id_main']); // Template @$first = ""; $first .= "" . "" . ""; $first .= "" . "" . ""; $first .= "" . htmlentities($server_home['home_name']) . "$mod_name"; $first .= "" . $address . ""; $first .= "" . $user['users_login'] . ""; $first .= "$ctrlChkBoxes"; $first .= ""; $second = ""; @$second .= "" . $refresh->getdiv($pos,"width:100%;") . "$offlineT"; $second .= "$other_owners$groupsus"; if( $server_xml->protocol != "teamspeak3" OR ($startup_file_exists and $server_xml->protocol == "teamspeak3") OR ($status == "offline" and $server_xml->protocol == "teamspeak3") ) @$second .= "
" . trim($btns) . trim($manager) . trim($mysql) . trim($get_size) . trim($ts3opt) . "$expiration_dates
"; else $second .= "$ts3opt"; $second .= ""; //Echo them all echo "$first$second"; } } echo ""; echo "
". statistics .": $stats_servers_online/$stats_servers ". servers ."\n
\n
"; echo ""; if ($isAdmin) { $homes_count = $db->getHomesFor_count('admin', $_SESSION['user_id']); } else { $isSubUser = $db->isSubUser($_SESSION['user_id']); if ($isSubUser) { $homes_count = $db->getHomesFor_count('subuser',$_SESSION['user_id']); } else { $homes_count = $db->getHomesFor_count('user_and_group',$_SESSION['user_id']); } } $uri = '?m=gamemanager&p=game_monitor&limit='.$home_limit.'&page='; echo paginationPages($homes_count[0]['total'], $home_page, $home_limit, $uri, 3, 'serverMonitor'); echo "
\n"; ?>