From c01cef48150e18965fb6f71b752e05c06641179a Mon Sep 17 00:00:00 2001 From: Yuri Salimovskiy Date: Thu, 13 Apr 2023 14:00:59 +0300 Subject: [PATCH] Added `core_cp_boot` extension hook; #1557 --- .../Service/Generator/Enums/Hooks.php | 6 ++++++ system/ee/legacy/core/Controller.php | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/system/ee/ExpressionEngine/Service/Generator/Enums/Hooks.php b/system/ee/ExpressionEngine/Service/Generator/Enums/Hooks.php index 55b4aff386..4e4946f8fb 100644 --- a/system/ee/ExpressionEngine/Service/Generator/Enums/Hooks.php +++ b/system/ee/ExpressionEngine/Service/Generator/Enums/Hooks.php @@ -22,6 +22,12 @@ class Hooks 'library' => 'Core', ]; + public const CORE_CP_BOOT = [ + 'name' => 'core_cp_boot', + 'params' => '', + 'library' => 'Core', + ]; + public const CORE_TEMPLATE_ROUTE = [ 'name' => 'core_template_route', 'params' => '$uri_string', diff --git a/system/ee/legacy/core/Controller.php b/system/ee/legacy/core/Controller.php index 0fe340306a..b9a97eac86 100644 --- a/system/ee/legacy/core/Controller.php +++ b/system/ee/legacy/core/Controller.php @@ -101,6 +101,18 @@ public function __construct() { parent::__construct(); ee()->core->run_cp(); + + // ------------------------------------------- + // 'core_cp_boot' hook. + // - Runs on every Control Panel request + // + if (ee()->extensions->active_hook('core_cp_boot') === true) { + ee()->extensions->call('core_cp_boot'); + if (ee()->extensions->end_script === true) { + return; + } + } + // ------------------------------------------- } /**