Опубликовано: 30 октября 201213 г Где можно убрать, что бы модераторы, и любые другие группы имеющие доступ к системе предупреждений не имели возможность переводить в другие группы?И где настраиваются санкции, в зависимости от количества набранных баллов?
Опубликовано: 17 марта 20169 г Такая задача. Есть политический сабфорум. Люди там перекипетятся - надо наказать, совсем банить не охото. Придумал группу без доступа в этот сабфорум, наказываю политических переводом в эту группу. Зато пока дней 10 они туда доступа не имеют, они по другим веткам форума свободно ходят. Как сделать,что бы через 10 допустим дней, они автоматом возвращались в зад?
Опубликовано: 17 марта 20169 г Я сделал вид наказания который сразу дает 10 баллов. За 10 баллов настроил, что бы юзера автоматом переводило в группу без политики. Там же настроил, что бы 10 баллов автоматически снималось через 10 дней. Но юзер остается в группе без политики, как сделать, что бы со снятием 10 баллов юзер вновь возвращался в группу исхода?
Опубликовано: 17 марта 20169 г Если не переводит обратно, тогда придется допилить чтобы при выдаче предупреждения сохранялся real group id, а при истечение переносить обратно.
Опубликовано: 18 марта 20169 г По умолчанию функционал форума не предназначен для перемещения обратно в текущую группу пользователя. При выдаче предупреждение в /admin/applications/members/modules_public/profile/warnings.php::save() нужно сохранить в кеше пользователя (как самый простой вариант) его текущую группу. При снятие бана в /admin/sources/base/ipsRegistry.php проверить наличие группы и перенести его обратно в нее.
Опубликовано: 19 марта 20169 г Там же настроил, что бы 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']}" ); }
Опубликовано: 25 февраля 20178 г Сделал правку из поста #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' ) )Оно правильное? Изменено 25 февраля 20178 г пользователем Strategius
Опубликовано: 25 февраля 20178 г Отключение выхода так и было задумано, чтобы пользователь не создавал новых аккаунтов. Естественно защита слабая, но тем не менее для неискушенных пользователей это может вызвать определенные затруднения, особенно для тех кто пользуются одним браузером, а о "куки" слышали только из кулинарных рецептов.
Где можно убрать, что бы модераторы, и любые другие группы имеющие доступ к системе предупреждений не имели возможность переводить в другие группы?
И где настраиваются санкции, в зависимости от количества набранных баллов?