Разместить объявление
Rukassa - надёжная платёжная система для сайтов и телеграм ботов
хостинг
VIPAdmin / CMS / Datalife Engine / Хаки DLE / Добавление видео с "вконтаке" в новость

Добавление видео с "вконтаке" в новость




Доброго времени суток.
Думаю, многие знают, что если в DataLife Engine при создании новости в описание вставить код видео из соц. сети вконтакте, он полностью обрежется чекером движка и соответственно роликом в новости и пахнуть не будет.. (Как получить код видно на изображении).

В сети нашел только одно решение, связано оно было с добавлением xfields, изменением шаблона, вырезанием вручную из кода видео непонятно какого куска и т.п.
Так вот, как же сделать, чтобы видео успешно добавилось без всяких "танцев"?
Для этого нам нужно подредактировать два файла, отвечающие за загрузку новости на сайт.(Один административный, другой - для пользователей).
Конечно, можно было бы изменить класс фильтрации данных, но это было бы дольше и не хотелось заморачиваться, разбираться в его коде, а сделать нужно было как можно быстрее.
Итак, начнем.

Для начала открываем файл engine/modules/addnews.php и находим в нем следующий код(у меня он на 92 строке начинается):

if ($config['allow_site_wysiwyg'] == "yes"){

$full_story = $db->safesql($parse->BB_Parse($parse->process($_POST['full_story'])));
$short_story = $db->safesql($parse->BB_Parse($parse->process($_POST['short_story'])));
$allow_br = 0;

} else {

$full_story = $db->safesql($parse->BB_Parse($parse->process($_POST['full_story']), false));
$short_story = $db->safesql($parse->BB_Parse($parse->process($_POST['short_story']), false));
$allow_br = 1;

}


Заменяем его на следующий:

if ($config['allow_site_wysiwyg'] == "yes")
{
preg_match('/\\/si', $_POST['full_story'], $vk_match);
$vk_match[1] = str_replace('\\', '', $vk_match[0]);
$full_story = str_replace($vk_match[0], "{vk_video}", $_POST['full_story']);
$full_story = $db->safesql($parse->BB_Parse($parse->process($full_story)));
$full_story = str_replace("{vk_video}", $vk_match[1], $full_story);

preg_match('/\\/si', $_POST['full_story'], $vk_match);
$vk_match[1] = str_replace('\\', '', $vk_match[0]);
$short_story = str_replace($vk_match[0], "{vk_video}", $_POST['short_story']);
$short_story = $db->safesql($parse->BB_Parse($parse->process($short_story)));
$short_story = str_replace("{vk_video}", "".$vk_match[1]."", $short_story);

$allow_br = 0;

}
else
{
preg_match('/\\/si', $_POST['full_story'], $vk_match);
$vk_match[1] = str_replace('\\', '', $vk_match[0]);
$full_story = str_replace($vk_match[0], "{vk_video}", $_POST['full_story']);
$full_story = $db->safesql($parse->BB_Parse($parse->process($full_story), false));
$full_story = str_replace("{vk_video}", "".$vk_match[1]."", $full_story);

preg_match('/\\/si', $_POST['full_story'], $vk_match);
$vk_match[1] = str_replace('\\', '', $vk_match[0]);
$short_story = str_replace($vk_match[0], "{vk_video}", $_POST['short_story']);
$short_story = $db->safesql($parse->BB_Parse($parse->process($short_story), false));
$short_story = str_replace("{vk_video}", "".$vk_match[1]."", $short_story);


$allow_br = 1;

}


Далее отредактируем файл админ-панели(engine/inc/addnews.php).
Ищем в нем код(у меня на 401 строке начался:

$full_story = $parse->process($_POST['full_story']);
$short_story = $parse->process($_POST['short_story']);
$title = $parse->process($_POST['title']);

if ($config['allow_admin_wysiwyg'] == "yes" OR $allow_br != '1'){

$full_story = $db->safesql($parse->BB_Parse($full_story));
$short_story = $db->safesql($parse->BB_Parse($short_story));

} else {

$full_story = $db->safesql($parse->BB_Parse($full_story, false));
$short_story = $db->safesql($parse->BB_Parse($short_story, false));
}


Заменяем его на:

preg_match('/\\/si', $_POST['full_story'], $vk_match);
$vk_match[1] = str_replace('\\', '', $vk_match[0]);
$full_story = str_replace($vk_match[0], "{vk_video}", $_POST['full_story']);
$full_story = $parse->process($_POST['full_story']);

preg_match('/\\/si', $_POST['full_story'], $vk_match);
$vk_match[1] = str_replace('\\', '', $vk_match[0]);
$short_story = str_replace($vk_match[0], "{vk_video}", $_POST['short_story']);
$short_story = $parse->process($_POST['short_story']);
$title = $parse->process($_POST['title']);

if ($config['allow_admin_wysiwyg'] == "yes" OR $allow_br != '1'){

$full_story = $db->safesql($parse->BB_Parse($full_story));
$full_story = str_replace("{vk_video}", "".$vk_match[1]."", $full_story);
$short_story = $db->safesql($parse->BB_Parse($short_story));
$short_story = str_replace("{vk_video}", "".$vk_match[1]."", $short_story);

} else {

$full_story = $db->safesql($parse->BB_Parse($full_story, false));
$full_story = str_replace("{vk_video}", "".$vk_match[1]."", $full_story);
$short_story = $db->safesql($parse->BB_Parse($short_story, false));
$short_story = str_replace("{vk_video}", "".$vk_match[1]."", $short_story);
}


Все, готово. Тестил на версии 7.2, но, уверен, будет работать и на других.
P.S.: этот Хак будет обрабатывать только первое видео с "вконтакте" в краткой и полной новости. Т.е. второе и последующие так же вырежутся чекером. Думаю, для рядового программиста не составит труда переделать под все видеоссылки за 5 минут. Я не делал, т.к. не нужно, если кому надо - пишите, сделаю, как будет время.
P.P.S.:В самом начале была идея сделать, чтобы видео добавлялось через тег [video], путем добавления в него ссылки на страницу с видео, но вконтакте нужен еще некий восьмибитный хеш, который из чего сделан - мне непонятно.

ТОП Записей

Автор: truapps

Дата: 09.03.2020 00:02

Просмотров: 868

Оцените статью:

0 0

Партнерки

Обзор RollerAds: умная пуш-сеть с инновационными инструментами
Обзор RollerAds: умная пуш-сеть с инновационными инструментами
-1
Перейти
Huffson Group: премиальная CPA-сеть для iGaming
Huffson Group: премиальная CPA-сеть для iGaming
-1
Перейти

Еще немного интересного

Сервисы / Парсинг A-PARSER - парсер сайтов № 1
Сервисы / Сервера и хостинги Хостинг PrivateAlps (Игнорирует DMCA)
Сервисы / Платёжные системы Merchant001- надежный эквайринг для сайта
Статьи Дорвеи 2023-2024
Арбитраж трафика / Статьи Арбитраж трафика на пуш уведомлениях
Статьи / Софт / Антидетект Браузеры Лучшие антидетект браузеры
Сервисы / Трекеры / Клоака Keitaro PRO - трекер для арбитража трафика
Хостинг / Скрипты сайтов / Статьи Как настроить работу почты
Хостинг / Скрипты сайтов / Статьи Урок доступ mysql с любого ip
Хостинг / Скрипты сайтов / Статьи Как сделать моментальную установку сервера? HOSTINPL
Хостинг / Статьи Exim (Восстановление по e-mail)
Скрипты сайтов / Статьи JavaScript - Меняем CSS

Отзывы (0)




To connect permitted only files with the extension: .tpl or .php To connect permitted only files with the extension: .tpl or .php