WP Manifestindependent plugin directory
manifest / forms / wp-delegacion-voto

Delegación de Voto

Plugin WordPress para recoger delegaciones de voto con firma manuscrita

by · github.com/baltamir1978/wp-delegacion-voto

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/baltamir1978/wp-delegacion-voto/archive/refs/heads/main.zip

Delegación de Voto — Plugin para WordPress

Plugin de WordPress que permite recoger delegaciones de voto mediante un formulario público con firma manuscrita. Los datos se almacenan en la base de datos de WordPress y las firmas se guardan como imágenes PNG protegidas en el servidor.


Características

  • Formulario con campos: Nombre, Apellidos, DNI/NIE, "Delego mi voto en" y firma manuscrita en canvas
  • Validación de formato DNI/NIE (español e NIE: X/Y/Z)
  • Firma con signature_pad — compatible con ratón y pantalla táctil
  • Almacenamiento en tabla propia de WordPress (wp_delegaciones_voto)
  • Imágenes de firma guardadas en wp-content/uploads/delegaciones-voto/ y bloqueadas al acceso público
  • Notificación por email al administrador en cada nueva delegación
  • Panel de administración con tabla de registros y acceso protegido a cada firma
  • Exportación a CSV (con BOM UTF-8 para compatibilidad con Excel en español)
  • Vaciado de delegaciones para nuevas convocatorias (borra BD + archivos de firma)
  • Consentimiento RGPD obligatorio en el formulario
  • Sin dependencias de plugins de terceros

Instalación

  1. Descarga o clona este repositorio
  2. Comprime la carpeta delegacion-voto en un archivo .zip
  3. En WordPress: Plugins → Añadir nuevo → Subir plugin
  4. Sube el .zip y activa el plugin
  5. Al activarse se crea automáticamente la tabla wp_delegaciones_voto en la base de datos

Uso

Formulario público

Añade el shortcode en cualquier página o entrada:

[delegacion_voto]

Panel de administración

Accede desde el menú lateral de WordPress: Delegaciones Voto

Desde el panel puedes:

Acción Descripción
Ver registros Tabla con todas las delegaciones recibidas
Ver firma Abre la imagen de la firma manuscrita (solo administradores)
Exportar CSV Descarga todos los registros en formato CSV
Vaciar delegaciones Elimina todos los registros y archivos de firma para una nueva convocatoria

Flujo para una nueva convocatoria

  1. Exporta el CSV si necesitas archivar los datos anteriores
  2. Pulsa "Vaciar todas las delegaciones" y confirma
  3. El formulario queda limpio y listo para recibir nuevas delegaciones

Estructura de archivos

delegacion-voto/
├── delegacion-voto.php   # Plugin principal: registro, shortcode, AJAX, admin
├── js/
│   └── delegacion-voto.js  # Lógica del canvas de firma y envío del formulario
└── css/
    └── style.css           # Estilos del formulario público

Base de datos

Se crea la tabla {prefijo}delegaciones_voto con los siguientes campos:

Campo Tipo Descripción
id BIGINT Identificador autoincremental
nombre VARCHAR(100) Nombre del delegante
apellidos VARCHAR(150) Apellidos del delegante
dni VARCHAR(20) DNI o NIE
delegado_en VARCHAR(200) Nombre del representante
firma_path VARCHAR(500) Ruta relativa al archivo PNG de la firma
consentimiento TINYINT(1) 1 si aceptó la política de privacidad
ip VARCHAR(45) IP del remitente
fecha DATETIME Fecha y hora del envío

Seguridad

  • Verificación de nonce en cada envío AJAX
  • Sanitización y validación de todos los campos en servidor
  • Carpeta de firmas protegida con .htaccess (deny from all)
  • Las firmas solo son accesibles por administradores, mediante URL firmada con nonce
  • El vaciado requiere confirmación manual y nonce de administrador

Dependencias externas


Requisitos

  • WordPress 5.0 o superior
  • PHP 7.4 o superior

Licencia

GPL-2.0-or-later — igual que WordPress.