Committer: gprochaev
LJSUP-9615. U trunk/cgi-bin/LJ/Widget/Browse.pm U trunk/templates/Browse/recent_posts.tmpl
Modified: trunk/cgi-bin/LJ/Widget/Browse.pm =================================================================== --- trunk/cgi-bin/LJ/Widget/Browse.pm 2011-08-29 07:50:56 UTC (rev 19882) +++ trunk/cgi-bin/LJ/Widget/Browse.pm 2011-08-29 10:53:48 UTC (rev 19883) @@ -67,7 +67,7 @@ my @journals = map { $_->{'userid'}, } @comms; - my @recent_posts = LJ::Browse->search_posts ( comms => \@journals, page_size => 1, vertical => $vertical ); + my @recent_posts = LJ::Browse->search_posts ( comms => \@journals, page_size => 3, vertical => $vertical ); } @all_verticals; return \@posts; @@ -126,6 +126,8 @@ my $post_count = 0; my @tmpl_posts = (); + my $vertical = undef; + my @temp_array_post = (); foreach my $entry_href (@$posts) { my $entry = $entry_href->{'entry'}; @@ -140,6 +142,9 @@ $post_count++; next if $post_count <= $post_skip || $post_count > $post_last; + $vertical = LJ::Vertical->new ( vert_id => $entry_href->{'vert_id'} ) + unless $vertical; + my $logtime = LJ::TimeUtil->mysqldate_to_time($entry->{logtime}, 0); my $secondsold = $logtime ? time() - $logtime : undef; my $poster = $entry->poster; @@ -166,9 +171,18 @@ $sharing_js = LJ::Share->render_js({ 'entry' => $entry }); } - my $vertical = LJ::Vertical->new ( vert_id => $entry_href->{'vert_id'} ); + if ($vertical && $entry_href->{'vert_id'} != $vertical->vert_id) { + my @posts = @temp_array_post; + push @tmpl_posts, { + vertical_name => $vertical->name, + vertical_url => $vertical->url, + vertical_posts => \@posts, + }; + @temp_array_post = (); + $vertical = LJ::Vertical->new ( vert_id => $entry_href->{'vert_id'} ); + } - push @tmpl_posts, { + push @temp_array_post, { subject => $trimmed_subj, is_subject_trimmed => $subject ne $trimmed_subj ? 1 : 0, userpic => $userpic ? $userpic->url : '', @@ -189,6 +203,12 @@ vertical_url => $vertical->url, }; } + my @posts = @temp_array_post; + push @tmpl_posts, { + vertical_name => $vertical->name, + vertical_url => $vertical->url, + vertical_posts => \@posts, + } if @posts; return { posts => \@tmpl_posts, @@ -356,7 +376,7 @@ }; } } else { - unless (@comms) { + if (!$vertical && !@comms) { my $posts = _get_recent_posts (); my $result = render_posts ( $posts, post_skip => $post_skip, post_last => $post_last ); @tmpl_posts = @{$result->{'posts'}}; Modified: trunk/templates/Browse/recent_posts.tmpl =================================================================== --- trunk/templates/Browse/recent_posts.tmpl 2011-08-29 07:50:56 UTC (rev 19882) +++ trunk/templates/Browse/recent_posts.tmpl 2011-08-29 10:53:48 UTC (rev 19883) @@ -11,6 +11,7 @@ <tmpl_loop posts> <tmpl_unless is_vertical_selected><h2 class="title"><a href="<tmpl_var vertical_url>" class="link"><TMPL_VAR expr="ml('widget.browse.more.recent.posts')"></a><tmpl_var vertical_name></h2></tmpl_unless> +<tmpl_loop vertical_posts> <ul class="b-catalogue-list b-recent-posts"> <li class="b-catalogue-item"> <dl class="b-catalogue-item-header"> @@ -52,6 +53,7 @@ </li> </ul> </tmpl_loop> +</tmpl_loop> <TMPL_IF expr="post_pages gt 1"> <ul class="b-nav-counter">