- Совместимость
- не проверялся на совместимость
- Изменения в БД
- не требуются
- Автор
- frost444
- Общественное достояние
- да
Описание: добавляет возможность пользователем прослушивать радио со сторонних сервисов или своего IceCast.
Возможности:
Возможности:
- Вывод списка радиостанций на сервере
- Возможность смены станции без перезагрузки страницы (AJAX)
- Плеер на HTML5
- Инструкция по установке
-
PHP:
Автор мода: frost444 //-----[Обновления]-----\\ |--(00.00.0000) 1) измененный код: --- 2) --- info: (1) --- \\-----[Обновления]-----// ####[ОТКРЫТЬ]----- config.php $bb_cfg['radio'] = array( 'on' => false, 'url' => 'http://127.0.0.1:8000', ); ####[СОХРАНИТЬ_ФАЙЛ]#### ####[ОТКРЫТЬ]----- functions.php function radio_grab($string, $start, $end) { $string = " ".$string; $ini = strpos($string,$start); if ($ini == 0) return ""; $ini += strlen($start); $len = strpos($string,$end,$ini) - $ini; return substr($string,$ini,$len); } function sct_radio_gb($string, $start, $end) { $string = " ".$string; $ini = strpos($string,$start); if ($ini == 0) return ""; $ini += strlen($start); $len = strpos($string,$end,$ini) - $ini; return substr($string,$ini,$len); } ####[СОХРАНИТЬ_ФАЙЛ]#### ####[ОТКРЫТЬ]----- index.php -----[найти]----- $user->session_start(); -----[после вставить]----- if($bb_cfg['radio']['on']) { $radio = 'record'; $data = @file_get_contents(''.$bb_cfg['radio']['url'].'/status.xsl?mount=/'.$radio.'.mp3'); if($data) { $select_data = file_get_contents(''.$bb_cfg['radio']['url'].'/status.xsl') ? : ''; $content_sel = $content = array(); preg_match_all ('#Stream Title:</td>\n<td class="streamdata">(.*?)</td>#si', $select_data, $content, PREG_PATTERN_ORDER) ? : ''; preg_match_all ('#<h3>Mount Point /(.*?).mp3</h3>#si', $select_data, $content_sel, PREG_PATTERN_ORDER) ? : ''; $all=count($content[1]); if ($all) { for ($i=0; $i<$all; $i++) { $template->assign_block_vars('select_radio', array( 'NAME' => $content[1][$i], 'SELECT' => $content_sel[1][$i], )); } } $template -> assign_vars(array( 'RADIO_ON' => true, )); $title = radio_grab($data, "Stream Title:</td>\n<td class=\"streamdata\">","</td>") ? : '-'; $bitrate = radio_grab($data, "Bitrate:</td>\n<td class=\"streamdata\">","</td>") ? : '-'; $janr = radio_grab($data, "Stream Genre:</td>\n<td class=\"streamdata\">","</td>") ? : '-'; $site = radio_grab($data, "Stream URL:</td>\n<td class=\"streamdata\">","</td>") ? : '-'; $track = radio_grab($data, "Current Song:</td>\n<td class=\"streamdata\">","</td>") ? : '-'; $template->assign_block_vars('radio', array( 'TITLE' => $title, 'BIT_RATE' => $bitrate, 'JANR' => $janr, 'SITE' => $site, 'TRACK' => $track ? : '-', 'WINDOWS' => "<a href=\"".seo_url('radio.php?name='.$radio.'',$radio)."\" target=\"_blank\" \onclick=\"window.open(this.href, '', 'height=260, resizable=yes, scrollbars=yes ,width=270'); return false;\">В окне</a>", 'DOWNLOAD' => '<a href="'.$bb_cfg['radio']['url'].'/'.$radio.'.mp3.m3u">Скачать</a>', 'FLASH' => ''.$bb_cfg['radio']['url'].'/'.$radio.'.mp3', )); }else{ $template -> assign_vars(array( 'RADIO_ON' => false, )); } } ####[СОХРАНИТЬ_ФАЙЛ]####