mirror of
https://github.com/moodle/moodle.git
synced 2025-04-27 19:33:16 +02:00
MDL-10662, I found these bugs when I was working on MDL-14068
This commit is contained in:
parent
5a2a53316f
commit
f7edb3c779
@ -238,14 +238,14 @@ function exercise_count_student_submissions($exercise) {
|
||||
global $CFG;
|
||||
|
||||
// make sure it works on the site course
|
||||
$select = "u.course = '$exercise->course' AND";
|
||||
if ($exercise->course == SITEID) {
|
||||
$select = '';
|
||||
}
|
||||
// Where is table u? I remove it, try to make SQL correct.
|
||||
// $select = "u.course = '$exercise->course' AND";
|
||||
// if ($exercise->course == SITEID) {
|
||||
// $select = '';
|
||||
// }
|
||||
|
||||
return count_records_sql("SELECT count(*) FROM {$CFG->prefix}exercise_submissions s
|
||||
WHERE $select
|
||||
AND s.exerciseid = $exercise->id
|
||||
WHERE s.exerciseid = $exercise->id
|
||||
AND timecreated > 0");
|
||||
}
|
||||
|
||||
@ -487,16 +487,16 @@ function exercise_get_best_submission_grades($exercise) {
|
||||
global $CFG;
|
||||
|
||||
// make sure it works on the site course
|
||||
$select = "u.course = '$exercise->course' AND";
|
||||
if ($exercise->course == SITEID) {
|
||||
$select = '';
|
||||
}
|
||||
// Where is table u? I remove it, try to make SQL correct.
|
||||
// $select = "u.course = '$exercise->course' AND";
|
||||
// if ($exercise->course == SITEID) {
|
||||
// $select = '';
|
||||
// }
|
||||
|
||||
return get_records_sql("SELECT DISTINCT s.userid, MAX(a.grade) AS grade FROM
|
||||
{$CFG->prefix}exercise_submissions s,
|
||||
{$CFG->prefix}exercise_assessments a
|
||||
WHERE $select
|
||||
AND s.exerciseid = $exercise->id
|
||||
WHERE s.exerciseid = $exercise->id
|
||||
AND s.late = 0
|
||||
AND a.submissionid = s.id
|
||||
GROUP BY s.userid");
|
||||
@ -540,55 +540,16 @@ function exercise_get_student_submissions($exercise, $order = "time", $groupid =
|
||||
// allow for multiple assessments of submissions (coming from different teachers)
|
||||
|
||||
// make sure it works on the site course
|
||||
$select = "u.course = '$exercise->course' AND";
|
||||
if ($exercise->course == SITEID) {
|
||||
$select = '';
|
||||
}
|
||||
// Where is table u? I remove it, try to make SQL correct.
|
||||
// $select = "u.course = '$exercise->course' AND";
|
||||
// if ($exercise->course == SITEID) {
|
||||
// $select = '';
|
||||
// }
|
||||
|
||||
return get_records_sql("SELECT s.*, AVG(a.grade) AS grade FROM
|
||||
{$CFG->prefix}groups_members g, {$CFG->prefix}exercise_submissions s,
|
||||
{$CFG->prefix}exercise_assessments a
|
||||
WHERE $select g.groupid = $groupid
|
||||
AND s.exerciseid = $exercise->id
|
||||
AND a.submissionid = s.id
|
||||
GROUP BY s.id
|
||||
ORDER BY a.grade DESC");
|
||||
}
|
||||
|
||||
if ($order == "title") {
|
||||
$order = "s.title";
|
||||
} elseif ($order == "name") {
|
||||
$order = "n.firstname, n.lastname, s.timecreated DESC";
|
||||
} elseif ($order == "time") {
|
||||
$order = "s.timecreated";
|
||||
}
|
||||
|
||||
// make sure it works on the site course
|
||||
$select = "u.course = '$exercise->course' AND";
|
||||
if ($exercise->course == SITEID) {
|
||||
$select = '';
|
||||
}
|
||||
|
||||
return get_records_sql("SELECT s.* FROM {$CFG->prefix}user n,
|
||||
{$CFG->prefix}groups_members g, {$CFG->prefix}exercise_submissions s
|
||||
WHERE $select g.groupid = $groupid
|
||||
AND s.exerciseid = $exercise->id
|
||||
ORDER BY $order");
|
||||
|
||||
}
|
||||
else { // no group - all users
|
||||
if ($order == "grade") {
|
||||
// allow for multiple assessments of submissions (coming from different teachers)
|
||||
|
||||
// make sure it works on the site course
|
||||
$select = "u.course = '$exercise->course' AND";
|
||||
if ($exercise->course == SITEID) {
|
||||
$select = '';
|
||||
}
|
||||
|
||||
return get_records_sql("SELECT s.*, AVG(a.grade) AS grade FROM {$CFG->prefix}exercise_submissions s,
|
||||
{$CFG->prefix}exercise_assessments a
|
||||
WHERE $select
|
||||
WHERE g.groupid = $groupid
|
||||
AND s.exerciseid = $exercise->id
|
||||
AND a.submissionid = s.id
|
||||
GROUP BY s.id
|
||||
@ -604,15 +565,56 @@ function exercise_get_student_submissions($exercise, $order = "time", $groupid =
|
||||
}
|
||||
|
||||
// make sure it works on the site course
|
||||
$select = "u.course = '$exercise->course' AND";
|
||||
if ($exercise->course == SITEID) {
|
||||
$select = '';
|
||||
// Where is table u? I remove it, try to make SQL correct.
|
||||
// $select = "u.course = '$exercise->course' AND";
|
||||
// if ($exercise->course == SITEID) {
|
||||
// $select = '';
|
||||
// }
|
||||
|
||||
return get_records_sql("SELECT s.* FROM {$CFG->prefix}user n,
|
||||
{$CFG->prefix}groups_members g, {$CFG->prefix}exercise_submissions s
|
||||
WHERE g.groupid = $groupid
|
||||
AND s.exerciseid = $exercise->id
|
||||
ORDER BY $order");
|
||||
|
||||
}
|
||||
else { // no group - all users
|
||||
if ($order == "grade") {
|
||||
// allow for multiple assessments of submissions (coming from different teachers)
|
||||
|
||||
// make sure it works on the site course
|
||||
// Where is table u? I remove it, try to make SQL correct.
|
||||
// $select = "u.course = '$exercise->course' AND";
|
||||
// if ($exercise->course == SITEID) {
|
||||
// $select = '';
|
||||
// }
|
||||
|
||||
return get_records_sql("SELECT s.*, AVG(a.grade) AS grade FROM {$CFG->prefix}exercise_submissions s,
|
||||
{$CFG->prefix}exercise_assessments a
|
||||
WHERE s.exerciseid = $exercise->id
|
||||
AND a.submissionid = s.id
|
||||
GROUP BY s.id
|
||||
ORDER BY a.grade DESC");
|
||||
}
|
||||
|
||||
if ($order == "title") {
|
||||
$order = "s.title";
|
||||
} elseif ($order == "name") {
|
||||
$order = "n.firstname, n.lastname, s.timecreated DESC";
|
||||
} elseif ($order == "time") {
|
||||
$order = "s.timecreated";
|
||||
}
|
||||
|
||||
// make sure it works on the site course
|
||||
// Where is table u? I remove it, try to make SQL correct.
|
||||
// $select = "u.course = '$exercise->course' AND";
|
||||
// if ($exercise->course == SITEID) {
|
||||
// $select = '';
|
||||
// }
|
||||
|
||||
return get_records_sql("SELECT s.* FROM {$CFG->prefix}exercise_submissions s,
|
||||
{$CFG->prefix}user n
|
||||
WHERE $select
|
||||
AND s.exerciseid = $exercise->id
|
||||
WHERE s.exerciseid = $exercise->id
|
||||
ORDER BY $order");
|
||||
}
|
||||
}
|
||||
@ -657,16 +659,15 @@ function exercise_get_ungraded_assessments_student($exercise) {
|
||||
// Return all assessments which have not been graded or just graded of student's submissions
|
||||
|
||||
// make sure it works on the site course
|
||||
$select = "u.course = '$exercise->course' AND";
|
||||
if ($exercise->course == SITEID) {
|
||||
$select = '';
|
||||
}
|
||||
// $select = "u.course = '$exercise->course' AND";
|
||||
// if ($exercise->course == SITEID) {
|
||||
// $select = '';
|
||||
// }
|
||||
|
||||
$cutofftime =time() - $CFG->maxeditingtime;
|
||||
return get_records_sql("SELECT a.* FROM {$CFG->prefix}exercise_submissions s
|
||||
{$CFG->prefix}exercise_assessments a
|
||||
WHERE $select
|
||||
AND s.exerciseid = $exercise->id
|
||||
WHERE s.exerciseid = $exercise->id
|
||||
AND a.submissionid = s.id
|
||||
AND (a.timegraded = 0 OR a.timegraded > $cutofftime)
|
||||
AND a.timecreated < $cutofftime
|
||||
|
Loading…
x
Reference in New Issue
Block a user