fixing WSClient pagination variable rewriting

This commit is contained in:
Colin Kuskie 2007-02-10 05:20:44 +00:00
parent 818ca95c70
commit 59d074464b
2 changed files with 19 additions and 4 deletions

View file

@ -65,6 +65,7 @@
- fix: multiple matrix sharing features - fix: multiple matrix sharing features
- fix: Fixed a bug with processing macros in rich media ads. (perlDreamer Consulting, LLC) - fix: Fixed a bug with processing macros in rich media ads. (perlDreamer Consulting, LLC)
- fix: WebGUI Auth create account can now be properly overriden - fix: WebGUI Auth create account can now be properly overriden
- fix: WSClient pagination variables. (perlDreamer Consulting, LLC)
7.3.8 7.3.8
- Fixed a template variable rewriting problem with HTML::Template::Expr - Fixed a template variable rewriting problem with HTML::Template::Expr

View file

@ -472,11 +472,25 @@ sub view {
# set pagination links # set pagination links
if ($p) { if ($p) {
$p->appendTemplateVars(\%var); local $_;
for ('pagination.firstPage','pagination.lastPage','pagination.nextPage','pagination.pageList', $p->appendTemplateVars(\%var);
'pagination.previousPage', 'pagination.pageList.upTo20', 'pagination.pageList.upTo10') { ##Refer to them by name in a loop
foreach (qw/pagination.firstPage pagination.firstPageUrl
pagination.lastPage pagination.lastPageUrl
pagination.nextPage pagination.nextPageUrl
pagination.previousPage pagination.previousPageUrl
pagination.pageList pagination.pageList.upTo20
pagination.pageList.upTo10/) {
$var{$_} =~ s/\?/\?cache=$cache_key\;/g; $var{$_} =~ s/\?/\?cache=$cache_key\;/g;
} }
##Operate on the variables directly for the loops
foreach my $templateLoop (
@{ $var{'pagination.pageLoop'} },
@{ $var{'pagination.pageLoop.upTo20'} },
@{ $var{'pagination.pageLoop.upTo10'} },
) {
$templateLoop->{'pagination.url'} =~ s/\?/\?cache=$cache_key\;/g;
}
} }
} else { } else {
$self->session->errorHandler->debug($i18n->get(26) . $@) if $self->get('debugMode'); $self->session->errorHandler->debug($i18n->get(26) . $@) if $self->get('debugMode');