Refactor tags and groups into LJ::currents (reading and replying in the 
sitescheme)

        Patch by kareila. 

diffs (88 lines):

diff -r 42ace13d0436 -r e4bfc100a1f4 cgi-bin/LJ/Entry.pm
--- a/cgi-bin/LJ/Entry.pm       Mon Jul 05 17:06:28 2010 +0800
+++ b/cgi-bin/LJ/Entry.pm       Mon Jul 05 17:45:00 2010 +0800
@@ -2222,9 +2222,10 @@ sub currents {
     return unless ref $props eq 'HASH';
     my %current;
 
-    my ( $key, $s2imgref );
+    my ( $key, $entry, $s2imgref );
     if ( $opts && ref $opts ) {
         $key = $opts->{key};
+        $entry = $opts->{entry};
         $s2imgref = $opts->{s2imgref};
     }
 
@@ -2293,6 +2294,24 @@ sub currents {
         $current{Xpost} = $xpostlinks if $xpostlinks;
     }
 
+    if ( $entry ) {
+        # Groups
+        my $group_names = $entry->group_names;
+        $current{Groups} = $group_names if $group_names;
+
+        # Tags
+        my $u = $entry->journal;
+        my $base = $u->journal_base;
+        my $itemid = $entry->jitemid;
+        my $logtags = LJ::Tags::get_logtags( $u, $itemid );
+        if ( $logtags->{$itemid} ) {
+            my @tags = map { "<a href='$base/tag/" . LJ::eurl( $_ ) .
+                             "'>" . LJ::ehtml( $_ ) . "</a>" }
+                       sort values %{ $logtags->{$itemid} };
+            $current{Tags} = join( ', ', @tags ) if @tags;
+        }
+    }
+
     return %current;
 }
 
diff -r 42ace13d0436 -r e4bfc100a1f4 htdocs/talkpost.bml
--- a/htdocs/talkpost.bml       Mon Jul 05 17:06:28 2010 +0800
+++ b/htdocs/talkpost.bml       Mon Jul 05 17:45:00 2010 +0800
@@ -279,15 +279,12 @@ body<=
         $ret .= "<div class='warningbar warning-background' style='text-align: 
center; margin: 5px auto;'>$ML{'statusvis_message.readonly'}</div>";
     }
 
-    my %current = LJ::currents( $props, $up );
-
-    # custom friend groups
-    my $group_names = $entry->group_names;
-    $current{'Groups'} = $group_names if $group_names;
+    my %current = LJ::currents( $props, $up, { entry => $entry } );
+    # for some reason we don't display tags here
+    delete $current{Tags};
 
     $ret .= "<div id='entry' class='usercontent' style='margin-left: 30px'>";
 
-    ### currents
     $ret .= LJ::currents_table( %current ) unless $init->{replyto};
 
     ### security indicator
diff -r 42ace13d0436 -r e4bfc100a1f4 htdocs/talkread.bml
--- a/htdocs/talkread.bml       Mon Jul 05 17:06:28 2010 +0800
+++ b/htdocs/talkread.bml       Mon Jul 05 17:45:00 2010 +0800
@@ -291,21 +291,7 @@ body<=
     }
 
     ## dump the log entry, unless we're browsing a thread.
-    my %current = LJ::currents( $props, $up );
-
-    # custom friend groups
-    my $group_names = $entry->group_names;
-    $current{'Groups'} = $group_names if $group_names;
-
-
-    my $logtags = LJ::Tags::get_logtags($u, $itemid);
-    if ($logtags->{$itemid} && %{$logtags->{$itemid}}) {
-        my $base = $u->journal_base;
-        $current{'Tags'} = join(', ',
-                               map { "<a href='$base/tag/" . LJ::eurl($_) . 
"'>" . LJ::ehtml($_) . "</a>" }
-                               sort values %{$logtags->{$itemid}}
-                           );
-    }
+    my %current = LJ::currents( $props, $up, { entry => $entry } );
 
     $ret .= "<div id='entry' class='usercontent' style='margin-left: 30px'>";
 
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to