форум vBSupport.ru > vBulletin > vBulletin 4.2.x > Вопросы по vBulletin 4.2.x
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
taravasya
Знаток
 
taravasya's Avatar
Default Функция can_moderate() возвращает false
0

Здравствуйте! Появилась необходимость изредка проверять, является ли текущий пользователь, модератором того или иного раздела. Наваял такой код:
PHP Code:
$items_toModerate $vbulletin->db->query_read("SELECT * FROM " TABLE_PREFIX "moderation"); 
while(
$new_entry $vbulletin->db->fetch_array($items_toModerate)) { 
if (
can_moderate($new_entry['primaryid'], 'canmoderateposts'$vbulletin->userinfo['userid'])){ 
echo 
$new_entry['primaryid']; 

else { 
echo 
'false'


В случае с адимном и супер-модератором, она всегда возвращает true, а вот в случае с модератором, всегда возвращается false, хотя как я понимаю, темам в которых пользователь является модератором, должно возвращаться true? Что не правильно сделал? ((

Last edited by taravasya : 07-12-2016 at 05:09 AM.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
YURSHAT
Coder
 
YURSHAT's Avatar
Default
0

@taravasya, хм, странный код. Где и для каких целей это нужно? Вы хотите где-то вывести список разделов, которые может модерировать текущий юзверь?
Таблица moderation хранит контент находящийся на премодерации - ID тем, постов, публичных сообщений, которые находятся на премодерации.

Last edited by YURSHAT : 07-12-2016 at 04:58 AM.
 
 
taravasya
Знаток
 
taravasya's Avatar
Default
0

@YURSHAT, код просто для эксперимента, что-бы выудить нужные кондишины. Скажем так )))
А вообще, это по задумке "расширение" для vBnotifications. Если на очереди модерирования есть какие-либо объекты, то модераторам будет всплывать уведомление об этом. Оно собственно уже сейчас работает нормально... но вот только на данный момент, если модерируемое сообщение появилось в разделе "A", а текущий модератор, является модератором в разделе "Б" и НЕ является таковым в разделе "А", то он видит всплывшее сообщение об этом, но перейдя в кабинет для проверки очереди модерирования, видит ошибку, потому как там сообщения уже отфильтрованы согласно правам модераторов в разделах. Вот я и хочу допилить проверку в хаке. Что-бы уведомление всплывало согласно прав.

taravasya добавил 12.07.2016 в 04:02
Quote:
Originally Posted by YURSHAT View Post
хранит контент находящийся на премодерации - ID тем
Вот их-то я и пытаюсь перебрать с помощью функции can_moderate.
Но я кажется уже понял свою ошибку. Видимо эта функция проверяет разделы а не темы...(((

Last edited by taravasya : 07-12-2016 at 05:02 AM. Reason: Добавлено сообщение
 
 
YURSHAT
Coder
 
YURSHAT's Avatar
Default
1

Quote:
Originally Posted by taravasya View Post
vBnotifications
Это что-то драконовское?

Quote:
Originally Posted by taravasya View Post
что-бы выудить нужные кондишин
Из этой таблицы вы сможете выудить только ИД темы/поста, а для canmoderateposts нужен ИД раздела. Перед тем, как отправить уведомление, нужно выудить ИД раздела и подставить его в функцию:
PHP Code:
can_moderate($forumid'canmoderateposts'$userid
 
 
taravasya
Знаток
 
taravasya's Avatar
Default
0

Quote:
Originally Posted by YURSHAT View Post
Это что-то драконовское?
Да. Только перелопаченное очень сильно )))) Я половину кода убрал, нам не нужного....
 


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 01:17 PM.


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