Committer: wisest-owl
LJSUP-14299: Filtered tag pageU trunk/cgi-bin/LJ/S2/RecentPage.pm U trunk/cgi-bin/LJ/User.pm
Modified: trunk/cgi-bin/LJ/S2/RecentPage.pm =================================================================== --- trunk/cgi-bin/LJ/S2/RecentPage.pm 2012-11-16 13:43:52 UTC (rev 23318) +++ trunk/cgi-bin/LJ/S2/RecentPage.pm 2012-11-19 10:36:29 UTC (rev 23319) @@ -40,9 +40,9 @@ $p->{'tagfilter_active'} = 1; $p->{'tagfilter_mode'} = $opts->{'tagmode'}; - while ( my ( $tagname, $tagid ) = each %{ $opts->{'tagmap'} } ) { + while ( my ( $tagname, $tagids ) = each %{ $opts->{'tagmap'} } ) { push @{ $p->{'tagfilter_tags'} }, - LJ::S2::Tag( $u, $tagid, $tagname ); + LJ::S2::Tag( $u, $tagids->[0], $tagname ); } } @@ -112,7 +112,7 @@ 'poster' => $get->{'poster'} || '', 'show_sticky_on_top' => 1, }) if ($itemshow >= 0) ; - + my $is_prev_exist = scalar @items - $itemshow > 0 ? 1 : 0; if ($is_prev_exist) { if ( scalar(@items) > $itemshow ) { Modified: trunk/cgi-bin/LJ/User.pm =================================================================== --- trunk/cgi-bin/LJ/User.pm 2012-11-16 13:43:52 UTC (rev 23318) +++ trunk/cgi-bin/LJ/User.pm 2012-11-19 10:36:29 UTC (rev 23319) @@ -10147,9 +10147,14 @@ $opts->{tagids} = []; $opts->{'tagmap'} = {}; my $tags = LJ::Tags::get_usertags($u, { remote => $remote }); - my %kwref = ( map { $tags->{$_}->{name} => $_ } keys %{$tags || {}} ); + + my %kwref = (); + foreach my $tagid (keys %$tags) { + push @{$kwref{LJ::Text->normalize_tag_name ($tags->{$tagid}->{'name'})}}, $tagid; + } + foreach my $tagname (@{$opts->{tags}}) { - unless ($kwref{$tagname}) { + unless ($kwref{LJ::Text->normalize_tag_name ($tagname)}) { LJ::Request->pnotes ('error' => 'e404'); LJ::Request->pnotes ('remote' => LJ::get_remote ()); $opts->{'handler_return'} = "404 Not Found"; @@ -10157,8 +10162,8 @@ } #return $error->("Sorry, one or more specified tags do not exist.", "404 Not Found") # unless $kwref{$tagname}; - push @{$opts->{tagids}}, $kwref{$tagname}; - $opts->{'tagmap'}->{$tagname} = $kwref{$tagname}; + push @{$opts->{'tagids'}}, @{$kwref{LJ::Text->normalize_tag_name ($tagname)}}; + $opts->{'tagmap'}->{$tagname} = $kwref{LJ::Text->normalize_tag_name ($tagname)}; } $opts->{tagmode} = $opts->{getargs}->{mode} eq 'and' ? 'and' : 'or'; @@ -10200,7 +10205,7 @@ } unless ($geta->{'viewall'} && LJ::check_priv($remote, "canview", "suspended") || - $opts->{'pathextra'} =~ m#/(\d+)/stylesheet$#) { # don't check style sheets + $opts->{'pathextra'} =~ m#/(\d+)/stylesheet$#) { ## don't check style sheets if ($u->is_deleted){ my $warning = LJ::Lang::get_text(LJ::Lang::get_effective_lang(), 'journal.deleted', undef, {username => $u->username})