allow twitter enable/disable from settings

This commit is contained in:
Doug Bell 2010-06-25 12:52:52 -05:00
parent f522d9e69d
commit a2e246705f
3 changed files with 32 additions and 0 deletions

View file

@ -59,6 +59,7 @@ sub addTwitterAuth {
$session->config->addToArray( 'authMethods', 'Twitter' );
$session->config->addToHash( 'macros', "TwitterLogin" => "TwitterLogin" );
$session->setting->set( 'twitterEnabled', 0 );
print "DONE!\n" unless $quiet;
}

View file

@ -19,6 +19,36 @@ sub createTwitterUser {
return $user;
}
sub editUserSettingsForm {
my $self = shift;
my $session = $self->session;
my ( $setting ) = $session->quick(qw( setting ));
my $f = WebGUI::HTMLForm->new( $session );
$f->yesNo(
name => 'twitterEnabled',
value => $settings->get( 'twitterEnabled' ),
label => 'Enabled?',
hoverHelp => 'Enabled Twitter-based login',
);
return $f->printRowsOnly;
}
sub editUserSettingsFormSave {
my $self = shift;
my $session = $self->session;
my ( $form, $setting ) = $session->quick(qw( form setting ));
my @fields = qw( twitterEnabled );
for my $field ( @fields ) {
$setting->set( $field, $form->get( $field ) );
}
return;
}
sub www_login {
my ( $self ) = @_;
my $session = $self->session;

View file

@ -40,6 +40,7 @@ sub process {
return "" unless any { $_ eq 'Twitter' } @{ $session->config->get( 'authMethods' ) };
return "" unless $session->user->isVisitor;
return "" unless $session->setting->get('twitterEnabled'); # Don't allow if twitter login is disabled
my $loginUrl = $session->url->page('op=auth;authType=Twitter;method=login');
my $imgUrl = shift || $session->url->extras( 'twitter_login.png' );