Ejemplo n.º 1
0
 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;
     }
Ejemplo n.º 2
0
 //
 //		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)) {