[dw-free] Filter by multiple tags
[commit: http://hg.dwscoalition.org/dw-free/rev/680147b0e586]
http://bugs.dwscoalition.org/show_bug.cgi?id=1585
Make sure that changes to tag mode are carried over to next/previous pages.
Some refactoring for common code.
Patch by
kareila.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=1585
Make sure that changes to tag mode are carried over to next/previous pages.
Some refactoring for common code.
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- cgi-bin/DW/Logic/LogItems.pm
- cgi-bin/LJ/S2/RecentPage.pm
-------------------------------------------------------------------------------- diff -r 01b24e83f294 -r 680147b0e586 cgi-bin/DW/Logic/LogItems.pm --- a/cgi-bin/DW/Logic/LogItems.pm Tue Nov 16 17:38:12 2010 -0600 +++ b/cgi-bin/DW/Logic/LogItems.pm Wed Nov 17 12:42:57 2010 +0800 @@ -450,6 +450,8 @@ sub recent_items if ( $args{tagmode} eq 'and' ) { my $limit = $LJ::TAG_INTERSECTION; + die "\$LJ::TAG_INTERSECTION not set!" + unless $limit && $limit > 0; my $need = scalar @{ $args{tagids} }; $#{ $args{tagids} } = $limit - 1 if $need > $limit; diff -r 01b24e83f294 -r 680147b0e586 cgi-bin/LJ/S2/RecentPage.pm --- a/cgi-bin/LJ/S2/RecentPage.pm Tue Nov 16 17:38:12 2010 -0600 +++ b/cgi-bin/LJ/S2/RecentPage.pm Wed Nov 17 12:42:57 2010 +0800 @@ -227,18 +227,26 @@ sub RecentPage 'count' => $itemnum, }; + my %valid_modes = ( all => 'all', and => 'all' ); + my $tagmode = $valid_modes{$get->{mode} || ''}; + + # these are the same for both previous and next links + my %linkattrs = ( style => $mine || "", + mode => $tagmode || "", + s2id => LJ::eurl( $get->{s2id} ) || "", + tag => LJ::eurl( $get->{tag} ) || "", + security => LJ::eurl( $get->{security} ) || "", + poster => $posteru_filter ? + $posteru_filter->user : "", + ); + # if we've skipped down, then we can skip back up if ($skip) { my $newskip = $skip - $itemshow; $newskip = 0 if $newskip <= 0; $nav->{'forward_skip'} = $newskip; $nav->{'forward_url'} = LJ::make_link( "$p->{'base_url'}/", - { skip => $newskip || "", - style => $mine || "", - s2id => LJ::eurl( $get->{s2id} ) || "", - tag => LJ::eurl( $get->{tag} ) || "", - security => LJ::eurl( $get->{security} ) || "", - poster => $posteru_filter ? $posteru_filter->user : "" } ); + { skip => $newskip || "", %linkattrs } ); $nav->{'forward_count'} = $itemshow; $p->{head_content} .= qq{<link rel="next" href="$nav->{forward_url}" />\n} } @@ -255,12 +263,7 @@ sub RecentPage } elsif ($is_prev_exist) { my $newskip = $skip + $itemshow; $nav->{'backward_url'} = LJ::make_link( "$p->{'base_url'}/", - { skip => $newskip || "", - style => $mine || "", - s2id => LJ::eurl( $get->{s2id} ) || "", - tag => LJ::eurl( $get->{tag} ) || "", - security => LJ::eurl( $get->{security} ) || "", - poster => $posteru_filter ? $posteru_filter->user : "" } ); + { skip => $newskip || "", %linkattrs } ); $nav->{'backward_skip'} = $newskip; } $p->{head_content} .= qq{<link rel="prev" href="$nav->{backward_url}" />\n}; --------------------------------------------------------------------------------
no subject
WHEEEEEEEEEEEE!!!!!!!!!!!!!!!