Committer: dnikolaev
LJSUP-6481 show_thread_expander hook returns sub for s1 now.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-13 09:21:58 UTC (rev 9616) +++ trunk/cgi-bin/LJ/Hooks/SUP.pm 2010-10-13 09:38:02 UTC (rev 9617) @@ -641,22 +641,41 @@ my $args = shift; my $thread_expander_old = sub { - + my $args = shift; + + if ($args->{thread_loaded}) { + if ($args->{thread_show_link}) { + return "(<a href='$args->{thread_url}' " . + qq[onClick="Expander.make(this,'$args->{thread_url}','$args->{thread_id}',true);return false;"] . + ">" . BML::ml('talk.expandlink') . "</a>) "; + } + else { + return ''; + } + } + else { + return "(<a href='$args->{thread_url}' " . + qq[onClick="Expander.make(this,'$args->{thread_url}','$args->{thread_id}',true);return false;"] . + ">" . BML::ml('talk.expandlink') . "</a>) "; + } }; my $thread_expander_new = sub { my $args = shift; if ($args->{thread_loaded}) { - if ($args->{has_closed_children}) { + if ($args->{thread_show_link} eq 'expand') { 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>)"; + ">" . BML::ml('talk.expandlink') . "</a>) "; } - elsif ($args->{thread_show_collapse}) { - return "(<a href='$args->{thread_url}' " . + elsif ($args->{thread_show_link} eq 'all') { + return "<span id='expand_$args->{thread_id}'>(<a href='$args->{thread_url}' " . + qq[onClick="ExpanderEx.make(this,'$args->{thread_url}','$args->{thread_id}',true);return false;"] . + ">" . BML::ml('talk.expandlink') . "</a>) </span>" . + "<span id='collapse_$args->{thread_id}'>(<a href='$args->{thread_url}' " . qq[onClick="ExpanderEx.collapse(this,'$args->{thread_url}','$args->{thread_id}',true);return false;"] . - ">" . BML::ml('talk.collapselink') . "</a>)"; + ">" . BML::ml('talk.collapselink') . "</a>) </span>"; } else { return ''; @@ -665,16 +684,29 @@ 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>)"; + ">" . BML::ml('talk.expandlink') . "</a>) "; } }; if ($args && $args->{is_s1}) { return undef if $LJ::DISABLED{thread_expander}; + my $who = (LJ::SUP->is_remote_sup() ? 'sup' : 'nonsup'); + + my $func; + if (ref($LJ::DISABLED{thread_expander_new}) eq 'HASH') { + $func = $LJ::DISABLED{thread_expander_new}->{$who} ? + $thread_expander_old : + $thread_expander_new; + } else { + $func = $LJ::DISABLED{thread_expander_new} ? + $thread_expander_old : + $thread_expander_new; + } + my $u = LJ::load_userid(LJ::Request->notes("journalid")); - return $thread_expander_new if $u && $u->get_cap('thread_expander'); + return $func if $u && $u->get_cap('thread_expander'); my $remote = LJ::get_remote(); - return $thread_expander_new if $remote && $remote->get_cap('thread_expander'); + return $func if $remote && $remote->get_cap('thread_expander'); return undef; } else {