• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/iblocksocnetbizproc.php
  • Класс: CIBlockDocumentWebdavSocnet
  • Вызов: CIBlockDocumentWebdavSocnet::GetDocumentAdminPage
static function GetDocumentAdminPage($documentId)
{
	$documentId = intval($documentId);
	if ($documentId <= 0)
		throw new CBPArgumentNullException("documentId");

	$diskId = self::processGetDiskIdByDocId($documentId);
	if($diskId !== null)
	{
		return self::proxyToDisk(__FUNCTION__, array($diskId));
	}

	$db_res = CIBlockElement::GetList(
		array(),
		array("ID" => $documentId, "SHOW_NEW"=>"Y", "SHOW_HISTORY" => "Y"),
		false,
		false,
		array("ID", "CODE", "EXTERNAL_ID", "IBLOCK_ID", "IBLOCK_TYPE_ID", "IBLOCK_SECTION_ID"));
	if ($db_res && $arElement = $db_res->Fetch())
	{
		$db_res = CIBlock::GetList(array(), array("ID" => $arElement["IBLOCK_ID"], "CHECK_PERMISSIONS"=>"N", "SITE_ID" => SITE_ID));
		if ($db_res && $arIblock = $db_res->Fetch())
		{
			$arr = array(
				"LANG_DIR" => SITE_ID,
				"ID" => $documentId,
				"CODE" => $arElement["CODE"],
				"EXTERNAL_ID" => $arElement["EXTERNAL_ID"],
				"IBLOCK_TYPE_ID" => $arIblock["IBLOCK_TYPE_ID"],
				"IBLOCK_ID" => $arIblock["IBLOCK_ID"],
				"IBLOCK_CODE" => $arIblock["IBLOCK_CODE"],
				"IBLOCK_EXTERNAL_ID" => $arIblock["IBLOCK_EXTERNAL_ID"],
				"SECTION_ID" => $arElement["IBLOCK_SECTION_ID"]);

			$arIblock["DETAIL_PAGE_URL"] = CIBlock::ReplaceDetailUrl($arIblock["DETAIL_PAGE_URL"], $arr, true, "E");

			if (
				IsModuleInstalled('extranet')
				&& CModule::IncludeModule('extranet')
				&& CExtranet::IsExtranetSite()
			)
			{
				$rsSite = CSite::GetByID(CExtranet::GetExtranetSiteID());
				if ($arSite = $rsSite->GetNext())
				{
					$arIblock["DETAIL_PAGE_URL"] = str_replace(array("///","//"), "/", $arSite['DIR'] . $arIblock["DETAIL_PAGE_URL"]);
				}
			}

			$dbSectionsChain = CIBlockSection::GetNavChain($arElement["IBLOCK_ID"], $arElement["IBLOCK_SECTION_ID"]);
			if ($arSection = $dbSectionsChain->Fetch())
			{
				$arIblock["DETAIL_PAGE_URL"] = str_replace(
					array("#SOCNET_USER_ID#", "#USER_ID#", "#SOCNET_GROUP_ID#", "#GROUP_ID#", "#SOCNET_OBJECT#", "#SOCNET_OBJECT_ID#"),
					array($arSection["CREATED_BY"], $arSection["CREATED_BY"], $arSection["SOCNET_GROUP_ID"], $arSection["SOCNET_GROUP_ID"],
						($arSection["SOCNET_GROUP_ID"] > 0 ? "group" : "user"),
						($arSection["SOCNET_GROUP_ID"] > 0 ? $arSection["SOCNET_GROUP_ID"] : $arSection["CREATED_BY"])), $arIblock["DETAIL_PAGE_URL"]);

			}
			return $arIblock["DETAIL_PAGE_URL"];
		}
	}
	return null;
}