Academia Deltamontero · Documentación
Desarrollo

local_deltacerts

Plugin "Delta Certificados" que bloquea automáticamente cualquier certificado nuevo hasta completar el curso.

DatoValor
Componentelocal_deltacerts (nombre visible "Delta Certificados")
Ruta en la imagen/var/www/html/local/deltacerts
Versión2026082700 (release 1.0)
RequiereMoodle 4.5 (2024100700)
TablasNinguna
Privacidadclasses/privacy/provider.php (no almacena datos personales)

Qué hace

Cuando alguien agrega una actividad de certificado mod_customcert a cualquier curso, el plugin le pone una restricción de acceso para que solo se desbloquee al completar el curso.

ArchivoContenido
db/events.phpObservador de \core\event\course_module_created → local_deltacerts\observer::course_module_created
classes/observer.phpSi el ajuste autogate está activo y el módulo creado es customcert, llama a gating::gate_certificate($courseid, $cmid)
classes/gating.phpAplica el bloqueo
settings.phpAjuste local_deltacerts/autogate (casilla, activado por defecto) en Administración del sitio → Plugins locales → Delta Certificados (solo con $hassiteconfig)

gating::gate_certificate($courseid, $certcmid)

  • Si el curso es un módulo de la Academia (local_deltamodules\standard::is_academy()), delega en local_deltamodules\academy::gate_certificate(), que respeta las reglas del módulo y el contenido parcial por cargo, y devuelve true.
  • En cualquier otro curso, exige completar todas las actividades con seguimiento (salvo los certificados) y escribe esa restricción (op = &, condiciones visibles) en el certificado. Si no hay actividades con seguimiento, no hace nada y devuelve false.

Desactivar el ajuste deja de bloquear los certificados nuevos; los ya bloqueados se mantienen. En los módulos de la Academia el bloqueo lo aplican de todos modos local_deltamodules y gate-certificates.php en cada despliegue (ver Certificados).

En esta página