upskill-event-manager/.gitignore
ben 21c908af81 feat(find-training): New Google Maps page replacing buggy MapGeo implementation
Implements /find-training page with Google Maps JavaScript API:
- Interactive map showing trainers (teal) and venues (orange) markers
- MarkerClusterer for dense areas
- Filter by State, Certification, Training Format
- Search by name/location
- "Near Me" geolocation with proximity filtering
- Trainer profile modal with contact form
- Venue info modal with upcoming events
- 301 redirect from /find-a-trainer to /find-training
- Auto-geocoding for new TEC venues via Google API

Multi-model code review fixes (GPT-5, Gemini 3, Zen MCP):
- Added missing contact form AJAX handler with rate limiting
- Fixed XSS risk in InfoWindow (DOM creation vs inline onclick)
- Added caching for filter dropdown queries (1-hour TTL)
- Added AJAX abort handling to prevent race conditions
- Replaced alert() with inline error notifications

New files:
- includes/find-training/class-hvac-find-training-page.php
- includes/find-training/class-hvac-training-map-data.php
- includes/find-training/class-hvac-venue-geocoding.php
- templates/page-find-training.php
- assets/js/find-training-map.js
- assets/js/find-training-filters.js
- assets/css/find-training-map.css
- assets/images/marker-trainer.svg
- assets/images/marker-venue.svg

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 23:20:34 -04:00

258 lines
No EOL
4.8 KiB
Text

# Ignore everything by default
# *
!.gitignore
!.gitattributes
# Development Environment - whitelist approach
!/wordpress-dev/
/wordpress-dev/*
# Scripts directory
!/scripts/
/scripts/*
!/scripts/*.sh
# Bin directory - Data seeding and testing scripts
!/bin/
/bin/*
!/bin/create-comprehensive-test-data.sh
!/bin/create-staging-test-data.sh
!/bin/create-complete-test-data.sh
!/bin/create-test-attendees.sh
!/bin/create-test-attendees-simple.sh
!/bin/enhance-test-data-revenue.sh
!/bin/fix-and-create-test-data.sh
!/bin/debug-attendee-data.sh
# Plugin files
!hvac-community-events.php
!/includes/
/includes/*
!/includes/admin/
!/includes/zoho/
!/includes/find-training/
!/includes/**/*.php
!/templates/
/templates/*
!/templates/**/*.php
!/assets/
/assets/*
!/assets/css/
/assets/css/*
!/assets/css/*.css
!/assets/js/
/assets/js/*
!/assets/js/*.js
!/assets/images/
/assets/images/*
!/assets/images/*.png
!/assets/images/*.jpg
!/assets/images/*.jpeg
!/assets/images/*.gif
!/assets/images/*.svg
!/assets/images/*.ico
!/wordpress-dev/tests/
/wordpress-dev/tests/*
!/wordpress-dev/tests/e2e/
/wordpress-dev/tests/e2e/*
!/wordpress-dev/tests/e2e/*.spec.ts
!/wordpress-dev/tests/e2e/*.test.ts
!/wordpress-dev/tests/e2e/pages/
!/wordpress-dev/tests/e2e/pages/*.ts
!/wordpress-dev/tests/e2e/utils/
!/wordpress-dev/tests/e2e/utils/*.ts
!/wordpress-dev/tests/e2e/data/
!/wordpress-dev/tests/e2e/data/*.ts
!/wordpress-dev/tests/e2e/global-setup.ts
!/wordpress-dev/tests/e2e/global-teardown.ts
!/wordpress-dev/includes/
!/wordpress-dev/bin/
/wordpress-dev/bin/*
!/wordpress-dev/bin/*.sh
!/wordpress-dev/bin/*.php
!/wordpress-dev/bin/*.json
!/wordpress-dev/bin/wp-tests-config-staging.php
/wordpress-dev/bin/backups/ # Explicitly ignore all backup directories
!/wordpress-dev/composer.json
!/wordpress-dev/composer.lock
!/wordpress-dev/package.json
!/wordpress-dev/package-lock.json
!/wordpress-dev/phpunit.xml.dist
!/wordpress-dev/playwright.config.ts
!/wordpress-dev/tsconfig.json
!/wordpress-dev/README.md
!/wordpress-dev/MIGRATION_GUIDE.md
!/wordpress-dev/ZOHO-INTEGRATION-SUMMARY.md
!/wordpress-dev/ZOHO-STAGING-TEST-RESULTS.md
!/wordpress-dev/ZOHO-OAUTH-SETUP.md
!/wordpress-dev/WORDPRESS-ADMIN-ACCESS.md
# HVAC Community Events Plugin
!/wordpress-dev/wordpress/
/wordpress-dev/wordpress/*
!/wordpress-dev/wordpress/wp-content/
/wordpress-dev/wordpress/wp-content/*
!/wordpress-dev/wordpress/wp-content/plugins/
/wordpress-dev/wordpress/wp-content/plugins/*
!/wordpress-dev/wordpress/wp-content/plugins/hvac-community-events/
!/wordpress-dev/wordpress/wp-content/plugins/hvac-community-events/**
# Test files
# **/test-results/
# **/playwright-report/
# **/.phpunit.result.cache
# **/node_modules/
# **/vendor/
# **/screenshots/
# **/videos/
# **/traces/
# Documentation
!/docs/
/docs/*
!/docs/*.md
!/docs/00_*.md
/docs/scraped/
/docs/archive/
# Root-level documentation and reports
!*_TEST_REPORT.md
!*_SUMMARY.md
!*_GUIDE.md
!*_RESULTS.md
!*_INSTRUCTIONS.md
!*_AUDIT*.md
!*DEPLOYMENT*.md
!*COVERAGE*.md
!*CRITICAL*.md
!*FINAL*.md
!*SECURITY*.md
!*MONITORING*.md
!*MOBILE*.md
!*CROSS-BROWSER*.md
!*CSS-ANALYSIS*.md
!*ROADMAP*.md
!WORKFLOW*.md
!TRANSITION*.md
!POWERMAPPER*.md
# Development and Debug Files
!test-*.js
!verify-*.js
!debug-*.js
!mobile-*.js
!comprehensive-*.js
!fix-*.js
!enhanced-*.js
!*-analysis.js
!debug-*.php
!test-*.php
!enhanced-*.php
!manual-*.php
!*-analysis.php
!check-*.sh
!verify-*.sh
!fix-*.sh
!update-*.sh
!migrate-*.sh
!create-*.sh
!manual-*.sh
!debug-*.sh
!*-analysis.sh
# Tests directory
!/tests/
/tests/*
!/tests/**/*.js
!/tests/**/*.php
!/tests/**/*.yml
!/tests/**/*.md
!/tests/**/*.json
!/tests/**/*.config.*
# Data Files
!*.csv
!CSV_*.csv
# WordPress
!/wp-content/
/wp-content/*
!/wp-content/plugins/
# Security - Sensitive Files (CRITICAL SECURITY)
# .env
.env.*
# *.env
# **/.env
# **/.env.*
.auth/
# **/.auth/
**/zoho-config.php
# **/wp-config.php
# **/wp-tests-config*.php
memory-bank/mcpServers.md
# **/*config*.php
# **/*secret*
# **/*password*
# **/*credential*
# **/*.key
# **/*.pem
# **/*.p12
# **/*.pfx
# Security Framework - Sensitive Runtime Data
security-audit.log
auth-state-*.json
session-*.json
test-results/
test-screenshots/
# *.har
coverage/
# Allow security framework files but not sensitive data
!lib/
!lib/security/
!lib/security/*.js
!.env.template
!SECURITY-MIGRATION-GUIDE.md
!test-secure-example.js
# Claude Code Files (temporary)
!.claude/
!.claude/settings.local.json
!.claude/agents/
!.claude/agents/*.md
!CLAUDE.md
.mcp.json # MCP configuration contains JWT tokens
# Forgejo Actions CI/CD
!.forgejo/
!.forgejo/workflows/
!.forgejo/workflows/*.yml
# Temporary test files (exclude from commits)
test-actual-*.js
test-missing-*.js
direct-*.php
# *-temp.js
# *-temp.php
# Common ignores
.DS_Store
Thumbs.db
# *.log
# *.zip
# *.tar
# *.tar.gz
node_modules/
vendor/
.idea/
.vscode/
# *.swp
# *.swo
# GEMINI Config
!GEMINI.md
!.agent/
!.agent/workflows/
!.agent/workflows/*.md