Commit Graph

2307 Commits

Author SHA1 Message Date
jmiller d45e6b59ec Update .gitignore 2026-04-02 18:52:42 -05:00
jmiller ee369785ad Update .gitignore 2026-04-02 18:52:00 -05:00
jmiller 5af1873ad8 feat: enforce login support URLs while plugin is active
On every admin request, check mod_loginsupport module params and
correct any URLs that have drifted from the expected values. Only
writes to DB when a mismatch is found.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:49:12 -05:00
jmiller ddf50a82fd fix: remove nested <a> tags from login support overrides
mod_loginsupport wraps the language string in its own anchor tag, so
embedding <a> in the override value created broken nested links. Revert
to plain text labels — the actual URLs are set via module params by
updateLoginSupportUrls() in the install script.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:47:21 -05:00
jmiller 2a4bfac06c fix: standards compliance and Joomla 6 compatibility
- Restore LICENSE, SECURITY.md, composer.json from main (required by
  standards-compliance workflow)
- Add Usage section to README (was failing CI check)
- Update README badges, features, and config docs for v02.00.00
- Update updates.xml targetplatform regex to match Joomla 5.x and 6.x
- Update system requirements to note PHP 8.3+ for Joomla 6

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:41:31 -05:00
jmiller 802852119a feat: redirect all Joomla support links to mokoconsulting.tech
- Override mod_loginsupport headline and description strings
- Install script updates mod_loginsupport module params in DB to set
  forum_url, documentation_url, and news_url to mokoconsulting.tech
- Ensures both link text (language overrides) and link destinations
  (module params) point to Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:22:06 -05:00
github-actions[bot] 04abc8c251 chore(version): auto-bump patch 01.04.03 → 01.04.04 [skip ci] 2026-04-02 21:21:26 +00:00
jmiller 28c8b1678b chore: Sync MokoStandards v04.04 (#43)
* chore: update LICENSE from MokoStandards

* chore: add SECURITY.md from MokoStandards

* chore: update CODE_OF_CONDUCT.md from MokoStandards

* chore: update CONTRIBUTING.md from MokoStandards

* chore: update update.xml from MokoStandards

* chore: update phpstan.neon from MokoStandards

* chore: update Makefile from MokoStandards

* chore: update .gitignore from MokoStandards

* chore: update composer.json from MokoStandards

* chore: add .mokostandards from MokoStandards

* chore: add docs/update-server.md from MokoStandards

* chore: update .github/copilot.yml from MokoStandards

* chore: update .github/copilot-instructions.md from MokoStandards

* chore: update .github/CLAUDE.md from MokoStandards

* chore: update .github/workflows/codeql-analysis.yml from MokoStandards

* chore: update .github/workflows/standards-compliance.yml from MokoStandards

* chore: update .github/workflows/enterprise-firewall-setup.yml from MokoStandards

* chore: update .github/workflows/deploy-dev.yml from MokoStandards

* chore: update .github/workflows/deploy-demo.yml from MokoStandards

* chore: update .github/workflows/deploy-rs.yml from MokoStandards

* chore: update .github/workflows/sync-version-on-merge.yml from MokoStandards

* chore: update .github/workflows/auto-release.yml from MokoStandards

* chore: update .github/workflows/repository-cleanup.yml from MokoStandards

* chore: update .github/workflows/auto-dev-issue.yml from MokoStandards

* chore: update .github/workflows/repo_health.yml from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/config.yml from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/adr.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/bug_report.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/documentation.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/enterprise_support.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/feature_request.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/firewall-request.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/question.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/request-license.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/rfc.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/security.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/joomla_issue.md from MokoStandards

* chore: update .github/CODEOWNERS from MokoStandards

* chore: migrate .mokostandards to .github/
2026-04-02 16:21:11 -05:00
jmiller bb0dffd2c2 feat: add login support URLs for forum, docs, and news
Set admin login support links to mokoconsulting.tech:
- Forum → /support
- Documentation → /kb
- News → /news

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:15:01 -05:00
jmiller f903e6af4e feat: add hyperlink to Powered by brand attribution
Wrap {{BRAND_NAME}} in an anchor tag linking to {{SUPPORT_URL}} in all
Powered by override strings (Atum, Cassiopeia, footer module, and
generic JLIB_HTML_POWERED_BY).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:12:44 -05:00
jmiller 81b822004a fix: update all workflows to latest MokoStandards v04.04 templates [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 10:13:23 -05:00
jmiller e4f3467b47 fix: update all workflows to latest MokoStandards v04.04 templates [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 10:13:19 -05:00
jmiller f1d06bba99 docs: testing guide, expanded overrides, updated config docs
- Added testing guide with 10 test suites covering install, uninstall,
  config changes, override preservation, and key coverage
- Expanded admin overrides with 9 more Joomla Update component keys
- Added frontend offline page and error page override keys
- Updated configuration guide to v02.00.00 documenting brand_name,
  company_name, support_url params and two-layer override system

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:54:46 -05:00
jmiller 9542dd7f39 Language alignment 2026-03-31 13:45:30 -05:00
jmiller 83248d03b8 Update .gitignore 2026-03-31 13:45:05 -05:00
jmiller c72a9331fc Update .gitignore 2026-03-31 13:44:56 -05:00
jmiller 361e14dc33 Update .gitignore 2026-03-31 13:44:23 -05:00
jmiller 790ebdcf6e fix: delete retired workflows and fix duplicate env: [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 12:25:58 -05:00
jmiller 2f3d47d60f fix: delete retired workflows and fix duplicate env: [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 11:17:31 -05:00
github-actions[bot] 6258589774 chore(version): auto-bump patch 01.04.02 → 01.04.03 [skip ci] 2026-03-27 01:06:13 +00:00
jmiller 6c8a18ba2a chore: Sync MokoStandards 04.01.00 (#22)
* chore: update LICENSE from MokoStandards

* chore: update update.xml from MokoStandards

* chore: update phpstan.neon from MokoStandards

* chore: update Makefile from MokoStandards

* chore: update .gitignore from MokoStandards

* chore: update composer.json from MokoStandards

* chore: update .moko-standards from MokoStandards

* chore: update .github/copilot.yml from MokoStandards

* chore: update .github/copilot-instructions.md from MokoStandards

* chore: update .github/CLAUDE.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/config.yml from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/adr.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/bug_report.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/documentation.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/enterprise_support.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/feature_request.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/firewall-request.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/question.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/request-license.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/rfc.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/security.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/joomla_issue.md from MokoStandards

* chore: update .github/workflows/deploy-dev.yml from MokoStandards

* chore: update .github/workflows/deploy-demo.yml from MokoStandards

* chore: update .github/workflows/deploy-rs.yml from MokoStandards

* chore: update .github/workflows/enterprise-firewall-setup.yml from MokoStandards

* chore: update .github/workflows/sync-version-on-merge.yml from MokoStandards

* chore: update .github/workflows/auto-release.yml from MokoStandards

* chore: add .github/workflows/repository-cleanup.yml from MokoStandards

* chore: update .github/workflows/standards-compliance.yml from MokoStandards

* chore: update .github/workflows/codeql-analysis.yml from MokoStandards

* chore: update .github/workflows/repo_health.yml from MokoStandards
2026-03-26 20:05:54 -05:00
github-actions[bot] 6a606d7f2a chore: remove repository-cleanup.yml after successful run [skip ci] 2026-03-26 23:58:16 +00:00
github-actions[bot] ed11e065d3 chore(release): set version to 01.04.02 [skip ci] 2026-03-26 23:18:47 +00:00
jmiller fec5fa1e71 chore: Sync MokoStandards 04.01.00 (#21)
* chore: update LICENSE from MokoStandards

* chore: update update.xml from MokoStandards

* chore: update phpstan.neon from MokoStandards

* chore: update Makefile from MokoStandards

* chore: update .gitignore from MokoStandards

* chore: update composer.json from MokoStandards

* chore: update .moko-standards from MokoStandards

* chore: update .github/copilot.yml from MokoStandards

* chore: update .github/copilot-instructions.md from MokoStandards

* chore: update .github/CLAUDE.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/config.yml from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/adr.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/bug_report.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/documentation.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/enterprise_support.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/feature_request.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/firewall-request.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/question.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/request-license.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/rfc.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/security.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/joomla_issue.md from MokoStandards

* chore: update .github/workflows/deploy-dev.yml from MokoStandards

* chore: add .github/workflows/deploy-demo.yml from MokoStandards

* chore: add .github/workflows/deploy-rs.yml from MokoStandards

* chore: update .github/workflows/enterprise-firewall-setup.yml from MokoStandards

* chore: update .github/workflows/sync-version-on-merge.yml from MokoStandards

* chore: add .github/workflows/auto-release.yml from MokoStandards

* chore: add .github/workflows/repository-cleanup.yml from MokoStandards

* chore: update .github/workflows/standards-compliance.yml from MokoStandards

* chore: update .github/workflows/codeql-analysis.yml from MokoStandards

* chore: add .github/workflows/repo_health.yml from MokoStandards
2026-03-26 18:17:28 -05:00
jmiller b1197f23d8 feat: template-based language overrides with configurable brand name
Replace hardcoded "MokoWaaS" in override files with {{BRAND_NAME}},
{{COMPANY_NAME}}, and {{SUPPORT_URL}} placeholders. Brand values come
from plugin config params (defaults: MokoWaaS / Moko Consulting).

- Runtime: plugin resolves placeholders on every request from live params
- Install-time: script resolves and writes to Joomla override files
- Added ~20 new admin override keys (Quick Icons, System Info, Installer,
  Global Config, Privacy, Update component)
- Added brand_name, company_name, support_url config fields to manifest

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 14:10:27 -05:00
jmiller 2c1a7361d7 fix: merge language overrides instead of replacing existing files
Rework the install script to use a sentinel-block pattern (BEGIN/END
MokoWaaS Overrides) so existing site overrides are preserved verbatim.
On install the block is appended; on update it is stripped and rebuilt;
on uninstall only MokoWaaS keys are removed.

Also hardcode the plugin display name in the manifest and fix
creationDate XML formatting.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 13:53:24 -05:00
jmiller 24a8bb3635 Version Bump > 02.00.00 2026-03-26 13:38:19 -05:00
jmiller 65db518241 Update mokowaas.xml 2026-03-26 13:36:43 -05:00
jmiller 6dc3b30fa9 Update .gitignore 2026-03-26 13:36:01 -05:00
jmiller 26c6baa21a Update mokowaas.xml 2026-03-26 13:35:46 -05:00
jmiller 762be46445 Update .gitignore 2026-03-26 13:28:34 -05:00
jmiller 56f26ca8cf refactor: rename plugin from MokoWaaSBrand to MokoWaaS
Drop the "Brand" suffix from all naming conventions:
- PascalCase: MokoWaaSBrand → MokoWaaS
- lowercase: mokowaasbrand → mokowaas
- Display: MokoWaaS-Brand → MokoWaaS
- Language keys: PLG_SYSTEM_MOKOWAASBRAND → PLG_SYSTEM_MOKOWAAS

Renames 6 files and updates 28 files across PHP, XML, INI,
Markdown, YAML, and shell scripts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 13:19:16 -05:00
github-actions[bot] f5f112d5b6 chore(version): auto-bump patch 01.04.01 → 01.04.02 [skip ci] 2026-03-26 18:14:52 +00:00
jmiller 3879b9f57a Delete CLAUDE.md
Signed-off-by: Jonathan Miller <230051081+jmiller-moko@users.noreply.github.com>
2026-03-26 13:14:32 -05:00
github-actions[bot] c06ff28c11 chore(version): auto-bump patch 01.04.00 → 01.04.01 [skip ci] 2026-03-24 21:01:07 +00:00
jmiller b0b89a48a8 chore: Sync MokoStandards 04.00.27 (#13)
* chore: update LICENSE from MokoStandards

* chore: update update.xml from MokoStandards

* chore: update phpstan.neon from MokoStandards

* chore: update Makefile from MokoStandards

* chore: update .gitignore from MokoStandards

* chore: update composer.json from MokoStandards

* chore: update .moko-standards from MokoStandards

* chore: update .github/copilot.yml from MokoStandards

* chore: update .github/copilot-instructions.md from MokoStandards

* chore: update .github/CLAUDE.md from MokoStandards

* chore: update .github/workflows/codeql-analysis.yml from MokoStandards

* chore: update .github/workflows/standards-compliance.yml from MokoStandards

* chore: update .github/workflows/enterprise-firewall-setup.yml from MokoStandards

* chore: update .github/workflows/deploy-dev.yml from MokoStandards

* chore: add .github/workflows/sync-version-on-merge.yml from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/config.yml from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/adr.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/bug_report.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/documentation.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/enterprise_support.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/feature_request.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/firewall-request.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/question.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/request-license.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/rfc.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/security.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/joomla_issue.md from MokoStandards
2026-03-24 16:00:48 -05:00
jmiller a9086d4eb9 chore: Sync MokoStandards workflows and configurations (#10)
* chore: add LICENSE from MokoStandards

* chore: add update.xml from MokoStandards

* chore: update phpstan.neon from MokoStandards

* chore: add Makefile from MokoStandards

* chore: update .gitignore from MokoStandards

* chore: add composer.json from MokoStandards

* chore: add .moko-standards from MokoStandards

* chore: add GOVERNANCE.md from MokoStandards

* chore: add .github/copilot.yml from MokoStandards

* chore: update .github/copilot-instructions.md from MokoStandards

* chore: add .github/CLAUDE.md from MokoStandards

* chore: add .github/workflows/codeql-analysis.yml from MokoStandards

* chore: add .github/workflows/standards-compliance.yml from MokoStandards

* chore: add .github/workflows/enterprise-firewall-setup.yml from MokoStandards

* chore: add .github/workflows/deploy-dev.yml from MokoStandards

* chore: add .github/ISSUE_TEMPLATE/config.yml from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/adr.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/bug_report.md from MokoStandards

* chore: add .github/ISSUE_TEMPLATE/documentation.md from MokoStandards

* chore: add .github/ISSUE_TEMPLATE/enterprise_support.md from MokoStandards

* chore: update .github/ISSUE_TEMPLATE/feature_request.md from MokoStandards

* chore: add .github/ISSUE_TEMPLATE/firewall-request.md from MokoStandards

* chore: add .github/ISSUE_TEMPLATE/question.md from MokoStandards

* chore: add .github/ISSUE_TEMPLATE/request-license.md from MokoStandards

* chore: add .github/ISSUE_TEMPLATE/rfc.md from MokoStandards

* chore: add .github/ISSUE_TEMPLATE/security.md from MokoStandards

* chore: add .github/ISSUE_TEMPLATE/joomla_issue.md from MokoStandards
2026-03-24 11:21:35 -05:00
jmiller 1dbe92cf03 Merge pull request #9 from mokoconsulting-tech/copilot/flatten-code-structure
chore: flatten plugin source from src/plugins/system/mokowaasbrand/ to src/
2026-03-04 00:04:47 -06:00
copilot-swe-agent[bot] 097b6350b3 chore: flatten plugin source from src/plugins/system/mokowaasbrand/ down to src/
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-04 05:55:04 +00:00
copilot-swe-agent[bot] 10cdc32172 Initial plan 2026-03-04 05:50:40 +00:00
jmiller 9f9b525101 Merge pull request #8 from mokoconsulting-tech/copilot/add-claude-md-file
docs: add CLAUDE.md for Claude Code session context
2026-03-03 23:12:36 -06:00
copilot-swe-agent[bot] 35b8124730 docs: add CLAUDE.md for Claude Code context
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-04 04:45:02 +00:00
copilot-swe-agent[bot] 03fde1c391 Initial plan 2026-03-04 04:38:40 +00:00
jmiller f2dc0aaac9 Merge pull request #7 from mokoconsulting-tech/copilot/configure-instructions-repo
Add .github/copilot-instructions.md for Copilot coding agent
2026-03-03 19:41:13 -06:00
copilot-swe-agent[bot] 6f7f1d33ac Add .github/copilot-instructions.md for Copilot coding agent
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-03-04 01:23:55 +00:00
copilot-swe-agent[bot] 4e4ee6ebdd Initial plan 2026-03-04 01:21:32 +00:00
jmiller dd9c071d7b Merge pull request #6 from mokoconsulting-tech/copilot/create-cml-for-joomla-update
Add MokoStandards configuration defaults for Joomla projects
2026-02-27 00:46:33 -06:00
copilot-swe-agent[bot] 4a1aa5a17a Add PHP code quality tools from MokoStandards (phpcs, phpstan, psalm)
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-02-27 05:56:22 +00:00
copilot-swe-agent[bot] 4c81ffce43 Add Joomla defaults from MokoStandards (linter configs, .mailmap, .checkpoints)
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-02-27 05:54:41 +00:00
copilot-swe-agent[bot] 0c7b88aec1 feat: add Joomla update server with automatic updates.xml management
- Create updates.xml in repository root with Joomla update server format
- Add update-xml job to release_from_version.yml workflow
- Configure automatic updates.xml updates after each stable release
- Add updateservers configuration to plugin manifest
- Update README with automatic updates documentation

Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com>
2026-02-27 01:39:44 +00:00