VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Решила тут запостить темку - в общем обсуждаем адаптацию хаков под четвёрку.
Просьба, кто уже получше разобрался - объясните по русски, когда лучше использовать
{vb:var variable} и {vb:raw variable}
{vbhrase phrase} и {vb:rawphrase phrase}
(смотрела http://www.vbulletin.org/forum/showthread.php?t=217569 но что-то запуталась немного)
В принципе вся суть адаптации шаблонов сводится к замене
<if condition> <else /> </if> на
<vb:if condition> <vb:else /> </vb:if>
(а можно ещё и <vb:elseif />
и можно делать укороченное условие - вместо
массивы типа $bbuserinfo[param] $foruminfo[param] $threadinfo[param] $vboptions[param]
переводятся в {vb:raw bbuserinfo.param} {vb:raw foruminfo.param} {vb:raw threadinfo.param} {vb:raw options.param}
или не {vb:raw а {vb:var
(вроде как если raw то через htmlspecialchars прогоняется, но может быть что-то ещё)
А вообще как-то странно, смотрела несколько хаков под четверку (YAAS например) - так там вообще всё тот же <if condition=""> и привычные $vbphrase и $vboptions... и даже в самой булке иногда проскакивает обращение просто как $vboptions[''] т.е. выходит прежний синтаксис оно нормально поддерживает...
Заметила что теперь для кеширования шаблонов используется переменная $cache а не $globaltemplates и смотря код в cache_tempate блогов - так поняла что теперь можно\надо кешировать права доступа (permission)
Вот ещё отковыряла, что теперь переменные в шаблоны надо по другому выводить
вместо
так же в шаблоны добавлена возможность вызова в цикле <vb:each >
<vb:comment> - для комментирования шаблонов; комментарии в исходном коде появляться не будут
<vb:literal> - позволяющий вывести код заключенный в него без парсинга.
подробнее - тут http://www.vbulletin.org/forum/showthread.php?t=217570
ага, ещё ссылки надо адаптировать в новый формат, для совместимости с сео http://www.vbulletin.org/forum/showthread.php?t=221572
Last edited by Cybermama : 02-01-2010 at 11:45 PM.
В первый раз вижу что с 4 на 3 хак переводили... обычно наоборот приходится
Четвёрка УГ, я не хочу переходить на неё, а хак этот нужен. Вот и приходится корячиться с четверкой из-за него
Mile добавил 31.03.2011 в 18:57
Ещё из серии кэширования шаблонов:
Code:
<?php
if (THIS_SCRIPT == 'member')
{
// Add display to the cache
$cache = array_merge($cache, array(
'dbtech_username_change_member_block',
'dbtech_username_change_member_block_bit',
'dbtech_username_change_member_css',
));
}
if (THIS_SCRIPT == 'profile' AND $_REQUEST['do'] == 'editprofile')
{
// Profile editing form
$cache = array_merge($cache, array(
'dbtech_username_change_editusername',
));
}
?>
Я переделал
Code:
<?php
if (THIS_SCRIPT == 'member')
{
// Add display to the cache
$globaltemplates = array_merge($globaltemplates, array(
'dbtech_username_change_member_block',
'dbtech_username_change_member_block_bit',
'dbtech_username_change_member_css',
));
}
if (THIS_SCRIPT == 'profile' AND $_REQUEST['do'] == 'editprofile')
{
// Profile editing form
$globaltemplates = array_merge($globaltemplates, array(
'dbtech_username_change_editusername',
));
}
?>
Cybermama, я правильно сделал?
Mile добавил 31.03.2011 в 19:02
Code:
<?php
if ($_REQUEST['do'] == 'editprofile')
{
// Temporarily unregister this, we need to hook it
$page_templater->unregister('customfields');
Это вызывает ещё фатал еррор.
Fatal error: Call to a member function unregister() on a non-object in Z:\home\localhost\forum\dbtech\username_change\includes\hooks\profile_complete.php on line 5
Чем можно в тройке заменить эту функцию?
Last edited by Mile : 03-31-2011 at 08:02 PM.
Reason: Добавлено сообщение