This commit is contained in:
Laurent Destailleur 2016-05-08 12:38:30 +02:00
parent 7c3c8f70be
commit 698b93cf1e

View File

@ -4251,7 +4251,7 @@ abstract class CommonObject
if (! empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) return 0; // For avoid conflicts if trigger used
if (! empty($this->array_options) && !empty($this->array_options["options_$key"]))
if (! empty($this->array_options) && isset($this->array_options["options_".$key]))
{
// Check parameters
$langs->load('admin');
@ -4259,7 +4259,7 @@ abstract class CommonObject
$extrafields = new ExtraFields($this->db);
$target_extrafields=$extrafields->fetch_name_optionals_label($this->table_element);
$value=$this->array_options["options_$key"];
$value=$this->array_options["options_".$key];
$attributeType = $extrafields->attribute_type[$key];
$attributeLabel = $extrafields->attribute_label[$key];
$attributeParam = $extrafields->attribute_param[$key];
@ -4273,17 +4273,17 @@ abstract class CommonObject
}
elseif ($value=='')
{
$this->array_options["options_$key"] = null;
$this->array_options["options_".$key] = null;
}
break;
case 'price':
$this->array_options["options_$key"] = price2num($this->array_options["options_$key"]);
$this->array_options["options_".$key] = price2num($this->array_options["options_".$key]);
break;
case 'date':
$this->array_options["options_$key"]=$this->db->idate($this->array_options["options_$key"]);
$this->array_options["options_".$key]=$this->db->idate($this->array_options["options_".$key]);
break;
case 'datetime':
$this->array_options["options_$key"]=$this->db->idate($this->array_options["options_$key"]);
$this->array_options["options_".$key]=$this->db->idate($this->array_options["options_".$key]);
break;
case 'link':
$param_list=array_keys($attributeParam ['options']);
@ -4295,13 +4295,13 @@ abstract class CommonObject
if ($value)
{
$object->fetch(0,$value);
$this->array_options["options_$key"]=$object->id;
$this->array_options["options_".$key]=$object->id;
}
break;
}
$this->db->begin();
$sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element."_extrafields SET $key='".$this->db->escape($this->array_options["options_$key"])."'";
$sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element."_extrafields SET ".$key."='".$this->db->escape($this->array_options["options_".$key])."'";
$sql .= " WHERE fk_object = ".$this->id;
$resql = $this->db->query($sql);
if (! $resql)