Андрей (andy) wrote in changelog,
Андрей
andy
changelog

[ljcom] r10081: LJINT-411 (Additional logout link)

Committer: ailyin
LJINT-411 (Additional logout link)
U   trunk/cgi-bin/LJ/PartnerSite.pm
A   trunk/htdocs/gadgets/loginstatus.bml
A   trunk/templates/Identity/LoginStatus.tmpl
Modified: trunk/cgi-bin/LJ/PartnerSite.pm
===================================================================
--- trunk/cgi-bin/LJ/PartnerSite.pm	2011-02-18 10:21:34 UTC (rev 10080)
+++ trunk/cgi-bin/LJ/PartnerSite.pm	2011-02-18 10:28:39 UTC (rev 10081)
@@ -888,6 +888,7 @@
         'page'          => $load_comments_struct->{'out_page'},
         'journal'       => $journal->username,
         'auth_token'    => $auth_token,
+        'logged_in'     => $remote ? 1 : 0,
     };
 }
 

Added: trunk/htdocs/gadgets/loginstatus.bml
===================================================================
--- trunk/htdocs/gadgets/loginstatus.bml	                        (rev 0)
+++ trunk/htdocs/gadgets/loginstatus.bml	2011-02-18 10:28:39 UTC (rev 10081)
@@ -0,0 +1,62 @@
+<?_code
+{
+    use strict;
+    use warnings;
+
+    use LJ::PartnerSite;
+
+    my $api_key = LJ::Request->get_param('rsk');
+    my $domain  = LJ::Request->get_param('domain');
+
+    ## convert remote-site key to lj.com's community
+    my $partner = LJ::PartnerSite->find_by_api_key($api_key);
+    return 'unknown key'
+        unless $partner;
+
+    unless ( $partner->is_domain_trusted($domain) ) {
+        return 'this domain doesn\'t belong to this partner';
+    }
+
+    $partner->request_logcom_resources;
+
+    my $journal = $partner->journal;
+
+    my $js_check_domain = $partner->domain_check_js(
+        {
+            'mode'           => 'logcom',
+            'partner_domain' => $domain,
+        }
+    );
+
+    my $remote = LJ::get_remote();
+
+    return '' unless $remote;
+
+    LJ::need_res(qw( stc/partners/login.css ));
+
+    my $remote_sessid = $remote->session->id;
+
+    my $thispage = "$LJ::SITEROOT/gadgets/loginstatus.bml?"
+                 . LJ::Request->args;
+
+    my $logout_url = "$LJ::SITEROOT/gadgets/logout.bml?" .
+                     'returnto=' . LJ::eurl($thispage) . '&' .
+                     'sessid=' . $remote_sessid;
+
+    my $template = LJ::HTML::Template->new(
+        { use_expr => 1 },    # force HTML::Template::Pro with Expr support
+        filename          => "$ENV{'LJHOME'}/templates/Identity/LoginStatus.tmpl",
+    );
+
+    die "Can't open template: $!"
+        unless $template;
+
+    $template->param(
+        'js_check_domain'       => $js_check_domain,
+        'partner_remote_ljuser' => $partner->ljuser_html($remote),
+        'logout_url'            => $logout_url,
+    );
+
+    return $template->output;
+}
+_code?>
\ No newline at end of file

Added: trunk/templates/Identity/LoginStatus.tmpl
===================================================================
--- trunk/templates/Identity/LoginStatus.tmpl	                        (rev 0)
+++ trunk/templates/Identity/LoginStatus.tmpl	2011-02-18 10:28:39 UTC (rev 10081)
@@ -0,0 +1,15 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html lang="en">
+<head>
+	<meta charset="UTF-8">
+	<title>index :: Дерево комментариев</title>
+
+	<TMPL_VAR lj_res_includes>
+</head>
+<body>
+	<TMPL_VAR js_check_domain>
+
+    <TMPL_VAR partner_remote_ljuser>
+    <span class="lj3-logout">(<a href="<TMPL_VAR logout_url>"><TMPL_VAR expr="ml('/logout.bml.logout.head')"></a>)</span>
+</body>
+</html>

Tags: andy, bml, ljcom, pm, tmpl
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments