\n";
switch ($Elem){
//for each case, we are putting some data into a variable.
case 'CURRENTLISTENERS':
$listeners['CURRENT'] = $Data['CURRENTLISTENERS'];
break;
case 'PEAKLISTENERS':
$listeners['PEAK'] = $Data['PEAKLISTENERS'];
break;
case 'MAXLISTENERS':
$listeners['MAX'] = $Data['MAXLISTENERS'];
break;
case 'AVERAGETIME':
$listeners['AVERAGETIME'] = $Data['AVERAGETIME'];
break;
case 'SERVERGENRE':
$server['GENRE'] = $Data['SERVERGENRE'];
break;
case 'SERVERURL':
$server['URL'] = $Data['SERVERURL'];
break;
case 'SERVERTITLE':
$server['TITLE'] = $Data['SERVERTITLE'];
break;
case 'SERVERURL':
$server['SERVERURL'] = $Data['SERVERURL'];
break;
case 'SONGTITLE':
$song['TITLE'] = $Data['SONGTITLE'];
break;
case 'ICQ':
$dj['ICQ'] = $Data['ICQ'];
break;
case 'AIM':
$dj['AIM'] = $Data['AIM'];
break;
case 'BITRATE':
$server['BITRATE'] = $Data['BITRATE'];
break;
case 'SONG':
$wee = $wee+1;
break;
case 'PLAYEDAT':
$song[$wee]['PLAYEDAT'] = $Data['PLAYEDAT'];
break;
case 'TITLE':
$song[$wee]['TITLE'] = $Data['TITLE'];
break;
}
}
//open connection
$fp = fsockopen("$host", $port, &$errno, &$errstr, 30);
if (!$fp) {
echo "Connection to server could not be established!
";
}
else {
//request xml
fputs($fp,"GET /admin.cgi?pass=".$password."&mode=viewxml&page=0 HTTP/1.0\nUser-Agent: Mozilla Compatible\n\n");
while(!feof($fp)) {
//put xml into $Data
$Contents .= fgets($fp, 1000);
}
}
//close connection
fclose($fp);
$Contents = str_replace('HTTP/1.0 200 OK','', $Contents);
$Contents = str_replace('Content-Type:text/xml','', $Contents);
$Contents = str_replace("\n",'', $Contents);
$Contents = str_replace("\r",'', $Contents);
$Contents = preg_replace('/(&|&)/i', '&', $Contents);
$Contents = preg_replace('/[^\x20-\x7E\x09\x0A\x0D]/', "\n", $Contents);
$Data = array();
// Initialize the parser.
$Parser = xml_parser_create('ISO-8859-1');
xml_set_element_handler($Parser, 'StartHandler', 'EndHandler');
xml_set_character_data_handler($Parser, 'CharacterHandler');
//Pass the content string to the parser.
if (!xml_parse($Parser, $Contents)) {
$Probs[] = "$URI$Sym\n Had problem parsing file:\n "
. xml_error_string(xml_get_error_code($Parser));
}
if (isset($Probs)) {
echo implode("\n", $Probs);
}
//Output
$listeners['AVERAGETIME'] = $listeners[AVERAGETIME]/60;
$wee = $wee -1;
echo "
| Current | |
| Stream title: | $server[TITLE] |
| Song: | $song[TITLE] |
| Listeners: | $listeners[CURRENT]/$listeners[MAX] |
| Bitrate: | $server[BITRATE]Kbit |
| DJ | |
| AIM: | $dj[AIM] |
| ICQ | $dj[ICQ] |
| Records | |
| Peak listeners: | $listeners[PEAK] |
| Average Time: | $listeners[AVERAGETIME] Mins |
| Last $wee | |
| $i. ".$song[$i][TITLE]." | |