From e932cccbf6d0bdf27b81314aadeac0e6ca64e76c Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Thu, 28 May 2026 13:20:37 -0500 Subject: [PATCH] fix: move handleSiteAlias() to onAfterInitialise for offline timing The alias offline parameter was not working because handleSiteAlias() ran in onAfterRoute(), but Joomla's SiteApplication::doExecute() checks the offline config before that event fires. Moving it to onAfterInitialise() ensures the config is set before Joomla's check. Fixes #72 Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) --- .../plg_system_mokowaas/Extension/MokoWaaS.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/packages/plg_system_mokowaas/Extension/MokoWaaS.php b/src/packages/plg_system_mokowaas/Extension/MokoWaaS.php index 2f291256..0886fb27 100644 --- a/src/packages/plg_system_mokowaas/Extension/MokoWaaS.php +++ b/src/packages/plg_system_mokowaas/Extension/MokoWaaS.php @@ -162,6 +162,11 @@ class MokoWaaS extends CMSPlugin implements BootableExtensionInterface // Security: HTTPS redirect (runs for all clients) $this->enforceHttps(); + // Site alias handling: offline page and backend redirect. + // Must run in onAfterInitialise (not onAfterRoute) so that + // Joomla's offline check in doExecute() sees the updated config. + $this->handleSiteAlias(); + // MokoWaaS API endpoints (run before routing) $mokoAction = $this->app->input->get('mokowaas', ''); @@ -926,9 +931,6 @@ class MokoWaaS extends CMSPlugin implements BootableExtensionInterface */ public function onAfterRoute() { - // Site alias handling: offline page and backend redirect - $this->handleSiteAlias(); - if (!$this->app->isClient('administrator')) { return; @@ -3081,7 +3083,8 @@ class MokoWaaS extends CMSPlugin implements BootableExtensionInterface /** * Handle site alias logic: offline page and backend redirect. * - * Runs early in onAfterInitialise before routing occurs. + * Runs in onAfterInitialise so that Joomla's offline check in + * SiteApplication::doExecute() sees the updated config value. * * @return void * -- 2.52.0