Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
weiss

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.

 

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

  • Upvote 6

Поделиться сообщением


Ссылка на сообщение

Класненько. 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, учту.

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
Да, 3.3 и 3.4.

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
12/27/16 21:43 (изменено)

Понял, не тот запрос взял для $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'] );

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
12/27/16 22:20 (изменено)

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение

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

 

Snymok.png

 

Поделиться сообщением


Ссылка на сообщение

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

 

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

Поделиться сообщением


Ссылка на сообщение

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

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

×
×
  • Создать...