/** * 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; }