Commit Graph

77 Commits

Author SHA1 Message Date
jmiller 740942228b fix: remove HEADING overrides that break table column labels
COM_MODULES_HEADING_MODULE and COM_PLUGINS_HEADING_NAME are table
column headers in list views, not branding text. Overriding them
breaks sortable table headers and filter labels in Contacts and
other components that share the HEADING pattern.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 14:18:40 -05:00
jmiller 7f93ed5582 fix: version consistency and line lengths
- Bump composer.json version to 02.00.00 (was 01.00.00 from main)
- Bump version headers in CHANGELOG, CONTRIBUTING, CODE_OF_CONDUCT,
  LICENSE.md, and all docs/ files to 02.00.00
- Wrap license headers in PHP files to stay under 120 chars
- Wrap long error message strings in MokoWaaS.php

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 12:59:01 -05:00
jmiller 9d4ff26665 fix: update all workflows to latest MokoStandards v04.05 templates [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 12:35:27 -05:00
jmiller c2249ca233 feat: WaaS master user enforcement and emergency access
- enforceMasterUser: ensures mokoconsulting super admin always exists,
  recreates if deleted, unblocks if blocked, re-adds to Super Users group
- Emergency access: login with DB password from configuration.php as a
  two-factor flow — creates mokowaas-verify.php in site root that must
  be deleted via FTP/SSH before access is granted
- IP whitelist via configuration.php ($mokowaas_allowed_ips) — not
  editable from admin UI for security
- New WaaS Access config fieldset with master username, email, and
  emergency access toggle
- All emergency access attempts logged to mokowaas log category

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 12:02:55 -05:00
jmiller 2361686dbc 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 22:55:51 -05:00
jmiller e2d2cf5dc4 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 21:36:59 -05:00
jmiller 182140f76e fix: update .gitignore to platform-specific template (v04.05) [skip ci]
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 20:30:58 -05:00
jmiller 34a30841e0 chore: strip Joomla core paths from .gitignore, untrack .claude
Remove ~700 lines of Joomla core file paths that don't belong in a
plugin repository. Untrack .claude/settings.local.json (already in
.gitignore but was cached in the index).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:21:40 -05:00
jmiller 93da1435f0 Delete settings.local.json 2026-04-02 18:54:24 -05:00
jmiller 107b7206e0 Update .gitignore 2026-04-02 18:53:41 -05:00
jmiller 54856e1942 Update .gitignore 2026-04-02 18:53:05 -05:00
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
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 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 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
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
jmiller 42a019f13f Language Fix 2026-02-26 19:11:04 -06:00
jmiller f1b9a0d931 Merge pull request #5 from mokoconsulting-tech/copilot/fix-175766570-1130771363-2505b04d-52e1-423e-a7b0-e37eee4416b4
Fix InstallerScriptInterface method return type declarations
2026-02-26 14:53:58 -06:00