if ($TYPE == "SELECT" || $TYPE == "MULTISELECT" || $TYPE == "RADIO") { $numpropsvals = IntVal($numpropsvals); for ($i = 0; $i <= $numpropsvals; $i++) { $strError1 = ""; $CF_ID = IntVal(${"ID_" . $i}); $CF_DEL = ${"DELETE_" . $i}; unset($arFieldsV); $arFieldsV = array("ORDER_PROPS_ID" => $ID, "VALUE" => Trim(${"VALUE_" . $i}), "NAME" => Trim(${"NAME_" . $i}), "SORT" => IntVal(${"SORT_" . $i}) > 0 ? IntVal(${"SORT_" . $i}) : 100, "DESCRIPTION" => Trim(${"DESCRIPTION_" . $i})); if ($CF_ID <= 0) { 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; }
// // if (! $errors) // { // $filesToDelete = ($existentProperty && $existentProperty['TYPE'] == 'FILE' && ($v = $existentProperty['DEFAULT_VALUE'])) // ? array_diff((is_array($v) ? $v : array($v)), $filesToDelete) // : array(); // } // save associated data if (!$errors) { // save property variants 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)) {