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 {