Добавление видео с ВКонтакте v2 для DLE 9.3

Добавление видео с ВКонтакте v2 для DLE 9.3

Завидел в комментариях своей прошлой новости Добавление видео с ВКонтакте v2, что народ жаждит адаптировать под 9.3. Взираем в абсолютной новости решение…

Добавление видео с ВКонтакте v2 для DLE 9.3

И так, на самом деле адаптировать нечего ненужно, просто в 9.3 был изменен плеер youtube, и кое-что изменилось, и теперь делая по инструкции люди не могут найти то что им нужно в файлах движка. Думаю кто посообразительней могли бы догадаться как переделать на версию 9.3 (Ни кого не хотел обидеть, просто не всем дается).

Установка:

— Открываем /engine/classes/parse.class.php


1. Ищем:
$source = preg_replace( «#[media=([^]]+)]#ies», «$this->build_media(‘\1’)», $source );

1.1. После добавляем:
$source = preg_replace( «#[vk=([^]]+)]#ies», «$this->build_vk(‘\1’)», $source );

2. Ищем:
$txt = preg_replace( «#<!—dle_youtube_begin:(.+?)—>(.+?)<!—dle_youtube_end—>#is», ‘[media=\1]’, $txt );

2.1. После добавляем:
$txt = preg_replace( «#<!—dle_vk_begin:(.+?)—>(.+?)<!—dle_vk_end—>#is», ‘[vk=\1]’, $txt );

3. Ищем:
function build_url($url = array()) {

3.1. ПЕРЕД добавляем:
function build_vk($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’] != «vk.com» AND $source[‘host’] != «vkontakte.ru») return «[vk=».$url.»]»;
            return ‘<!—dle_vk_begin:’.$url.’—><center><iframe src=»‘.$url.'» width=»585″ height=»360″ frameborder=»0″></iframe></center><!—dle_vk_end—>’;
    }

Меняем значения width и height на те, которые вам нужны.

— В вашем шаблоне открываем /addnews.tpl и добавляем:
<script language=»javascript» type=»text/javascript»>
/*<![CDATA[*/
document.onmouseup = function(){
    
    var t =  document.getElementsByTagName(‘textarea’);
    var short_scrollTop = document.getElementById(‘short_story’).scrollTop;
    var short_scrollLeft = document.getElementById(‘short_story’).scrollLeft;
    var full_scrollTop = document.getElementById(‘full_story’).scrollTop;
    var full_scrollLeft = document.getElementById(‘full_story’).scrollLeft;

    for (var i=0; i<t.length; i++)  {
      t[i].value=t[i].value.replace(/<iframe src=»(.*?)».*?</iframe>/gim, ‘[vk=$1]’);
    }
    
    document.getElementById(‘short_story’).scrollLeft = short_scrollLeft;
    document.getElementById(‘short_story’).scrollTop = short_scrollTop;
    document.getElementById(‘full_story’).scrollLeft = full_scrollLeft;
    document.getElementById(‘full_story’).scrollTop = full_scrollTop;
}
/*]]>*/

</script>

(Это для того, чтобы jquery работал при добавлении новостей с сайта)

— Открываем /engine/skins/default.skin.php

ПЕРЕД:
</body>

Вставляем:
<script language=»javascript» type=»text/javascript»>
/*<![CDATA[*/
document.onmouseup = function(){
    
    var t =  document.getElementsByTagName(‘textarea’);
    var short_scrollTop = document.getElementById(‘short_story’).scrollTop;
    var short_scrollLeft = document.getElementById(‘short_story’).scrollLeft;
    var full_scrollTop = document.getElementById(‘full_story’).scrollTop;
    var full_scrollLeft = document.getElementById(‘full_story’).scrollLeft;

    for (var i=0; i<t.length; i++)  {
      t[i].value=t[i].value.replace(/<iframe src=»(.*?)».*?</iframe>/gim, ‘[vk=$1]’);
    }
    
    document.getElementById(‘short_story’).scrollLeft = short_scrollLeft;
    document.getElementById(‘short_story’).scrollTop = short_scrollTop;
    document.getElementById(‘full_story’).scrollLeft = full_scrollLeft;
    document.getElementById(‘full_story’).scrollTop = full_scrollTop;
}
/*]]>*/

</script>

Вставляем видео с контакта и радуемся..)