Compare commits

..

3 Commits

Author SHA1 Message Date
Jonathan Miller 384b8824c6 refactor: remove tpl_mokoonyx submodule
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (push) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (push) Blocked by required conditions
Platform: moko-platform CI / CI Summary (push) Blocked by required conditions
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 24s
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Successful in 7s
Template is managed independently; submodule reference no longer needed.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-04 22:18:47 -05:00
Jonathan Miller e01791ae68 Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS into dev
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (push) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (push) Blocked by required conditions
Platform: moko-platform CI / CI Summary (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Successful in 13s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 22s
2026-06-04 22:13:50 -05:00
Jonathan Miller e42d6e7596 fix: hardcode branding values in overrides, adjust menu indent, add reset download keys
Hardcode {{BRAND_NAME}}, {{COMPANY_NAME}}, {{SUPPORT_URL}} placeholders
to literal values in all language override .ini files. Adjust admin menu
indent (2rem parent, 2.5rem child). Add one-shot reset download keys
toggle to DevTools plugin.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-04 22:10:28 -05:00
10 changed files with 220 additions and 179 deletions
-4
View File
@@ -1,4 +0,0 @@
[submodule "src/packages/tpl_mokoonyx"]
path = src/packages/tpl_mokoonyx
url = https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx.git
branch = main
@@ -112,8 +112,8 @@ $topCollapse = 'collapse-level-1 mm-collapse' . ($anyMokoActive ? ' mm-show' :
<style>
.sidebar-wrapper .item-level-1 > a { padding-inline-start: 1.5rem; }
.sidebar-wrapper .mokowaas-menu-item > a { padding-inline-start: 1rem; }
.sidebar-wrapper .mokowaas-menu-child > a { padding-inline-start: 1.5rem; }
.sidebar-wrapper .mokowaas-menu-item > a { padding-inline-start: 2rem; }
.sidebar-wrapper .mokowaas-menu-child > a { padding-inline-start: 2.5rem; }
</style>
<ul class="nav flex-column main-nav">
@@ -10,111 +10,109 @@
; Version: 02.01.08
; File: en-GB.override.ini
; Path: administrator/language/overrides/en-GB.override.ini
; Brief: Admin override TEMPLATE — placeholders resolved at runtime/install.
; Notes: Use {{BRAND_NAME}}, {{COMPANY_NAME}}, {{SUPPORT_URL}} placeholders.
; Variables: {{BRAND_NAME}}, {{COMPANY_NAME}}, {{SUPPORT_URL}}
; Brief: Admin language overrides — values are hardcoded.
; -----------------------------------------------------------------------------
; ===== Footer & template branding =====
TPL_ATUM_POWERED_BY="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
MOD_FOOTER_LINE2="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
TPL_ATUM_POWERED_BY="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
MOD_FOOTER_LINE2="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
; ===== Control panel greetings =====
COM_CPANEL_WELCOME_TITLE="Welcome to {{BRAND_NAME}}!"
COM_CPANEL_MSG_WELCOME="Welcome to {{BRAND_NAME}}!"
COM_CPANEL_WELCOME_TITLE="Welcome to MokoWaaS!"
COM_CPANEL_MSG_WELCOME="Welcome to MokoWaaS!"
; ===== Help/Docs phrasing =====
COM_ADMIN_HELP_SITE="{{BRAND_NAME}} Help"
COM_ADMIN_HELPSITE_FIELD_LABEL="{{BRAND_NAME}} Help"
COM_ADMIN_HELP_SITE="MokoWaaS Help"
COM_ADMIN_HELPSITE_FIELD_LABEL="MokoWaaS Help"
; ===== Generic replacements =====
JGLOBAL_FIELDSET_JOOMLA_DEFAULTS="{{BRAND_NAME}} Defaults"
COM_INSTALLER_TYPE_JOOMLA="{{BRAND_NAME}} Package"
LIB_JOOMLA="{{BRAND_NAME}} Library"
JGLOBAL_FIELDSET_JOOMLA_DEFAULTS="MokoWaaS Defaults"
COM_INSTALLER_TYPE_JOOMLA="MokoWaaS Package"
LIB_JOOMLA="MokoWaaS Library"
; ===== System messages =====
JERROR_JOOMLA="{{BRAND_NAME}} Error"
JFIELD_JOOMLA_LABEL="{{BRAND_NAME}} Field"
JERROR_JOOMLA="MokoWaaS Error"
JFIELD_JOOMLA_LABEL="MokoWaaS Field"
; ===== AdminLogin Support =====
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"
MOD_LOGINSUPPORT_FORUM="Moko Consulting Support"
MOD_LOGINSUPPORT_DOCUMENTATION="MokoWaaS Documentation"
MOD_LOGINSUPPORT_NEWS="Moko Consulting News"
MOD_LOGINSUPPORT_HEADLINE="Need help? Visit Moko Consulting:"
MOD_LOGINSUPPORT_XML_DESCRIPTION="This module displays useful links to Moko Consulting support on the login screen."
TPL_ATUM_BACKEND_LOGIN="MokoWaaS Administrator Login"
; ===== Error messages =====
JERROR_LAYOUT_ERROR_HAS_OCCURRED="ERROR OCCURRED"
; ===== Admin-specific branding =====
COM_ADMIN_VIEW_HOME_TITLE="{{BRAND_NAME}} Control Panel"
JLIB_APPLICATION_ERROR_SAVE_FAILED="{{BRAND_NAME}} Error: Save failed"
COM_ADMIN_VIEW_HOME_TITLE="MokoWaaS Control Panel"
JLIB_APPLICATION_ERROR_SAVE_FAILED="MokoWaaS Error: Save failed"
; ===== Module list workaround (RegularLabs) =====
COM_MODULES_HEADING_POSITION="Position"
; ===== Extensions =====
COM_INSTALLER_TYPE_TYPE_JOOMLA="{{BRAND_NAME}}"
COM_INSTALLER_TYPE_TYPE_JOOMLA="MokoWaaS"
COM_INSTALLER_MSG_UPDATE_SUCCESS="Update installed successfully"
; ===== Dashboard =====
COM_CPANEL_WELCOME_BEGINNERS_TITLE="Welcome to {{BRAND_NAME}}!"
COM_CPANEL_WELCOME_BEGINNERS_MESSAGE="<p>Community resources are available for new users.</p><ul><li><a href=\"{{SUPPORT_URL}}\" target=\"_blank\" rel=\"noopener noreferrer\">{{BRAND_NAME}} Documentation</a></li><li><a href=\"{{SUPPORT_URL}}\" target=\"_blank\" rel=\"noopener noreferrer\">{{BRAND_NAME}} Support</a></li></ul>"
COM_CPANEL_MSG_STATS_COLLECTION_TITLE="Stats Collection in {{BRAND_NAME}}"
COM_CPANEL_WELCOME_BEGINNERS_TITLE="Welcome to MokoWaaS!"
COM_CPANEL_WELCOME_BEGINNERS_MESSAGE="<p>Community resources are available for new users.</p><ul><li><a href=\"https://mokoconsulting.tech/support\" target=\"_blank\" rel=\"noopener noreferrer\">MokoWaaS Documentation</a></li><li><a href=\"https://mokoconsulting.tech/support\" target=\"_blank\" rel=\"noopener noreferrer\">MokoWaaS Support</a></li></ul>"
COM_CPANEL_MSG_STATS_COLLECTION_TITLE="Stats Collection in MokoWaaS"
; ===== Quick Icons =====
PLG_QUICKICON_JOOMLAUPDATE_CHECKING="Checking {{BRAND_NAME}}…"
PLG_QUICKICON_JOOMLAUPDATE_ERROR="Unknown {{BRAND_NAME}}…"
PLG_QUICKICON_JOOMLAUPDATE_UPTODATE="{{BRAND_NAME}} is up to date."
PLG_QUICKICON_JOOMLAUPDATE_CHECKING="Checking MokoWaaS…"
PLG_QUICKICON_JOOMLAUPDATE_ERROR="Unknown MokoWaaS…"
PLG_QUICKICON_JOOMLAUPDATE_UPTODATE="MokoWaaS is up to date."
; ===== System Info =====
COM_ADMIN_JOOMLA_VERSION="{{BRAND_NAME}} Version"
COM_ADMIN_HELP="{{BRAND_NAME}} Help"
COM_ADMIN_JOOMLA_COMPAT_PLUGIN="{{BRAND_NAME}} Backward Compatibility Plugin"
COM_ADMIN_JOOMLA_VERSION="MokoWaaS Version"
COM_ADMIN_HELP="MokoWaaS Help"
COM_ADMIN_JOOMLA_COMPAT_PLUGIN="MokoWaaS Backward Compatibility Plugin"
; ===== Installer =====
COM_INSTALLER_UPLOAD_INSTALL_JOOMLA_EXTENSION="Upload & Install {{BRAND_NAME}} Extension"
COM_INSTALLER_UNABLE_TO_INSTALL_JOOMLA_PACKAGE="The {{BRAND_NAME}} package cannot be installed through the Extension Manager. Please use the {{BRAND_NAME}} Update component to update."
COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTSET="The {{BRAND_NAME}} temporary folder is not set."
COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTWRITEABLE="The {{BRAND_NAME}} temporary folder is not writable or does not exist."
COM_INSTALLER_MSG_WARNINGS_UPDATE_NOTICE="Before updating ensure that the update is compatible with your {{BRAND_NAME}} installation. <br>You are strongly advised to make a <strong>backup</strong> of your site's files and database before you start updating."
COM_INSTALLER_UPLOAD_INSTALL_JOOMLA_EXTENSION="Upload & Install MokoWaaS Extension"
COM_INSTALLER_UNABLE_TO_INSTALL_JOOMLA_PACKAGE="The MokoWaaS package cannot be installed through the Extension Manager. Please use the MokoWaaS Update component to update."
COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTSET="The MokoWaaS temporary folder is not set."
COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTWRITEABLE="The MokoWaaS temporary folder is not writable or does not exist."
COM_INSTALLER_MSG_WARNINGS_UPDATE_NOTICE="Before updating ensure that the update is compatible with your MokoWaaS installation. <br>You are strongly advised to make a <strong>backup</strong> of your site's files and database before you start updating."
; ===== Global Configuration =====
COM_CONFIG_FIELD_METAVERSION_LABEL="{{BRAND_NAME}} Version"
COM_CONFIG_FIELD_METAVERSION_LABEL="MokoWaaS Version"
; ===== Update component =====
COM_JOOMLAUPDATE_CONFIGURATION="{{BRAND_NAME}} Update: Options"
COM_JOOMLAUPDATE_CONFIG_UPDATESOURCE_NEXT="{{BRAND_NAME}} Next"
COM_JOOMLAUPDATE_CONFIG_SOURCES_DESC="Configure where {{BRAND_NAME}} gets its update information from."
COM_JOOMLAUPDATE_CONFIGURATION="MokoWaaS Update: Options"
COM_JOOMLAUPDATE_CONFIG_UPDATESOURCE_NEXT="MokoWaaS Next"
COM_JOOMLAUPDATE_CONFIG_SOURCES_DESC="Configure where MokoWaaS gets its update information from."
COM_JOOMLAUPDATE_CONFIG_UPDATESOURCE_LABEL="Update Channel"
COM_JOOMLAUPDATE_VIEW_DEFAULT_TITLE="{{BRAND_NAME}} Update"
COM_JOOMLAUPDATE_VIEW_DEFAULT_DESCRIPTION="{{BRAND_NAME}} Update Component"
COM_JOOMLAUPDATE_NOCHANGE="{{BRAND_NAME}} is up to date."
COM_JOOMLAUPDATE_PREUPDATE_CHECK="{{BRAND_NAME}} Pre-Update Check"
COM_JOOMLAUPDATE_UPDATE_HEADER="{{BRAND_NAME}} Update"
COM_JOOMLAUPDATE_VIEW_DEFAULT_TITLE="MokoWaaS Update"
COM_JOOMLAUPDATE_VIEW_DEFAULT_DESCRIPTION="MokoWaaS Update Component"
COM_JOOMLAUPDATE_NOCHANGE="MokoWaaS is up to date."
COM_JOOMLAUPDATE_PREUPDATE_CHECK="MokoWaaS Pre-Update Check"
COM_JOOMLAUPDATE_UPDATE_HEADER="MokoWaaS Update"
COM_JOOMLAUPDATE_LIVEUPDATE="Live Update"
COM_JOOMLAUPDATE_CHECKEDFOR_UPDATES="Checked for {{BRAND_NAME}} updates."
COM_JOOMLAUPDATE_CHECKEDFOR_UPDATES="Checked for MokoWaaS updates."
; ===== Privacy =====
COM_PRIVACY_HEADING_CORE_CAPABILITIES="{{BRAND_NAME}} Core Capabilities"
COM_PRIVACY_HEADING_CORE_CAPABILITIES="MokoWaaS Core Capabilities"
; ===== Database & Library errors =====
JLIB_INSTALLER_MINIMUM_JOOMLA="You don't have the minimum {{BRAND_NAME}} version requirement of J%s"
JLIB_INSTALLER_ERROR_NOTFINDJOOMLAXMLSETUPFILE="Installer: Can't find {{BRAND_NAME}} XML setup file."
JLIB_INSTALLER_MINIMUM_JOOMLA="You don't have the minimum MokoWaaS version requirement of J%s"
JLIB_INSTALLER_ERROR_NOTFINDJOOMLAXMLSETUPFILE="Installer: Can't find MokoWaaS XML setup file."
; ===== Version and About =====
JLIB_HTML_POWERED_BY="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
COM_ADMIN_HELP_DOCUMENTATION="{{BRAND_NAME}} Documentation"
COM_ADMIN_HELP_SUPPORT="{{BRAND_NAME}} Support"
JLIB_HTML_POWERED_BY="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
COM_ADMIN_HELP_DOCUMENTATION="MokoWaaS Documentation"
COM_ADMIN_HELP_SUPPORT="MokoWaaS Support"
; ===== Akeeba Ticket System (ATS) =====
COM_ATS="{{BRAND_NAME}} Tickets"
COM_ATS_TITLE_TICKETS="{{BRAND_NAME}} Tickets"
COM_ATS_TITLE_TICKET="{{BRAND_NAME}} Ticket"
COM_ATS_TITLE_NEWTICKET="New {{BRAND_NAME}} Ticket"
COM_ATS="MokoWaaS Tickets"
COM_ATS_TITLE_TICKETS="MokoWaaS Tickets"
COM_ATS_TITLE_TICKET="MokoWaaS Ticket"
COM_ATS_TITLE_NEWTICKET="New MokoWaaS Ticket"
COM_ATS_TITLE_CATEGORIES="Ticket Categories"
COM_ATS_MSG_TICKET_SAVED="Your {{BRAND_NAME}} ticket has been saved."
COM_ATS_MSG_TICKET_CLOSED="Your {{BRAND_NAME}} ticket has been closed."
COM_ATS_MSG_TICKET_SAVED="Your MokoWaaS ticket has been saved."
COM_ATS_MSG_TICKET_CLOSED="Your MokoWaaS ticket has been closed."
COM_ATS_MSG_REPLY_SAVED="Your reply has been saved."
COM_ATS_LBL_POWEREDBY="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
COM_ATS_LBL_POWEREDBY="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
@@ -10,111 +10,109 @@
; Version: 02.01.08
; File: en-US.override.ini
; Path: administrator/language/overrides/en-US.override.ini
; Brief: Admin override TEMPLATE — placeholders resolved at runtime/install.
; Notes: Use {{BRAND_NAME}}, {{COMPANY_NAME}}, {{SUPPORT_URL}} placeholders.
; Variables: {{BRAND_NAME}}, {{COMPANY_NAME}}, {{SUPPORT_URL}}
; Brief: Admin language overrides — values are hardcoded.
; -----------------------------------------------------------------------------
; ===== Footer & template branding =====
TPL_ATUM_POWERED_BY="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
MOD_FOOTER_LINE2="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
TPL_ATUM_POWERED_BY="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
MOD_FOOTER_LINE2="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
; ===== Control panel greetings =====
COM_CPANEL_WELCOME_TITLE="Welcome to {{BRAND_NAME}}!"
COM_CPANEL_MSG_WELCOME="Welcome to {{BRAND_NAME}}!"
COM_CPANEL_WELCOME_TITLE="Welcome to MokoWaaS!"
COM_CPANEL_MSG_WELCOME="Welcome to MokoWaaS!"
; ===== Help/Docs phrasing =====
COM_ADMIN_HELP_SITE="{{BRAND_NAME}} Help"
COM_ADMIN_HELPSITE_FIELD_LABEL="{{BRAND_NAME}} Help"
COM_ADMIN_HELP_SITE="MokoWaaS Help"
COM_ADMIN_HELPSITE_FIELD_LABEL="MokoWaaS Help"
; ===== Generic replacements =====
JGLOBAL_FIELDSET_JOOMLA_DEFAULTS="{{BRAND_NAME}} Defaults"
COM_INSTALLER_TYPE_JOOMLA="{{BRAND_NAME}} Package"
LIB_JOOMLA="{{BRAND_NAME}} Library"
JGLOBAL_FIELDSET_JOOMLA_DEFAULTS="MokoWaaS Defaults"
COM_INSTALLER_TYPE_JOOMLA="MokoWaaS Package"
LIB_JOOMLA="MokoWaaS Library"
; ===== System messages =====
JERROR_JOOMLA="{{BRAND_NAME}} Error"
JFIELD_JOOMLA_LABEL="{{BRAND_NAME}} Field"
JERROR_JOOMLA="MokoWaaS Error"
JFIELD_JOOMLA_LABEL="MokoWaaS Field"
; ===== AdminLogin Support =====
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"
MOD_LOGINSUPPORT_FORUM="Moko Consulting Support"
MOD_LOGINSUPPORT_DOCUMENTATION="MokoWaaS Documentation"
MOD_LOGINSUPPORT_NEWS="Moko Consulting News"
MOD_LOGINSUPPORT_HEADLINE="Need help? Visit Moko Consulting:"
MOD_LOGINSUPPORT_XML_DESCRIPTION="This module displays useful links to Moko Consulting support on the login screen."
TPL_ATUM_BACKEND_LOGIN="MokoWaaS Administrator Login"
; ===== Error messages =====
JERROR_LAYOUT_ERROR_HAS_OCCURRED="ERROR OCCURRED"
; ===== Admin-specific branding =====
COM_ADMIN_VIEW_HOME_TITLE="{{BRAND_NAME}} Control Panel"
JLIB_APPLICATION_ERROR_SAVE_FAILED="{{BRAND_NAME}} Error: Save failed"
COM_ADMIN_VIEW_HOME_TITLE="MokoWaaS Control Panel"
JLIB_APPLICATION_ERROR_SAVE_FAILED="MokoWaaS Error: Save failed"
; ===== Module list workaround (RegularLabs) =====
COM_MODULES_HEADING_POSITION="Position"
; ===== Extensions =====
COM_INSTALLER_TYPE_TYPE_JOOMLA="{{BRAND_NAME}}"
COM_INSTALLER_TYPE_TYPE_JOOMLA="MokoWaaS"
COM_INSTALLER_MSG_UPDATE_SUCCESS="Update installed successfully"
; ===== Dashboard =====
COM_CPANEL_WELCOME_BEGINNERS_TITLE="Welcome to {{BRAND_NAME}}!"
COM_CPANEL_WELCOME_BEGINNERS_MESSAGE="<p>Community resources are available for new users.</p><ul><li><a href=\"{{SUPPORT_URL}}\" target=\"_blank\" rel=\"noopener noreferrer\">{{BRAND_NAME}} Documentation</a></li><li><a href=\"{{SUPPORT_URL}}\" target=\"_blank\" rel=\"noopener noreferrer\">{{BRAND_NAME}} Support</a></li></ul>"
COM_CPANEL_MSG_STATS_COLLECTION_TITLE="Stats Collection in {{BRAND_NAME}}"
COM_CPANEL_WELCOME_BEGINNERS_TITLE="Welcome to MokoWaaS!"
COM_CPANEL_WELCOME_BEGINNERS_MESSAGE="<p>Community resources are available for new users.</p><ul><li><a href=\"https://mokoconsulting.tech/support\" target=\"_blank\" rel=\"noopener noreferrer\">MokoWaaS Documentation</a></li><li><a href=\"https://mokoconsulting.tech/support\" target=\"_blank\" rel=\"noopener noreferrer\">MokoWaaS Support</a></li></ul>"
COM_CPANEL_MSG_STATS_COLLECTION_TITLE="Stats Collection in MokoWaaS"
; ===== Quick Icons =====
PLG_QUICKICON_JOOMLAUPDATE_CHECKING="Checking {{BRAND_NAME}}…"
PLG_QUICKICON_JOOMLAUPDATE_ERROR="Unknown {{BRAND_NAME}}…"
PLG_QUICKICON_JOOMLAUPDATE_UPTODATE="{{BRAND_NAME}} is up to date."
PLG_QUICKICON_JOOMLAUPDATE_CHECKING="Checking MokoWaaS…"
PLG_QUICKICON_JOOMLAUPDATE_ERROR="Unknown MokoWaaS…"
PLG_QUICKICON_JOOMLAUPDATE_UPTODATE="MokoWaaS is up to date."
; ===== System Info =====
COM_ADMIN_JOOMLA_VERSION="{{BRAND_NAME}} Version"
COM_ADMIN_HELP="{{BRAND_NAME}} Help"
COM_ADMIN_JOOMLA_COMPAT_PLUGIN="{{BRAND_NAME}} Backward Compatibility Plugin"
COM_ADMIN_JOOMLA_VERSION="MokoWaaS Version"
COM_ADMIN_HELP="MokoWaaS Help"
COM_ADMIN_JOOMLA_COMPAT_PLUGIN="MokoWaaS Backward Compatibility Plugin"
; ===== Installer =====
COM_INSTALLER_UPLOAD_INSTALL_JOOMLA_EXTENSION="Upload & Install {{BRAND_NAME}} Extension"
COM_INSTALLER_UNABLE_TO_INSTALL_JOOMLA_PACKAGE="The {{BRAND_NAME}} package cannot be installed through the Extension Manager. Please use the {{BRAND_NAME}} Update component to update."
COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTSET="The {{BRAND_NAME}} temporary folder is not set."
COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTWRITEABLE="The {{BRAND_NAME}} temporary folder is not writable or does not exist."
COM_INSTALLER_MSG_WARNINGS_UPDATE_NOTICE="Before updating ensure that the update is compatible with your {{BRAND_NAME}} installation. <br>You are strongly advised to make a <strong>backup</strong> of your site's files and database before you start updating."
COM_INSTALLER_UPLOAD_INSTALL_JOOMLA_EXTENSION="Upload & Install MokoWaaS Extension"
COM_INSTALLER_UNABLE_TO_INSTALL_JOOMLA_PACKAGE="The MokoWaaS package cannot be installed through the Extension Manager. Please use the MokoWaaS Update component to update."
COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTSET="The MokoWaaS temporary folder is not set."
COM_INSTALLER_MSG_WARNINGS_JOOMLATMPNOTWRITEABLE="The MokoWaaS temporary folder is not writable or does not exist."
COM_INSTALLER_MSG_WARNINGS_UPDATE_NOTICE="Before updating ensure that the update is compatible with your MokoWaaS installation. <br>You are strongly advised to make a <strong>backup</strong> of your site's files and database before you start updating."
; ===== Global Configuration =====
COM_CONFIG_FIELD_METAVERSION_LABEL="{{BRAND_NAME}} Version"
COM_CONFIG_FIELD_METAVERSION_LABEL="MokoWaaS Version"
; ===== Update component =====
COM_JOOMLAUPDATE_CONFIGURATION="{{BRAND_NAME}} Update: Options"
COM_JOOMLAUPDATE_CONFIG_UPDATESOURCE_NEXT="{{BRAND_NAME}} Next"
COM_JOOMLAUPDATE_CONFIG_SOURCES_DESC="Configure where {{BRAND_NAME}} gets its update information from."
COM_JOOMLAUPDATE_CONFIGURATION="MokoWaaS Update: Options"
COM_JOOMLAUPDATE_CONFIG_UPDATESOURCE_NEXT="MokoWaaS Next"
COM_JOOMLAUPDATE_CONFIG_SOURCES_DESC="Configure where MokoWaaS gets its update information from."
COM_JOOMLAUPDATE_CONFIG_UPDATESOURCE_LABEL="Update Channel"
COM_JOOMLAUPDATE_VIEW_DEFAULT_TITLE="{{BRAND_NAME}} Update"
COM_JOOMLAUPDATE_VIEW_DEFAULT_DESCRIPTION="{{BRAND_NAME}} Update Component"
COM_JOOMLAUPDATE_NOCHANGE="{{BRAND_NAME}} is up to date."
COM_JOOMLAUPDATE_PREUPDATE_CHECK="{{BRAND_NAME}} Pre-Update Check"
COM_JOOMLAUPDATE_UPDATE_HEADER="{{BRAND_NAME}} Update"
COM_JOOMLAUPDATE_VIEW_DEFAULT_TITLE="MokoWaaS Update"
COM_JOOMLAUPDATE_VIEW_DEFAULT_DESCRIPTION="MokoWaaS Update Component"
COM_JOOMLAUPDATE_NOCHANGE="MokoWaaS is up to date."
COM_JOOMLAUPDATE_PREUPDATE_CHECK="MokoWaaS Pre-Update Check"
COM_JOOMLAUPDATE_UPDATE_HEADER="MokoWaaS Update"
COM_JOOMLAUPDATE_LIVEUPDATE="Live Update"
COM_JOOMLAUPDATE_CHECKEDFOR_UPDATES="Checked for {{BRAND_NAME}} updates."
COM_JOOMLAUPDATE_CHECKEDFOR_UPDATES="Checked for MokoWaaS updates."
; ===== Privacy =====
COM_PRIVACY_HEADING_CORE_CAPABILITIES="{{BRAND_NAME}} Core Capabilities"
COM_PRIVACY_HEADING_CORE_CAPABILITIES="MokoWaaS Core Capabilities"
; ===== Database & Library errors =====
JLIB_INSTALLER_MINIMUM_JOOMLA="You don't have the minimum {{BRAND_NAME}} version requirement of J%s"
JLIB_INSTALLER_ERROR_NOTFINDJOOMLAXMLSETUPFILE="Installer: Can't find {{BRAND_NAME}} XML setup file."
JLIB_INSTALLER_MINIMUM_JOOMLA="You don't have the minimum MokoWaaS version requirement of J%s"
JLIB_INSTALLER_ERROR_NOTFINDJOOMLAXMLSETUPFILE="Installer: Can't find MokoWaaS XML setup file."
; ===== Version and About =====
JLIB_HTML_POWERED_BY="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
COM_ADMIN_HELP_DOCUMENTATION="{{BRAND_NAME}} Documentation"
COM_ADMIN_HELP_SUPPORT="{{BRAND_NAME}} Support"
JLIB_HTML_POWERED_BY="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
COM_ADMIN_HELP_DOCUMENTATION="MokoWaaS Documentation"
COM_ADMIN_HELP_SUPPORT="MokoWaaS Support"
; ===== Akeeba Ticket System (ATS) =====
COM_ATS="{{BRAND_NAME}} Tickets"
COM_ATS_TITLE_TICKETS="{{BRAND_NAME}} Tickets"
COM_ATS_TITLE_TICKET="{{BRAND_NAME}} Ticket"
COM_ATS_TITLE_NEWTICKET="New {{BRAND_NAME}} Ticket"
COM_ATS="MokoWaaS Tickets"
COM_ATS_TITLE_TICKETS="MokoWaaS Tickets"
COM_ATS_TITLE_TICKET="MokoWaaS Ticket"
COM_ATS_TITLE_NEWTICKET="New MokoWaaS Ticket"
COM_ATS_TITLE_CATEGORIES="Ticket Categories"
COM_ATS_MSG_TICKET_SAVED="Your {{BRAND_NAME}} ticket has been saved."
COM_ATS_MSG_TICKET_CLOSED="Your {{BRAND_NAME}} ticket has been closed."
COM_ATS_MSG_TICKET_SAVED="Your MokoWaaS ticket has been saved."
COM_ATS_MSG_TICKET_CLOSED="Your MokoWaaS ticket has been closed."
COM_ATS_MSG_REPLY_SAVED="Your reply has been saved."
COM_ATS_LBL_POWEREDBY="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
COM_ATS_LBL_POWEREDBY="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
@@ -10,38 +10,36 @@
; Version: 02.01.08
; File: en-GB.override.ini
; Path: language/overrides/en-GB.override.ini
; Brief: Site/frontend override TEMPLATE — placeholders resolved at runtime/install.
; Notes: Use {{BRAND_NAME}}, {{COMPANY_NAME}}, {{SUPPORT_URL}} placeholders.
; Variables: {{BRAND_NAME}}, {{COMPANY_NAME}}, {{SUPPORT_URL}}
; Brief: Site/frontend language overrides — values are hardcoded.
; -----------------------------------------------------------------------------
; ===== Footer & template branding =====
TPL_CASSIOPEIA_POWERED_BY="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
MOD_FOOTER_LINE2="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
TPL_CASSIOPEIA_POWERED_BY="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
MOD_FOOTER_LINE2="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
; ===== Generic replacements =====
JGLOBAL_FIELDSET_JOOMLA_DEFAULTS="{{BRAND_NAME}} Defaults"
LIB_JOOMLA="{{BRAND_NAME}} Library"
JGLOBAL_FIELDSET_JOOMLA_DEFAULTS="MokoWaaS Defaults"
LIB_JOOMLA="MokoWaaS Library"
; ===== System messages =====
JERROR_JOOMLA="{{BRAND_NAME}} Error"
JFIELD_JOOMLA_LABEL="{{BRAND_NAME}} Field"
JERROR_JOOMLA="MokoWaaS Error"
JFIELD_JOOMLA_LABEL="MokoWaaS Field"
; ===== Error messages =====
JERROR_LAYOUT_ERROR_HAS_OCCURRED="ERROR OCCURRED"
; ===== Installer / Sample data =====
INSTL_SITE_NAME_LABEL="{{BRAND_NAME}} Site Name"
INSTL_SAMPLE_BLOG_SET="{{BRAND_NAME}} Sample Data - Blog"
INSTL_SAMPLE_BROCHURE_SET="{{BRAND_NAME}} Sample Data - Brochure Site"
INSTL_SAMPLE_DATA_SET="{{BRAND_NAME}} Sample Data - Default"
INSTL_SAMPLE_LEARN_SET="{{BRAND_NAME}} Sample Data - Learn"
INSTL_SAMPLE_TESTING_SET="{{BRAND_NAME}} Sample Data - Testing"
INSTL_SITE_NAME_LABEL="MokoWaaS Site Name"
INSTL_SAMPLE_BLOG_SET="MokoWaaS Sample Data - Blog"
INSTL_SAMPLE_BROCHURE_SET="MokoWaaS Sample Data - Brochure Site"
INSTL_SAMPLE_DATA_SET="MokoWaaS Sample Data - Default"
INSTL_SAMPLE_LEARN_SET="MokoWaaS Sample Data - Learn"
INSTL_SAMPLE_TESTING_SET="MokoWaaS Sample Data - Testing"
; ===== Login support =====
MOD_LOGINSUPPORT_FORUM="{{COMPANY_NAME}} Support"
MOD_LOGINSUPPORT_DOCUMENTATION="{{BRAND_NAME}} Documentation"
MOD_LOGINSUPPORT_NEWS="{{COMPANY_NAME}} News"
MOD_LOGINSUPPORT_FORUM="Moko Consulting Support"
MOD_LOGINSUPPORT_DOCUMENTATION="MokoWaaS Documentation"
MOD_LOGINSUPPORT_NEWS="Moko Consulting News"
; ===== Site offline =====
JOFFLINE_MESSAGE="This site is down for maintenance.<br>Please check back again soon."
@@ -52,15 +50,15 @@ JERROR_AN_ERROR_HAS_OCCURRED="An error has occurred."
JLIB_APPLICATION_ERROR_COMPONENT_NOT_FOUND="Component not found."
; ===== Version and About =====
JLIB_HTML_POWERED_BY="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
JLIB_HTML_POWERED_BY="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
; ===== Akeeba Ticket System (ATS) =====
COM_ATS="{{BRAND_NAME}} Tickets"
COM_ATS_TITLE_TICKETS="{{BRAND_NAME}} Tickets"
COM_ATS_TITLE_TICKET="{{BRAND_NAME}} Ticket"
COM_ATS_TITLE_NEWTICKET="New {{BRAND_NAME}} Ticket"
COM_ATS="MokoWaaS Tickets"
COM_ATS_TITLE_TICKETS="MokoWaaS Tickets"
COM_ATS_TITLE_TICKET="MokoWaaS Ticket"
COM_ATS_TITLE_NEWTICKET="New MokoWaaS Ticket"
COM_ATS_TITLE_CATEGORIES="Ticket Categories"
COM_ATS_MSG_TICKET_SAVED="Your {{BRAND_NAME}} ticket has been saved."
COM_ATS_MSG_TICKET_CLOSED="Your {{BRAND_NAME}} ticket has been closed."
COM_ATS_MSG_TICKET_SAVED="Your MokoWaaS ticket has been saved."
COM_ATS_MSG_TICKET_CLOSED="Your MokoWaaS ticket has been closed."
COM_ATS_MSG_REPLY_SAVED="Your reply has been saved."
COM_ATS_LBL_POWEREDBY="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
COM_ATS_LBL_POWEREDBY="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
@@ -10,38 +10,36 @@
; Version: 02.01.08
; File: en-US.override.ini
; Path: language/overrides/en-US.override.ini
; Brief: Site/frontend override TEMPLATE — placeholders resolved at runtime/install.
; Notes: Use {{BRAND_NAME}}, {{COMPANY_NAME}}, {{SUPPORT_URL}} placeholders.
; Variables: {{BRAND_NAME}}, {{COMPANY_NAME}}, {{SUPPORT_URL}}
; Brief: Site/frontend language overrides — values are hardcoded.
; -----------------------------------------------------------------------------
; ===== Footer & template branding =====
TPL_CASSIOPEIA_POWERED_BY="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
MOD_FOOTER_LINE2="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
TPL_CASSIOPEIA_POWERED_BY="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
MOD_FOOTER_LINE2="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
; ===== Generic replacements =====
JGLOBAL_FIELDSET_JOOMLA_DEFAULTS="{{BRAND_NAME}} Defaults"
LIB_JOOMLA="{{BRAND_NAME}} Library"
JGLOBAL_FIELDSET_JOOMLA_DEFAULTS="MokoWaaS Defaults"
LIB_JOOMLA="MokoWaaS Library"
; ===== System messages =====
JERROR_JOOMLA="{{BRAND_NAME}} Error"
JFIELD_JOOMLA_LABEL="{{BRAND_NAME}} Field"
JERROR_JOOMLA="MokoWaaS Error"
JFIELD_JOOMLA_LABEL="MokoWaaS Field"
; ===== Error messages =====
JERROR_LAYOUT_ERROR_HAS_OCCURRED="ERROR OCCURRED"
; ===== Installer / Sample data =====
INSTL_SITE_NAME_LABEL="{{BRAND_NAME}} Site Name"
INSTL_SAMPLE_BLOG_SET="{{BRAND_NAME}} Sample Data - Blog"
INSTL_SAMPLE_BROCHURE_SET="{{BRAND_NAME}} Sample Data - Brochure Site"
INSTL_SAMPLE_DATA_SET="{{BRAND_NAME}} Sample Data - Default"
INSTL_SAMPLE_LEARN_SET="{{BRAND_NAME}} Sample Data - Learn"
INSTL_SAMPLE_TESTING_SET="{{BRAND_NAME}} Sample Data - Testing"
INSTL_SITE_NAME_LABEL="MokoWaaS Site Name"
INSTL_SAMPLE_BLOG_SET="MokoWaaS Sample Data - Blog"
INSTL_SAMPLE_BROCHURE_SET="MokoWaaS Sample Data - Brochure Site"
INSTL_SAMPLE_DATA_SET="MokoWaaS Sample Data - Default"
INSTL_SAMPLE_LEARN_SET="MokoWaaS Sample Data - Learn"
INSTL_SAMPLE_TESTING_SET="MokoWaaS Sample Data - Testing"
; ===== Login support =====
MOD_LOGINSUPPORT_FORUM="{{COMPANY_NAME}} Support"
MOD_LOGINSUPPORT_DOCUMENTATION="{{BRAND_NAME}} Documentation"
MOD_LOGINSUPPORT_NEWS="{{COMPANY_NAME}} News"
MOD_LOGINSUPPORT_FORUM="Moko Consulting Support"
MOD_LOGINSUPPORT_DOCUMENTATION="MokoWaaS Documentation"
MOD_LOGINSUPPORT_NEWS="Moko Consulting News"
; ===== Site offline =====
JOFFLINE_MESSAGE="This site is down for maintenance.<br>Please check back again soon."
@@ -52,15 +50,15 @@ JERROR_AN_ERROR_HAS_OCCURRED="An error has occurred."
JLIB_APPLICATION_ERROR_COMPONENT_NOT_FOUND="Component not found."
; ===== Version and About =====
JLIB_HTML_POWERED_BY="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
JLIB_HTML_POWERED_BY="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
; ===== Akeeba Ticket System (ATS) =====
COM_ATS="{{BRAND_NAME}} Tickets"
COM_ATS_TITLE_TICKETS="{{BRAND_NAME}} Tickets"
COM_ATS_TITLE_TICKET="{{BRAND_NAME}} Ticket"
COM_ATS_TITLE_NEWTICKET="New {{BRAND_NAME}} Ticket"
COM_ATS="MokoWaaS Tickets"
COM_ATS_TITLE_TICKETS="MokoWaaS Tickets"
COM_ATS_TITLE_TICKET="MokoWaaS Ticket"
COM_ATS_TITLE_NEWTICKET="New MokoWaaS Ticket"
COM_ATS_TITLE_CATEGORIES="Ticket Categories"
COM_ATS_MSG_TICKET_SAVED="Your {{BRAND_NAME}} ticket has been saved."
COM_ATS_MSG_TICKET_CLOSED="Your {{BRAND_NAME}} ticket has been closed."
COM_ATS_MSG_TICKET_SAVED="Your MokoWaaS ticket has been saved."
COM_ATS_MSG_TICKET_CLOSED="Your MokoWaaS ticket has been closed."
COM_ATS_MSG_REPLY_SAVED="Your reply has been saved."
COM_ATS_LBL_POWEREDBY="Powered by <a href='{{SUPPORT_URL}}'>{{BRAND_NAME}}</a>"
COM_ATS_LBL_POWEREDBY="Powered by <a href='https://mokoconsulting.tech/support'>MokoWaaS</a>"
@@ -13,3 +13,5 @@ PLG_SYSTEM_MOKOWAAS_DEVTOOLS_RESET_HITS_LABEL="Reset All Hits"
PLG_SYSTEM_MOKOWAAS_DEVTOOLS_RESET_HITS_DESC="One-shot: reset article hit counters on save. Automatically turns off after execution."
PLG_SYSTEM_MOKOWAAS_DEVTOOLS_DELETE_VERSIONS_LABEL="Delete All Versions"
PLG_SYSTEM_MOKOWAAS_DEVTOOLS_DELETE_VERSIONS_DESC="One-shot: delete all content version history on save. Automatically turns off after execution."
PLG_SYSTEM_MOKOWAAS_DEVTOOLS_RESET_DLKEYS_LABEL="Reset Download Keys"
PLG_SYSTEM_MOKOWAAS_DEVTOOLS_RESET_DLKEYS_DESC="One-shot: clear all download keys (dlid) from update sites on save. Automatically turns off after execution."
@@ -52,6 +52,14 @@
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field name="reset_download_keys" type="radio" default="0"
label="PLG_SYSTEM_MOKOWAAS_DEVTOOLS_RESET_DLKEYS_LABEL"
description="PLG_SYSTEM_MOKOWAAS_DEVTOOLS_RESET_DLKEYS_DESC"
class="btn-group btn-group-yesno">
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
</fieldset>
</fields>
</config>
@@ -111,6 +111,13 @@ class DevTools extends CMSPlugin implements SubscriberInterface
$params->set('delete_versions', 0);
}
// Reset download keys on save if toggled on
if ($params->get('reset_download_keys', 0))
{
$this->resetDownloadKeys();
$params->set('reset_download_keys', 0);
}
// Reset the one-shot toggles
if ($table->params !== $params->toString())
{
@@ -152,4 +159,41 @@ class DevTools extends CMSPlugin implements SubscriberInterface
return $count;
}
private function resetDownloadKeys(): int
{
$db = Factory::getDbo();
// Find update sites that have a dlid in extra_query
$db->setQuery(
$db->getQuery(true)
->select([$db->quoteName('update_site_id'), $db->quoteName('extra_query')])
->from($db->quoteName('#__update_sites'))
->where($db->quoteName('extra_query') . ' LIKE ' . $db->quote('%dlid=%'))
);
$sites = $db->loadObjectList();
$count = 0;
foreach ($sites as $site)
{
// Parse the query string, remove dlid, rebuild
parse_str($site->extra_query, $parsed);
unset($parsed['dlid']);
$newQuery = http_build_query($parsed);
$db->setQuery(
$db->getQuery(true)
->update($db->quoteName('#__update_sites'))
->set($db->quoteName('extra_query') . ' = ' . $db->quote($newQuery))
->where($db->quoteName('update_site_id') . ' = ' . (int) $site->update_site_id)
)->execute();
$count++;
}
$this->getApplication()->enqueueMessage(\sprintf('Cleared download keys from %d update sites.', $count), 'message');
return $count;
}
}