• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/iblock.php
  • Класс: CWebDavIblock
  • Вызов: CWebDavIblock::UpdateSearchRights
static function UpdateSearchRights($ID, $iblockID = null)
{
	if (!CModule::IncludeModule('search'))
		return true;

	$ID = (int) $ID;
	if ($ID <= 0)
		return false;

	if ($iblockID === null)
	{
		$rElement = CIBlockElement::GetList(
			array(),
			array(
				'ID' => $ID,
				'SHOW_NEW' => 'Y',
			),
			false,
			false,
			array(
				'ID',
				'IBLOCK_ID',
			)
		);

		if ($rElement && $arElement = $rElement->Fetch())
		{
			$iblockID = $arElement['IBLOCK_ID'];
		}
	}

	$iblockID = (int) $iblockID;
	if ($iblockID <= 0)
		return false;

	$code = CIBlock::GetArrayByID($iblockID, "CODE");

	$bSocNet = (
		(mb_strpos($code, "user_files") === 0)
		|| (mb_strpos($code, "group_files") === 0)
	);

	if (
		! $bSocNet
		&& CIBlock::GetArrayByID($iblockID, "INDEX_ELEMENT") === "N")
	{
		return false;
	}

	$arReaders = self::GetReaders($ID, $iblockID);

	CSearch::ChangePermission(
		($bSocNet ? 'socialnetwork' : 'iblock'),
		$arReaders,
		$ID
	);

	return true;
}