| Current Path : /var/www/element/data/www/greenpr.ru/bitrix/modules/perfmon/admin/ |
| Current File : /var/www/element/data/www/greenpr.ru/bitrix/modules/perfmon/admin/perfmon_error_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"));
$bFileMan = CModule::IncludeModule('fileman');
$arErrorCodes = array(
1 => "E_ERROR",
2 => "E_WARNING",
4 => "E_PARSE",
8 => "E_NOTICE",
16 => "E_CORE_ERROR",
32 => "E_CORE_WARNING",
64 => "E_COMPILE_ERROR",
128 => "E_COMPILE_WARNING",
256 => "E_USER_ERROR",
512 => "E_USER_WARNING",
1024 => "E_USER_NOTICE",
6143 => "E_ALL",
2048 => "E_STRICT",
4096 => "E_RECOVERABLE_ERROR",
);
$sTableID = "tbl_perfmon_error_list";
$oSort = new CAdminSorting($sTableID, "ID", "desc");
$lAdmin = new CAdminList($sTableID, $oSort);
$FilterArr = Array(
"find",
"find_type",
"find_hit_id",
"find_errno",
"find_errfile",
"find_errstr",
);
$lAdmin->InitFilter($FilterArr);
$arFilter = Array(
"=HIT_ID" => ($find!="" && $find_type == "hit_id"? $find: $find_hit_id),
"=ERRNO" => ($find!="" && $find_type == "errno"? $find: $find_errno),
"%ERRFILE" => $find_errfile,
"%ERRSTR" => $find_errstr,
);
foreach($arFilter as $key=>$value)
if(!$value)
unset($arFilter[$key]);
$arHeaders = array();
if($group !== "Y")
{
$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_")):
$row =& $lAdmin->AddRow($f_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>');
$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>');
endwhile;
$lAdmin->AddFooter(
array(
array("title"=>GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value"=>$rsData->SelectedRowsCount()),
)
);
$aContext = array(
array(
"TEXT"=> GetMessage("PERFMON_ERR_GROUP"),
"MENU"=>array(
array(
"TEXT" => GetMessage("PERFMON_ERR_GROUP_ON"),
"ACTION" => $lAdmin->ActionDoGroup(0, "", "group=Y&by=COUNT&order=DESC"),
"ICON" => ($group === "Y"? "checked": ""),
),
array(
"TEXT" => GetMessage("PERFMON_ERR_GROUP_OFF"),
"ACTION" => $lAdmin->ActionDoGroup(0, "", "group=N"),
"ICON" => ($group !== "Y"? "checked": ""),
),
),
),
);
$lAdmin->AddAdminContextMenu($aContext);
$lAdmin->CheckListMode();
$APPLICATION->SetTitle(GetMessage("PERFMON_ERR_TITLE"));
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
$oFilter = new CAdminFilter(
$sTableID."_filter",
array(
"find_hit_id" => GetMessage("PERFMON_ERR_HIT_ID"),
"find_errno" => GetMessage("PERFMON_ERR_NO"),
"find_errfile" => GetMessage("PERFMON_ERR_FILE"),
"find_errstr" => GetMessage("PERFMON_ERR_TEXT"),
)
);
?>
<form name="find_form" method="get" action="<?echo $APPLICATION->GetCurPage();?>">
<?$oFilter->Begin();?>
<tr>
<td><b><?=GetMessage("PERFMON_ERR_FIND")?>:</b></td>
<td>
<input type="text" size="25" name="find" value="<?echo htmlspecialchars($find)?>" title="<?=GetMessage("PERFMON_ERR_FIND")?>">
<?
$arr = array(
"reference" => array(
GetMessage("PERFMON_ERR_HIT_ID"),
GetMessage("PERFMON_ERR_NO"),
),
"reference_id" => array(
"hit_id",
"errno",
)
);
echo SelectBoxFromArray("find_type", $arr, $find_type, "", "");
?>
</td>
</tr>
<tr>
<td><?=GetMessage("PERFMON_ERR_HIT_ID")?></td>
<td><input type="text" name="find_hit_id" size="47" value="<?echo htmlspecialchars($find_hit_id)?>"></td>
</tr>
<tr>
<td><?=GetMessage("PERFMON_ERR_NO")?></td>
<td>
<select name="find_errno">
<option value=""><?echo GetMessage("MAIN_ALL")?></option>
<?foreach($arErrorCodes as $key => $value):?>
<option value="<?echo $key?>" <?if($find_errno == $key) echo "selected"?>><?echo $value?></option>
<?endforeach?>
</select>
</td>
</tr>
<tr>
<td><?=GetMessage("PERFMON_ERR_FILE")?></td>
<td><input type="text" name="find_errfile" size="47" value="<?echo htmlspecialchars($find_errfile)?>"></td>
</tr>
<tr>
<td><?=GetMessage("PERFMON_ERR_TEXT")?></td>
<td><input type="text" name="find_errstr" size="47" value="<?echo htmlspecialchars($find_errstr)?>"></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");?>