VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Создание BBcode с возможностью PHP обработки данных в области "замены"
11
Часто возникает необходимость создать BBcode с возможностью PHP обработки данных в области "замены".
Например утилитарный BBcode, который выводит текущую цену какого то товара, которую необходимо взять из внешнего файла или из БД. Или например список текущих батлов на игровом сервере. Или список линков на активные треки для прослушивания...
В общем задач может быть много. Проблема в том, что стандартная реализация BBcode не позволяет в область замены вставлять условия и инклюдить информацию из внешних источников.
Но все это можно реализовать с помощью собственного модуля, который позволяет выполнить php код.
[B]Лето - 2012 в сезонной коллекции от официального визажиста Орифлэйм Йонаса Врамеля[/B]
Лето – это пора беззаботного веселья и яркого солнца. От пляжного релакса до вечеринки – всего одно цветное мгновенье. Добавьте к золотистой коже брызги волнующих оттенков на губах и ногтях и будьте в центре внимания. Содержит SPF-фильтр и защищает кожу губ от негативного воздействия солнечных лучей. 1,6 г.
[B]Губная помада «Гламурное лето»[/B]
Новые оттенки этого лета, разработанные Йонасом Врамелем. Содержит SPF 12 и зазищает кожу губ от негативного воздействия солнечных лучей. 1,6 г.
[B]Лак для ногтей «Гламурное лето»[/B]
Игривые оттенки, рекомендованные лично Йонасом Врамелем, придутся по душе и королеве пляжа, и звезде вечеринки. Формула с УФ-фильтрами. 7 мл
Как видите в сообщении были использованы несколько BBcode, которые делают запрос в БД и формируют результирующий html код в зависимости от кода продукции.
И так приступим. Последовательность создания собственного BBcode с возможностью исполнения PHP кода.
Создаем в админ панели новый собственный BBcode . Например mynewbbcode
Заголовок - mynewbbcode
Название BB кода - mynewbbcode
Замена - mynewbbcode
Пример -
Code:
[mynewbbcode="12345"]Это пример[/mynewbbcode]
Использовать опцию - по необходимости
Другие опции - по логике и необходимости
Создаем в админ панели новый собственный модуль для обработки BBcode.
Продукт - vBulletin
Местоположение модуля - bbcode_create
Заголовок - какой хотите
Порядок выполнения - по умолчанию
Код PHP модуля. Тут будет два варианта для случаев если у BBcode есть опции и когда их нет.
if(!function_exists ('handle_mynewbbcode'))
{
function handle_mynewbbcode (&$theobj, &$value, &$option)
{
$result = 'Вот мы этот текст и выведем, при этом значение параметра BBcode будет - ' . $value . ', а значение опции будет - ' . $option;
return $result;
}
}
if(!function_exists ('handle_mynewbbcode'))
{
function handle_mynewbbcode (&$theobj, &$value, &$option)
{
$result = 'Вот мы этот текст и выведем, при этом значение параметра BBcode будет - ' . $value . ', а значение опции не будет';
return $result;
}
}
Как видите разница в этих двух вариантах только в элементе массива $this->tag_list
Модуль включен - Да
Замечу, что в одном модуле может быть несколько разных BBcode, которые в коде идут последовательно. Например:
if(!function_exists ('handle_mynewbbcode1'))
{
function handle_mynewbbcode1 (&$theobj, &$value, &$option)
{
$result = 'Вот мы этот текст и выведем, при этом значение параметра BBcode будет - ' . $value . ', а значение опции будет - ' . $option;
return $result;
}
}
if(!function_exists ('handle_mynewbbcode2'))
{
function handle_mynewbbcode2 (&$theobj, &$value, &$option)
{
$result = 'Вот мы этот текст и выведем, при этом значение параметра BBcode будет - ' . $value . ', а значение опции не будет';
return $result;
}
}
В общем это все, Ваш BBcode создан и уже функционирует. При этом внутри функции handle_mynewbbcode Вы можете инклюдить любые файлы, можете объявлять переменные, можете выполнить запрос к БД, в общем делать все что вам нужно.