#Changelog
## Versão: atual(V 1.0) 03/10/2025
Landpage é uma plataforma web que promove o app mobile e oferece páginas institucionais, formulário de contato com envio por SMTP (PHPMailer), captura de e-mails de newsletter.
Principais componentes:
- Páginas institucionais (Início, Recursos, FAQ, Sobre, Termos, Privacidade, DMCA, Contato)
- Fluxo de contato via e-mail (PHPMailer)
- Captura de e-mail para newsletter
- Includes de cabeçalho e rodapé (duas variantes: `include_*` e `header.php/footer.php`)
- Scripts front-end (assets/js/script.js)
- Configuração global de site e SMTP em `env.php`
## Estrutura de Diretórios
- `index.php` — homepage
- `recursos.php`, `faq.php`, `sobre.php` — páginas de conteúdo
- `termos.php`, `privacidade.php`, `dmca.php` — páginas legais
- `contato.php` — página de contato
- `enviar_email.php` — envio de email de contato via PHPMailer
- `email_template.php` — geração de template HTML de e-mail e persistência opcional
- `salvar_email.php` — captura e persistência de e-mails de newsletter
- `player.php` — player com Plyr.js/HLS.js, geração de URL de embed e iframe
- `play.php` — player simples com JW Player (via parâmetro `?url=`)
- `redireciona_web.php` — redireciona para um domínio da lista configurada
- `include_header.php` / `include_footer.php` — includes modernos
- `header.php` / `footer.php` — includes alternativos (legado) com JS utilitário global
- `assets/` — estáticos (css, images, js)
- `PHPMailer/` — biblioteca externa para envio de e-mail
- `download/` — APKs
## Funções por Arquivo (Mapa de Funcionalidades)
### env.php
- Dados de site (name, email, contact_email, app_link, description, social links, web_domains) e timezone.
- Funções:
- `get_site_info($key)` — obtém valor de configuração do site.
- `get_smtp_config()` — obtém array de configuração SMTP (host, port, secure, username, password, from_name, recipient, debug).
### email_template.php
- Funções:
- `gerarEmailHTML(string $titulo, string $conteudo, array $botoes = [])` — gera HTML de e-mail estilizado com título, conteúdo e botões opcionais.
- `get_email_template(array $dados)` — cria o corpo do e-mail de contato usando `gerarEmailHTML`.
- `salvar_email_contato(array $dados)` — persiste submissões de contato em `contatos.txt` (append com timestamp).
### enviar_email.php
- Responsável por:
- Validar input (`nome`, `email`, `assunto`, `mensagem`).
- Montar corpo via `get_email_template`.
- Carregar SMTP via `get_smtp_config()` e enviar com PHPMailer.
- Opcionalmente salvar contato via `salvar_email_contato`.
- Redirecionar com mensagens de status.
### salvar_email.php
- Fluxo de newsletter:
- Valida e normaliza e-mail.
- Evita duplicidade em `newsletter.txt`.
- Persiste (append com timestamp) e redireciona com status.
### contato.php
- Página de contato:
- Exibe informações dinâmicas via `get_site_info` (email, redes, etc.).
- Formulário com POST para `enviar_email.php`.
- Embed Google Maps.
### redireciona_web.php
- Utiliza `get_site_info('web_domains')` para selecionar aleatoriamente um domínio e redirecionar (força https). Fallback para `/`.
### include_header.php
- Cabeçalho padrão com:
- Head SEO (title/description dinâmicos via `get_site_info`).
- Open Graph/Twitter, Tailwind CDN, estilos e custom CSS (menu mobile, header scrolled, correções de overflow).
- Navegação (Início, Recursos, Sobre, FAQ, Contato + call-to-action app).
### include_footer.php
- Rodapé padrão com:
- Logo/descrição (`get_site_info('description')`).
- Redes sociais (Facebook, Instagram, Twitter) via `get_site_info`.
- Links rápidos e legais (Termos, Privacidade, FAQ, DMCA).
- Form de newsletter (POST → `salvar_email.php`) + mensagens de status via query string.
- Contato e disclaimer legal.
- JS global `fixScrollbars()` para evitar barras de rolagem duplicadas e inclusão de `assets/js/script.js`.
### header.php / footer.php (alternativos/legados)
- Estrutura similar aos includes modernos, com diferenças:
- Metatags constroem URLs dinâmicas a partir de `$_SERVER`.
- No `footer.php`, há script inline global `fixScrollbars()` (similar ao de `include_footer.php`).
### assets/js/script.js
- Funções e comportamentos:
- Previne scroll horizontal.
- Efeito de scroll no header (classe `header-scrolled`).
- Scroll suave para âncoras.
- Menu mobile (abrir/fechar) com transições.
- Accordion de FAQ.
- Validação de e-mail: `isValidEmail(email: string): boolean`.
- Fade-in de elementos observados (IntersectionObserver).
- `handleBrokenImages()` — troca imagens quebradas por SVG placeholders com base em `alt`.
### PHPMailer (biblioteca externa)
- Pastas em `PHPMailer/src/`:
- `PHPMailer.php`, `SMTP.php`, `Exception.php` — funções internas da lib (envio SMTP, mensagens de erro, etc.). O projeto utiliza estas APIs para o envio em `enviar_email.php`.
## Páginas de Conteúdo
- `index.php`: Landing com hero (download app, versão web/IOS), seção de features, plataformas suportadas, depoimentos e CTA.
- `recursos.php`: Grid de recursos com descrição.
- `faq.php`: Perguntas frequentes com accordion (JS) e CTA para contato.
- `termos.php` / `privacidade.php`: Conteúdo legal com include de `include_footer.php`.
- `dmca.php`: Página legal de DMCA (não inspecionada no snapshot, mas linkada no rodapé).
- `sobre.php`: Página institucional (não inspecionada no snapshot, mas linkada no menu/rodapé).
## Fluxos Principais
- Contato:
1) Usuário envia formulário em `contato.php` → `enviar_email.php`
2) Gera template HTML (`get_email_template`) e envia via PHPMailer (SMTP de `get_smtp_config`).
3) Opcionalmente salva o contato em `contatos.txt`.
4) Redireciona com mensagem de sucesso/erro.
- Newsletter:
1) Formulário no rodapé (`include_footer.php`/`footer.php`) → `salvar_email.php`
2) Validação, verificação de duplicidade em `newsletter.txt`, persistência e redirecionamento com status.
- Adição/Manutenção de utilitários em `env.php`: `get_site_info`, `get_smtp_config`.
- Templates de e-mail e persistência (`email_template.php`): `gerarEmailHTML`, `get_email_template`, `salvar_email_contato`.
- Envio SMTP de contatos (`enviar_email.php`) com PHPMailer.
- Captura de newsletter (`salvar_email.php`).
- Player avançado (`player.php`): `getEmbedUrl`, `getEmbedCode` e integrações JS (HLS/qualidade/resume/download).
- Player JW Player (`play.php`).
- Rotina de redirecionamento (`redireciona_web.php`).
- Includes de cabeçalho/rodapé (`include_*` e `header.php/footer.php`) com `fixScrollbars` e navegação.
- Front-end (`assets/js/script.js`): validação, animações e correções visuais.