コード例 #1
0
    die;
}
$RIGHT = $APPLICATION->GetGroupRight("perfmon");
if ($RIGHT <= "D") {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
$obTable = new CPerfomanceTable();
$obTable->Init($table_name);
if (!$obTable->IsExists()) {
    require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
    echo CAdminMessage::ShowMessage(GetMessage("PERFMON_ROW_EDIT_TABLE_ERROR", array("#TABLE_NAME#" => htmlspecialcharsbx($table_name))));
    require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php";
    die;
}
$isAdmin = $USER->CanDoOperation('edit_php');
$arUniqueIndexes = $obTable->GetUniqueIndexes();
$arFilter = array();
$strWhere = "";
$arRowPK = is_array($_REQUEST["pk"]) ? $_REQUEST["pk"] : array();
if (count($arRowPK)) {
    foreach ($arUniqueIndexes as $arIndexColumns) {
        $arMissed = array_diff($arIndexColumns, array_keys($arRowPK));
        if (count($arMissed) == 0) {
            $strWhere = "WHERE 1 = 1";
            foreach ($arRowPK as $column => $value) {
                $arFilter["=" . $column] = $value;
                if ($value != "") {
                    $strWhere .= " AND " . $column . " = '" . $DB->ForSQL($value) . "'";
                } else {
                    $strWhere .= " AND (" . $column . " = '' OR " . $column . " IS NULL)";
                }