you got me..shoutclass.php, I dont see where the error is atg or the info for that matter..
<?php
/*
+---------------------------------------------------
| > Radio Display functions module
| > Module written by Andrew Roberts
| > Date started: 26th September 2004
|
| > Made for :
http://www.scousemp3s.co.uk
| > Module Version Number: 1.2.0
+---------------------------------------------------
| Modified to work with phpBB by DtTvB |
+------------------------------------------+
*/
if ( !defined('IN_PHPBB') )
{
die("Hacking attempt!");
}
class shoutcast {
// Public
var $host;
var $port;
var $passwd;
var $sc_stat = array();
//Private
var $_xml;
var $_error;
function set_host($host) {
$this->host="http://$host/";
}
function set_port($port) {
$this->port=$port;
}
function set_passwd($password) {
$this->passwd=$password;
}
function get_status() {
$fp = fsockopen($this->host, $this->port, $errno, $errstr, 3);
if (!$fp) {
$this->_error = "$errstr ($errno)";
return(0);
} else {
fputs($fp, "GET /admin.cgi?pass=".$this->passwd."&mode=viewxml HTTP/1.0\r\n");
fputs($fp, "User-Agent: Mozilla\r\n\r\n");
while (!feof($fp)) {
$this->_xml .= fgets($fp, 512);
}
fclose($fp);
if (stristr($this->_xml, "HTTP/1.0 200 OK") == true) {
// <-H> Thanks to Blaster for this fix.. trim();
$this->_xml = trim(substr($this->_xml, 42));
} else {
$this->_error = "Bad login";
return(0);
}
$xmlparser = xml_parser_create();
if (!xml_parse_into_struct($xmlparser, $this->_xml, $this->_values, $this->_indexes)) {
$this->_error = "Unparsable XML";
return(0);
}
xml_parser_free($xmlparser);
$this->sc_stat['current_listeners_count'] = $this->GetCurrentListenersCount();
$this->sc_stat['peak_listeners_count'] = $this->GetPeakListenersCount();
$this->sc_stat['max_listeners'] = $this->GetMaxListenersCount();
$this->sc_stat['reported_listeners_count'] = $this->GetReportedListenersCount();
$this->sc_stat['average_listen_time'] = $this->GetAverageListenTime();
$this->sc_stat['genre'] = $this->GetServerGenre();
$this->sc_stat['server_url'] = $this->GetServerURL();
$this->sc_stat['server_title'] = $this->GetServerTitle();
$this->sc_stat['playing_song'] = $this->GetCurrentSongTitle();
$this->sc_stat['server_irc'] = $this->GetIRC();
$this->sc_stat['server_aim'] = $this->GetAIM();
$this->sc_stat['server_icq'] = $this->GetICQ();
$this->sc_stat['web_hits'] = $this->GetWebHitsCount();
$this->sc_stat['stream_hits'] = $this->GetStreamHitsCount();
$this->sc_stat['stream_status'] = $this->GetStreamStatus();
$this->sc_stat['broadcasting'] = $this->GetStreamStatus();
$this->sc_stat['stream_bitrate'] = $this->GetBitRate();
$this->sc_stat['song_history_array'] = $this->GetSongHistory();
$this->sc_stat['listeners_array'] = $this->GetListeners();
$this->sc_star['error'] = $this->geterror();
return(1);
}
}
function GetCurrentListenersCount() {
return($this->_values[$this->_indexes["CURRENTLISTENERS"][0]]["value"]);
}
function GetPeakListenersCount() {
return($this->_values[$this->_indexes["PEAKLISTENERS"][0]]["value"]);
}
function GetMaxListenersCount() {
return($this->_values[$this->_indexes["MAXLISTENERS"][0]]["value"]);
}
function GetReportedListenersCount() {
return($this->_values[$this->_indexes["REPORTEDLISTENERS"][0]]["value"]);
}
function GetAverageListenTime() {
return($this->_values[$this->_indexes["AVERAGETIME"][0]]["value"]);
}
function GetServerGenre() {
return($this->_values[$this->_indexes["SERVERGENRE"][0]]["value"]);
}
function GetServerURL() {
return($this->_values[$this->_indexes["SERVERURL"][0]]["value"]);
}
function GetServerTitle() {
return($this->_values[$this->_indexes["SERVERTITLE"][0]]["value"]);
}
function GetCurrentSongTitle() {
return($this->_values[$this->_indexes["SONGTITLE"][0]]["value"]);
}
function GetIRC() {
return($this->_values[$this->_indexes["IRC"][0]]["value"]);
}
function GetAIM() {
return($this->_values[$this->_indexes["AIM"][0]]["value"]);
}
function GetICQ() {
return($this->_values[$this->_indexes["ICQ"][0]]["value"]);
}
function GetWebHitsCount() {
return($this->_values[$this->_indexes["WEBHITS"][0]]["value"]);
}
function GetStreamHitsCount() {
return($this->_values[$this->_indexes["STREAMHITS"][0]]["value"]);
}
function GetStreamStatus() {
return($this->_values[$this->_indexes["STREAMSTATUS"][0]]["value"]);
}
function GetBitRate() {
return($this->_values[$this->_indexes["BITRATE"][0]]["value"]);
}
function GetSongHistory() {
for($i=1;$i<sizeof($this->_indexes['TITLE']);$i++) {
$arrhistory[$i-1] = array(
'date' => $this->_values[$this->_indexes['PLAYEDAT'][$i]]['value'],
'title' => $this->_values[$this->_indexes['TITLE'][$i]]['value']
);
}
return($arrhistory);
}
function GetListeners() {
for($i=0;$i<sizeof($this->_indexes['USERAGENT']);$i++) {
$arrlisteners[$i] = array(
'hostname' => $this->_values[$this->_indexes['HOSTNAME'][$i]]['value'],
'useragent' => $this->_values[$this->_indexes['USERAGENT'][$i]]['value'],
'underruns' => $this->_values[$this->_indexes['UNDERRUNS'][$i]]['value'],
'connecttime' => $this->_values[$this->_indexes['CONNECTTIME'][$i]]['value'],
'pointer' => $this->_values[$this->_indexes['POINTER'][$i]]['value'],
'uid' => $this->_values[$this->_indexes['UID'][$i]]['value'],
);
}
return($arrlisteners);
}
function geterror() { return($this->_error); }
}
?>