]> git.mjollnir.org Git - moodle.git/commitdiff
Bug #5793: remember whether Show all has been clicked in the question bank. Merged...
authortjhunt <tjhunt>
Mon, 12 Jun 2006 13:54:01 +0000 (13:54 +0000)
committertjhunt <tjhunt>
Mon, 12 Jun 2006 13:54:01 +0000 (13:54 +0000)
question/editlib.php
question/showbank.php

index 5135123f4f7b94565116e1dfb8c131d3bcc08a3c..85b5643ae14f6d60e667dfb217800679a145decd 100644 (file)
@@ -15,6 +15,8 @@
 
 require_once($CFG->libdir.'/questionlib.php');
 
+define('DEFAULT_QUESTIONS_PER_PAGE', 20);
+
 /**
 * Function to read all questions for category into big array
 *
@@ -366,8 +368,12 @@ function question_list($course, $categoryid, $quizid=0,
     }
     echo '<tr><td align="center" colspan="3">';
     print_paging_bar($totalnumber, $page, $perpage, "edit.php?courseid={$course->id}&amp;perpage=$perpage&amp;");
-    if ($totalnumber > $perpage) {
-        echo '<a href="edit.php?courseid='.$course->id.'&amp;perpage=1000">'.get_string('showall', 'moodle', $totalnumber).'</a>';
+    if ($totalnumber > DEFAULT_QUESTIONS_PER_PAGE) {
+        if ($perpage == DEFAULT_QUESTIONS_PER_PAGE) {
+            echo '<a href="edit.php?courseid='.$course->id.'&amp;perpage=1000">'.get_string('showall', 'moodle', $totalnumber).'</a>';
+        } else {
+            echo '<a href="edit.php?courseid='.$course->id.'&amp;perpage=' . DEFAULT_QUESTIONS_PER_PAGE . '">'.get_string('showperpage', 'moodle', DEFAULT_QUESTIONS_PER_PAGE).'</a>';
+        }
     }
     echo "</td></tr></table>\n";
     print_simple_box_end();
index cf23d4a72174daf6a870bec88286369862350b01..786fef9e7417e4bc96a7825d9e4692489e8d2224 100644 (file)
@@ -24,7 +24,7 @@
     require_once($CFG->dirroot.'/question/editlib.php');
 
     $page      = optional_param('page', -1, PARAM_INT);
-    $perpage   = optional_param('perpage', 20, PARAM_INT);
+    $perpage   = optional_param('perpage', -1, PARAM_INT);
     $sortorder = optional_param('sortorder', '');
     if (preg_match("/[';]/", $sortorder)) {
         error("Incorrect use of the parameter 'sortorder'");
         $page = isset($SESSION->questionpage) ? $SESSION->questionpage : 0;
     }
 
+    if ($perpage > -1) {
+        $SESSION->questionperpage = $perpage;
+    } else {
+        $perpage = isset($SESSION->questionperpage) ? $SESSION->questionperpage : DEFAULT_QUESTIONS_PER_PAGE;
+    }
+
     if ($sortorder) {
         $SESSION->questionsortorder = $sortorder;
     } else {