icebols 1 Опубликовано: 13 февраля 2013 Рассказать Опубликовано: 13 февраля 2013 (изменено) Нашел в интернете код и немного инфы как якобы вставить в краткую новость, но ничего не получается, пишет "Неверный url". Сам файл, который якобы и считается модулем прикрепляю к теме. Помогите пожалуйста решить проблему или подскажите как по другому можно это организовать в DLE 9.2. Спасибо. Цитирую строки: Как известно, видеохостинги типа ютуба хранят картинки-превью к находящемуся у них видео. Необходимо использовать эти картинки при выводе краткой новости. Нашел готовый код php. Из него сделал модуль vidprev.php: <?php if(!defined('DATALIFEENGINE')){die("Hacking attempt!");} if (preg_match("/<iframe.*?src=\"([^\"]+)\".*?><\/iframe>/i", $data, $matches)) { $url = $matches[1]; } if (preg_match("/<object.*?>.*?<param name=\"movie\" value=\"([^\"]+)\"( \/>|><\/param>).*?<\/object>/i", $data, $matches)) { $url = $matches[1]; } if (!is_string($url) || empty($url)) echo "Неверный url"; $url = str_replace("&", "&", $url); $arr = parse_url($url); $arr[host] = str_replace('www.', '', $arr[host]); $url = ""; switch ($arr[host]) { case 'rutube.ru': if (preg_match("/\/tracks\/(.+)\.html/i", $arr[path], $matches)) { $xml = simplexml_load_file("http://rutube.ru/cgi-bin/xmlapi.cgi?rt_mode=movie&rt_movie_id=".$matches[1]."&utf=1"); if ($xml) { $url = (string) $xml->response->movie->thumbnailLink; } } break; case 'video.rutube.ru': if (preg_match("/\/(.+)/i", $arr[path], $matches)) { $s[0] = substr($arr[path], 1, 2); $s[1] = substr($arr[path], 3, 2); $url = "http://tub.rutube.ru/thumbs/".$s[0]."/".$s[1]."/".$matches[1]."-1-1.jpg"; } //$url = "http://img-1.rutube.ru/thumbs/".$link[0].$link[1]."/".$link[2].$link[3]."/".$link."-2.jpg"; break; case 'youtube.com': if (preg_match("/\/(embed|v)\/(.+)\/?/i", $arr[path], $matches)) { $url = "http://img.youtube.com/vi/".$matches[2]."/0.jpg"; } break; case 'player.vimeo.com': if (preg_match("/\/video\/(.+)\/?/i", $arr[path], $matches)) { $clip_id = $matches[1]; } $xml = simplexml_load_file('http://vimeo.com/api/v2/video/'.$clip_id.'.xml'); if ($xml) { $url = (string) $xml->video->thumbnail_medium; } break; case 'vimeo.com': parse_str($arr[query], $query); $clip_id = $query['clip_id']; $xml = simplexml_load_file('http://vimeo.com/api/v2/video/'.$clip_id.'.xml'); if ($xml) { $url = (string) $xml->video->thumbnail_medium; } break; default: $url = ""; break; } echo "<img src='$url' />"; ?> Закинул его в engine/modules. В короткой новости прописал: {include file="engine/modules/vidprev.php?&data=[xfvalue_video]"} Так же пробовали выводить так: {include file="http://site.ru/engin...dprev.php?data=[xfvalue_video]"} В доп поле video вставляю код ролика. Результат - вместо картинки пишет "Неверный url". В php не силен, может кто подскажет, что не так. Изменено 13 февраля 2013 пользователем icebols Цитата Ссылка на сообщение Поделиться на других сайтах
DeeMon 73 Опубликовано: 14 февраля 2013 Рассказать Опубликовано: 14 февраля 2013 {include file="engine/modules/vidprev.php?&data=[xfvalue_video]"} Вы это прописали в шаблоне? Цитата Ссылка на сообщение Поделиться на других сайтах
icebols 1 Опубликовано: 15 февраля 2013 Рассказать Опубликовано: 15 февраля 2013 Автор {include file="engine/modules/vidprev.php?&data=[xfvalue_video]"} Вы это прописали в шаблоне? Да, прописывал 2-мя способами: {include file="engine/modules/vidprev.php?&data=[xfvalue_video]"} Так же пробовали выводить так: {include file="http://site.ru/engin...dprev.php?data=[xfvalue_video]"} Вы пробовали, у вас работает? Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.