6.04.13, 14:47
1 комментарий
  DLE Модули

Интеграция Uppod плеера в DLE 9.7

Интеграция Uppod плеера в DLE 9.7 представят из себя добавление специальной кнопки "uppod", которая имеет собственный обработчик и не нарушает стандартные теги video, media и mp3.
Для интеграции взят BBcode-редактор AdequateBBcode.

Особенности реализации:
- Не портит существующий функционал (отдельная кнопка для вставки медиа через uppod).
- Удобная кастомизация плеера (скины аудио и видео лежат в папке шаблона, и легко меняются на собственные).
- Можно задавать размер плеера, название композиции, картинку-заглушку. Из обязательных параметров только ссылка на видео или аудио. - Размер плеера по умолчанию задаётся в CSS.
- Не нужно ставить два плеера для видео и аудио, музыка поддерживаемых плеером расширений (mp3, ogg, aac) определяется автоматически и подгружается нужный плеер.

УСТАНОВКА

1. Сделать резервную копию файлов engine/modules/bbcode.php, engine/ajax/bbcode.php, engine/classes/parce.class.php, language/Russian/website.lng, bbcodes/color.html.

2. Залить содержимое папки uploads из архива в корень сайта (если требуется - изменить название шаблона на свой).

3. Открыть main.tpl и перед прописать:

<link media="screen" href="{THEME}/style/bbcodes.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="{THEME}/js/tooltip.js"></script>



4. Открыть файл engine/classes/parce.class.php, найти:

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



Ниже вставить:

/*** Подключение uppod плеера by ПафНутиЙ ***/
$source = preg_replace( "#[uppod=([^]]+)]#ies", "$this->build_uppod('1')", $source );
/*** Подключение uppod плеера by ПафНутиЙ ***/



Далее найти:

$txt = preg_replace( "#<!--dle_media_begin:(.+?)-->(.+?)<!--dle_media_end-->#is", '[media=1]', $txt );



Ниже вставить:

/*** Подключение uppod плеера by ПафНутиЙ ***/
$txt = preg_replace( "#<!--dle_uppod_begin:(.+?)-->(.+?)<!--dle_uppod_end-->#is", '[uppod=1]', $txt );
/*** Подключение uppod плеера by ПафНутиЙ ***/


Далее найти:

function build_url($url = array()) {


Выше вставить:

   /*** Подключение uppod плеера by ПафНутиЙ ***/
    function build_uppod($url) {
        global $config;
        if (!count($this->video_config)) {
            include (ENGINE_DIR . '/data/videoconfig.php');
            $this->video_config = $video_config;
        }

        $get_size = explode( ",", trim( $url ) );
        $sizes = array();

        if (count($get_size) == 2)  {
            $url = $get_size[1];
            $sizes = explode('x', trim( $get_size[0]));
            $width = intval($sizes[0]) > 0 ? intval($sizes[0]) : $this->video_config['width'];
            $height = intval($sizes[1]) > 0 ? intval($sizes[1]) : $this->video_config['height'];

            if (substr($sizes[0], - 1, 1 ) == '%') $width = $width."%";
            if (substr($sizes[1], - 1, 1 ) == '%') $height = $height."%";

        } else {
            $width = $this->video_config['width'];
            $height = $this->video_config['height'];
        }
    
        if($url == '') return;

        $option = explode('|', trim($url));

        $url = $this->clear_url($option[0]);

        $type = explode(".", $url);
        $type = strtolower(end($type));

        $decode_url = $url;

        if($option[1] != '') {            
            $option[1] = htmlspecialchars(strip_tags( stripslashes($option[1])), ENT_QUOTES, $config['charset']);
            $decode_url = $url.'|'.$option[1];    
        } 
        if ($option[2] != '') {            
            $option[2] = htmlspecialchars(strip_tags( stripslashes($option[2])), ENT_QUOTES, $config['charset']);
            $decode_url = $url.'|'.$option[1].'|'.$option[2];    
        } 

        $uppod_size = '';
        if ( count($sizes) == 2 ) {
            $decode_url = $width.'x'.$height.','.$decode_url;
            $uppod_size = 'style="width:'.$width.'px; height:'.$height.'px;"';
        }
        
        $preview = '';        
        if ($this->video_config['preview']) $preview = '&amp;poster={THEME}/uppod/preview.png';
        if ($this->video_config['startframe']) $preview = '';
        if($option[2] != '') $preview = '&amp;poster='.$option[2];

        $uppod_name = 'Noname';
        if($option[1] != '') $uppod_name = $option[1];

        $id_player = md5( microtime() );

        $player_type = '<param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" />';
        $style_type = 'style_video';

        if($type == 'ogg' or $type == 'mp3' or $type == 'aac') {
            $player_type = '';
            $style_type = 'style_audio';
            $preview = '';
        }
        
        return '<!--dle_uppod_begin:'.$decode_url.'-->
                <object class="uppod_'.$style_type.'" id="uppod_video_'.$id_player.'" uid="uppod_video_'.$id_player.'" type="application/x-shockwave-flash" data="{THEME}/uppod/uppod.swf" '.$uppod_size.'>
                    <param name="bgcolor" value="#000000" />
                    '.$player_type.'
                    <param name="movie" value="{THEME}/uppod/uppod.swf" />
                    <param name="flashvars" value="comment='.$uppod_name.'&amp;st={THEME}/uppod/'.$style_type.'.txt&amp;file='.$url.$preview.'" />
                </object>
                <!--dle_uppod_end-->';
    
    }
    /*** Подключение uppod плеера by ПафНутиЙ ***/



5. Открыть файл language/Russian/website.lng, найти:

'wysiwyg_language'        =>  "ru",


Ниже вставить:

// Подключение uppod плеера by ПафНутиЙ
'name_uppod'        => "Введите название видео (оно будет отображаться в плеере, если это предусмотренно скином)",
'bb_t_uppod'        => "Вставка видео или аудио через Uppod плеер",



Всё! Очищаем кеш браузера, кеш DLE и наслаждаемся )


Кастомизация плеера:
- Всё, что относится к плееру лежит в папке templates/YOUR_TEMPLATE/uppod (YOUR_TEMPLATE - заменить на имя своего шаблона)
- Для изменения скина видео достаточно заменить содержимое файла uppodstyle_video.txt
- Для изменения скина аудио достаточно заменить содержимое файла uppodstyle_audio.txt
- В зависимости от типа плеера ему присваивается класс **uppod_style_video** или **uppod_style_audio** так что можно спокойно оформлять плеер через CSS.
- Если не задана картинка-заглушка, то выведется деолтная uppod/preview.png (PSD этой картинки так же есть в архиве)


ВАЖНО!

Изменения редактора касаются только публичной части сайта, в админке редактор не изменится, но тег
[uppod=URL]


будет корректно обрабатываться и в админке.

Версия DLE: 9.7
Автор модификации: ПафНутиЙ (pafnuty.name)
Модификация: AdequateBBcode+Uppod

СКАЧАТЬ

Вес файла
1.08 Mb

Реклама

Комментарии

  1. Hunan 27 августа 2014 17:56                    

    А можно поставить в этот плеер видео с вк??

Напишите своё мнение

  • acuteaggressiveair_kissangel
    badbbbeachbeee
    biggrinbig_bossblumblush
    boastbombboredombye
    clappingcraycrazycurtsey
    dancedashdeclarediablo
    diroldon-t_mentiondownloaddrinks
    first_moveflirtfocusfool
    friendsgive_heartgive_rosegood
    hangheartheathelp
    hihunterhystericireful
    kingkisslaughlazy
    lolmail1mambaman_in_love
    mdamega_shokmoilmosking
    musicneanegativenew_russian
    okon_the_quietpardonparting
    partypilotpioneerpleasantry
    popcormpranksterprevedpunish
    roflrtfmrussiansad
    sarcasticscarescratchsearch
    secretsensoredshokshout
    slowsmilesmokesoldier
    soldier_girlsorryspitefulspruce_up
    stinkersuicidesunsuperstition
    swoonteasetenderthanks
    thisto_pick_ones_noseto_take_umbragetreaten
    umnikunknwvampirevava
    victorywackowhistlewink
    wizardyahooyesyu
    e101e102e103e104
    e105e106e107e108
    e109e110e111e112
    e113e114e115e116
    e117e118e119e120
    e121e122e123e124
    e125e126e127e128
    e129e130e131e132
    e133e134e135e136
    e137e138e139e140
    e141e142e143e144
    e145e146e147e148
    e149e150e151e152
    e153e154e155e156
    e157e158e159e160
    e161e162e163e164
    e165e166e167e168
    e169e170e171e172
    e173e174e175e176
    e177e178e179e180
    e181e182e183e184
    e185e186e187e188
    e189e190e191e192
    e193e194e195e196
    e197e198e199e200
    e201e202e203e204