if (strlen($arFieldsV["VALUE"]) > 0 && strlen($arFieldsV["NAME"]) > 0) { if (!CSaleOrderPropsVariant::Add($arFieldsV)) { $strError1 .= GetMessage("ERROR_ADD_VARIANT") . " (" . $arFieldsV["VALUE"] . ", " . $arFieldsV["NAME"] . ", " . $arFieldsV["SORT"] . ", " . $arFieldsV["DESCRIPTION"] . ").<br>"; } } } elseif ($CF_DEL == "Y") { CSaleOrderPropsVariant::Delete($CF_ID); } else { if (strlen($arFieldsV["VALUE"]) <= 0) { $strError1 .= GetMessage("ERROR_EMPTY_VAR_CODE") . " (" . $arFieldsV["NAME"] . ").<br>"; } if (strlen($arFieldsV["NAME"]) <= 0) { $strError1 .= GetMessage("ERROR_EMPTY_VAR_NAME") . " (" . $arFieldsV["VALUE"] . ").<br>"; } if (strlen($strError1) <= 0) { if (!CSaleOrderPropsVariant::Update($CF_ID, $arFieldsV)) { $strError .= GetMessage("ERROR_EDIT_VARIANT") . " (" . $arFieldsV["VALUE"] . ", " . $arFieldsV["NAME"] . ", " . $arFieldsV["SORT"] . ", " . $arFieldsV["DESCRIPTION"] . ").<br>"; } } } $strError .= $strError1; } } else { CSaleOrderPropsVariant::DeleteAll($ID); } } if (strlen($strError) > 0) { $bInitVars = True; } if (strlen($save) > 0 && strlen($strError) <= 0) { LocalRedirect("sale_order_props.php?lang=" . LANG . GetFilterParams("filter_", false));
if ($property['TYPE'] == 'ENUM') { $index = 0; foreach ($variants as $key => $row) { if ($row['DELETE']) { if ($row['ID']) { CSaleOrderPropsVariant::Delete($row['ID']); } // TODO modernize unset($variants[$key]); } else { ++$index; $variantId = $row['ID']; $row = array_intersect_key($row, $variantSettings); if ($variantId) { unset($row['ID']); if (!CSaleOrderPropsVariant::Update($variantId, $row)) { $errors[] = Loc::getMessage('ERROR_EDIT_VARIANT') . " {$index}"; } } else { $row['ORDER_PROPS_ID'] = $propertyId; if ($variantId = CSaleOrderPropsVariant::Add($row)) { $variants[$key]['ID'] = $variantId; } else { $errors[] = Loc::getMessage('ERROR_ADD_VARIANT') . " {$index}"; } } } } } elseif ($existentProperty && $existentProperty['TYPE'] == 'ENUM') { CSaleOrderPropsVariant::DeleteAll($propertyId); }