Security:
- Fix stored XSS in Leaflet popup — HTML-escape loc.title/address/phone
- Use HTMLHelper::_('content.prepare') for description output
Joomla 5/6 compatibility:
- Bump PHP minimum to 8.2, Joomla minimum to 5.0.0
- script.php implements InstallerScriptInterface with typed signatures
- Restore updateservers and dlid in package manifest
- Update all manifest creationDates to 2026-06-23
Code quality:
- Replace hard-coded English errors with Text::_() language strings
- Add COM_MOKOJOOMSTORELOCATOR_ERROR_* language keys
- Use Text::_() for Locations list toolbar title
- Import missing Text class in LocationTable and Locations HtmlView
Documentation:
- Update CLAUDE.md: MokoSuite naming, source/ paths, PHP 8.2, namespace
- Update README: Joomla 5/6, PHP 8.2+, MySQL 8.0+
Authored-by: Moko Consulting
2.5 KiB
CLAUDE.md
This file provides guidance to Claude Code when working with this repository.
Project Overview
MokoSuiteStoreLocator -- A Joomla 5/6 package providing a store locator listing component with coordinating map and search modules.
| Field | Value |
|---|---|
| Platform | joomla |
| Extension type | package (component + modules) |
| Element | pkg_mokosuitestorelocator |
| Language | PHP |
| Default branch | main |
| License | GPL-3.0-or-later |
| Wiki | MokoSuiteStoreLocator Wiki |
| Standards | MokoStandards |
Package Contents
| Extension | Type | Element |
|---|---|---|
| Store Locator Component | component | com_mokosuitestorelocator |
| Store Locator Map | module (site) | mod_mokosuitestorelocator_map |
| Store Locator Search | module (site) | mod_mokosuitestorelocator_search |
Common Commands
composer install # Install PHP dev dependencies
Architecture
This is a Joomla package. Key layout:
source/pkg_mokosuitestorelocator.xml-- package manifestsource/script.php-- package install/upgrade/uninstall scriptsource/packages/com_mokosuitestorelocator/-- main componentadmin/-- admin MVC (controllers, models, views, forms, tables, SQL)site/-- frontend MVC (controllers, models, views, templates)mokosuitestorelocator.xml-- component manifest
source/packages/mod_mokosuitestorelocator_map/-- map display modulesource/packages/mod_mokosuitestorelocator_search/-- search/filter module
Database Table
#__mokosuitestorelocator_locations -- stores location data including coordinates, address, contact info, and business hours.
Rules
-
Workflow directory:
.mokogitea/(not.gitea/or.github/) -
Never commit
.claude/,.mcp.json,TODO.md, or*.min.css/*.min.js -
Attribution: use
Authored-by: Moko Consultingin commits -
Branch strategy: develop on
dev/, merge tomainfor release -
Wiki: documentation lives in the Gitea wiki, not in
docs/files -
Standards: this repo follows MokoStandards
-
PHP minimum: 8.2
-
Joomla minimum: 5.0
-
Joomla table operations: always use bind() -> check() -> store(), never save()
-
Namespace:
Moko\Component\MokoSuiteStoreLocatorfor the component