Go Back   Winamp Forums > SHOUTcast > SHOUTcast Site Design,Widgets and Toolbar

 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old 1st March 2011, 12:38   #7
MADxHAWK
Senior Member
 
Join Date: Jan 2010
Posts: 182
Hi,

if you have access to the admin.cgi of the DNAS you could use this script:


PHP Code:
<?php
/**
 *
 * @package:    shoutcast
 * @version:    $Id: shoutcast.php 4 2011-12-02 17:27:36Z MADxHAWK $
 * @copyright:    (c) 2010 by Martin H. (madxhawk@radio-blackpearl.de)
 * @licence:    ***91;url***93;http://opensource.org/licenses/gpl-license.php***91;/url***93; GNU Public License
 *
 */

// ----------------------------------------------------------------------------
// You need to change data to your specific use
// ----------------------------------------------------------------------------
$useragent    "Mozilla (DNAS 2 Statuscheck)";
$sc_host    '127.0.0.1';
$sc_port    '8000';
$sc_user    'admin';
$sc_pass    'your_pass_here';
$sc_sid        '1';


// ----------------------------------------------------------------------------
// DO NOT EDIT
// ----------------------------------------------------------------------------

//init curl connection
$ch curl_init($sc_host '/admin.cgi?mode=viewxml&sid=$sc_sid');

// set curl connection parameter
curl_setopt($chCURLOPT_PORT$sc_port);
curl_setopt($chCURLOPT_USERAGENT$useragent);
curl_setopt($chCURLOPT_TIMEOUT5);
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_setopt($chCURLOPT_HTTPAUTHCURLAUTH_BASIC);
curl_setopt($chCURLOPT_USERPWD$sc_user ':' $sc_pass);

// connect to shoutcastserver
$curl curl_exec($ch);

// now get the xml data
if ($curl)
{
    
$xml = @simplexml_load_string($curl);

    
$dnas_data = array (
        
'CURRENTLISTENERS'    => (string)$xml->CURRENTLISTENERS,
        
'PEAKLISTENERS'        => (string)$xml->PEAKLISTENERS,
        
'MAXLISTENERS'        => (string)$xml->MAXLISTENERS,
        
'REPORTEDLISTENERS'    => (string)$xml->REPORTEDLISTENERS,
        
'AVERAGETIME'        => (string)$xml->AVERAGETIME,
        
'SERVERGENRE'        => (string)$xml->SERVERGENRE,
        
'SERVERURL'            => (string)$xml->SERVERURL,
        
'SERVERTITLE'        => (string)$xml->SERVERTITLE,
        
'SONGTITLE'            => (string)$xml->SONGTITLE,
        
'NEXTTITLE'            => (string)$xml->NEXTTITLE,
        
'SONGURL'            => (string)$xml->SONGURL,
        
'IRC'                => (string)$xml->IRC,
        
'ICQ'                => (string)$xml->ICQ,
        
'AIM'                => (string)$xml->AIM,
        
'STREAMHITS'        => (string)$xml->STREAMHITS,
        
'STREAMSTATUS'        => (string)$xml->STREAMSTATUS,
        
'BITRATE'            => (string)$xml->BITRATE,
        
'CONTENT'            => (string)$xml->CONTENT,
        
'VERSION'            => (string)$xml->VERSION,
    );

    
// Get Listeners and Songhistory
    
if ($dnas_data***91;'STREAMSTATUS'***93; == 1)
    {
        
// store listener in array
        
foreach ($xml->LISTENERS->LISTENER as $listener)
        {
            
$sc_data***91;'LISTENERS'***93;***91;***93; = array(
                
'HOSTNAME' => (string) $listener->HOSTNAME,
                
'USERAGENT' => (string) $listener->USERAGENT,
                
'CONNECTTIME' => (string) $listener->CONNECTTIME,
                
'POINTER' => (string) $listener->POINTER,
                
'UID' => (string) $listener->UID,
            );
        }

        
// store songhistory in array
        
foreach ($xml->SONGHISTORY->SONG as $song)
        {
            
$sc_data***91;'SONGHISTORY'***93;***91;***93; = array(
                
'PLAYEDAT' => (string) $song->PLAYEDAT,
                
'TITLE' => (string) $song->TITLE,
            );
        }
    }
}
else
{
    
$dnas_data = array('ERROR' => 'Could not connect to dnas-server!');
}
?>
EDIT: Looks like theres a problem with the php tag.
***91; have to be changed to [
***93; have to be changed to ]

This script reads all infos from the xml-file generatet by DNAS and make them available as an array. you can simply include the file in your current php website.

If you want to view the current song you can access it by


Quote:
echo dnas_data['SONGTITLE'];

Hope that helps


EDIT: the php CURL-Lib must be installed, but thats this lib afaik is standard on php 5 and higher installations.

Greeting
MAD
MADxHAWK is offline   Reply With Quote
 
Go Back   Winamp Forums > SHOUTcast > SHOUTcast Site Design,Widgets and Toolbar

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump