| Current Path : /var/www/element/data/www/greenpr.ru/bitrix3/modules/perfmon/admin/ |
| Current File : /var/www/element/data/www/greenpr.ru/bitrix3/modules/perfmon/admin/perfmon_comp_list.php |
<?
define("ADMIN_MODULE_NAME", "perfmon");
define("PERFMON_STOP", true);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/perfmon/include.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/perfmon/prolog.php");
IncludeModuleLangFile(__FILE__);
$RIGHT = $APPLICATION->GetGroupRight("perfmon");
if($RIGHT=="D")
$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
$sTableID = "tbl_perfmon_comp_list";
$oSort = new CAdminSorting($sTableID, "NN", "asc");
$lAdmin = new CAdminList($sTableID, $oSort);
$FilterArr = Array(
"find",
"find_type",
"find_component_name",
"find_hit_id",
);
$lAdmin->InitFilter($FilterArr);
$arFilter = Array(
"COMPONENT_NAME" => ($find!="" && $find_type == "component_name"? $find: $find_component_name),
"=HIT_ID" => ($find!="" && $find_type == "hit_id"? $find: $find_hit_id),
);
foreach($arFilter as $key=>$value)
if(!$value)
unset($arFilter[$key]);
$lAdmin->AddHeaders(array(
array(
"id" => "ID",
"content" => GetMessage("PERFMON_COMP_ID"),
"sort" => "ID",
"align" => "right",
),
array(
"id" => "HIT_ID",
"content" => GetMessage("PERFMON_COMP_HIT_ID"),
"sort" => "HIT_ID",
"align" => "right",
),
array(
"id" => "NN",
"content" => GetMessage("PERFMON_COMP_NN"),
"sort" => "NN",
"align" => "right",
"default" => true,
),
array(
"id" => "COMPONENT_NAME",
"content" => GetMessage("PERFMON_COMP_COMPONENT_NAME"),
"sort" => "COMPONENT_NAME",
"default" => true,
),
array(
"id" => "COMPONENT_TIME",
"content" => GetMessage("PERFMON_COMP_COMPONENT_TIME"),
"sort" => "COMPONENT_TIME",
"align" => "right",
"default" => true,
),
array(
"id" => "QUERIES",
"content" => GetMessage("PERFMON_COMP_QUERIES"),
"sort" => "QUERIES",
"align" => "right",
"default" => true,
),
array(
"id" => "QUERIES_TIME",
"content" => GetMessage("PERFMON_COMP_QUERIES_TIME"),
"sort" => "QUERIES_TIME",
"align" => "right",
"default" => true,
),
));
$arSelectedFields = $lAdmin->GetVisibleHeaderColumns();
if(!is_array($arSelectedFields) || (count($arSelectedFields) < 1))
$arSelectedFields = array(
"ID",
"HIT_ID",
"NN",
"COMPONENT_NAME",
"COMPONENT_TIME",
"QUERIES",
"QUERIES_TIME",
);
$arSelectedFields[] = "ID";
$arNumCols = array(
"COMPONENT_TIME" => 4,
"QUERIES" => 0,
"QUERIES_TIME" => 4,
);
$cData = new CPerfomanceComponent;
$rsData = $cData->GetList(array($by => $order), $arFilter, false, false, $arSelectedFields);
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("PERFMON_COMP_PAGE")));
$max_display_url = COption::GetOptionInt("perfmon", "max_display_url");
while($arRes = $rsData->NavNext(true, "f_"))
{
$row =& $lAdmin->AddRow($f_NAME, $arRes);
foreach($arNumCols as $column_name => $precision)
$row->AddViewField($column_name, str_replace(" ", " ", number_format($arRes[$column_name], $precision, ".", " ")));
if($f_QUERIES > 0)
$row->AddViewField("QUERIES", '<a href="perfmon_sql_list.php?lang='.LANGUAGE_ID.'&set_filter=Y&find_component_id='.$f_ID.'">'.$f_QUERIES.'</a>');
$row->AddViewField("HIT_ID", '<a href="perfmon_hit_list.php?lang='.LANGUAGE_ID.'&set_filter=Y&find_id='.$f_HIT_ID.'">'.$f_HIT_ID.'</a>');
}
$lAdmin->AddFooter(
array(
array("title"=>GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value"=>$rsData->SelectedRowsCount()),
)
);
$aContext = array(
);
$lAdmin->AddAdminContextMenu($aContext);
$lAdmin->CheckListMode();
$APPLICATION->SetTitle(GetMessage("PERFMON_COMP_TITLE"));
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
$oFilter = new CAdminFilter(
$sTableID."_filter",
array(
"find_component_name" => GetMessage("PERFMON_COMP_COMPONENT_NAME"),
"find_comp_id" => GetMessage("PERFMON_COMP_ID"),
)
);
?>
<form name="find_form" method="get" action="<?echo $APPLICATION->GetCurPage();?>">
<?$oFilter->Begin();?>
<tr>
<td><b><?=GetMessage("PERFMON_COMP_FIND")?>:</b></td>
<td>
<input type="text" size="25" name="find" value="<?echo htmlspecialchars($find)?>" title="<?=GetMessage("PERFMON_COMP_FIND")?>">
<?
$arr = array(
"reference" => array(
GetMessage("PERFMON_COMP_COMPONENT_NAME"),
GetMessage("PERFMON_COMP_HIT_ID"),
),
"reference_id" => array(
"component_name",
"hit_id",
)
);
echo SelectBoxFromArray("find_type", $arr, $find_type, "", "");
?>
</td>
</tr>
<tr>
<td><?=GetMessage("PERFMON_COMP_COMPONENT_NAME")?></td>
<td><input type="text" name="find_component_name" size="47" value="<?echo htmlspecialchars($find_component_name)?>"></td>
</tr>
<tr>
<td><?=GetMessage("PERFMON_COMP_HIT_ID")?></td>
<td><input type="text" name="find_hit_id" size="47" value="<?echo htmlspecialchars($find_hit_id)?>"></td>
</tr>
<?
$oFilter->Buttons(array("table_id"=>$sTableID, "url"=>$APPLICATION->GetCurPage(), "form"=>"find_form"));
$oFilter->End();
?>
</form>
<?$lAdmin->DisplayList();?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");?>