public static function store(\core\event\base $event) {
        global $DB;

        if (!isloggedin() or \core\session\manager::is_loggedinas() or isguestuser()) {
            // No access tracking.
            return;
        }

        $conditions = [
            'userid' => $event->userid
        ];

        $records = $DB->get_records(self::$table, $conditions, "timeaccess DESC");

        foreach ($records as $record) {
            if (($record->userid == $event->userid) && ($record->cmid == $event->contextinstanceid)) {
                $conditions = [
                        'userid' => $event->userid,
                        'cmid' => $event->contextinstanceid
                ];
                $DB->set_field(self::$table, 'timeaccess', $event->timecreated, $conditions);
                return;
            }
        }

        if (count($records) >= 9) {
            $conditions = [
                    'id' => end($records)->id,
            ];
            $DB->delete_records(self::$table, $conditions);
        }

        $eventdata = new \stdClass();

        $eventdata->cmid = $event->contextinstanceid;
        $eventdata->timeaccess = $event->timecreated;
        $eventdata->courseid = $event->courseid;
        $eventdata->userid = $event->userid;

        $DB->insert_record(self::$table, $eventdata);
    }