и еще забыл вот файл php
<?php
include 'set_db.php';
include 'config.php';
$query = "SELECT * FROM `settings` WHERE `name` = 'online' LIMIT 1 ";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {$on_air = $line['value'];}
// опередляем параметры
$status_ip = $ip;
$status_port = $port;
$status_vivod = 7; // сколько выводить
if ($net_povtorov > $status_vivod) $status_vivod = $net_povtorov; // но не меньше чем нужно для плейлиста на главной
// подключаемся к серверу
$fp2 = fsockopen($status_ip, $status_port, $errno, $errstr, 1); //open connection
if(!$fp2) {
$status_success=2; //set if no connection
}
// если успешно подключились
if($status_success!=2){ //if connection
fputs($fp2,"GET /status2.xsl HTTP/1.0\r\nUser-Agent: Icecast2 XSL Parser (Mozilla Compatible)\r\n\r\n"); //get status2.xsl
while(!feof($fp2)) {
$page .= fgets($fp2, 1000);
}
fclose($fp2); //close connection
$page = ereg_replace(".*<pre>", "", $page); //extract data
$page = ereg_replace("</pre>.*", ",", $page); //extract data
$page = str_replace("\n","",$page);
$rf_ez = file($cf_ezstream);
if ($rf_ez) {for ($i=0; $i<count($rf_ez); $i++) {
if (strpos($rf_ez[$i], '<url>')!==false) {
$cf_ez_url = $rf_ez[$i];}}}
$cf_ez_url = str_replace("</url>","",$cf_ez_url);
$cf_ez_url = str_replace("<url>","",$cf_ez_url);
$cf_ez_url = explode("/",$cf_ez_url);
$cf_ez_url = $cf_ez_url[3];
$cf_ez_url = str_replace("\n","",$cf_ez_url);
$cf_ez_url = trim($cf_ez_url);
$numbers = explode(",/",$page);
unset($numbers[0]);
foreach ($numbers as $value) {
if (isset($full_numbers)) {$full_numbers .= "||$value";} else {$full_numbers = "$value";}
}
$full_numbers = addslashes($full_numbers);
if (!function_exists("iconv")) {echo "Библиотека iconv не установлена.";} else { $full_numbers= iconv('UTF-8','windows-1251' ,$full_numbers); }
if ($full_numbers!="") {
$query="SELECT * FROM `settings` WHERE `name`='listeners' LIMIT 1";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
if ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
$query=" UPDATE `settings` SET `value` = '$full_numbers' WHERE `name`= 'listeners';";
$result=mysql_query($query) or die("Query failed 4: " . mysql_error());;
} else {
$query="INSERT INTO `settings` ( `name` , `value` ) VALUES ('listeners', '$full_numbers');";
$result=mysql_query($query);
}
$query="SELECT * FROM `settings` WHERE `name`='listeners' LIMIT 1";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
$full_numbers = $line['value'];
}
$full_numbers = explode("||",$full_numbers);
foreach ($full_numbers as $value) {
$value = explode(",",$value);
if ($value[0]==$cf_ez_url) {
$status_cur_song = $value[5];
$tochka = $value[0];
}
}
$system_stream = "";
$query="SELECT * FROM `settings` WHERE `name`='stream' LIMIT 1";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
$system_stream = $line['value'];
}
$system_stream = explode(",",$system_stream);
$system_stream[] = $tochka;
$stream = array("");
foreach ($system_stream as $v) {
$stream[] = trim($v);
}
$stream = array_unique($stream);
$listeners = 0;
foreach ($full_numbers as $value) {
$value = explode(",",$value);
foreach ($stream as $v) {
if ($value[0]==$v) {
$listeners = $listeners+$value[3];
}
}
}
}
}
if ($listeners == "" ) { $listeners = 0; }
$status_listeners = $listeners;
//echo "<br>$listeners";
//разделяем артиста и заголовок
preg_match("/^([^$]+) - ([^$]+)$/",$status_cur_song, $matches);
$arr_artist = explode(" - ",$matches[1]);
$seychat[artist] = $arr_artist[1]; // артист
$seychat[title] = $matches[2]; // исполнитель
$status_cur_song = "$seychat[artist] - $seychat[title]";
//echo "$seychat[artist] - $seychat[title]<br>";
// получаем адрес файла
$query = "SELECT * FROM `songlist` WHERE `artist` LIKE '".addslashes($seychat[artist])."' and `title` LIKE '".addslashes($seychat[title])."'";
$update_result = mysql_query($query);
if ($line = mysql_fetch_array($update_result, MYSQL_ASSOC)) {
$update_filename = $line['filename'];
$update_idsong = $line['idsong'];
}
//echo $update_filename;
// получаем последнюю добавленную строку
$status_result = mysql_query("SELECT * FROM `tracklist` ORDER BY `id` DESC LIMIT 10");
$status_title0 = mysql_result($status_result,0,"title");
$update_idsong0 = mysql_result($status_result,0,"idsong");
$update_idsong1 = mysql_result($status_result,1,"idsong");
$update_idsong_id1 = mysql_result($status_result,1,"id");
// Убираем два одинаковых трека
if ($update_idsong1 == $update_idsong0) {
mysql_query(" DELETE FROM `tracklist` WHERE `id` = '$update_idsong_id1' ");
}
//если есть системная константа
$system_symvol = strpos($status_cur_song, $system_symvol);
$time = date("U");
/* отображать live вместо play (если есть подключение к live) */
/*
foreach ($full_numbers as $value) {
$value = explode(",",$value);
if ($value[0]=="live") {
$ssd = explode ("-",$value[5]);
$status_cur_song = $ssd[1]." - ".$ssd[2];
}
}
*/
/* end */
// если проблемы
if ( $status_cur_song == "" ) {
$status_cur_song = "Нет данных";
}
// если прямой эфир
if ( $on_air == "2" ) {
$status_cur_song = "Прямой эфир";
}
// добовляем новую строку
if (($status_title0 != $status_cur_song) and ($system_symvol === false)) {
mysql_query("INSERT INTO `tracklist` ( `title`, `filename`, `idsong`, `time`) VALUES ('".addslashes($status_cur_song)."', '$update_filename', '$update_idsong', '$time')");}
// не допускаем повторы
$net_povtorov_array = array();
$ipp = 0;
$query = "SELECT * FROM `tracklist` ORDER BY `id` DESC LIMIT ".$net_povtorov;
$result = mysql_query($query) or die("Query failed_tl : " . mysql_error());
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
$net_povtorov_array[$ipp] = $line['filename'];
$ipp = $ipp+1;
}
$status_result = mysql_query("SELECT * FROM `tracklist` ORDER BY `id` DESC LIMIT 10");
$t = 0;
while ($line = mysql_fetch_array($status_result, MYSQL_ASSOC)) {
$t_p[$t] = $line['title'];
$t++;
}
$trackplay9 = $t_p[8];
$trackplay8 = $t_p[7];
$trackplay7 = $t_p[6];
$trackplay6 = $t_p[5];
$trackplay5 = $t_p[4];
$trackplay4 = $t_p[3];
$trackplay3 = $t_p[2];
$trackplay2 = $t_p[1]; // то что выше - играло раньше
$trackplay1 = $t_p[0]; // сейчас играет
$dlinna1 = strlen($trackplay1);
$dlinna2 = strlen($trackplay2);
$dlinna3 = strlen($trackplay3);
$dlinna4 = strlen($trackplay4);
$dlinna5 = strlen($trackplay5);
$dlinna6 = strlen($trackplay6);
// Сокращать названия если там больше $obr символов
$obr = 60;
if ($dlinna1 > $obr) {$trackplay1 = substr($trackplay1, 0, $obr); $trackplay1 = $trackplay1.'..';}
if ($dlinna2 > $obr) {$trackplay2 = substr($trackplay2, 0, $obr); $trackplay2 = $trackplay2.'..';}
if ($dlinna3 > $obr) {$trackplay3 = substr($trackplay3, 0, $obr); $trackplay3 = $trackplay3.'..';}
if ($dlinna4 > $obr) {$trackplay4 = substr($trackplay4, 0, $obr); $trackplay4 = $trackplay4.'..';}
if ($dlinna5 > $obr) {$trackplay5 = substr($trackplay5, 0, $obr); $trackplay5 = $trackplay5.'..';}
if ($dlinna6 > $obr) {$trackplay6 = substr($trackplay6, 0, $obr); $trackplay6 = $trackplay6.'..';}
if ($trackplay1 == "" or $trackplay1 == " - ") {$trackplay1 = "Нет данных";}
if ($trackplay2 == "" or $trackplay2 == " - ") {$trackplay2 = "Нет данных";}
if ($trackplay3 == "" or $trackplay3 == " - ") {$trackplay3 = "Нет данных";}
if ($trackplay4 == "" or $trackplay4 == " - ") {$trackplay4 = "Нет данных";}
if ($trackplay5 == "" or $trackplay5 == " - ") {$trackplay5 = "Нет данных";}
if ($trackplay6 == "" or $trackplay6 == " - ") {$trackplay6 = "Нет данных";}
$status_q = mysql_query("SELECT * FROM `tracklist`");
$status_zapisei = mysql_num_rows($status_q);
// удаляем лишнюю строку
mysql_query("DELETE FROM `tracklist` WHERE $status_zapisei>$status_vivod ORDER BY `id` LIMIT 2;");
?>