diff options
Diffstat (limited to 'include/plugin.php')
-rwxr-xr-x | include/plugin.php | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/plugin.php b/include/plugin.php index 2239f017d..fdc62b3a7 100755 --- a/include/plugin.php +++ b/include/plugin.php @@ -463,12 +463,19 @@ function call_hooks($name, &$data = null) { $checkhook = [ 'name'=>$name, 'hook'=>$hook, + 'data'=>$data, + // Note: Since PHP uses COPY-ON-WRITE + // for variables, there is no cost to + // passing the $data structure (unless + // the permit_hook processors change the + // information it contains. 'permit'=>true ]; call_hooks('permit_hook',$checkhook); if (!$checkhook['permit']) { continue; } + $data = $checkhook['data']; } $origfn = $hook[1]; if($hook[0]) |