DevCraft Документации
Справочник

ModerationService v200.3.1

Одобрение, отклонение, удаление и массовые действия очереди TagsAdd.

Описание: Работа модератора над TagSuggestion. Одобрение вызывает TagSyncService и ЛС автору (onadd). Отклонение шлёт ЛС (ondel) и удаляет запись. Удаление без письма.

Namespace: DevCraft\Modules\TagsAdd\Services

С версии: 200.3.1

См. также: очередь, ajax

Методы

config(): array

Нормализованные настройки модуля (tags_add / файл tagsadd).

approve(int $id, ?string $tagsOverride = null): void

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

ПараметрТипОписание
$idintID заявки
$tagsOverridestring|nullЗамена списка перед записью. По умолчанию: null (теги заявки)

Исключения: \RuntimeException — заявка не найдена.

reject(int $id, string $reason = ''): void

Пустая причина → decline_reason_default из настроек. Запись после письма удаляется.

delete(int $id): void

Только удаление из очереди, без ЛС.

saveTags(int $id, string $tags): void

Правит текст заявки (карточка «Редактировать»), не пишет в новость.

bulk(string $action, array $ids, string $reason = ''): int

$action: approve, reject, delete. Битые id пропускаются. Возвращает число обработанных.

buildVars(array $news, string $userName, TagSuggestion $entity): array

Плейсхолдеры {user}, {suggested_tags}, {moderate_suggested_tags}, {decline_reason} для шаблонов ЛС.

loadNewsRow(int $newsId): array

Строка post (+ post_extras при наличии) для тегов новости в письмах.

newsUrl(array $news): string

Устарело: используйте ParseTemplateTags::fullLink().

На этой странице