Open juacas opened 2 months ago
Diagnosticado el problema de "Class "\" not found": se debe a que hay un cambio del modelo de datos sin upgrade.php, faltaba la columna "repository" en tabla de modelos.
Persiste el uso "deprecated" de simplexml_load_string() (Creo que es cambiar null por 0 en el tercer argumento).
Sigue apareciendo el error:
Entorno:
Execute scheduled task: Comprobar estado de los certificados (mod_certifygen\task\checkstatus)
... started 15:22:39. Current memory use 2.8 MB.
Deprecated: simplexml_load_string(): Passing null to parameter #3 ($options) of type int is deprecated in /var/www/html/moodle40/mod/certifygen/validation/csv/classes/certifygenvalidation_csv.php on line 696
Call Stack:
0.0038 383328 1. {main}() /var/www/html/moodle40/admin/cron.php:0
0.0313 795208 2. cron_run() /var/www/html/moodle40/admin/cron.php:81
0.0555 912912 3. cron_run_scheduled_tasks($timenow = 1729084959) /var/www/html/moodle40/lib/cronlib.php:73
0.0893 2888008 4. cron_run_inner_scheduled_task($task = class mod_certifygen\task\checkstatus { private ${core\task\task_base}lock = class core\lock\lock { protected $key = '7fb46201e80b529d30755a2feb5309f453906f30'; protected $factory = class core\lock\mysql_lock_factory { ... }; protected $released = FALSE; protected $caller = '/var/www/html/moodle40/lib/classes/task/manager.php on line 913' }; private ${core\task\task_base}cronlock = NULL; private ${core\task\task_base}component = 'mod_certifygen'; private ${core\task\task_base}blocking = FALSE; private ${core\task\task_base}faildelay = '0'; private ${core\task\task_base}nextruntime = '1729084920'; private ${core\task\task_base}timestarted = 1729084959; private ${core\task\task_base}hostname = '578587b3f2fe'; private ${core\task\task_base}pid = 43066; private ${core\task\scheduled_task}hour = '*'; private ${core\task\scheduled_task}minute = '*'; private ${core\task\scheduled_task}day = '*'; private ${core\task\scheduled_task}month = '*'; private ${core\task\scheduled_task}dayofweek = '*'; private ${core\task\scheduled_task}lastruntime = '0'; private ${core\task\scheduled_task}customised = '1'; private ${core\task\scheduled_task}overridden = FALSE; private ${core\task\scheduled_task}disabled = FALSE }) /var/www/html/moodle40/lib/cronlib.php:120
0.0974 3374904 5. mod_certifygen\task\checkstatus->execute() /var/www/html/moodle40/lib/cronlib.php:263
0.1054 3511176 6. certifygenvalidation_csv\certifygenvalidation_csv->get_status($validationid = 1, $code = '4194164710KA') /var/www/html/moodle40/mod/certifygen/classes/task/checkstatus.php:86
0.2856 3530296 7. simplexml_load_string($data = '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:consultaEstadoPeticionResponse xmlns:ns2="http://firma.ws.producto.com/"><consultaEstadoPeticion><idAplicacion>MOODLE</idAplicacion><peticiones><estadoCircuito>FIRMADO</estadoCircuito><firmantes><estado>FIRMADO</estado><fechaFirma>2024-10-16T15:18:02+02:00</fechaFirma><id>UNIVERSIDAD</id></firmantes><identificador><token>4194164710KA</token><version>1</version></identificador><sustituye>true</sustituye></peticiones><result'..., $class_name = NULL, $options = NULL, $namespace_or_prefix = 'http://schemas.xmlsoap.org/soap/envelope/') /var/www/html/moodle40/mod/certifygen/validation/csv/classes/certifygenvalidation_csv.php:696
Escenario:
Parece que se obtiene un modelo con validador null y no se puede instanciar la clase por fallar el nombre.
Pasos a dar:
Datos
mdl_certifygen_model
mdl_certifygen_validations
mdl_certifygen_validationcsv
El cron genera un error al obtener un valor "null" del método de validación del modelo.