From 5726c9fa94e6f5a198917f6bda9014c0cbb141fb Mon Sep 17 00:00:00 2001 From: slawkens Date: Fri, 16 May 2025 07:42:50 +0200 Subject: [PATCH] Load hooks before twig, add new hooks: HOOK_TWIG + HOOK_INIT --- admin/index.php | 5 ----- index.php | 4 ---- system/bin/install_plugin.php | 1 - system/hooks.php | 2 ++ system/init.php | 6 ++++++ system/twig.php | 2 ++ 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/admin/index.php b/admin/index.php index 84c830fd..f07386b4 100644 --- a/admin/index.php +++ b/admin/index.php @@ -34,11 +34,6 @@ if(config('env') === 'dev') { error_reporting(E_ALL); } -// event system -require_once SYSTEM . 'hooks.php'; -$hooks = new Hooks(); -$hooks->load(); - require SYSTEM . 'status.php'; require SYSTEM . 'login.php'; require SYSTEM . 'migrate.php'; diff --git a/index.php b/index.php index 1db72830..ef16ae1e 100644 --- a/index.php +++ b/index.php @@ -193,10 +193,6 @@ define('PAGE', $page); $template_place_holders = array(); -// event system -require_once SYSTEM . 'hooks.php'; -$hooks = new Hooks(); -$hooks->load(); require_once SYSTEM . 'login.php'; require_once SYSTEM . 'status.php'; diff --git a/system/bin/install_plugin.php b/system/bin/install_plugin.php index 6fb03d06..6a0b9142 100644 --- a/system/bin/install_plugin.php +++ b/system/bin/install_plugin.php @@ -8,7 +8,6 @@ if(PHP_SAPI !== 'cli') { require_once __DIR__ . '/../../common.php'; require_once SYSTEM . 'functions.php'; require_once SYSTEM . 'init.php'; -require_once SYSTEM . 'hooks.php'; if($argc !== 2) { echo 'This command expects one parameter: zip file name (plugin)' . PHP_EOL; diff --git a/system/hooks.php b/system/hooks.php index 8a00d799..ce8fa740 100644 --- a/system/hooks.php +++ b/system/hooks.php @@ -10,6 +10,7 @@ defined('MYAAC') or die('Direct access not allowed!'); $i = 0; +define('HOOK_INIT', ++$i); define('HOOK_STARTUP', ++$i); define('HOOK_BEFORE_PAGE', ++$i); define('HOOK_AFTER_PAGE', ++$i); @@ -61,6 +62,7 @@ define('HOOK_ACCOUNT_MANAGE_BEFORE_ACCOUNT_LOGS', ++$i); define('HOOK_ACCOUNT_MANAGE_BEFORE_CHARACTERS', ++$i); define('HOOK_EMAIL_CONFIRMED', ++$i); define('HOOK_GUILDS_AFTER_INVITED_CHARACTERS', ++$i); +define('HOOK_TWIG', ++$i); define('HOOK_FIRST', HOOK_STARTUP); define('HOOK_LAST', $i); diff --git a/system/init.php b/system/init.php index 0d89a22c..36e1ea9f 100644 --- a/system/init.php +++ b/system/init.php @@ -124,6 +124,12 @@ require_once SYSTEM . 'libs/pot/OTS.php'; $ots = POT::getInstance(); require_once SYSTEM . 'database.php'; +// event system +require_once SYSTEM . 'hooks.php'; +$hooks = new Hooks(); +$hooks->load(); +$hooks->trigger(HOOK_INIT); + // twig require_once SYSTEM . 'twig.php'; diff --git a/system/twig.php b/system/twig.php index d7bc3b79..23f6ab4b 100644 --- a/system/twig.php +++ b/system/twig.php @@ -83,3 +83,5 @@ $filter = new TwigFilter('urlencode', function ($s) { $twig->addFilter($filter); unset($function, $filter); + +$hooks->trigger(HOOK_TWIG, ['twig' => $twig, 'twig_loader' => $twig_loader]);