All-For-Kompa.RU

Сегодня:
Карта сайта форум Главная
Скрыть рекламный блок

Всё для компа

chat

Реклама

Реклама

Календарь

«  Июль 2010  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
262728293031

Популярное

Партнёры



Развлекательный портал по игре Dota 2. У нас вы первым узнаете о последних игровых новостях, сможете почитать интересные статьи и гайды, посмотреть стримы популярных комментаторов и многое другое.

Про-софт - сайт професионального софта. Ето сайт не только софта но также игровых дополнений, музыки, фильмов, игр для ПК а также читов для ПК игр. Постоянное обновление материалов и каждый день появляется чтото новенькое!

Архив новостей

Авторизация

Реклама

Хочешь помочь проекту? Установи наш баннер!

Опрос

что лучше?

1. Mozilla Firefox
2. Opera
3. IE

Реклама

Хочешь помочь проекту? Установи наш баннер!

Популярные тэги

Комментарии

Счетчики

На сайте: 55
Прохожие: 55
Пользователей: 0
Статус:

Счётчик тИЦ и PR Rambler's Top100

Раздел: DLE

Хак dle - добавление видео с "вконтаке" в новость.

АвторАвтор: leonP4

|Голосов: 1 ДатаДата: 19.07.2010, 22:43


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

В сети нашел только одно решение, связано оно было с добавлением 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('/\<iframe src=\\\"http\:\/\/vkontakte\.ru\/video_ext.php\?oid=.*?&id=.*?&hash=.*?\\\" width=\\\".*?\\\" height=\\\".*?\\\" frameborder=\\\".*?\\\"\>\<\/iframe\>/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('/\<iframe src=\\\"http\:\/\/vkontakte\.ru\/video_ext.php\?oid=.*?&id=.*?&hash=.*?\\\" width=\\\".*?\\\" height=\\\".*?\\\" frameborder=\\\".*?\\\"\>\<\/iframe\>/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}", "<center>".$vk_match[1]."</center>", $short_story);
    
    $allow_br = 0;

}
else
{
    preg_match('/\<iframe src=\\\"http\:\/\/vkontakte\.ru\/video_ext.php\?oid=.*?&id=.*?&hash=.*?\\\" width=\\\".*?\\\" height=\\\".*?\\\" frameborder=\\\".*?\\\"\>\<\/iframe\>/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}", "<center>".$vk_match[1]."</center>", $full_story);
    
    preg_match('/\<iframe src=\\\"http\:\/\/vkontakte\.ru\/video_ext.php\?oid=.*?&id=.*?&hash=.*?\\\" width=\\\".*?\\\" height=\\\".*?\\\" frameborder=\\\".*?\\\"\>\<\/iframe\>/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}", "<center>".$vk_match[1]."</center>", $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('/\<iframe src=\\\"http\:\/\/vkontakte\.ru\/video_ext.php\?oid=.*?&id=.*?&hash=.*?\\\" width=\\\".*?\\\" height=\\\".*?\\\" frameborder=\\\".*?\\\"\>\<\/iframe\>/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('/\<iframe src=\\\"http\:\/\/vkontakte\.ru\/video_ext.php\?oid=.*?&id=.*?&hash=.*?\\\" width=\\\".*?\\\" height=\\\".*?\\\" frameborder=\\\".*?\\\"\>\<\/iframe\>/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}", "<center>".$vk_match[1]."</center>", $full_story);
        $short_story = $db->safesql($parse->BB_Parse($short_story));
        $short_story = str_replace("{vk_video}", "<center>".$vk_match[1]."</center>", $short_story);

    } else {

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

Все, готово. Тестил на версии 7.2, но, уверен, будет работать и на других.

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




Правообладателям



Перед тем как скачать "Хак dle - добавление видео с "вконтаке" в новость.", проверьте ВСЕ ссылки на работоспособность. На момент публикации "Хак dle - добавление видео с "вконтаке" в новость.", все ссылки были в рабочем состоянии

Теги к материалу:

| : добавление, видео, новость., вконтаке, dle
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Всего комментариев: 1
Комментариев: 1
Имя: РОман

0  
Сообщение № 1 Написал: РОман (25.02.2011)

(b2error) | 25.02.2011 | Пятница|12:51
Билят, а как же для 9.Х версий ?

 -------------- Комментарий --------------
Загрузка…
  Цитировать  
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Популярные файлыНовые файлы
Call of Duty 5: World at ...[ Скачали 67589 раз ]
Амфибии, Гайд по ассасина...[ Скачали 32062 раз ]
Амфибии, Гайд по шаманам.[ Скачали 30915 раз ]
cs 1.6 patch v48 full[ Скачали 29366 раз ]
Русский бот PW Alfa v 2.6[ Скачали 17566 раз ]
Огромный пак глюков и баг...[ Скачали 13027 раз ]
civilization 5 скачать бе...[ Скачали 12165 раз ]
PW MP5[ Скачали 11439 раз ]
MHS-Bot-PW 2.3 ботовод[ Скачали 10787 раз ]
Niko Bellic (нико белич) ...[ Скачали 10215 раз ]
Wallpapers Girls №1168[ Добавлен 23.11.2024 ]
Wallpapers Girls №1167[ Добавлен 22.11.2024 ]
Wallpapers Girls №1166[ Добавлен 21.11.2024 ]
New Tales from the Border...[ Добавлен 20.11.2024 ]
Wallpapers Girls №1165[ Добавлен 18.11.2024 ]
Wallpapers Girls №1164[ Добавлен 18.11.2024 ]
Mortal Shell (2020/Ru/En/...[ Добавлен 17.11.2024 ]
Assassin's Creed Mira...[ Добавлен 17.11.2024 ]
Wallpapers Mix №1870[ Добавлен 17.11.2024 ]
Teenage Mutant Ninja Turt...[ Добавлен 15.11.2024 ]