форум vBSupport.ru > vBulletin > Old vB versions (3.0.x & 2.x.x) > vBulletin 3.6.x > vBulletin [3.6] Troubleshooting and Problems
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
glider
Простоузер
Default Установка статуса модератора в зависимотси от раздела
0

Всем привет.

Требуется отображать статус "Модератор" только в тех разделах, где пользователь является модератором. Как это сделать?

Попытался решить вопрос самостоятельно, но познаний в php не хватило, так что до решения не докопался.
Идея была такая. В профиле у модераторов устанавливаем "Отображать пользователя в группе" в "Зарегистрированные", чтобы отображался "обычный" статус (т.е. тот, который зависит от сообщений). Дальше поступаем по совету g0rn'a.

PHP Code:
<if condition="$post['usergroupid'] == 7">
    <
div class="smallfont">$vbulletin->usergroupcache[7]['usertitle']</div>
<else />
    <if 
condition="$post['usertitle']"><div class="smallfont">$post[usertitle]</div></if>
</if> 
Вроде все правильно, но ничего не работает.
Помогите, пожалуйста, разобраться.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
kerk
k0t
 
kerk's Avatar
Default
0

Code:
$vbulletin->usergroupcache[7]['usertitle']
вот это в шаблонах и не будет работать
 
 
glider
Простоузер
Default
0

Quote:
Originally Posted by kerk View Post
вот это в шаблонах и не будет работать
Да, верно. И более того, первая ветка никогда не сработает, потому что в $post['usergroupid'] находится идентификатор основной группы пользователя, т.е. в данном случае -- 2.

Придется вносить изменения в вызывающий код, чтобы как-то добавлять в $post дополнительный признак (является ли пользовтель модератором).
Есть идеи, как это проще сделать?

Или может все таки готовое решение существует?
 
 
maJic
В Черном списке
 
maJic's Avatar
Default
0

glider, поставить модуль letphp
 
 
glider
Простоузер
Default
0

В общем, сделал.

Надо изменить метод vB_Postbit::process_registered_user() (находится в файле class_postbit.php).

После вызова fetch_musername надо добавить следующее (предварительно объявив $vbulletin, как глобальную):
PHP Code:
if (can_moderate($this->thread['forumid'], ''$this->post['userid'], '7'))
{
    if(
$this->post['usertitle'] != '')
        
$this->post['usertitle'] = $vbulletin->usergroupcache[7]['usertitle'];

В итоге у нас изменяется поведение везде, где используется этот класс (т.е. где отображаются посты).

Буду признателен, если кто укажет на подводные камни, которые могут тут возникнуть. Все так с кодом форума плохо знаком.
 
 
kerk
k0t
 
kerk's Avatar
Default
0

подводный камень (булыжник) один - обновление форума
все остальные - мелкая галька
 
 
glider
Простоузер
Default
0

Ну да, завернуть бы эти изменения в нормальны плагин. А так да, придется каждый следить и вручную менять.
 

Tags
модератор, раздел, статус


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 05:45 AM.


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