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 {