}
        if (!$mod) {
            $mod = $mod = $server_xml->mods->mod['key'];
        }
        if (!$map) {
            $map = $results['server']['gq_type'];
        }
        if (!$players) {
            $players = 0;
        }
        @($stats_players += $players);
        // COUNT VISIBLE NUMBER OF PLAYERS
        @($stats_maxplayers += $playersmax);
        // COUNT VISIBLE NUMBER OF SLOTS
        if ($results['server']['gq_numplayers'] > 0) {
            $player_list = print_player_list_gameq($results['server']['players'], $players, $playersmax);
        }
        if ($server_xml->installer == 'steamcmd') {
            $address = "<a href='steam://connect/{$ip}:{$port}'>{$ip}:{$port}</a>";
        } else {
            $address = "{$ip}:{$port}";
        }
        $playersList = $results['server']['players'];
        $maplocation = get_map_path($query_name, $mod, $map);
    } else {
        $status = "half";
    }
} else {
    $status = "half";
    $notifications = get_lang_f('queries_disabled_by_setting_disable_queries_after', $numberservers_to_skip_query, $num_of_servers);
}
예제 #2
0
<?php

/**
    QGIS-WEB-CLIENT - PHP HELPERS

    Returns a list of unique values from a postgis layer column

    @copyright: 2013 by Alessandro Pasotti <*****@*****.**>
    @license: GNU AGPL, see COPYING for details.
*/
require_once dirname(__FILE__) . '/config.php';
require_once dirname(__FILE__) . '/helpers.php';
// Params
$map = get_map_path(@$_REQUEST['map']);
// Name of the layer to query
$layername = @$_REQUEST['layer'];
// Field name from where unique values are read
$field = @$_REQUEST['field'];
if (!$field) {
    err500('field parameter missing');
}
// Get project
$project = get_project($map);
// Get layer
$layer = get_layer($layername, $project);
try {
    $dbh = get_connection($layer, $project, $map);
    $ds_parms = get_layer_info($layer, $project);
    $_field = preg_replace('/[^A-z0-9_-]]/', '', $field);
    $stmt = $dbh->prepare("SELECT DISTINCT {$_field} FROM {$ds_parms['table']} ORDER BY {$_field}");
    $stmt->execute();
function exec_ogp_module()
{
    global $db;
    require_once 'includes/lib_remote.php';
    $access = FALSE;
    $port = $_REQUEST['port'];
    $ip = $_REQUEST['ip'];
    $server_home = $db->getGameHomeByIP($ip, $port);
    $home_id = $server_home['home_id'];
    // Is user ??
    $users = $db->getUsersByHomeId($home_id);
    if ($users) {
        foreach ($users as $user) {
            if ($user['user_id'] == $_SESSION['user_id']) {
                $access = TRUE;
            }
        }
    }
    // Is group user ??
    $groupusers = $db->getGroupUsersByHomeId($home_id);
    if ($groupusers) {
        foreach ($groupusers as $groupuser) {
            if ($groupuser['user_id'] == $_SESSION['user_id']) {
                $access = TRUE;
            }
        }
    }
    // Is admin ??
    $isAdmin = $db->isAdmin($_SESSION['user_id']);
    if ($isAdmin) {
        $access = TRUE;
    }
    if ($access == FALSE) {
        print_failure("Access Denied!");
        die;
    }
    $server_xml = read_server_config(SERVER_CONFIG_LOCATION . "/" . $server_home['home_cfg_file']);
    $xml_installer = $server_xml->installer;
    $mod = $server_xml->mods->mod['key'];
    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;
    }
    // If query name does not exist use mod key instead.
    //Properties for all servers
    if (isset($_GET['home_id']) && $_GET['home_id'] == $server_home['home_id']) {
        $trclass = "class='expandme'";
    }
    $user = $db->getUserById($server_home['user_id_main']);
    $btns = "<a href='?m=gamemanager&amp;p=gamemanager&amp;home_id=" . $server_home['home_id'] . "'><img src='images/gamemanager.png' style='border:0;height:16px;' />" . get_lang('gamemanager') . "</a>&nbsp;&nbsp;" . "<a href='?m=gamemanager&amp;p=log&amp;home_id=" . $server_home['home_id'] . "'><img style='border:0;height:16px;' src='images/log.png'/>" . get_lang('view_log') . "</a>&nbsp;&nbsp;" . "<a href='?m=ftp&amp;home_id=" . $server_home['home_id'] . "'><img style='border:0;height:16px;' src='images/ftp.png'/>" . get_lang('ftp') . "</a>";
    // Check if the screen running the server is running.
    if ($server_xml->protocol == "gameq") {
        require 'protocol/GameQ/functions.php';
        require_once 'protocol/GameQ/GameQMonitor.php';
    } else {
        if ($server_xml->protocol == "lgsl") {
            require 'protocol/lgsl/functions.php';
            require_once 'protocol/lgsl/LGSLMonitor.php';
        } else {
            if ($server_xml->protocol == "teamspeak3") {
                require_once 'protocol/TeamSpeak3/TS3Monitor.php';
            } else {
                // This is here because some servers are not supported by LGSL/GameQ or
                // because we do not have proper support for them yet.
                // With properly supported games this should not needed.
                // (In a perfect world no one would need an insurance.)
                $status = "online";
                $map = $status;
                $maplocation = get_map_path($query_name, $mod, $map);
                @($notifications .= get_lang("query_protocol_not_supported"));
            }
        }
    }
    @($map_icon = "<img class='mapicon' src='{$maplocation}'/>");
    @($currentmap = $map);
    //Properties for Specific Status
    if ($status == "half" || $status == "online") {
        if ($status == "online") {
            $onlineT = "<div>";
            $onlineT .= "{$map_icon}";
            $onlineT .= "</div>";
            $onlineT .= "<div>";
            @($onlineT .= get_lang('hostname') . ": <marquee class='hostname'>{$name}</marquee><br />");
            @($onlineT .= get_lang('current_map') . ": {$currentmap}");
            $onlineT .= "</div>";
        } else {
            if ($status == "half") {
                @($notifications .= get_lang("failed_querying_server"));
            }
        }
        $remote_server_id = $server_home['remote_server_id'];
        $rserver = $db->getRemoteServerById($remote_server_id);
        $remote = new OGPRemoteLibrary($rserver['agent_ip'], $rserver['agent_port'], $rserver['encryption_key'], $rserver['timeout']);
        $startup_file_exists = $remote->rfile_exists("startups/" . $server_home['ip'] . "-" . $server_home['port']) === 1;
        $SrvCtrl = "<table class='srvctrl'><tr>";
        if ($startup_file_exists) {
            $SrvCtrl .= "<td style='border:0;text-align:center;background:transparent'><a href='?m=gamemanager&amp;p=restart&amp;home_id=" . $server_home['home_id'] . "&amp;mod_id=" . $server_home['mod_id'] . "&amp;ip=" . $server_home['ip'] . "&amp;port=" . $server_home['port'] . "'><img src='images/restart.png' width='64' border='0' alt='" . get_lang('restart_server') . "' /><br><b>" . get_lang('restart_server') . "</b></a></td>";
        }
        $SrvCtrl .= "<td style='border:0;text-align:center;background:transparent'><a href='?m=gamemanager&amp;p=stop&amp;home_id=" . $server_home['home_id'] . "&amp;ip=" . $server_home['ip'] . "&amp;port=" . $server_home['port'] . "'><img src='images/stop.png' width='64' border='0' alt='" . get_lang('stop_server') . "' /><br><b>" . get_lang('stop_server') . "</b></a></td></tr></table>";
    }
    //Echo them all
    echo "<div class='monitor-1'>" . @$onlineT . @$halfT . @$offlineT . "</div>" . "<div class='monitor-2 bloc'>" . @$SrvCtrl . "</div>";
    if (isset($player_list)) {
        echo "<div class='monitor-3'>" . @$player_list . "</div>";
    }
    if (isset($notifications)) {
        echo "<div class='monitor-3 bloc'>" . @$notifications . "</div>";
    }
}
예제 #4
0
<?php

/**
    QGIS-WEB-CLIENT - PHP HELPERS

    Return a cached json legend for easier customization
    It uses GetStyles for the given layer to retrieve styles informations
    and GetLegendGraphics for each symbol image

    @copyright: 2013 by Alessandro Pasotti ItOpen (http://www.itopen.it)
        <*****@*****.**>
    @license: GNU AGPL, see COPYING for details.
*/
require_once dirname(__FILE__) . '/config.php';
require_once dirname(__FILE__) . '/helpers.php';
// Params
$mapname = @$_REQUEST['map'];
// Name of the layer to get legend for
$layername = @$_REQUEST['layer'];
$map = get_map_path($mapname);
// Get project
$project = get_project($map);
$legend = get_legend($mapname, $layername, $project);
$json_result = json_encode($legend);
header('Content-type: application/json');
header('Content-length: ' . strlen($json_result));
echo $json_result;
예제 #5
0
 }
 echo "<h3>" . get_lang('starting_server_settings') . ":</h3>";
 echo "<table class='list_table'>";
 if (isset($server_xml->lgsl_query_name) || isset($server_xml->gameq_query_name)) {
     if (isset($server_xml->lgsl_query_name)) {
         $query_name = $server_xml->lgsl_query_name;
     } else {
         $query_name = $server_xml->gameq_query_name;
     }
 } else {
     $query_name = $server_xml->mods->mod['key'];
 }
 if ($server_xml->map_list || $server_xml->maps_location) {
     $map_lc = preg_replace("/[^a-z0-9_]/", "_", strtolower($cli_param_data['MAP']));
     //----------+ getting the maps image location.
     $maplocation = get_map_path($query_name, $server_xml->mods->mod['key'], $map_lc);
     echo "<tr><td rowspan='6'><img src='" . $maplocation . "' /></td><td class='right'>" . get_lang('map') . ":</td><td class='left'>" . $cli_param_data['MAP'] . "</td></tr>";
 } else {
     $icon_paths = array("images/icons/" . $server_xml->mods->mod['key'] . ".png", "images/icons/{$query_name}.png", "protocol/lgsl/other/icon_unknown.gif");
     // USE UKNOWN ICON
     $icon_path = get_first_existing_file($icon_paths);
     echo "<tr><td rowspan='6'><img src='" . $icon_path . "' /></td>";
 }
 if (isset($cli_param_data['PLAYERS'])) {
     echo "<tr><td class='right'>" . get_lang('max_players') . ":</td><td class='left'>" . $cli_param_data['PLAYERS'] . "</td></tr>";
 }
 echo "<tr><td class='right'>" . get_lang('server_ip_port') . ":</td><td class='left'>{$ip}:{$port}</td></tr>";
 echo "<tr><td class='right'>" . get_lang('game_type') . ":</td><td class='left'>" . $server_xml->mods->mod['key'] . "</td></tr>";
 echo "</table>";
 print "<p class='note'>" . get_lang('starting_server') . "</p>";
 global $view;