Compare commits

...

10 Commits

Author SHA1 Message Date
slawkens
11a2275115 Update Hooks.php 2025-05-08 19:55:31 +02:00
slawkens
50f73ba56c New filter: HOOK_FILTER_ROUTES 2025-05-08 18:35:03 +02:00
slawkens
7dcdc4f743 triggerFilter -> pass by reference (faster x5) 2025-05-08 18:34:36 +02:00
slawkens
8697809bbe Merge branch 'develop' into feature/twig-hooks-filters 2025-04-27 07:41:26 +02:00
slawkens
9af676a59e Merge branch 'develop' into feature/twig-hooks-filters 2025-03-09 21:24:47 +01:00
slawkens
3aaf71b9b5 Merge branch 'develop' into feature/twig-hooks-filters 2025-01-09 16:35:36 +01:00
slawkens
28d61ee12f Merge branch 'develop' into feature/twig-hooks-filters 2024-07-14 05:58:32 +02:00
slawkens
592bfaea70 Merge branch 'develop' into feature/twig-hooks-filters 2024-07-10 00:05:59 +02:00
slawkens
b471b1567a Cleanup 2024-06-29 21:30:12 +02:00
slawkens
44fe03c6ea feat: Hooks filters 2024-06-29 15:53:02 +02:00
6 changed files with 10 additions and 8 deletions

View File

@@ -575,7 +575,7 @@ function template_footer(): string
$footer[] = base64_decode('UG93ZXJlZCBieSA8YSBocmVmPSJodHRwOi8vbXktYWFjLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPk15QUFDLjwvYT4=');
global $hooks;
$footer = $hooks->triggerFilter(HOOK_FILTER_THEME_FOOTER, $footer);
$hooks->triggerFilter(HOOK_FILTER_THEME_FOOTER, $footer);
return implode('<br/>', $footer);
}

View File

@@ -37,7 +37,7 @@ class Hook
return !isset($ret) || $ret == 1 || $ret;
}
public function executeFilter(...$args) {
public function executeFilter(&$args) {
return include BASE . $this->_file;
}

View File

@@ -30,16 +30,14 @@ class Hooks
return $ret;
}
public function triggerFilter($type, $args = [])
public function triggerFilter($type, &$args): void
{
if(isset(self::$_hooks[$type])) {
foreach(self::$_hooks[$type] as $hook) {
/** @var Hook $hook */
$args = $hook->executeFilter(...$args);
$hook->executeFilter($args);
}
}
return $args;
}
public function exist($type): bool {

View File

@@ -198,6 +198,9 @@ class Plugins {
}
}
global $hooks;
$hooks->triggerFilter(HOOK_FILTER_ROUTES, $routes);
usort($routes, function ($a, $b)
{
// key 3 is priority

View File

@@ -11,7 +11,7 @@ class EnvironmentBridge extends Environment
global $hooks;
$context['viewName'] = $name;
$context = $hooks->triggerFilter(HOOK_FILTER_TWIG_DISPLAY, $context);
$hooks->triggerFilter(HOOK_FILTER_TWIG_DISPLAY, $context);
parent::display($name, $context);
}
@@ -21,7 +21,7 @@ class EnvironmentBridge extends Environment
global $hooks;
$context['viewName'] = $name;
$context = $hooks->triggerFilter(HOOK_FILTER_TWIG_RENDER, $context);
$hooks->triggerFilter(HOOK_FILTER_TWIG_RENDER, $context);
return parent::render($name, $context);
}

View File

@@ -98,6 +98,7 @@ define('HOOK_INSTALL_FINISH', ++$i);
define('HOOK_INSTALL_FINISH_END', ++$i);
// hook filters
define('HOOK_FILTER_ROUTES', ++$i);
define('HOOK_FILTER_TWIG_DISPLAY', ++$i);
define('HOOK_FILTER_TWIG_RENDER', ++$i);
define('HOOK_FILTER_THEME_FOOTER', ++$i);