Блокировка и logout заблокированных пользователей.
Доброго времени суток! Заметил, что с коробки, у Modx странно работает блокировка пользователей, а именно пункт «заблокирован после». Пользователю блокируется вход после выбранной даты, но пока он не вышел — может продолжать просматривать весь сайт + не выставляется *true* в поле *заблокирован*. Хотел это исправить, сначала через сниппет примитивным кодом для проверки:
Все вроде работает даже без *причесывания*, но потом захотелось избавится от вызова сниппета в шаблонах и переделать в плагин. Установил UsersOnline и в его плагин добавил проверку на *blockedafter* и установку *true* в поле заблокирован. И все вроде работает, но блокирует всех пользователей, а не только пользователя у которого прошел доступ(((
$profile = $modx->user->getOne('Profile');
$check_date = time();
$block_date = $profile->get('blockedafter');
if ($block_date > $check_date) {
$block_check = false;
} else {
$block_check = true;
}
if ($block_check) {
$profile->set('blocked', true);
$profile->save();
$response = $response = $modx->runProcessor('/security/logout');
}
Все вроде работает даже без *причесывания*, но потом захотелось избавится от вызова сниппета в шаблонах и переделать в плагин. Установил UsersOnline и в его плагин добавил проверку на *blockedafter* и установку *true* в поле заблокирован. И все вроде работает, но блокирует всех пользователей, а не только пользователя у которого прошел доступ(((