<?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();
 
}
 
?>
 
 |