Optimization; no user-facing effects.

        Patch by fu. 

diffs (107 lines):

diff -r b2859afe7174 -r 62f3ab932ab8 cgi-bin/LJ/S2.pm
--- a/cgi-bin/LJ/S2.pm  Fri May 21 01:08:19 2010 +0000
+++ b/cgi-bin/LJ/S2.pm  Mon May 24 21:46:06 2010 -0700
@@ -1773,6 +1773,7 @@ sub TagList
     LJ::Hooks::run_hooks( 'augment_s2_tag_list', u => $u, jitemid => $jitemid, 
tag_list => $taglist );
     @$taglist = sort { $a->{name} cmp $b->{name} } @$taglist;
 
+    return "" if $opts->{no_entry_body};
     return "" unless $opts->{enable_tags_compatibility} && @$taglist;
     return LJ::S2::get_tags_text( $opts->{ctx}, $taglist );
 }
@@ -1907,6 +1908,7 @@ sub Entry_from_entryobj
     my ($u, $entry_obj, $opts) = @_;
     my $remote = LJ::get_remote();
     my $get = $opts->{getargs};
+    my $no_entry_body = $opts->{no_entry_body};
 
     my $anum = $entry_obj->anum;
     my $jitemid = $entry_obj->jitemid;
@@ -1923,28 +1925,32 @@ sub Entry_from_entryobj
     
     #load and prepare subject and text of entry
     my $subject = LJ::CleanHTML::quote_html( $entry_obj->subject_html, 
$get->{nohtml} );
-    my $text = LJ::CleanHTML::quote_html( $entry_obj->event_raw, 
$get->{nohtml} );
+    my $text = $no_entry_body ? "" : LJ::CleanHTML::quote_html( 
$entry_obj->event_raw, $get->{nohtml} );
     LJ::item_toutf8( $journal, \$subject, \$text, $entry_obj->props ) if 
$LJ::UNICODE && $entry_obj->props->{unknown8bit};
 
     my $suspend_msg = $entry_obj && $entry_obj->should_show_suspend_msg_to( 
$remote ) ? 1 : 0;
-    # cleaning the entry text: cuts and such
-    my $cut_disable = $opts->{cut_disable};
-    my $cleanhtml_opts = { cuturl => LJ::item_link( $journal, $jitemid, $anum, 
$style_args ),
-        ljcut_disable => $cut_disable,
-        suspend_msg => $suspend_msg,
-        unsuspend_supportid => $suspend_msg ? $entry_obj->prop( 
'unsuspend_supportid' ) : 0,
-        preformatted => $entry_obj->prop( "opt_preformatted" ),
-    };
-    # reading pages might need to display image placeholders
-    my $cleanhtml_extra = $opts->{cleanhtml_extra} || {};
-    foreach my $k ( keys %$cleanhtml_extra ) {
-        $cleanhtml_opts->{$k} = $cleanhtml_extra->{$k}
-    }
-    LJ::CleanHTML::clean_event( \$text, $cleanhtml_opts );
-
-    LJ::expand_embedded( $journal, $jitemid, $remote, \$text );
-    $text = DW::Logic::AdultContent->transform_post( post => $text, journal => 
$journal,
-                                                     remote => $remote, entry 
=> $entry_obj );
+
+    unless ( $no_entry_body ) {
+        # cleaning the entry text: cuts and such
+        my $cut_disable = $opts->{cut_disable};
+        my $cleanhtml_opts = { cuturl => LJ::item_link( $journal, $jitemid, 
$anum, $style_args ),
+            ljcut_disable => $cut_disable,
+            suspend_msg => $suspend_msg,
+            unsuspend_supportid => $suspend_msg ? $entry_obj->prop( 
'unsuspend_supportid' ) : 0,
+            preformatted => $entry_obj->prop( "opt_preformatted" ),
+        };
+
+        # reading pages might need to display image placeholders
+        my $cleanhtml_extra = $opts->{cleanhtml_extra} || {};
+        foreach my $k ( keys %$cleanhtml_extra ) {
+            $cleanhtml_opts->{$k} = $cleanhtml_extra->{$k}
+        }
+        LJ::CleanHTML::clean_event( \$text, $cleanhtml_opts );
+    
+        LJ::expand_embedded( $journal, $jitemid, $remote, \$text );
+        $text = DW::Logic::AdultContent->transform_post( post => $text, 
journal => $journal,
+                                                         remote => $remote, 
entry => $entry_obj );
+    }
 
     # journal: posted to; poster: posted by
     my $posterid = $entry_obj->posterid;
@@ -2145,9 +2151,12 @@ sub Page
         foreach my $itemid ( @active ) {
             my $entry_obj = LJ::Entry->new( $u, jitemid => $itemid );
 
+            # copy over $opts so that we don't inadvertently affect other 
things
+            my $activeentry_opts = { %{$opts || {}}, no_entry_body => 1 };
+
             # only show the entries $remote has the permission to view
             if ( $entry_obj->visible_to( $remote ) ) {
-                my $activeentry = Entry_from_entryobj( $u, $entry_obj, $opts );
+                my $activeentry = Entry_from_entryobj( $u, $entry_obj, 
$activeentry_opts );
                 push @{$p->{activeentries}}, $activeentry;
 
                 # if at least one is accessible to $remote , show active 
entries module on journal page
diff -r b2859afe7174 -r 62f3ab932ab8 cgi-bin/LJ/S2/MonthPage.pm
--- a/cgi-bin/LJ/S2/MonthPage.pm        Fri May 21 01:08:19 2010 +0000
+++ b/cgi-bin/LJ/S2/MonthPage.pm        Mon May 24 21:46:06 2010 -0700
@@ -96,6 +96,9 @@ sub MonthPage
 
     my $opt_text_subjects = S2::get_property_value( $ctx, 
"page_month_textsubjects" );
 
+    # we only want the subjects, not the body
+    my $entry_opts = { %{$opts || {}}, no_entry_body => 1 };
+
   ENTRY:
     foreach my $item (@items)
     {
@@ -112,7 +115,7 @@ sub MonthPage
         next ENTRY if $entry_obj && $entry_obj->is_suspended_for($remote);
 
         # create the S2 entry
-        my $entry = Entry_from_entryobj( $u, $entry_obj, $opts );
+        my $entry = Entry_from_entryobj( $u, $entry_obj, $entry_opts );
 
         push @{$day_entries{$day}}, $entry;
     }
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to