Fix: merge array of hookmanager errors

This commit is contained in:
Regis Houssin 2012-06-03 20:34:09 +02:00
parent dfb697d794
commit 93e3c3e3f3
2 changed files with 4 additions and 2 deletions

View File

@ -30,6 +30,8 @@
class HookManager
{
var $db;
var $error;
var $errors=array();
// Context hookmanager was created for ('thirdpartycard', 'thirdpartydao', ...)
var $contextarray=array();
@ -146,7 +148,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

View File

@ -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))
{