Кнопка youtube на DLE Forum 2.4

Раздел Хаки для Dle


Кнопка youtube на DLE Forum 2.4

Хак для желающих добавить кнопку вставки роликов с youtube на DLE Forum 2.4(версия DLE 8.2, на других непроверял.)

Инструкция:

В файле: /engine/forum/classes/parse.class.php найти

$source = preg_replace( "#[audios*=s*(S.+?)s*]#ie", "$this->build_audio('1')", $source );



ниже вставить

$source = preg_replace( "#[youtube=([^]]+)]#ies", "$this->build_youtube('1')", $source );




затем найти

$txt = preg_replace( "#<!--dle_audio_begin:(.+?)-->(.+?)<!--dle_audio_end-->#is", '[audio=1]', $txt );



ниже вставить

$txt = preg_replace( "#<!--dle_youtube_begin:(.+?)-->(.+?)<!--dle_youtube_end-->#is", '[youtube=1]', $txt );




затем найти следующий код

    function build_email($url = array()) {
        
        $url['html'] = $this->clear_url( $url['html'] );
        $url['show'] = stripslashes( $url['show'] );
        
        return "<a href="mailto:{$url['html']}">{$url['show']}</a>";
    
    }



ниже вставляем

    function build_youtube($url) {    

        $url = $this->clear_url( urldecode( $url ) );
        $url = str_replace("&amp;","&", $url );
        
        if( $url == "" ) return;

        $source = parse_url ( $url );

        $source['host'] = str_replace( "www.", "", strtolower($source['host']) );

        if ($source['host'] != "youtube.com" AND $source['host'] != "rutube.ru") return "[youtube=".$url."]";

        $a = explode('&', $source['query']);
        $i = 0;

        while ($i < count($a)) {
            $b = split('=', $a[$i]);
            if ($b[0] == "v") $video_link = $b[1];
            $i++;
        }

        if ($source['host'] == "youtube.com")
            return '<!--dle_youtube_begin:'.$url.'--><object width="425" height="344"><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="425" height="344"></embed></object><!--dle_youtube_end-->';
        else
            return '<!--dle_youtube_begin:'.$url.'--><OBJECT width="425" height="344"><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="425" height="344" allowFullScreen="true" ></EMBED></OBJECT><!--dle_youtube_end-->';

    }




В файле: /engine/forum/sources/components/bbcode.php ищем

<div class="editor_button" onclick=tag_image()><img title="$lang[bb_b_img]" src="/templates/rus/bbcodes/image.gif" width="23" height="25" border="0"></div>



ниже вставляем

<div class="editor_button" onclick="tag_youtube()"><img src="/templates/rus/bbcodes/youtube.gif" width="23" height="25" border="0" alt="" /></div>



далее еще раз ищем

<div class="editor_button" onclick=tag_image()><img title="$lang[bb_b_img]" src="/templates/rus/bbcodes/image.gif" width="23" height="25" border="0"></div>



вставляем ниже

<div class="editor_button" onclick="tag_youtube()"><img src="/templates/rus/bbcodes/youtube.gif" width="23" height="25" border="0" alt="" /></div>



Тестировал на версии DLE 8.2 и Forum 2.4. Может и пойдет на более ранних версиях, только нужно кнопку добавить в папку с бб-кодами.



ZLODAR: Откройте свои паранормальные способности!


Посетите сайт Добрый Демон и вас впечатлит удевительный и полный загадок мир непозннаного.

Rambler's Top100