<?php

// homepage www.samscripts.com/scripts/voxinfo


header("Content-disposition: text/xml");
echo 
'<?xml version="1.0"?>'."\n".'<info>'."\n";

ini_set("track_errors"1);
//$fp = @fopen("http://info.voxtreme.com/index.php","r");
$fp = @fopen("./serverstatus.htm","r");
if( 
$fp ){
    
$txt "";
    
$in "";
    while( (
$txt = @fread($fp4096)) ){
        
$in .= $txt;
    }
    
fclose($fp);

    
$f "|<td><FONT SIZE=1 COLOR=#000000 face='Verdana, Arial, Helvetica, sans-serif'><B>(.*?)</B><BR><I>(.*?)</I></FONT>(<td.*?</FONT></td></tr>)|is";

    
$ff "|<tr bgcolor=\".*?\"><td align=left bgcolor=\".*?\"><FONT SIZE=2 COLOR=.*? face='Verdana, Arial, Helvetica, sans-serif'><B>(.*?)</B>(.*?)</font></td></tr>|is";

    if( 
preg_match_all$ff$in$matches) ){
        for( 
$i 0$i count($matches[1]); $i++){
            
$announcements[$matches[1][$i]] = preg_replace("|^.*?-\s*(.*)|is"'$1',$matches[2][$i]);
        }
    }else{
        
$announcements = array();
    }

    if( 
preg_match_all$f$in$matches) ){
        
$servers = array();
        for( 
$i 0$i count($matches[0]); $i++){
            
$servers[$matches[1][$i]]["ip"] = $matches[2][$i];
            
$m "|.*?/images/(.*?)\.gif.*?|is";
            if( 
preg_match_all($m$matches[3][$i], $statuses) ){
                
$servers[$matches[1][$i]]["status"] = true;
                
$s = &$servers[$matches[1][$i]];
                list(
$s["ftp"], $s["http"], $s["MySql"], $s["pop3"], $s["smtp"]) = $statuses[1];
                
$s["uptime"] = preg_replace("|.*<FONT SIZE=1 COLOR=#000000 face='Verdana, Arial, Helvetica, sans-serif'>(.*?)</FONT></td></tr>|is"'$1'$matches[3][$i]);
            }else{
                
$servers[$matches[1][$i]]["status"] = false;
            }
        }
    }

    if( isset(
$HTTP_GET_VARS["servers"]) ){
        
$sv $HTTP_GET_VARS["servers"];
        
$wantservers explode("-"$sv);
        
$serversearch "/(".join("|"$wantservers).")/i";
    }

    if( isset(
$HTTP_GET_VARS["iwant"]) ){
        
$iwant $HTTP_GET_VARS["iwant"];
    }

    if( !isset(
$iwant) || preg_match("|announcements|i"$iwant) ){
        echo 
"    <announcements>\n";
        foreach( 
$announcements as $date=>$value){
            if( !isset(
$serversearch) || preg_match($serversearch$value) ){
                echo 
"        <announcement date=\"$date\" text=\"$value\" />\n";
            }
        }
        echo 
"    </announcements>\n";
    }

    if( !isset(
$iwant) || preg_match("|servers|i"$iwant) ){
        echo 
"    <servers>\n";
        foreach( 
$servers as $name => $status){
            if( !isset(
$serversearch) || preg_match($serversearch$name) ){
                echo 
"\t\t<server name=\"$name\"";
                foreach( 
$status as $k=>$v) echo " $k=\"".str_replace("\n","",$v)."\"";
                echo 
" />\n";
            } 
        }
        echo 
"    </servers>\n";
    }

}else{

?>
    <error><?php echo urlencode($php_errormsg);?></error>
<?php

}

?>
</info>