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
copilot-swe-agent[bot]
77d4f5dcd4
Changes before error encountered
...
Co-authored-by: jmiller-moko <230051081+jmiller-moko@users.noreply.github.com >
2026-02-27 01:28:44 +00:00
copilot-swe-agent[bot]
ee18c725bf
Initial plan
2026-02-27 01:26:40 +00:00