From 802852119a215128677c25c1fd7263da53480e95 Mon Sep 17 00:00:00 2001 From: Jonathan Miller <230051081+jmiller-moko@users.noreply.github.com> Date: Thu, 2 Apr 2026 16:22:06 -0500 Subject: [PATCH] feat: redirect all Joomla support links to mokoconsulting.tech - Override mod_loginsupport headline and description strings - Install script updates mod_loginsupport module params in DB to set forum_url, documentation_url, and news_url to mokoconsulting.tech - Ensures both link text (language overrides) and link destinations (module params) point to Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) --- .../language/overrides/en-GB.override.ini | 2 + .../language/overrides/en-US.override.ini | 2 + src/script.php | 56 +++++++++++++++++++ 3 files changed, 60 insertions(+) diff --git a/src/administrator/language/overrides/en-GB.override.ini b/src/administrator/language/overrides/en-GB.override.ini index d9bd44d2..033cce77 100644 --- a/src/administrator/language/overrides/en-GB.override.ini +++ b/src/administrator/language/overrides/en-GB.override.ini @@ -40,6 +40,8 @@ JFIELD_JOOMLA_LABEL="{{BRAND_NAME}} Field" MOD_LOGINSUPPORT_FORUM="{{COMPANY_NAME}} Support" MOD_LOGINSUPPORT_DOCUMENTATION="{{BRAND_NAME}} Documentation" MOD_LOGINSUPPORT_NEWS="{{COMPANY_NAME}} News" +MOD_LOGINSUPPORT_HEADLINE="Need help? Visit {{COMPANY_NAME}}:" +MOD_LOGINSUPPORT_XML_DESCRIPTION="This module displays useful links to {{COMPANY_NAME}} support on the login screen." TPL_ATUM_BACKEND_LOGIN="{{BRAND_NAME}} Administrator Login" ; ===== Error messages ===== diff --git a/src/administrator/language/overrides/en-US.override.ini b/src/administrator/language/overrides/en-US.override.ini index 8174c646..c47ced84 100644 --- a/src/administrator/language/overrides/en-US.override.ini +++ b/src/administrator/language/overrides/en-US.override.ini @@ -40,6 +40,8 @@ JFIELD_JOOMLA_LABEL="{{BRAND_NAME}} Field" MOD_LOGINSUPPORT_FORUM="{{COMPANY_NAME}} Support" MOD_LOGINSUPPORT_DOCUMENTATION="{{BRAND_NAME}} Documentation" MOD_LOGINSUPPORT_NEWS="{{COMPANY_NAME}} News" +MOD_LOGINSUPPORT_HEADLINE="Need help? Visit {{COMPANY_NAME}}:" +MOD_LOGINSUPPORT_XML_DESCRIPTION="This module displays useful links to {{COMPANY_NAME}} support on the login screen." TPL_ATUM_BACKEND_LOGIN="{{BRAND_NAME}} Administrator Login" ; ===== Error messages ===== diff --git a/src/script.php b/src/script.php index 96a4a0fa..f160b8cb 100644 --- a/src/script.php +++ b/src/script.php @@ -117,6 +117,7 @@ class plgSystemMokoWaaSInstallerScript implements InstallerScriptInterface if ($type === 'install' || $type === 'update') { $this->installLanguageOverrides(); + $this->updateLoginSupportUrls(); } return true; @@ -305,6 +306,61 @@ class plgSystemMokoWaaSInstallerScript implements InstallerScriptInterface } } + /** + * Update the mod_loginsupport module params to point to Moko Consulting URLs. + * + * Joomla's login support module stores forum, documentation, and news URLs + * as module parameters in the database. Language overrides can change the + * link text but not the href — this method rewrites the module params so + * the actual links point to mokoconsulting.tech. + * + * @return void + * + * @since 02.00.00 + */ + private function updateLoginSupportUrls() + { + $db = Factory::getDbo(); + $query = $db->getQuery(true) + ->select([$db->quoteName('id'), $db->quoteName('params')]) + ->from($db->quoteName('#__modules')) + ->where($db->quoteName('module') . ' = ' . $db->quote('mod_loginsupport')); + + $db->setQuery($query); + $modules = $db->loadObjectList(); + + if (empty($modules)) + { + return; + } + + $supportUrls = [ + 'forum_url' => 'https://mokoconsulting.tech/support', + 'documentation_url' => 'https://mokoconsulting.tech/kb', + 'news_url' => 'https://mokoconsulting.tech/news', + ]; + + foreach ($modules as $module) + { + $params = new \Joomla\Registry\Registry($module->params ?: '{}'); + + foreach ($supportUrls as $key => $url) + { + $params->set($key, $url); + } + + $update = $db->getQuery(true) + ->update($db->quoteName('#__modules')) + ->set($db->quoteName('params') . ' = ' . $db->quote($params->toString())) + ->where($db->quoteName('id') . ' = ' . (int) $module->id); + + $db->setQuery($update); + $db->execute(); + } + + Factory::getApplication()->enqueueMessage('Updated login support URLs to Moko Consulting.', 'message'); + } + /** * Remove only MokoWaaS overrides from Joomla's global override files. *