- Política de privacidade reescrita: tabela de dados/finalidades/fundamento (inclui os pedidos de aula, inscrição e eventos com IP), prazos concretos, subcontratantes, Google Maps e reviews, cookies. Termos e condições novos (/home/termos), no rodapé e no sitemap. Campos [ENTRE PARÊNTESES RETOS] e revisão por jurista pendentes antes de publicar no domínio real. - Google Maps só carrega ao carregar em «Mostrar mapa» (map_click_to_load); as fotos dos autores das reviews são guardadas pelo servidor em uploads/reviews/ e servidas localmente (review_avatar_url). - Retenção que a política declara, aplicada pelo cron (04:00): leads com mais de 12 meses → lixeira; blocked_submissions e outbox de segurança apagados aos 90 dias (trash_retention_sweep, auditado). - Backoffice e login com tema claro/escuro/automático: data-bs-theme aplicado no <head> antes do CSS (sem flash), escolha em localStorage, segue o sistema em tempo real, color-scheme e theme-color para os dois. Cores próprias passaram a variáveis do Bootstrap. lang="pt-PT". Testado numa cópia da BD de produção: 72/72 verificações. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
72 lines
2.7 KiB
Plaintext
72 lines
2.7 KiB
Plaintext
# ─── Secrets ────────────────────────────────────────────────────────────────
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
|
|
# ─── Runtime caches ─────────────────────────────────────────────────────────
|
|
config/cache/*.php
|
|
!config/cache/.htaccess
|
|
!config/cache/.gitkeep
|
|
|
|
# ─── User uploads (per-install content, not source) ─────────────────────────
|
|
uploads/events/*
|
|
!uploads/events/.gitkeep
|
|
|
|
# Lixeira das imagens de galeria (config/functions_trash.php): ficheiros
|
|
# apagados à espera dos 30 dias. Nunca vão para o git.
|
|
uploads/**/.trash/
|
|
|
|
# Fotos dos autores das reviews do Google, guardadas pelo servidor
|
|
# (config/functions_privacy.php) para o browser não as pedir à Google.
|
|
uploads/reviews/
|
|
|
|
# Nota: as fotos da equipa, galerias e ícones em uploads/ ainda estão
|
|
# versionados (vieram assim do site antigo). Em produção uploads/ é um volume
|
|
# (/srv/data/fitme.andmore.pt/uploads) e é esse a fonte; o que está no git é
|
|
# só a semente inicial.
|
|
|
|
assets/img/logo/*
|
|
!assets/img/logo/.gitkeep
|
|
|
|
assets/img/seo/*
|
|
!assets/img/seo/.gitkeep
|
|
|
|
# ─── Generated backups ──────────────────────────────────────────────────────
|
|
backups/*
|
|
!backups/.gitkeep
|
|
|
|
# Dumps e exportações da base de dados. As migrações são a exceção: são código.
|
|
*.sql
|
|
*.sql.gz
|
|
*.dump
|
|
!database/migration_*.sql
|
|
# Esquema base (só estrutura, sem dados) — o antigo andmore_fitme3070_dev.sql.
|
|
!database/schema.sql
|
|
|
|
# ─── Logs / editors / OS junk ───────────────────────────────────────────────
|
|
*.log
|
|
logs/*.jsonl
|
|
!logs/.htaccess
|
|
!logs/.gitkeep
|
|
.vscode/
|
|
.idea/
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# ─── Claude Code linked worktrees (do not commit nested checkout content) ──
|
|
.claude/worktrees/
|
|
|
|
.claude/
|
|
|
|
# ─── Dependências ───────────────────────────────────────────────────────────
|
|
# vendor/ ESTÁ versionado de propósito: não há Composer nesta app e o
|
|
# PHPMailer foi copiado à mão (vendor/PHPMailer). Quando houver composer.json,
|
|
# acrescentar aqui "vendor/" e retirá-lo do índice.
|
|
node_modules/
|
|
|
|
# ─── Lixo de editores / temporários ─────────────────────────────────────────
|
|
*.bak
|
|
*.swp
|
|
*.tmp
|
|
tmp/
|