$module_id = "perfmon"; $RIGHT = $APPLICATION->GetGroupRight($module_id); if ($RIGHT >= "R") { IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/options.php"); IncludeModuleLangFile(__FILE__); $arAllOptions = array(array("max_display_url", GetMessage("PERFMON_OPTIONS_MAX_DISPLAY_URL"), array("text", 6)), array("warning_log", GetMessage("PERFMON_OPTIONS_WARNING_LOG"), array("checkbox")), array("cache_log", GetMessage("PERFMON_OPTIONS_CACHE_LOG"), array("checkbox")), array("sql_log", GetMessage("PERFMON_OPTIONS_SQL_LOG"), array("checkbox")), array("sql_backtrace", GetMessage("PERFMON_OPTIONS_SQL_BACKTRACE"), array("checkbox")), array("slow_sql_log", GetMessage("PERFMON_OPTIONS_SLOW_SQL_LOG"), array("checkbox"), GetMessage("PERFMON_OPTIONS_SLOW_SQL_NOTE")), array("slow_sql_time", GetMessage("PERFMON_OPTIONS_SLOW_SQL_TIME"), array("text", 6))); $aTabs = array(array("DIV" => "edit1", "TAB" => GetMessage("MAIN_TAB_SET"), "ICON" => "perfmon_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_SET")), array("DIV" => "edit2", "TAB" => GetMessage("MAIN_TAB_RIGHTS"), "ICON" => "perfmon_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_RIGHTS"))); $tabControl = new CAdminTabControl("tabControl", $aTabs); CModule::IncludeModule($module_id); if ($REQUEST_METHOD == "POST" && strlen($Update . $Apply . $RestoreDefaults) > 0 && $RIGHT == "W" && check_bitrix_sessid()) { require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/perfmon/prolog.php"; if ($_REQUEST["clear_data"] === "y") { CPerfomanceComponent::Clear(); CPerfomanceSQL::Clear(); CPerfomanceHit::Clear(); CPerfomanceError::Clear(); CPerfomanceCache::Clear(); } if (array_key_exists("ACTIVE", $_REQUEST)) { $ACTIVE = intval($_REQUEST["ACTIVE"]); CPerfomanceKeeper::SetActive($ACTIVE > 0, time() + $ACTIVE); } if (strlen($RestoreDefaults) > 0) { COption::RemoveOption("perfmon"); } else { foreach ($arAllOptions as $arOption) { $name = $arOption[0]; $val = $_REQUEST[$name]; if ($arOption[2][0] == "checkbox" && $val != "Y") { $val = "N"; }
$arHeaders[] = array("id" => "ID", "content" => GetMessage("PERFMON_ERR_ID"), "align" => "right", "sort" => "ID", "default" => true); $arHeaders[] = array("id" => "HIT_ID", "content" => GetMessage("PERFMON_ERR_HIT_ID"), "align" => "right", "sort" => "HIT_ID", "default" => true); } $arHeaders[] = array("id" => "ERRNO", "content" => GetMessage("PERFMON_ERR_NO"), "align" => "right", "sort" => "ERRNO", "default" => true); $arHeaders[] = array("id" => "ERRFILE", "content" => GetMessage("PERFMON_ERR_FILE"), "sort" => "ERRFILE", "default" => true); $arHeaders[] = array("id" => "ERRLINE", "content" => GetMessage("PERFMON_ERR_LINE"), "sort" => "ERRLINE", "default" => true); $arHeaders[] = array("id" => "ERRSTR", "content" => GetMessage("PERFMON_ERR_TEXT"), "sort" => "ERRSTR", "default" => true); if ($group === "Y") { $arHeaders[] = array("id" => "COUNT", "content" => GetMessage("PERFMON_ERR_COUNT"), "align" => "right", "sort" => "COUNT", "default" => true); } $lAdmin->AddHeaders($arHeaders); $arSelectedFields = $lAdmin->GetVisibleHeaderColumns(); if (!is_array($arSelectedFields) || count($arSelectedFields) < 1) { $arSelectedFields = array("ID", "HIT_ID", "ERRNO", "ERRFILE", "ERRLINE", "ERRSTR"); } $cData = new CPerfomanceError(); $rsData = $cData->GetList($arSelectedFields, $arFilter, array($by => $order), $group === "Y"); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("PERFMON_ERR_PAGE"))); while ($arRes = $rsData->NavNext(true, "f_")) { if ($group == "Y") { $ID = md5($f_ERRFILE . "|" . $f_ERRLINE); } else { $ID = $f_ID; } $row = $lAdmin->AddRow($ID, $arRes); $row->AddViewField("ERRNO", $arErrorCodes[$f_ERRNO]); if ($bFileMan) { $row->AddViewField("ERRFILE", '<a href="fileman_file_edit.php?lang=' . LANGUAGE_ID . '&full_src=Y&site=&set_filter=Y&filter=&path=' . urlencode(substr($arRes["ERRFILE"], strlen($_SERVER["DOCUMENT_ROOT"]))) . '">' . $f_ERRFILE . '</a>'); }