• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/classes/general/invite_dialog.php
  • Класс: CIntranetInviteDialog
  • Вызов: CIntranetInviteDialog::OnAfterUserAuthorize
static function OnAfterUserAuthorize($arParams)
{
	global $CACHE_MANAGER;

	if (
		isset($arParams['update'])
		&& $arParams['update'] === false
	)
	{
		return false;
	}

	if ($arParams['user_fields']['ID'] <= 0)
	{
		return false;
	}

	if (
		array_key_exists('LAST_LOGIN', $arParams['user_fields'])
		&& trim($arParams['user_fields']['LAST_LOGIN']) === '' // do not check CONFIRM_CODE, please
		&& Loader::includeModule("socialnetwork")
	)
	{
		$dbRelation = CSocNetUserToGroup::GetList(
			array(),
			array(
				"USER_ID" => $arParams['user_fields']['ID'],
				"ROLE" => SONET_ROLES_REQUEST,
				"INITIATED_BY_TYPE" => SONET_INITIATED_BY_GROUP
			),
			false,
			false,
			array("ID", "GROUP_ID")
		);
		while ($arRelation = $dbRelation->Fetch())
		{
			if (CSocNetUserToGroup::UserConfirmRequestToBeMember($arParams['user_fields']['ID'], $arRelation["ID"], false))
			{
				if (defined("BX_COMP_MANAGED_CACHE"))
				{
					$CACHE_MANAGER->ClearByTag("sonet_user2group_G".$arRelation["GROUP_ID"]);
					$CACHE_MANAGER->ClearByTag("sonet_user2group_U".$arParams['user_fields']['ID']);
				}

				if (Loader::includeModule("im"))
				{
					CIMNotify::DeleteByTag("SOCNET|INVITE_GROUP|".$arParams['user_fields']['ID']."|". (int)$arRelation["ID"]);
				}
			}
		}
	}
}