function GetStandardButtons() { global $USER, $APPLICATION, $DB; if (isset($_SERVER["REAL_FILE_PATH"]) && $_SERVER["REAL_FILE_PATH"] != "") { $currentDirPath = dirname($_SERVER["REAL_FILE_PATH"]); $currentFilePath = $_SERVER["REAL_FILE_PATH"]; } else { $currentDirPath = $APPLICATION->GetCurDir(); $currentFilePath = $APPLICATION->GetCurPage(true); } $encCurrentDirPath = urlencode($currentDirPath); $encCurrentFilePath = urlencode($currentFilePath); $encRequestUri = urlencode($_SERVER["REQUEST_URI"]); $encSiteTemplateId = urlencode(SITE_TEMPLATE_ID); $documentRoot = CSite::GetSiteDocRoot(SITE_ID); $filemanExists = IsModuleInstalled("fileman"); //create button $defaultUrl = ""; $bCanCreatePage = CTopPanel::IsCanCreatePage($currentDirPath, $documentRoot, $filemanExists); $bCanCreateSection = CTopPanel::IsCanCreateSection($currentDirPath, $documentRoot, $filemanExists); if ($bCanCreatePage || $bCanCreateSection) { require_once $_SERVER["DOCUMENT_ROOT"] . FX_ROOT . "/modules/main/admin_tools.php"; //create page from new template $arActPageTemplates = CPageTemplate::GetList(array(SITE_TEMPLATE_ID)); //create page from old template $arPageTemplates = GetFileTemplates(SITE_ID, array(SITE_TEMPLATE_ID)); } // CREATE PAGE button and submenu $arMenu = array(); if ($bCanCreatePage) { $defaultUrl = $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_file_new.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&templateID=" . $encSiteTemplateId . "&path=" . $encCurrentDirPath . "&back_url=" . $encRequestUri, "PARAMS" => array("min_width" => 450, "min_height" => 250))); $arMenu[] = array("TEXT" => GetMessage("top_panel_create_page"), "TITLE" => GetMessage("top_panel_create_page_title"), "ICON" => "panel-new-file", "ACTION" => $defaultUrl, "DEFAULT" => true, "SORT" => 10, "HK_ID" => "top_panel_create_page"); //templates menu for pages $arSubmenu = array(); if (!empty($arActPageTemplates)) { foreach ($arActPageTemplates as $pageTemplate) { if ($pageTemplate['type'] == '' || $pageTemplate['type'] == 'page') { $arSubmenu[] = array("TEXT" => "<b>" . $pageTemplate['name'] . "</b>" . ($pageTemplate['description'] != '' ? "<br>" . $pageTemplate['description'] : ""), "TITLE" => GetMessage("top_panel_template") . " " . $pageTemplate['file'], "ICON" => $pageTemplate['icon'] == '' ? "panel-new-file-template" : "", "IMAGE" => $pageTemplate['icon'] != '' ? $pageTemplate['icon'] : "", "ACTION" => str_replace("public_file_new.php?", "public_file_new.php?wiz_template=" . urlencode($pageTemplate['file']) . "&", $defaultUrl)); } } } if (!empty($arPageTemplates) && (!empty($arSubmenu) || count($arPageTemplates) > 1)) { foreach ($arPageTemplates as $pageTemplate) { $arSubmenu[] = array("TEXT" => $pageTemplate['name'], "TITLE" => GetMessage("top_panel_template") . " " . $pageTemplate['file'], "ICON" => "panel-new-file-template", "ACTION" => str_replace("public_file_new.php?", "public_file_new.php?page_template=" . urlencode($pageTemplate['file']) . "&", $defaultUrl)); } } //page from template if ($bCanCreatePage && !empty($arSubmenu)) { $arMenu[] = array("TEXT" => GetMessage("top_panel_create_from_template"), "TITLE" => GetMessage("top_panel_create_from_template_title"), "ICON" => "panel-new-file-template", "MENU" => $arSubmenu, "SORT" => 20); } } if (!empty($arMenu)) { $APPLICATION->AddPanelButton(array("HREF" => $defaultUrl == "" ? "" : "javascript:" . $defaultUrl, 'TYPE' => 'BIG', "ID" => "create", "ICON" => "bx-panel-create-page-icon", "ALT" => GetMessage("top_panel_create_title"), "TEXT" => GetMessage("top_panel_create_new"), "MAIN_SORT" => "100", "SORT" => 10, "MENU" => $arMenu, "RESORT_MENU" => true, "HK_ID" => "top_panel_create_new", "HINT" => array("TITLE" => GetMessage("top_panel_create_new_tooltip_title"), "TEXT" => GetMessage("top_panel_create_new_tooltip")), "HINT_MENU" => array("TITLE" => GetMessage("top_panel_create_new_menu_tooltip_title"), "TEXT" => GetMessage("top_panel_create_new_menu_tooltip")))); } // CREATE SECTION button and submenu $arMenu = array(); if ($bCanCreateSection) { $defaultUrl = $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_file_new.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&templateID=" . $encSiteTemplateId . "&newFolder=Y&path=" . $encCurrentDirPath . "&back_url=" . $encRequestUri, "PARAMS" => array("min_width" => 450, "min_height" => 250))); $arMenu[] = array("TEXT" => GetMessage("top_panel_create_folder"), "TITLE" => GetMessage("top_panel_create_folder_title"), "ICON" => "panel-new-folder", 'DEFAULT' => true, "ACTION" => $defaultUrl, "SORT" => 10, "HK_ID" => "top_panel_create_folder"); //templates menu for sections $arSectSubmenu = array(); if (!empty($arActPageTemplates)) { foreach ($arActPageTemplates as $pageTemplate) { if ($pageTemplate['type'] == '' || $pageTemplate['type'] == 'section') { $arSectSubmenu[] = array("TEXT" => "<b>" . $pageTemplate['name'] . "</b>" . ($pageTemplate['description'] != '' ? "<br>" . $pageTemplate['description'] : ""), "TITLE" => GetMessage("top_panel_template") . " " . $pageTemplate['file'], "ICON" => $pageTemplate['icon'] == '' ? "panel-new-file-template" : "", "IMAGE" => $pageTemplate['icon'] != '' ? $pageTemplate['icon'] : "", "ACTION" => str_replace("public_file_new.php?", "public_file_new.php?newFolder=Y&wiz_template=" . urlencode($pageTemplate['file']) . "&", $defaultUrl)); } } } if (!empty($arPageTemplates) && (!empty($arSectSubmenu) || count($arPageTemplates) > 1)) { if (!empty($arSectSubmenu)) { $arSectSubmenu[] = array("SEPARATOR" => true); } foreach ($arPageTemplates as $pageTemplate) { $arSectSubmenu[] = array("TEXT" => $pageTemplate['name'], "TITLE" => GetMessage("top_panel_template") . " " . $pageTemplate['file'], "ICON" => "panel-new-file-template", "ACTION" => str_replace("public_file_new.php?", "public_file_new.php?newFolder=Y&page_template=" . urlencode($pageTemplate['file']) . "&", $defaultUrl)); } } //section from template if ($bCanCreateSection && !empty($arSectSubmenu)) { $arMenu[] = array("TEXT" => GetMessage("top_panel_create_folder_template"), "TITLE" => GetMessage("top_panel_create_folder_template_title"), "ICON" => "panel-new-folder-template", "MENU" => $arSectSubmenu, "SORT" => 20); } } if (!empty($arMenu)) { $APPLICATION->AddPanelButton(array("HREF" => $defaultUrl == "" ? "" : "javascript:" . $defaultUrl, 'TYPE' => 'BIG', "ID" => "create_section", "ICON" => "bx-panel-create-section-icon", "ALT" => GetMessage("top_panel_create_title"), "TEXT" => GetMessage("top_panel_create_folder_new"), "MAIN_SORT" => "100", "SORT" => 20, "MENU" => $arMenu, "RESORT_MENU" => true, "HK_ID" => "top_panel_create_folder_new", "HINT" => array("TITLE" => GetMessage("top_panel_create_folder_new_tooltip_title"), "TEXT" => GetMessage("top_panel_create_folder_new_tooltip")), "HINT_MENU" => array("TITLE" => GetMessage("top_panel_create_folder_new_menu_tooltip_title"), "TEXT" => GetMessage("top_panel_create_folder_new_menu_tooltip")))); } // EDIT PAGE button and submenu $defaultUrl = ""; $arMenu = array(); if (CTopPanel::IsCanEditPage($currentFilePath, $documentRoot, $filemanExists)) { $defaultUrl = $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_file_edit.php?lang=" . LANGUAGE_ID . "&path=" . $encCurrentFilePath . "&site=" . SITE_ID . "&back_url=" . $encRequestUri . "&templateID=" . $encSiteTemplateId, "PARAMS" => array("width" => 780, "height" => 470, "resizable" => true, "min_width" => 780, "min_height" => 400, 'dialog_type' => 'EDITOR'))); $arMenu[] = array("TEXT" => GetMessage("top_panel_edit_page"), "TITLE" => GetMessage("top_panel_edit_page_title"), "ICON" => "panel-edit-visual", "ACTION" => $defaultUrl, "DEFAULT" => true, "SORT" => 10, "HK_ID" => "top_panel_edit_page"); $arMenu[] = array("TEXT" => GetMessage("top_panel_page_prop"), "TITLE" => GetMessage("top_panel_page_prop_title"), "ICON" => "panel-file-props", "ACTION" => $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_file_property.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&path=" . $encCurrentFilePath . "&back_url=" . $encRequestUri, "PARAMS" => array("min_width" => 450, "min_height" => 250))), "SORT" => 20, "HK_ID" => "top_panel_page_prop"); $arMenu[] = array("SEPARATOR" => true, "SORT" => 49); $arMenu[] = array("TEXT" => GetMessage("top_panel_edit_page_html"), "TITLE" => GetMessage("top_panel_edit_page_html_title"), "ICON" => "panel-edit-text", "ACTION" => $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_file_edit.php?lang=" . LANGUAGE_ID . "&noeditor=Y&path=" . $encCurrentFilePath . "&site=" . SITE_ID . "&back_url=" . $encRequestUri, "PARAMS" => array("width" => 780, "height" => 470, 'dialog_type' => 'EDITOR'))), "SORT" => 50, "HK_ID" => "top_panel_edit_page_html"); if ($USER->CanDoOperation("edit_php")) { $arMenu[] = array("TEXT" => GetMessage("top_panel_edit_page_php"), "TITLE" => GetMessage("top_panel_edit_page_php_title"), "ICON" => "panel-edit-php", "ACTION" => $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_file_edit_src.php?lang=" . LANGUAGE_ID . "&path=" . $encCurrentFilePath . "&site=" . SITE_ID . "&back_url=" . $encRequestUri . "&templateID=" . $encSiteTemplateId, "PARAMS" => array("width" => 770, "height" => 470, 'dialog_type' => 'EDITOR'))), "SORT" => 60, "HK_ID" => "top_panel_edit_page_php"); } } $bNeedSep = false; if (CTopPanel::IsCanEditPermission($currentFilePath, $documentRoot, $filemanExists)) { $bNeedSep = true; //access button $arMenu[] = array("TEXT" => GetMessage("top_panel_access_page_new"), "TITLE" => GetMessage("top_panel_access_page_title"), "ICON" => "panel-file-access", "ACTION" => $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_access_edit.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&path=" . $encCurrentFilePath . "&back_url=" . $encRequestUri, "PARAMS" => array("min_width" => 450, "min_height" => 250))), "SORT" => 30, "HK_ID" => "top_panel_access_page_new"); } //delete button if (CTopPanel::IsCanDeletePage($currentFilePath, $documentRoot, $filemanExists)) { $bNeedSep = true; $arMenu[] = array("ID" => "delete", "ICON" => "icon-delete", "ALT" => GetMessage("top_panel_del_page"), "TEXT" => GetMessage("top_panel_del_page"), "ACTION" => $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_file_delete.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&path=" . $encCurrentFilePath, "PARAMS" => array("min_width" => 250, "min_height" => 180, 'height' => 180, 'width' => 440))), "SORT" => 40, "HK_ID" => "top_panel_del_page"); } if ($bNeedSep) { $arMenu[] = array("SEPARATOR" => true, "SORT" => 29); } if (!empty($arMenu)) { //check anonymous access $arOperations = CUser::GetFileOperations(array(SITE_ID, $currentFilePath), array(2)); $bAllowAnonymous = in_array("fm_view_file", $arOperations); $APPLICATION->AddPanelButton(array("HREF" => $defaultUrl == "" ? "" : "javascript:" . $defaultUrl, "TYPE" => "BIG", "ID" => "edit", "ICON" => $bAllowAnonymous ? "bx-panel-edit-page-icon" : "bx-panel-edit-secret-page-icon", "ALT" => GetMessage("top_panel_edit_title"), "TEXT" => GetMessage("top_panel_edit_new"), "MAIN_SORT" => "200", "SORT" => 10, "MENU" => $arMenu, "HK_ID" => "top_panel_edit_new", "RESORT_MENU" => true, "HINT" => array("TITLE" => GetMessage("top_panel_edit_new_tooltip_title"), "TEXT" => GetMessage("top_panel_edit_new_tooltip")), "HINT_MENU" => array("TITLE" => GetMessage("top_panel_edit_new_menu_tooltip_title"), "TEXT" => GetMessage("top_panel_edit_new_menu_tooltip")))); } // EDIT SECTION button $arMenu = array(); if (CTopPanel::IsCanEditSection($currentDirPath, $filemanExists)) { $defaultUrl = 'javascript:' . $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_folder_edit.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&path=" . urlencode($APPLICATION->GetCurDir()) . "&back_url=" . $encRequestUri, "PARAMS" => array("min_width" => 450, "min_height" => 250))); $arMenu[] = array("TEXT" => GetMessage("top_panel_folder_prop"), "TITLE" => GetMessage("top_panel_folder_prop_title"), "ICON" => "panel-folder-props", "DEFAULT" => true, "ACTION" => $defaultUrl, "SORT" => 10, "HK_ID" => "top_panel_folder_prop"); } if (CTopPanel::IsCanEditPermission($currentDirPath, $documentRoot, $filemanExists)) { $arMenu[] = array("TEXT" => GetMessage("top_panel_access_folder_new"), "TITLE" => GetMessage("top_panel_access_folder_title"), "ICON" => "panel-folder-access", "ACTION" => $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_access_edit.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&path=" . $encCurrentDirPath . "&back_url=" . $encRequestUri, "PARAMS" => array("min_width" => 450, "min_height" => 250))), "SORT" => 30, "HK_ID" => "top_panel_access_folder_new"); } if (!empty($arMenu)) { //check anonymous access $arOperations = CUser::GetFileOperations(array(SITE_ID, $currentDirPath), array(2)); $bAllowAnonymous = in_array("fm_view_listing", $arOperations); $APPLICATION->AddPanelButton(array("HREF" => $defaultUrl, "ID" => 'edit_section', "TYPE" => "BIG", "TEXT" => GetMessage("top_panel_folder_prop_new"), "TITLE" => GetMessage("top_panel_folder_prop_title"), "ICON" => $bAllowAnonymous ? "bx-panel-edit-section-icon" : "bx-panel-edit-secret-section-icon", "MAIN_SORT" => "200", "SORT" => 20, "MENU" => $arMenu, "HK_ID" => "top_panel_folder_prop_new", "RESORT_MENU" => true, "HINT" => array("TITLE" => GetMessage("top_panel_folder_prop_new_tooltip_title"), "TEXT" => GetMessage("top_panel_folder_prop_new_tooltip")), "HINT_MENU" => array("TITLE" => GetMessage("top_panel_folder_prop_new_menu_tooltip_title"), "TEXT" => GetMessage("top_panel_folder_prop_new_menu_tooltip")))); } // STRUCTURE button and submenu if ($USER->CanDoOperation('fileman_view_file_structure') && $USER->CanDoFileOperation('fm_edit_existent_folder', array(SITE_ID, "/"))) { $defaultUrl = $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_structure.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&path=" . $encCurrentFilePath . "&templateID=" . $encSiteTemplateId, "PARAMS" => array("width" => 350, "height" => 470, "resize" => true))); $arMenu = array(); if ($filemanExists) { $arMenu[] = array("TEXT" => GetMessage("main_top_panel_struct"), "TITLE" => GetMessage("main_top_panel_struct_title"), "ACTION" => $defaultUrl, "DEFAULT" => true, "HK_ID" => "main_top_panel_struct"); $arMenu[] = array('SEPARATOR' => true); $arMenu[] = array("TEXT" => GetMessage("main_top_panel_struct_panel"), "TITLE" => GetMessage("main_top_panel_struct_panel_title"), "ACTION" => "jsUtils.Redirect([], '" . CUtil::JSEscape("/freetrix/admin/fileman_admin.php?lang=" . LANGUAGE_ID . "&site=" . SITE_ID . "&path=" . urlencode($APPLICATION->GetCurDir())) . "')", "HK_ID" => "main_top_panel_struct_panel"); } $APPLICATION->AddPanelButton(array("HREF" => "javascript:" . $defaultUrl, "ID" => "structure", "ICON" => "bx-panel-site-structure-icon", "ALT" => GetMessage("main_top_panel_struct_title"), "TEXT" => GetMessage("main_top_panel_structure"), "MAIN_SORT" => "300", "SORT" => 30, "MENU" => $arMenu, "HK_ID" => "main_top_panel_structure", "HINT" => array("TITLE" => GetMessage("main_top_panel_structure_tooltip_title"), "TEXT" => GetMessage("main_top_panel_structure_tooltip")))); } //cache button if ($USER->CanDoOperation("cache_control")) { //recreate cache on the current page $arMenu = array(array("TEXT" => GetMessage("top_panel_cache_page"), "TITLE" => GetMessage("top_panel_cache_page_title"), "ICON" => "panel-page-cache", "ACTION" => "BX.clearCache()", "DEFAULT" => true, "HK_ID" => "top_panel_cache_page")); if (!empty($APPLICATION->aCachedComponents)) { $arMenu[] = array("TEXT" => GetMessage("top_panel_cache_comp"), "TITLE" => GetMessage("top_panel_cache_comp_title"), "ICON" => "panel-comp-cache", "ACTION" => "jsComponentUtils.ClearCache('component_name=" . CUtil::addslashes(implode(",", $APPLICATION->aCachedComponents)) . "&site_id=" . SITE_ID . "');", "HK_ID" => "top_panel_cache_comp"); } $arMenu[] = array("SEPARATOR" => true); $sessionClearCache = isset($_SESSION["SESS_CLEAR_CACHE"]) && $_SESSION["SESS_CLEAR_CACHE"] == "Y"; $arMenu[] = array("TEXT" => GetMessage("top_panel_cache_not"), "TITLE" => GetMessage("top_panel_cache_not_title"), "CHECKED" => $sessionClearCache, "ACTION" => "jsUtils.Redirect([], '" . CUtil::addslashes($APPLICATION->GetCurPageParam("clear_cache_session=" . ($sessionClearCache ? "N" : "Y"), array("clear_cache_session"))) . "');", "HK_ID" => "top_panel_cache_not"); // $APPLICATION->AddPanelButton(array( // "HREF" => "javascript:BX.clearCache()", // "TYPE" => "BIG", // "ICON"=>"bx-panel-clear-cache-icon", // "TEXT"=> GetMessage("top_panel_cache_new"),//GetMessage("top_panel_cache"), // "ALT"=>GetMessage("top_panel_clear_cache"), // "MAIN_SORT"=>"400", // "SORT"=>10, // "MENU"=>$arMenu, // "HK_ID"=>"top_panel_clear_cache", // "HINT" => array( // "TITLE" => GetMessage("top_panel_cache_new_tooltip_title"), // "TEXT" => GetMessage("top_panel_cache_new_tooltip") // ), // "HINT_MENU" => array( // "TITLE" => GetMessage("top_panel_cache_new_menu_tooltip_title"), // "TEXT" => GetMessage("top_panel_cache_new_menu_tooltip") // ), // )); } $bHideComponentsMenu = false; if ($USER->CanDoOperation('edit_php') || !empty($APPLICATION->arPanelFutureButtons['components'])) { if (empty($APPLICATION->arPanelFutureButtons['components'])) { if ($APPLICATION->GetShowIncludeAreas() != 'Y') { $APPLICATION->AddPanelButtonMenu('components', array("TEXT" => GetMessage("top_panel_edit_mode"), "TITLE" => GetMessage("top_panel_edit_mode_title"), "ACTION" => "jsUtils.Redirect([], BX('bx-panel-toggle').href);", "HK_ID" => "top_panel_edit_mode")); } else { $bHideComponentsMenu = true; } } if ($bHideComponentsMenu) { $APPLICATION->AddPanelButton(array("ID" => "components_empty", "HREF" => "javascript:void(0)", "ICON" => "bx-panel-components-icon", "TEXT" => GetMessage("top_panel_comp"), "MAIN_SORT" => "500", "SORT" => 10, "HINT" => array("TITLE" => GetMessage("top_panel_comp_tooltip_title"), "TEXT" => GetMessage('top_panel_comp_tooltip_empty')))); } else { $APPLICATION->AddPanelButton(array("ID" => "components", "ICON" => "bx-panel-components-icon", "TEXT" => GetMessage("top_panel_comp"), "MAIN_SORT" => "500", "SORT" => 10, "HINT" => array("TITLE" => GetMessage("top_panel_comp_tooltip_title"), "TEXT" => GetMessage("top_panel_comp_tooltip")))); } } //TEMPLATE button and submenu if ($USER->CanDoOperation("edit_php") || $USER->CanDoOperation("lpa_template_edit")) { $arMenu = array(); $bUseSubmenu = false; $defaultUrl = ''; if ($USER->CanDoOperation("edit_php")) { $filePath = SITE_TEMPLATE_PATH . "/styles.css"; if (file_exists($_SERVER['DOCUMENT_ROOT'] . $filePath)) { $arMenu[] = array("TEXT" => GetMessage("top_panel_templ_site_css"), "TITLE" => GetMessage("top_panel_templ_site_css_title"), "ICON" => "panel-edit-text", "HK_ID" => "top_panel_templ_site_css", "ACTION" => $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_file_edit_src.php?lang=" . LANGUAGE_ID . "&path=" . urlencode($filePath) . "&site=" . SITE_ID . "&back_url=" . $encRequestUri, "PARAMS" => array("width" => 770, 'height' => 470, 'resize' => true, 'dialog_type' => 'EDITOR')))); $bUseSubmenu = true; } $filePath = SITE_TEMPLATE_PATH . "/template_styles.css"; if (file_exists($_SERVER['DOCUMENT_ROOT'] . $filePath)) { $arMenu[] = array("TEXT" => GetMessage("top_panel_templ_templ_css"), "TITLE" => GetMessage("top_panel_templ_templ_css_title"), "ICON" => "panel-edit-text", "HK_ID" => "top_panel_templ_templ_css", "ACTION" => $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/public_file_edit_src.php?lang=" . LANGUAGE_ID . "&path=" . urlencode($filePath) . "&site=" . SITE_ID . "&back_url=" . $encRequestUri, "PARAMS" => array("width" => 770, 'height' => 470, 'resize' => true, 'dialog_type' => 'EDITOR')))); $bUseSubmenu = true; } } $arSubMenu = array(array("TEXT" => GetMessage("top_panel_templ_edit"), "TITLE" => GetMessage("top_panel_templ_edit_title"), "ICON" => "icon-edit", "ACTION" => "jsUtils.Redirect([], '/freetrix/admin/template_edit.php?lang=" . LANGUAGE_ID . "&ID=" . $encSiteTemplateId . "')", "DEFAULT" => !$bUseSubmenu, "HK_ID" => "top_panel_templ_edit"), array("TEXT" => GetMessage("top_panel_templ_site"), "TITLE" => GetMessage("top_panel_templ_site_title"), "ICON" => "icon-edit", "ACTION" => "jsUtils.Redirect([], '/freetrix/admin/site_edit.php?lang=" . LANGUAGE_ID . "&LID=" . SITE_ID . "')", "DEFAULT" => false, "HK_ID" => "top_panel_templ_site")); if ($bUseSubmenu) { $arMenu[] = array('SEPARATOR' => "Y"); $arMenu[] = array("TEXT" => GetMessage("top_panel_cp"), "MENU" => $arSubMenu); } else { $arMenu = $arSubMenu; $defaultUrl = "javascript:" . $arSubMenu[0]['ACTION']; } $APPLICATION->AddPanelButton(array("HREF" => $defaultUrl, "ICON" => "bx-panel-site-template-icon", "ALT" => GetMessage("top_panel_templ_title"), "TEXT" => GetMessage("top_panel_templ"), "MAIN_SORT" => "500", "SORT" => 30, "MENU" => $arMenu, "HK_ID" => "top_panel_templ", "HINT" => array("TITLE" => GetMessage("top_panel_templ_tooltip_title"), "TEXT" => GetMessage("top_panel_templ_tooltip")))); } //statistics buttons if ($USER->CanDoOperation("edit_php")) { //show debug information $sessionShowIncludeTimeExec = isset($_SESSION["SESS_SHOW_INCLUDE_TIME_EXEC"]) && $_SESSION["SESS_SHOW_INCLUDE_TIME_EXEC"] == "Y"; $sessionShowTimeExec = isset($_SESSION["SESS_SHOW_TIME_EXEC"]) && $_SESSION["SESS_SHOW_TIME_EXEC"] == "Y"; $cmd = $sessionShowIncludeTimeExec && $sessionShowTimeExec && $DB->ShowSqlStat ? "N" : "Y"; $url = $APPLICATION->GetCurPageParam("show_page_exec_time=" . $cmd . "&show_include_exec_time=" . $cmd . "&show_sql_stat=" . $cmd, array("show_page_exec_time", "show_include_exec_time", "show_sql_stat")); $arMenu = array(array("TEXT" => GetMessage("top_panel_debug_summ"), "TITLE" => GetMessage("top_panel_debug_summ_title"), "CHECKED" => $cmd == "N", "ACTION" => "jsUtils.Redirect([], '" . CUtil::addslashes($url) . "');", "DEFAULT" => true, "HK_ID" => "top_panel_debug_summ"), array("SEPARATOR" => true), array("TEXT" => GetMessage("top_panel_debug_sql"), "TITLE" => GetMessage("top_panel_debug_sql_title"), "CHECKED" => !!$DB->ShowSqlStat, "ACTION" => "jsUtils.Redirect([], '" . CUtil::addslashes($APPLICATION->GetCurPageParam("show_sql_stat=" . ($DB->ShowSqlStat ? "N" : "Y"), array("show_sql_stat"))) . "');", "HK_ID" => "top_panel_debug_sql"), array("TEXT" => GetMessage("top_panel_debug_cache"), "TITLE" => GetMessage("top_panel_debug_cache_title"), "CHECKED" => !!\Freetrix\Main\Data\Cache::getShowCacheStat(), "ACTION" => "jsUtils.Redirect([], '" . CUtil::addslashes($APPLICATION->GetCurPageParam("show_cache_stat=" . (\Freetrix\Main\Data\Cache::getShowCacheStat() ? "N" : "Y"), array("show_cache_stat"))) . "');", "HK_ID" => "top_panel_debug_cache"), array("TEXT" => GetMessage("top_panel_debug_incl"), "TITLE" => GetMessage("top_panel_debug_incl_title"), "CHECKED" => $sessionShowIncludeTimeExec, "ACTION" => "jsUtils.Redirect([], '" . CUtil::addslashes($APPLICATION->GetCurPageParam("show_include_exec_time=" . ($sessionShowIncludeTimeExec ? "N" : "Y"), array("show_include_exec_time"))) . "');", "HK_ID" => "top_panel_debug_incl"), array("TEXT" => GetMessage("top_panel_debug_time"), "TITLE" => GetMessage("top_panel_debug_time_title"), "CHECKED" => $sessionShowTimeExec, "ACTION" => "jsUtils.Redirect([], '" . CUtil::addslashes($APPLICATION->GetCurPageParam("show_page_exec_time=" . ($sessionShowTimeExec ? "N" : "Y"), array("show_page_exec_time"))) . "');", "HK_ID" => "top_panel_debug_time")); if (IsModuleInstalled("compression")) { $bShowCompressed = isset($_SESSION["SESS_COMPRESS"]) && $_SESSION["SESS_COMPRESS"] == "Y"; if (isset($_GET["compress"])) { if ($_GET["compress"] === "Y" || $_GET["compress"] === "y") { $bShowCompressed = true; } elseif ($_GET["compress"] === "N" || $_GET["compress"] === "n") { $bShowCompressed = false; } } $arMenu[] = array("SEPARATOR" => true); $arMenu[] = array("TEXT" => GetMessage("top_panel_debug_compr"), "TITLE" => GetMessage("top_panel_debug_compr_title"), "CHECKED" => !!$bShowCompressed, "ACTION" => "jsUtils.Redirect([], '" . CUtil::addslashes($APPLICATION->GetCurPageParam("compress=" . ($bShowCompressed ? "N" : "Y"), array("compress"))) . "');", "HK_ID" => "top_panel_debug_compr"); } $APPLICATION->AddPanelButton(array("HREF" => $url, "ICON" => "bx-panel-performance-icon", "TEXT" => GetMessage("top_panel_debug"), "ALT" => GetMessage("top_panel_show_debug"), "MAIN_SORT" => "500", "SORT" => 40, "MENU" => $arMenu, "HK_ID" => "top_panel_debug", "HINT" => array("TITLE" => GetMessage("top_panel_debug_tooltip_title"), "TEXT" => GetMessage("top_panel_debug_tooltip")))); } /////////////////////// SHORT URIs //////////////////////////////////////// if ($USER->CanDoOperation('manage_short_uri')) { $url = $APPLICATION->GetPopupLink(array("URL" => "/freetrix/admin/short_uri_edit.php?lang=" . LANGUAGE_ID . "&public=Y&bxpublic=Y&str_URI=" . urlencode($APPLICATION->GetCurPageParam("", array("clear_cache", "sessid", "login", "logout", "register", "forgot_password", "change_password", "confirm_registration", "confirm_code", "confirm_user_id", "freetrix_include_areas", "show_page_exec_time", "show_include_exec_time", "show_sql_stat", "show_link_stat"))) . "&site=" . SITE_ID . "&back_url=" . $encRequestUri, "PARAMS" => array("width" => 770, 'height' => 270, 'resize' => true))); $APPLICATION->AddPanelButton(array("HREF" => "javascript:" . $url, "ICON" => "bx-panel-short-url-icon", "ALT" => GetMessage("MTP_SHORT_URI_ALT"), "TEXT" => GetMessage("MTP_SHORT_URI"), "MAIN_SORT" => 1000, "HK_ID" => "MTP_SHORT_URI", "MENU" => array(array("TEXT" => GetMessage("MTP_SHORT_URI1"), "TITLE" => GetMessage("MTP_SHORT_URI_ALT1"), "ACTION" => "javascript:" . $url, "DEFAULT" => true, "HK_ID" => "MTP_SHORT_URI1"), array("TEXT" => GetMessage("MTP_SHORT_URI_LIST"), "TITLE" => GetMessage("MTP_SHORT_URI_LIST_ALT"), "ACTION" => "jsUtils.Redirect([], '" . CUtil::addslashes("/freetrix/admin/short_uri_admin.php?lang=" . LANGUAGE_ID . "") . "');", "HK_ID" => "MTP_SHORT_URI_LIST")), "MODE" => "view", "HINT" => array("TITLE" => GetMessage("MTP_SHORT_URI_HINT"), "TEXT" => GetMessage("MTP_SHORT_URI_HINT_ALT")))); } }
public function getCompCachePath($relativePath) { // TODO: global var! global $FX_STATE; if ($FX_STATE === "WA") { $salt = Cache::getSalt(); } else { $salt = "/" . substr(md5($FX_STATE), 0, 3); } $path = "/" . SITE_ID . $relativePath . $salt; return $path; }
function EndDataCache() { if (!$this->bStarted) { return; } $this->bStarted = false; $arAllVars = ob_get_contents(); $this->_cache->write($arAllVars, $this->basedir, $this->initdir, $this->filename, $this->TTL); if (\Freetrix\Main\Data\Cache::getShowCacheStat()) { $written = 0; $path = ''; if ($this->_cache instanceof \Freetrix\Main\Data\ICacheEngineStat) { $written = $this->_cache->getWrittenBytes(); $path = $this->_cache->getCachePath(); } elseif ($this->_cache instanceof \ICacheBackend) { /** @noinspection PhpUndefinedFieldInspection */ $written = $this->_cache->written; /** @noinspection PhpUndefinedFieldInspection */ $path = $this->_cache->path; } \Freetrix\Main\Diag\CacheTracker::addCacheStatBytes($written); \Freetrix\Main\Diag\CacheTracker::add($written, $path, $this->basedir, $this->initdir, $this->filename, "W"); } if (strlen($arAllVars) > 0) { ob_end_flush(); } else { ob_end_clean(); } }
* @global CMain $APPLICATION * @global CDatabase $DB */ define("START_EXEC_EPILOG_AFTER_1", microtime()); $GLOBALS["FX_STATE"] = "EA"; global $USER, $APPLICATION, $DB; foreach (GetModuleEvents("main", "OnEpilog", true) as $arEvent) { ExecuteModuleEventEx($arEvent); } $r = $APPLICATION->EndBufferContentMan(); $main_exec_time = round(getmicrotime() - START_EXEC_TIME, 4); echo $r; $arAllEvents = GetModuleEvents("main", "OnAfterEpilog", true); define("START_EXEC_EVENTS_1", microtime()); $GLOBALS["FX_STATE"] = "EV"; CMain::EpilogActions(); define("START_EXEC_EVENTS_2", microtime()); $GLOBALS["FX_STATE"] = "EA"; foreach ($arAllEvents as $arEvent) { ExecuteModuleEventEx($arEvent); } if (!IsModuleInstalled("compression") && !defined("ADMIN_AJAX_MODE") && $_REQUEST["mode"] != 'excel') { $bShowTime = $_SESSION["SESS_SHOW_TIME_EXEC"] == 'Y'; $bShowStat = $DB->ShowSqlStat && $USER->CanDoOperation('edit_php'); $bShowCacheStat = \Freetrix\Main\Data\Cache::getShowCacheStat() && ($canEditPHP || $_SESSION["SHOW_CACHE_STAT"] == "Y"); if ($bShowTime || $bShowStat || $bShowCacheStat) { include_once $_SERVER["DOCUMENT_ROOT"] . "/freetrix/modules/main/interface/debug_info.php"; } } $DB->Disconnect(); CMain::ForkActions();
public function clearByTag($tag) { $con = Main\Application::getConnection(); $sqlHelper = $con->getSqlHelper(); if ($tag === true) { $sqlWhere = " WHERE TAG <> '*'"; } else { $sqlWhere = " WHERE TAG = '" . $sqlHelper->forSql($tag) . "'"; } $arDirs = array(); $rs = $con->query("SELECT * FROM b_cache_tag" . $sqlWhere); while ($ar = $rs->fetch()) { $arDirs[$ar["RELATIVE_PATH"]] = $ar; } $con->queryExecute("DELETE FROM b_cache_tag" . $sqlWhere); $cache = Cache::createInstance(); $managedCache = Main\Application::getInstance()->getManagedCache(); foreach ($arDirs as $path => $ar) { $con->queryExecute("\n\t\t\t\tDELETE FROM b_cache_tag\n\t\t\t\tWHERE SITE_ID = '" . $sqlHelper->forSql($ar["SITE_ID"]) . "'\n\t\t\t\tAND CACHE_SALT = '" . $sqlHelper->forSql($ar["CACHE_SALT"]) . "'\n\t\t\t\tAND RELATIVE_PATH = '" . $sqlHelper->forSql($ar["RELATIVE_PATH"]) . "'\n\t\t\t"); if (preg_match("/^managed:(.+)\$/", $path, $match)) { $managedCache->cleanDir($match[1]); } else { $cache->cleanDir($path); } unset($this->dbCacheTags[$path]); } }
/** * Function starts the caching block of the component execution. * * @param int|bool $cacheTime * @param mixed $additionalCacheID * @param string|bool $cachePath * @return string * */ public final function startResultCache($cacheTime = false, $additionalCacheID = false, $cachePath = false) { /** @global CMain $APPLICATION */ global $APPLICATION, $CACHE_MANAGER; if (!$this->__bInited) { return null; } if ($this->arParams["CACHE_TYPE"] == "N" || $this->arParams["CACHE_TYPE"] == "A" && COption::getOptionString("main", "component_cache_on", "Y") == "N") { return true; } if ($cacheTime === false) { $cacheTime = intval($this->arParams["CACHE_TIME"]); } $this->__cacheID = $this->getCacheID($additionalCacheID); $this->__cachePath = $cachePath; if ($this->__cachePath === false) { $this->__cachePath = $CACHE_MANAGER->getCompCachePath($this->__relativePath); } $this->__cache = \Freetrix\Main\Data\Cache::createInstance(); if ($this->__cache->startDataCache($cacheTime, $this->__cacheID, $this->__cachePath)) { $this->__NavNum = $GLOBALS["NavNum"]; if (defined("FX_COMP_MANAGED_CACHE") && $this->__cache->isStarted()) { $CACHE_MANAGER->startTagCache($this->__cachePath); } return true; } else { $arCache = $this->__cache->GetVars(); $this->arResult = $arCache["arResult"]; if (array_key_exists("templateCachedData", $arCache)) { $templateCachedData =& $arCache["templateCachedData"]; if ($templateCachedData && is_array($templateCachedData)) { if (array_key_exists("additionalCSS", $templateCachedData) && strlen($templateCachedData["additionalCSS"]) > 0) { $APPLICATION->SetAdditionalCSS($templateCachedData["additionalCSS"]); if ($this->__parent) { $this->__parent->addChildCSS($templateCachedData["additionalCSS"]); } } if (array_key_exists("additionalJS", $templateCachedData) && strlen($templateCachedData["additionalJS"]) > 0) { $APPLICATION->AddHeadScript($templateCachedData["additionalJS"]); if ($this->__parent) { $this->__parent->addChildJS($templateCachedData["additionalJS"]); } } if (array_key_exists("frames", $templateCachedData) && is_array($templateCachedData["frames"])) { foreach ($templateCachedData["frames"] as $frameState) { \Freetrix\Main\Page\FrameHelper::applyCachedData($frameState); } } } if ($templateCachedData["__editButtons"]) { foreach ($templateCachedData["__editButtons"] as $button) { if ($button[0] == 'AddEditAction') { $this->addEditAction($button[1], $button[2], $button[3], $button[4]); } else { $this->addDeleteAction($button[1], $button[2], $button[3], $button[4]); } } } if ($templateCachedData["__view"]) { foreach ($templateCachedData["__view"] as $view_id => $target) { foreach ($target as $view_content) { $APPLICATION->addViewContent($view_id, $view_content[0], $view_content[1]); } } } if (array_key_exists("__NavNum", $templateCachedData)) { $GLOBALS["NavNum"] += $templateCachedData["__NavNum"]; } if (array_key_exists("__children_css", $templateCachedData)) { foreach ($templateCachedData["__children_css"] as $css_url) { $APPLICATION->setAdditionalCSS($css_url); } } if (array_key_exists("__children_js", $templateCachedData)) { foreach ($templateCachedData["__children_js"] as $js_url) { $APPLICATION->addHeadScript($js_url); } } if (array_key_exists("__children_epilogs", $templateCachedData)) { foreach ($templateCachedData["__children_epilogs"] as $component_epilog) { $this->includeComponentEpilog($component_epilog); } } if (array_key_exists("component_epilog", $templateCachedData)) { $this->includeComponentEpilog($templateCachedData["component_epilog"]); } } return false; } }
$obJSPopup->jsPopup = 'jsDebugTimeWindow'; ?> <script type="text/javascript"> var jsDebugTimeWindow = new BX.CDebugDialog(); </script> <div id="FX_DEBUG_TIME" class="bx-debug-window" style="z-index:99; width:660px !important;"> <? $obJSPopup->StartDescription('bx-core-debug-info'); ?> <p><?echo GetMessage("debug_info_page")?> <?php echo $APPLICATION->GetCurPage(); ?> </p> <p><?echo GetMessage("debug_info_comps_cache")?> <?if(COption::GetOptionString("main", "component_cache_on", "Y")=="Y") echo GetMessage("debug_info_comps_cache_on"); else echo "<a href=\"/freetrix/admin/cache.php\"><font class=\"errortext\">".GetMessage("debug_info_comps_cache_off")."</font></a>";?>.</p> <p><? if(\Freetrix\Main\Data\Cache::getShowCacheStat()) echo GetMessage("debug_info_cache_size")." ",CFile::FormatSize(\Freetrix\Main\Diag\CacheTracker::getCacheStatBytes(), 0); else echo " "; ?></p> <? $obJSPopup->StartContent(array('buffer' => true)); ?> <div id="FX_DEBUG_TIME_1"> <div class="bx-debug-content bx-debug-content-table"> <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr class="heading"> <td> </td> <td> </td> <td class="number" nowrap>
public static function OnEpilog() { global $USER; $arOptions = CHTMLPagesCache::GetOptions(); if ($arOptions["COMPOSITE"] === "Y") { if (Main\Data\Cache::shouldClearCache()) { $server = Main\Context::getCurrent()->getServer(); $queryString = DeleteParam(array("clear_cache", "clear_cache_session")); $uri = new Freetrix\Main\Web\Uri($server->getRequestUri()); $refinedUri = $queryString != "" ? $uri->getPath()."?".$queryString : $uri->getPath(); $cachedFile = Main\Data\StaticHtmlCache::convertUriToPath($refinedUri, $server->getHttpHost()); $bytes = self::deleteRecursive($cachedFile); self::updateQuota(-$bytes); } return; } $bAutorized = is_object($USER) && $USER->IsAuthorized(); if(!$bAutorized && defined("HTML_PAGES_FILE")) { @setcookie(session_name(), "", time()-360000, "/"); } $bExcludeByFile = $_SERVER["SCRIPT_NAME"] == "/freetrix/admin/get_start_menu.php"; $posts = 0; $bytes = 0.0; $all_clean = false; //Check if modifyng action happend if(($_SERVER["REQUEST_METHOD"] === "POST") || ($bAutorized && check_freetrix_sessid() && !$bExcludeByFile)) { //if it was admin post if(strncmp($_SERVER["REQUEST_URI"], "/freetrix/", 8) === 0) { //Then will clean all the cache $bytes = CHTMLPagesCache::deleteRecursive("/"); $all_clean = true; } //check if it was SEF post elseif(array_key_exists("SEF_APPLICATION_CUR_PAGE_URL", $_REQUEST) && file_exists($_SERVER['DOCUMENT_ROOT']."/urlrewrite.php")) { $arUrlRewrite = array(); include($_SERVER['DOCUMENT_ROOT']."/urlrewrite.php"); foreach($arUrlRewrite as $val) { if(preg_match($val["CONDITION"], $_SERVER["REQUEST_URI"]) > 0) { if (strlen($val["RULE"]) > 0) $url = preg_replace($val["CONDITION"], (StrLen($val["PATH"]) > 0 ? $val["PATH"]."?" : "").$val["RULE"], $_SERVER["REQUEST_URI"]); else $url = $val["PATH"]; $pos=strpos($url, "?"); if($pos !== false) { $url = substr($url, 0, $pos); } $url = substr($url, 0, strrpos($url, "/")+1); $bytes = CHTMLPagesCache::deleteRecursive($url); break; } } } //public page post else { $folder = substr($_SERVER["REQUEST_URI"], 0, strrpos($_SERVER["REQUEST_URI"], "/")); $bytes = CHTMLPagesCache::deleteRecursive($folder); } $posts++; } if($bytes > 0.0 && class_exists("cdiskquota")) { CDiskQuota::updateDiskQuota("file", $bytes, "delete"); } if($posts || $bytes) { CHTMLPagesCache::writeStatistic( 0, //hit 0, //miss 0, //quota $posts, //posts ($all_clean? false: -$bytes) //files ); } }
function OnAfterEpilog() { global $USER; $canEditPHP = $USER->CanDoOperation('edit_php'); $bShowTime = isset($_SESSION["SESS_SHOW_TIME_EXEC"]) && ($_SESSION["SESS_SHOW_TIME_EXEC"] == 'Y'); $bShowStat = ($GLOBALS["DB"]->ShowSqlStat && ($canEditPHP || $_SESSION["SHOW_SQL_STAT"]=="Y")); $bShowCacheStat = (\Freetrix\Main\Data\Cache::getShowCacheStat() && ($canEditPHP || $_SESSION["SHOW_CACHE_STAT"]=="Y")); $bExcel = isset($_REQUEST["mode"]) && $_REQUEST["mode"] === 'excel'; $ENCODING = CCompress::CheckCanGzip(); if($ENCODING !== 0) { $level = 4; if (isset($_GET["compress"])) { if ($_GET["compress"] === "Y" || $_GET["compress"] === "y") $_SESSION["SESS_COMPRESS"] = "Y"; elseif ($_GET["compress"] === "N" || $_GET["compress"] === "n") unset($_SESSION["SESS_COMPRESS"]); } if(!defined("ADMIN_AJAX_MODE") && !defined('PUBLIC_AJAX_MODE') && !$bExcel) { if($bShowTime || $bShowStat || $bShowCacheStat) { $main_exec_time = round((getmicrotime()-START_EXEC_TIME), 4); include_once($_SERVER["DOCUMENT_ROOT"]."/freetrix/modules/main/interface/debug_info.php"); } if(isset($_SESSION["SESS_COMPRESS"]) && $_SESSION["SESS_COMPRESS"] == "Y") include($_SERVER["DOCUMENT_ROOT"]."/freetrix/modules/compression/table.php"); } ob_end_flush(); $Contents = ob_get_contents(); ob_end_clean(); if(!defined("FX_SPACES_DISABLED") || FX_SPACES_DISABLED!==true) if((strpos($GLOBALS["HTTP_USER_AGENT"], "MSIE 5")>0 || strpos($GLOBALS["HTTP_USER_AGENT"], "MSIE 6.0")>0) && strpos($GLOBALS["HTTP_USER_AGENT"], "Opera")===false) $Contents = str_repeat(" ", 2048)."\r\n".$Contents; $Size = function_exists("mb_strlen")? mb_strlen($Contents, 'latin1'): strlen($Contents); $Crc = crc32($Contents); $Contents = gzcompress($Contents, $level); $Contents = function_exists("mb_substr")? mb_substr($Contents, 0, -4, 'latin1'): substr($Contents, 0, -4); header("Content-Encoding: $ENCODING"); print "\x1f\x8b\x08\x00\x00\x00\x00\x00"; print $Contents; print pack('V',$Crc); print pack('V',$Size); } else { ob_end_flush(); ob_end_flush(); if(($bShowTime || $bShowStat || $bShowCacheStat) && !defined("ADMIN_AJAX_MODE") && !defined('PUBLIC_AJAX_MODE')) { $main_exec_time = round((getmicrotime()-START_EXEC_TIME), 4); include_once($_SERVER["DOCUMENT_ROOT"]."/freetrix/modules/main/interface/debug_info.php"); } } }
function Stop($rel_path = "", $path = "", $cache_type = "") { /** @global CMain $APPLICATION */ global $APPLICATION; /** @global CDatabase $DB */ global $DB; /** @global int $CACHE_STAT_BYTES */ global $CACHE_STAT_BYTES; if ($this->is_comp) { self::$level--; } $this->arResult = array("PATH" => $path, "REL_PATH" => $rel_path, "QUERY_COUNT" => 0, "QUERY_TIME" => 0, "QUERIES" => array(), "TIME" => getmicrotime() - $this->start_time, "FX_STATE" => $GLOBALS["FX_STATE"], "CACHE_TYPE" => $cache_type, "CACHE_SIZE" => \Freetrix\Main\Data\Cache::getShowCacheStat() ? \Freetrix\Main\Diag\CacheTracker::getCacheStatBytes() : 0, "LEVEL" => self::$level); if ($DB->ShowSqlStat) { if ($DB->cntQuery) { $this->arResult["QUERY_COUNT"] = $DB->cntQuery; $this->arResult["QUERY_TIME"] = $DB->timeQuery; $this->arResult["QUERIES"] = $DB->arQueryDebug; } $DB->arQueryDebug = $this->arQueryDebugSave; $DB->cntQuery = $this->cnt_query; $DB->timeQuery = $this->query_time; } if (\Freetrix\Main\Data\Cache::getShowCacheStat()) { $this->arResult["CACHE"] = \Freetrix\Main\Diag\CacheTracker::getCacheTracking(); \Freetrix\Main\Diag\CacheTracker::setCacheTracking($this->arCacheDebugSave); \Freetrix\Main\Diag\CacheTracker::setCacheStatBytes($CACHE_STAT_BYTES = $this->cache_size); } }