Delegación de Voto
Plugin WordPress para recoger delegaciones de voto con firma manuscrita
★ 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.zipDelegació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
- Descarga o clona este repositorio
- Comprime la carpeta
delegacion-votoen un archivo.zip - En WordPress: Plugins → Añadir nuevo → Subir plugin
- Sube el
.zipy activa el plugin - Al activarse se crea automáticamente la tabla
wp_delegaciones_votoen 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
- Exporta el CSV si necesitas archivar los datos anteriores
- Pulsa "Vaciar todas las delegaciones" y confirma
- 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
signature_padv4.1.7 — cargado desde CDN de jsDelivr
Requisitos
- WordPress 5.0 o superior
- PHP 7.4 o superior
Licencia
GPL-2.0-or-later — igual que WordPress.