@set_time_limit(0); $DB->StartTransaction(); if (!CSaleTaxRate::Delete($ID)) { $DB->Rollback(); if ($ex = $APPLICATION->GetException()) { $lAdmin->AddGroupError($ex->GetString(), $ID); } else { $lAdmin->AddGroupError(GetMessage("SALE_DELETE_ERROR"), $ID); } } $DB->Commit(); break; case "activate": case "deactivate": $arFields = array("ACTIVE" => $_REQUEST['action'] == "activate" ? "Y" : "N"); if (!CSaleTaxRate::Update($ID, $arFields)) { if ($ex = $APPLICATION->GetException()) { $lAdmin->AddGroupError($ex->GetString(), $ID); } else { $lAdmin->AddGroupError(GetMessage("ERROR_EDIT_TAX_RATE"), $ID); } } break; } } } $dbResultList = CSaleTaxRate::GetList(array($by => $order), $arFilter); $dbResultList = new CAdminResult($dbResultList, $sTableID); $dbResultList->NavStart(); $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("SALE_TAX_RATE_LIST"))); $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "ID", "default" => true), array("id" => "ACTIVE", "content" => GetMessage("RATE_ACTIVE"), "sort" => "ACTIVE", "default" => true, "align" => "center"), array("id" => "TIMESTAMP_X", "content" => GetMessage("TAX_TIMESTAMP"), "sort" => "TIMESTAMP_X", "default" => true), array("id" => "NAME", "content" => GetMessage("TAX_NAME"), "sort" => "NAME", "default" => true), array("id" => "PERSON_TYPE_ID", "content" => GetMessage("RATE_PERSON_TYPE"), "sort" => "PERSON_TYPE_ID", "default" => true), array("id" => "VALUE", "content" => GetMessage("RATE_VALUE"), "sort" => "", "default" => true), array("id" => "IS_IN_PRICE", "content" => GetMessage("RATE_IS_INPRICE"), "sort" => "IS_IN_PRICE", "default" => true), array("id" => "APPLY_ORDER", "content" => GetMessage("RATE_APPLY_ORDER"), "sort" => "APPLY_ORDER", "default" => true)));
if (isset($LOCATION2) && is_array($LOCATION2) && count($LOCATION2) > 0) { $countLocation2 = count($LOCATION2); for ($i = 0; $i < $countLocation2; $i++) { if (strlen($LOCATION2[$i])) { $arLocation[] = array("LOCATION_ID" => $LOCATION2[$i], "LOCATION_TYPE" => "G"); } } } if (!is_array($arLocation) || count($arLocation) <= 0) { $strError .= GetMessage("ERROR_NO_LOCATION") . "<br>"; } if (strlen($strError) <= 0) { unset($arFields); $arFields = array("PERSON_TYPE_ID" => IntVal($PERSON_TYPE_ID) > 0 ? IntVal($PERSON_TYPE_ID) : False, "TAX_ID" => $TAX_ID, "VALUE" => $VALUE, "CURRENCY" => strlen($CURRENCY) > 0 ? $CURRENCY : False, "IS_PERCENT" => $IS_PERCENT, "IS_IN_PRICE" => $IS_IN_PRICE, "APPLY_ORDER" => $APPLY_ORDER, "ACTIVE" => $ACTIVE, "TAX_LOCATION" => $arLocation); if ($ID > 0) { if (!CSaleTaxRate::Update($ID, $arFields, array("EXPECT_LOCATION_CODES" => $lpEnabled))) { $strError .= GetMessage("ERROR_EDIT_TAX_RATE") . "<br>"; } } else { $ID = CSaleTaxRate::Add($arFields, array("EXPECT_LOCATION_CODES" => $lpEnabled)); if ($ID <= 0) { $strError .= GetMessage("ERROR_ADD_TAX_RATE") . "<br>"; } } } if (strlen($strError) > 0) { $bInitVars = True; } if (strlen($save) > 0 && strlen($strError) <= 0) { LocalRedirect("sale_tax_rate.php?lang=" . LANG . GetFilterParams("filter_", false)); }