X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FAuth.pm;h=ccb2c1500062add7d5bf9b75486d6a8b966510c7;hb=52afe06ddd222fcd143bf34ba01daf01ba56674e;hp=bbe472bf8b113e807675afb3ed7289e78e20407f;hpb=47b7b91d148faa62a8d0bb257bec2b3fa716d234;p=srvgit diff --git a/C4/Auth.pm b/C4/Auth.pm old mode 100755 new mode 100644 index bbe472bf8b..ccb2c15000 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -27,15 +27,13 @@ use CGI::Session; require Exporter; use C4::Context; use C4::Templates; # to get the template -use C4::Members; -use C4::Koha; use C4::Branch; # GetBranches use C4::VirtualShelves; use POSIX qw/strftime/; use List::MoreUtils qw/ any /; # use utf8; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug $ldap $cas $caslogout $servers $memcached); +use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug $ldap $cas $caslogout); BEGIN { sub psgi_env { any { /^psgi\./ } keys %ENV } @@ -61,16 +59,7 @@ BEGIN { if ($cas) { import C4::Auth_with_cas qw(check_api_auth_cas checkpw_cas login_cas logout_cas login_cas_url); } - $servers = C4::Context->config('memcached_servers'); - if ($servers) { - require Cache::Memcached; - $memcached = Cache::Memcached->new({ - servers => [ $servers ], - debug => 0, - compress_threshold => 10_000, - namespace => C4::Context->config('memcached_namespace') || 'koha', - }); - } + } =head1 NAME @@ -188,8 +177,8 @@ sub get_template_and_user { } $borrowernumber = getborrowernumber($user) if defined($user); - - my ( $borr ) = GetMemberDetails( $borrowernumber ); + require C4::Members; + my ( $borr ) = C4::Members::GetMemberDetails( $borrowernumber ); my @bordat; $bordat[0] = $borr; $template->param( "USER_INFO" => \@bordat ); @@ -389,7 +378,10 @@ sub get_template_and_user { virtualshelves => C4::Context->preference("virtualshelves"), StaffSerialIssueDisplayCount => C4::Context->preference("StaffSerialIssueDisplayCount"), NoZebra => C4::Context->preference('NoZebra'), - EasyAnalyticalRecords => C4::Context->preference('EasyAnalyticalRecords'), + EasyAnalyticalRecords => C4::Context->preference('EasyAnalyticalRecords'), + LocalCoverImages => C4::Context->preference('LocalCoverImages'), + OPACLocalCoverImages => C4::Context->preference('OPACLocalCoverImages'), + AllowMultipleCovers => C4::Context->preference('AllowMultipleCovers'), ); } else { @@ -494,11 +486,11 @@ sub get_template_and_user { SyndeticsAwards => C4::Context->preference("SyndeticsAwards"), SyndeticsSeries => C4::Context->preference("SyndeticsSeries"), SyndeticsCoverImageSize => C4::Context->preference("SyndeticsCoverImageSize"), + OPACLocalCoverImages => C4::Context->preference("OPACLocalCoverImages"), ); $template->param(OpacPublic => '1') if ($user || C4::Context->preference("OpacPublic")); } - $template->param(listloop=>[{shelfname=>"Freelist", shelfnumber=>110}]); return ( $template, $borrowernumber, $cookie, $flags); } @@ -688,7 +680,8 @@ sub checkauth { $userid = $session->param('id'); $sessiontype = $session->param('sessiontype'); } - if ( ($query->param('koha_login_context')) && ($query->param('userid') ne $session->param('id')) ) { + if ( ( ($query->param('koha_login_context')) && ($query->param('userid') ne $session->param('id')) ) + || ( $cas && $query->param('ticket') ) ) { #if a user enters an id ne to the id in the current session, we need to log them in... #first we need to clear the anonymous session... $debug and warn "query id = " . $query->param('userid') . " but session id = " . $session->param('id'); @@ -751,7 +744,7 @@ sub checkauth { C4::Context->_new_userenv($sessionID); $cookie = $query->cookie(CGISESSID => $sessionID); $userid = $query->param('userid'); - if ($cas || $userid) { + if (($cas && $query->param('ticket')) || $userid) { my $password = $query->param('password'); my ($return, $cardnumber); if ($cas && $query->param('ticket')) { @@ -1117,7 +1110,7 @@ sub check_api_auth { unless ($query->param('userid')) { $sessionID = $query->cookie("CGISESSID"); } - if ($sessionID && not $cas) { + if ($sessionID && not ($cas && $query->param('PT')) ) { my $session = get_session($sessionID); C4::Context->_new_userenv($sessionID); if ($session) { @@ -1422,8 +1415,8 @@ sub get_session { elsif ($storage_method eq 'Pg') { $session = new CGI::Session("driver:PostgreSQL;serializer:yaml;id:md5", $sessionID, {Handle=>$dbh}); } - elsif ($storage_method eq 'memcached' && $servers){ - $session = new CGI::Session("driver:memcached;serializer:yaml;id:md5", $sessionID, { Memcached => $memcached } ); + elsif ($storage_method eq 'memcached' && C4::Context->ismemcached){ + $session = new CGI::Session("driver:memcached;serializer:yaml;id:md5", $sessionID, { Memcached => C4::Context->memcached } ); } else { # catch all defaults to tmp should work on all systems