DanzI 0 Опубликовано: 1 декабря 2008 Рассказать Опубликовано: 1 декабря 2008 1. прописал в шаблоне Код <!-- Вывод статуса радио --> <?php include "radioplugin.php";?> <!-- Вывод статуса радио --> 2. сделал файл Код <?php $portradio="8050"; // Порт сервера $ipradio="192.168.0.77"; // IP адрес сервера $fp = @fsockopen($ipradio, $portradio, $errno, $errstr, 1); if($fp >= 1){ $radiostatus = include "advanced.php";} else{ $radiostatus = include "offline.php"; } ?> 3.Мой код advanced.php Код <?php $server = "ИП:8000"; $user = "УСЕР"; $passw = "ПАСС"; $mountpoint = "/МОУНТ"; $fp = fopen("http://$user:$passw@$server/admin/stats","r") or die("Error reading Icecast data from $server."); while(!feof($fp)) { $data .= fread($fp, 8192); } fclose($fp); // Now parse the XML output for our mountpoint $xml_parser = xml_parser_create(); xml_parse_into_struct($xml_parser, $data, $vals, $index); xml_parser_free($xml_parser); $params = array(); $level = array(); foreach ($vals as $xml_elem) { if ($xml_elem['type'] == 'open') { if (array_key_exists('attributes',$xml_elem)) { list($level[$xml_elem['level']],$extra) = array_values($xml_elem['att ributes']); } else { $level[$xml_elem['level']] = $xml_elem['tag']; } } if ($xml_elem['type'] == 'complete') { $start_level = 1; $php_stmt = '$params'; while($start_level < $xml_elem['level']) { $php_stmt .= '[$level['.$start_level.']]'; $start_level++; } $php_stmt .= '[$xml_elem[\'tag\']] = $xml_elem[\'value\'];'; eval($php_stmt); } } $listeners = $params['ICESTATS'][$mountpoint]['LISTENERS']; $currenttrack = $params['ICESTATS'][$mountpoint]['TITLE']; echo " <center> $listeners listeners are currently connected. <br /> Currently playing: $currenttrack </center>"; ?> Ну вообщем работает все кроме 1 не выводит переменные а именно айс каста... может гдето надо еще чтото прописать ? Выглядит так модуль на странице ------------ listeners are currently connected. Currently playing: ------------------------------------------------------ П.с я проверил только что на ПХП нюк... скрит рабочий... все выводит... на дле переменных нет... Что делать ? Цитата Ссылка на сообщение Поделиться на других сайтах
DanzI 0 Опубликовано: 3 декабря 2008 Рассказать Опубликовано: 3 декабря 2008 Автор Извините ... может знает кто ? ... просто все молчат ((( Цитата Ссылка на сообщение Поделиться на других сайтах
flo.mAster 7 Опубликовано: 7 декабря 2008 Рассказать Опубликовано: 7 декабря 2008 1. Создаём файл icecast_stats.php в engine/modules Содержимое icecast_stats.php: <?php $login = "Логин"; $password = "Пароль"; $ip = "IP адрес сервера или имя домена"; $port = "Порт"; $mountpoint = "/маунт"; $content = file_get_contents("http://".$login.":".$password."@".$ip.":".$port."/admin/stats.xsl"); $pattern = "|<td><h3>Mount Point (.*?)</h3></td>.*?<tr>\n<td width=\"130\">listeners</td>\n<td class=\"streamdata\">(.*?)</td>\n</tr>.*?<tr>\n<td width=\"130\">title</td>\n<td class=\"streamdata\">(.*?)</td>\n</tr>|is"; preg_match_all($pattern,$content,$out); for($i = 0; $i < count($out[1]); $i++) { if($out[1][$i] == $mountpoint) { $listeners = $out[2][$i]; $current_track = $out[3][$i]; } } $icecast_stats = <<<HTML <center> {$listeners} listeners are currently connected. <br /> Currently playing: {$current_track} </center> HTML; ?> 2. Открываем index.php Ищем: require_once ROOT_DIR.'/engine/init.php'; Ниже вставляем: require_once ROOT_DIR.'/engine/modules/icecast_stats.php'; Ищем: $tpl->set('{topnews}',$topnews); Ниже вставляем: $tpl->set('{icecast}',$icecast_stats); В main.tpl вставляйте в нужное место {icecast} Набросал побыстрому. Проверяйте. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.