/**
  * Gets the data for the table
  *
  * @return array $data The array of data to show
  */
 protected function get_data()
 {
     global $DB, $USER;
     $data = array();
     $sessions = $this->rtq->get_sessions();
     foreach ($sessions as $session) {
         /** @var \mod_activequiz\activequiz_session $session */
         $sessionattempts = $session->getall_attempts(false, 'closed', $USER->id);
         foreach ($sessionattempts as $sattempt) {
             $ditem = new \stdClass();
             $ditem->attemptid = $sattempt->id;
             $ditem->sessionid = $sattempt->sessionid;
             $ditem->sessionname = $session->get_session()->name;
             if ($this->rtq->group_mode()) {
                 $ditem->group = $this->rtq->get_groupmanager()->get_group_name($sattempt->forgroupid);
             }
             $ditem->timestart = $sattempt->timestart;
             $ditem->timefinish = $sattempt->timefinish;
             $ditem->grade = number_format($this->rtq->get_grader()->calculate_attempt_grade($sattempt), 2);
             $ditem->totalgrade = $this->rtq->getRTQ()->scale;
             $data[$sattempt->id] = $ditem;
         }
     }
     return $data;
 }
 /**
  * Gets the data for the table
  *
  * @return array $data The array of data to show
  */
 protected function get_data()
 {
     global $DB;
     $data = array();
     $attempts = $this->session->getall_attempts(true);
     $userids = array();
     foreach ($attempts as $attempt) {
         $userids[] = $attempt->userid;
     }
     // get user records to get the full name
     if (!empty($userids)) {
         list($useridsql, $params) = $DB->get_in_or_equal($userids);
         $sql = 'SELECT * FROM {user} WHERE id ' . $useridsql;
         $userrecs = $DB->get_records_sql($sql, $params);
     } else {
         $userrecs = array();
     }
     foreach ($attempts as $attempt) {
         /** @var \mod_activequiz\activequiz_attempt $attempt */
         $ditem = new \stdClass();
         $ditem->attemptid = $attempt->id;
         $ditem->sessionid = $attempt->sessionid;
         if ($this->rtq->group_mode()) {
             $ditem->userid = $attempt->userid;
             $ditem->takenby = fullname($userrecs[$attempt->userid]);
             $ditem->groupname = $this->rtq->get_groupmanager()->get_group_name($attempt->forgroupid);
         } else {
             $ditem->userid = $attempt->userid;
             $userrec = $userrecs[$attempt->userid];
             $ditem->username = fullname($userrec);
         }
         $ditem->attemptno = $attempt->attemptnum;
         $ditem->preview = $attempt->preview;
         $ditem->status = $attempt->getStatus();
         $ditem->timestart = $attempt->timestart;
         $ditem->timefinish = $attempt->timefinish;
         $ditem->timemodified = $attempt->timemodified;
         $ditem->grade = number_format($this->rtq->get_grader()->calculate_attempt_grade($attempt), 2);
         $ditem->totalgrade = $this->rtq->getRTQ()->scale;
         $data[$attempt->id] = $ditem;
     }
     return $data;
 }