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

Настройка Игнора

Подскажите как можно реализовать такое: При добавления пользователя в Игнор, этот заигноренный пользователь не может видеть сообщения в темах того пользователя который внёс его в Игнор.

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

  • Автор

В идеальном плане был бы благодарен что бы подсказали универсальное условие, которое определяет может ли видеть заигноренный пользователь ту или иную информацию у пользователя который внёс его в игнор.

  • Автор

Ребята очень нужно - помогите плиз.

Я стесняюсь спросить, это у вас мод какой-то стоит, который позволяет кидать пользователям друг друга в ЧС? Просто не помню такого в стандартном функционале.

23 минуты назад, Lesovsky сказал:

Я стесняюсь спросить, это у вас мод какой-то стоит, который позволяет кидать пользователям друг друга в ЧС? Просто не помню такого в стандартном функционале.

Это штатно в функционале. Можно просто заблокировать юзера и не видет его ответы... но он не доработан... видно его цитаты ))

  • Автор
4 часа назад, Атаман сказал:

Можно просто заблокировать юзера и не видет его ответы... но он не доработан... видно его цитаты ))

Бог с этими цитатами, мне бы реализовать то что я выше написал 😉

  • Автор

Вот есть условие:

<if test="isNotIgnoring:|:$post['post']['_ignored'] == 1">

Как его поменять что бы оно работало иначе, скрывало контент от тех кого поместил в игнор?

В массиве $post нет данных об игнорируемых юзерах.

В admin/applications/forums/modules_public/forums/topics.php выше 

/* Add data hook joins */

добавить 

		if ($this->memberData['member_id'])
		{
			$_post_joins[] = array( 
				'select' => 'iu.ignore_ignore_id',
				'from'   => array( 'ignored_users' => 'iu' ),
				'where'  => 'm.member_id=iu.ignore_owner_id AND iu.ignore_topics=1 AND iu.ignore_ignore_id=' . $this->memberData['member_id'],
				'type'   => 'left'
			);
		}

Потом в шаблоне можете проверять $post['post']['ignore_ignore_id']

  • Автор
4 часа назад, newbie сказал:

В admin/applications/forums/modules_public/forums/topics.php выше 

Большое спасибо, то что надо, как всегда выручили! 🙏

Скажите, а что бы скрыть профили, что нужно добавить?

Изменено пользователем Haktar

  • Автор
9 часов назад, Haktar сказал:

Скажите, а что бы скрыть профили, что нужно добавить?

Я это к тому что игнорируемый может свободно оставлять комменты в профиле. 

22 часа назад, Haktar сказал:

Скажите, а что бы скрыть профили, что нужно добавить?

Как скрыть?

  • Автор
3 минуты назад, newbie сказал:

Как скрыть?

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

admin/applications/members/sources/comments.php

Там кстати есть код на проверку игнора, и постановку коммента на премодерацию. Только не работает.


Выше 

		/* Comment requires approval? */

добавить 

		$ignoredUsers = IPSMember::fetchIgnoredUsers($member);
		
		if (isset($ignoredUsers[$this->memberData['member_id']]))
		{
			return 'nopermission';
		}

В шаблоне можете также получать данные и проверять.

  • Автор
26 минут назад, newbie сказал:

admin/applications/members/sources/comments.php

Спасибо.

28 минут назад, newbie сказал:

В шаблоне можете также получать данные и проверять.

В шаблоне комментов или профиля? А какое условие?

13 минут назад, Haktar сказал:

В шаблоне комментов или профиля?

Вам же нужно форму отправки комментов скрыть, а она находится в profileModern

13 минут назад, Haktar сказал:

А какое условие?

Вот текущее условие показа формы

<if test="leave_comment:|:$this->memberData['member_id']">

меняете на 

<php>
$ignoredUsers = $this->memberData['member_id'] ? IPSMember::fetchIgnoredUsers($member) : array();
</php>  
<if test="leave_comment:|:$this->memberData['member_id'] and !isset($ignoredUsers[$this->memberData['member_id']])">

 

  • Автор
15 минут назад, newbie сказал:

меняете на 

Спасибо! То что надо!

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

Аккаунт

Навигация

Поиск

Поиск

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

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