- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/main.php
- Класс: CAllMain
- Вызов: CAllMain::_mkchain
public function _mkchain($arChain, $strChainTemplate, $bIncludeOnce=false, $bShowIcons = true)
{
$strChain = $sChainProlog = $sChainEpilog = "";
if(file_exists($strChainTemplate))
{
$ITEM_COUNT = count($arChain);
$arCHAIN = $arChain;
$arCHAIN_LINK = &$arChain;
$arResult = &$arChain; // for component 2.0
if($bIncludeOnce)
{
$strChain = include($strChainTemplate);
}
else
{
foreach($arChain as $i => $arChainItem)
{
$ITEM_INDEX = $i;
$TITLE = $arChainItem["TITLE"];
$LINK = $arChainItem["LINK"];
$sChainBody = "";
include($strChainTemplate);
$strChain .= $sChainBody;
if($i==0)
$strChain = $sChainProlog . $strChain;
}
if(!empty($arChain))
$strChain .= $sChainEpilog;
}
}
/** @global CMain $APPLICATION */
global $USER;
if($this->GetShowIncludeAreas() && $USER->CanDoOperation('edit_php') && $bShowIcons)
{
$site = CSite::GetSiteByFullPath($strChainTemplate);
$DOC_ROOT = CSite::GetSiteDocRoot($site);
if(mb_strpos($strChainTemplate, $DOC_ROOT) === 0)
{
$path = mb_substr($strChainTemplate, mb_strlen($DOC_ROOT));
$templ_perm = $this->GetFileAccessPermission($path);
if((!defined("ADMIN_SECTION") || ADMIN_SECTION!==true) && $templ_perm>="W")
{
$arIcons = array();
$arIcons[] = array(
"URL"=>"/bitrix/admin/fileman_file_edit.php?lang=".LANGUAGE_ID."&site=".$site."&back_url=".urlencode($_SERVER["REQUEST_URI"])."&full_src=Y&path=".urlencode($path),
"ICON"=>"nav-template",
"TITLE"=>GetMessage("MAIN_INC_ED_NAV")
);
$strChain = $this->IncludeString($strChain, $arIcons);
}
}
}
return $strChain;
}