Блог Евгения Попова :: Программы :: DataLife Engine

TrailerDP - скрипт-парсер трейлера с ютуба (вставляет ссылку в доп.поле)


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

После установки скрипта на DLE, при добавлении и редактировании новости, у вас появится 3 кнопки: «Получить трейлер», «Предпросмотр» и «Выбор».


Автор: Sistemos
Страница модуля
Оригинальный архив:
[attachment=52:trailerdp_v_2_2.zip]
Плагин для автоматической установки в админке:
[attachment=51:trailer_dp_2_2_plugin.zip]
Файл плагина был обновлен, для восстановления работы оригинального архива сделайте правку кода:
в файле /engine/ajax/trailer_dp_ajax.php
это:
$query_text = preg_replace('/\s/', '%20', $query_text);

заменить на это:
$query_text = urlencode ($query_text);

Фикс парсинга ссылки на видео (удаление лишнего хвоста в ссылке):
function trailerSelectBody  ($query_text, $settings, $mass = false) {

	if (!$query_text || !$settings['youtube_key']) return false;
	
	$query_text = urlencode ($query_text);
	$pars_url = 'http://www.youtube.com/results?search_query=' . $query_text;
	$content = parsCurl($pars_url, $settings['proxy'], $settings['proxy_auth']);
	
	preg_match_all ('#"\/watch\?v=(.+?)"#', $content, $link_trailer_mass);	
	
	$trailer_mass = array();	
	foreach($link_trailer_mass[1] as $k=>$videoid){
		// если не плейлист, то добавляю в массив чистый videoid
		if (!preg_match("#(&list=.*)#", $videoid)) $trailer_mass[] = $videoid;
	}	
	
	$trailer_mass = preg_replace('#(&list=.*|\\\u0026.*)#', '', $trailer_mass);
	
	if ($mass) {
		if (count($trailer_mass) > 0) {
			return json_encode($trailer_mass);	
		} else {
			return false;
		} 		
	} else {
		return $trailer_mass[0];
	}	
}

В плагин внесены все нужные правки!
Перейти на сайт (скачивать файлы можно только на сайте)