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

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

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

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

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

    hug0s

    Регистр.:
    15 дек 2008
    Сообщения:
    378
    Симпатии:
    50
    есть замечательный плеер UPPOD есть там шифрование ссылок, которое меня интересует, но надо платить денежку, есть ли какие нибудь ломанные вариант, или более дешевые?
    Перейти по ссылке вот темка, может тут что полезное будет
     
  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:
     
Статус темы:
Закрыта.