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)"; }