Manage exportedVars the same way in all modules (#636)

This commit is contained in:
Clément Oudot 2014-02-19 14:35:59 +00:00
parent 580d88cbc7
commit 9f170b9767
5 changed files with 15 additions and 32 deletions

View File

@ -102,12 +102,8 @@ sub setSessionInfo {
# Set _user unless already defined # Set _user unless already defined
$self->{sessionInfo}->{_user} ||= $self->{user}; $self->{sessionInfo}->{_user} ||= $self->{user};
while ( my ( $var, $attr ) = each %{ $self->{exportedVars} } ) { my %vars = ( %{ $self->{exportedVars} }, %{ $self->{dbiExportedVars} } );
$self->{sessionInfo}->{$var} = $self->{entry}->{$attr} while ( my ( $var, $attr ) = each %vars ) {
if ( defined $self->{entry}->{$attr} );
}
while ( my ( $var, $attr ) = each %{ $self->{dbiExportedVars} } ) {
$self->{sessionInfo}->{$var} = $self->{entry}->{$attr} $self->{sessionInfo}->{$var} = $self->{entry}->{$attr}
if ( defined $self->{entry}->{$attr} ); if ( defined $self->{entry}->{$attr} );
} }

View File

@ -62,15 +62,10 @@ sub getUser {
sub setSessionInfo { sub setSessionInfo {
my $self = shift; my $self = shift;
# Concat global exportedVars and module specific exportedVars my %vars = ( %{ $self->{exportedVars} }, %{ $self->{demoExportedVars} } );
my @vars = (); while ( my ( $k, $v ) = each %vars ) {
@vars = ( @vars, keys %{ $self->{exportedVars} } ) if $self->{exportedVars}; $self->{sessionInfo}->{$k} =
@vars = ( @vars, keys %{ $self->{demoExportedVars} } ) $self->{_demoAccounts}->{ $self->{user} }->{$v}
if $self->{demoExportedVars};
foreach (@vars) {
$self->{sessionInfo}->{$_} =
$self->{_demoAccounts}->{ $self->{user} }->{$_}
|| ""; || "";
} }

View File

@ -112,17 +112,10 @@ sub setSessionInfo {
my $self = shift; my $self = shift;
$self->{sessionInfo}->{dn} = $self->{dn}; $self->{sessionInfo}->{dn} = $self->{dn};
foreach ( keys %{ $self->{exportedVars} } ) { my %vars = ( %{ $self->{exportedVars} }, %{ $self->{ldapExportedVars} } );
$self->{sessionInfo}->{$_} = while ( my ( $k, $v ) = each %vars ) {
$self->{ldap} $self->{sessionInfo}->{$k} =
->getLdapValue( $self->{entry}, $self->{exportedVars}->{$_} ) $self->{ldap}->getLdapValue( $self->{entry}, $v )
|| "";
}
foreach ( keys %{ $self->{ldapExportedVars} } ) {
$self->{sessionInfo}->{$_} =
$self->{ldap}
->getLdapValue( $self->{entry}, $self->{ldapExportedVars}->{$_} )
|| ""; || "";
} }

View File

@ -22,9 +22,8 @@ sub setSessionInfo {
return PE_FORBIDDENIP return PE_FORBIDDENIP
unless ( $self->checkIP ); unless ( $self->checkIP );
while ( my ( $k, $v ) = my %vars = ( %{ $self->{exportedVars} }, %{ $self->{slaveExportedVars} } );
each( %{ $self->{exportedVars} }, %{ $self->{slaveExportedVars} } ) ) while ( my ( $k, $v ) = each %vars ) {
{
$v = 'HTTP_' . uc($v); $v = 'HTTP_' . uc($v);
$v =~ s/\-/_/g; $v =~ s/\-/_/g;
$self->{sessionInfo}->{$k} = $ENV{$v}; $self->{sessionInfo}->{$k} = $ENV{$v};

View File

@ -34,8 +34,7 @@ sub getUser {
} }
## @apmethod int setSessionInfo() ## @apmethod int setSessionInfo()
# Since the job is done by AuthGoogle, here just check that required # Get attributes from FOAF
# attributes are not null
# @return Lemonldap::NG::Portal error code # @return Lemonldap::NG::Portal error code
sub setSessionInfo { sub setSessionInfo {
my $self = shift; my $self = shift;
@ -45,7 +44,8 @@ sub setSessionInfo {
return PE_ERROR; return PE_ERROR;
} }
while ( my ( $k, $v ) = each ( %{ $self->{exportedVars} } , %{ $self->{webIDExportedVars} } ) ) { my %vars = ( %{ $self->{exportedVars} }, %{ $self->{webIDExportedVars} } );
while ( my ( $k, $v ) = each %vars ) {
my $attr = $k; my $attr = $k;
my $req; my $req;
$attr =~ s/^!// and $req = 1; $attr =~ s/^!// and $req = 1;