Хак Вставка плейлистов в плеер uppod

Тема в разделе "DLE", создана пользователем Sergo_Sev, 19 июн 2011.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. Sergo_Sev

    Sergo_Sev Творец

    Регистр.:
    14 июн 2008
    Сообщения:
    571
    Симпатии:
    187
    Помогите подправить код, что бы при вставке файла с расширением .txt вставлялся код плеера с таким куском video.txt&pl=***.txt (изначать код вставлятся так video.txt&file=***.mp4 )

    Пробовал сам доработать, но получается какая то хрень

    PHP:
        function build_video($url) {
            global 
    $config;
            
            
    $option explode"|"trim$url ) );
            
            
    $url $this->clear_urlurldecode$option[0] ) );
            
            
    $type explode"."$url );
            
    $type strtolowerend$type ) );
            
            if( 
    preg_match"/[?&;%<\[\]]/"$url ) ) {
                
                return 
    "[video=" $url "]";
            
            }
            
            if( 
    $option[1] != "" ) {
                
                
    $option[1] = htmlspecialcharsstrip_tagsstripslashes$option[1] ) ), ENT_QUOTES );
                
    $decode_url $url "|" $option[1];
            
            } else
                
    $decode_url $url;
            
            if( 
    $type == "flv" or $type == "mp4" or $type == "m4v" or $type == "m4a") {
                
                if( 
    $config['flv_watermark'] ) $watermark ",showWatermark:'always',watermarkUrl:'{THEME}/dleimages/flv_watermark.png',watermarkLinkUrl:''";
                else 
    $watermark "";
                
    $id_player md5microtime() );
                
                
    $list explode","$url );
                
    $url = array ();
                
                foreach ( 
    $list as $value ) {
                    
                    
    $url[] = trim$value ) . "";
                
                }
                
                
    $url implode", "$url );
                
    $url2=$url;
                    return 
    "<!--dle_video_begin:{$url}--><object type=\"application/x-shockwave-flash\" data=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" width=\"500\" height=\"375\"><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowScriptAccess\" value=\"always\" /><param name=\"movie\" value=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" /><param name=\"flashvars\" value=\"comment=Stream-video&st={$config['http_home_url']}engine/classes/flashplayer/video.txt&file=$url2\" /></object><!--dle_video_end-->";
            
            } elseif( 
    $type == "avi") {
                
                    return 
    "<!--dle_video_begin:{$url}--><object type=\"application/x-shockwave-flash\" data=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" width=\"500\" height=\"375\"><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowScriptAccess\" value=\"always\" /><param name=\"movie\" value=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" /><param name=\"flashvars\" value=\"comment=Stream-video&st={$config['http_home_url']}engine/classes/flashplayer/video.txt&file=$url2\" /></object><!--dle_video_end-->";
            
            } else {
                
                    return 
    "<!--dle_video_begin:{$url}--><object type=\"application/x-shockwave-flash\" data=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" width=\"500\" height=\"375\"><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowScriptAccess\" value=\"always\" /><param name=\"movie\" value=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" /><param name=\"flashvars\" value=\"comment=Stream-video&st={$config['http_home_url']}engine/classes/flashplayer/video.txt&file=$url2\" /></object><!--dle_video_end-->";
            }
        
        }
     
  2. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.241
    Симпатии:
    832
    смотри код наподобии
    PHP:
            } elseif( $type == "avi" OR $type == "divx" OR $type == "mkv" ) {

                
    $url htmlspecialcharstrim$url ) , ENT_QUOTES );            

                return 
    "<!--dle_video_begin:{$decode_url}--><object classid=\"clsid:67DABFBF-D0AB-41fa-9C46-CC0F21721616\" width=\"{$this->video_config['width']}\" height=\"{$this->video_config['height']}\" codebase=\"http://go.divx.com/plugin/DivXBrowserPlugin.cab\">
                    <param name=\"custommode\" value=\"none\" />
                    <param name=\"mode\" value=\"zero\" />
                    <param name=\"autoPlay\" value=\"
    {$this->video_config['play']}\" />
                    <param name=\"minVersion\" value=\"2.0.0\" />
                    <param name=\"src\" value=\"
    {$url}\" />
                    <param name=\"previewImage\" value=\"
    {$option[1]}\" />
                    <embed type=\"video/divx\" src=\"
    {$url}\" custommode=\"none\" width=\"{$this->video_config['width']}\" height=\"{$this->video_config['height']}\" mode=\"zero\"  autoPlay=\"{$this->video_config['play']}\" previewImage=\"{$option[1]}\" minVersion=\"2.0.0\" pluginspage=\"http://go.divx.com/plugin/download/\">
                    </embed>
                    </object><!--dle_video_end-->"
    ;
            
            } else {

                
    $url htmlspecialcharstrim$url ) , ENT_QUOTES );
                
                return 
    "<!--dle_video_begin:{$url}--><object id=\"mediaPlayer\" width=\"{$this->video_config['width']}\" height=\"{$this->video_config['height']}\" classid=\"CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6\" standby=\"Loading Microsoft Windows Media Player components...\" type=\"application/x-oleobject\">
                    <param name=\"url\" VALUE=\"
    {$url}\" />
                    <param name=\"autoStart\" VALUE=\"
    {$this->video_config['play']}\" />
                    <param name=\"showControls\" VALUE=\"true\" />
                    <param name=\"TransparentatStart\" VALUE=\"false\" />
                    <param name=\"AnimationatStart\" VALUE=\"true\" />
                    <param name=\"StretchToFit\" VALUE=\"true\" />
                    <embed pluginspage=\"http://www.microsoft.com/Windows/Downloads/Contents/MediaPlayer/\" src=\"
    {$url}\" width=\"{$this->video_config['width']}\" height=\"{$this->video_config['height']}\" type=\"application/x-mplayer2\" autorewind=\"1\" showstatusbar=\"1\" showcontrols=\"1\" autostart=\"{$this->video_config['play']}\" allowchangedisplaysize=\"1\" volume=\"70\" stretchtofit=\"1\"></embed>
                    </object><!--dle_video_end-->"
    ;
    и добавь условие типа elseif $type == "txt" и код плеера. Как то ставил код:
    PHP:
    elseif($type == "xml") {
            return 
    "<!--dle_video_begin:{$decode_url}-->
    <script type=\"text/javascript\" src=\"/engine/classes/flashplayer/swfobject.js\"></script>
    <object width=\"550\" height=\"600\" data=\"/engine/classes/flashplayer/flvplayer.swf\" type=\"application/x-shockwave-flash\"><param name=\"flashvars\" value=\"height=600&amp;width=550&amp;file=
    {$url}&amp;backcolor=0x000000&amp;frontcolor=0xffffff&amp;lightcolor=0x888888&amp;logo=/logo.png&amp;displayheight=400&amp;thumbsinplaylist=false&amp;streamer=lighttpd \" /><param name=\"src\" value=\"/engine/classes/flashplayer/xml-player.swf\" /><param name=\"allowfullscreen\" value=\"true\" /></object>
                    <!--dle_video_end-->"
    ;

            }
    по аналогии UPPOD сделать думаю не составит проблемююю
     
  3. Sergo_Sev

    Sergo_Sev Творец

    Регистр.:
    14 июн 2008
    Сообщения:
    571
    Симпатии:
    187
    Вот и не могу как раз разобраться куда elseif вставить (php не знаю вот и ломаю голову)

    В таком виде не работает

    PHP:
        function build_video($url) {
            global 
    $config;
            
            
    $option explode"|"trim$url ) );
            
            
    $url $this->clear_urlurldecode$option[0] ) );
            
            
    $type explode"."$url );
            
    $type strtolowerend$type ) );
            
            if( 
    preg_match"/[?&;%<\[\]]/"$url ) ) {
                
                return 
    "[video=" $url "]";
            
            }
            
            if( 
    $option[1] != "" ) {
                
                
    $option[1] = htmlspecialcharsstrip_tagsstripslashes$option[1] ) ), ENT_QUOTES );
                
    $decode_url $url "|" $option[1];
            
            } else
                
    $decode_url $url;
            
            if( 
    $type == "flv" or $type == "mp4" or $type == "m4v" or $type == "m4a" or $type == "txt") {
                
                if( 
    $config['flv_watermark'] ) $watermark ",showWatermark:'always',watermarkUrl:'{THEME}/dleimages/flv_watermark.png',watermarkLinkUrl:''";
                else 
    $watermark "";
                
    $id_player md5microtime() );
                
                
    $list explode","$url );
                
    $url = array ();
                
                foreach ( 
    $list as $value ) {
                    
                    
    $url[] = trim$value ) . "";
                
                }
                
                
    $url implode", "$url );
                
    $url2=$url;
                    return 
    "<!--dle_video_begin:{$url}--><object type=\"application/x-shockwave-flash\" data=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" width=\"500\" height=\"375\"><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowScriptAccess\" value=\"always\" /><param name=\"movie\" value=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" /><param name=\"flashvars\" value=\"comment=Stream-video&st={$config['http_home_url']}engine/classes/flashplayer/video.txt&file=$url2\" /></object><!--dle_video_end-->";
            
            } 
            
            elseif( 
    $type == "avi") {
                
                    return 
    "<!--dle_video_begin:{$url}--><object type=\"application/x-shockwave-flash\" data=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" width=\"500\" height=\"375\"><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowScriptAccess\" value=\"always\" /><param name=\"movie\" value=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" /><param name=\"flashvars\" value=\"comment=Stream-video&st={$config['http_home_url']}engine/classes/flashplayer/video.txt&file=$url2\" /></object><!--dle_video_end-->";
            
            
            } else {
                
                    return 
    "<!--dle_video_begin:{$url}--><object type=\"application/x-shockwave-flash\" data=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" width=\"500\" height=\"375\"><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowScriptAccess\" value=\"always\" /><param name=\"movie\" value=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" /><param name=\"flashvars\" value=\"comment=Stream-video&st={$config['http_home_url']}engine/classes/flashplayer/video.txt&file=$url2\" /></object><!--dle_video_end-->";
            }
            
            
            
            
            
            elseif( 
    $type == "txt") {
                
                    return 
    "<!--dle_video_begin:{$url}--><object type=\"application/x-shockwave-flash\" data=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" width=\"500\" height=\"375\"><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowScriptAccess\" value=\"always\" /><param name=\"movie\" value=\"{$config['http_home_url']}engine/classes/flashplayer/uppod.swf\" /><param name=\"flashvars\" value=\"comment=Stream-video&st={$config['http_home_url']}engine/classes/flashplayer/video.txt&pl=$url2\" /></object><!--dle_video_end-->";
            
            }
            
            
        
        }
    А если в другое место вставить, то выводится для всех файлов file=
     
  4. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.241
    Симпатии:
    832
    ты не туда вставляешь! я привел код выше где нужно добавить условие elseif, и только в то место!!! а не в function build_video($url)
    Будет проще если выложишь файл pharse.class.php - тогда подправлю его как нужно...
     
  5. Sergo_Sev

    Sergo_Sev Творец

    Регистр.:
    14 июн 2008
    Сообщения:
    571
    Симпатии:
    187
    Вот измененный файл в который нужно добавить поддержку вставки плейлистов
     

    Вложения:

  6. Martyn911

    Martyn911 Постоялец

    Регистр.:
    21 авг 2010
    Сообщения:
    129
    Симпатии:
    13
    у кого то вышло интегрировать плейлисты, выложите инструкцию:thenks: