| Línea 13... |
Línea 13... |
| 13 |
$userid = $USER->id;
|
13 |
$userid = $USER->id;
|
| 14 |
$url_noimage = $CFG->wwwroot . '/theme/' . $PAGE->theme->name . '/pix/coursenoimage.jpg';
|
14 |
$url_noimage = $CFG->wwwroot . '/theme/' . $PAGE->theme->name . '/pix/coursenoimage.jpg';
|
| Línea 15... |
Línea 15... |
| 15 |
|
15 |
|
| Línea 16... |
Línea 16... |
| 16 |
$data = ['course' => ''];
|
16 |
$data = ['course' => ''];
|
| 17 |
|
17 |
|
| 18 |
// Consulta SQL optimizada para obtener el último curso accedido por el usuario
|
18 |
// Consulta SQL optimizada para obtener el último modulo visto por el usuario
|
| 19 |
$sql = "SELECT DISTINCT(courseid) AS courseid FROM {logstore_standard_log} WHERE ";
|
19 |
$sql = "SELECT DISTINCT(coursemoduleid) AS coursemoduleid FROM {logstore_standard_log} WHERE ";
|
| - |
|
20 |
$sql .= "userid = :userid ORDER BY timecreated DESC LIMIT 1";
|
| Línea 20... |
Línea -... |
| 20 |
$sql .= "action IN ('viewed', 'updated') AND target IN ('course', 'course_module') AND userid = :userid ";
|
- |
|
| Línea 21... |
Línea 21... |
| 21 |
$sql .= "ORDER BY timecreated DESC LIMIT 1";
|
21 |
$last_module_viewed = $DB->get_record_sql($sql, ['userid' => $userid]);
|
| 22 |
|
22 |
$module_viewed = $DB->get_record('course_modules', array('id' => $last_module_viewed->coursemoduleid), '*');
|
| Línea 23... |
Línea 23... |
| 23 |
$lastcourse = $DB->get_record_sql($sql, ['userid' => $userid]);
|
23 |
|
| 24 |
|
24 |
|
| 25 |
if ($lastcourse) {
|
25 |
if ($module_viewed) {
|
| 26 |
$course = get_course($lastcourse->courseid);
|
26 |
$course = get_course($module_viewed->course);
|