Formulário Linha Telefônica
Plugin WordPress desenvolvido para gerenciar o processo completo de solicitação, atualização, transferência e cancelamento de linhas telefônicas institucionais.
by Codex · github.com/markovivas/form-linha-telefonica · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/markovivas/form-linha-telefonica/archive/refs/heads/main.zipReadme
📞 Formulário Linha Telefônica (WordPress Plugin)
Plugin WordPress desenvolvido para gerenciar o processo completo de solicitação, atualização, transferência e cancelamento de linhas telefônicas institucionais.
Oferece uma interface pública moderna e intuitiva via shortcode, com validação de campos em tempo real e máscaras automáticas, além de um painel administrativo completo para controle de status, documentos anexos e observações internas.
🚀 Principais Funcionalidades
🌐 Frontend (Usuário / Servidor)
- Shortcode Prático: Exibição do formulário completo em qualquer página ou post via
[formulario_linha_telefonica]. - Layout Moderno e Responsivo: Design corporativo moderno, responsivo para desktop e dispositivos móveis, com ícones e feedback visual.
- Tipos de Solicitação com Campos Condicionais:
- ➕ Cadastrar nova linha: Coleta de dados básicos do servidor e da linha.
- ✏️ Atualizar dados da linha: Exibe campo textual obrigatório para detalhar as alterações necessárias.
- 🔄 Transferir linha: Exibe campos adicionais obrigatórios para o novo responsável (Nome, Cargo, Matrícula, CPF e Nova Secretaria).
- 🗑️ Cancelar linha: Exibe campo textual obrigatório para justificativa do cancelamento.
- Máscaras e Validações em Tempo Real:
- Máscara automática para CPF (
000.000.000-00) e validação matemática de dígitos verificadores no frontend e backend. - Máscara automática de telefone/celular com DDD (
(00) 00000-0000ou(00) 0000-0000).
- Máscara automática para CPF (
- Upload de Documentos:
- Suporte a Drag & Drop (arrastar e soltar) ou seleção por clique.
- Formatos aceitos: PDF, JPG, JPEG e PNG (até 10 MB).
- Upload isolado na pasta de mídia
/wp-content/uploads/linha-telefonica/.
- Geração Automática de Protocolo:
- Cada solicitação gera um código de protocolo sequencial formatado (ex:
#000001,#000042).
- Cada solicitação gera um código de protocolo sequencial formatado (ex:
- Mensagens de Feedback: Alertas visuais de sucesso com exibição do número de protocolo ou de erro com detalhamento dos campos pendentes.
⚙️ Painel Administrativo (WP Admin)
- Tipo de Post Dedicado (
flt_solicitacao):- Menu no painel com ícone próprio: Linhas Telefônicas.
- Status Personalizados:
- 🟡 Pendente (
flt_pendente) - 🔵 Em análise (
flt_em_analise) - 🟢 Aprovada (
flt_aprovada) - 🔴 Rejeitada (
flt_rejeitada) - 🟣 Concluída (
flt_concluida) - ⚫ Cancelada (
flt_cancelada)
- 🟡 Pendente (
- Listagem e Filtros Avançados:
- Tabela administrativa com colunas customizadas: Protocolo, Servidor, Matrícula, Secretaria, Número da linha, Tipo de solicitação, Status e Data.
- Filtros rápidos por Secretaria, Tipo de Solicitação e Status.
- Visualização Detalhada da Solicitação:
- Meta Box completo exibindo todos os dados do servidor e da linha de acordo com o tipo da solicitação.
- Link direto para visualização e download do documento comprobatório anexado.
- Alteração de status administrativo em tempo real.
- Campo dedicado para anotações e observações internas da administração.
- Gerenciamento de Secretarias:
- Tela de configurações (
Linhas Telefônicas > Configurações) para cadastrar, editar e remover secretarias/órgãos dinamicamente (uma por linha).
- Tela de configurações (
📋 Requisitos do Sistema
- WordPress: 5.8 ou superior
- PHP: 7.4 ou superior (compatível com PHP 8.0, 8.1, 8.2 e 8.3)
- Navegadores suportados: Chrome, Firefox, Edge, Safari, Opera (versões modernas)
📦 Instalação
- Baixe ou clone a pasta do plugin
form-linha-telefonica(ouplugin-formulario-linha-telefonica). - Mova a pasta para o diretório de plugins do seu WordPress:
wp-content/plugins/form-linha-telefonica/ - Acesse o painel administrativo do WordPress em Plugins > Plugins Instalados.
- Localize Formulario Linha Telefonica e clique em Ativar.
🛠️ Como Usar
1. Inserindo o Formulário no Site
Para exibir o formulário aos usuários ou servidores, adicione o shortcode em qualquer página, post ou construtor de páginas (Gutenberg, Elementor, etc.):
[formulario_linha_telefonica]
2. Configurando as Secretarias
- Acesse o painel administrativo do WordPress.
- Vá em Linhas Telefônicas > Configurações.
- Insira as secretarias ou departamentos disponíveis, inserindo uma secretaria por linha, por exemplo:
Administração Educação Saúde Tecnologia da Informação Recursos Humanos Obras e Infraestrutura - Clique em Salvar configurações.
🔒 Segurança e Boas Práticas
- Proteção contra CSRF: Uso de
wp_nonce_fieldewp_verify_nonceem submissões públicas e no painel administrativo. - Sanitização de Dados: Aplicação de
sanitize_text_field,sanitize_textarea_fieldewp_unslashem todas as entradas. - Validação de Uploads Segura:
- Checagem de MIME Type e extensão real via
wp_check_filetype_and_ext. - Processamento pelo fluxo nativo
media_handle_upload. - Restrição de tamanho máximo de arquivo (10 MB).
- Checagem de MIME Type e extensão real via
- Validação Estrita de CPF: Algoritmo que valida quantidade de dígitos e cálculos matemáticos dos dígitos verificadores (D1 e D2).
- Proteção contra Acesso Direto: Todos os arquivos PHP possuem bloqueio
defined('ABSPATH') || exit;.
📁 Estrutura de Arquivos
form-linha-telefonica/
├── assets/
│ ├── css/
│ │ └── frontend.css # Estilos completos e responsivos do formulário
│ └── js/
│ └── frontend.js # Máscaras de CPF/Telefone, alternância dinâmica e drag & drop
├── includes/
│ └── class-flt-plugin.php # Classe principal com CPT, meta boxes, filtros, hooks e upload
├── plugin-formulario-linha-telefonica.php # Arquivo de inicialização e cabeçalho do plugin
└── README.md # Documentação do projeto
🔄 Fluxo de Trabalho (Workflow)
flowchart TD
A[Servidor acessa página com Shortcode] --> B[Preenche Dados e seleciona Tipo de Solicitação]
B --> C[Anexa Documento Comprobatório]
C --> D[Submissão do Formulário]
D --> E{Validação PHP & Nonce}
E -- Erro --> F[Retorna com mensagem de erro e dados preservados]
E -- Sucesso --> G[Cria Post do tipo flt_solicitacao com Status Pendente]
G --> H[Gera Número de Protocolo sequencial #00000X]
H --> I[Salva arquivo em /uploads/linha-telefonica/]
I --> J[Exibe mensagem de sucesso com o Protocolo]
J --> K[Administrador visualiza no WP Admin]
K --> L[Admin avalia documento e altera Status / Adiciona Observações]
📝 Licença
Este plugin é distribuído sob a licença GPLv2 ou superior.