On update, detects and removes:
- Duplicate MokoOnyx entries in #__extensions (keeps the locked/active
one, deletes ghosts from re-installs or migration)
- Stale MokoCassiopeia extension entry (only if not set as default
template, also cleans up its styles and update site links)
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds placeholder infrastructure for migrating from raw-branch update
URLs to the MokoGitea license system:
- migrateUpdateServer(): removes old update sites, creates new licensed
entry with dlid support (gated behind NEW_UPDATE_URL constant — no-op
until URL is configured)
- checkDownloadKey(): warns admin if no download key is set on the
update site after migration
- OLD_UPDATE_URLS list for cleanup
- NEW_UPDATE_URL placeholder (TODO)
Safe to merge — all migration code is behind the empty URL guard.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Joomla's installer never deletes files on upgrade. This adds a
maintenance list of files/dirs removed from the package so they get
cleaned up on existing installs. Starts with the JoomGallery template
overrides removed in this release.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Deletes stale .min.css/.min.js in project dirs (MokoMinifyHelper
regenerates them automatically on next page load)
- Removes unminified vendor FA CSS (vendors ship .min only)
- Removes deprecated files from previous versions
- Runs during postflight on both install and update
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sets locked=1 in #__extensions after install/update to prevent
accidental uninstallation via Extension Manager.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds replaceCassiopeiaReferences() to script.php postflight so
article content and custom HTML modules are updated during
Joomla admin install/update, not just on frontend page load.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Favicons now output to media/templates/site/mokoonyx/images/favicons/
- On install/update: removes old /images/favicons/ directory
- On install/update: removes stale favicon files from site root
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Ensures site.webmanifest and all favicon files are regenerated
after every template install or update.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- .gitea/workflows/release.yml: auto-bump, build ZIP, Gitea release,
per-channel updates.xml targeting (same as MokoCassiopeia)
- script.php: on install, detect MokoCassiopeia styles, create matching
MokoOnyx style copies with same params, set default, copy user files
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
All files renamed from mokocassiopeia to mokoonyx.
Update server points to MokoOnyx repo.
Bridge migration removed (clean standalone template).
Version reset to 01.00.00.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>