- Модуль: 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;
}