Posted 1 сентября, 20213 yr comment_172075 Привет. Когда пользователь публикует пост/тему - она проходит модерацию, с этим понятно. Но! Бывают ситуации, когда одобренную ранее тему или пост - нужно снова вернуть на модерацию, чтобы участник изменил/отредактировал свою тему/сообщение, но при этом она должны быть скрыта для остальных посетителей. То есть тему должны видеть только Автор и Админы/Модераторы. Как такое сделать? Я пробовал просто скрывать пост/тему, но тогда она скрывается и для автора и он не может её редактировать. Кому интересно зачем это. Объясняю: предположим человек публикует созданную им игру. Он периодически редактирует свою тему (ведет блог) добавляя туда скриншоты, описание и тд. И вот допустим он в одном из таких редактирований - накосячил и залил не ту ссылку или не правильно оформил пост (не по правилам раздела). Просто устно просить каждого исправлять - бесполезно и того не стоит. А вот если автор будет видеть, что тема скрыта от всех, кроме него - то это предаст ему стимула почитать правила и всё оперативно исправить. Edited 1 сентября, 20213 yr by WebUser
1 сентября, 20213 yr comment_172082 Я делал такое, но из за того, что все типы modAction захардкожены, получается не очень изящно (но безопасно). Работало, базируясь на правах canHide(), меня устраивало.
2 сентября, 20213 yr Author comment_172090 @Desti а не поделитесь самой реализацией? Или там много чего нужно менять и лучше этого не делать? У меня есть альтернативное решение, но оно такое себе. Это создать внизу форума раздел "Корзина" и просто перемещать туда темы/посты, которые не соответствуют правилам оформления. Когда человек всё оформит - перемещать назад. Если ваше решение окажется сложным, тогда наверное так и сделаю.
2 сентября, 20213 yr comment_172091 Ключевое слово "делал", исходников не осталось. Плюс у меня были только темы, без сообщений. Если делать красиво (с проверками/оповещениями/модлогами и прочим ui), то получается очень много кода. Можно, конечно, обойтись и без этого, в сильно упрощенном варианте.
2 сентября, 20213 yr Author comment_172094 19 минут назад, Desti сказал: Вечером попробую вспомнить, что там было, простой плагин вроде. Спасибо. Сгодится и самый простой вариант, без оповещений/модлогов и прочих ui. При чем достаточно возвращать только тему на модерацию (отдельные посты не обязательно).
2 сентября, 20213 yr comment_172098 Вроде работает. Тему можно только отправить на модерацию, вернуть назад можно штатными средствами. Send Topic To Moderation 1.0.0.xml
3 сентября, 20213 yr Author comment_172126 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 3 сентября, 20213 yr by WebUser
4 сентября, 20213 yr Author comment_172149 7 часов назад, Desti сказал: Под dev запускаете? Как понять под dev? 8 часов назад, Desti сказал: я не проверял на email оповещения Может тогда просто отключить функцию оповещения при возвращении темы на модерацию? Если так можно.
4 сентября, 20213 yr Author comment_172158 30 минут назад, Desti сказал: Без оповещения. Теперь работает без ошибок! Огромное спасибо!
4 сентября, 20213 yr comment_172160 4 часа назад, WebUser сказал: Как понять под dev? в режиме разработчика.
5 сентября, 20213 yr Author comment_172189 В 04.09.2021 в 14:50, by_ix сказал: в режиме разработчика В админке видел только режим дизайнера 😀
5 сентября, 20213 yr comment_172193 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.