Undefined property: stdClass::$id in /.../lib/accesslib.php on line 4727

Undefined property: stdClass::$id in /.../lib/accesslib.php on line 4727

by Enrique Robredo -
Number of replies: 7
Acabo de actualizar a la última versión 1.9.3+ de hoy, 14 de enero. Lo probé en la réplica que tengo en "local" y no tuve problemas, así que lo subí al servidor. Ahora no puedo cargar la página de notificaciones, así que pasé a modo de depuración y me encontré con centenares de mensajes como este:

Undefined property: stdClass::$id in /.../lib/accesslib.php on line 4727

En el track viene algo (MDL-17877) pero no me he enterado de nada. ¿Alguna ayuda? triste

Average of ratings: -
In reply to Enrique Robredo

Re: Undefined property: stdClass::$id in /.../lib/accesslib.php on line 4727

by Enrique Robredo -
Vaya, pues parece que lo han resuelto (fix) aunque no sé cómo obtener el accesslib.php corregido para ver si lo reemplazo por el defectuoso. Al parecer hay un problema cuando en el sistema hay roles configurados con parámetros "prohibir" o "prevenir" y por eso pasa lo que pasa.

(Como podrán comprobar, sigo sin enterarme bien de cuál era el problema, big grin pero al menos tengo la esperanza de que la solución vendrá incluída en la próxima actualización)

¿Alguién sabría decirme si es posible obtener ese accesslib.php en algún sitio?

Gracias.
In reply to Enrique Robredo

Re: Undefined property: stdClass::$id in /.../lib/accesslib.php on line 4727

by David Hernández -
Hola Enrique,

Entiendo que al día de hoy, la última versión de dicho archivo es la 1.569,
cuya página del CVS es esta, y esta otra la del código (copiar a un editor
de texto, guardar como archivo PHP, copiar en Moodle respaldando la librería
original, etc.).

En el tema nuevo de Moodle (osea este que está vigente a partir de 2009),
accesas a las últimas versiones de cada archivo que integra Moodle (osea al
CVS que creo que significa Concurrent Version System), dando clic en el menú:

Development -> Browse our source code -> En la pantalla que se abre,
dar clic en "Moodle" y así sucesivamente, dando clic en las carpetas, subcarpetas
y archivos que uno requiera (en tu caso, lib -> accesslib.php).

Saludos
Average of ratings: Útil (1)
In reply to David Hernández

Re: Undefined property: stdClass::$id in /.../lib/accesslib.php on line 4727

by Enrique Robredo -
big grin Ok, David, gracias...

Mira que soy torpe, había llegado hasta aquí, pero con el botón derecho me bajé acceslib.php, pero el del cvs, que en realidad es el enlace a la página donde se describen las modificaciones y tal. Es decir, la que me has puesto en el enlace. Así que cuando reemplacé el archivo mi Moodle hacía cosas increíbles para mí big grin big grin

Muchas gracias por la ayuda.

(Ahora lo que tengo es una página en blanco, qué tarde más entretenidita me estoy dando)
In reply to Enrique Robredo

Re: Undefined property: stdClass::$id in /.../lib/accesslib.php on line 4727

by Eloy Lafuente (stronk7) -
Picture of Desarrolladores Picture of Desarrolladores de plugins Picture of Documentadores Picture of Moderadores Picture of Moodle HQ Picture of Moodlers de gran ayuda Picture of Testers
> Ahora lo que tengo es una página en blanco, qué tarde más entretenidita me estoy dando

Pues sigue así y ya verás! diabólico

Quiero decir... que bajarse parcialmente ficheros del CVS de Moodle y "mezclarlos" con ficheros correspondientes a una versión (aunque sea la misma 1.9.3+) de unos días antes... puede traer consecuencias desastrosas si coincide que en ese intervalo de días se ha hecho algo de magnitud en los ficheros parciales.

Sinceramente, lo más recomendable es SIEMPRE descargarse las versiones WEEKLY (semanales) que se generan todos los miércoles, ya sea desde http://download.moodle.org o usando el cvs y actualizando a la version WEEKLY correspondiente. Pero hacerlo siempre como un todo, o puede ser que el servidor acabe fallando en sitios insospechados.

Solo una recomendación wink, ciao smile
In reply to Eloy Lafuente (stronk7)

Re: Undefined property: stdClass::$id in /.../lib/accesslib.php on line 4727

by Enrique Robredo -
Ya veo big grin Gracias.

He reemplazado el archivo accessli.php por el original (y "defectuoso") y ya está todo en su sitio. Menos mal que las cosas las hago primero en "local" antes que en la que tenemos en producción porque si no, en lugar de tardes entretenidas tendría madrugadas divertidísimas.

Me ha llamado la atención que en el track, aunque el bug lo sitúan en la 1.9.3, establecen la solución para la 1.9.4 (que aún no está en los downloads), supongo que se está desarrollando alguna actualización con cambios en este sentido.
In reply to Enrique Robredo

Re: Undefined property: stdClass::$id in /.../lib/accesslib.php on line 4727

by Eloy Lafuente (stronk7) -
Picture of Desarrolladores Picture of Desarrolladores de plugins Picture of Documentadores Picture of Moderadores Picture of Moodle HQ Picture of Moodlers de gran ayuda Picture of Testers
> Me ha llamado la atención que en el track, aunque el bug lo sitúan en la 1.9.3, establecen la solución para la 1.9.4 (que aún no está en los downloads), supongo...

El asunto es que las versiones de solución son siempre la siguiente versión no publicada. Esto en la práctica quiere decir que la versión anterior "+" ya incluye la solución (en este caso la 1.9.3+). Pero la primera versión sin "+" que incluirá la solución será la especificada en el Tracker (la 1.9.4).

En el fondo, el salto entre versiones menores, no es sino el establecimiento de unos puntos, para poder denominar de alguna forma a las versiones y que la gente (que solo usa versiones oficiales, sin "+") tenga una referencia.

Ciao smile
In reply to Eloy Lafuente (stronk7)

Re: Undefined property: stdClass::$id in /.../lib/accesslib.php on line 4727

by Enrique Robredo -
Ajá. gracias por la aclaración, Eloy.

Decir que el problema lo han arreglado con la actualización de esta semana. Acabo de instalarla y no me sale más ese error. 1.9.3+ 20090121. Tengo algún problema con el módulo jclic, pero no tiene que ver con este.

(prometo no volver a mezclar cosas de versiones diferentes wink)