' . substr($code,6).''; } $str=strip_tags($str, ''); return $str; } function get_server_list($stripcolors = false) { global $get_server_list_servers; $get_server_list_servers = array(); $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "get_server_list_start_element", "get_server_list_end_element"); if(!xml_parse($xml_parser, file_get_contents( 'http://wrtlprnft.ath.cx/serverlist/serverxml.php' . ($stripcolors ? '?stripcolors' : '')), true)) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } xml_parser_free($xml_parser); return $get_server_list_servers; } function get_server_list_start_element($parser, $name, $attrs) { global $get_server_list_servers; switch($name) { case 'SERVERS': $get_server_list_servers[0] = $attrs['AGE']; break; case 'SERVER': $server = array(); foreach($attrs as $name => $value) { $server[strtolower($name)] = $value; } $server['players'] = array(); $get_server_list_servers[] = $server; break; case 'PLAYER': if(count($get_server_list_servers) == 0) { die('Error in XML file: Player start tag without Server start tag'); } $get_server_list_servers[count($get_server_list_servers) - 1]['players'][] = $attrs['NAME']; break; } } function get_server_list_end_element($parser, $name) { } $serverlist=get_server_list(false); $age=$serverlist['0']; unset($serverlist['0']); //print_r(get_server_list(true)); //print('
');
//print_r($serverlist);
//print('
'); function sabsi ($array, $index, $order='asc', $natsort=FALSE, $case_sensitive=FALSE) { if(is_array($array) && count($array)>0) { foreach(array_keys($array) as $key) $temp[$key]=$array[$key][$index]; if(!$natsort) ($order=='asc')? asort($temp) : arsort($temp); else { ($case_sensitive)? natsort($temp) : natcasesort($temp); if($order!='asc') $temp=array_reverse($temp,TRUE); } foreach(array_keys($temp) as $key) (is_numeric($key))? $sorted[]=$array[$key] : $sorted[$key]=$array[$key]; return $sorted; } return $array; } if (isset($_REQUEST['sort'])) $sort=$_REQUEST['sort']; else $sort="numplayers"; if (isset($_REQUEST['ascdesc'])) $ascdesc=$_REQUEST['ascdesc']; else $ascdesc="desc"; $total_players=0; $total_slots=0; $total_servers=0; $serverlist = sabsi($serverlist, $sort, $ascdesc, true); /*print('
');
print_r($serverlist);
print('
'); */ $table=''; foreach ( $serverlist as $server ){ $description=($server['description']=="")?'No Description.':colourize(mb_convert_encoding($server['description'], "ISO-8859-1", "UTF-8")); $table .='

'; } else { $i=count( $server['players'] ); foreach ( $server['players'] as $onlineplayer ){ $table .= colourize(mb_convert_encoding($onlineplayer, "ISO-8859-1", "UTF-8")); $i--; if ($i != 0) $table .= ',  '; else $table .= '.
'; } } $table .='
' . $xname . '' . colourize(mb_convert_encoding($server['name'], "ISO-8859-1", "UTF-8")) . ' (' . $server['numplayers'] . '/' . $server['maxplayers'] . ')
' . $xplayers . ' '; $total_players+=$server['numplayers']; $total_slots+=$server['maxplayers']; $total_servers++; if ( count( $server['players'] ) ==0 ){ $table .= 'No Online Players.
Click here to view more server details.
' . $xsettings . '' . $description . '
' . $xwebsite . '' . colourize($server['url']) . '
' . $xipaddress . '' . colourize($server['ip']) . ':' . colourize($server['port']) . '
' . $xversion . '' . colourize($server['version']) . '
Click here to view more server details.
' . $xsettings . '' . $description . '
' . $xwebsite . '' . colourize($server['url']) . '
' . $xipaddress . '' . colourize($server['ip']) . ':' . colourize($server['port']) . '
' . $xversion . '' . colourize($server['version']) . '
'; } $table .= ''; print ('
Players Online: ' . $total_players . '
Servers Online: ' . $total_servers . '
Data Age in Seconds: ' . $age . '
'); ?>
Sort Field:
>