]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Hook.php
Merge pull request #6400 from annando/issue-6394
[friendica.git] / src / Core / Hook.php
index a0200a7db36934506b51fc59cf75d5e03f59cff3..2d6c945067965263e45f6a2b879602615e76facd 100644 (file)
@@ -136,6 +136,22 @@ class Hook extends BaseObject
        {
                if (array_key_exists($name, self::$hooks)) {
                        foreach (self::$hooks[$name] as $hook) {
+                               // Call a hook to check if this hook call needs to be forked
+                               if (array_key_exists('hook_fork', self::$hooks)) {
+                                       $hookdata = ['name' => $name, 'data' => $data, 'execute' => true];
+
+                                       foreach (self::$hooks['hook_fork'] as $fork_hook) {
+                                               if ($hook[0] != $fork_hook[0]) {
+                                                       continue;
+                                               }
+                                               self::callSingle(self::getApp(), 'hook_fork', $fork_hook, $hookdata);
+                                       }
+
+                                       if (!$hookdata['execute']) {
+                                               continue;
+                                       }
+                               }
+
                                Worker::add($priority, 'ForkHook', $name, $hook, $data);
                        }
                }