if (strlen($strError) <= 0) { unset($arFields); $arFields = array("PERSON_TYPE_ID" => $PERSON_TYPE_ID, "NAME" => $NAME, "TYPE" => $TYPE, "REQUIED" => $REQUIED, "DEFAULT_VALUE" => $DEFAULT_VALUE, "SORT" => $SORT, "CODE" => strlen($CODE) <= 0 ? False : $CODE, "USER_PROPS" => $USER_PROPS, "IS_LOCATION" => $IS_LOCATION, "IS_LOCATION4TAX" => $IS_LOCATION4TAX, "PROPS_GROUP_ID" => $PROPS_GROUP_ID, "SIZE1" => $SIZE1, "SIZE2" => $SIZE2, "DESCRIPTION" => $DESCRIPTION, "IS_EMAIL" => $IS_EMAIL, "IS_PROFILE_NAME" => $IS_PROFILE_NAME, "IS_PAYER" => $IS_PAYER, "IS_FILTERED" => $IS_FILTERED, "IS_ZIP" => $IS_ZIP, "ACTIVE" => $ACTIVE, "UTIL" => $UTIL, "INPUT_FIELD_LOCATION" => $INPUT_FIELD_LOCATION); if ($ID > 0) { if (!CSaleOrderProps::Update($ID, $arFields)) { $strError .= GetMessage("ERROR_EDIT_PROP") . "<br>"; } if (strlen($strError) <= 0) { //$db_order_props_tmp = CSaleOrderPropsValue::GetList(($b="NAME"), ($o="ASC"), Array("ORDER_PROPS_ID"=>$ID)); $db_order_props_tmp = CSaleOrderPropsValue::GetList($b = "ID", $o = "ASC", array("ORDER_PROPS_ID" => $ID, "!CODE" => strlen($CODE) <= 0 ? False : $CODE)); while ($ar_order_props_tmp = $db_order_props_tmp->Fetch()) { CSaleOrderPropsValue::Update($ar_order_props_tmp["ID"], array("CODE" => strlen($CODE) <= 0 ? False : $CODE)); } } } else { $ID = CSaleOrderProps::Add($arFields); if ($ID <= 0) { $strError .= GetMessage("ERROR_ADD_PROP") . "<br>"; } } } if (strlen($strError) <= 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) {
{ $variants = $prop["VARIANTS"]; unset($prop["VARIANTS"]); } if ($prop["CODE"] == "LOCATION" && $propCityId > 0) { $prop["INPUT_FIELD_LOCATION"] = $propCityId; $propCityId = 0; } $dbSaleOrderProps = CSaleOrderProps::GetList(array(), array("PERSON_TYPE_ID" => $prop["PERSON_TYPE_ID"], "CODE" => $prop["CODE"])); if ($arSaleOrderProps = $dbSaleOrderProps->GetNext()) $id = $arSaleOrderProps["ID"]; else $id = CSaleOrderProps::Add($prop); if ($prop["CODE"] == "CITY") { $propCityId = $id; } if(strlen($prop["CODE"]) > 0) { //$arGeneralInfo["propCode"][$prop["CODE"]] = $prop["CODE"]; $arGeneralInfo["propCodeID"][$prop["CODE"]] = $id; $arGeneralInfo["properies"][$prop["PERSON_TYPE_ID"]][$prop["CODE"]] = $prop; $arGeneralInfo["properies"][$prop["PERSON_TYPE_ID"]][$prop["CODE"]]["ID"] = $id; } if(!empty($variants)) {
"UTIL" => "Y" ); } elseif ($prop > 0 && $prop != "empty") { COption::SetOptionString($moduleID, "match_id_".$person_type_id."_".$code, 'ORDER_PROP_'.$prop); COption::SetOptionString($moduleID, "selector_id_".$person_type_id."_".$code, '#ORDER_PROP_'.$prop); } elseif ($prop == "empty") { COption::SetOptionString($moduleID, "match_id_".$person_type_id."_".$code, ''); COption::SetOptionString($moduleID, "selector_id_".$person_type_id."_".$code, ''); } } } } } if(is_array($property_fields)){ foreach ($property_fields as $prop_to_add) { $ID = CSaleOrderProps::Add($prop_to_add); if ($ID <= 0) { $errors[] = GetMessage("PROPERTIES_GP_CREATION_ERROR", array("#NAME#" => $prop_to_add['NAME'], "#CODE#" => $prop_to_add['CODE'], "#PERSON_TYPE_ID#" => $prop_to_add['PERSON_TYPE_ID'])); } else { COption::SetOptionString($moduleID, "match_id_".$prop_to_add['PERSON_TYPE_ID']."_".$prop_to_add['CODE'], 'ORDER_PROP_'.$ID); COption::SetOptionString($moduleID, "selector_id_".$prop_to_add['PERSON_TYPE_ID']."_".$prop_to_add['CODE'], '#ORDER_PROP_'.$ID); } } } $gp_order_id_prop_res = CSaleOrderProps::GetList(array(), array("CODE" => $gp_special_props_set_list, "ACTIVE" => "Y")); while ($gp_order_id_prop_ar = $gp_order_id_prop_res->Fetch()) { COption::SetOptionString($moduleID, "match_id_".$gp_order_id_prop_ar['PERSON_TYPE_ID']."_".$gp_order_id_prop_ar['CODE'], 'ORDER_PROP_'.$gp_order_id_prop_ar['ID']); //COption::SetOptionString($moduleID, "selector_id_".$gp_order_id_prop_ar['PERSON_TYPE_ID']."_".$gp_order_id_prop_ar['CODE'], 'ORDER_PROP_'.$gp_order_id_prop_ar['ID']); } }