ModerationService v200.3.1
Одобрение, отклонение, удаление и массовые действия очереди TagsAdd.
Описание: Работа модератора над TagSuggestion. Одобрение вызывает TagSyncService и ЛС автору (onadd). Отклонение шлёт ЛС (ondel) и удаляет запись. Удаление без письма.
Namespace: DevCraft\Modules\TagsAdd\Services
С версии: 200.3.1
Методы
config(): array
Нормализованные настройки модуля (tags_add / файл tagsadd).
approve(int $id, ?string $tagsOverride = null): void
Пишет теги в новость (или доп. поле), уведомляет автора, удаляет заявку.
| Параметр | Тип | Описание |
|---|---|---|
$id | int | ID заявки |
$tagsOverride | string|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().