All-For-Kompa.RU

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

Всё для компа

chat

Реклама

Реклама

Календарь

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

Популярное

Партнёры



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

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

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

Авторизация

Реклама

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

Опрос

Если не спиться

1. лечь спать а не сидеть за компом до 6 утра
2. утопиться
3. обкуриться
4. воды напиться
5. задолбиться
6. обмочиться
7. выпрямиться

Реклама

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

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

Комментарии

Счетчики

На сайте: 25
Прохожие: 25
Пользователей: 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 ...[ Скачали 67869 раз ]
Амфибии, Гайд по ассасина...[ Скачали 32233 раз ]
Амфибии, Гайд по шаманам.[ Скачали 31082 раз ]
cs 1.6 patch v48 full[ Скачали 29546 раз ]
Русский бот PW Alfa v 2.6[ Скачали 17728 раз ]
Огромный пак глюков и баг...[ Скачали 13200 раз ]
civilization 5 скачать бе...[ Скачали 12271 раз ]
PW MP5[ Скачали 11581 раз ]
MHS-Bot-PW 2.3 ботовод[ Скачали 10981 раз ]
Niko Bellic (нико белич) ...[ Скачали 10331 раз ]
Wallpapers Mix №1964[ Добавлен 09.08.2025 ]
Wallpapers Mix №1963[ Добавлен 06.08.2025 ]
Wallpapers Mix №1962[ Добавлен 30.07.2025 ]
Wallpapers Mix №1961[ Добавлен 29.07.2025 ]
Wallpapers Mix №1960[ Добавлен 27.07.2025 ]
Wallpapers Mix №1959[ Добавлен 26.07.2025 ]
Wallpapers Mix №1958[ Добавлен 23.07.2025 ]
Wallpapers Mix №1957[ Добавлен 21.07.2025 ]
Wallpapers Mix №1956[ Добавлен 17.07.2025 ]
Wallpapers Mix №1955[ Добавлен 16.07.2025 ]