Перейти к содержимому
Русский язык для Invision Community 5

Помогите с кнопкой "Предупреждения" в теме

Добрый день!

Недавно сделал кнопку "Предупредить" в теме, как указано в данной статье., но увы не обошлось без проблем.

 

1) При выдаче предупреждения не указывается раздел, видел, что в теме как-то решали эту проблему, но я так и не смог. Просьба более подробно объяснить.

2) Поставил условие "<if test="$this->memberData['is_mod']">", но даже если модератору раздела запрещено предупреждать юзеров, кнопка все равно видна, хотя предупредить он не может, а вот кол-во штрафных баллов не показывается.

3) Кнопка видна у тех у кого есть модераторские права, даже у тех кто не имеет права предупредать и самое главное, что она есть даже в сообщениях тех групп, кого предупреждать нельзя! Например админов.

 

Просьба помочь с условиями, т.к. сам я не смог разобраться (

Рекомендованные сообщения

А почему не написать в той же теме, если делали по инструкции оттуда?

Не указывается раздел, потому что предупреждение происходит из мини-профиля, а там нужно указывать другие параметры.

Кнопка видна всем модератором, независимо от того какие у него права. Условие $this->memberData['is_mod'] проверяет только если данный пользователь является модератором.

Для сообщений вместо {$this->request['from_id1']} заменить на {$post['post']['pid']}

  • Автор

А почему не написать в той же теме, если делали по инструкции оттуда?

Не указывается раздел, потому что предупреждение происходит из мини-профиля, а там нужно указывать другие параметры.

Кнопка видна всем модератором, независимо от того какие у него права. Условие $this->memberData['is_mod'] проверяет только если данный пользователь является модератором.

Для сообщений вместо {$this->request['from_id1']} заменить на {$post['post']['pid']}

Сделал как Вы сказали:

Для сообщений вместо {$this->request['from_id1']} заменить на {$post['post']['pid']}

Но результата не последовало, раздел все равно не отображается.

 

И насчет групп защищенных от предов, как сделать чтобы в их сообщениях данная кнопка не отображалась?

Но результата не последовало, раздел все равно не отображается.

Должен. Для уже выданных предупреждений естественно не будет.

 

И насчет групп защищенных от предов, как сделать чтобы в их сообщениях данная кнопка не отображалась?

Нужно составить условие если автор поста не входит в эту группу - !ipsMember::isInGroup($post['author'], array(3,4,5))

 

<if test="$this->memberData['is_mod'] AND !ipsMember::isInGroup($post['author'], array(3,4,5))">

3,4,5 - ид защищенных групп

  • Автор

Должен. Для уже выданных предупреждений естественно не будет.

 

 

Нужно составить условие если автор поста не входит в эту группу - !ipsMember::isInGroup($post['author'], array(3,4,5))

Нет, выдаю новые, все равно не отображается раздел.

 

Можете помочь составить условие?

{$this->request['from_app']} заменить на {$this->request['app']}

  • Автор

{$this->request['from_app']} заменить на {$this->request['app']}

Отлично! Помогло!

 

При вставке данного условия, форум перестает открывать тему. Возникает белое окно.

При вставке данного условия, форум перестает открывать тему.

Поправил.

  • Автор

Поправил.

Отлично! Все работает, огромное спасибо!

Тему можно закрывать.

Нужно составить условие если автор поста не входит в эту группу - !ipsMember::isInGroup($post['author'], array(3,4,5))
Под защищенными группами, скорее всего, имелась в виду одноименная настройка.

Поэтому

array(3,4,5)

можно заменить на

explode(',', $this->settings['warn_protected'])

Под защищенными группами, скорее всего, имелась в виду одноименная настройка.

Скорее всего да. Уже подзабыл какие настройки там есть.

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.