• Модуль: extranet
  • Путь к файлу: ~/bitrix/modules/extranet/classes/general/extranet.php
  • Класс: CExtranet
  • Вызов: CExtranet::ClearPublicUserCacheOnAddUpdate
static function ClearPublicUserCacheOnAddUpdate($arFields): bool
{
	global $CACHE_MANAGER;

	$id = (int)(isset($arFields['ID']) ?? 0);
	if ($id > 0) // update
	{
		$dbRes = CUser::GetList(
			"id", "asc",
			array("ID_EQUAL_EXACT" => (int)$arFields['ID']),
			array('SELECT' => array('UF_PUBLIC'))
		);

		if (
			($arOldFields = $dbRes->Fetch()) && isset($arFields['UF_PUBLIC'])
			&& $arOldFields['UF_PUBLIC'] != $arFields['UF_PUBLIC']
		)
		{
			$CACHE_MANAGER->ClearByTag("extranet_public");
		}
	}
	elseif (isset($arFields['UF_PUBLIC'])) // add
	{
		$CACHE_MANAGER->ClearByTag("extranet_public");
	}

	return true;
}