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); } }
<?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!';
} 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(); }