Fixes remaining documentation artifacts from the MokoStandards
template repo origin:
- SECURITY.md: replaced 7 "template repository" references with
plugin-specific language, removed "Components Built from Template"
section
- CLAUDE.md: updated script structure example to show Joomla 6
namespaced pattern, fixed offline mode test wording
- CONTRIBUTING.md: fixed template reference and Joomla 5.x example
- update.xml: description now generic ("selected menu item")
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Joomla's InstallerAdapterPlugin reads the plugin element name from
the plugin="mokojoomtos" attribute on <filename> in the manifest.
Without it, the installer cannot register the plugin in #__extensions
and it silently fails to appear in the plugin list.
The file is a placeholder — never loaded at runtime (Joomla uses
services/provider.php instead) — but the XML attribute is required.
Also updates all stale Joomla 4/5 references in documentation to
Joomla 6, fixes TOS-specific wording, and rewrites README.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
BREAKING CHANGE: Requires Joomla 6.0+ and PHP 8.3+
- Removed legacy mokojoomtos.php (J6 drops non-namespaced loading)
- Removed legacy src/plugins/ directory
- Removed hardcoded TOS article/menu creation from script.php
- Plugin now works with ANY menu item selected via dropdown
- Replaced Factory::getDbo() with DI container DatabaseInterface
- Uses $this->getApplication() instead of deprecated $this->app
- Uses PHP 8.3 str_starts_with() instead of strpos() === 0
- Simplified script.php to just enable plugin on install
- Updated all language files for generic "Offline Page Access"
- Updated manifest: J6 minimum, PHP 8.3, no legacy file ref
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Root cause of plugin not showing in Joomla after install:
missing services/provider.php for DI container registration.
Joomla 4+ requires this file to bootstrap namespaced plugins.
Also fixes Table::getInstance('Content', ...) which should be
Table::getInstance('Article', ...) in Joomla 4 (class renamed).
Version reset to 01.00.00 across all files for first stable
release. All FILE INFORMATION headers updated.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Breaks long lines in script.php and MenuslugField.php to stay
within 120-char limit. Converts inline JSON params to
json_encode() for readability. Adds SPDX-License-Identifier to
all PHP files. Adds missing Usage section to README.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Updates legacy mokojoomtos.php to use onAfterRoute instead of
onAfterInitialise and adds tmpl=component for component-only
view. Fixes script.php language key mismatches and incorrect
extension property. Corrects all markdown FILE INFORMATION
headers and links from template repo to MokoJoomTOS.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>