[ljcom] r9614: LJSUP-6481 Use ExpanderEx.
Committer: dnikolaev
LJSUP-6481 Use ExpanderEx.U trunk/cgi-bin/LJ/Hooks/SUP.pm
Modified: trunk/cgi-bin/LJ/Hooks/SUP.pm
===================================================================
--- trunk/cgi-bin/LJ/Hooks/SUP.pm 2010-10-12 05:29:30 UTC (rev 9613)
+++ trunk/cgi-bin/LJ/Hooks/SUP.pm 2010-10-12 07:44:13 UTC (rev 9614)
@@ -638,12 +638,53 @@
## This hook is called from both S2 journals and talkread.bml
##
LJ::register_hook('show_thread_expander', sub {
- return 0 if $LJ::DISABLED{thread_expander};
- my $u = LJ::load_userid(LJ::Request->notes("journalid"));
- return 1 if $u && $u->get_cap('thread_expander');
- my $remote = LJ::get_remote();
- return 1 if $remote && $remote->get_cap('thread_expander');
- return 0;
+ my $args = shift;
+
+ my $thread_expander_old = sub {
+
+ };
+
+ my $thread_expander_new = sub {
+ my $args = shift;
+
+ if ($args->{thread_loaded}) {
+ if ($args->{has_closed_children}) {
+ return "(<a href='$args->{thread_url}' " .
+ qq[onClick="ExpanderEx.make(this,'$args->{thread_url}','$args->{thread_id}',true);return false;"] .
+ ">" . BML::ml('talk.expandlink') . "</a>)";
+ }
+ elsif ($args->{thread_show_collapse}) {
+ return "(<a href='$args->{thread_url}' " .
+ qq[onClick="ExpanderEx.collapse(this,'$args->{thread_url}','$args->{thread_id}',true);return false;"] .
+ ">" . BML::ml('talk.collapselink') . "</a>)";
+ }
+ else {
+ return '';
+ }
+ }
+ else {
+ return "(<a href='$args->{thread_url}' " .
+ qq[onClick="ExpanderEx.make(this,'$args->{thread_url}','$args->{thread_id}',true);return false;"] .
+ ">" . BML::ml('talk.expandlink') . "</a>)";
+ }
+ };
+
+ if ($args && $args->{is_s1}) {
+ return undef if $LJ::DISABLED{thread_expander};
+ my $u = LJ::load_userid(LJ::Request->notes("journalid"));
+ return $thread_expander_new if $u && $u->get_cap('thread_expander');
+ my $remote = LJ::get_remote();
+ return $thread_expander_new if $remote && $remote->get_cap('thread_expander');
+ return undef;
+ }
+ else {
+ return 0 if $LJ::DISABLED{thread_expander};
+ my $u = LJ::load_userid(LJ::Request->notes("journalid"));
+ return 1 if $u && $u->get_cap('thread_expander');
+ my $remote = LJ::get_remote();
+ return 1 if $remote && $remote->get_cap('thread_expander');
+ return 0;
+ }
});
LJ::register_hook("subscriptions_manage_my_account_extra", sub {
