- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/user.php
- Класс: CAllUser
- Вызов: CAllUser::CleanUpAgent
static function CleanUpAgent()
{
$cleanup_days = (int)Option::get('main', 'new_user_registration_cleanup_days', 7);
if ($cleanup_days > 0)
{
$date = new MainTypeDate();
$date->add("-{$cleanup_days}D");
if (Option::get('main', 'new_user_registration_email_confirmation', 'N') === 'Y')
{
//unconfirmed email confirmations
$filter = [
"!CONFIRM_CODE" => false,
"=ACTIVE" => 'N',
" $date,
];
$users = MainUserTable::getList([
"filter" => $filter,
"select" => ["ID"],
]);
while ($user = $users->fetch())
{
static::Delete($user["ID"]);
}
}
if (Option::get('main', 'new_user_phone_auth', 'N') === 'Y')
{
//unconfirmed phone confirmations
$filter = [
'=BitrixMainUserPhoneAuthTable:USER.CONFIRMED' => 'N',
"=ACTIVE" => 'N',
" $date,
];
$users = MainUserTable::getList([
"filter" => $filter,
"select" => ["ID"],
]);
while ($user = $users->fetch())
{
static::Delete($user["ID"]);
}
}
}
$historyCleanupDays = (int)Option::get('main', 'profile_history_cleanup_days', 0);
if ($historyCleanupDays > 0)
{
$date = new MainTypeDate();
$date->add("-{$historyCleanupDays}D");
UserProfileHistoryTable::deleteByFilter([" $date]);
}
$deviceCleanupDays = (int)Option::get('main', 'device_history_cleanup_days', 180);
if ($deviceCleanupDays > 0)
{
$date = new MainTypeDate();
$date->add("-{$deviceCleanupDays}D");
UserDeviceLoginTable::deleteByFilter([" $date]);
}
return "CUser::CleanUpAgent();";
}