WP Manifestindependent plugin directory
manifest / events / dl-ticket-manager

Ticket Manager for WooCommerce WP Registry grade C-. High-severity findings · 1 findingWP RegistryHigh-severity findings · 1 findingOpen the reportC-

Plugin para la venta de entradas nominativas con códigos QR en WooCommerce.

★ 1stars
1.0.0latest · 1 year ago

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/daniellucia/dl-ticket-manager/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

[DL] Tickets Manager for WooCommerce

Plugin para la venta de entradas nominativas con códigos QR en WooCommerce.

Este plugin permite gestionar la venta de tickets para eventos directamente desde WooCommerce. Cada entrada es nominativa, con código único y validable mediante un sistema propio de lectura de QR.


✨ Características

  • Compatible con WooCommerce.
  • Nuevo tipo de producto Ticket.
  • Generación de códigos QR únicos por entrada.
  • Entradas nominativas (se solicita el nombre para cada ticket comprado).
  • Configuración de fecha de finalización de eventos.
  • Sistema integrado de lectura y validación de tickets mediante QR.
  • Estado del ticket: "En espera", "Usado" o Cancelado.

🚀 Instalación

  1. Descarga el plugin.
  2. Sube la carpeta al directorio /wp-content/plugins/.
  3. Actívalo desde el panel de administración de WordPress.
  4. Asegúrate de tener WooCommerce instalado y activo.

🛠 Uso

  1. Crea un nuevo producto de tipo Ticket en WooCommerce.
  2. Configura los detalles del evento (fecha de finalización incluida).
  3. Cuando un usuario realice la compra:
    • Se generarán los tickets nominativos.
    • Cada ticket tendrá un código QR único.
  4. Usa el sistema de validación integrado para leer y comprobar los QR en la entrada del evento.

📌 Requisitos

  • WordPress 6.0 o superior
  • WooCommerce 7.0 o superior
  • PHP 8.0 o superior

📖 Notas

  • El sistema de validación de QR funciona desde cualquier dispositivo con cámara (móvil, tablet o PC con webcam).
  • El plugin evita que los tickets puedan reutilizarse una vez validados.

Acciones disponibles

Nombre: dl_ticket_manager_before_ticket_name_input

Descripción: Se ejecuta antes de los inputs en la ficha de producto

Parámetros: $product, $is_show_id, $classes_input

Nombre: dl_ticket_manager_after_ticket_name_input

Descripción: Se ejecuta después de los inputs en la ficha de producto

Parámetros: $product, $is_show_id, $classes_input

Nombre: dl_validation_event

Descripción: Se ejecuta cada vez que se retorna en la validación del ticket.

Parámetros: $type, $data

Nombre: dl_ticket_manager_email_ticket_details_before

Descripción: Se ejecuta antes de mostrar los detalles del evento en el email.

Parámetros: $ticket, $order

Nombre: dl_ticket_manager_email_ticket_details_after

Descripción: Se ejecuta después de mostrar los detalles del evento en el email.

Parámetros: $ticket, $order

Nombre: dl_ticket_manager_ticket_created

Descripción: Se ejecuta cuando se crea un ticket

Parámetros: $post_id, $data

Nombre: dl_ticket_manager_ticket_status_changed

Descripción: Se ejecuta cuando se cambia de estado un ticket

Parámetros: $ticket_id, $data

Nombre: dl_ticket_event_fields_before

Descripción: Se ejecuta antes de mostrar los campos de configuración en la edición del producto

Parámetros: $ticket_id, $data

Nombre: dl_ticket_event_fields_after

Descripción: Se ejecuta después de mostrar los campos de configuración en la edición del producto

Nombre: dl_ticket_save_event_fields

Descripción: Se ejecuta cuando se guardan los campos de un ticket

Parámetros: $post_id

Filtros disponibles

Nombre: dl_ticket_manager_templates

Descripción: Filtra el listado de plantillas PDF

Parámetros: Array

Nombre: dl_ticket_manager_input_classes

Descripción: Filtra las clases que reciben los inputs que se muestran en la ficha de un producto

Parámetros: String

Nombre: dl_validate_ticket_data

Descripción: Filtra un valor que se tendrá en cuenta a la hora de validar un ticket. Si el ticket no es correcto, debe retornar un WP_Error

Parámetros: $ticket_data, $order_id, $data

Nombre: dl_ticket_manager_generate_code

Descripción: Filtra el código único generado para los tickets

Parámetros: String

Nombre: dl_ticket_manager_create_ticket_data

Descripción: Filtra el contenido de un ticket cuando se va a crear

Parámetros: Array

Nombre: dl_ticket_manager_create_ticket

Descripción: Filtra el contenido de un ticket cuando se va a crear usando la funcion wp_insert_post

Parámetros: Array

Nombre: dl_ticket_manager_get_ticket_data

Descripción: Filtra el contenido de un ticket cuando se obtiene

Parámetros: Array

Nombre: dl_ticket_manager_qr_data

Descripción: Filtra los datos que se usan para crear el código QR

Parámetros: Array

Nombre: dl_ticket_manager_dompdf_options

Descripción: Filtra las opciones de Dompdf para generar el ticket

Parámetros: Options

Nombre: dl_ticket_manager_pdf_template_vars

Descripción: Filtra los datos que se le envian a la plantilla para crear el ticket en PDF

Parámetros: Array

Nombre: dl_ticket_manager_dompdf

Descripción: Filtra el objeto Dompdf

Parámetros: Dompdf

Nombre: dl_ticket_purchasable

Descripción: Filtra una variable para definir si un producto puede ser comprado o no

Parámetros: $purchasable Boolean, $product


Autor

Desarrollado por Daniel Lúcia

Releases

2 releases.

Tag
Published
1.0.0 latest
Aug 27, 2025 1 year ago
Aug 25, 2025 1 year ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.

C- grade

Security

Ticket Manager for WooCommerce 1.0.0 · audited by WP Registry

High-severity findings.

1 high
Audited release
1.0.0
Findings
1
Worst severity
high
Content hash
521c48853a97fb4413231e15…

Findings

  • high Public REST ticket validator confirms tickets with no authentication

    missing_auth

    register_rest_route tickets/v1/validate uses permission_callback __return_true. validateTicket() parses attacker-supplied JSON (order_id, security UUID, ticket code), and on match calls changeStatus(..., STATUS_CONFIRMED). The localized wp_rest nonce is never checked. Possession of a QR payload (customer email, screenshot, or the PDF download URL) is enough for an unauthenticated client to remotely consume tickets from anywhere, with no staff role and no rate limit. The ticket_validator shortcode is the intended UI, but the endpoint is globally reachable without visiting that page.

    src/Frontend/Validation.php:86-165

    Recommendation

    Require a dedicated capability (or application-password/staff role) on the validate route; verify the REST nonce; add rate limiting. Do not confirm tickets from a world-open endpoint.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.