539 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			539 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/*
 | 
						|
HLstatsX Community Edition - Real-time player and clan rankings and statistics
 | 
						|
Copyleft (L) 2008-20XX Nicholas Hastings (nshastings@gmail.com)
 | 
						|
http://www.hlxcommunity.com
 | 
						|
 | 
						|
HLstatsX Community Edition is a continuation of 
 | 
						|
ELstatsNEO - Real-time player and clan rankings and statistics
 | 
						|
Copyleft (L) 2008-20XX Malte Bayer (steam@neo-soft.org)
 | 
						|
http://ovrsized.neo-soft.org/
 | 
						|
 | 
						|
ELstatsNEO is an very improved & enhanced - so called Ultra-Humongus Edition of HLstatsX
 | 
						|
HLstatsX - Real-time player and clan rankings and statistics for Half-Life 2
 | 
						|
http://www.hlstatsx.com/
 | 
						|
Copyright (C) 2005-2007 Tobias Oetzel (Tobi@hlstatsx.com)
 | 
						|
 | 
						|
HLstatsX is an enhanced version of HLstats made by Simon Garner
 | 
						|
HLstats - Real-time player and clan rankings and statistics for Half-Life
 | 
						|
http://sourceforge.net/projects/hlstats/
 | 
						|
Copyright (C) 2001  Simon Garner
 | 
						|
            
 | 
						|
This program is free software; you can redistribute it and/or
 | 
						|
modify it under the terms of the GNU General Public License
 | 
						|
as published by the Free Software Foundation; either version 2
 | 
						|
of the License, or (at your option) any later version.
 | 
						|
 | 
						|
This program is distributed in the hope that it will be useful,
 | 
						|
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
GNU General Public License for more details.
 | 
						|
 | 
						|
You should have received a copy of the GNU General Public License
 | 
						|
along with this program; if not, write to the Free Software
 | 
						|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 | 
						|
 | 
						|
For support and installation notes visit http://www.hlxcommunity.com
 | 
						|
*/
 | 
						|
 | 
						|
if ( !defined('IN_HLSTATS') )
 | 
						|
{
 | 
						|
	die('Do not access this file directly.');
 | 
						|
}
 | 
						|
 | 
						|
function printserverstats($server_id)
 | 
						|
{
 | 
						|
	global $db, $g_options;
 | 
						|
    $query= "
 | 
						|
            SELECT
 | 
						|
                SUM(kills),
 | 
						|
                SUM(headshots),
 | 
						|
                count(serverId)     
 | 
						|
            FROM
 | 
						|
                hlstats_Servers
 | 
						|
			WHERE 
 | 
						|
				serverId='$server_id'
 | 
						|
      ";
 | 
						|
	$result = $db->query($query);
 | 
						|
	list($total_kills, $total_headshots) = $db->fetch_row($result);
 | 
						|
    $query= "
 | 
						|
            SELECT
 | 
						|
                serverId,
 | 
						|
                name,
 | 
						|
                IF(publicaddress != '',
 | 
						|
                    publicaddress,
 | 
						|
                    concat(address, ':', port)
 | 
						|
                ) AS addr,
 | 
						|
                statusurl,
 | 
						|
                kills,
 | 
						|
                players,
 | 
						|
                rounds, suicides, 
 | 
						|
                headshots, 
 | 
						|
                bombs_planted, 
 | 
						|
                bombs_defused, 
 | 
						|
                ct_wins, 
 | 
						|
                ts_wins, 
 | 
						|
                ct_shots, 
 | 
						|
                ct_hits, 
 | 
						|
                ts_shots, 
 | 
						|
                ts_hits,      
 | 
						|
                act_players,                                
 | 
						|
                max_players,
 | 
						|
                act_map,
 | 
						|
                map_started,
 | 
						|
                map_ct_wins,
 | 
						|
                map_ts_wins,
 | 
						|
				game                 
 | 
						|
            FROM
 | 
						|
                hlstats_Servers
 | 
						|
            WHERE
 | 
						|
                serverId='$server_id'
 | 
						|
        ";
 | 
						|
	$result = $db->query($query);
 | 
						|
	$servers   = array();
 | 
						|
	$servers[] = $db->fetch_array($result);
 | 
						|
?>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
<?php
 | 
						|
 | 
						|
	$i=0;
 | 
						|
	for ($i=0; $i<count($servers); $i++)
 | 
						|
	{
 | 
						|
		$rowdata = $servers[$i]; 
 | 
						|
			
 | 
						|
		$server_id = $rowdata['serverId'];
 | 
						|
		$game = $rowdata['game'];
 | 
						|
		$c = ($i % 2) + 1;
 | 
						|
            
 | 
						|
		$addr = $rowdata["addr"];
 | 
						|
		$kills     = $rowdata['kills'];
 | 
						|
		$headshots = $rowdata['headshots'];
 | 
						|
		$player_string = $rowdata['act_players']."/".$rowdata['max_players'];
 | 
						|
		$map_teama_wins = $rowdata['map_ct_wins'];
 | 
						|
		$map_teamb_wins = $rowdata['map_ts_wins'];
 | 
						|
		$mode = 'playerinfo';
 | 
						|
		if (strpos($_SERVER['PHP_SELF'], 'ingame') !== FALSE)
 | 
						|
		{
 | 
						|
			$mode = 'statsme';
 | 
						|
		}
 | 
						|
//style="border:1px solid; margin-bottom:40px;margin-left:auto;margin-right:auto;"
 | 
						|
?>
 | 
						|
 | 
						|
<table class="livestats-table">
 | 
						|
	<tr class="data-table-head">
 | 
						|
		<td class="fSmall" style="width:2%;"> #</td>
 | 
						|
		<td class="fSmall" style="width:42%;text-align:left;"> Player</td>
 | 
						|
		<td class="fSmall" colspan="3" style="width:5%;"> Kills</td>
 | 
						|
		<td class="fSmall" style="width:4%;"> Hs</td>
 | 
						|
		<td class="fSmall" style="width:8%;"> HS:K</td>
 | 
						|
		<td class="fSmall" style="width:6%;"> Acc</td>
 | 
						|
		<td class="fSmall" style="width:6%;"> Lat</td>
 | 
						|
		<td class="fSmall" style="width:10%;"> Time</td>
 | 
						|
		<td class="fSmall" style="width:6%;"> +/-</td>
 | 
						|
		<td class="fSmall" style="width:6%;"> Skill</td>
 | 
						|
	</tr>
 | 
						|
 | 
						|
<?php 
 | 
						|
		unset($team_colors);
 | 
						|
		$statsdata = $db->query("
 | 
						|
			SELECT 
 | 
						|
				team, 
 | 
						|
				name, 
 | 
						|
				teamkills, 
 | 
						|
				teamdeaths, 
 | 
						|
				teamheadshots, 
 | 
						|
				teamping, 
 | 
						|
				teamskill, 
 | 
						|
				teamshots, 
 | 
						|
				teamhits, 
 | 
						|
				teamjointime, 
 | 
						|
				IFNULL(playerlist_bgcolor,'#D5D5D5') as playerlist_bgcolor, 
 | 
						|
				IFNULL(playerlist_color,'#050505') AS playerlist_color, 
 | 
						|
				IFNULL( playerlist_index, 99 ) AS playerlist_index
 | 
						|
			FROM 
 | 
						|
				hlstats_Teams
 | 
						|
			RIGHT JOIN
 | 
						|
				(SELECT 
 | 
						|
					team, 
 | 
						|
					sum( kills ) AS teamkills, 
 | 
						|
					sum( deaths ) AS teamdeaths, 
 | 
						|
					sum( headshots ) AS teamheadshots, 
 | 
						|
					avg( ping /2 ) AS teamping, 
 | 
						|
					avg( skill ) AS teamskill, 
 | 
						|
					sum( shots ) AS teamshots, 
 | 
						|
					sum( hits ) AS teamhits, 
 | 
						|
					sum( unix_timestamp( NOW( ) ) - connected ) AS teamjointime
 | 
						|
				FROM 
 | 
						|
					hlstats_Livestats
 | 
						|
				WHERE 
 | 
						|
					server_id = $server_id
 | 
						|
					AND connected >0
 | 
						|
				GROUP BY 
 | 
						|
					team
 | 
						|
				ORDER BY 
 | 
						|
					teamkills
 | 
						|
				) teaminfo
 | 
						|
			ON
 | 
						|
				code = team
 | 
						|
			AND
 | 
						|
				hlstats_Teams.game = '$game'
 | 
						|
			ORDER BY 
 | 
						|
				playerlist_index
 | 
						|
			LIMIT 0 , 30
 | 
						|
			");
 | 
						|
		$teamdata = array();
 | 
						|
		$playerdata = array();
 | 
						|
		$teamno = 0;
 | 
						|
		while ($thisteam = $db->fetch_array($statsdata))
 | 
						|
		{
 | 
						|
			$teamname = $db->escape($thisteam['team']);
 | 
						|
			$teamdata[$teamno] = $thisteam;
 | 
						|
			$pldata = $db->query("
 | 
						|
								SELECT
 | 
						|
									player_id, 
 | 
						|
									name, 
 | 
						|
									kills, 
 | 
						|
									deaths, 
 | 
						|
									headshots, 
 | 
						|
									ping, 
 | 
						|
									skill, 
 | 
						|
									shots, 
 | 
						|
									hits, 
 | 
						|
									connected, 
 | 
						|
									skill_change, 
 | 
						|
									cli_flag
 | 
						|
								FROM 
 | 
						|
									hlstats_Livestats 
 | 
						|
								WHERE 
 | 
						|
									server_id = $server_id 
 | 
						|
									AND team = '$teamname'
 | 
						|
								ORDER BY 
 | 
						|
									kills DESC
 | 
						|
				");
 | 
						|
			while ($thisplayer = $db->fetch_array($pldata))
 | 
						|
			{
 | 
						|
				$playerdata[$teamno][] = $thisplayer;
 | 
						|
			}
 | 
						|
			$teamno++;
 | 
						|
		}
 | 
						|
		$curteam = 0;
 | 
						|
		while (isset($teamdata[$curteam]))
 | 
						|
		{
 | 
						|
			$j=0;
 | 
						|
			$thisteam = $teamdata[$curteam];
 | 
						|
			$teamcolor = 'background:'.$thisteam['playerlist_bgcolor'].';color:'.$thisteam['playerlist_color'];
 | 
						|
			$bordercolor = 'background:'.$$thisteam['playerlist_bgcolor'].';color:'.$thisteam['playerlist_color'].';border-top:1px '.$thisteam['playerlist_color'].' solid';
 | 
						|
			$team_display_name  = htmlspecialchars($thisteam['name']);
 | 
						|
			while (isset($playerdata[$curteam][$j]))
 | 
						|
			{
 | 
						|
				$thisplayer = $playerdata[$curteam][$j];
 | 
						|
 | 
						|
?>
 | 
						|
	<tr style="<?php echo $teamcolor ?>">
 | 
						|
		<td class="fSmall"><?php
 | 
						|
				if (isset($thisplayer) && $team_display_name)
 | 
						|
				{
 | 
						|
					echo ($j+1);
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="text-align:left;<?php echo $teamcolor ?>" class="fSmall"><?php
 | 
						|
				if (isset($thisplayer))
 | 
						|
				{
 | 
						|
					if (strlen($thisplayer['name'])>50)
 | 
						|
					{
 | 
						|
						$thisplayer['name'] = substr($thisplayer['name'], 0, 50);
 | 
						|
					}
 | 
						|
					if ($g_options['countrydata'] == 1)
 | 
						|
					{
 | 
						|
						echo '<img src="'.getFlag($thisplayer['cli_flag']).'" alt="'.ucfirst(strtolower($thisplayer['cli_country'])).'" title="'.ucfirst(strtolower($thisplayer['cli_country'])).'" /> ';
 | 
						|
					}
 | 
						|
					echo '<a style="color:'.$thisteam['playerlist_color'].'" href="'.$g_options['scripturl'].'?mode='.$mode.'&player='.$thisplayer['player_id'].'">';
 | 
						|
					echo htmlspecialchars($thisplayer['name'], ENT_COMPAT).'</a>';
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="text-align:right;width:2%;<?php echo $teamcolor ?>" class="fSmall"><?php
 | 
						|
				if (isset($thisplayer))
 | 
						|
				{
 | 
						|
					echo $thisplayer['kills'];
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="width:1%;<?php echo $teamcolor ?>" class="fSmall"><?php
 | 
						|
				if (isset($thisplayer))
 | 
						|
				{
 | 
						|
					echo ':';
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="text-align:left;width:2%;<?php echo $teamcolor ?>" class="fSmall"><?php
 | 
						|
				if (isset($thisplayer))
 | 
						|
				{
 | 
						|
					echo $thisplayer['deaths'];
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="<?php echo $teamcolor ?>" class="fSmall"><?php
 | 
						|
				if (isset($thisplayer))
 | 
						|
				{
 | 
						|
					echo $thisplayer['headshots'];
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="<?php echo $teamcolor ?>" class="fSmall"><?php
 | 
						|
				if (isset($thisplayer))
 | 
						|
				{
 | 
						|
					$hpk = sprintf('%.2f', 0);
 | 
						|
					if ($thisplayer['kills'] > 0)
 | 
						|
					{
 | 
						|
						$hpk = sprintf('%.2f', $thisplayer['headshots']/$thisplayer['kills']);
 | 
						|
					}
 | 
						|
					echo $hpk;
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="<?php echo $teamcolor ?>" class="fSmall"><?php
 | 
						|
				if (isset($thisplayer))
 | 
						|
				{
 | 
						|
					$acc = sprintf('%.0f', 0);
 | 
						|
					if ($thisplayer['shots'] > 0)
 | 
						|
					{
 | 
						|
						$acc = sprintf('%.0f', ($thisplayer['hits']/$thisplayer['shots'])*100);
 | 
						|
					}
 | 
						|
					echo "$acc%";
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="<?php echo $teamcolor ?>" class="fSmall"><?php
 | 
						|
				if (isset($thisplayer))
 | 
						|
				{
 | 
						|
					echo sprintf('%.0f', $thisplayer['ping'] / 2);
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="<?php echo $teamcolor ?>" class="fSmall"><?php
 | 
						|
				if (isset($thisplayer))
 | 
						|
				{
 | 
						|
					if ($thisplayer['connected']>0)
 | 
						|
					{
 | 
						|
						$stamp = time()-$thisplayer['connected'];
 | 
						|
						$hours = sprintf('%02d', floor($stamp / 3600));
 | 
						|
						$min   = sprintf('%02d', floor(($stamp % 3600) / 60));
 | 
						|
						$sec   = sprintf('%02d', floor($stamp % 60));
 | 
						|
						echo $hours.':'.$min.':'.$sec;
 | 
						|
					}
 | 
						|
					else
 | 
						|
					{
 | 
						|
						echo 'Unknown';
 | 
						|
					}
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="<?php echo $teamcolor ?>" class="fSmall"><?php
 | 
						|
				if (isset($thisplayer))
 | 
						|
				{
 | 
						|
					echo $thisplayer['skill_change'];
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="<?php echo $teamcolor ?>" class="fSmall"><?php
 | 
						|
				if (isset($thisplayer))
 | 
						|
				{
 | 
						|
					echo number_format($thisplayer['skill']);
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
	</tr>
 | 
						|
 | 
						|
<?php
 | 
						|
			$j++;	
 | 
						|
			}
 | 
						|
			
 | 
						|
			if ($team_display_name)
 | 
						|
			{
 | 
						|
    ?>
 | 
						|
	<tr style="<?php echo $teamcolor ?>">
 | 
						|
		<td style="<?php echo $bordercolor ?>" class="fSmall"> </td>
 | 
						|
		<td style="text-align:left;<?php echo $bordercolor ?>" class="fSmall"><?php
 | 
						|
				echo "<strong>$team_display_name</strong>";
 | 
						|
				if (($map_teama_wins > 0) || ($map_teamb_wins > 0))
 | 
						|
				{
 | 
						|
					echo ' ('.$map_teama_wins.' wins)';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="width:2%;text-align:right;<?php echo $bordercolor ?>" class="fSmall"><?php
 | 
						|
				if (count($teamdata[$curteam]) > 0)
 | 
						|
				{
 | 
						|
					echo $teamdata[$curteam]['teamkills'];
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="width:1%;<?php echo $bordercolor ?>" class="fSmall"><?php
 | 
						|
				if (count($teamdata[$curteam]) > 0)
 | 
						|
				{
 | 
						|
					echo ':';
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="width:2%;text-align:left;<?php echo $bordercolor ?>" class="fSmall"><?php
 | 
						|
				if (count($teamdata[$curteam]) > 0)
 | 
						|
				{
 | 
						|
					echo $teamdata[$curteam]['teamdeaths'];
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="<?php echo $bordercolor ?>" class="fSmall"><?php
 | 
						|
				if (count($teamdata[$curteam]) > 0)
 | 
						|
				{
 | 
						|
					echo $teamdata[$curteam]['teamheadshots'];
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="<?php echo $bordercolor ?>" class="fSmall"><?php
 | 
						|
				if (count($teamdata[$curteam]) > 0)
 | 
						|
				{
 | 
						|
					$hpk = sprintf('%.2f', 0);
 | 
						|
					if ($teama_kills > 0)
 | 
						|
					{
 | 
						|
						$hpk = sprintf('%.2f', $teamdata[$curteam]['headshots']/$teamdata[$curteam]['kills']);
 | 
						|
					}
 | 
						|
					echo $hpk;
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="<?php echo $bordercolor ?>" class="fSmall"><?php
 | 
						|
				if (count($teamdata[$curteam]) > 0)
 | 
						|
				{
 | 
						|
					$acc = sprintf('%.0f', 0);
 | 
						|
					if ($teama_shots > 0)
 | 
						|
					{
 | 
						|
						$acc = sprintf('%.0f', ($teamdata[$curteam]['teamhits']/$teamdata[$curteam]['teamshots'])*100);
 | 
						|
					}
 | 
						|
					echo "$acc%";
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
                        ?></td>
 | 
						|
		<td style="<?php echo $bordercolor ?>" class="fSmall"><?php
 | 
						|
				if (count($teamdata[$curteam]) > 0)
 | 
						|
				{
 | 
						|
					echo sprintf('%.0f', $teamdata[$curteam]['teamping'] / count($teamdata[$curteam]));
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="<?php echo $bordercolor ?>" class="fSmall"><?php
 | 
						|
				if (count($teamdata[$curteam]) > 0)
 | 
						|
				{
 | 
						|
					if ($teamdata[$curteam]['teamjointime'] > 0)
 | 
						|
					{
 | 
						|
						$stamp = $teamdata[$curteam]['teamjointime'];
 | 
						|
						$hours = sprintf('%02d', floor($stamp / 3600));
 | 
						|
						$min   = sprintf('%02d', floor(($stamp % 3600) / 60));
 | 
						|
						$sec   = sprintf('%02d', floor($stamp % 60));
 | 
						|
						echo $hours.':'.$min.':'.$sec;
 | 
						|
					}
 | 
						|
					else
 | 
						|
					{
 | 
						|
						echo 'Unknown';
 | 
						|
					}
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
		<td style="<?php echo $bordercolor ?>" class="fSmall">-</td>
 | 
						|
		<td style="<?php echo $bordercolor ?>" class="fSmall"><?php
 | 
						|
				if (count($teamdata[$curteam])>0)
 | 
						|
				{
 | 
						|
					echo number_format(sprintf('%.0f', $teamdata[$curteam]['teamskill']));
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					echo ' ';
 | 
						|
				}
 | 
						|
?>		</td>
 | 
						|
	</tr>
 | 
						|
 | 
						|
<?php
 | 
						|
			}
 | 
						|
			$curteam++;
 | 
						|
		} //while i for teams
 | 
						|
		if (count($teamdata) == 0)
 | 
						|
		{
 | 
						|
?>
 | 
						|
	<tr>
 | 
						|
		<td style="background:#EFEFEF;color:black"><?php 
 | 
						|
			echo ' ';  
 | 
						|
?>		</td>
 | 
						|
		<td colspan="11" style="text-align:left;background:#EFEFEF;color:black"><?php 
 | 
						|
			echo "No Players";  
 | 
						|
?>		</td>
 | 
						|
	</tr>
 | 
						|
<?php
 | 
						|
		}
 | 
						|
    ?>
 | 
						|
</table>
 | 
						|
<?php			  	
 | 
						|
	}  // for servers
 | 
						|
}
 | 
						|
?>
 |