Fix: Restore broken feature. One hook = One call of function per module.
This commit is contained in:
parent
c51b964b19
commit
bb852592e6
@ -157,8 +157,6 @@ class HookManager
|
|||||||
{
|
{
|
||||||
if (! empty($modules))
|
if (! empty($modules))
|
||||||
{
|
{
|
||||||
$modulealreadyexecuted[$context]=array(); // Filter by context
|
|
||||||
|
|
||||||
foreach($modules as $module => $actionclassinstance)
|
foreach($modules as $module => $actionclassinstance)
|
||||||
{
|
{
|
||||||
//print "Before hook ".get_class($actionclassinstance)." method=".$method." hooktype=".$hooktype." results=".count($actionclassinstance->results)." resprints=".count($actionclassinstance->resprints)." resaction=".$resaction." result=".$result."<br>\n";
|
//print "Before hook ".get_class($actionclassinstance)." method=".$method." hooktype=".$hooktype." results=".count($actionclassinstance->results)." resprints=".count($actionclassinstance->resprints)." resaction=".$resaction." result=".$result."<br>\n";
|
||||||
@ -167,8 +165,8 @@ class HookManager
|
|||||||
// jump to next class if method does not exists
|
// jump to next class if method does not exists
|
||||||
if (! method_exists($actionclassinstance,$method)) continue;
|
if (! method_exists($actionclassinstance,$method)) continue;
|
||||||
// test to avoid to run twice a hook, when a module implements several active contexts
|
// test to avoid to run twice a hook, when a module implements several active contexts
|
||||||
if (in_array($module,$modulealreadyexecuted[$context])) continue;
|
if (in_array($module,$modulealreadyexecuted)) continue;
|
||||||
$modulealreadyexecuted[$context][$module]=$module; // Use the $currentcontext in method for avoid to run twice
|
$modulealreadyexecuted[$module]=$module; // Use the $currentcontext in method for avoid to run twice
|
||||||
// Add current context for avoid method execution in bad context, you can add this test in your method : eg if($currentcontext != 'formfile') return;
|
// Add current context for avoid method execution in bad context, you can add this test in your method : eg if($currentcontext != 'formfile') return;
|
||||||
$parameters['currentcontext'] = $context;
|
$parameters['currentcontext'] = $context;
|
||||||
// Hooks that must return int (hooks with type 'addreplace')
|
// Hooks that must return int (hooks with type 'addreplace')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user