Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Вернуть сообщение или тему обратно на модерацию (4.6.5.1)

Featured Replies

Posted

Привет. Когда пользователь публикует пост/тему - она проходит модерацию, с этим понятно. Но! Бывают ситуации, когда одобренную ранее тему или пост - нужно снова вернуть на модерацию, чтобы участник изменил/отредактировал свою тему/сообщение, но при этом она должны быть скрыта для остальных посетителей. То есть тему должны видеть только Автор и Админы/Модераторы. Как такое сделать?

Я пробовал просто скрывать пост/тему, но тогда она скрывается и для автора и он не может её редактировать.

Кому интересно зачем это. Объясняю: предположим человек публикует созданную им игру. Он периодически редактирует свою тему (ведет блог) добавляя туда скриншоты, описание и тд. И вот допустим он в одном из таких редактирований - накосячил и залил не ту ссылку или не правильно оформил пост (не по правилам раздела). Просто устно просить каждого исправлять - бесполезно и того не стоит. А вот если автор будет видеть, что тема скрыта от всех, кроме него - то это предаст ему стимула почитать правила и всё оперативно исправить.

Edited by WebUser

Я делал такое, но из за того, что все типы modAction захардкожены, получается не очень изящно (но безопасно). Работало, базируясь на правах canHide(), меня устраивало. 

 

  • Author

@Desti а не поделитесь самой реализацией? Или там много чего нужно менять и лучше этого не делать?

У меня есть альтернативное решение, но оно такое себе. Это создать внизу форума раздел "Корзина" и просто перемещать туда темы/посты, которые не соответствуют правилам оформления. Когда человек всё оформит - перемещать назад.

Если ваше решение окажется сложным, тогда наверное так и сделаю.

Ключевое слово "делал", исходников не осталось. Плюс у меня были только темы, без сообщений. Если делать красиво (с проверками/оповещениями/модлогами и прочим ui), то получается очень много кода. Можно, конечно, обойтись и без этого, в сильно упрощенном варианте.

  • Author
19 минут назад, Desti сказал:

Вечером попробую вспомнить, что там было, простой плагин вроде.

Спасибо. Сгодится и самый простой вариант, без оповещений/модлогов и прочих ui. При чем достаточно возвращать только тему на модерацию (отдельные посты не обязательно).

  • Author
23 часа назад, Desti сказал:

Вроде работает.

выдает ошибку, при отправки темы на модерацию

001.jpg.2f26987ee4a0de660f3d92cdf08db527.jpg

там кстати выводится какой то код ошибки

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 by WebUser

  • Author
7 часов назад, Desti сказал:

Под dev запускаете?

Как понять под dev?

8 часов назад, Desti сказал:

я не проверял на email оповещения

Может тогда просто отключить функцию оповещения при возвращении темы на модерацию? Если так можно.

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.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.