<?php
include("shoutcast.class.php");
function ConvertSeconds($seconds) {
$tmpseconds = substr("00".$seconds % 60, -2);
if ($seconds > 59) {
if ($seconds > 3599) {
$tmphours = substr("0".intval($seconds / 3600), -2);
$tmpminutes = substr("0".intval($seconds / 60 - (60 * $tmphours)), -2);
return ($tmphours.":".$tmpminutes.":".$tmpseconds);
} else {
return ("00:".substr("0".intval($seconds / 60), -2).":".$tmpseconds);
}
} else {
return ("00:00:".$tmpseconds);
}
}
$shoutcast = new ShoutCast();
$shoutcast->host = "localhost";
$shoutcast->port = 8000;
$shoutcast->passwd = "YOURPASSWORDGOESHERE";
if ($shoutcast->openstats()) {
// We got the XML, gogogo!..
if ($shoutcast->GetStreamStatus()) {
echo "<b>".$shoutcast->GetServerTitle()."</b> (".$shoutcast->GetCurrentListenersCount()." of ".$shoutcast->GetMaxListenersCount()." listeners, peak: ".$shoutcast->GetPeakListenersCount().")<p>\n\n";
echo "<table border=0 cellpadding=0 cellspacing=0>\n";
echo "<tr><td width=\"180\"><b>Server Genre: </b></td><td>".$shoutcast->GetServerGenre()."</td></tr>\n";
echo "<tr><td><b>Server URL: </b></td><td><a href=\"".$shoutcast->GetServerURL()."\">".$shoutcast->GetServerURL()."</a></td></tr>\n";
echo "<tr><td><b>Server Title: </b></td><td>".$shoutcast->GetServerTitle()."</td></tr><tr><td colspan=2> </td></tr>\n";
echo "<tr><td><b>Current Song: </b></td><td>".$shoutcast->GetCurrentSongTitle()."</td></tr>\n";
echo "<tr><td><b>BitRate: </b></td><td>".$shoutcast->GetBitRate()."</td></tr><tr><td colspan=2> </td></tr>\n";
echo "<tr><td><b>Average listen time: </b></td><td>".ConvertSeconds($shoutcast->GetAverageListenTime())."</td></tr><tr><td colspan=2> </td></tr>\n";
echo "<tr><td><b>IRC: </b></td><td>".$shoutcast->GetIRC()."</td></tr>\n";
echo "<tr><td><b>AIM: </b></td><td>".$shoutcast->GetAIM()."</td></tr>\n";
echo "<tr><td><b>ICQ: </b></td><td>".$shoutcast->GetICQ()."</td></tr><tr><td colspan=2> </td></tr>\n";
echo "<tr><td><b>WebHits Count: </b></td><td>".$shoutcast->GetWebHitsCount()."</td></tr>\n";
echo "<tr><td><b>StreamHits Count: </b></td><td>".$shoutcast->GetStreamHitsCount()."</td></tr>\n";
echo "</table><p>";
echo "<b>Song history;</b><br>\n";
$history = $shoutcast->GetSongHistory();
if (is_array($history)) {
for ($i=0;$i<sizeof($history);$i++) {
echo "[".$history[$i]["playedat"]."] - ".$history[$i]["title"]."<br>\n";
}
} else {
echo "No song history available..";
}
echo "<p>";
echo "<b>Listeners;</b><br>\n";
$listeners = $shoutcast->GetListeners();
if (is_array($listeners)) {
for ($i=0;$i<sizeof($listeners);$i++) {
echo "[".$listeners[$i]["uid"]."] - ".$listeners[$i]["hostname"]." using ".$listeners[$i]["useragent"].", connected for ".ConvertSeconds($listeners[$i]["connecttime"])."<br>\n";
}
} else {
echo "Noone listens right now..";
}
} else {
echo "Server is up, but no stream available..";
}
} else {
// Ohhh, damnit..
echo $shoutcast->geterror();
}
?>
|