function Show($TYPE_SID, $HTML_BEFORE = "", $HTML_AFTER = "") { global $APPLICATION, $USER; $debug = null; if ($_SESSION["SESS_SHOW_INCLUDE_TIME_EXEC"] == "Y" && $USER->IsAdmin()) { $debug = new CDebugInfo(); $debug->Start(); } $arBanner = CAdvBanner::GetRandom($TYPE_SID); $strReturn = CAdvBanner::GetHTML($arBanner); if (strlen($strReturn) > 0) { CAdvBanner::FixShow($arBanner); if (($arIcons = CAdvBanner::GetEditIcons($arBanner, $TYPE_SID)) !== false) { $strReturn = $APPLICATION->IncludeString($strReturn, $arIcons); } $strReturn = $HTML_BEFORE . $strReturn . $HTML_AFTER; if ($debug) { $strReturn .= $debug->Output(); } return $strReturn; } if ($debug) { echo $debug->Output(); } return false; }
/** * <p>Возвращает HTML представляющий из себя меню.</p> * * * * * @return string * * * <h4>Example</h4> * <pre> * <? * $lm = new CMenu("left"); * $lm->Init($APPLICATION->GetCurDir(), true); * $lm->template = "/bitrix/templates/demo/left.menu_template.php"; * echo <b>$lm->GetMenuHtml</b>(); * ?> * </pre> * * * * <h4>See Also</h4> * <ul> <li><a href="https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&CHAPTER_ID=04708" * >Меню</a></li> <li> <a * href="http://dev.1c-bitrix.ru/api_help/main/reference/cmenu/getmenuhtmlex.php">CMenu::GetMenuHtmlEx</a> </li> <li> <a * href="http://dev.1c-bitrix.ru/api_help/main/reference/cmain/getmenuhtml.php">CMain::GetMenuHtml</a> </li> <li> <a * href="http://dev.1c-bitrix.ru/api_help/main/reference/cmain/getmenuhtmlex.php">CMain::GetMenuHtmlEx</a> </li> </ul></b<a * name="examples"></a> * * * @static * @link http://dev.1c-bitrix.ru/api_help/main/reference/cmenu/getmenuhtml.php * @author Bitrix */ public function GetMenuHtml() { /** * @global CAllMain $APPLICATION * @noinspection PhpUnusedLocalVariableInspection */ global $USER, $DB, $APPLICATION; // must be! if (!$this->RecalcMenu()) { return false; } // $arMENU - menu array copy // $arMENU_LINK - reference to menu array /** @noinspection PhpUnusedLocalVariableInspection */ $arMENU_LINK = $MENU_ITEMS =& $this->arMenu; /** @noinspection PhpUnusedLocalVariableInspection */ $arMENU = $this->arMenu; $result = ""; $sMenuPrologTmp = ""; $sMenuEpilog = ""; $n = count($this->arMenu); for ($i = 0; $i < $n; $i++) { $m = $this->arMenu[$i]; $sMenuBody = ""; $sMenuProlog = ""; $sMenuEpilog = ""; $ITEM_INDEX = 0; extract($m, EXTR_OVERWRITE); // $TEXT - item text // $LINK - item link // $SELECTED - is item highlighed // $PERMISSION - linked page permission // $ADDITIONAL_LINKS - additional links for highlighting // $ITEM_TYPE - "D" - directory, "P" - page // $ITEM_INDEX - item number // $PARAMS - additional parameters include $this->MenuTemplate; if ($ITEM_INDEX == 0) { $sMenuPrologTmp = $sMenuProlog; } $result .= $sMenuBody; } $result = $sMenuPrologTmp . $result . $sMenuEpilog; $arIcons = array(); $bShowButtons = false; $sMenuFile = $this->MenuDir . "." . $this->type . ".menu.php"; if ($APPLICATION->GetShowIncludeAreas()) { $menu_perm = $APPLICATION->GetFileAccessPermission($sMenuFile); $templ_perm = $APPLICATION->GetFileAccessPermission($this->template); if ($menu_perm >= "W") { $arIcons[] = array("URL" => "/bitrix/admin/fileman_menu_edit.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&back_url=" . urlencode($_SERVER["REQUEST_URI"]) . "&path=" . urlencode($this->MenuDir) . "&name=" . $this->type, "ICON" => "menu-edit", "TITLE" => GetMessage("MAIN_MENU_EDIT")); } if ($templ_perm >= "W" && $USER->IsAdmin()) { $arIcons[] = array("URL" => "/bitrix/admin/fileman_file_edit.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&back_url=" . urlencode($_SERVER["REQUEST_URI"]) . "&full_src=Y&path=" . urlencode($this->template), "ICON" => "menu-template", "TITLE" => GetMessage("MAIN_MENU_TEMPLATE_EDIT")); } if (count($arIcons) > 0) { $result = $APPLICATION->IncludeStringBefore() . $result; $bShowButtons = true; } } if ($this->debug) { $result .= $this->debug->Output($sMenuFile, $sMenuFile); } if ($bShowButtons) { $result .= $APPLICATION->IncludeStringAfter($arIcons); } return $result; }
/** * <p>Метод подключает компонент 2.0. Динамичный метод.</p> * * * @param string $componentName Имя компонента. Например: "bitrix:news.detail". * * @param string $componentTemplate Имя шаблона компонента. Если имя пустое, то подразумевается имя * ".default". * * @param array $arParams = array() Массив входных параметров компонента. * * @param object $parentComponent = null Объект родительского комплексного компонента, если компонент * подключается из шаблона комплексного компонента. В шаблоне * комплексного компонента определена переменная <b>$component</b>, * которая содержит объект этого комплексного компонента. * * @param array $arFunctionParams = array() Массив, содержащий дополнительные параметры отображения * компонента: <br> "HIDE_ICONS"=>"Y" - не показывать панель настройки * компонента в режиме редактировани/разработки; <br> "ACTIVE_COMPONENT"=>"N" - * отключить компонент (код компонента не подключается). <br> * * @return mixed <p>Возвращает код компонента.</p> <a name="examples"></a> * * <h4>Example</h4> * <pre> * // Подключим компонент каталога с шаблоном "по-умолчанию" на публичной странице сайта * $APPLICATION->IncludeComponent( * "bitrix:catalog", * "", * Array( * "SEF_MODE" => "N", * "IBLOCK_TYPE_ID" => "catalog", * "ACTION_VARIABLE" => "action", * "CACHE_TIME" => 1*24*60*60, * "BASKET_PAGE_TEMPLATE" => "/personal/basket.php", * ) * ); * * * // Подключим компонент карточки фотографии с шаблоном "по-умолчанию" в шаблоне * // комплексного компонента "фотогалерея" * $APPLICATION->IncludeComponent( * "bitrix:photo.detail", * "", * Array( * "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], * "IBLOCK_ID" => $arParams["IBLOCK_ID"], * "ELEMENT_ID" => $arResult["VARIABLES"]["ELEMENT_ID"], * "ELEMENT_CODE" => $arResult["VARIABLES"]["ELEMENT_CODE"], * ), * $component * ); * </pre> * * * @static * @link http://dev.1c-bitrix.ru/api_help/main/reference/cmain/includecomponent.php * @author Bitrix */ public function IncludeComponent($componentName, $componentTemplate, $arParams = array(), $parentComponent = null, $arFunctionParams = array()) { /** @global CMain $APPLICATION */ global $APPLICATION, $USER; if (is_array($this->arComponentMatch)) { $skipComponent = true; foreach ($this->arComponentMatch as $cValue) { if (strpos($componentName, $cValue) !== false) { $skipComponent = false; break; } } if ($skipComponent) { return false; } } $componentRelativePath = CComponentEngine::MakeComponentPath($componentName); if (StrLen($componentRelativePath) <= 0) { return False; } $debug = null; $bShowDebug = $_SESSION["SESS_SHOW_INCLUDE_TIME_EXEC"] == "Y" && ($USER->CanDoOperation('edit_php') || $_SESSION["SHOW_SQL_STAT"] == "Y") && !defined("PUBLIC_AJAX_MODE"); if ($bShowDebug || $APPLICATION->ShowIncludeStat) { $debug = new CDebugInfo(); $debug->Start($componentName); } if (is_object($parentComponent)) { if (!$parentComponent instanceof cbitrixcomponent) { $parentComponent = null; } } $bDrawIcons = (!isset($arFunctionParams["HIDE_ICONS"]) || $arFunctionParams["HIDE_ICONS"] != "Y") && $APPLICATION->GetShowIncludeAreas(); if ($bDrawIcons) { echo $this->IncludeStringBefore(); } $result = null; $bComponentEnabled = !isset($arFunctionParams["ACTIVE_COMPONENT"]) || $arFunctionParams["ACTIVE_COMPONENT"] != "N"; $component = new CBitrixComponent(); if ($component->InitComponent($componentName)) { $obAjax = null; if ($bComponentEnabled) { if ($arParams['AJAX_MODE'] == 'Y') { $obAjax = new CComponentAjax($componentName, $componentTemplate, $arParams, $parentComponent); } $this->__componentStack[] = $component; $result = $component->IncludeComponent($componentTemplate, $arParams, $parentComponent); array_pop($this->__componentStack); } if ($bDrawIcons) { $panel = new CComponentPanel($component, $componentName, $componentTemplate, $parentComponent, $bComponentEnabled); $arIcons = $panel->GetIcons(); echo $s = $this->IncludeStringAfter($arIcons["icons"], $arIcons["parameters"]); } if ($bComponentEnabled && $obAjax) { $obAjax->Process(); } } if ($bShowDebug) { echo $debug->Output($componentName, "/bitrix/components" . $componentRelativePath . "/component.php", $arParams["CACHE_TYPE"] . $arParams["MENU_CACHE_TYPE"]); } elseif (isset($debug)) { $debug->Stop($componentName, "/bitrix/components" . $componentRelativePath . "/component.php", $arParams["CACHE_TYPE"] . $arParams["MENU_CACHE_TYPE"]); } return $result; }