mirror of
https://github.com/moodle/moodle.git
synced 2025-08-06 01:16:44 +02:00
MDL-40468 libraries: removed usages of get_related_contexts_string() in core
Also tidied up the functions by removing unused parameters.
This commit is contained in:
parent
b645284403
commit
4e829d48d1
10 changed files with 96 additions and 104 deletions
|
@ -394,24 +394,25 @@ class grade_report_grader extends grade_report {
|
|||
return;
|
||||
}
|
||||
|
||||
//limit to users with a gradeable role
|
||||
// Limit to users with a gradeable role.
|
||||
list($gradebookrolessql, $gradebookrolesparams) = $DB->get_in_or_equal(explode(',', $this->gradebookroles), SQL_PARAMS_NAMED, 'grbr0');
|
||||
|
||||
//limit to users with an active enrollment
|
||||
// Limit to users with an active enrollment.
|
||||
list($enrolledsql, $enrolledparams) = get_enrolled_sql($this->context);
|
||||
|
||||
//fields we need from the user table
|
||||
// Fields we need from the user table.
|
||||
$userfields = user_picture::fields('u', get_extra_user_fields($this->context));
|
||||
|
||||
$sortjoin = $sort = $params = null;
|
||||
// We want to query both the current context and parent contexts.
|
||||
list($relatedctxsql, $relatedctxparams) = $DB->get_in_or_equal($this->context->get_parent_context_ids(true), SQL_PARAMS_NAMED, 'relatedctx');
|
||||
|
||||
//if the user has clicked one of the sort asc/desc arrows
|
||||
// If the user has clicked one of the sort asc/desc arrows.
|
||||
if (is_numeric($this->sortitemid)) {
|
||||
$params = array_merge(array('gitemid'=>$this->sortitemid), $gradebookrolesparams, $this->groupwheresql_params, $enrolledparams);
|
||||
$params = array_merge(array('gitemid' => $this->sortitemid), $gradebookrolesparams, $this->groupwheresql_params, $enrolledparams,
|
||||
$relatedctxparams);
|
||||
|
||||
$sortjoin = "LEFT JOIN {grade_grades} g ON g.userid = u.id AND g.itemid = $this->sortitemid";
|
||||
$sort = "g.finalgrade $this->sortorder";
|
||||
|
||||
} else {
|
||||
$sortjoin = '';
|
||||
switch($this->sortitemid) {
|
||||
|
@ -430,7 +431,7 @@ class grade_report_grader extends grade_report {
|
|||
break;
|
||||
}
|
||||
|
||||
$params = array_merge($gradebookrolesparams, $this->groupwheresql_params, $enrolledparams);
|
||||
$params = array_merge($gradebookrolesparams, $this->groupwheresql_params, $enrolledparams, $relatedctxparams);
|
||||
}
|
||||
|
||||
$sql = "SELECT $userfields
|
||||
|
@ -442,12 +443,11 @@ class grade_report_grader extends grade_report {
|
|||
SELECT DISTINCT ra.userid
|
||||
FROM {role_assignments} ra
|
||||
WHERE ra.roleid IN ($this->gradebookroles)
|
||||
AND ra.contextid " . get_related_contexts_string($this->context) . "
|
||||
AND ra.contextid $relatedctxsql
|
||||
) rainner ON rainner.userid = u.id
|
||||
AND u.deleted = 0
|
||||
$this->groupwheresql
|
||||
ORDER BY $sort";
|
||||
|
||||
$studentsperpage = $this->get_students_per_page();
|
||||
$this->users = $DB->get_records_sql($sql, $params, $studentsperpage * $this->page, $studentsperpage);
|
||||
|
||||
|
@ -1273,56 +1273,46 @@ class grade_report_grader extends grade_report {
|
|||
* @return array Array of rows for the right part of the report
|
||||
*/
|
||||
public function get_right_avg_row($rows=array(), $grouponly=false) {
|
||||
global $CFG, $USER, $DB, $OUTPUT;
|
||||
global $USER, $DB, $OUTPUT;
|
||||
|
||||
if (!$this->canviewhidden) {
|
||||
// totals might be affected by hiding, if user can not see hidden grades the aggregations might be altered
|
||||
// better not show them at all if user can not see all hidden grades
|
||||
// Totals might be affected by hiding, if user can not see hidden grades the aggregations might be altered
|
||||
// better not show them at all if user can not see all hidden grades.
|
||||
return $rows;
|
||||
}
|
||||
|
||||
$showaverages = $this->get_pref('showaverages');
|
||||
$showaveragesgroup = $this->currentgroup && $showaverages;
|
||||
|
||||
$averagesdisplaytype = $this->get_pref('averagesdisplaytype');
|
||||
$averagesdecimalpoints = $this->get_pref('averagesdecimalpoints');
|
||||
$meanselection = $this->get_pref('meanselection');
|
||||
$shownumberofgrades = $this->get_pref('shownumberofgrades');
|
||||
|
||||
$avghtml = '';
|
||||
$avgcssclass = 'avg';
|
||||
|
||||
if ($grouponly) {
|
||||
$straverage = get_string('groupavg', 'grades');
|
||||
$showaverages = $this->currentgroup && $this->get_pref('showaverages');
|
||||
$groupsql = $this->groupsql;
|
||||
$groupwheresql = $this->groupwheresql;
|
||||
$groupwheresqlparams = $this->groupwheresql_params;
|
||||
$avgcssclass = 'groupavg';
|
||||
} else {
|
||||
$straverage = get_string('overallaverage', 'grades');
|
||||
$showaverages = $this->get_pref('showaverages');
|
||||
$groupsql = "";
|
||||
$groupwheresql = "";
|
||||
$groupwheresqlparams = array();
|
||||
}
|
||||
|
||||
if ($shownumberofgrades) {
|
||||
$straverage .= ' (' . get_string('submissions', 'grades') . ') ';
|
||||
}
|
||||
|
||||
$totalcount = $this->get_numusers($grouponly);
|
||||
|
||||
//limit to users with a gradeable role
|
||||
list($gradebookrolessql, $gradebookrolesparams) = $DB->get_in_or_equal(explode(',', $this->gradebookroles), SQL_PARAMS_NAMED, 'grbr0');
|
||||
|
||||
//limit to users with an active enrollment
|
||||
list($enrolledsql, $enrolledparams) = get_enrolled_sql($this->context);
|
||||
|
||||
if ($showaverages) {
|
||||
$params = array_merge(array('courseid'=>$this->courseid), $gradebookrolesparams, $enrolledparams, $groupwheresqlparams);
|
||||
$totalcount = $this->get_numusers($grouponly);
|
||||
|
||||
// find sums of all grade items in course
|
||||
// Limit to users with a gradeable role.
|
||||
list($gradebookrolessql, $gradebookrolesparams) = $DB->get_in_or_equal(explode(',', $this->gradebookroles), SQL_PARAMS_NAMED, 'grbr0');
|
||||
|
||||
// Limit to users with an active enrollment.
|
||||
list($enrolledsql, $enrolledparams) = get_enrolled_sql($this->context);
|
||||
|
||||
// We want to query both the current context and parent contexts.
|
||||
list($relatedctxsql, $relatedctxparams) = $DB->get_in_or_equal($this->context->get_parent_context_ids(true), SQL_PARAMS_NAMED, 'relatedctx');
|
||||
|
||||
$params = array_merge(array('courseid' => $this->courseid), $gradebookrolesparams, $enrolledparams, $groupwheresqlparams, $relatedctxparams);
|
||||
|
||||
// Find sums of all grade items in course.
|
||||
$sql = "SELECT g.itemid, SUM(g.finalgrade) AS sum
|
||||
FROM {grade_items} gi
|
||||
JOIN {grade_grades} g ON g.itemid = gi.id
|
||||
|
@ -1332,7 +1322,7 @@ class grade_report_grader extends grade_report {
|
|||
SELECT DISTINCT ra.userid
|
||||
FROM {role_assignments} ra
|
||||
WHERE ra.roleid $gradebookrolessql
|
||||
AND ra.contextid " . get_related_contexts_string($this->context) . "
|
||||
AND ra.contextid $relatedctxsql
|
||||
) rainner ON rainner.userid = u.id
|
||||
$groupsql
|
||||
WHERE gi.courseid = :courseid
|
||||
|
@ -1361,7 +1351,7 @@ class grade_report_grader extends grade_report {
|
|||
$groupsql
|
||||
WHERE gi.courseid = :courseid
|
||||
AND ra.roleid $gradebookrolessql
|
||||
AND ra.contextid ".get_related_contexts_string($this->context)."
|
||||
AND ra.contextid $relatedctxsql
|
||||
AND u.deleted = 0
|
||||
AND g.id IS NULL
|
||||
$groupwheresql
|
||||
|
@ -1399,8 +1389,6 @@ class grade_report_grader extends grade_report {
|
|||
$meancount = $totalcount;
|
||||
}
|
||||
|
||||
$decimalpoints = $item->get_decimals();
|
||||
|
||||
// Determine which display type to use for this average
|
||||
if ($USER->gradeediting[$this->courseid]) {
|
||||
$displaytype = GRADE_DISPLAY_TYPE_REAL;
|
||||
|
|
|
@ -271,18 +271,21 @@ abstract class grade_report {
|
|||
* @return int Count of users
|
||||
*/
|
||||
public function get_numusers($groups=true) {
|
||||
global $CFG, $DB;
|
||||
global $DB;
|
||||
|
||||
$groupsql = "";
|
||||
$groupwheresql = "";
|
||||
|
||||
//limit to users with a gradeable role
|
||||
// Limit to users with a gradeable role.
|
||||
list($gradebookrolessql, $gradebookrolesparams) = $DB->get_in_or_equal(explode(',', $this->gradebookroles), SQL_PARAMS_NAMED, 'grbr0');
|
||||
|
||||
//limit to users with an active enrollment
|
||||
// Limit to users with an active enrollment.
|
||||
list($enrolledsql, $enrolledparams) = get_enrolled_sql($this->context);
|
||||
|
||||
$params = array_merge($gradebookrolesparams, $enrolledparams);
|
||||
// We want to query both the current context and parent contexts.
|
||||
list($relatedctxsql, $relatedctxparams) = $DB->get_in_or_equal($this->context->get_parent_context_ids(true), SQL_PARAMS_NAMED, 'relatedctx');
|
||||
|
||||
$params = array_merge($gradebookrolesparams, $enrolledparams, $relatedctxparams);
|
||||
|
||||
if ($groups) {
|
||||
$groupsql = $this->groupsql;
|
||||
|
@ -300,7 +303,7 @@ abstract class grade_report {
|
|||
WHERE ra.roleid $gradebookrolessql
|
||||
AND u.deleted = 0
|
||||
$groupwheresql
|
||||
AND ra.contextid ".get_related_contexts_string($this->context);
|
||||
AND ra.contextid $relatedctxsql";
|
||||
return $DB->count_records_sql($countsql, $params);
|
||||
}
|
||||
|
||||
|
|
|
@ -611,42 +611,34 @@ class grade_report_user extends grade_report {
|
|||
|
||||
/**
|
||||
* Builds the grade item averages.
|
||||
*
|
||||
*/
|
||||
function calculate_averages() {
|
||||
global $USER, $DB;
|
||||
|
||||
if ($this->showaverage) {
|
||||
// this settings are actually grader report settings (not user report)
|
||||
// This settings are actually grader report settings (not user report)
|
||||
// however we're using them as having two separate but identical settings the
|
||||
// user would have to keep in sync would be annoying
|
||||
// user would have to keep in sync would be annoying.
|
||||
$averagesdisplaytype = $this->get_pref('averagesdisplaytype');
|
||||
$averagesdecimalpoints = $this->get_pref('averagesdecimalpoints');
|
||||
$meanselection = $this->get_pref('meanselection');
|
||||
$shownumberofgrades = $this->get_pref('shownumberofgrades');
|
||||
|
||||
$avghtml = '';
|
||||
$avgcssclass = 'avg';
|
||||
|
||||
$straverage = get_string('overallaverage', 'grades');
|
||||
|
||||
$groupsql = $this->groupsql;
|
||||
$groupwheresql = $this->groupwheresql;
|
||||
//$groupwheresqlparams = ;
|
||||
|
||||
if ($shownumberofgrades) {
|
||||
$straverage .= ' (' . get_string('submissions', 'grades') . ') ';
|
||||
}
|
||||
|
||||
$totalcount = $this->get_numusers(false);
|
||||
|
||||
//limit to users with a gradeable role ie students
|
||||
// We want to query both the current context and parent contexts.
|
||||
list($relatedctxsql, $relatedctxparams) = $DB->get_in_or_equal($this->context->get_parent_context_ids(true), SQL_PARAMS_NAMED, 'relatedctx');
|
||||
|
||||
// Limit to users with a gradeable role ie students.
|
||||
list($gradebookrolessql, $gradebookrolesparams) = $DB->get_in_or_equal(explode(',', $this->gradebookroles), SQL_PARAMS_NAMED, 'grbr0');
|
||||
|
||||
//limit to users with an active enrolment
|
||||
// Limit to users with an active enrolment.
|
||||
list($enrolledsql, $enrolledparams) = get_enrolled_sql($this->context);
|
||||
|
||||
$params = array_merge($this->groupwheresql_params, $gradebookrolesparams, $enrolledparams);
|
||||
$params = array_merge($this->groupwheresql_params, $gradebookrolesparams, $enrolledparams, $relatedctxparams);
|
||||
$params['courseid'] = $this->courseid;
|
||||
|
||||
// find sums of all grade items in course
|
||||
|
@ -659,7 +651,7 @@ class grade_report_user extends grade_report {
|
|||
SELECT DISTINCT ra.userid
|
||||
FROM {role_assignments} ra
|
||||
WHERE ra.roleid $gradebookrolessql
|
||||
AND ra.contextid " . get_related_contexts_string($this->context) . "
|
||||
AND ra.contextid $relatedctxsql
|
||||
) rainner ON rainner.userid = u.id
|
||||
$groupsql
|
||||
WHERE gi.courseid = :courseid
|
||||
|
@ -690,7 +682,7 @@ class grade_report_user extends grade_report {
|
|||
SELECT DISTINCT ra.userid
|
||||
FROM {role_assignments} ra
|
||||
WHERE ra.roleid $gradebookrolessql
|
||||
AND ra.contextid " . get_related_contexts_string($this->context) . "
|
||||
AND ra.contextid $relatedctxsql
|
||||
) rainner ON rainner.userid = u.id
|
||||
LEFT JOIN {grade_grades} gg
|
||||
ON (gg.itemid = gi.id AND gg.userid = u.id AND gg.finalgrade IS NOT NULL AND gg.hidden = 0)
|
||||
|
@ -731,8 +723,6 @@ class grade_report_user extends grade_report {
|
|||
$mean_count = $totalcount;
|
||||
}
|
||||
|
||||
$decimalpoints = $item->get_decimals();
|
||||
|
||||
// Determine which display type to use for this average
|
||||
if (!empty($USER->gradeediting) && $USER->gradeediting[$this->courseid]) {
|
||||
$displaytype = GRADE_DISPLAY_TYPE_REAL;
|
||||
|
@ -747,7 +737,6 @@ class grade_report_user extends grade_report {
|
|||
// Override grade_item setting if a display preference (not inherit) was set for the averages
|
||||
if ($averagesdecimalpoints == GRADE_REPORT_PREFERENCE_INHERIT) {
|
||||
$decimalpoints = $item->get_decimals();
|
||||
|
||||
} else {
|
||||
$decimalpoints = $averagesdecimalpoints;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue