[Aimmath-commit] moodle/mod/math_assignment view.php,1.9,1.10
Brought to you by:
gustav_delius,
npstrick
|
From: <ma...@us...> - 2003-09-21 21:02:45
|
Update of /cvsroot/aimmath/moodle/mod/math_assignment
In directory sc8-pr-cvs1:/tmp/cvs-serv15735/mod/math_assignment
Modified Files:
view.php
Log Message:
Implemented sorting in view.php. No UI yet.
Index: view.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/view.php,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** view.php 20 Sep 2003 15:56:02 -0000 1.9
--- view.php 21 Sep 2003 21:02:35 -0000 1.10
***************
*** 11,14 ****
--- 11,16 ----
optional_variable($q); // assignment ID
optional_variable($download, ""); // to download data
+ optional_variable($page, 1); // page to display
+ optional_variable($sort, "lastname ASC"); // column and direction to sort
if (! $site = get_site()) {
***************
*** 49,52 ****
--- 51,76 ----
$hasboth = ($hasaim and $haspaper);
+ // verify that the sort string is correct
+ $sort = explode(" ", $sort);
+ if (count($sort) != 2) {
+ $sort[0] = "lastname"; // not valid so use default instead
+ $sort[1] = "ASC";
+ }
+ $sortgrade = 0;
+ if (strcasecmp($sort[0], "lastname") != 0) { // check for field name in most likely used order
+ if (strcasecmp($sort[0], "firstname") != 0) { // to improve speed
+ if (strcasecmp($sort[0], "totalgrade") != 0)
+ $sort[0] = "lastname"; // not valid so use default instead
+ else if (strcasecmp($sort[1], "desc") == 0)
+ $sortgrade = -1;
+ else
+ $sortgrade = 1;
+ }
+ }
+ if (strcasecmp($sort[1], "asc") != 0 && strcasecmp($sort[1], "desc") != 0)
+ $sort[1] = "ASC"; // not valid so use default instead
+ if (!$sortgrade)
+ $sort = implode(" ", $sort);
+
$strfirstname = get_string("firstname");
$strlastname = get_string("lastname");
***************
*** 69,73 ****
// Get a list of all students
! if (!$students = get_course_students($course->id, "u.lastname ASC")) {
print_header("$course->shortname: $math_assignment->name", "$course->fullname",
"$navigation <a href=\"index.php?id=$course->id\">$strmath_assignments</a> -> $math_assignment->name",
--- 93,97 ----
// Get a list of all students
! if (!$students = get_course_students($course->id, $sortgrade ? "''" : "u.$sort")) {
print_header("$course->shortname: $math_assignment->name", "$course->fullname",
"$navigation <a href=\"index.php?id=$course->id\">$strmath_assignments</a> -> $math_assignment->name",
***************
*** 88,91 ****
--- 112,119 ----
$grades[$student->id]->aimcomment = "";
}
+ }
+
+ if ($sortgrade) { // we need to do the sorting ourselves
+ usort($students, create_function('$a,$b','global $math_assignment, $grades; return ((math_assignment_total_grade($math_assignment, $grades[$a->id]) < math_assignment_total_grade($math_assignment, $grades[$b->id])) ? -1 : 1) * ' . $sortgrade . ';'));
}
}
|