- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/user.php
- Класс: CAllUser
- Вызов: CAllUser::DeactivateAgent
static function DeactivateAgent()
{
$blockDays = (int)Option::get('main', 'inactive_users_block_days', 0);
if ($blockDays > 0)
{
$log = (Option::get('main', 'event_log_block_user', 'N') === 'Y');
$userObj = new CUser();
$date = new MainTypeDate();
$date->add("-{$blockDays}D");
$filter = [
"=ACTIVE" => 'Y',
"=BLOCKED" => 'N',
" $date,
];
$users = MainUserTable::getList([
"filter" => $filter,
"select" => ["ID"],
]);
while ($user = $users->fetch())
{
$groups = static::GetUserGroup($user["ID"]);
$admin = in_array(1, $groups);
//admins shouldn't be blocked
if (!$admin)
{
$userObj->Update($user["ID"], ["BLOCKED" => 'Y'], false);
if ($log)
{
CEventLog::Log('SECURITY', 'USER_BLOCKED', 'main', $user['ID'], "Inactive days: {$blockDays}");
}
}
}
}
return "CUser::DeactivateAgent();";
}