$nopad = 1; ?>
include "header.php"; ?>
$username = "oddsock";
$password = "";
$database = "oddsock";
$max_per_page = 10;
$start = $_GET["start"];
$num = $_GET["num"];
$sgenre = $_GET["sgenre"];
$search = $_GET["search"];
$link = mysql_connect("localhost", $username, $password);
mysql_select_db($database);
if ($num) {
$pagesize = $num;
}
else {
$pagesize = $max_per_page;
}
function getPrevLink($current, $pagesize, $rowcounter) {
global $search;
global $sgenre;
if (($current - $pagesize) < 0) {
$prev = -1;
}
else {
$prev = $current - $pagesize;
}
$extra = "";
if ($search) {
$extra .= "&search=".urlencode($search);
}
if ($sgenre) {
$extra .= "&sgenre=".urlencode($sgenre);
}
if ($prev >= 0) {
return "Prev";
}
else {
return "";
}
}
function getNextLink($current, $pagesize, $rowcounter) {
global $search;
global $sgenre;
if ($rowcounter < $pagesize) {
return "";
}
$next = $current + $pagesize;
$extra = "";
if ($search) {
$extra .= "&search=".urlencode($search);
}
if ($sgenre) {
$extra .= "&sgenre=".urlencode($sgenre);
}
return "Next";
}
function getTotalListeners() {
$query = "select sum(listeners) from servers";
$result = mysql_query($query);
if (!$result) {
print "
Mysql Error: ".mysql_error()."!
";
}
$row = mysql_fetch_row($result);
if ($row) {
return $row[0];
}
}
function getTotalServers() {
$query = "select count(*) from server_details";
$result = mysql_query($query);
if (!$result) {
print "Mysql Error: ".mysql_error()."!
";
}
$row = mysql_fetch_row($result);
if ($row) {
return $row[0];
}
}
function buildStreamDescription($listeners, $url, $server_name, $bgcolor) {
$urllink = "";
if ($url != "") {
if (substr($url, 0, 7) != "http://") {
$url = "http://".$url;
}
$urllink = ''.substr($server_name, 0, 60).'';
}
else {
$urllink = ''.substr($server_name, 0, 60).'';
}
$streamLine = '
|
| '.$urllink.' | |
';
return $streamLine;
}
function buildStreamLine($server_name,$listen_url, $genre, $listeners, $description, $current_song, $server_type, $bitrate, $samplerate, $channels, $stream_id, $bgcolor) {
if ($channels == "1") {
$channels = "Mono";
}
if ($channels == "2") {
$channels = "Stereo";
}
$mountpoint = preg_replace("/^http:\/\/.*:.*\//", "/", $listen_url);
$type_link = "$server_type";
if ($server_type == "Ogg Vorbis") {
$type_link = "";
if ($bitrate == "Quality 1@00") {
$bitrate = "";
}
if ($bitrate > 1000) {
$bitrate = "";
}
if ($bitrate == "0") {
$bitrate = "";
}
if ($samplerate == "") {
$samplerate = "";
}
else {
$samplerate = $samplerate."Hz";
}
if ($channels == "") {
$channels = "";
}
if (substr($bitrate, 0, 5) == "Quali") {
$audio_info = $bitrate."
".$samplerate." ".$channels;
}
else {
$audio_info = $bitrate."kbps
".$samplerate." ".$channels;
}
}
if ($server_type == "MP3 audio") {
$type_link = "";
if ($bitrate == "Quality 0") {
$bitrate = "";
}
if ($bitrate == "0") {
$bitrate = "";
}
if ($samplerate == "") {
$samplerate = "";
}
else {
$samplerate = $samplerate."Hz";
}
if ($channels == "") {
$channels = "";
}
$audio_info = $bitrate."kbps
".$samplerate." ".$channels;
}
if (($samplerate == "0") || ($channels == "0")) {
$audio_info = "Unknown";
}
if ($server_name != $description) {
$description_tag = ''.$description.'
';
}
$streamLine = '
'.$type_link.' |
'.$description_tag.'Now playing on '.$mountpoint.' : '.substr($current_song, 0, 100).' |
'.substr($genre, 0, 30).' |
'.$audio_info.' |
';
return $streamLine;
}
?>
$directory_data = '
|
|
|
Streams |
Genre |
Audio Info |
|
|
|
';
$query = "select id, server_name, listeners from servers order by rank desc";
if ($sgenre) {
$query = "select a.id, a.server_name, a.listeners from servers a, server_details b where a.id = b.parent_id and b.genre like '%$sgenre%' group by a.id, a.server_name, a.listeners order by a.rank desc";
}
if ($search) {
$query = "select a.id, a.server_name, a.listeners from servers a, server_details b where a.id = b.parent_id and (a.server_name like '%$search%' or b.description like '%$search%' or b.current_song like '%$search%' or b.genre like '%$search%') group by a.id, a.server_name, a.listeners order by a.rank desc";
}
$result = mysql_query($query);
if (!$result) {
print "Mysql Error: ".mysql_error()."! ";
}
$row_counter = 0;
$printed = 0;
while ($row = mysql_fetch_row($result)) {
$row_counter++;
if ($start) {
if ($row_counter < $start) {
continue;
}
}
if ($pagesize) {
if ($printed >= $pagesize) {
break;
}
}
$id = $row[0];
$server_name = htmlentities($row[1]);
$listeners = $row[2];
$cluster_flag = 0;
if ($cluster_id != "") {
$cluster_flag = 1;
}
if ($swap) {
$swap = 0;
$bgcolor = "#222222";
}
else {
$swap = 1;
$bgcolor = "#444444";
}
if ($cluster_flag) {
$cluster_text = "cluster";
}
else {
$cluster_text = "";
}
if ($server_name != "") {
$all_listeners = $listeners;
$query = "select description, genre, url, current_song, listen_url, server_type, bitrate, samplerate, channels, listeners+0, parent_id, id from server_details where parent_id = $id";
$streamDetailsLine = "";
$result2 = mysql_query($query);
if (!$result2) {
print "Mysql Error: ".mysql_error()."! ";
}
while ($row2 = mysql_fetch_row($result2)) {
$description = htmlentities($row2[0]);
$genre = htmlentities($row2[1]);
$url = $row2[2];
$current_song = htmlentities($row2[3]);
$listen_url = urlencode($row2[4]);
$listen_url_raw = $row2[4];
$server_type = $row2[5];
$bitrate = $row2[6];
$samplerate = $row2[7];
$channels = $row2[8];
$listeners = $row2[9];
$cluster_id = $row2[10];
$stream_id = $row2[11];
$total_listeners = $total_listeners + $listeners;
$streamDetailsLine .= buildStreamLine($server_name, $listen_url_raw, $genre, $listeners, $description, $current_song, $server_type, $bitrate, $samplerate, $channels, $stream_id, $bgcolor);
}
$streamDescriptionLine = buildStreamDescription($all_listeners, $url, $server_name, $bgcolor);
$directory_data .= '
'.$streamDescriptionLine.'
'.$streamDetailsLine.'
';
$printed++;
}
}
$directory_data .= '
|
|
';
$nav_text = '
'.getPrevLink($start, $pagesize, $printed).' |
|
'.getNextLink($start, $pagesize, $printed).' |
';
print 'Click or to listen.';
print $nav_text;
print $directory_data;
print $nav_text;
?>
|
Search
Statistics
Total Servers: print getTotalServers(); ?>
|