diff --git a/lib/IdPAccountManager/WebRequest.pm b/lib/IdPAccountManager/WebRequest.pm index 84e74179c572977142ba702d4c0d1274646f5c2c..e3da059a8e3f7dad4bfda69356fc6a5a33c145ea 100755 --- a/lib/IdPAccountManager/WebRequest.pm +++ b/lib/IdPAccountManager/WebRequest.pm @@ -9,16 +9,16 @@ use IdPAccountManager::Logger; sub new { my $pkg = shift; my %args = shift; - my $request = { + my $self = { format => $args{format}, actions => $args{actions}, }; - $request->{logger} = IdPAccountManager::Logger->new( + $self->{logger} = IdPAccountManager::Logger->new( file => $Conf::global{'log_file'}, verbosity => $Conf::global{'log_level'} ); - $request->{logger}->log( + $self->{logger}->log( level => LOG_INFO, message => '' ); @@ -27,38 +27,38 @@ sub new { ## Input parameters my %in_vars = $http_query->Vars; - $request->{'param_in'} = \%in_vars; + $self->{'param_in'} = \%in_vars; ## Check if admin acts as another user - $request->{'cookies'} = CGI::Cookie->fetch; + $self->{'cookies'} = CGI::Cookie->fetch; -#if (defined $request->{'cookies'}{'as_user'} && $request->{'is_admin'}) { -# $request->{'utilisateur'} = $request->{'as_user'} = $request->{'cookies'}{'as_user'}->value; -# $request->{'is_admin'} = 0; +#if (defined $self->{'cookies'}{'as_user'} && $request->{'is_admin'}) { +# $self->{'utilisateur'} = $request->{'as_user'} = $request->{'cookies'}{'as_user'}->value; +# $self->{'is_admin'} = 0; #} ## Usefull data for output (web pages or mail notices) - $request->{'param_out'}{'url_cgi'} = $ENV{'SCRIPT_NAME'}; - $request->{'param_out'}{'env'} = \%ENV; - $request->{'param_out'}{'actions'} = $args{actions}; - $request->{'param_out'}{'conf'} = \%Conf::global; + $self->{'param_out'}{'url_cgi'} = $ENV{'SCRIPT_NAME'}; + $self->{'param_out'}{'env'} = \%ENV; + $self->{'param_out'}{'actions'} = $args{actions}; + $self->{'param_out'}{'conf'} = \%Conf::global; ## Dumping input data -#open TMP, ">/tmp/account_manager.in"; IdPAccountManager::Tools::dump_var($request->{'param_in'}, 0, \*TMP); close TMP; +#open TMP, ">/tmp/account_manager.in"; IdPAccountManager::Tools::dump_var($self->{'param_in'}, 0, \*TMP); close TMP; ## Clean input vars - foreach my $key (keys %{ $request->{'param_in'} }) { + foreach my $key (keys %{ $self->{'param_in'} }) { -#$self->{logger}->log(level => LOG_TRACE, message => "PARAM_ENTREE: %s=%s", $key, $request->{'param_in'}{$key}); +#$self->{logger}->log(level => LOG_TRACE, message => "PARAM_ENTREE: %s=%s", $key, $self->{'param_in'}{$key}); ## Removing all ^M (0D) - $request->{'param_in'}{$key} =~ s/\r//g; + $self->{'param_in'}{$key} =~ s/\r//g; - $request->{'param_in'}{$key} =~ s/\s+$//; ## Remove trailing spaces - $request->{'param_in'}{$key} =~ s/^\s+//; ## Remove leading spaces - #if ($request->{'param_in'}{$key} =~ /\0/) { - # my @valeurs = split /\0/, $request->{'param_in'}{$key}; - # $request->{'param_in'}{$key} = $valeurs[0]; ## Only keep first value of multi-valued parameters + $self->{'param_in'}{$key} =~ s/\s+$//; ## Remove trailing spaces + $self->{'param_in'}{$key} =~ s/^\s+//; ## Remove leading spaces + #if ($self->{'param_in'}{$key} =~ /\0/) { + # my @valeurs = split /\0/, $self->{'param_in'}{$key}; + # $self->{'param_in'}{$key} = $valeurs[0]; ## Only keep first value of multi-valued parameters #} ## If action_xx param is set, then action=xx @@ -66,22 +66,22 @@ sub new { if ($key =~ /^action_(\w+)$/) { #$self->{logger}->log(level => LOG_TRACE, message => "ACTION $key"); - $request->{'param_in'}{'action'} = $1; + $self->{'param_in'}{'action'} = $1; } } ## Check the requested action - if ($request->{'param_in'}{'action'}) { - $request->{'action'} = $request->{'param_in'}{'action'}; + if ($self->{'param_in'}{'action'}) { + $self->{'action'} = $self->{'param_in'}{'action'}; } else { ## Default action - $request->{logger}->log(level => LOG_INFO, message => 'Default action'); - $request->{'action'} = 'home'; + $self->{logger}->log(level => LOG_INFO, message => 'Default action'); + $self->{'action'} = 'home'; } - bless $request, $pkg; + bless $self, $pkg; - return $request; + return $self; } ## Execute a web request