Merge pull request #3 from mokoconsulting-tech/copilot/add-joomla-plugin-mokowaas

Enhance root README and CHANGELOG with comprehensive documentation
This commit is contained in:
2026-02-22 22:12:22 -06:00
committed by GitHub
23 changed files with 920 additions and 106 deletions
+189 -13
View File
@@ -14,35 +14,211 @@
INGROUP: MokoWaaS-Brand.Documentation
REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
PATH: ./CHANGELOG.md
VERSION: 01.03.00
VERSION: 01.04.00
BRIEF: Version history using `Keep a Changelog`
-->
# Changelog
All notable changes to the MokoWaaS-Brand plugin will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Planned
- Additional language override strings for extended Joomla components
- Custom branding for media manager
- Enhanced configuration options
## [01.04.00] - 2026-02-22
### Added
- Complete Joomla 5.x system plugin implementation with modern architecture
- Main plugin class (`src/mokowaasbrand.php`) with event handlers:
- `onAfterInitialise` event hook for framework initialization
- `onAfterRoute` event hook for routing integration
- Plugin manifest (`src/mokowaasbrand.xml`) with Joomla 5.x namespace support
- Namespace: `Moko\Plugin\System\MokoWaaSBrand`
- Configuration parameter for enabling/disabling branding
- Dependency injection service provider (`src/services/provider.php`)
- DI container registration for Joomla 5.x compatibility
- Plugin language files in `src/language/en-GB/`:
- `plg_system_mokowaasbrand.ini` - Plugin UI strings
- `plg_system_mokowaasbrand.sys.ini` - System/installation strings
- Enhanced language overrides (57+ strings):
- Installation sample data branding
- Site name labels
- Admin-specific UI elements
- Version and About sections
- Security `index.html` files throughout directory structure
- Comprehensive README.md with:
- Badges for version, license, Joomla, and PHP compatibility
- Table of contents with 12+ major sections
- Detailed installation instructions (2 methods)
- Technical implementation documentation
- Repository structure overview
- Development and build instructions
### Changed
- Updated all documentation to version 01.04.00
- Enhanced language overrides with more comprehensive coverage
- Improved plugin configuration options
### Fixed
- Typo in language override: "ERROR OCCURED" → "ERROR OCCURRED"
- Repository references updated from placeholders to actual GitHub URLs
### Technical
- Integrates with Joomla's native language override system
- No programmatic string loading (performance optimization)
- Event-driven architecture for minimal overhead
- PSR-4 autoloading through service provider
## [01.03.00] - 2025-12-11
- Cleanup
### Changed
- General cleanup and code organization
- Documentation structure improvements
## [01.02.01] - 2025-12-11
- Version bump
### Changed
- Version bump for release alignment
## [01.02.00] - 2025-12-11
- Created `/docs/`
- Created `mokowaasbrand\.github\workflows\build.yml`
- Added image and favicon replacement feature
### Added
- Documentation directory (`/docs/`) with comprehensive guides:
- Installation guide
- Configuration guide
- Build guide
- Operations guide
- Troubleshooting guide
- Upgrade and versioning guide
- Rollback and recovery guide
- GitHub workflow for automated builds (`.github/workflows/build.yml`)
- Image and favicon replacement feature for complete branding
### Changed
- Improved documentation structure and organization
## [01.01.05] - 2025-12-11
- Version bump
### Changed
- Version bump for release coordination
## [01.01.04] - 2025-12-11
- Manifest Fix
### Fixed
- Plugin manifest corrections and validation fixes
## [01.01.03] - 2025-12-11
- Fixed Administrator Language location
### Fixed
- Administrator language file location corrected
- Language override path alignment with Joomla standards
## [01.01.02] - 2025-12-11
- Moved code to `/src/`
- Alignment with Release Deployment pipeline
## [1.0] - YYYY-MM-DD
### Changed
- Moved plugin code to `/src/` directory for better organization
- Aligned repository structure with release deployment pipeline
- Improved packaging workflow
### Added
- First published draft
- Release deployment pipeline integration
- Automated build and validation scripts
## [1.0.0] - 2025-12-11
### Added
- Initial release of MokoWaaS-Brand plugin
- Basic language override system for Joomla rebranding
- Frontend language overrides (en-GB, en-US)
- Administrator language overrides (en-GB, en-US)
- Core branding replacements:
- Footer "Powered by" text
- Control panel welcome messages
- Help and documentation links
- Generic Joomla→MokoWaaS replacements
- Basic plugin structure and manifest
- License (GPL-3.0-or-later)
- Contributing guidelines
- Code of conduct
### Technical Details
- Joomla 5.x compatible
- PHP 8.1+ requirement
- Language override mechanism using Joomla's native system
---
## Version History Summary
| Version | Date | Type | Summary |
|------------|------------|-----------|-------------------------------------------|
| 01.04.00 | 2026-02-22 | Major | Complete plugin implementation & enhanced docs |
| 01.03.00 | 2025-12-11 | Minor | Cleanup and organization |
| 01.02.01 | 2025-12-11 | Patch | Version alignment |
| 01.02.00 | 2025-12-11 | Minor | Documentation and build system |
| 01.01.05 | 2025-12-11 | Patch | Version coordination |
| 01.01.04 | 2025-12-11 | Patch | Manifest fixes |
| 01.01.03 | 2025-12-11 | Patch | Language location fix |
| 01.01.02 | 2025-12-11 | Patch | Repository restructuring |
| 1.0.0 | 2025-12-11 | Major | Initial release |
---
## Upgrade Notes
### Upgrading to 01.04.00
**Breaking Changes:** None
**New Features:**
- Complete Joomla 5.x plugin implementation
- Dependency injection support
- Enhanced language overrides (14+ new strings)
**Installation:**
1. Backup your current installation
2. Download the latest release package
3. Install via Joomla Extension Manager
4. Clear Joomla cache
5. Verify branding appears correctly
### Upgrading to 01.02.00
**New Features:**
- Comprehensive documentation in `/docs/`
- Automated build workflows
**Notes:**
- Review new documentation for operational guidance
- Check GitHub workflows for automated builds
---
## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
When adding entries to this changelog:
1. Add new changes under `[Unreleased]` section
2. Use categories: Added, Changed, Deprecated, Removed, Fixed, Security
3. Include clear, concise descriptions
4. Reference issue numbers where applicable
5. Move items from Unreleased to versioned section upon release
## Links
- [MokoStandards](https://github.com/mokoconsulting-tech/MokoStandards) - Coding and documentation standards
- [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Changelog format specification
- [Semantic Versioning](https://semver.org/spec/v2.0.0.html) - Version numbering specification
- [Repository](https://github.com/mokoconsulting-tech/mokowaasbrand) - Project repository
---
**Note:** For detailed technical documentation, see the `/docs/` directory and [README.md](README.md).
+270 -29
View File
@@ -15,60 +15,301 @@
DEFGROUP: Joomla.Plugin
INGROUP: MokoWaaS-Brand
REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
VERSION: 01.03.00
VERSION: 01.04.00
PATH: /README.md
BRIEF: Rebranding plugin for MokoWaaS platform
NOTE: Internal WaaS identity abstraction layer
-->
## MokoWaaS-Brand Plugin (VERSION: 01.03.00)
# MokoWaaS-Brand Plugin
MokoWaaS-Brand provides a structured identity override layer that aligns the Joomla administrative and front end experience with the MokoWaaS platform standard. The plugin operationalizes a unified naming convention, brand controlled visuals, and enforced terminology across all tenant sites to ensure consistent service delivery within the WaaS framework.
[![Version](https://img.shields.io/badge/version-01.04.00-blue.svg)](https://github.com/mokoconsulting-tech/mokowaasbrand)
[![License](https://img.shields.io/badge/license-GPL--3.0--or--later-green.svg)](LICENSE.md)
[![Joomla](https://img.shields.io/badge/Joomla-5.x-orange.svg)](https://www.joomla.org)
[![PHP](https://img.shields.io/badge/PHP-8.1%2B-blue.svg)](https://www.php.net)
## Purpose
MokoWaaS-Brand is a Joomla 5.x system plugin that provides a comprehensive identity override layer for the MokoWaaS platform. It ensures consistent branding, terminology, and user experience across all Joomla administrative and frontend interfaces.
This plugin enables Moko Consulting to maintain authoritative governance over the visual and linguistic representation of the WaaS ecosystem. All upstream Joomla identifiers are abstracted behind MokoWaaS compliant terminology to ensure alignment with enterprise service positioning.
## Table of Contents
## Key Capabilities
- [Overview](#overview)
- [Features](#features)
- [System Requirements](#system-requirements)
- [Installation](#installation)
- [Configuration](#configuration)
- [Technical Implementation](#technical-implementation)
- [Repository Structure](#repository-structure)
- [Development](#development)
- [Documentation](#documentation)
- [Support](#support)
- [License](#license)
- [Changelog](#changelog)
* Centralized substitution of Joomla labels with MokoWaaS terminology.
* Replacement of platform logos, titles, and meta naming with controlled brand assets.
* Enforcement of standardized UI patterns that support a cohesive multi tenant WaaS environment.
* Governance alignment with [MokoStandards](https://github.com/mokoconsulting-tech/MokoStandards) for compliance, lifecycle management, and maintainability.
## Overview
The MokoWaaS-Brand plugin operationalizes a unified naming convention, brand-controlled visuals, and enforced terminology across all tenant sites. This ensures consistent service delivery within the WaaS (Website as a Service) framework by abstracting all upstream Joomla identifiers behind MokoWaaS-compliant terminology.
## Features
- **Comprehensive Language Overrides**: 57+ language strings replacing Joomla branding with MokoWaaS terminology
- **Administrator & Frontend Coverage**: Applies branding across both Joomla backend and frontend
- **Joomla 5.x Compatible**: Built using modern Joomla 5.x architecture with dependency injection
- **Event-Driven Architecture**: Utilizes Joomla system events for optimal integration
- **Configurable**: Enable/disable branding functionality through plugin parameters
- **Multi-Language Support**: Currently supports en-GB and en-US locales
- **Governance Compliant**: Aligned with [MokoStandards](https://github.com/mokoconsulting-tech/MokoStandards)
## System Requirements
- **Joomla**: 5.x or higher
- **PHP**: 8.1 or higher
- **Extensions**: Standard Joomla PHP extensions
- **Permissions**: Write access to language override directories
## Installation
1. Package the plugin directory into a Joomla installable ZIP archive.
2. Deploy through the Joomla Extension Manager.
3. Enable the plugin and confirm that the MokoWaaS identity layer is active across system areas.
### Method 1: Via Joomla Extension Manager (Recommended)
1. Download the latest release package from the releases page
2. Log into your Joomla Administrator panel
3. Navigate to **System → Extensions → Install**
4. Click **Upload Package File**
5. Select the downloaded `.zip` file
6. Click **Upload & Install**
7. Navigate to **System → Plugins**
8. Search for "MokoWaaS Brand"
9. Enable the plugin
10. Clear Joomla cache
### Method 2: Manual Installation
1. Extract the plugin package
2. Upload contents to your Joomla installation's `/tmp` directory
3. Install via Joomla Extension Manager → Install from Folder
4. Enable the plugin as described above
### Post-Installation
After installation, verify the branding is active:
- Check the administrator footer for "Powered by MokoWaaS"
- Verify the control panel shows "Welcome to MokoWaaS!"
- Clear browser cache if branding doesn't appear immediately
## Configuration
The plugin exposes controlled parameters to ensure governance continuity. Configuration options are intentionally limited to preserve WaaS brand integrity and prevent tenant level deviation.
The plugin provides the following configuration options accessible through **System → Plugins → System - MokoWaaS Brand**:
## Versioning
### Parameters
This extension follows the [MokoStandards](https://github.com/mokoconsulting-tech/MokoStandards) version governance model. Version numbering aligns to major, minor, and patch level increments with strict change control.
- **Enable Branding** (Yes/No)
- Default: Yes
- Description: Master toggle for all branding functionality
- When disabled, all branding overrides are bypassed
## Compliance
Configuration options are intentionally limited to preserve WaaS brand integrity and prevent tenant-level deviation from platform standards.
All source code complies with the [MokoStandards](https://github.com/mokoconsulting-tech/MokoStandards) coding and documentation standards. Brand assets referenced by the plugin must be licensed for internal WaaS use and stored within the designated media registry.
## Technical Implementation
### Architecture
The plugin follows Joomla 5.x system plugin architecture:
```
PlgSystemMokoWaaSBrand
├── Event Handlers
│ ├── onAfterInitialise - Framework initialization hook
│ └── onAfterRoute - Route determination hook
├── Dependency Injection
│ └── ServiceProvider - DI container registration
└── Language Integration
└── Native Override System - Joomla's built-in override mechanism
```
### Core Components
1. **mokowaasbrand.php**
- Main plugin class extending `CMSPlugin`
- Implements system event handlers
- Namespace: `Moko\Plugin\System\MokoWaaSBrand`
2. **mokowaasbrand.xml**
- Plugin manifest defining metadata and structure
- Joomla 5.x namespace configuration
- File and folder definitions
3. **services/provider.php**
- Dependency injection service provider
- Registers plugin with Joomla's DI container
- Joomla 5.x compatibility layer
4. **language/en-GB/**
- Plugin-specific language strings
- Installation and configuration UI text
5. **language/overrides/**
- Frontend language override files
- Replaces Joomla terminology with MokoWaaS branding
6. **administrator/language/overrides/**
- Administrator language override files
- Backend-specific branding replacements
### Language Override Integration
The plugin leverages Joomla's native language override system rather than programmatically loading strings. Language override files are placed in standard Joomla locations:
- Frontend: `language/overrides/{locale}.override.ini`
- Administrator: `administrator/language/overrides/{locale}.override.ini`
Joomla automatically loads these overrides during initialization, ensuring optimal performance and compatibility.
## Repository Structure
```
mokowaasbrand/
├── src/ # Plugin source files
│ ├── mokowaasbrand.php # Main plugin class
│ ├── mokowaasbrand.xml # Plugin manifest
│ ├── services/
│ │ └── provider.php # DI service provider
│ ├── language/
│ │ ├── en-GB/ # Plugin language files
│ │ └── overrides/ # Frontend language overrides
│ └── administrator/
│ └── language/
│ └── overrides/ # Admin language overrides
├── docs/ # Documentation
│ ├── index.md # Documentation index
│ ├── plugin-basic.md # Plugin overview
│ ├── guides/ # Operational guides
│ └── reference/ # Reference materials
├── scripts/ # Build and validation scripts
│ ├── validate_manifest.sh
│ ├── verify_changelog.sh
│ └── update_changelog.sh
├── .github/ # GitHub workflows
│ └── workflows/
│ ├── build.yml
│ ├── ci.yml
│ └── release_from_version.yml
├── CHANGELOG.md # Version history
├── README.md # This file
├── LICENSE.md # GPL-3.0-or-later license
├── CONTRIBUTING.md # Contribution guidelines
└── CODE_OF_CONDUCT.md # Community guidelines
```
## Development
### Building the Plugin
Build the installable plugin package from source:
```bash
cd src
zip -r ../mokowaasbrand_v01.04.00.zip . -x "*.git*"
```
### Running Validation Scripts
```bash
# Validate plugin manifest
./scripts/validate_manifest.sh
# Verify changelog format
./scripts/verify_changelog.sh
```
### PHP Syntax Validation
```bash
cd src
find . -name "*.php" -exec php -l {} \;
```
### Automated Build via GitHub Actions
The repository includes automated workflows:
- **build.yml**: Creates ZIP package on release
- **ci.yml**: Runs validation checks on pull requests
- **release_from_version.yml**: Automates release process
## Documentation
The plugin is documented through the [MokoStandards](https://github.com/mokoconsulting-tech/MokoStandards) documentation framework. All reference materials, architectural notes, and governance artifacts are maintained within the `/docs/` directory of the repository. Documentation updates adhere to the same change control workflows as source code, ensuring traceability and alignment with platform standards.
Comprehensive documentation is available in the `/docs` directory:
- **[Plugin Overview](docs/plugin-basic.md)**: Detailed plugin documentation
- **[Installation Guide](docs/guides/installation-guide.md)**: Step-by-step installation
- **[Build Guide](docs/guides/build-guide.md)**: Building and packaging
- **[Configuration Guide](docs/guides/configuration-guide.md)**: Configuration options
- **[Operations Guide](docs/guides/operations-guide.md)**: Operational procedures
- **[Troubleshooting Guide](docs/guides/troubleshooting-guide.md)**: Common issues
All documentation follows the [MokoStandards](https://github.com/mokoconsulting-tech/MokoStandards) documentation framework.
## Support
For operational issues, submit a ticket through the Moko Consulting service channel. For lifecycle updates, monitor the MokoWaaS repository for release notifications.
### Getting Help
## Revision History
- **Documentation**: Check the `/docs` directory for detailed guides
- **Issues**: Submit issues through the GitHub issue tracker
- **Service Support**: For operational issues, submit a ticket through the Moko Consulting service channel
| Date | Author | Summary |
| ---------- | ------------------------------- | --------------------------------------------- |
| 2025-12-11 | Jonathan Miller (@jmiller-moko) | Version Bump |
| 2025-12-11 | Jonathan Miller (@jmiller-moko) | `/docs/` creation |
| 2025-12-11 | Jonathan Miller (@jmiller-moko) | Version bump |
| 2025-12-11 | Jonathan Miller (@jmiller-moko) | Manifest Fix |
| 2025-12-11 | Jonathan Miller (@jmiller-moko) | Language Fix |
| 2025-12-11 | Jonathan Miller (@jmiller-moko) | Initial creation of README and metadata block |
### Reporting Issues
When reporting issues, include:
- Joomla version
- PHP version
- Plugin version
- Steps to reproduce
- Expected vs actual behavior
- Relevant error messages or logs
## License
This project is licensed under the GNU General Public License version 3 or later (GPL-3.0-or-later).
See [LICENSE.md](LICENSE.md) for the full license text.
## Versioning
This extension follows the [MokoStandards](https://github.com/mokoconsulting-tech/MokoStandards) version governance model using semantic versioning: `MAJOR.MINOR.PATCH`
Current version: **01.04.00**
## Changelog
See [CHANGELOG.md](CHANGELOG.md) for a complete version history.
### Recent Changes (v01.04.00 - 2026-02-22)
- Added complete Joomla 5.x system plugin implementation
- Created main plugin class with event handlers
- Implemented plugin manifest with Joomla 5.x namespace support
- Added dependency injection service provider
- Created plugin language files
- Integrated with language override system
- Enhanced language overrides (57+ strings)
- Fixed typo in error messages (OCCURRED)
## Contributing
We welcome contributions! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on:
- Code of conduct
- Development workflow
- Coding standards
- Pull request process
- Documentation requirements
## Acknowledgments
- Built for the MokoWaaS platform
- Follows [MokoStandards](https://github.com/mokoconsulting-tech/MokoStandards)
- Designed for Joomla 5.x architecture
- Maintained by Moko Consulting
---
**Moko Consulting** | [Website](https://mokoconsulting.tech) | [Email](mailto:hello@mokoconsulting.tech)
+33 -24
View File
@@ -11,13 +11,13 @@
INGROUP: MokoWaaS-Brand.Build
REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
FILE: build-guide.md
VERSION: 01.03.00
VERSION: 01.04.00
PATH: /docs/guides/
BRIEF: Build and packaging guide for the MokoWaaS-Brand system plugin
NOTE: Defines environment setup, repository layout, packaging rules, and release preparation
-->
# MokoWaaS-Brand Build Guide (VERSION: 01.03.00)
# MokoWaaS-Brand Build Guide (VERSION: 01.04.00)
## 1. Purpose
@@ -45,28 +45,36 @@ The repository should maintain a clean, predictable, and modular structure suita
```text
mokowaasbrand/
├── src/
│ ├── plugin.php
│ ├── services/ (optional service providers)
│ ├── helpers/ (optional utility classes)
└── traits/ (optional logic modules)
│ ├── mokowaasbrand.php (main plugin file)
│ ├── mokowaasbrand.xml (plugin manifest)
│ ├── services/ (service providers for DI)
│ └── provider.php
│ ├── language/ (plugin language files)
│ │ ├── en-GB/*.ini
│ │ └── overrides/ (Joomla language overrides)
│ └── administrator/
│ └── language/
│ └── overrides/ (admin language overrides)
├── language/
│ └── en-GB/*.ini (primary language definitions)
├── LICENSE.md (standard GPL license)
├── README.md (repository overview)
├── CHANGELOG.md (version history)
├── CONTRIBUTING.md (contribution rules)
├── CODE_OF_CONDUCT.md (community guidelines)
├── media/ (optional; images, CSS, JS)
│ └── assets/
├── templateDetails.xml (plugin manifest)
├── LICENSE.md (standard GPL license)
├── README.md (repository overview)
├── CONTRIBUTING.md (contribution rules)
├── CODEOWNERS (ownership and review rules)
├── docs/ (documentation suite)
├── docs/ (documentation suite)
│ ├── index.md
── guides/*.md
── plugin-basic.md
│ ├── guides/*.md
│ └── reference/*.md
── scripts/ (optional automation utilities, if used)
── scripts/ (build and validation utilities)
│ ├── validate_manifest.sh
│ ├── verify_changelog.sh
│ └── update_changelog.sh
└── .github/ (CI/CD workflows)
└── workflows/*.yml
```
All files must contain the standardized Moko Consulting copyright header.
@@ -102,7 +110,7 @@ Remove any unneeded files:
Using CLI:
```bash
zip -r mokowaasbrand_v01.03.00.zip ./ -x "*.git*" "scripts/*" "docs/*"
zip -r mokowaasbrand_v01.04.00.zip ./ -x "*.git*" "scripts/*" "docs/*"
```
Ensure excluded paths match release governance and do not remove required runtime files.
@@ -282,9 +290,10 @@ To prevent runtime failures, validate the following prior to packaging:
Required files:
* `templateDetails.xml`
* `src/plugin.php`
* At least one language file under `/language/en-GB/`
* `mokowaasbrand.xml`
* `mokowaasbrand.php`
* `services/provider.php`
* Language files under `language/en-GB/`
* LICENSE.md
* README.md
* CONTRIBUTING.md
+2 -2
View File
@@ -10,13 +10,13 @@
DEFGROUP: Joomla.Plugin
INGROUP: MokoWaaS-Brand.Guides
REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
VERSION: 01.03.00
VERSION: 01.04.00
PATH: /docs/guides/configuration-guide.md
BRIEF: Configuration guide for the MokoWaaS-Brand system plugin
NOTE: Defines plugin parameters, expected behaviors, and recommended defaults
-->
# MokoWaaS-Brand Configuration Guide (VERSION: 01.03.00)
# MokoWaaS-Brand Configuration Guide (VERSION: 01.04.00)
## 1. Objective
+2 -2
View File
@@ -10,13 +10,13 @@
DEFGROUP: Joomla.Plugin
INGROUP: MokoWaaS-Brand.Guides
REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
VERSION: 01.03.00
VERSION: 01.04.00
PATH: /docs/guides/installation-guide.md
BRIEF: Installation guide for the MokoWaaS-Brand system plugin
NOTE: First document in the guide set
-->
# MokoWaaS-Brand Installation Guide (VERSION: 01.03.00)
# MokoWaaS-Brand Installation Guide (VERSION: 01.04.00)
## Introduction
+2 -2
View File
@@ -10,13 +10,13 @@
DEFGROUP: Joomla.Plugin
INGROUP: MokoWaaS-Brand.Guides
REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
VERSION: 01.03.00
VERSION: 01.04.00
PATH: /docs/guides/operations-guide.md
BRIEF: Operational guide for administering and managing the MokoWaaS-Brand system plugin
NOTE: Defines lifecycle, responsibilities, and operational behaviors
-->
# MokoWaaS-Brand Operations Guide (VERSION: 01.03.00)
# MokoWaaS-Brand Operations Guide (VERSION: 01.04.00)
## Introduction
+2 -2
View File
@@ -10,13 +10,13 @@
DEFGROUP: Joomla.Plugin
INGROUP: MokoWaaS-Brand.Guides
REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
VERSION: 01.03.00
VERSION: 01.04.00
PATH: /docs/guides/rollback-and-recovery-guide.md
BRIEF: Rollback and recovery guide for restoring stable operation after plugin related incidents
NOTE: Completes the core guide set for WaaS plugin governance
-->
# MokoWaaS-Brand Rollback and Recovery Guide (VERSION: 01.03.00)
# MokoWaaS-Brand Rollback and Recovery Guide (VERSION: 01.04.00)
## Introduction
+2 -2
View File
@@ -10,13 +10,13 @@
DEFGROUP: Joomla.Plugin
INGROUP: MokoWaaS-Brand.Guides
REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
VERSION: 01.03.00
VERSION: 01.04.00
PATH: /docs/guides/troubleshooting-guide.md
BRIEF: Troubleshooting guide for diagnosing and resolving issues related to the MokoWaaS-Brand plugin
NOTE: Designed for administrators and WaaS operations teams
-->
# MokoWaaS-Brand Troubleshooting Guide (VERSION: 01.03.00)
# MokoWaaS-Brand Troubleshooting Guide (VERSION: 01.04.00)
## Introduction
+2 -2
View File
@@ -10,13 +10,13 @@
DEFGROUP: Joomla.Plugin
INGROUP: MokoWaaS-Brand.Guides
REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
VERSION: 01.03.00
VERSION: 01.04.00
PATH: /docs/guides/upgrade-and-versioning-guide.md
BRIEF: Guide for updating, versioning, and maintaining the MokoWaaS-Brand plugin
NOTE: Defines release flow, version rules, and upgrade validation
-->
# MokoWaaS-Brand Upgrade and Versioning Guide (VERSION: 01.03.00)
# MokoWaaS-Brand Upgrade and Versioning Guide (VERSION: 01.04.00)
## Introduction
+3 -2
View File
@@ -10,13 +10,13 @@
DEFGROUP: Joomla.Plugin
INGROUP: MokoWaaS-Brand.Documentation
REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
VERSION: 01.03.00
VERSION: 01.04.00
PATH: /docs/index.md
BRIEF: Master index of all documentation for the MokoWaaS-Brand plugin
NOTE: Automatically maintained index for all guide canvases
-->
# MokoWaaS-Brand Documentation Index (VERSION: 01.03.00)
# MokoWaaS-Brand Documentation Index (VERSION: 01.04.00)
## Introduction
@@ -74,4 +74,5 @@ Contributors should:
| Date | Author | Description |
| ---------- | ------------------------------- | ------------------------------------------- |
| 2026-02-22 | GitHub Copilot | Update to version 01.04.00 |
| 2025-12-11 | Jonathan Miller (@jmiller-moko) | Full rewrite and update to version 01.03.00 |
+39 -2
View File
@@ -11,12 +11,12 @@
INGROUP: MokoWaaS-Brand
REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
PATH: /docs/plugin-basic.md
VERSION: 01.03.00
VERSION: 01.04.00
BRIEF: Baseline documentation for the MokoWaaS-Brand system plugin
NOTE: Foundational reference for internal and external stakeholders
-->
# MokoWaaS-Brand Plugin Overview (VERSION: 01.03.00)
# MokoWaaS-Brand Plugin Overview (VERSION: 01.04.00)
## Introduction
@@ -65,6 +65,42 @@ Primary configuration categories include:
Configuration ensures a consistent and predictable WaaS identity across all managed sites.
## Technical Implementation
The plugin is implemented as a Joomla 5.x system plugin with the following architecture:
### Core Components
* **mokowaasbrand.php** - Main plugin class (`PlgSystemMokoWaaSBrand`) that extends `CMSPlugin`
* **mokowaasbrand.xml** - Plugin manifest defining metadata, file structure, and configuration parameters
* **services/provider.php** - Dependency injection service provider for Joomla 5.x container registration
### Event Handlers
The plugin implements the following Joomla system events:
* `onAfterInitialise` - Triggered after framework initialization; provides hook for branding logic
* `onAfterRoute` - Triggered after route determination; allows additional branding adjustments
### Language Override Integration
The plugin integrates with Joomla's native language override system:
* Language overrides in `language/overrides/` (frontend)
* Administrator overrides in `administrator/language/overrides/`
* Joomla automatically loads these overrides without programmatic intervention
* Plugin provides the framework while Joomla handles the actual string substitution
### Configuration Options
The plugin exposes the following configuration parameters:
* **Enable Branding** - Toggle to enable/disable all branding functionality (default: enabled)
### Namespace and Autoloading
Uses Joomla 5.x namespace: `Moko\Plugin\System\MokoWaaSBrand` with PSR-4 autoloading through the service provider.
## Operational Expectations
Platform operators should maintain the plugin in an enabled state at all times. Updates may affect downstream systems such as templates or modules, so operational workflows must include:
@@ -85,4 +121,5 @@ While the plugin provides broad branding coverage, certain constraints apply:
| Date | Author | Description |
| ---------- | ------------------------------- | ---------------------------- |
| 2026-02-22 | GitHub Copilot | Update for version 01.04.00 |
| 2025-12-11 | Jonathan Miller (@jmiller-moko) | Rewrite for version 01.03.00 |
@@ -2,20 +2,21 @@
; Copyright (C) 2025 Moko Consulting <hello@mokoconsulting.tech>
; This file is part of a Moko Consulting project.
; SPDX-License-Identifier: GPL-3.0-or-later
; REPO: (add when this lives in a repository)
; REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
; -----------------------------------------------------------------------------
; FILE INFORMATION
; Defgroup: Joomla Language Overrides
; Ingroup: MokoWaaS
; Version: 1.0.0
; Ingroup: MokoWaaS-Brand
; Version: 01.04.00
; File: en-GB.override.ini
; Path: language/overrides/en-GB.override.ini
; Brief: English overrides replacing all visible occurrences of Joomla! with MokoWaaS.
; Path: administrator/language/overrides/en-GB.override.ini
; Brief: Admin English overrides replacing all visible occurrences of "Joomla!" with "MokoWaaS".
; Notes: Extend by adding more keys discovered via the Language Overrides tool.
; Variables: (none)
; -----------------------------------------------------------------------------
; ===== Footer & template branding =====
TPL_CASSIOPEIA_POWERED_BY="Powered by MokoWaaS"
TPL_ATUM_POWERED_BY="Powered by MokoWaaS"
MOD_FOOTER_LINE2="Powered by MokoWaaS"
; ===== Control panel greetings =====
@@ -40,4 +41,21 @@ MOD_LOGINSUPPORT_FORUM="Moko Consulting Support"
MOD_LOGINSUPPORT_DOCUMENTATION="MokoWaaS Documentation"
MOD_LOGINSUPPORT_NEWS="Moko Consulting News"
TPL_ATUM_BACKEND_LOGIN="MokoWaaS Administrator Login"
JERROR_LAYOUT_ERROR_HAS_OCCURRED="ERROR OCCURED"
; ===== Error messages =====
JERROR_LAYOUT_ERROR_HAS_OCCURRED="ERROR OCCURRED"
; ===== Admin-specific branding =====
COM_ADMIN_VIEW_HOME_TITLE="MokoWaaS Control Panel"
JLIB_APPLICATION_ERROR_SAVE_FAILED="MokoWaaS Error: Save failed"
COM_MODULES_HEADING_MODULE="MokoWaaS Module"
COM_PLUGINS_HEADING_NAME="MokoWaaS Plugin"
; ===== Extensions =====
COM_INSTALLER_TYPE_TYPE_JOOMLA="MokoWaaS"
COM_INSTALLER_MSG_UPDATE_SUCCESS="Update installed successfully"
; ===== Version and About =====
JLIB_HTML_POWERED_BY="Powered by MokoWaaS"
COM_ADMIN_HELP_DOCUMENTATION="MokoWaaS Documentation"
COM_ADMIN_HELP_SUPPORT="MokoWaaS Support"
@@ -2,20 +2,21 @@
; Copyright (C) 2025 Moko Consulting <hello@mokoconsulting.tech>
; This file is part of a Moko Consulting project.
; SPDX-License-Identifier: GPL-3.0-or-later
; REPO: (add when this lives in a repository)
; REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
; -----------------------------------------------------------------------------
; FILE INFORMATION
; Defgroup: Joomla Language Overrides
; Ingroup: MokoWaaS
; Version: 1.0.0
; Ingroup: MokoWaaS-Brand
; Version: 01.04.00
; File: en-US.override.ini
; Path: language/overrides/en-US.override.ini
; Brief: English overrides replacing all visible occurrences of Joomla! with MokoWaaS.
; Path: administrator/language/overrides/en-US.override.ini
; Brief: Admin English overrides replacing all visible occurrences of "Joomla!" with "MokoWaaS".
; Notes: Extend by adding more keys discovered via the Language Overrides tool.
; Variables: (none)
; -----------------------------------------------------------------------------
; ===== Footer & template branding =====
TPL_CASSIOPEIA_POWERED_BY="Powered by MokoWaaS"
TPL_ATUM_POWERED_BY="Powered by MokoWaaS"
MOD_FOOTER_LINE2="Powered by MokoWaaS"
; ===== Control panel greetings =====
@@ -40,4 +41,21 @@ MOD_LOGINSUPPORT_FORUM="Moko Consulting Support"
MOD_LOGINSUPPORT_DOCUMENTATION="MokoWaaS Documentation"
MOD_LOGINSUPPORT_NEWS="Moko Consulting News"
TPL_ATUM_BACKEND_LOGIN="MokoWaaS Administrator Login"
JERROR_LAYOUT_ERROR_HAS_OCCURRED="ERROR OCCURED"
; ===== Error messages =====
JERROR_LAYOUT_ERROR_HAS_OCCURRED="ERROR OCCURRED"
; ===== Admin-specific branding =====
COM_ADMIN_VIEW_HOME_TITLE="MokoWaaS Control Panel"
JLIB_APPLICATION_ERROR_SAVE_FAILED="MokoWaaS Error: Save failed"
COM_MODULES_HEADING_MODULE="MokoWaaS Module"
COM_PLUGINS_HEADING_NAME="MokoWaaS Plugin"
; ===== Extensions =====
COM_INSTALLER_TYPE_TYPE_JOOMLA="MokoWaaS"
COM_INSTALLER_MSG_UPDATE_SUCCESS="Update installed successfully"
; ===== Version and About =====
JLIB_HTML_POWERED_BY="Powered by MokoWaaS"
COM_ADMIN_HELP_DOCUMENTATION="MokoWaaS Documentation"
COM_ADMIN_HELP_SUPPORT="MokoWaaS Support"
+8
View File
@@ -0,0 +1,8 @@
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
+8
View File
@@ -0,0 +1,8 @@
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
@@ -0,0 +1,22 @@
; -----------------------------------------------------------------------------
; Copyright (C) 2025 Moko Consulting <hello@mokoconsulting.tech>
; This file is part of a Moko Consulting project.
; SPDX-License-Identifier: GPL-3.0-or-later
; REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
; -----------------------------------------------------------------------------
; FILE INFORMATION
; Defgroup: Joomla Language
; Ingroup: MokoWaaS-Brand
; Version: 01.04.00
; File: plg_system_mokowaasbrand.ini
; Path: /src/language/en-GB/plg_system_mokowaasbrand.ini
; Brief: English language strings for MokoWaaS-Brand system plugin
; Notes: Contains translatable strings for plugin functionality
; Variables: (none)
; -----------------------------------------------------------------------------
PLG_SYSTEM_MOKOWAASBRAND="System - MokoWaaS Brand"
PLG_SYSTEM_MOKOWAASBRAND_XML_DESCRIPTION="This plugin rebrands the Joomla system interface with MokoWaaS identity. It applies language overrides and ensures consistent branding across the platform."
PLG_SYSTEM_MOKOWAASBRAND_ENABLE_BRANDING_LABEL="Enable Branding"
PLG_SYSTEM_MOKOWAASBRAND_ENABLE_BRANDING_DESC="Enable or disable the MokoWaaS branding across the system."
@@ -0,0 +1,19 @@
; -----------------------------------------------------------------------------
; Copyright (C) 2025 Moko Consulting <hello@mokoconsulting.tech>
; This file is part of a Moko Consulting project.
; SPDX-License-Identifier: GPL-3.0-or-later
; REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
; -----------------------------------------------------------------------------
; FILE INFORMATION
; Defgroup: Joomla Language
; Ingroup: MokoWaaS-Brand
; Version: 01.04.00
; File: plg_system_mokowaasbrand.sys.ini
; Path: /src/language/en-GB/plg_system_mokowaasbrand.sys.ini
; Brief: System language strings for MokoWaaS-Brand plugin installation
; Notes: Contains strings used during plugin installation and management
; Variables: (none)
; -----------------------------------------------------------------------------
PLG_SYSTEM_MOKOWAASBRAND="System - MokoWaaS Brand"
PLG_SYSTEM_MOKOWAASBRAND_XML_DESCRIPTION="This plugin rebrands the Joomla system interface with MokoWaaS identity. It applies language overrides and ensures consistent branding across the platform."
+19 -5
View File
@@ -2,18 +2,19 @@
; Copyright (C) 2025 Moko Consulting <hello@mokoconsulting.tech>
; This file is part of a Moko Consulting project.
; SPDX-License-Identifier: GPL-3.0-or-later
; REPO: (add when this lives in a repository)
; REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
; -----------------------------------------------------------------------------
; FILE INFORMATION
; Defgroup: Joomla Language Overrides
; Ingroup: MokoWaaS
; Version: 1.0.0
; Ingroup: MokoWaaS-Brand
; Version: 01.04.00
; File: en-GB.override.ini
; Path: language/overrides/en-GB.override.ini
; Brief: English overrides replacing all visible occurrences of Joomla! with MokoWaaS.
; Brief: English overrides replacing all visible occurrences of "Joomla!" with "MokoWaaS".
; Notes: Extend by adding more keys discovered via the Language Overrides tool.
; Variables: (none)
; -----------------------------------------------------------------------------
; ===== Footer & template branding =====
TPL_CASSIOPEIA_POWERED_BY="Powered by MokoWaaS"
MOD_FOOTER_LINE2="Powered by MokoWaaS"
@@ -40,4 +41,17 @@ MOD_LOGINSUPPORT_FORUM="Moko Consulting Support"
MOD_LOGINSUPPORT_DOCUMENTATION="MokoWaaS Documentation"
MOD_LOGINSUPPORT_NEWS="Moko Consulting News"
TPL_ATUM_BACKEND_LOGIN="MokoWaaS Administrator Login"
JERROR_LAYOUT_ERROR_HAS_OCCURRED="ERROR OCCURED"
; ===== Error messages =====
JERROR_LAYOUT_ERROR_HAS_OCCURRED="ERROR OCCURRED"
; ===== Additional branding =====
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"
; ===== Version and About =====
JLIB_HTML_POWERED_BY="Powered by MokoWaaS"
+19 -5
View File
@@ -2,18 +2,19 @@
; Copyright (C) 2025 Moko Consulting <hello@mokoconsulting.tech>
; This file is part of a Moko Consulting project.
; SPDX-License-Identifier: GPL-3.0-or-later
; REPO: (add when this lives in a repository)
; REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
; -----------------------------------------------------------------------------
; FILE INFORMATION
; Defgroup: Joomla Language Overrides
; Ingroup: MokoWaaS
; Version: 1.0.0
; Ingroup: MokoWaaS-Brand
; Version: 01.04.00
; File: en-US.override.ini
; Path: language/overrides/en-US.override.ini
; Brief: English overrides replacing all visible occurrences of Joomla! with MokoWaaS.
; Brief: English overrides replacing all visible occurrences of "Joomla!" with "MokoWaaS".
; Notes: Extend by adding more keys discovered via the Language Overrides tool.
; Variables: (none)
; -----------------------------------------------------------------------------
; ===== Footer & template branding =====
TPL_CASSIOPEIA_POWERED_BY="Powered by MokoWaaS"
MOD_FOOTER_LINE2="Powered by MokoWaaS"
@@ -40,4 +41,17 @@ MOD_LOGINSUPPORT_FORUM="Moko Consulting Support"
MOD_LOGINSUPPORT_DOCUMENTATION="MokoWaaS Documentation"
MOD_LOGINSUPPORT_NEWS="Moko Consulting News"
TPL_ATUM_BACKEND_LOGIN="MokoWaaS Administrator Login"
JERROR_LAYOUT_ERROR_HAS_OCCURRED="ERROR OCCURED"
; ===== Error messages =====
JERROR_LAYOUT_ERROR_HAS_OCCURRED="ERROR OCCURRED"
; ===== Additional branding =====
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"
; ===== Version and About =====
JLIB_HTML_POWERED_BY="Powered by MokoWaaS"
+92
View File
@@ -0,0 +1,92 @@
<?php
/**
* Copyright (C) 2025 Moko Consulting <hello@mokoconsulting.tech>
*
* This file is part of a Moko Consulting project.
*
* SPDX-LICENSE-IDENTIFIER: GPL-3.0-or-later
*
* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License (./LICENSE.md).
*
* FILE INFORMATION
* DEFGROUP: Joomla.Plugin
* INGROUP: MokoWaaS-Brand
* REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
* VERSION: 01.04.00
* PATH: /src/mokowaasbrand.php
* BRIEF: Main plugin file for MokoWaaS-Brand system plugin
* NOTE: Handles Joomla system events for rebranding functionality
*/
defined('_JEXEC') or die;
use Joomla\CMS\Plugin\CMSPlugin;
/**
* MokoWaaS Brand System Plugin
*
* This plugin rebrands the Joomla system interface with MokoWaaS identity.
* It applies language overrides and ensures consistent branding across the platform.
*
* @since 01.04.00
*/
class PlgSystemMokoWaaSBrand extends CMSPlugin
{
/**
* Load the language file on instantiation.
*
* @var boolean
* @since 01.04.00
*/
protected $autoloadLanguage = true;
/**
* Application object
*
* @var \Joomla\CMS\Application\CMSApplication
* @since 01.04.00
*/
protected $app;
/**
* Event triggered after the framework has loaded and the application initialise method has been called.
*
* This plugin relies on Joomla's native language override system. Language override files
* placed in the standard Joomla override directories will be automatically loaded by Joomla.
*
* @return void
*
* @since 01.04.00
*/
public function onAfterInitialise()
{
if (!$this->params->get('enable_branding', 1))
{
return;
}
// Language overrides are handled by Joomla's core system
// Additional branding functionality can be added here if needed
}
/**
* Event triggered after the route has been determined.
*
* @return void
*
* @since 01.04.00
*/
public function onAfterRoute()
{
if (!$this->params->get('enable_branding', 1))
{
return;
}
// Apply additional branding logic if needed
}
}
+70
View File
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2025 Moko Consulting <hello@mokoconsulting.tech>
This file is part of a Moko Consulting project.
SPDX-LICENSE-IDENTIFIER: GPL-3.0-or-later
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License (./LICENSE.md).
# FILE INFORMATION
DEFGROUP: Joomla.Plugin
INGROUP: MokoWaaS-Brand
REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
VERSION: 01.04.00
PATH: /src/mokowaasbrand.xml
BRIEF: Plugin manifest for MokoWaaS-Brand system plugin
NOTE: Defines installation metadata, files, and configuration for Joomla
-->
<extension type="plugin" group="system" method="upgrade">
<name>PLG_SYSTEM_MOKOWAASBRAND</name>
<author>Moko Consulting</author>
<creationDate>2026-02-22</creationDate>
<copyright>Copyright (C) 2025 Moko Consulting. All rights reserved.</copyright>
<license>GNU General Public License version 3 or later; see LICENSE.md</license>
<authorEmail>hello@mokoconsulting.tech</authorEmail>
<authorUrl>https://mokoconsulting.tech</authorUrl>
<version>01.04.00</version>
<description>PLG_SYSTEM_MOKOWAASBRAND_XML_DESCRIPTION</description>
<namespace path="src">Moko\Plugin\System\MokoWaaSBrand</namespace>
<files>
<filename plugin="mokowaasbrand">mokowaasbrand.php</filename>
<folder>services</folder>
<folder>language</folder>
</files>
<languages folder="language">
<language tag="en-GB">en-GB/plg_system_mokowaasbrand.ini</language>
<language tag="en-GB">en-GB/plg_system_mokowaasbrand.sys.ini</language>
</languages>
<administration>
<files folder="administrator">
<folder>language</folder>
</files>
</administration>
<config>
<fields name="params">
<fieldset name="basic">
<field
name="enable_branding"
type="radio"
label="PLG_SYSTEM_MOKOWAASBRAND_ENABLE_BRANDING_LABEL"
description="PLG_SYSTEM_MOKOWAASBRAND_ENABLE_BRANDING_DESC"
default="1"
class="btn-group btn-group-yesno"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
</fieldset>
</fields>
</config>
</extension>
+8
View File
@@ -0,0 +1,8 @@
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
+59
View File
@@ -0,0 +1,59 @@
<?php
/**
* Copyright (C) 2025 Moko Consulting <hello@mokoconsulting.tech>
*
* This file is part of a Moko Consulting project.
*
* SPDX-LICENSE-IDENTIFIER: GPL-3.0-or-later
*
* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License (./LICENSE.md).
*
* FILE INFORMATION
* DEFGROUP: Joomla.Plugin
* INGROUP: MokoWaaS-Brand
* REPO: https://github.com/mokoconsulting-tech/mokowaasbrand
* VERSION: 01.04.00
* PATH: /src/services/provider.php
* BRIEF: Service provider for dependency injection in Joomla 5.x
* NOTE: Registers the plugin with Joomla's DI container
*/
defined('_JEXEC') or die;
use Joomla\CMS\Extension\PluginInterface;
use Joomla\CMS\Factory;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use Joomla\Event\DispatcherInterface;
return new class () implements ServiceProviderInterface {
/**
* Registers the service provider with a DI container.
*
* @param Container $container The DI container.
*
* @return void
*
* @since 01.04.00
*/
public function register(Container $container)
{
$container->set(
PluginInterface::class,
function (Container $container) {
$plugin = new PlgSystemMokoWaaSBrand(
$container->get(DispatcherInterface::class),
(array) PluginHelper::getPlugin('system', 'mokowaasbrand')
);
$plugin->setApplication(Factory::getApplication());
return $plugin;
}
);
}
};