function build_table() { if ($this->rawdata) { $this->strtimeformat = str_replace(',', ' ', get_string('strftimedatetime')); parent::build_table(); } }
function build_table(){ global $CFG, $DB; if ($this->rawdata) { // Define some things we need later to process raw data from db. $this->strtimeformat = str_replace(',', '', get_string('strftimedatetime')); parent::build_table(); //end of adding data from attempts data to table / download //now add averages at bottom of table : $params = array($this->quiz->id); $averagesql = "SELECT AVG(qg.grade) AS grade " . "FROM {quiz_grades} qg " . "WHERE quiz=?"; $this->add_separator(); if ($this->is_downloading()){ $namekey = 'lastname'; } else { $namekey = 'fullname'; } if ($this->groupstudents){ list($g_usql, $g_params) = $DB->get_in_or_equal($this->groupstudents); $groupaveragesql = $averagesql." AND qg.userid $g_usql"; $groupaverage = $DB->get_record_sql($groupaveragesql, array_merge($params, $g_params)); $groupaveragerow = array($namekey => get_string('groupavg', 'grades'), 'sumgrades' => quiz_format_grade($this->quiz, $groupaverage->grade), 'feedbacktext'=> strip_tags(quiz_report_feedback_for_grade($groupaverage->grade, $this->quiz->id, $this->context))); if($this->detailedmarks && ($this->qmsubselect || $this->quiz->attempts == 1)) { $avggradebyq = quiz_get_average_grade_for_questions($this->quiz, $this->groupstudents); $groupaveragerow += quiz_format_average_grade_for_questions($avggradebyq, $this->questions, $this->quiz, $this->is_downloading()); } $this->add_data_keyed($groupaveragerow); } if ($this->students) { list($s_usql, $s_params) = $DB->get_in_or_equal($this->students); $overallaverage = $DB->get_record_sql($averagesql." AND qg.userid $s_usql", array_merge($params, $s_params)); $overallaveragerow = array($namekey => get_string('overallaverage', 'grades'), 'sumgrades' => quiz_format_grade($this->quiz, $overallaverage->grade), 'feedbacktext'=> strip_tags(quiz_report_feedback_for_grade($overallaverage->grade, $this->quiz->id, $this->context))); if($this->detailedmarks && ($this->qmsubselect || $this->quiz->attempts == 1)) { $avggradebyq = quiz_get_average_grade_for_questions($this->quiz, $this->students); $overallaveragerow += quiz_format_average_grade_for_questions($avggradebyq, $this->questions, $this->quiz, $this->is_downloading()); } $this->add_data_keyed($overallaveragerow); } } }