From 4ce68e0d9f38488ba5f96a54805900c7d33d4c9f Mon Sep 17 00:00:00 2001 From: Tadhg Boyle Date: Mon, 21 Oct 2024 17:32:35 -0700 Subject: [PATCH] get debug info working --- core/classes/Core/ComposerModuleWrapper.php | 16 +++++++++++++--- core/classes/Debugging/DebugInfoProvider.php | 8 ++++++++ core/classes/Extend/DebugInfo.php | 6 ++++-- modules/Core/queries/debug_link.php | 1 + 4 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 core/classes/Debugging/DebugInfoProvider.php diff --git a/core/classes/Core/ComposerModuleWrapper.php b/core/classes/Core/ComposerModuleWrapper.php index 97cb840dd3..eee4d19127 100644 --- a/core/classes/Core/ComposerModuleWrapper.php +++ b/core/classes/Core/ComposerModuleWrapper.php @@ -12,6 +12,9 @@ class ComposerModuleWrapper extends Module private array $_onEnable = []; private array $_onDisable = []; + // Misc + private string $_debugInfoProvider; + public function __construct( string $packageName, string $privateName, @@ -66,9 +69,9 @@ public function setOnDisable(array $callbacks): void $this->_onDisable = $callbacks; } - public function setOnUninstall(array $callbacks): void + public function setDebugInfoProvider(string $provider): void { - $this->_onUninstall = $callbacks; + $this->_debugInfoProvider = $provider; } public function onPageLoad(User $user, Pages $pages, Cache $cache, Smarty $smarty, iterable $navs, Widgets $widgets, ?TemplateBase $template) @@ -98,7 +101,14 @@ public function onUninstall() public function getDebugInfo(): array { - return []; + if (!$this->_debugInfoProvider) { + return []; + } + + /** @var \NamelessMC\Framework\Debugging\DebugInfoProvider */ + $provider = self::$container->make($this->_debugInfoProvider); + + return $provider->provide(); } private function callLifecycleHooks(array $hooks): void diff --git a/core/classes/Debugging/DebugInfoProvider.php b/core/classes/Debugging/DebugInfoProvider.php new file mode 100644 index 0000000000..e55cfdb6e8 --- /dev/null +++ b/core/classes/Debugging/DebugInfoProvider.php @@ -0,0 +1,8 @@ +module->setDebugInfoProvider($this->provider); } public function provide(string $provider): DebugInfo { - // ... + $this->provider = $provider; return $this; } diff --git a/modules/Core/queries/debug_link.php b/modules/Core/queries/debug_link.php index 0c3411259e..d92149999a 100755 --- a/modules/Core/queries/debug_link.php +++ b/modules/Core/queries/debug_link.php @@ -39,6 +39,7 @@ 'module_version' => $module->getVersion(), 'namelessmc_version' => $module->getNamelessVersion(), 'debug_info' => $module->getDebugInfo(), + 'type' => $module instanceof ComposerModuleWrapper ? 'composer' : 'classic', ]; }