Access "Last access to course" via the Web services Api

Access "Last access to course" via the Web services Api

par Daniel Bower,
Nombre de réponses : 3

I'm using Moodle 2.8.9 (20151204). 

As the instructor, I can go to:

Home >  My courses >  Miscellaneous > Course101 > Participants

Looking at the "Last access to course" column gives me the information I want.


I'm trying to find this same information via the api, but I'm coming up short. 

I expected to see this via the "core_enrol_get_enrolled_users" web service function.  However, I only see the site (LMS) last access date, and not the course last access date.

Moyenne des évaluations  -
En réponse à Daniel Bower

Re: Access "Last access to course" via the Web services Api

par Frank Leone,

Hi Daniel and others,

I am actually looking for the same. Did you have any luck? Anyone else any ideas?

    best,

          Frank

En réponse à Frank Leone

Re: Access "Last access to course" via the Web services Api

par Daniel Bower,

I ended up having to write a plugin to get the data that I wanted.


This is the part that I used to determine last logins for a course:

        // fetch last logins
        $lastLoginSql = "select mu.email, mula.timeaccess
                from {user_lastaccess} mula
                  inner join {user} mu on mula.userid = mu.id
                  inner join {course} mc on mc.id = mula.courseid
                where mc.id = :courseid"; 
        $lastLoginSqlparams = array('courseid' => $course->id);
        $lastLoginResults = $DB ->get_records_sql($lastLoginSql, $lastLoginSqlparams);


Moyenne des évaluations Useful (2)
En réponse à Daniel Bower

Re: Access "Last access to course" via the Web services Api

par Frank Leone,
Thanks! Me too actually, like this:


public function get_last_access($course, $USER)

    {

        global $DB;

        $lastaccess = $DB->get_field('user_lastaccess', 'timeaccess', array('courseid' => $course->id, 'userid' => $USER->id));

        

        return $lastaccess;

    }


Maybe useful for others.