Skip to content
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.

Warnbot

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.

 

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

Featured Replies

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

  • Author

Да, 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

  • Author

@siv1987, учту.

  • 2 years later...

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

  • 1 year later...

Подскажите, пожалуйста, в чем моя ошибка. Хочу вывести примечание модератора пользователю (запрос отсюда 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'];
			}
	}

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

Edited by Strategius

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

 

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

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

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

 

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

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

Edited by Strategius

  • 2 years later...

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

 

Snymok.png

 

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

 

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

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

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.