diff --git a/htdocs/core/class/hookmanager.class.php b/htdocs/core/class/hookmanager.class.php index 1dc54c041b0..110285559c1 100755 --- a/htdocs/core/class/hookmanager.class.php +++ b/htdocs/core/class/hookmanager.class.php @@ -31,6 +31,8 @@ class HookManager { var $db; + var $error; + var $errors=array(); // Context hookmanager was created for ('thirdpartycard', 'thirdpartydao', ...) var $contextarray=array(); @@ -148,7 +150,7 @@ class HookManager $resaction+=$actionclassinstance->$method($parameters, $object, $action, $this); // $object and $action can be changed by method ($object->id during creation for example or $action to go back to other action for example) if ($resaction < 0 || ! empty($actionclassinstance->error) || (! empty($actionclassinstance->errors) && count($actionclassinstance->errors) > 0)) { - $this->error=$actionclassinstance->error; $this->errors=$actionclassinstance->errors; + $this->error=$actionclassinstance->error; $this->errors=array_merge($this->errors, (array) $actionclassinstance->errors); if ($method == 'doActions') { if ($action=='add') $action='create'; // TODO this change must be inside the doActions diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index 54471d6a53a..7958c4d49ba 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -80,7 +80,7 @@ $hookmanager->initHooks(array('thirdpartycard')); $parameters=array('id'=>$socid, 'objcanvas'=>$objcanvas); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks -$error=$hookmanager->error; $errors=$hookmanager->errors; +$error=$hookmanager->error; $errors=array_merge($errors, (array) $hookmanager->errors); if (empty($reshook)) {