Standardize comment thread anchors on #ljcmt, for now. Refactors into 
functions so that we can easily change it later.

        Patch by kareila. 

diffs (306 lines):

diff -r 8d97fd81d6c0 -r cbf361b1a2b2 cgi-bin/LJ/Comment.pm
--- a/cgi-bin/LJ/Comment.pm     Thu Jul 23 17:02:45 2009 +0000
+++ b/cgi-bin/LJ/Comment.pm     Thu Jul 23 17:30:00 2009 +0000
@@ -221,8 +221,9 @@ sub url {
     my $entry   = $self->entry;
     my $url     = $entry->url;
 
-    return "$url?thread=$dtalkid#t$dtalkid";
+    return "$url?thread=$dtalkid" . LJ::Talk::comment_anchor( $dtalkid );
 }
+*thread_url = \&url;
 
 sub reply_url {
     my $self    = shift;
@@ -232,16 +233,6 @@ sub reply_url {
     my $url     = $entry->url;
 
     return "$url?replyto=$dtalkid";
-}
-
-sub thread_url {
-    my $self    = shift;
-
-    my $dtalkid = $self->dtalkid;
-    my $entry   = $self->entry;
-    my $url     = $entry->url;
-
-    return "$url?thread=$dtalkid#t$dtalkid";
 }
 
 sub parent_url {
diff -r 8d97fd81d6c0 -r cbf361b1a2b2 cgi-bin/LJ/Event/JournalNewComment.pm
--- a/cgi-bin/LJ/Event/JournalNewComment.pm     Thu Jul 23 17:02:45 2009 +0000
+++ b/cgi-bin/LJ/Event/JournalNewComment.pm     Thu Jul 23 17:30:00 2009 +0000
@@ -200,11 +200,12 @@ sub content {
     my $comment_body = $comment->body_html;
     my $buttons = $comment->manage_buttons;
     my $dtalkid = $comment->dtalkid;
+    my $htmlid  = LJ::Talk::comment_htmlid( $dtalkid );
 
     $comment_body =~ s/\n/<br \/>/g;
 
     my $ret = qq {
-        <div id="ljcmt$dtalkid" class="JournalNewComment">
+        <div id="$htmlid" class="JournalNewComment">
             <div class="ManageButtons">$buttons</div>
             <div class="Body">$comment_body</div>
         </div>
diff -r 8d97fd81d6c0 -r cbf361b1a2b2 cgi-bin/LJ/Portal/Box/RecentComments.pm
--- a/cgi-bin/LJ/Portal/Box/RecentComments.pm   Thu Jul 23 17:02:45 2009 +0000
+++ b/cgi-bin/LJ/Portal/Box/RecentComments.pm   Thu Jul 23 17:30:00 2009 +0000
@@ -129,16 +129,17 @@ sub generate_content {
 
         # print out comment w/ links
         my $posturl  = "$root/$lrow->{ditemid}.html";
-        my $replyurl = LJ::Talk::talkargs($posturl, "replyto=$talkid");
-        my $talkurl  = "$root/$lrow->{ditemid}.html?thread=$talkid\#t$talkid";
+        my $replyurl = LJ::Talk::talkargs( $posturl, "replyto=$talkid" );
+        my $talkurl  = LJ::Talk::talkargs( $posturl, "thread=$talkid" ) . 
LJ::Talk::comment_anchor( $talkid );
         my $userlink = LJ::isu($pu) ? LJ::ljuser($pu) : "<i>(Anonymous)</i>";
+        my $htmlid   = LJ::Talk::comment_htmlid( $talkid );
 
         # clean comment subject/text
         LJ::CleanHTML::clean_subject_all(\$subject);
         LJ::CleanHTML::clean_comment(\$body);
 
         $content .= qq {
-            <tr id="ljcmt$talkid">
+            <tr id="$htmlid">
                 <td>
 
                   <span class="RecentCommentTitle">$userlink </span>
diff -r 8d97fd81d6c0 -r cbf361b1a2b2 cgi-bin/LJ/S2/EntryPage.pm
--- a/cgi-bin/LJ/S2/EntryPage.pm        Thu Jul 23 17:02:45 2009 +0000
+++ b/cgi-bin/LJ/S2/EntryPage.pm        Thu Jul 23 17:30:00 2009 +0000
@@ -193,7 +193,7 @@ sub EntryPage
 
             if ($com->{'parenttalkid'}) {
                 my $dparent = ($com->{'parenttalkid'} << 8) + $entry->anum;
-                $par_url = LJ::Talk::talkargs($permalink, "thread=$dparent", 
$style_arg) . "#t$dparent";
+                $par_url = LJ::Talk::talkargs($permalink, "thread=$dparent", 
$style_arg) . LJ::Talk::comment_anchor( $dparent );
             }
 
             my $poster;
@@ -222,7 +222,7 @@ sub EntryPage
                 'metadata' => {
                     'picture_keyword' => $com->{'props'}->{'picture_keyword'},
                 },
-                'permalink_url' => "$permalink?thread=$dtalkid#t$dtalkid",
+                'permalink_url' => "$permalink?thread=$dtalkid" . 
LJ::Talk::comment_anchor( $dtalkid ),
                 'reply_url' => $reply_url,
                 'poster' => $poster,
                 'replies' => [],
@@ -242,8 +242,8 @@ sub EntryPage
                 'frozen' => $com->{'state'} eq "F" ? 1 : 0,
                 'deleted' => $com->{'state'} eq "D" ? 1 : 0,
                 'link_keyseq' => [ 'delete_comment' ],
-                'anchor' => "t$dtalkid",
-                'dom_id' => "ljcmt$dtalkid",
+                'anchor' => LJ::Talk::comment_htmlid( $dtalkid ),
+                'dom_id' => LJ::Talk::comment_htmlid( $dtalkid ),
                 'comment_posted' => $commentposted,
                 'edited' => $edited ? 1 : 0,
                 'time_remote' => $datetime_remote,
@@ -274,7 +274,7 @@ sub EntryPage
             push @$link_keyseq, "watching_parent" if LJ::is_enabled('esn');
             unshift @$link_keyseq, "edit_comment" if 
LJ::is_enabled('edit_comments');
 
-            $s2com->{'thread_url'} = LJ::Talk::talkargs($permalink, 
"thread=$dtalkid", $style_arg) . "#t$dtalkid";
+            $s2com->{'thread_url'} = LJ::Talk::talkargs($permalink, 
"thread=$dtalkid", $style_arg) . LJ::Talk::comment_anchor( $dtalkid );
 
             # add the poster_ip metadata if remote user has
             # access to see it.
diff -r 8d97fd81d6c0 -r cbf361b1a2b2 cgi-bin/LJ/S2/ReplyPage.pm
--- a/cgi-bin/LJ/S2/ReplyPage.pm        Thu Jul 23 17:02:45 2009 +0000
+++ b/cgi-bin/LJ/S2/ReplyPage.pm        Thu Jul 23 17:30:00 2009 +0000
@@ -184,7 +184,7 @@ sub ReplyPage
             'poster' => $s2poster,
             'journal' => $s2entry->{'journal'},
             'metadata' => {},
-            'permalink_url' => $u->{'_journalbase'} . 
"/$ditemid.html?view=$dtalkid#t$dtalkid",
+            'permalink_url' => $u->{'_journalbase'} . 
"/$ditemid.html?view=$dtalkid" . LJ::Talk::comment_anchor( $dtalkid ),
             'depth' => 1,
             'time' => $datetime,
             'system_time' => $datetime,
diff -r 8d97fd81d6c0 -r cbf361b1a2b2 cgi-bin/talklib.pl
--- a/cgi-bin/talklib.pl        Thu Jul 23 17:02:45 2009 +0000
+++ b/cgi-bin/talklib.pl        Thu Jul 23 17:30:00 2009 +0000
@@ -2110,6 +2110,16 @@ sub get_replycount {
     return $count;
 }
 
+sub comment_htmlid {
+    my $id = shift or return '';
+    return "ljcmt$id";
+}
+
+sub comment_anchor {
+    my $id = shift or return '';
+    return "#ljcmt$id";
+}
+
 package LJ::Talk::Post;
 
 use Text::Wrap;
diff -r 8d97fd81d6c0 -r cbf361b1a2b2 htdocs/admin/recent_comments.bml
--- a/htdocs/admin/recent_comments.bml  Thu Jul 23 17:02:45 2009 +0000
+++ b/htdocs/admin/recent_comments.bml  Thu Jul 23 17:30:00 2009 +0000
@@ -48,7 +48,7 @@
 
         if ($lrow) {
             my $talkid = ($r->{'jtalkid'} << 8) + $lrow->{'anum'};
-            my $url = 
"$LJ::SITEROOT/users/$ju->{user}/$lrow->{ditemid}.html?thread=$talkid\#t$talkid";
+            my $url = 
"$LJ::SITEROOT/users/$ju->{user}/$lrow->{ditemid}.html?thread=$talkid" . 
LJ::Talk::comment_anchor( $talkid );
             $ret .= "$hr_ago hr ago in " . LJ::ljuser($ju) . ": <a 
href='$url'>$url</a><br />\n";
         } else {
             $ret .= "$hr_ago hr ago in " . LJ::ljuser($ju) . ": link 
unavailable<br />";
diff -r 8d97fd81d6c0 -r cbf361b1a2b2 htdocs/talkpost_do.bml
--- a/htdocs/talkpost_do.bml    Thu Jul 23 17:02:45 2009 +0000
+++ b/htdocs/talkpost_do.bml    Thu Jul 23 17:30:00 2009 +0000
@@ -219,12 +219,8 @@ body<=
     # Allow style=mine for QR redirects
     my $stylemine = $POST{'stylemine'} ? 'style=mine' : '';
 
-    my $commentlink;
-    if ($POST{'viewing_thread'} eq '') {
-        $commentlink = LJ::Talk::talkargs($talkurl, "view=$dtalkid", 
$stylemine) . "#t$dtalkid";
-    } else {
-        $commentlink = LJ::Talk::talkargs($talkurl, 
"thread=$POST{viewing_thread}", $stylemine) . "#t$dtalkid";
-    }
+    my $cthread = $POST{'viewing_thread'} ? "thread=$POST{viewing_thread}" : 
"view=$dtalkid";
+    my $commentlink = LJ::Talk::talkargs( $talkurl, $cthread, $stylemine ) . 
LJ::Talk::comment_anchor( $dtalkid );
 
     my $ret = "";
     $ret .= "<?h1 $ML{'.success.title'} h1?>";
diff -r 8d97fd81d6c0 -r cbf361b1a2b2 htdocs/talkread.bml
--- a/htdocs/talkread.bml       Thu Jul 23 17:02:45 2009 +0000
+++ b/htdocs/talkread.bml       Thu Jul 23 17:30:00 2009 +0000
@@ -508,17 +508,19 @@ body<=
             $user = $ML{'.anonuser'};
         }
 
+        my $htmlid = LJ::Talk::comment_htmlid( $dtid );
+
         if ($post->{'state'} eq "D") {
-            $ret .= "<p><a name='t$dtid'></a><table class='delcomment'><tr>";
+            $ret .= "<p><a name='$htmlid'></a><table class='delcomment'><tr>";
             $ret .= "<td><img src='$LJ::IMGPREFIX/dot.gif' height='1' width='" 
. ($opts->{'depth'} * 25) . "'></td>";
             $ret .= "<td>$ML{'.deletedpost'}</td></tr></table>\n";
         } elsif ($post->{'state'} eq "S" && !$post->{'_loaded'} && 
!$post->{'_show'}) {
-            $ret .= "<p><a name='t$dtid'></a><table 
class='screenedcomment'><tr>";
+            $ret .= "<p><a name='$htmlid'></a><table 
class='screenedcomment'><tr>";
             $ret .= "<td><img src='$LJ::IMGPREFIX/dot.gif' height='1' width='" 
. ($opts->{'depth'} * 25) . "'></td>";
             my $screenedtext = $ML{'.screenedpost'};
             $ret .= "<td>$screenedtext</td></tr></table>\n";
         } elsif ($pu && $pu->is_suspended && !$viewsome) {
-            $ret .= "<p><a name='t$dtid'></a><table 
class='suspendedcomment'><tr>";
+            $ret .= "<p><a name='$htmlid'></a><table 
class='suspendedcomment'><tr>";
             $ret .= "<td><img src='$LJ::IMGPREFIX/dot.gif' height='1' width='" 
. ($opts->{'depth'} * 25) . "'></td>";
             $ret .= "<td>$ML{'.replysuspended'}";
             if (LJ::Talk::can_delete($remote, $u, $up, $userpost)) {
@@ -550,7 +552,7 @@ body<=
                         ($tz_remote ? " (local)" : " UTC");
                 }
 
-                $ret .= "<a name='t$dtid'></a><span id='ljcmt$dtid'><table 
width='100%' class='talk-comment'><tbody><tr>";
+                $ret .= "<a name='$htmlid'></a><span id='$htmlid'><table 
width='100%' class='talk-comment'><tbody><tr>";
                 $ret .= "<td rowspan='2'><img src='$LJ::IMGPREFIX/dot.gif' 
height='1' width='" . ($opts->{'depth'} * 25) . "'></td>";
                 $ret .= "<td id='cmtbar$dtid' class='cmtbar-$level' 
style='background-color: $bgcolor' width='100%'>";
 
@@ -584,7 +586,9 @@ body<=
                     $ret .= BML::ml('.fromip', 
{'ip'=>$post->{'props'}->{'poster_ip'}});
                 }
 
-                $ret .= " <span class='talkargs'>(<a href='" . 
LJ::Talk::talkargs($talkurl, "thread=$dtid", $formatlight) . 
"#t$dtid'>$T{'link'}</a>)</span>";
+                $ret .= " <span class='talkargs'>(<a href='";
+                $ret .= LJ::Talk::talkargs( $talkurl, "thread=$dtid", 
$formatlight );
+                $ret .= LJ::Talk::comment_anchor( $dtid ) . 
"'>$T{'link'}</a>)</span>";
 
                 if ($comment->remote_can_edit) {
                     $ret .= "<a href='" . 
LJ::Talk::talkargs($comment->edit_url, $stylemine, $formatlight) . "'>" . 
LJ::img("editcomment", "", { 'align' => 'absmiddle', 'hspace' => 2, 'vspace' => 
}) . "</a>";
@@ -709,10 +713,11 @@ body<=
                 my $parentid = $post->{'parenttalkid'} || 
$post->{'parenttalkid_actual'};
                 if ($parentid != 0) {
                     my $dpid = $parentid * 256 + $init->{'anum'};
-                    $ret .= "(<a href='" . LJ::Talk::talkargs($talkurl, 
"thread=$dpid", $stylemine, $formatlight) . "#t$dpid'>$T{'parent'}</a>)";
+                    $ret .= "(<a href='" . LJ::Talk::talkargs($talkurl, 
"thread=$dpid", $stylemine, $formatlight);
+                    $ret .= LJ::Talk::comment_anchor( $dpid ) . 
"'>$T{'parent'}</a>)";
                 }
                 if ($post->{'children'} && @{$post->{'children'}}) {
-                    my $url = LJ::Talk::talkargs($talkurl, "thread=$dtid", 
$stylemine, $formatlight) . "#t$dtid";
+                    my $url = LJ::Talk::talkargs($talkurl, "thread=$dtid", 
$stylemine, $formatlight) . LJ::Talk::comment_anchor( $dtid );
                     $ret .= "(<a href='$url'>$T{'thread'}</a>)";
 
                     if ((grep {! $_->{_loaded} and !($_->{state} eq "D")} 
@{$post->{'children'}}) && $show_thread_expander) {
@@ -728,10 +733,10 @@ body<=
             } else {
                 # link to message
 
-                $ret .= "<a name='t$dtid'></a><span id='ljcmt$dtid'><table 
><tbody><tr>";
+                my $url = LJ::Talk::talkargs( $talkurl, "thread=$dtid", 
$stylemine, $formatlight ) . LJ::Talk::comment_anchor( $dtid );
+                $ret .= "<a name='$htmlid'></a><span id='$htmlid'><table 
><tbody><tr>";
                 $ret .= "<td><img src='$LJ::IMGPREFIX/dot.gif' height='1' 
width='" . ($opts->{'depth'} * 25) . "'></td>";
-                $ret .= "<td><a href='" . LJ::Talk::talkargs($talkurl, 
"thread=$dtid", $stylemine, $formatlight) . "#t$dtid'>" . 
LJ::ehtml($post->{'subject'} || $T{'nosubject'}) . "</a> - $user, 
<i>$datepost</i>";
-                my $url = LJ::Talk::talkargs($talkurl, "thread=$dtid", 
$stylemine, $formatlight) . "#t$dtid";
+                $ret .= "<td><a href='$url'>" . LJ::ehtml($post->{'subject'} 
|| $T{'nosubject'}) . "</a> - $user, <i>$datepost</i>";
                 $ret .= qq[ (<a href='$url' 
onClick="Expander.make(this,'$url','$dtid',true);return 
false;">$T{'expand'}</a>)] if $show_thread_expander;
 
                 # Comment Posted Notice
diff -r 8d97fd81d6c0 -r cbf361b1a2b2 htdocs/talkscreen.bml
--- a/htdocs/talkscreen.bml     Thu Jul 23 17:02:45 2009 +0000
+++ b/htdocs/talkscreen.bml     Thu Jul 23 17:30:00 2009 +0000
@@ -107,7 +107,7 @@ _info?><?_code
     my $ditemid = $qitemid*256 + $anum;
 
     my $itemlink = LJ::journal_base($u) . "/$ditemid.html";
-    my $commentlink = "$itemlink?view=$dtalkid#t$dtalkid";
+    my $commentlink = "$itemlink?view=$dtalkid" . LJ::Talk::comment_anchor( 
$dtalkid );
 
     if ($mode eq 'screen') {
         my $can_screen = LJ::Talk::can_screen($remote, $u, $up, 
$post->{'userpost'});
diff -r 8d97fd81d6c0 -r cbf361b1a2b2 htdocs/tools/recent_comments.bml
--- a/htdocs/tools/recent_comments.bml  Thu Jul 23 17:02:45 2009 +0000
+++ b/htdocs/tools/recent_comments.bml  Thu Jul 23 17:30:00 2009 +0000
@@ -165,21 +165,26 @@ body<=
 
         unless ($r->{state} eq "D")
         {
-            $ret .= "<a href='/delcomment.bml?${jargent}id=$talkid'>" . 
LJ::img("btn_del", "", { 'align' => 'absmiddle', 'hspace' => 2, 'vspace' => }) 
. "</a>";
+            $ret .= "<a href='/delcomment.bml?${jargent}id=$talkid'>";
+            $ret .= LJ::img("btn_del", "", { 'align' => 'absmiddle', 'hspace' 
=> 2, 'vspace' => }) . "</a>";
             if ($r->{'state'} ne 'F') {
-                $ret .= "<a 
href='/talkscreen.bml?mode=freeze&amp;${jargent}talkid=$talkid'>" . 
LJ::img("btn_freeze", "", { align => 'absmiddle', hspace => 2, vspace => }) . 
"</a>";
+                $ret .= "<a 
href='/talkscreen.bml?mode=freeze&amp;${jargent}talkid=$talkid'>";
+                $ret .= LJ::img("btn_freeze", "", { align => 'absmiddle', 
hspace => 2, vspace => }) . "</a>";
             }
 
             if ($r->{'state'} eq 'F') {
-                $ret .= "<a 
href='/talkscreen.bml?mode=unfreeze&amp;${jargent}talkid=$talkid'>" . 
LJ::img("btn_unfreeze", "", { align => 'absmiddle', hspace => 2, vspace => }) . 
"</a>";
+                $ret .= "<a 
href='/talkscreen.bml?mode=unfreeze&amp;${jargent}talkid=$talkid'>";
+                $ret .= LJ::img("btn_unfreeze", "", { align => 'absmiddle', 
hspace => 2, vspace => }) . "</a>";
             }
 
             if ($r->{'state'} ne 'S') {
-                $ret .= "<a 
href='/talkscreen.bml?mode=screen&amp;${jargent}talkid=$talkid'>" . 
LJ::img("btn_scr", "", { 'align' => 'absmiddle', 'hspace' => 2, 'vspace' => }) 
. "</a>";
+                $ret .= "<a 
href='/talkscreen.bml?mode=screen&amp;${jargent}talkid=$talkid'>";
+                $ret .= LJ::img("btn_scr", "", { 'align' => 'absmiddle', 
'hspace' => 2, 'vspace' => }) . "</a>";
             }
 
             if ($r->{'state'} eq 'S') {
-                 $ret .= "<a 
href='/talkscreen.bml?mode=unscreen&amp;${jargent}talkid=$talkid'>" . 
LJ::img("btn_unscr", "", { 'align' => 'absmiddle', 'hspace' => 2, 'vspace' => 
}) . "</a>";
+                 $ret .= "<a 
href='/talkscreen.bml?mode=unscreen&amp;${jargent}talkid=$talkid'>";
+                 $ret .= LJ::img("btn_unscr", "", { 'align' => 'absmiddle', 
'hspace' => 2, 'vspace' => }) . "</a>";
              }
          }
 
@@ -187,7 +192,8 @@ body<=
         #$ret .= " <nobr><input type='checkbox' name='selected_$r->{jtalkid}' 
id='s$r->{jtalkid}' />";
         #$ret .= " <label 
for='s$r->{jtalkid}'>$ML{'/talkread.bml.select'}</label></nobr>";
 
-        $ret .= "</td><td id='ljcmt$talkid' style='text-align: left; 
border-top: 1px solid #999; border-left: 1px solid #999'>";
+        $ret .= "</td><td id='" . LJ::Talk::comment_htmlid( $talkid );
+        $ret .= "' style='text-align: left; border-top: 1px solid #999; 
border-left: 1px solid #999'>";
 
         my $subject = $log_text->{"$u->{userid} $r->{nodeid}"}[0];
         LJ::CleanHTML::clean_subject(\$subject) if $subject ne "";
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to