X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=C4%2FInstallAuth.pm;h=67319b3db6675dad94fde4223f93b773d551b8ef;hb=9f5a1bc7ebbe3954607da88b87bab6e9c2689dad;hp=de304bac01adb098a148c580ea9e00323dd8a769;hpb=912f238c5e4efa275e74cde77de184473e1f2dd7;p=koha.git diff --git a/C4/InstallAuth.pm b/C4/InstallAuth.pm index de304bac01..67319b3db6 100644 --- a/C4/InstallAuth.pm +++ b/C4/InstallAuth.pm @@ -20,18 +20,18 @@ package C4::InstallAuth; use strict; #use warnings; FIXME - Bug 2505 use Digest::MD5 qw(md5_base64); +use CGI::Session; +use File::Spec; require Exporter; + use C4::Context; use C4::Output; use C4::Templates; use C4::Koha; -use CGI::Session; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); +use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); -# set the version for version checking -$VERSION = 3.00; =head1 NAME @@ -96,7 +96,7 @@ InstallAuth - Authenticates Koha users for Install process The C is then used to find the correct template for the page. The authenticated users details are loaded onto the - template in the HTML::Template LOOP variable C. Also the + template in the logged_in_user variable (which is a Koha::Patron object). Also the C is passed to the template. This can be used in templates if cookies are disabled. It needs to be put as and input to every authenticated page. @@ -144,12 +144,15 @@ sub get_template_and_user { $template->param( CAN_user_editcatalogue => 1 ); $template->param( CAN_user_updatecharges => 1 ); $template->param( CAN_user_acquisition => 1 ); - $template->param( CAN_user_management => 1 ); $template->param( CAN_user_tools => 1 ); $template->param( CAN_user_editauthorities => 1 ); $template->param( CAN_user_serials => 1 ); $template->param( CAN_user_reports => 1 ); } + + my $minPasswordLength = C4::Context->preference('minPasswordLength'); + $minPasswordLength = 3 if not $minPasswordLength or $minPasswordLength < 3; + $template->param(minPasswordLength => $minPasswordLength,); } return ( $template, $borrowernumber, $cookie ); } @@ -235,6 +238,7 @@ sub checkauth { my $dbh = C4::Context->dbh(); my $template_name; $template_name = "installer/auth.tt"; + my $sessdir = File::Spec->catdir( C4::Context::temporary_directory, 'cgisess_' . C4::Context->config('database') ); # same construction as in C4/Auth # state variables my $loggedin = 0; @@ -245,7 +249,7 @@ sub checkauth { C4::Context->_new_userenv($sessionID); my $session = new CGI::Session( "driver:File;serializer:yaml", $sessionID, - { Directory => '/tmp' } ); + { Directory => $sessdir } ); if ( $session->param('cardnumber') ) { C4::Context->set_userenv( $session->param('number'), @@ -285,7 +289,7 @@ sub checkauth { } unless ($userid) { my $session = - new CGI::Session( "driver:File;serializer:yaml", undef, { Directory => '/tmp' } ); + new CGI::Session( "driver:File;serializer:yaml", undef, { Directory => $sessdir } ); $sessionID = $session->id; $userid = $query->param('userid'); C4::Context->_new_userenv($sessionID); @@ -381,6 +385,10 @@ sub checkauth { $template->param( login => 1 ); $template->param( loginprompt => 1 ) unless $info{'nopermission'}; + if ($info{'invalid_username_or_password'} == 1) { + $template->param( 'invalid_username_or_password' => $info{'invalid_username_or_password'}); + } + $template->param( \%info ); $cookie = $query->cookie( -name => 'CGISESSID', @@ -415,16 +423,6 @@ sub checkpw { ); return 2; } - if ( $userid - && $userid eq 'demo' - && "$password" eq 'demo' - && C4::Context->config('demo') ) - { - -# DEMO => the demo user is allowed to do everything (if demo set to 1 in koha.conf -# some features won't be effective : modify systempref, modify MARC structure, - return 2; - } return 0; }