Хак Вставляем видео с Rutube
Хак расширяет стандартный функционал CMS DLE для вставки видео с rutube.
После применения инструкции с архива вы сможете вставлять видео в таком формате:
[media=http://rutube.ru/games/70c66e0254d7896093a0b093d32e1502/]
Установка:1.0 Открыть engine/classes/parse.class.php найти:
AND $source['host'] != "gametrailers.com") return "[media=".$url."]";
Заменить на:
AND $source['host'] != "gametrailers.com" AND $source['host'] != "rutube.ru") return "[media=" . $url . "]";
1.1 Найти:
if ($source['host'] == "youtube.com" OR $source['host'] == "youtu.be") {
if ($source['host'] == "rutube.ru") {
if (!function_exists('EmbedUrl')) {
function EmbedUrl($source) {
$return = false;
$timeout = stream_context_create( array ( 'http' => array( 'timeout' => 1 ) ) );
preg_match('#rutube.ru/video/([a-z0-9]+)/#', $source, $matches);//
if(isset($matches[1])) {
$answer = file_get_contents("http://rutube.ru/api/video/" . $matches[1] . "?format=json", 0, $timeout);
$params = json_decode($answer);
/*
* $params->html возвращает готовый HTML IFRAME-код.
* Разбор из нее URL видео
*/
preg_match('#src="(.+?)"#', $params->html, $matches);
if(isset($matches[1])) {
return $matches[1];
}
}
return $return;
}
}
$video_linc = getEmbedUrl("http://rutube.ru" . $source['path']);
$video_link = $source['path'];
if ( count($get_size) == 2 ) $decode_url = $width . "x" . $height . ", http://rutube.ru" . $video_link;
else $decode_url = "http://rutube.ru" . $video_link;
return '<!--dle_media_begin:' . $decode_url . '--><iframe width="' . $width . '" height="' . $height . '" src="' . $video_linc . '" frameborder="0" allowfullscreen></iframe><!--dle_media_end-->';
} elseif ($source['host'] == "youtube.com" OR $source['host'] == "youtu.be") {
Готово!
В новость вставляем таким методом:
[media=http://rutube.ru/video/12a5decd5cd3f6558ee04cf7f8c21609/]