• Модуль: extranet
  • Путь к файлу: ~/bitrix/modules/extranet/classes/general/extranet.php
  • Класс: CExtranet
  • Вызов: CExtranet::OnUserDelete
static function OnUserDelete($ID): bool
{
	if(!defined("BX_COMP_MANAGED_CACHE"))
	{
		return true;
	}

	if ((int)$ID > 0)
	{
		if (!Loader::includeModule('socialnetwork'))
		{
			return false;
		}

		$dbUsersInGroup = CSocNetUserToGroup::GetList(
			array(),
			array(
				"USER_ID" => $ID,
				"<=ROLE" => SONET_ROLES_USER,
			),
			false,
			false,
			array("ID", "GROUP_ID")
		);

		$arUserSocNetGroups = [];

		if ($dbUsersInGroup)
		{
			while ($arUserInGroup = $dbUsersInGroup->GetNext())
			{
				$arUserSocNetGroups[] = $arUserInGroup["GROUP_ID"];
			}
		}

		$userIdList = [
			(int)$ID,
		];

		if (count($arUserSocNetGroups) > 0)
		{
			$dbUsersInGroup = CSocNetUserToGroup::GetList(
				array(),
				array(
					"@GROUP_ID" => $arUserSocNetGroups,
					"<=ROLE" => SONET_ROLES_USER,
				),
				false,
				false,
				array("ID", "USER_ID")
			);

			if ($dbUsersInGroup)
			{
				while ($arUserInGroup = $dbUsersInGroup->GetNext())
				{
					$userIdList[] = (int)$arUserInGroup["USER_ID"];
				}
			}
		}

		static::clearCache($userIdList);
	}

	return true;
}