Committer: sbelyaev
LJSUP-12654: Do not add reposted entry to RSSU trunk/cgi-bin/ljfeed.pl
Modified: trunk/cgi-bin/ljfeed.pl =================================================================== --- trunk/cgi-bin/ljfeed.pl 2012-09-14 07:12:14 UTC (rev 22891) +++ trunk/cgi-bin/ljfeed.pl 2012-09-14 07:35:13 UTC (rev 22892) @@ -5,6 +5,7 @@ no warnings 'uninitialized'; use LJ::Entry; +use LJ::Entry::Repost; use LJ::Request; use LJ::TimeUtil; use XML::Atom::Person; @@ -114,6 +115,15 @@ return undef; } + if (LJ::Entry::Repost->substitute_content($entry, + { 'original_post_obj' => \$entry,} )) { + + if ( ! $entry || ! $entry->valid || ! $entry->visible_to($remote) ) { + $opts->{'handler_return'} = 404; + return undef; + } + } + push @objs, $entry; } elsif ( $viewfunc->{'paid_only'} ) { @@ -200,11 +210,18 @@ ENTRY: foreach my $entry_obj (@objs) { - my $ditemid = $entry_obj->{ditemid}; - next ENTRY if $entry_obj->poster->{'statusvis'} eq 'S'; next ENTRY if $entry_obj && $entry_obj->is_suspended_for($remote); + + my $reposted = LJ::Entry::Repost->substitute_content($entry_obj, + { 'original_post_obj' => \$entry_obj,} ); + if ($reposted) { + next ENTRY if $entry_obj->poster->{'statusvis'} eq 'S'; + next ENTRY if $entry_obj && $entry_obj->is_suspended_for($remote); + } + + my $ditemid = $entry_obj->{ditemid}; if ( $LJ::UNICODE && $entry_obj->prop('unknown8bit') ) { LJ::item_toutf8( $u,