aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xinclude/plugin.php7
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])