fixmycommit:new function updateExtraField to update one particular extrafield

This commit is contained in:
abb 2016-04-16 17:41:47 +01:00
parent f0f4933905
commit 62aa628524

View File

@ -4261,6 +4261,7 @@ abstract class CommonObject
$extrafields = new ExtraFields($this->db); $extrafields = new ExtraFields($this->db);
$target_extrafields=$extrafields->fetch_name_optionals_label($this->table_element); $target_extrafields=$extrafields->fetch_name_optionals_label($this->table_element);
$value=$this->array_options["options_$key"];
$attributeType = $extrafields->attribute_type[$key]; $attributeType = $extrafields->attribute_type[$key];
$attributeLabel = $extrafields->attribute_label[$key]; $attributeLabel = $extrafields->attribute_label[$key];
$attributeParam = $extrafields->attribute_param[$key]; $attributeParam = $extrafields->attribute_param[$key];
@ -4274,17 +4275,17 @@ abstract class CommonObject
} }
elseif ($value=='') elseif ($value=='')
{ {
$this->array_options[$key] = null; $this->array_options["options_$key"] = null;
} }
break; break;
case 'price': case 'price':
$this->array_options[$key] = price2num($this->array_options[$key]); $this->array_options["options_$key"] = price2num($this->array_options["options_$key"]);
break; break;
case 'date': case 'date':
$this->array_options[$key]=$this->db->idate($this->array_options[$key]); $this->array_options["options_$key"]=$this->db->idate($this->array_options["options_$key"]);
break; break;
case 'datetime': case 'datetime':
$this->array_options[$key]=$this->db->idate($this->array_options[$key]); $this->array_options["options_$key"]=$this->db->idate($this->array_options["options_$key"]);
break; break;
case 'link': case 'link':
$param_list=array_keys($attributeParam ['options']); $param_list=array_keys($attributeParam ['options']);
@ -4296,13 +4297,13 @@ abstract class CommonObject
if ($value) if ($value)
{ {
$object->fetch(0,$value); $object->fetch(0,$value);
$this->array_options[$key]=$object->id; $this->array_options["options_$key"]=$object->id;
} }
break; break;
} }
$this->db->begin(); $this->db->begin();
$sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element."_extrafields SET $key=$value"; $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element."_extrafields SET $key=".$this->array_options["options_$key"];
$sql .= " WHERE fk_object = ".$this->id; $sql .= " WHERE fk_object = ".$this->id;
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
if (! $resql) if (! $resql)