SKDzR 1 Опубликовано: 5 ноября 2009 Рассказать Опубликовано: 5 ноября 2009 приветствую всех, у меня такая трабла... вобщем нужно вывести в аудиоплеере интернет вещание радиостанции, но когда пишу ему, например: [audio=http://www.101.ru/asx.asx?uid=40&bit=128&war=1&serv=] то он мне парсит все & на & , а мне это не нужно... сейчас смотрю в inc/addnews.php функцию, делаю так (третья строка): function build_audio($url) { global $config; // $url = $this->clear_url( urldecode( $url ) ); if( $url == "" ) return; if( preg_match( "/[?&%<\[\]]/", $url ) ) { return "[audio=" . $url . "]"; } $list = $url; $url = array (); foreach ( $list as $value ) { $url[] = "{url:'" . trim( $value ) . "'}"; } $url = implode( ", ", $url ); $list = implode( ",", $list ); return "<!--dle_audio_begin:{$list}--><object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" \"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0\ " width=\"425\" height=\"45\"> <param name=\"movie\" value=\"" . $config['http_home_url'] . "engine/classes/flashplayer/flv_player.swf?config={embedded:true,playList:[{$url}], initialScale:'fit',showMenu:false,backgroundColor:'-1',controlsOverVideo:'locked' ,controlBarGloss:'low',controlBarBackgroundColor:0,showFullScreenButton:false,usePlayOverlay:false, showonloadBegin:false,loop:false,autoRewind:true,autoBuffering:false,autoPlay:false}\" /> <param name=\"allowFullScreen\" value=\"true\" /> <param name=\"quality\" value=\"high\" /> <param name=\"bgcolor\" value=\"#000000\" /> <param name=\"wmode\" value=\"transparent\" /> <embed src=\"" . $config['http_home_url'] . "engine/classes/flashplayer/flv_player.swf?config={embedded:true,playList:[{$url}], initialScale:'fit',showMenu:false,backgroundColor:'-1',controlsOverVideo:'locked' ,controlBarGloss:'low',controlBarBackgroundColor:0,showFullScreenButton:false,usePlayOverlay:false, showonloadBegin:false,loop:false,autoRewind:true,autoBuffering:false,autoPlay:false}\" quality=\"high\" bgcolor=\"#000000\" wmode=\"transparent\" allowFullScreen=\"true\" width=\"425\" height=\"45\" align=\"middle\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" /> </object><!--dle_audio_end-->"; } следовательно он перестаёт парсить html объекты, но и перестаёт выводить плеер! просто строка: [audio=http://www.101.ru/asx.asx?uid=40&bit=128&war=1&serv=] Цитата Ссылка на сообщение Поделиться на других сайтах
blaga 39 Опубликовано: 6 ноября 2009 Рассказать Опубликовано: 6 ноября 2009 чисто так, навскидку попробуйте из этой строки if( preg_match( "/[?&%<\[\]]/", $url ) ) { удалить символ &, хотя я не очень уверен. Точнее очень не уверен, но вдруг поможет... Цитата Ссылка на сообщение Поделиться на других сайтах
SKDzR 1 Опубликовано: 6 ноября 2009 Рассказать Опубликовано: 6 ноября 2009 Автор к сожелению тоже самое... обычная строка... [audio=http://www.101.ru/asx.asx?uid=40&bit=128&war=1&serv=] Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 6 ноября 2009 Рассказать Опубликовано: 6 ноября 2009 удалите if( preg_match( "/[?&%<\[\]]/", $url ) ) { return "[audio=" . $url . "]"; }[/code] Но предупреждаю, ваш сайт станет уязвимым от внешних угроз, достаточно будет чтобы вы посмотрели специально сформированный текст Цитата Ссылка на сообщение Поделиться на других сайтах
SKDzR 1 Опубликовано: 7 ноября 2009 Рассказать Опубликовано: 7 ноября 2009 (изменено) Автор уфф... всё бы хорошо... но... теперь при редактирование новости, когда даю ему строку (аудио=...) и отправляю данные, он мне сверху выдаёт Warning: Invalid argument supplied for foreach() in Z:\home\televizop\www\engine\classes\parse.class.php on line 746 Warning: implode(): Bad arguments. in Z:\home\televizop\www\engine\classes\parse.class.php on line 753 но новость сохраняется. когда вижу плеер, нажимаю кнопку плей, плеер затухает (становится тёмненьким и кнопка пауза появляется, но звука нема...) вот функция, которая сейчас у меня (исправленная): function build_audio($url) { global $config; //$url = $this->clear_url( urldecode( $url ) ); if( $url == "" ) return; /*if( preg_match( "/[?;%<\[\]]/", $url ) ) { return "[audio=" . $url . "]"; }*/ $list = $url; $url = array (); foreach ( $list as $value ) { $url[] = "{url:'" . trim( $value ) . "'}"; } $url = implode( ", ", $url ); $list = implode( ",", $list ); return "<!--dle_audio_begin:{$list}--><object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" \"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0\" width=\"425\" height=\"45\"> <param name=\"movie\" value=\"" . $config['http_home_url'] . "engine/classes/flashplayer/flv_player.swf?config={embedded:true,playList:[{$url}],initialScale:'fit',showMenu:false,backgroundColor:'-1',controlsOverVideo:'locked',controlBarGloss:'low',controlBarBackgroundColor:0,showFullScreenButton:false,usePlayOverlay:false,showOnLoadBegin:false,loop:false,autoRewind:true,autoBuffering:false,autoPlay:false}\" /> <param name=\"allowFullScreen\" value=\"true\" /> <param name=\"quality\" value=\"high\" /> <param name=\"bgcolor\" value=\"#000000\" /> <param name=\"wmode\" value=\"transparent\" /> <embed src=\"" . $config['http_home_url'] . "engine/classes/flashplayer/flv_player.swf?config={embedded:true,playList:[{$url}],initialScale:'fit',showMenu:false,backgroundColor:'-1',controlsOverVideo:'locked',controlBarGloss:'low',controlBarBackgroundColor:0,showFullScreenButton:false,usePlayOverlay:false,showOnLoadBegin:false,loop:false,autoRewind:true,autoBuffering:false,autoPlay:false}\" quality=\"high\" bgcolor=\"#000000\" wmode=\"transparent\" allowFullScreen=\"true\" width=\"425\" height=\"45\" align=\"middle\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" /> </object><!--dle_audio_end-->"; } а когда смотрю исходный код, то там вобще пути нет... flv_player.swf?config={embedded:true,playList:[],initialScale:'fit' вот так.. help me Изменено 7 ноября 2009 пользователем SKDzR Цитата Ссылка на сообщение Поделиться на других сайтах
SKDzR 1 Опубликовано: 8 ноября 2009 Рассказать Опубликовано: 8 ноября 2009 Автор всем спасибо, проблему решил путём замены и немного редактирования build-ов аудио и видео из 8.3 в 8.2 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.