форум vBSupport.ru > vBSupport.ru > Гурушник > Кодер
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
Cybermama
Эксперт
 
Cybermama's Avatar
Question Перевод хаков на VB4
2

Решила тут запостить темку - в общем обсуждаем адаптацию хаков под четвёрку.

Просьба, кто уже получше разобрался - объясните по русски, когда лучше использовать
{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 />
и можно делать укороченное условие - вместо
Code:
<a href="somepage.php<if condition="$album['albumid']">album=$album[albumid]<else />group=$group[groupid]</if>">link text</a>
Code:
<a href="somepage.php{vb:if $album['albumid'] ? album=$album[albumid] : group=$group[groupid]}">link text</a>
)

массивы типа $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)

Вот ещё отковыряла, что теперь переменные в шаблоны надо по другому выводить
вместо
Code:
eval('$mytemplate = "' . fetch_template('mytemplate') . '";');
http://www.vbulletin.org/forum/showthread.php?t=228078


так же в шаблоны добавлена возможность вызова в цикле <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.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Kristof
Эксперт
 
Kristof's Avatar
Default
0

Оффтоп
 
 
Cybermama
Эксперт
 
Cybermama's Avatar
Default
0

Оффтоп
 
 
Mile
Знаток
 
Mile's Avatar
Default
0

ох, ну и четвёрка...

с if condition-ами уже разобрался

а вот с {vb:raw...... и phrase..... пока непонятки

например, как можно расшифровать такой код под тройку?

Code:
{vb:rawphrase dbtech_username_change_description, {vb:raw bbuserinfo.permissions.dbtech_username_changedelay}}
вот так что ли?

$vbphrase[dbtech_username_change_description]

$bbuserinfo... а дальше как?... разве есть переменная $bbuserinfo[permissions]?

и как они так через запятую идут? как их вместе скомпоновать?

просвятите

Mile добавил 31.03.2011 в 10:41
маленькая зацепка появилась...

{vb:raw равно в тройке $

Last edited by Mile : 03-31-2011 at 11:41 AM. Reason: Добавлено сообщение
 
 
Cybermama
Эксперт
 
Cybermama's Avatar
Default
0

в тройке аналог -
Code:
<phrase 1="$bbuserinfo[dbtech_username_changedelay]">$vbphrase[dbtech_username_change_description]</phrase>
Оффтоп
 
 
Mile
Знаток
 
Mile's Avatar
Default
0

Quote:
Originally Posted by Cybermama View Post
в тройке аналог -
Code:
<phrase 1="$bbuserinfo[dbtech_username_changedelay]">$vbphrase[dbtech_username_change_description]</phrase>
Оффтоп
Четвёрка УГ, я не хочу переходить на неё, а хак этот нужен. Вот и приходится корячиться с четверкой из-за него

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: Добавлено сообщение
 
 
Cybermama
Эксперт
 
Cybermama's Avatar
Default
0

Quote:
Originally Posted by Mile View Post
Cybermama, я правильно сделал?
да
Quote:
Originally Posted by Mile View Post
$page_templater->unregister('customfields');
это вообще убрать - это чисто 4-чная фича
 
 
Mile
Знаток
 
Mile's Avatar
Default
0

Так, с этим разобрался. Следующий подводный камень - ругается на отсутствие класса vB_Template:

Code:
    // Create the edit username template
    $templater = vB_Template::create('dbtech_username_change_editusername');
Это тоже только четвёрочная функция или есть её аналог в тройке?

UPD. Вырезал её, 100500 рендеров, страница загрузилась. Только вот формы смены ника не видно. Ну, копаю дальше...

Mile добавил 01.04.2011 в 13:06
{vb:var и {vb:raw как я понял равны? Тогда вот так можно сделать?

Code:
{vb:rawphrase dbtech_username_change_numchanges, {vb:raw dbtech_numchanges}, {vb:var bbuserinfo.permissions.dbtech_username_numchanges}}<vb:else />{vb:rawphrase dbtech_username_change_numchanges_nolimit, {vb:raw dbtech_numchanges}}
Code:
<phrase 1="$dbtech_numchanges" 2="$bbuserinfo[dbtech_username_numchanges]">$vbphrase[dbtech_username_change_numchanges]</phrase><else /><phrase 1="$dbtech_numchanges">$vbphrase[dbtech_username_change_numchanges_nolimit]</phrase>

Last edited by Mile : 04-01-2011 at 02:13 PM. Reason: Добавлено сообщение
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 06:41 AM.


Powered by vBulletin® Version 3.0.17
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.