diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 49f038062ab..27df3ad5c74 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -2530,18 +2530,18 @@ abstract class CommonObject $classfile = strtolower($subelement); $classname = ucfirst($subelement); if ($objecttype == 'invoice_supplier') { - $classfile = 'fournisseur.facture'; + $classfile = 'fournisseur.facture'; $classname='FactureFournisseur'; $classpath = 'fourn/class'; $module='fournisseur'; } if ($objecttype == 'order_supplier') { - $classfile = 'fournisseur.commande'; + $classfile = 'fournisseur.commande'; $classname='CommandeFournisseur'; $classpath = 'fourn/class'; $module='fournisseur'; } - + if (! empty($conf->$module->enabled)) { $res=dol_include_once('/'.$classpath.'/'.$classfile.'.class.php'); @@ -3232,5 +3232,17 @@ abstract class CommonObject print ''; print ''; } + + function __clone() + { + // Force a copy of this->lines, otherwise it will point to same object. + if (isset($this->lines) && is_array($this->lines)) + { + for($i=0; $i < count($this->lines); $i++) + { + $this->lines[$i] = dol_clone($this->lines[$i]); + } + } + } } ?>