From d5ae34a5a7540ae629739cebfdf1f6ab9a4542f8 Mon Sep 17 00:00:00 2001 From: Sam Hemelryk Date: Mon, 13 Oct 2014 11:46:37 +1300 Subject: [PATCH] MDL-47077 report_participation: fixed pagination in groups --- report/participation/index.php | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/report/participation/index.php b/report/participation/index.php index c097b6704ff63..2d717bb391b54 100644 --- a/report/participation/index.php +++ b/report/participation/index.php @@ -37,7 +37,7 @@ $action = optional_param('action', '', PARAM_ALPHA); $page = optional_param('page', 0, PARAM_INT); // which page to show $perpage = optional_param('perpage', DEFAULT_PAGE_SIZE, PARAM_INT); // how many per page -$currentgroup = optional_param('group', 0, PARAM_INT); // Get the active group. +$currentgroup = optional_param('group', null, PARAM_INT); // Get the active group. $url = new moodle_url('/report/participation/index.php', array('id'=>$id)); if ($roleid !== 0) $url->param('roleid'); @@ -128,8 +128,15 @@ // Print first controls. report_participation_print_filter_form($course, $timefrom, $minlog, $action, $roleid, $instanceid); -$baseurl = $CFG->wwwroot.'/report/participation/index.php?id='.$course->id.'&roleid=' - .$roleid.'&instanceid='.$instanceid.'&timefrom='.$timefrom.'&action='.$action.'&perpage='.$perpage; +$baseurl = new moodle_url('/report/participation/index.php', array( + 'id' => $course->id, + 'roleid' => $roleid, + 'instanceid' => $instanceid, + 'timefrom' => $timefrom, + 'action' => $action, + 'perpage' => $perpage, + 'group' => $currentgroup +)); $select = groups_allgroups_course_menu($course, $baseurl, true, $currentgroup); // User cannot see any group. @@ -341,10 +348,15 @@ $table->print_html(); if ($perpage == SHOW_ALL_PAGE_SIZE) { - echo '
'.get_string('showperpage', '', DEFAULT_PAGE_SIZE).'
'."\n"; - } - else if ($matchcount > 0 && $perpage < $matchcount) { - echo '
'.get_string('showall', '', $matchcount).'
'."\n"; + $perpageurl = new moodle_url($baseurl, array('perpage' => DEFAULT_PAGE_SIZE)); + echo html_writer::start_div('', array('id' => 'showall')); + echo html_writer::link($perpageurl, get_string('showperpage', '', DEFAULT_PAGE_SIZE)); + echo html_writer::end_div(); + } else if ($matchcount > 0 && $perpage < $matchcount) { + $perpageurl = new moodle_url($baseurl, array('perpage' => SHOW_ALL_PAGE_SIZE)); + echo html_writer::start_div('', array('id' => 'showall')); + echo html_writer::link($perpageurl, get_string('showall', '', $matchcount)); + echo html_writer::end_div(); } echo '
';