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.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/markovivas/form-linha-telefonica/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

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