fix can't remove extrafield date or datetime value

This commit is contained in:
Frédéric FRANCE 2021-07-01 15:15:35 +02:00 committed by GitHub
parent 9392624e54
commit 3aa24cccff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5739,10 +5739,12 @@ abstract class CommonObject
$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]);
break;
case 'datetime':
$this->array_options["options_".$key] = $this->db->idate($this->array_options["options_".$key]);
if (empty($this->array_options["options_".$key])) {
$this->array_options["options_".$key] = null;
} else {
$this->array_options["options_".$key] = $this->db->idate($this->array_options["options_".$key]);
}
break;
/*
case 'link':
@ -5790,7 +5792,11 @@ abstract class CommonObject
}
if ($linealreadyfound) {
$sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element."_extrafields SET ".$key." = '".$this->db->escape($this->array_options["options_".$key])."'";
if ($this->array_options["options_".$key] === null) {
$sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element."_extrafields SET ".$key." = null";
} else {
$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;
} else {
$result = $this->insertExtraFields('', $user);