• Модуль: 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();";
}