diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 26e4781..b1ccdd1 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -22,7 +22,7 @@ # FILE INFORMATION DEFGROUP: Joomla.Template.Site INGROUP: MokoOnyx.Documentation - REPO: https://git.mokoconsulting.tech/MokoConsulting/moko-cassiopeia + REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx FILE: docs/ROADMAP.md VERSION: 03.09.03 BRIEF: Version-specific roadmap for MokoOnyx template @@ -879,8 +879,8 @@ MokoOnyx aims to be the **most developer-friendly, user-customizable, and standa ### Official Links - **Full Roadmap**: [https://mokoconsulting.tech/support/joomla-cms/mokoonyx-roadmap](https://mokoconsulting.tech/support/joomla-cms/mokoonyx-roadmap) -- **Repository**: [https://git.mokoconsulting.tech/MokoConsulting/moko-cassiopeia](https://git.mokoconsulting.tech/MokoConsulting/moko-cassiopeia) -- **Issue Tracker**: [GitHub Issues](https://git.mokoconsulting.tech/MokoConsulting/moko-cassiopeia/issues) +- **Repository**: [https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx) +- **Issue Tracker**: [GitHub Issues](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/issues) - **Changelog**: [CHANGELOG.md](../CHANGELOG.md) ### Community @@ -901,7 +901,7 @@ MokoOnyx aims to be the **most developer-friendly, user-customizable, and standa Have ideas for future features? We welcome community input! **How to Suggest Features**: -1. Check the [GitHub Issues](https://git.mokoconsulting.tech/MokoConsulting/moko-cassiopeia/issues) for existing requests +1. Check the [GitHub Issues](https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/issues) for existing requests 2. Open a new issue with the `enhancement` label 3. Provide clear use cases and benefits 4. Engage in community discussion diff --git a/src/helper/migrate.php b/src/helper/migrate.php index 8d94ecc..3a50936 100644 --- a/src/helper/migrate.php +++ b/src/helper/migrate.php @@ -172,6 +172,68 @@ use Joomla\CMS\Log\Log; } } + // Replace MokoCassiopeia references in article content + try { + $contentTables = [ + ['table' => '#__content', 'columns' => ['introtext', 'fulltext']], + ]; + + $totalReplaced = 0; + + foreach ($contentTables as $spec) { + foreach ($spec['columns'] as $col) { + $query = $db->getQuery(true) + ->update($spec['table']) + ->set( + $db->quoteName($col) . ' = REPLACE(REPLACE(' + . $db->quoteName($col) . ', ' + . $db->quote($oldDisplay) . ', ' + . $db->quote($newDisplay) . '), ' + . $db->quote($oldName) . ', ' + . $db->quote($newName) . ')' + ) + ->where( + '(' . $db->quoteName($col) . ' LIKE ' . $db->quote('%' . $oldDisplay . '%') + . ' OR ' . $db->quoteName($col) . ' LIKE ' . $db->quote('%' . $oldName . '%') . ')' + ); + $db->setQuery($query)->execute(); + $totalReplaced += $db->getAffectedRows(); + } + } + + if ($totalReplaced > 0) { + $log("Replaced MokoCassiopeia references in {$totalReplaced} content row(s)."); + } + } catch (\Throwable $e) { + $log('Content replacement failed: ' . $e->getMessage(), Log::WARNING); + } + + // Replace MokoCassiopeia references in custom HTML modules + try { + $query = $db->getQuery(true) + ->update('#__modules') + ->set( + $db->quoteName('content') . ' = REPLACE(REPLACE(' + . $db->quoteName('content') . ', ' + . $db->quote($oldDisplay) . ', ' + . $db->quote($newDisplay) . '), ' + . $db->quote($oldName) . ', ' + . $db->quote($newName) . ')' + ) + ->where( + '(' . $db->quoteName('content') . ' LIKE ' . $db->quote('%' . $oldDisplay . '%') + . ' OR ' . $db->quoteName('content') . ' LIKE ' . $db->quote('%' . $oldName . '%') . ')' + ); + $db->setQuery($query)->execute(); + $modulesUpdated = $db->getAffectedRows(); + + if ($modulesUpdated > 0) { + $log("Replaced MokoCassiopeia references in {$modulesUpdated} module(s)."); + } + } catch (\Throwable $e) { + $log('Module content replacement failed: ' . $e->getMessage(), Log::WARNING); + } + // Update the update server try { $onyxUpdatesUrl = 'https://git.mokoconsulting.tech/MokoConsulting/MokoOnyx/raw/branch/main/updates.xml'; diff --git a/src/language/en-GB/tpl_mokoonyx.sys.ini b/src/language/en-GB/tpl_mokoonyx.sys.ini index daff00a..762c4cd 100644 --- a/src/language/en-GB/tpl_mokoonyx.sys.ini +++ b/src/language/en-GB/tpl_mokoonyx.sys.ini @@ -28,4 +28,4 @@ TPL_MOKOONYX_POSITION_TOP_B="Top-b" TPL_MOKOONYX_POSITION_TOPBAR="Top Bar" TPL_MOKOONYX_POSITION_DRAWER_LEFT="Drawer-Left" TPL_MOKOONYX_POSITION_DRAWER_RIGHT="Drawer-Right" -TPL_MOKOONYX_XML_DESCRIPTION="
MokoOnyx continues Joomla’s tradition of space-themed default templates— building on the legacy of Solarflare (Joomla 1.0), Milkyway (Joomla 1.5), and Protostar (Joomla 3.0).
This template is a customized fork of the Cassiopeia template introduced in Joomla 4, preserving its modern, accessible, and mobile-first foundation while introducing new stylistic enhancements and structural refinements specifically tailored for use by Moko Consulting.
Starter palette files are included with the template. To create a custom colour scheme, copy templates/mokoonyx/templates/light.custom.css to media/templates/site/mokoonyx/css/theme/light.custom.css, or templates/mokoonyx/templates/dark.custom.css to media/templates/site/mokoonyx/css/theme/dark.custom.css. Customise the CSS variables to match your brand, then activate your palette in System → Site Templates → MokoOnyx → Theme tab by selecting "Custom" for the Light or Dark Mode Palette. A full variable reference is available in the CSS Variables tab in template options.
For site-specific styles and scripts that should survive template updates, create the following files:
media/templates/site/mokoonyx/css/user.css — loaded on every page for custom CSS overrides.media/templates/site/mokoonyx/js/user.js — loaded on every page for custom JavaScript.These files are gitignored and will not be overwritten by template updates.
This template is based on the original Cassiopeia template developed by the Joomla! Project and released under the GNU General Public License.
Modifications and enhancements have been made by Moko Consulting in accordance with open-source licensing standards.
It includes integration with Bootstrap TOC, an open-source table of contents generator by A. Feld, licensed under the MIT License.
All third-party libraries and assets remain the property of their respective authors and are credited within their source files where applicable.
" +TPL_MOKOONYX_XML_DESCRIPTION="
MokoOnyx continues Joomla’s tradition of space-themed default templates— building on the legacy of Solarflare (Joomla 1.0), Milkyway (Joomla 1.5), and Protostar (Joomla 3.0).
This template is a customized fork of the Cassiopeia template introduced in Joomla 4, preserving its modern, accessible, and mobile-first foundation while introducing new stylistic enhancements and structural refinements specifically tailored for use by Moko Consulting.
Starter palette files are included with the template. To create a custom colour scheme, copy templates/mokoonyx/templates/light.custom.css to media/templates/site/mokoonyx/css/theme/light.custom.css, or templates/mokoonyx/templates/dark.custom.css to media/templates/site/mokoonyx/css/theme/dark.custom.css. Customise the CSS variables to match your brand, then activate your palette in System → Site Templates → MokoOnyx → Theme tab by selecting "Custom" for the Light or Dark Mode Palette. A full variable reference is available in the CSS Variables tab in template options.
For site-specific styles and scripts that should survive template updates, create the following files:
media/templates/site/mokoonyx/css/user.css — loaded on every page for custom CSS overrides.media/templates/site/mokoonyx/js/user.js — loaded on every page for custom JavaScript.These files are gitignored and will not be overwritten by template updates.
This template is based on the original Cassiopeia template developed by the Joomla! Project and released under the GNU General Public License.
Modifications and enhancements have been made by Moko Consulting in accordance with open-source licensing standards.
It includes integration with Bootstrap TOC, an open-source table of contents generator by A. Feld, licensed under the MIT License.
All third-party libraries and assets remain the property of their respective authors and are credited within their source files where applicable.
" diff --git a/src/templateDetails.xml b/src/templateDetails.xml index 49b83cc..f59fe8a 100644 --- a/src/templateDetails.xml +++ b/src/templateDetails.xml @@ -45,7 +45,7 @@MokoOnyx automatically imports your MokoCassiopeia settings on first use. To trigger the migration:
What gets migrated: template style params, custom colour palettes (light.custom.css, dark.custom.css), user.css, user.js, and update server URL. To re-run the migration, delete templates/mokoonyx/.migrated and reload any page.
MokoOnyx (formerly MokoCassiopeia) is a modern, lightweight enhancement layer built on Joomla's Cassiopeia template. It adds Font Awesome 7, Bootstrap 5 helpers, automatic Table of Contents, advanced Dark Mode theming, and optional Google Tag Manager / GA4 integration — all with minimal core overrides for maximum upgrade compatibility.
Copy templates/mokoonyx/templates/light.custom.css to media/templates/site/mokoonyx/css/theme/light.custom.css (or dark equivalent), customise the CSS variables, then select "Custom" in the Theme tab.
media/templates/site/mokoonyx/css/user.css — custom CSS overridesmedia/templates/site/mokoonyx/js/user.js — custom JavaScriptThese files survive template updates.
]]>MokoOnyx automatically imports your MokoCassiopeia settings on first use. To trigger the migration:
What gets migrated: template style params, custom colour palettes (light.custom.css, dark.custom.css), user.css, user.js, and update server URL. To re-run the migration, delete templates/mokoonyx/.migrated and reload any page.
MokoOnyx (formerly MokoCassiopeia) is a modern, lightweight enhancement layer built on Joomla's Cassiopeia template. It adds Font Awesome 7, Bootstrap 5 helpers, automatic Table of Contents, advanced Dark Mode theming, and optional Google Tag Manager / GA4 integration — all with minimal core overrides for maximum upgrade compatibility.
Copy templates/mokoonyx/templates/light.custom.css to media/templates/site/mokoonyx/css/theme/light.custom.css (or dark equivalent), customise the CSS variables, then select "Custom" in the Theme tab.
media/templates/site/mokoonyx/css/user.css — custom CSS overridesmedia/templates/site/mokoonyx/js/user.js — custom JavaScriptThese files survive template updates.
]]>