diff --git a/lib/WebGUI/Macro/TwitterLogin.pm b/lib/WebGUI/Macro/TwitterLogin.pm new file mode 100644 index 000000000..59b7068a3 --- /dev/null +++ b/lib/WebGUI/Macro/TwitterLogin.pm @@ -0,0 +1,53 @@ +package WebGUI::Macro::TwitterLogin; + +#------------------------------------------------------------------- +# WebGUI is Copyright 2001-2009 Plain Black Corporation. +#------------------------------------------------------------------- +# Please read the legal notices (docs/legal.txt) and the license +# (docs/license.txt) that came with this distribution before using +# this software. +#------------------------------------------------------------------- +# http://www.plainblack.com info@plainblack.com +#------------------------------------------------------------------- + +use strict; +use List::MoreUtils qw( any ); + +=head1 NAME + +Package WebGUI::Macro::TwitterLogin + +=head1 DESCRIPTION + +Display a twitter login button + +=head2 process( $session ) + +=over 4 + +=item * + +A session variable + +=back + +=cut + + +#------------------------------------------------------------------- +sub process { + my $session = shift; + + return "" unless any { $_ eq 'Twitter' } @{ $session->config->get( 'authMethods' ) }; + return "" unless $session->user->isVisitor; + + my $loginUrl = $session->url->page('op=auth;authType=Twitter;method=login'); + my $imgUrl = shift || $session->url->extras( 'twitter_login.png' ); + + my $output = sprintf '', $loginUrl, $imgUrl; + return $output; +} + +1; + +#vim:ft=perl diff --git a/www/extras/twitter_login.png b/www/extras/twitter_login.png new file mode 100644 index 000000000..297bb0340 Binary files /dev/null and b/www/extras/twitter_login.png differ