Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Возможно ли как то встроить в сообщение пост с фейсбука или твиттера?
Offline
@lakki, не пользуюсь ни тем, ни другим. Как там что встраивается я не в курсе. Если будет подробно описано что, где, как, то вероятно подскажу решение.
P.S. Стоит взглянуть на https://fluxbb.org/resources/ сначала.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Visman, Тут вот примеры и сама механика https://developers.facebook.com/docs/pl … dded-posts
Offline
Изменения файла parser.php
1. В массив $tags добавить элемент fb
2. Добавить в файл новую функцию
function handle_fb($url)
{
static $flag;
$result = '';
if ($flag !== true) {
$result = '<div id="fb-root"></div><script>(function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) return;js = d.createElement(s); js.id = id;js.src = "//connect.facebook.net/ru_RU/sdk.js#xfbml=1&version=v2.8";fjs.parentNode.insertBefore(js, fjs);}(document, \'script\', \'facebook-jssdk\'));</script>';
$flag = true;
}
$result .= '<div class="fb-post" data-href="' . $url . '" data-width="500" data-show-text="true"></div>';
return $result;
}
3. После строки
$pattern_callback[] = '%\[user=([1-9]\d*)\](.*?)\[/user\]%';
добавить строку
$pattern_callback[] = '%\[fb\](https?://(?:[\w-]+\.)?facebook\.com/[^/]+/posts/\d+).*?\[/fb\]%';
4. После строки
$replace_callback[] = 'handle_url_tag(\''.get_base_url(true).'/profile.php?id=\'.$matches[1], $matches[2])';
добавить строку
$replace_callback[] = 'handle_fb($matches[1])';
5. В функции do_clickable изменить 2 раза для моей сборки
(?:url|img|imgr|imgl)
на
(?:url|img|imgr|imgl|fb)
или для стандартного форума
(?:url|img)
на
(?:url|img|fb)
UPD
Изменен вариант регулярного выражения в пункте 3.
Редактировался Visman (2016-11-08 15:25:28)
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@lakki, изменил функцию. Дописал
$flag = true;
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Благодарю! Постараюсь проверить на днях
Offline
Так, добрался, внёс правки в файл, но почему то ничего не выводит. Что нужно вставлять? Ссылку на пост или фрейм?
Offline
Эту строку
$pattern_callback[] = '%\[fb\](https?://(?:www\.)?facebook\.com/[^/]+/posts/\d+/?)\[/fb\]%';
следует заменить на эту
$pattern_callback[] = '%\[fb\](https?://(?:[\w-]+\.)?facebook\.com/[^/]+/posts/\d+/?)\[/fb\]%';
Работает с ссылками такого вида
[fb]https://ru-ru.facebook.com/Project5100/posts/1002517809860606[/fb]
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Заменили, и всё равно не обрабатывает
http://dropmefiles.com/TAbVF
Я уже и просто ссылку вставляю, и в кавычках fb.
Редактировался lakki (2016-11-08 14:32:45)
Offline
@lakki, все правильно сделано. Тема на форуме реальная есть со вставленным кодом, чтобы глянуть что в браузере отображается/выполняется?
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Visman, Да, вот ссылка http://tarakan.org.ua/viewtopic.php?pid=437#p437
Offline
@lakki, в логах ошибок на сервере есть что-нибудь про парсер?
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Visman, больше ничего не нашел с ошибками http://dropmefiles.com/5rvKQ
Offline
@lakki, странно. Взял ваш файл парсера, поставил на тестовый форум, бб-код fb работает прекрасно. Ошибок нет.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Visman, Может как-то связано с версией форума?
Сейчас вот попробовал взять другой урл, он заработал. Что-то где-то не то.
Редактировался lakki (2016-11-08 14:56:18)
Offline
@lakki, нет. У меня только одно объяснение: на сайте парсер стоит без изменений Так как он даже не реагирует на fb бб-код.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Visman, Реагирует, но на другой урл. На ваш почему то не срабатывает.
[fb]https://ru-ru.facebook.com/Project5100/ … 7809860606[/fb] - не работает
[fb]https://www.facebook.com/lavinamalll/po … 61784704:0[/fb] - не работает
[fb]https://www.facebook.com/vgorode/posts/1103875959661838[/fb] - работает
Редактировался lakki (2016-11-08 15:01:20)
Offline
@lakki, потому что изменения из https://fluxbb.qb7.ru/forum/viewtopic.p … 660#p29660 видимо нет там.
Если есть, то попробуйте в той строке изменить
[\w-]+
на
[\w\-]+
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Visman, поменял на [\w\-]+ но тоже самое получается что в посте https://fluxbb.qb7.ru/forum/viewtopic.p … 669#p29669
Offline
@lakki, так. Вместо
$pattern_callback[] = '%\[fb\](https?://(?:www\.)?facebook\.com/[^/]+/posts/\d+/?)\[/fb\]%';
пробуйте
$pattern_callback[] = '%\[fb\](https?://(?:[\w\-]+\.)?facebook\.com/[^/]+/posts/\d+.*?)\[/fb\]%';
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Visman, Без изменений http://tarakan.org.ua/viewtopic.php?pid=437#p437
Offline
@lakki, чего-то вы видимо там с парсером намудрили. Сейчас это сообщение выглядит так, как будто бы автоопределение ссылок сработало раньше чем бб-код.
P.S. Запостил все три ссылки. Работает только последняя. Складывается впечатление, что у вас php файлы еще и с задержкой подключаются после обновления.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@lakki, сейчас регулярку погоняю на дебагере. Может чего еще толкового скажу
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Visman, Вот актуальный файл, вроде всё по инструкции делали http://dropmefiles.com/WY6wu
Даже если порядок ссылок изменить, то всё равно обрабатывается та, что и раньше отображалась.
Редактировался lakki (2016-11-08 15:23:06)
Offline
@lakki, дебагер ни чего странного в поведении регуляного выражения не показал. Обрабатываются все три варианта ссылок как в дебагера, так и в реальных условиях через парсер. Как на моем парсера, так и на парсере из вашего файла. Протестировал на PHP 5.4.31 и 7.0.4. Причину неработоспособности мода на вашем форуме назвать не могу.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline