
Хак добавление Uppod в Dle на основе AdequateBBcode - это улучшенная возможность, чтобы интегрировать плеер Uppod в движок с нормальным редактором AdequateBBcode от автора ПафНутиЙ. Установка не слишком замысловатая, так что справиться должен любой, кто хочет получить современный видео плеер с удобным интерфейсом и многим другим. При чем стандартный функционал DLE, после установки хака не изменится.
Хак Интеграция Uppod в Dle на основе AdequateBBcode, позволяет добить специальную кнопку "uppod", которая имеет собственный обработчик и не нарушает стандартные теги video, media и mp3. Для упрощения интеграции используется уже имеющийся, нормальный BBcode-редактор AdequateBBcode, котором вы можете прочитать здесь.
ВНЕШНИЙ ВИД
Новая кнопка в форме добавления и редактирования новостей с сайта (справа от YouTube)

Установка Uppod в Dle
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 и перед /head прописать:
<link media="screen" href="/templates/Default/style/bbcodes.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="/templates/Default/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 = '&poster=/templates/Default/uppod/preview.png';
if ($this->video_config['startframe']) $preview = '';
if($option[2] != '') $preview = '&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="/templates/Default/uppod/uppod.swf" '.$uppod_size.'>
<param name="bgcolor" value="#000000" />
'.$player_type.'
<param name="movie" value="/templates/Default/uppod/uppod.swf" />
<param name="flashvars" value="comment='.$uppod_name.'&st=/templates/Default/uppod/'.$style_type.'.txt&file='.$url.$preview.'" />
</object>
<!--dle_uppod_end-->';
}
/*** Подключение uppod плеера by ПафНутиЙ ***/
Открыть файл language/Russian/website.lng, найти:
'wysiwyg_language' => "ru",
Ниже вставить:
// Подключение uppod плеера by ПафНутиЙ
'name_uppod' => "Введите название видео (оно будет отображаться в плеере, если это предусмотренно скином)",
'bb_t_uppod' => "Вставка видео или аудио через Uppod плеер",
Всё! Очищаем кеш браузера, кеш DLE и наслаждаемся )
ВАЖНО!
Изменения редактора касаются только публичной части сайта, в админке редактор не изменится, но тег
[uppod=URL]
будет корректно обрабатываться и в админке.
Версия движка DataLife Engine : 9.7 - 10.x например DLE 10.1
Автор модификации: ПафНутиЙ
Модификация: AdequateBBcode+Uppod
Официальный сайт плеера Uppod
Скачать хаки для dle, как хак добавление Uppod в Dle на основе AdequateBBcod, всеe необходимые файлы здесь
Комментарии 5