Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация 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.
Опубликовано:

index.php?app=downloads&module=display&section=screenshot&id=273

Имя файла: Warnbot

Владелец файла: weiss

Файл размещен: 08 Янв 2013

Файл обновлен: 08 Янв 2013

Категория файла: Mods/Моды

 

Хук добавляет «бота», который оставляет сообщения в специальной теме с отчетами о предупреждениях, выданных пользователям. Эти сообщения могут отправляться от любого пользователя, ID которого вы укажете в настройках, либо от имени сделавшего предупреждение.

 

Важно: после установки хука надо настроить ID темы, в которую будут добавляться сообщения, и выбрать форум, в котором лежит эта тема. Настройки находятся по адресу System settings -> вкладка Members -> Warning and Moderation.

 

Нажмите сюда, чтобы скачать этот файл

Рекомендованные сообщения

Опубликовано:

Класненько. IPB 3.3+ работает?

Опубликовано:
  • Автор

Да, 3.3 и 3.4.

Опубликовано:

       define('IPS_ENFORCE_ACCESS', true);
       require_once('initdata.php');
       require_once(IPS_ROOT_PATH . 'sources/base/ipsRegistry.php');
       require_once(IPS_ROOT_PATH . 'sources/base/ipsController.php');

       $registry = ipsRegistry::instance();
       $registry->init();

 

Это лишнее, имхо. http://ipbskins.ru/forum/topic10582.html

А в данном контексте доступен $this->registry и $this->settings

Опубликовано:
  • Автор

@siv1987, учту.

  • 2 года спустя...
Опубликовано:

На 3.2 не поставился...

Опубликовано:
Да, 3.3 и 3.4.
  • 1 год спустя...
Опубликовано:

Подскажите, пожалуйста, в чем моя ошибка. Хочу вывести примечание модератора пользователю (запрос отсюда http://ipbskins.ru/forum/topic13614.html/page__view__findpost__p__90403).

 

После

 

// reason
       if (intval($this->request['reason']) === 0) {
           $reason = $this->lang->words['warnings_reasons_other'];
       } else {
           $reason = $this->reasons[intval($this->request['reason'])]['wr_name'];
       }

Добавляю:

 

// note
       $note = array(
           'select' => 'wr.wr_name',
        'from'   => array( 'members_warn_reasons' => 'wr' ),
        'where'  => 'w.wl_reason=wr.wr_id',
		'type'   => 'left',
       );

Перед

 

$postContent = $this->settings['warnbot_post'];

Добавляю

 

$note    = $warn['wl_note_member'];
$note    = $note ? $note : $warn['wr_name'];

И после

 

$postContent = str_replace('{move_to_ban_group}', $ban_group, $postContent);

Добавляю

 

$postContent = str_replace('{note}', $note, $postContent);

В сообщение по идее должна выводиться заметка модератора по ключу {note}, но она не выводится... В чем проблема?

Опубликовано:

Понял, не тот запрос взял для $note...

 

С такой конструкцией тоже работает некорректно, берет примечание с предыдущего предупреждения почему-то :(

 

// note
	if( ! empty( $wl_id ) )
	{
       $this->DB->build( array( 'select' => 'w.*',
								'from'   => array( 'members_warn_logs' => 'w' ),
								'where'  => 'wl_id IN ('.implode(',', $wl_id).')',
							) );
	$this->DB->execute();

	while( $warn = $this->DB->fetch() )
			{
			$note = $warn['wl_note_member'];
	        $note = $note ? $note : $warn['wr_name'];
			}
	}

Подскажите, пожалуйста, какой запрос будет правильным для этого хука? Очень надо.

Изменено пользователем Strategius

Опубликовано:

Нахрена там запрос, если сообщение создается перед сохранением предупреждения?..

 

$classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/editor/composite.php', 'classes_editor_composite' );
$editor = new $classToLoad();

$note = $editor->process( $_POST['note_member'] );

Опубликовано:

Спасибо огромное, то что нужно!

 

сообщение создается перед сохранением предупреждения

Я вот тоже подумал, почему данные берутся из предыдущей строки базы данных :)

Изменено пользователем Strategius

  • 2 года спустя...
Опубликовано:

на 3.4.6 ( дистрибутив лицензионный ) не захотел работать

 

Snymok.png

 

Опубликовано:

на 3.4.6 ( дистрибутив лицензионный ) не захотел работать

 

А зачем Вы "теги" ({имя}, {причина}, {наказание}) перевели?

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

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.