× Joomdle 1.0 Installation

PROBLEM JOOMDLE CALENDAR

1 week 4 days ago
fuenteluna
Posts: 3
More
Topic Author
PROBLEM JOOMDLE CALENDAR #1
Buenas.
Estoy trabajando con Moodle 3.8+, Joomla 3.9.15, componente Joomdle 1.2.6 y Joomdle Calendar 1.1.0
Todo funciona correctamente (los usuarios pueden ver sus cursos, loguearse en Joomla y Moodle, etc) salvo la carga de eventos en el calendario que no puedo hacerla funcionar.

En principio el módulo Joomdle Calendar funciona bien hasta que intenta cargar los eventos del usuario que se loguea. En ese momento el calendario pasa a estar completamente vacío como se puede ver en la imagen adjunta.

También he podido observar un error al visualizar los eventos de un usuario (index.php?option=com_joomdle&view=myevents ) que creo que puede explicar por qué no obtiene bien la información del calendario de Moodle. El error es el siguiente:

XML-RPC Error (26045186): Detectado un error de codificación, debe ser corregido por un programador: calendar_get_upcoming() has been removed. Please see block_calendar_upcoming::get_content() for the correct API usage. | ERRORCODE: codingerror

He localizado la llamada a esa función en el archivo auth.php en moodle:
$events = calendar_get_upcoming($courses, $gs, false,
                 CALENDAR_DEFAULT_UPCOMING_LOOKAHEAD,
                 CALENDAR_DEFAULT_UPCOMING_MAXEVENTS);
        } else {
            calendar_set_filters($courses, $group, $user, $filtercourse, $groupeventsfrom, true);
            $events = calendar_get_upcoming($courses, $group, $user,
                 CALENDAR_UPCOMING_DAYS,
                 CALENDAR_UPCOMING_MAXEVENTS);
pero no sé cómo utilizar el block_calendar_upcoming.

Agradezco cualquier ayuda.

Muchas gracias.
Attachments:
1 week 3 days ago
Antonio Durán
Posts: 7048
More
PROBLEM JOOMDLE CALENDAR #2
Hola.

Gracias por el reporte de error. Lo he mirado y parece que el cambio no es complicado, por si quieres hacerlo:
Fichero: moodle/auth/joomdle/auth.php
Función: get_upcoming_events
Cambiar:
            $events = calendar_get_upcoming($courses, $gs, false,
                 CALENDAR_DEFAULT_UPCOMING_LOOKAHEAD,
                 CALENDAR_DEFAULT_UPCOMING_MAXEVENTS);
Por:
            $daysinfuture = CALENDAR_DEFAULT_UPCOMING_LOOKAHEAD;
            $maxevents = CALENDAR_DEFAULT_UPCOMING_MAXEVENTS;
            $display = new \stdClass;
            $display->range = $daysinfuture; // How many days in the future we 'll look.
            $display->maxevents = $maxevents;
            $now = time(); // We 'll need this later.
            $usermidnighttoday = usergetmidnight($now);
            $display->tstart = $usermidnighttoday;
            $display->tend = usergetmidnight($display->tstart + DAYSECS * $display->range + 3 * HOURSECS) - 1;

            $events = calendar_get_legacy_events ($display->tstart, $display->tend, array ($user->id), $gs, $courses);

Yo he probado la vista my_events y parece que funciona bien. Si puedes probar tu con el calendario también y nos cuentas, ya que ahora no tengo más tiempo.
1 week 3 days ago
fuenteluna
Posts: 3
More
Topic Author
PROBLEM JOOMDLE CALENDAR #3
Gracias por tu tiempo.
Aunque el error ya no aparece, siguen sin mostrarse los eventos en la vista my events (la vista no devuelve nada) y en el módulo Joomle Calendar sigue ocurriendo lo mismo: los días se transforman en ceros.
Seguiré investigando a ver si encuentro alguna solución.

Muchas gracias.
1 week 3 days ago
fuenteluna
Posts: 3
More
Topic Author
PROBLEM JOOMDLE CALENDAR #4
Rectifico. Los eventos de curso sí que me aparecen en la vista, los que no aparecen son los eventos de categoría o grupo. Seguiré mirando el módulo a ver si encuentro una solución.
1 week 2 days ago
Antonio Durán
Posts: 7048
More
PROBLEM JOOMDLE CALENDAR #5
He actualizado mi Moodle a la última 3.8 para probar:

- El calendario me funciona bien. Viendo el código, no tiene que ver con la vista de mis eventos, así que si te da problemas el motivo será otro.

- La vista de mis eventos solo muestra los relacionados con cursos, aunque supongo que sería mejor que mostrase los otros también...me lo apunto a ver si podemos incluirlo.
Cron Job Starts