Posted September 1, 20213 yr Привет. Когда пользователь публикует пост/тему - она проходит модерацию, с этим понятно. Но! Бывают ситуации, когда одобренную ранее тему или пост - нужно снова вернуть на модерацию, чтобы участник изменил/отредактировал свою тему/сообщение, но при этом она должны быть скрыта для остальных посетителей. То есть тему должны видеть только Автор и Админы/Модераторы. Как такое сделать? Я пробовал просто скрывать пост/тему, но тогда она скрывается и для автора и он не может её редактировать. Кому интересно зачем это. Объясняю: предположим человек публикует созданную им игру. Он периодически редактирует свою тему (ведет блог) добавляя туда скриншоты, описание и тд. И вот допустим он в одном из таких редактирований - накосячил и залил не ту ссылку или не правильно оформил пост (не по правилам раздела). Просто устно просить каждого исправлять - бесполезно и того не стоит. А вот если автор будет видеть, что тема скрыта от всех, кроме него - то это предаст ему стимула почитать правила и всё оперативно исправить. Edited September 1, 20213 yr by WebUser
September 1, 20213 yr Я делал такое, но из за того, что все типы modAction захардкожены, получается не очень изящно (но безопасно). Работало, базируясь на правах canHide(), меня устраивало.
September 2, 20213 yr Author @Desti а не поделитесь самой реализацией? Или там много чего нужно менять и лучше этого не делать? У меня есть альтернативное решение, но оно такое себе. Это создать внизу форума раздел "Корзина" и просто перемещать туда темы/посты, которые не соответствуют правилам оформления. Когда человек всё оформит - перемещать назад. Если ваше решение окажется сложным, тогда наверное так и сделаю.
September 2, 20213 yr Ключевое слово "делал", исходников не осталось. Плюс у меня были только темы, без сообщений. Если делать красиво (с проверками/оповещениями/модлогами и прочим ui), то получается очень много кода. Можно, конечно, обойтись и без этого, в сильно упрощенном варианте.
September 2, 20213 yr Author 19 минут назад, Desti сказал: Вечером попробую вспомнить, что там было, простой плагин вроде. Спасибо. Сгодится и самый простой вариант, без оповещений/модлогов и прочих ui. При чем достаточно возвращать только тему на модерацию (отдельные посты не обязательно).
September 2, 20213 yr Вроде работает. Тему можно только отправить на модерацию, вернуть назад можно штатными средствами. Send Topic To Moderation 1.0.0.xml
September 3, 20213 yr Author 23 часа назад, Desti сказал: Вроде работает. выдает ошибку, при отправки темы на модерацию там кстати выводится какой то код ошибки ArgumentCountError: Too few arguments to function IPS\Theme\email__core_notification_unapproved_content_subject_ru_RU_UTF_8(), 2 passed in /home/xxx/domains/test.ru/public_html/forum/system/Email/Email.php on line 1027 and exactly 3 expected (0) #0 /home/xxx/domains/test.ru/public_html/forum/system/Email/Email.php(1027): IPS\Theme\email__core_notification_unapproved_content_subject_ru_RU_UTF_8(Object(IPS\forums\Topic), Object(IPS\Email\Outgoing\Php)) #1 /home/xxx/domains/test.ru/public_html/forum/system/Email/Email.php(516): IPS\_Email::devProcessTemplate('email__core_not...', '{$member->name|...', Array, 'plaintext') #2 /home/xxx/domains/test.ru/public_html/forum/system/Email/Email.php(847): IPS\_Email->compileSubject(Object(IPS\Member), Object(IPS\Lang)) #3 /home/xxx/domains/test.ru/public_html/forum/system/Notification/Notification.php(925): IPS\_Email->mergeAndSend(Array, NULL, NULL, Array, Object(IPS\Lang)) #4 /home/xxx/domains/test.ru/public_html/forum/system/Notification/Notification.php(905): IPS\_Notification->sendEmails(Array, Array) #5 /home/xxx/domains/test.ru/public_html/forum/init.php(902) : eval()'d code(39): IPS\_Notification->send() #6 /home/xxx/domains/test.ru/public_html/forum/system/Content/Controller.php(929): IPS\forums\hook6->modAction('sendtomod') #7 /home/xxx/domains/test.ru/public_html/forum/system/Dispatcher/Controller.php(90): IPS\Content\_Controller->moderate() #8 /home/xxx/domains/test.ru/public_html/forum/system/Content/Controller.php(50): IPS\Dispatcher\_Controller->execute() #9 /home/xxx/domains/test.ru/public_html/forum/applications/forums/modules/front/forums/topic.php(39): IPS\Content\_Controller->execute() #10 /home/xxx/domains/test.ru/public_html/forum/system/Dispatcher/Dispatcher.php(153): IPS\forums\modules\front\forums\_topic->execute() #11 /home/xxx/domains/test.ru/public_html/forum/index.php(13): IPS\_Dispatcher->run() #12 {main} Edited September 3, 20213 yr by WebUser
September 4, 20213 yr Author 7 часов назад, Desti сказал: Под dev запускаете? Как понять под dev? 8 часов назад, Desti сказал: я не проверял на email оповещения Может тогда просто отключить функцию оповещения при возвращении темы на модерацию? Если так можно.
September 4, 20213 yr Author 30 минут назад, Desti сказал: Без оповещения. Теперь работает без ошибок! Огромное спасибо!
September 5, 20213 yr Author В 04.09.2021 в 14:50, by_ix сказал: в режиме разработчика В админке видел только режим дизайнера 😀
September 5, 20213 yr 18 минут назад, WebUser сказал: В админке видел только режим дизайнера 😀 чтоб его включить, нужно установить файлы для него.https://invisioncommunity.com/files/file/7185-developer-tools/https://invisioncommunity.com/developers/docs/general/enabling-developer-mode-r23/
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.