WP Manifestindependent plugin directory
manifest / forms / form-linha-telefonica

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

0stars
0forks

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.zip

Readme

📞 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-0000 ou (00) 0000-0000).
  • 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).
  • 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)
  • 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).

📋 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

  1. Baixe ou clone a pasta do plugin form-linha-telefonica (ou plugin-formulario-linha-telefonica).
  2. Mova a pasta para o diretório de plugins do seu WordPress:
    wp-content/plugins/form-linha-telefonica/
  3. Acesse o painel administrativo do WordPress em Plugins > Plugins Instalados.
  4. 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

  1. Acesse o painel administrativo do WordPress.
  2. Vá em Linhas Telefônicas > Configurações.
  3. 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
  4. Clique em Salvar configurações.

🔒 Segurança e Boas Práticas

  • Proteção contra CSRF: Uso de wp_nonce_field e wp_verify_nonce em submissões públicas e no painel administrativo.
  • Sanitização de Dados: Aplicação de sanitize_text_field, sanitize_textarea_field e wp_unslash em 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).
  • 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.

Read the full README on GitHub →