[Aimmath-commit] moodle/mod/math_assignment view.php,1.10,1.11
Brought to you by:
gustav_delius,
npstrick
|
From: <ma...@us...> - 2003-09-22 01:13:05
|
Update of /cvsroot/aimmath/moodle/mod/math_assignment
In directory sc8-pr-cvs1:/tmp/cvs-serv25016/mod/math_assignment
Modified Files:
view.php
Log Message:
Started to implement paging in view.php. Currently MySQL only but database access needs to be changed throughout.
Index: view.php
===================================================================
RCS file: /cvsroot/aimmath/moodle/mod/math_assignment/view.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** view.php 21 Sep 2003 21:02:35 -0000 1.10
--- view.php 22 Sep 2003 01:13:01 -0000 1.11
***************
*** 1,3 ****
! <?PHP // $Id$
/// This page lets teachers view the grades for all students in the course for the math assignment
--- 1,3 ----
! <?php // $Id$
/// This page lets teachers view the grades for all students in the course for the math assignment
***************
*** 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()) {
--- 11,17 ----
optional_variable($q); // assignment ID
optional_variable($download, ""); // to download data
optional_variable($sort, "lastname ASC"); // column and direction to sort
+ optional_variable($page, 1); // page to display
+ optional_variable($pagerows, 100); // number of students to display per page
if (! $site = get_site()) {
***************
*** 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");
--- 52,55 ----
***************
*** 92,97 ****
if (isteacher($course->id)) {
! // 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",
--- 71,119 ----
if (isteacher($course->id)) {
! // 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
! $sort = implode(" ", $sort);
!
! // check page is valid
! if ($page <= 0)
! $page = 1;
! if ($pagerows < 10) { // refuse to show less than 10 rows per page
! if ($pagerows > 0)
! $page = (int) (($page - 1) * $pagerows) / 10 + 1;
! else
! $page = 1;
! $pagerows = 10;
! }
!
! // Count all students (NOTE : MySQL 4 only but nice and fast)
! $numstudents = $db->Execute("SELECT count(*) FROM {$CFG->prefix}user u LEFT JOIN {$CFG->prefix}user_students s ON s.userid = u.id WHERE s.course = '$course->id' AND u.deleted = '0'");
! if ($numstudents)
! $numstudents = (int) $numstudents->fields[0];
! else
! $numstudents = 0;
!
! if (($page - 1) * $pagerows > $numstudents)
! $page = (int) ($numstudents + $pagerows - 1) / $pagerows;
!
! // Get a list of students for this page
! $page = ($page - 1) * $pagerows;
! if (!$students = get_course_students($course->id, $sortgrade ? "''" : "u.$sort" . ($pagerows ? " LIMIT $page, $pagerows" : ""))) {
print_header("$course->shortname: $math_assignment->name", "$course->fullname",
"$navigation <a href=\"index.php?id=$course->id\">$strmath_assignments</a> -> $math_assignment->name",
***************
*** 392,395 ****
--- 414,420 ----
}
+ // print paging controls
+ print_paging_form ("top", $cm->id, $sort, $numstudents, $page, $pagerows);
+
echo "<form action=\"updatepapergrades.php?id=$math_assignment->id\" method=\"post\" name=\"papergradeform\">";
print_table($table);
***************
*** 420,423 ****
--- 445,451 ----
echo "</td></tr></table>";
+ // print paging controls
+ print_paging_form ("bottom", $cm->id, $sort, $numstudents, $page, $pagerows);
+
if ($adminlinks = math_assignment_get_admin_links($cm, $math_assignment, "center")) {
print_heading(get_string("administration"));
***************
*** 440,442 ****
--- 468,492 ----
}
+ function print_paging_form($name, $id, $sort, $count, $page, $pagerows) {
+ if ($count > $pagerows) {
+ echo "<form action=\"view.php?id=$id\" method=\"post\" name=\"page$name\">\n";
+ echo "<input type=\"hidden\" name=\"sort\" value=\"$sort\" />\n";
+ $moreinfo->start = $page + 1;
+ $moreinfo->end = min($page + $pagerows, $count);
+ $moreinfo->total = $count;
+ echo "<p align=\"center\">" . get_string("displayingrows", "math_assignment", $moreinfo) . "</p>\n";
+ echo "<p align=\"center\">" . get_string("page") . " :";
+ $pages = ($count + $pagerows - 1) / $pagerows;
+ $page++;
+ for ($i = 1; $i <= $pages; $i++) {
+ if ($i == $page)
+ echo " <b>$i</b>";
+ else
+ echo " <input type=\"submit\" name=\"page\" value=\"$i\" />";
+ }
+ echo "</p>\n";
+ echo "<input type=\"hidden\" name=\"pagerows\" value=\"$pagerows\" />\n";
+ echo "</form>\n";
+ }
+ }
?>
|