/Vector/Auth.pm
use Exporter 'import';
our @EXPORT_OK = qw/authbox/;
use CGI::Fast qw/:standard/;
use Vector::Config qw/$webroot/;
use strict;
my $auth_uri = "${webroot}auth";
{
my ($session) = @_;
print qq{<script type="text/javascript" src="${webroot}static/popup.js"></script>};
print '<div class="authbox">';
if ($session->param('id')) {
my $id = $session->param('id');
my $username = $session->param('username');
my $displayname = $session->param('displayname');
print qq{Logged in as <a href="$username"><img src="${webroot}static/openid-16x16.gif">$displayname</a> - <a href="$auth_uri?logout=1">logout</a>};
} else {
print start_form(-method => 'POST', -action => $auth_uri, -class => 'openid'),
'login: ',
textfield(-name => 'login', -class => 'openid', -onfocus => "popup('openid')", -onblur => "popout('openid')"),
div({-class => 'popup', -id => 'popup_openid'}, 'Input your OpenID to log in. As a special shortcut, a single word will be expanded to http://id.dominionofawesome.com/{user}. If you do not have an OpenID, you can create one at the <a href="http://id.dominionofawesome.com/">Dominion of Awesome ID Services</a>.'),
end_form;
}
print '</div>';
}
1;