]> www.wagner.pp.ru Git - oss/vjournal.git/blobdiff - bin/userinfo
bans
[oss/vjournal.git] / bin / userinfo
index 0d92d6943e9d81b4b6ca2e77e6ded9541607ca40..a0dbbdecb0e3c90376fd6f64c50dea48f3ebc50b 100644 (file)
@@ -32,3 +32,36 @@ If user is not logged in, returns following structure:
        }
 
 =cut
+
+use VJournal::Session;
+use JSON;
+use CGI;
+
+my $cgi=new CGI;
+my $session = VJourna::Session->new($cgi);
+my $out={};
+if (!defined $session) {
+# User is not authenticated. Return list of providers;
+       $out->{state}="notlogged";
+       $session=$cgi;
+} else {
+       if ($session->isowner())  {
+               $out->{state}="owner";
+       } elsif ($session->banned()) {
+               $out->{state}="banned";
+       } else {
+               $out->{state}="guest";
+       }
+
+       $out->{url}=$session->identity();
+       $out->{displayname}=$session->name();
+       %avatar=$session->avatar();
+       if(exists $avatar{-src}) {
+               $out->{avatar}={src=>$avatar{-src},-width=>$avatar{-width},
+                               -height=>$avatar{-height}};
+       }                       
+               
+}
+$session->header(-content_type=>"text/json",-charset=>utf-8);
+print $encode_json($out);
+