Перейти к публикации

Рекомендованные сообщения

приветствую всех, у меня такая трабла... вобщем нужно вывести в аудиоплеере интернет вещание радиостанции, но когда пишу ему, например:

[audio=http://www.101.ru/asx.asx?uid=40&bit=128&war=1&serv=]
то он мне парсит все
&
на
&amp
, а мне это не нужно... сейчас смотрю в 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=]

Ссылка на сообщение
Поделиться на других сайтах

чисто так, навскидку попробуйте из этой строки

 if( preg_match( "/[?&%<\[\]]/", $url ) ) {

удалить символ &, хотя я не очень уверен. Точнее очень не уверен, но вдруг поможет... :huh:

Ссылка на сообщение
Поделиться на других сайтах

удалите

                if( preg_match( "/[?&%<\[\]]/", $url ) ) {

return "[audio=" . $url . "]";
}[/code]

Но предупреждаю, ваш сайт станет уязвимым от внешних угроз, достаточно будет чтобы вы посмотрели специально сформированный текст

Ссылка на сообщение
Поделиться на других сайтах

уфф... всё бы хорошо... но... теперь при редактирование новости, когда даю ему строку (аудио=...) и отправляю данные, он мне сверху выдаёт

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'

вот так.. :unsure: help me :(

Изменено пользователем SKDzR
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...