Перейти к содержанию

Жалобы элементов контента

Поддерживая механизм жалоб в вашем приложении, пользователи смогут жаловаться на ваши элементы контента модераторам, которые смогут рассматривать их в центре жалоб.

Как реализовать жалобы

Во-первых, вам необходимо реализовать интерфейс жалоб в вашей модели элементов контента, например:

implements \IPS\Content\ReportCenter

Затем добавьте статическое свойство в модель вашего элемента контента. Это свойство является названием иконки FontAwesome, которая будет представлять ваши элементы контента при просмотре в центре жалоб:

public static $icon = 'string';

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

{{if !\IPS\Member::loggedIn()->group['gbw_no_report'] and $item->author()->member_id != \IPS\Member::loggedIn()->member_id }}
	<a href='{$item->url('report')}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="report_post"}" data-ipsDialog-
flashMessage="{lang="node_error"}" title='{lang="report_post"}'><i class='icon-exclamation-sign'></i>&nbsp; {lang="report_post"}</a>
{{endif}}

Дополнительные доступные методы модели

boolean canReport( [ \IPS\Member $member ] )

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

  • $member (\IPS\Member, optional) - Пользователь, чьи разрешения должны быть проверены. По умолчанию используется текущий авторизованный пользователь.

\IPS\core\Reports\Report report( string $reportContent )

Отправляет и возвращает жалобу на элемент.

  • $reportContent (string, required) - Контент жалобы.



×
×
  • Создать...

Важная информация

Используя наш сайт вы соглашаетесь с нашей Политикой конфиденциальности