Example #1
0
function server($id = 0)
{
    global $db, $player_field_list;
    update_server_cache();
    if ($id) {
        $result = $db->query('SELECT * FROM ' . DB_PRE . 'ecp_server WHERE aktiv = 1 AND serverID = ' . $id);
    } else {
        $result = $db->query('SELECT * FROM ' . DB_PRE . 'ecp_server WHERE aktiv = 1 ORDER BY posi ASC');
    }
    if ($db->num_rows()) {
        $server = array();
        while ($row = mysql_fetch_assoc($result)) {
            $spe = array();
            $data = lgsl_server_html(unserialize($row['response']));
            $tpl = new smarty();
            if ($row['stat']) {
                $tpl->assign('serverstats', true);
            }
            if ($data['b']['status'] == 0) {
                $tpl->assign('image', 'templates/' . DESIGN . '/images/map_no_response.jpg');
            } else {
                if (file_exists('images/server/maps/' . $row['gametype'] . '/' . $data['s']['game'] . '/' . strtolower(str_replace(' ', '_', $data['s']['map'])) . '.jpg')) {
                    $tpl->assign('image', 'images/server/maps/' . $row['gametype'] . '/' . $data['s']['game'] . '/' . strtolower(str_replace(' ', '_', $data['s']['map'])) . '.jpg');
                } else {
                    $tpl->assign('image', 'templates/' . DESIGN . '/images/map_no_image.jpg');
                }
            }
            $tpl->assign('nextupdate', $row['datum'] + SERVER_CACHE_REFRESH - time() . ' ' . SECONDS);
            $row['datum'] = date('d.m.Y H:i:s', $row['datum']);
            $speicher = '<select size="1" name="settings">';
            foreach ($row as $key => $value) {
                $tpl->assign($key, $value);
            }
            foreach ($data['e'] as $key => $value) {
                $tpl->assign($key, $value);
                $speicher .= "<option>{$key} => " . check_str_length($value, 40) . "</option>";
            }
            foreach ($data['s'] as $key => $value) {
                $tpl->assign($key, $value);
            }
            $tpl->assign('settings', $speicher . '</select>');
            if ($row['gametype'] == 'halflife' or $row['gametype'] == 'source') {
                if (isset($data['e']['cm_nextmap'])) {
                    $tpl->assign('nextmap', '(' . SERVER_NEXT_MAP . ': ' . $data['e']['cm_nextmap'] . ')');
                } elseif (isset($data['e']['amx_nextmap'])) {
                    $tpl->assign('nextmap', '(' . SERVER_NEXT_MAP . ': ' . $data['e']['amx_nextmap'] . ')');
                } elseif (isset($data['e']['mani_nextmap'])) {
                    $tpl->assign('nextmap', '(' . SERVER_NEXT_MAP . ': ' . $data['e']['mani_nextmap'] . ')');
                }
                if (isset($data['e']['cm_timeleft'])) {
                    $tpl->assign('timeleft', '(' . SERVER_TIME_LEFT . ': ' . $data['e']['cm_timeleft'] . ')');
                } elseif (isset($data['e']['amx_timeleft'])) {
                    $tpl->assign('timeleft', '(' . SERVER_TIME_LEFT . ': ' . $data['e']['amx_timeleft'] . ')');
                }
                $tpl->assign('plys', order_players($data['p']));
                $tpl->assign('lang', $player_field_list);
                ob_start();
                //echo 'images/server/maps/'.$row['gametype'].'/'.$data['s']['game'].'/'.strtolower(str_replace(' ', '_',$data['s']['map'])).'.jpg';
                $tpl->display(DESIGN . '/tpl/server/halflife.html');
                $content = ob_get_contents() . '</div>';
                ob_end_clean();
            } else {
                ob_start();
                //echo 'images/server/maps/'.$row['gametype'].'/'.$data['s']['game'].'/'.strtolower(str_replace(' ', '_',$data['s']['map'])).'.jpg';
                $tpl->display(DESIGN . '/tpl/server/other.html');
                $output = ob_get_contents();
                ob_end_clean();
                error_reporting(1);
                $data['p'] = order_players($data['p']);
                if (!$data['p']) {
                    @($output .= "\r\n\t\t\t\t    <table cellpadding='4' cellspacing='2' style='margin:auto'>\r\n\t\t\t\t      <tr>\r\n\t\t\t\t        <td> " . SERVER_NO_PLAYERS . " </td>\r\n\t\t\t\t      </tr>\r\n\t\t\t\t    </table>\r\n\t\t\t\t\r\n\t\t\t\t    <div style='height:20px'><br /></div>");
                } else {
                    $used_field_list = array();
                    foreach ($player_field_list as $field => $title) {
                        foreach ($data['p'] as $player) {
                            if (isset($player[$field])) {
                                $used_field_list[$field] = $title;
                            }
                        }
                    }
                    @($output .= "\r\n\t\t\t\t    <table cellpadding='1' cellspacing='1' style='width:100%;margin:auto'>\r\n\t\t\t\t      <tr style=''>");
                    foreach ($used_field_list as $field => $title) {
                        $output .= "\r\n\t\t\t\t        <td> <b>{$title}</b> </td>";
                    }
                    $output .= "\r\n\t\t\t\t      </tr>";
                    $i = 0;
                    foreach ($data['p'] as $player_key => $player) {
                        $output .= "\r\n\t\t\t\t        <tr class='" . (++$i % 2 ? 'row_odd' : 'row_even') . "'>";
                        foreach ($used_field_list as $field => $title) {
                            $output .= "<td> {$player[$field]} </td>";
                        }
                        $output .= "\r\n\t\t\t\t        </tr>";
                    }
                    $output .= "\r\n\t\t\t\t    </table>\r\n\t\t\t\t\r\n\t\t\t\t    <div style='height:20px'><br /></div>";
                }
                error_reporting(E_ALL);
                $content = $output . '</div>';
            }
            $spe['headline'] = $data['b']['status'] == 0 ? $row['ip'] . ':' . $row['port'] . ' ' . SERVER_OFFLINE : $data['s']['name'];
            $spe['content'] = $content;
            $server[] = $spe;
        }
        if (@$_GET['ajax']) {
            ob_end_clean();
            echo html_ajax_convert($content);
            die;
        } else {
            $tpl = new smarty();
            $tpl->assign('server', $server);
            ob_start();
            $tpl->display(DESIGN . '/tpl/server/overview.html');
            $content = ob_get_contents();
            ob_end_clean();
            main_content(SERVER, $content, '', 1);
        }
    } else {
        table(INFO, NO_ENTRIES);
    }
}
Example #2
0
<?php

if (defined('VERSION')) {
    update_server_cache();
    $db->query('SELECT `gamename`, `gametype`, `posi`, `response` FROM `' . DB_PRE . 'ecp_server` WHERE aktiv = 1 AND displaymenu = 1 ORDER BY posi ASC');
    if ($db->num_rows()) {
        while ($server = $db->fetch_assoc()) {
            $data = unserialize($server['response']);
            $tpl = new smarty();
            if ($data['b']['status'] == 0) {
                $tpl->assign('image', 'templates/' . DESIGN . '/images/map_no_response.jpg');
            } else {
                if (file_exists('images/server/maps/' . $server['gametype'] . '/' . $data['s']['game'] . '/' . strtolower(str_replace(' ', '_', $data['s']['map'])) . '.jpg')) {
                    $tpl->assign('image', 'images/server/maps/' . $server['gametype'] . '/' . $data['s']['game'] . '/' . strtolower(str_replace(' ', '_', $data['s']['map'])) . '.jpg');
                } else {
                    $tpl->assign('image', 'templates/' . DESIGN . '/images/map_no_image.jpg');
                }
            }
            if (file_exists('images/server/icons/' . $server['gametype'] . '/' . strtolower(str_replace(' ', '', $data['s']['game'])) . '.gif')) {
                $tpl->assign('icon', 'images/server/icons/' . $server['gametype'] . '/' . strtolower(str_replace(' ', '', $data['s']['game'])) . '.gif');
            }
            $tpl->assign('gamename', $server['gamename']);
            $tpl->assign('data', $data);
            $tpl->display(DESIGN . '/tpl/server/mini.html');
            echo '<br />';
        }
    } else {
        echo NO_ENTRIES;
    }
} else {
    echo 'Kein direktes Aufrufen der Datei!';
Example #3
0
}
if (isset($_SESSION['userID'])) {
    $extra = ", userhits= userhits+1";
}
if ($eingetragen) {
    $db->query('UPDATE ' . DB_PRE . 'ecp_stats_browser SET  hits=hits+1 WHERE (type = \'browser\' AND variable = \'' . $browser . '\') OR (type = \'os\' AND variable = \'' . $os . '\');');
    $db->query('UPDATE ' . DB_PRE . 'ecp_stats_jahr SET hits=hits+1' . @$extra . ' WHERE jahr=' . $nowYear . '');
    $db->query('UPDATE ' . DB_PRE . 'ecp_stats_monat SET hits=hits+1' . @$extra . ' WHERE (jahr=' . $nowYear . ') and (monat=' . $nowMonth . ')');
    $db->query('UPDATE ' . DB_PRE . 'ecp_stats_tag SET hits=hits+1' . @$extra . ' WHERE (jahr=' . $nowYear . ') and (monat=' . $nowMonth . ') and (tag=' . $nowDate . ')');
    $db->query('UPDATE ' . DB_PRE . 'ecp_stats_stunde SET hits=hits+1' . @$extra . ' WHERE (jahr=' . $nowYear . ') and (monat=' . $nowMonth . ') and (tag=' . $nowDate . ') and (stunde=' . $nowHour . ')');
} else {
    $db->query('UPDATE ' . DB_PRE . 'ecp_stats_browser SET hits=hits+1, visits=visits+1 WHERE (type = \'browser\' AND variable = \'' . $browser . '\') OR (type = \'os\' AND variable = \'' . $os . '\');');
    $db->query('UPDATE ' . DB_PRE . 'ecp_stats_jahr SET hits=hits+1, visits=visits+1' . @$extra . ' WHERE jahr=' . $nowYear . '');
    $db->query('UPDATE ' . DB_PRE . 'ecp_stats_monat SET hits=hits+1, visits=visits+1' . @$extra . ' WHERE (jahr=' . $nowYear . ') and (monat=' . $nowMonth . ')');
    $db->query('UPDATE ' . DB_PRE . 'ecp_stats_tag SET hits=hits+1, visits=visits+1' . @$extra . ' WHERE (jahr=' . $nowYear . ') and (monat=' . $nowMonth . ') and (tag=' . $nowDate . ')');
    $db->query('UPDATE ' . DB_PRE . 'ecp_stats_stunde SET hits=hits+1, visits=visits+1' . @$extra . ' WHERE (jahr=' . $nowYear . ') and (monat=' . $nowMonth . ') and (tag=' . $nowDate . ') and (stunde=' . $nowHour . ')');
}
//------------------------------ Webstats updaten ENDE -------------------------------------------------//
$result = $db->query('SELECT serverID, response FROM ' . DB_PRE . 'ecp_server WHERE aktiv = 1 AND stat = 1 AND ((SELECT datum FROM ' . DB_PRE . 'ecp_server_stats WHERE ' . DB_PRE . 'ecp_server_stats.sID = serverID ORDER BY datum DESC LIMIT 1) < ' . (time() - SERVER_LOG_INTERVALL * 60) . ' OR (SELECT datum FROM ' . DB_PRE . 'ecp_server_stats WHERE ' . DB_PRE . 'ecp_server_stats.sID = serverID ORDER BY datum DESC LIMIT 1) is null)');
if ($db->num_rows()) {
    update_server_cache(true);
    while ($row = mysql_fetch_assoc($result)) {
        $row['response'] = unserialize($row['response']);
        if ($db->result(DB_PRE . 'ecp_server_stats', 'COUNT(sID)', 'sID = ' . $row['serverID'] . ' AND datum > ' . (time() - SERVER_LOG_INTERVALL * 60)) == 0) {
            $db->query('INSERT INTO ' . DB_PRE . 'ecp_server_stats (`sID`, `datum`, `players`) VALUES (' . $row['serverID'] . ', ' . time() . ', ' . (int) @$row['response']['s']['players'] . ');');
        }
    }
}
if (!@$ajax and defined('VERSION')) {
    make_menus();
}