Fix: backward compatibility

This commit is contained in:
Regis Houssin 2018-03-29 18:30:31 +02:00 committed by Laurent Destailleur
parent 0223d54107
commit 156d26ddb9

View File

@ -1358,19 +1358,22 @@ abstract class CommonObject
if (empty($format)) $format='text';
if (empty($id_field)) $id_field='rowid';
$fk_user_field = 'fk_user_modif';
$error=0;
$this->db->begin();
// Special case
if ($table == 'product' && $field == 'note_private') $field='note';
if ($table == 'adherent') $fk_user_field = 'fk_user_mod';
$sql = "UPDATE ".MAIN_DB_PREFIX.$table." SET ";
if ($format == 'text') $sql.= $field." = '".$this->db->escape($value)."'";
else if ($format == 'int') $sql.= $field." = ".$this->db->escape($value);
else if ($format == 'date') $sql.= $field." = ".($value ? "'".$this->db->idate($value)."'" : "null");
if (! empty($fuser) && is_object($fuser)) $sql.=", fk_user_modif = ".$fuser->id;
elseif (empty($fuser) || $fuser != 'none') $sql.=", fk_user_modif = ".$user->id;
if (! empty($fuser) && is_object($fuser)) $sql.=", ".$fk_user_field." = ".$fuser->id;
elseif (empty($fuser) || $fuser != 'none') $sql.=", ".$fk_user_field." = ".$user->id;
$sql.= " WHERE ".$id_field." = ".$id;
dol_syslog(get_class($this)."::".__FUNCTION__."", LOG_DEBUG);