MDL-28945: Fix course/activity completion reports initial selection broken

This commit is contained in:
Tony Levi 2011-08-16 12:00:29 +09:30 committed by sam marshall
parent 6731a04d93
commit 1f186372ea
2 changed files with 36 additions and 14 deletions

View file

@ -241,6 +241,9 @@ $pagingbar = '';
foreach ($initials as $initial) { foreach ($initials as $initial) {
$var = 'si'.$initial; $var = 'si'.$initial;
$othervar = $initial == 'first' ? 'silast' : 'sifirst';
$othervar = $$othervar != 'all' ? "&{$othervar}={$$othervar}" : '';
$pagingbar .= ' <div class="initialbar '.$initial.'initial">'; $pagingbar .= ' <div class="initialbar '.$initial.'initial">';
$pagingbar .= get_string($initial.'name').':&nbsp;'; $pagingbar .= get_string($initial.'name').':&nbsp;';
@ -248,7 +251,7 @@ foreach ($initials as $initial) {
$pagingbar .= '<strong>'.get_string('all').'</strong> '; $pagingbar .= '<strong>'.get_string('all').'</strong> ';
} }
else { else {
$pagingbar .= '<a href="'.$link.'">'.get_string('all').'</a> '; $pagingbar .= "<a href=\"{$link}{$othervar}\">".get_string('all').'</a> ';
} }
foreach ($alphabet as $letter) { foreach ($alphabet as $letter) {
@ -256,7 +259,7 @@ foreach ($initials as $initial) {
$pagingbar .= '<strong>'.$letter.'</strong> '; $pagingbar .= '<strong>'.$letter.'</strong> ';
} }
else { else {
$pagingbar .= '<a href="'.$link.'&amp;'.$var.'='.$letter.'">'.$letter.'</a> '; $pagingbar .= "<a href=\"$link&amp;$var={$letter}{$othervar}\">$letter</a> ";
} }
} }
@ -270,10 +273,15 @@ if($total > COMPLETION_REPORT_PAGE) {
$pagingbar .= '<div class="paging">'; $pagingbar .= '<div class="paging">';
$pagingbar .= get_string('page').': '; $pagingbar .= get_string('page').': ';
$sistrings = array();
$sistrings[] = $sifirst != 'all' ? "sifirst={$sifirst}" : null;
$sistrings[] = $silast != 'all' ? "silast={$silast}" : null;
$sistring = !empty($sistrings) ? implode('&amp;', $sistrings) : '';
// Display previous link // Display previous link
if ($start > 0) { if ($start > 0) {
$pstart = max($start - COMPLETION_REPORT_PAGE, 0); $pstart = max($start - COMPLETION_REPORT_PAGE, 0);
$pagingbar .= '(<a class="previous" href="'.$link.$pstart.'">'.get_string('previous').'</a>)&nbsp;'; $pagingbar .= "(<a class=\"previous\" href=\"{$link}{$pstart}{$sistring}\">".get_string('previous').'</a>)&nbsp;';
} }
// Create page links // Create page links
@ -286,7 +294,7 @@ if($total > COMPLETION_REPORT_PAGE) {
$pagingbar .= '&nbsp;'.$curpage.'&nbsp;'; $pagingbar .= '&nbsp;'.$curpage.'&nbsp;';
} }
else { else {
$pagingbar .= '&nbsp;<a href="'.$link.$curstart.'">'.$curpage.'</a>&nbsp;'; $pagingbar .= "&nbsp;<a href=\"{$link}{$curstart}{$sistring}\">$curpage</a>&nbsp;";
} }
$curstart += COMPLETION_REPORT_PAGE; $curstart += COMPLETION_REPORT_PAGE;
@ -295,7 +303,7 @@ if($total > COMPLETION_REPORT_PAGE) {
// Display next link // Display next link
$nstart = $start + COMPLETION_REPORT_PAGE; $nstart = $start + COMPLETION_REPORT_PAGE;
if ($nstart < $total) { if ($nstart < $total) {
$pagingbar .= '&nbsp;(<a class="next" href="'.$link.$nstart.'">'.get_string('next').'</a>)'; $pagingbar .= "&nbsp;(<a class=\"next\" href=\"{$link}{$nstart}{$sistring}\">".get_string('next').'</a>)';
} }
$pagingbar .= '</div>'; $pagingbar .= '</div>';
@ -441,12 +449,15 @@ if(!$csv) {
// User heading / sort option // User heading / sort option
print '<th scope="col" class="completion-sortchoice" style="clear: both;">'; print '<th scope="col" class="completion-sortchoice" style="clear: both;">';
$sistring = "&amp;silast={$silast}&amp;sifirst={$sifirst}";
if($firstnamesort) { if($firstnamesort) {
print print
get_string('firstname').' / <a href="./?course='.$course->id.'">'. get_string('firstname')." / <a href=\"./?course={$course->id}{$sistring}\">".
get_string('lastname').'</a>'; get_string('lastname').'</a>';
} else { } else {
print '<a href="./?course='.$course->id.'&amp;sort=firstname">'. print "<a href=\"./?course={$course->id}&amp;sort=firstname{$sistring}\">".
get_string('firstname').'</a> / '. get_string('firstname').'</a> / '.
get_string('lastname'); get_string('lastname');
} }

View file

@ -173,6 +173,9 @@ $pagingbar = '';
foreach ($initials as $initial) { foreach ($initials as $initial) {
$var = 'si'.$initial; $var = 'si'.$initial;
$othervar = $initial == 'first' ? 'silast' : 'sifirst';
$othervar = $$othervar != 'all' ? "&amp;{$othervar}={$$othervar}" : '';
$pagingbar .= ' <div class="initialbar '.$initial.'initial">'; $pagingbar .= ' <div class="initialbar '.$initial.'initial">';
$pagingbar .= get_string($initial.'name').':&nbsp;'; $pagingbar .= get_string($initial.'name').':&nbsp;';
@ -180,7 +183,7 @@ foreach ($initials as $initial) {
$pagingbar .= '<strong>'.get_string('all').'</strong> '; $pagingbar .= '<strong>'.get_string('all').'</strong> ';
} }
else { else {
$pagingbar .= '<a href="'.$link.'">'.get_string('all').'</a> '; $pagingbar .= "<a href=\"{$link}{$othervar}\">".get_string('all').'</a> ';
} }
foreach ($alphabet as $letter) { foreach ($alphabet as $letter) {
@ -188,7 +191,7 @@ foreach ($initials as $initial) {
$pagingbar .= '<strong>'.$letter.'</strong> '; $pagingbar .= '<strong>'.$letter.'</strong> ';
} }
else { else {
$pagingbar .= '<a href="'.$link.'&amp;'.$var.'='.$letter.'">'.$letter.'</a> '; $pagingbar .= "<a href=\"$link&amp;$var={$letter}{$othervar}\">$letter</a> ";
} }
} }
@ -202,10 +205,15 @@ if($total > COMPLETION_REPORT_PAGE) {
$pagingbar .= '<div class="paging">'; $pagingbar .= '<div class="paging">';
$pagingbar .= get_string('page').': '; $pagingbar .= get_string('page').': ';
$sistrings = array();
$sistrings[] = $sifirst != 'all' ? "sifirst={$sifirst}" : null;
$sistrings[] = $silast != 'all' ? "silast={$silast}" : null;
$sistring = !empty($sistrings) ? implode('&amp;', $sistrings) : '';
// Display previous link // Display previous link
if ($start > 0) { if ($start > 0) {
$pstart = max($start - COMPLETION_REPORT_PAGE, 0); $pstart = max($start - COMPLETION_REPORT_PAGE, 0);
$pagingbar .= '(<a class="previous" href="'.$link.$pstart.'">'.get_string('previous').'</a>)&nbsp;'; $pagingbar .= "(<a class=\"previous\" href=\"{$link}{$pstart}{$sistring}\">".get_string('previous').'</a>)&nbsp;';
} }
// Create page links // Create page links
@ -218,7 +226,7 @@ if($total > COMPLETION_REPORT_PAGE) {
$pagingbar .= '&nbsp;'.$curpage.'&nbsp;'; $pagingbar .= '&nbsp;'.$curpage.'&nbsp;';
} }
else { else {
$pagingbar .= '&nbsp;<a href="'.$link.$curstart.'">'.$curpage.'</a>&nbsp;'; $pagingbar .= "&nbsp;<a href=\"{$link}{$curstart}{$sistring}\">$curpage</a>&nbsp;";
} }
$curstart += COMPLETION_REPORT_PAGE; $curstart += COMPLETION_REPORT_PAGE;
@ -227,7 +235,7 @@ if($total > COMPLETION_REPORT_PAGE) {
// Display next link // Display next link
$nstart = $start + COMPLETION_REPORT_PAGE; $nstart = $start + COMPLETION_REPORT_PAGE;
if ($nstart < $total) { if ($nstart < $total) {
$pagingbar .= '&nbsp;(<a class="next" href="'.$link.$nstart.'">'.get_string('next').'</a>)'; $pagingbar .= "&nbsp;(<a class=\"next\" href=\"{$link}{$nstart}{$sistring}\">".get_string('next').'</a>)';
} }
$pagingbar .= '</div>'; $pagingbar .= '</div>';
@ -251,12 +259,15 @@ if(!$csv) {
// User heading / sort option // User heading / sort option
print '<th scope="col" class="completion-sortchoice">'; print '<th scope="col" class="completion-sortchoice">';
$sistring = "&amp;silast={$silast}&amp;sifirst={$sifirst}";
if($firstnamesort) { if($firstnamesort) {
print print
get_string('firstname').' / <a href="./?course='.$course->id.'">'. get_string('firstname')." / <a href=\"./?course={$course->id}{$sistring}\">".
get_string('lastname').'</a>'; get_string('lastname').'</a>';
} else { } else {
print '<a href="./?course='.$course->id.'&amp;sort=firstname">'. print "<a href=\"./?course={$course->id}&amp;sort=firstname{$sistring}\">".
get_string('firstname').'</a> / '. get_string('firstname').'</a> / '.
get_string('lastname'); get_string('lastname');
} }