diff --git a/question/editlib.php b/question/editlib.php
index 5135123f4f7..85b5643ae14 100644
--- a/question/editlib.php
+++ b/question/editlib.php
@@ -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 '
| ';
print_paging_bar($totalnumber, $page, $perpage, "edit.php?courseid={$course->id}&perpage=$perpage&");
- if ($totalnumber > $perpage) {
- echo ''.get_string('showall', 'moodle', $totalnumber).'';
+ if ($totalnumber > DEFAULT_QUESTIONS_PER_PAGE) {
+ if ($perpage == DEFAULT_QUESTIONS_PER_PAGE) {
+ echo ''.get_string('showall', 'moodle', $totalnumber).'';
+ } else {
+ echo ''.get_string('showperpage', 'moodle', DEFAULT_QUESTIONS_PER_PAGE).'';
+ }
}
echo " |
\n";
print_simple_box_end();
diff --git a/question/showbank.php b/question/showbank.php
index cf23d4a7217..786fef9e741 100644
--- a/question/showbank.php
+++ b/question/showbank.php
@@ -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'");
@@ -36,6 +36,12 @@
$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 {