Перейти к публикации
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.

Система предупреждений

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

Где можно убрать, что бы модераторы, и любые другие группы имеющие доступ к системе предупреждений не имели возможность переводить в другие группы?

И где настраиваются санкции, в зависимости от количества набранных баллов?

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

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

Такая задача. Есть политический сабфорум. Люди там перекипетятся - надо наказать, совсем банить не охото. Придумал группу без доступа в этот сабфорум, наказываю политических переводом в эту группу. Зато пока дней 10 они туда доступа не имеют, они по другим веткам форума свободно ходят.

 

Как сделать,что бы через 10 допустим дней, они автоматом возвращались в зад?

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

Я сделал вид наказания который сразу дает 10 баллов.

 

За 10 баллов настроил, что бы юзера автоматом переводило в группу без политики.

 

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

 

Но юзер остается в группе без политики, как сделать, что бы со снятием 10 баллов юзер вновь возвращался в группу исхода?

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

Если не переводит обратно, тогда придется допилить чтобы при выдаче предупреждения сохранялся real group id, а при истечение переносить обратно.

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

Да вот как и где7 )

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

По умолчанию функционал форума не предназначен для перемещения обратно в текущую группу пользователя.

При выдаче предупреждение в /admin/applications/members/modules_public/profile/warnings.php::save() нужно сохранить в кеше пользователя (как самый простой вариант) его текущую группу.

При снятие бана в /admin/sources/base/ipsRegistry.php проверить наличие группы и перенести его обратно в нее.

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

Да! Но вот как это прописать? )

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

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

Баллы предупреждения автоматически снимаются задачей.

 

1. Добавить новое поле в таблице ibf_members_warn_logs куда будет сохранятся текущая группа пользователя:

 

ALTER TABLE ibf_members_warn_logs ADD COLUMN wl_member_group SMALLINT UNSIGNED NOT NULL DEFAULT '0'

 

2. Открыть \admin\applications\members\modules_public\profile\warnings.php

Найти

 

			'wl_ban_group'		=> $banGroup,

Ниже добавить

 

			'wl_member_group'	=> ( $banGroup ? $this->_member['member_group_id'] : 0 ),

 

3. Открыть задачу \admin\applications\members\tasks\warnings.php

Найти

 

			$this->DB->update( 'members_warn_logs', array( 'wl_expire_date' => 0 ), "wl_id={$r['wl_id']}" );

Ниже добавить

 

		if( $r['wl_member_group'] )
		{
			$this->DB->update( 'members', array( 'member_group_id' => $r['wl_member_group'] ), "member_id={$r['wl_member']}" );
		}

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

Ррработает!

 

Благодарю. +1

  • 11 месяцев спустя...
Опубликовано:

Сделал правку из поста #23, работает отлично, но нашел небольшой баг. При попытке авторизации под забаненной учетной записью выводится предупреждение, что мы забанены (это правильно), но выйти из этой учетки уже нельзя, чтобы перезайти в другую... Только если очистить куки браузера. Можно ли это пофиксить?

 

Нашел такое решение:

 

admin/sources/base/ipsRegistry.php

 

if ( ipsRegistry::$request['module'] != 'ajax' or ipsRegistry::$request['section'] != 'warnings' )

Заменить на

 

if( ( ipsRegistry::$request['module'] != 'ajax' or ipsRegistry::$request['section'] != 'warnings' ) && ( ipsRegistry::$request['section'] != 'login' && ipsRegistry::$request['do'] != 'logout' ) )

Оно правильное?

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

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

Отключение выхода так и было задумано, чтобы пользователь не создавал новых аккаунтов. Естественно защита слабая, но тем не менее для неискушенных пользователей это может вызвать определенные затруднения, особенно для тех кто пользуются одним браузером, а о "куки" слышали только из кулинарных рецептов.

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

Сейчас на странице 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.