Помощь Плеер для DLE 8 с шифрованием ссылок

Тема в разделе "DLE", создана пользователем hug0s, 18 дек 2009.

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

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

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

    hug0s

    Регистр.:
    15 дек 2008
    Сообщения:
    378
    Симпатии:
    50
    есть замечательный плеер UPPOD есть там шифрование ссылок, которое меня интересует, но надо платить денежку, есть ли какие нибудь ломанные вариант, или более дешевые?
    http://uppod.ru/talk_1484 вот темка, может тут что полезное будет
     
  2. kwin

    kwin

    Регистр.:
    22 авг 2007
    Сообщения:
    413
    Симпатии:
    167
    Есть готовый вариант с шифрованием под uppod
    открываем /engine/classes/parse.class.php
    ищем кусок кода
    PHP:
        function decode_code($txt ""$use_html) { 
    //        $txt = stripslashes( $txt );
            
    $txt str_replace"&amp;""&"$txt );
            if( 
    $use_html ) {
                
    $txt str_replace"&lt;br /&gt;""\n"$txt );
            }
            return 
    "[code]".$txt."[/code]";
        }
    ниже вставляем
    PHP:
    //added
        //кодируем или раскодируем
        
    function decode_char($c
        { 
            
    $a1 = array("0""1""2""3""4""5""6""7""8""9""W""G""X""M""H""R""U""Z""I""D""=""N""Q""V""B""L"); 
            
    $a2 = array("b""z""a""c""l""m""e""p""s""J""x""d""f""t""i""o""Y""k""n""g""r""y""T""w""u""v"); 
            
    $result $c
            for(
    $j 0$j count($a1); $j++) { 
                if (
    $c == $a1[$j][0]) { 
                    
    $result $a2[$j][0]; 
                    break; 
                } 
                if (
    $c == $a2[$j][0]) { 
                    
    $result $a1[$j][0]; 
                    break; 
                } 
            }
            return 
    $result
        } 
        
    //кодируем строку
        
    function encode_str($s
        { 
            
    $s base64_encode($s); 
            
    $result ''
            for(
    $i 0$i strlen($s); $i++) { 
                
    $result .= $this->decode_char($s[$i]); 
            } 
            return 
    $result
        }   
        
    //раскодируем строку
        
    function decode_str($s$type '')
        {
            
    $result '';
            for(
    $i 0$i strlen($s); $i++) {
                
    $result .= $this->decode_char($s[$i]);
            }
            
    $result base64_decode($result);
            
    //преобразуем пробелы
            
    $result str_replace"%20"" "$result );
            if ( 
    $type == 'audio' ) {
                
    $result "[audio=" $result "]";
            } elseif ( 
    $type == 'video' ) {
                
    $result "[video=" $result "]";
            } else {
                
    $result =  $result;
            }
            return 
    $result;
        }
    //added    
    дальше ищем
    PHP:
        function build_video($url) {
    всё что ниже до кода
    PHP:
    } elseif( $type == "avi" or $type == "divx" ) {
    замекняем на
    ВНИМАНИЕ! не забудьте вписать ссылку на свой файл стилей и указать размер плеера
    PHP:
            global $config;
    //style
            
    $style "СЮДА ВПИСЫВАЕМ ССЫЛКУ НА СВОЙ СТИЛЬ!";
            
    $width 500//ширина плеера
            
    $height 375// высота плеера
            // разбираем $url 
            
    $option explode"|"trim$url ) ); 
            
    // 1 подстрока - ссылка
            
    $url $this->clear_urlurldecode$option[0] ) ); 
            
    // 2 подстрока - заголовок видео
            
    $comment $this->clear_urlurldecode$option[1] ) ); 
            
    // 3 подстрока - ссылка на сабы
            
    $sub $this->clear_urlurldecode$option[2] ) ); 
            
    // определяем тип файла
            
    $type explode"."$url ); 
            
    $type strtolowerend$type ) ); 
            if ( 
    preg_match"/[?&;%<\[\]]/"$url ) )  
            { 
                return 
    "[video=" $url "]"
            } 
            
    // тайтл видео и файл сабов не пустые
            
    if ( $comment != "" && $sub != "" ) { 
                
    // чистим тайтл
                
    $comment htmlspecialcharsstrip_tagsstripslashes$comment ) ), ENT_QUOTES ); 
                
    // определяем разделитель для тайтла
                
    $sep_comm "&amp;comment=";
                
    // чистим ссылку субтитров
                
    $sub htmlspecialcharsstrip_tagsstripslashes$sub ) ), ENT_QUOTES ); 
                
    // разделитель для сабов
                
    $sep_sub "&amp;sub=";
                
    // собираем $decode_url
                
    $decode_url $url "|" $comment "|" $sub
            } elseif( 
    $comment != "" && $sub == "") {  
                
    $comment htmlspecialcharsstrip_tagsstripslashes$comment ) ), ENT_QUOTES ); 
                
    $sep_comm "&amp;comment=";
                
    $decode_url $url "|" $comment
            } elseif( 
    $comment == "" && $sub != "") { 
                
    $sep_sub "&amp;sub=";
                
    $decode_url $url "|" $sub
            } elseif( 
    $comment == "" && $sub == "") { 
                
    $decode_url $url
            } 
            
    // кодируем $decode_url
            
    $decode_url $this->encode_str($decode_url);
            
    // кодируем $url
            
    $url $this->encode_str($url); 
            
    // видео файл в плеере
            
    if( $type == "flv" or $type == "mp4" or $type == "m4v" or $type == "m4a" ) { 
                return 
    "<!--dle_video_begin:{$decode_url}--><object id=\"video_87324\" type=\"application/x-shockwave-flash\" data=\"".$config['http_home_url']."engine/flash/player.swf\" width=\"$width\" height=\"$height\"><param name=\"bgcolor\" value=\"#ffffff\" /><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowScriptAccess\" value=\"always\" /><param name=\"movie\" value=\"".$config['http_home_url']."engine/flash/player.swf\" /><param name=\"flashvars\" value=\"st={$style}{$sep_comm}{$comment}&amp;file={$url}{$sep_sub}{$sub}\" /></object><!--dle_video_end-->"
            
    // плейлист в плеере
            
    } elseif( $type == "txt" ) { 
                return 
    "<!--dle_video_begin:{$decode_url}--><object id=\"video_87324\" type=\"application/x-shockwave-flash\" data=\"".$config['http_home_url']."engine/flash/player.swf\" width=\"$width\" height=\"$height\"><param name=\"bgcolor\" value=\"#ffffff\" /><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowScriptAccess\" value=\"always\" /><param name=\"movie\" value=\"".$config['http_home_url']."engine/flash/player.swf\" /><param name=\"flashvars\" value=\"st={$style}&amp;pl={$url}\" /></object><!--dle_video_end-->"
    Не забываем положить сам файл плеера сюда
    engine/flash/player.swf

    Ищем
    PHP:
            $txt preg_replace"#<!--dle_video_begin-->(.+?)src=\"(.+?)\"(.+?)<!--dle_video_end-->#is"'[video=\\2]'$txt );
            
    $txt preg_replace"#<!--dle_video_begin:(.+?)-->(.+?)<!--dle_video_end-->#is"'[video=\\1]'$txt );
            
    $txt preg_replace"#<!--dle_audio_begin:(.+?)-->(.+?)<!--dle_audio_end-->#is"'[audio=\\1]'$txt );
    заменяем на
    PHP:
            $txt preg_replace"#<!--dle_video_begin-->(.+?)src=\"(.+?)\"(.+?)<!--dle_video_end-->#ies"'\$this->decode_str("\\2", "video")'$txt );
            
    $txt preg_replace"#<!--dle_video_begin:(.+?)-->(.+?)<!--dle_video_end-->#ies"'\$this->decode_str("\\1", "video")'$txt );
            
    $txt preg_replace"#<!--dle_audio_begin:(.+?)-->(.+?)<!--dle_audio_end-->#ies"'\$this->decode_str("\\1", "audio")'$txt );
    вроде всё
    юзаем как и всегда
    [video=ссылка на файл|название для отображения в плеере|файл сабов] можно ограничиваться одной лишь ссылкой
    или
    [video=ссылка на плейлист]
     
    hug0s нравится это.
  3. hug0s

    hug0s

    Регистр.:
    15 дек 2008
    Сообщения:
    378
    Симпатии:
    50
    вы не могли бы помочь с установкой или дать тему, где более детально рассматривается этот вопрос, потому что у меня в parse.class, много нет, даже переменных которые надо заменить, поэтому вообще проблематично. версия дле 8.0, только там уже какие то модули стояли, поэтому он не полностью чистый :)

    вот мой файлик, работу оплачу
    Посмотреть вложение parse.class.txt
     
  4. goldmania

    goldmania Создатель

    Регистр.:
    21 фев 2009
    Сообщения:
    16
    Симпатии:
    1
    Если вам не будет лень то после добавления видео нажмите в плеере кнопочку информация в появившемся окне будет зашифрованная ссылка на файл - скопируйте и отредактируйте новость.
     
  5. hug0s

    hug0s

    Регистр.:
    15 дек 2008
    Сообщения:
    378
    Симпатии:
    50
    помогите, может кто сталкивался, имеется плеер uppod, PRO акк, необходимо вопросительный видео с ютуба непосредственно с плеера, посредством кода
    Код:
    [video=http://www.youtube.com/watch?v=Ti2mnVIlglI]
    но плеер не появляется, а содержимое выводится просто в виде текста, покопался в parse.class.php там есть строчка
    Код:
    if( $type == "flv" or $type == "mp4" or $type == "m4v" or $type == "m4a" )
    возможно сюда необходимо добавить условие.
    так же была вот еще какая строка
    Код:
    if ($source['host'] == "youtube.com")
    			return '<!--dle_youtube_begin:'.$url.'--><object width="'.$this->video_config['width'].'" height="'.$this->video_config['height'].'"><param name="movie" value="http://www.youtube.com/v/'.$video_link.'&hl=ru&fs=1"></param><param name="wmode" value="transparent" /><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'.$video_link.'&hl=ru&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="'.$this->video_config['width'].'" height="'.$this->video_config['height'].'"></embed></object><!--dle_youtube_end-->';
    		else
    			return '<!--dle_youtube_begin:'.$url.'--><OBJECT width="'.$this->video_config['width'].'" height="'.$this->video_config['height'].'"><PARAM name="movie" value="http://video.rutube.ru/'.$video_link.'"></PARAM><param name="wmode" value="transparent" /></PARAM><PARAM name="allowFullScreen" value="true"></PARAM><EMBED src="http://video.rutube.ru/'.$video_link.'" type="application/x-shockwave-flash" wmode="transparent" width="'.$this->video_config['width'].'" height="'.$this->video_config['height'].'" allowFullScreen="true" ></EMBED></OBJECT><!--dle_youtube_end-->';
    заменил коды реторна, на те, которые у меня служат для вывода плеера, в итоге тег
    Код:
    [youtube=http://www.youtube.com/watch?v=Ti2mnVIlglI]
    не воспроизводится, пишет что не файла, файрбагом смотрю, там где якобы должна быть ссылка на видео, ничего нет. Парс можно посмотреть в посте чуть выше:bc:
     
Статус темы:
Закрыта.