View | Details | Raw Unified | Return to bug 10900
Collapse All | Expand All

(-)a/C4/Auth.pm (-12 / +12 lines)
Lines 670-676 sub checkauth { Link Here
670
        C4::Context->_new_userenv($sessionID);
670
        C4::Context->_new_userenv($sessionID);
671
        my ($ip, $lasttime, $sessiontype);
671
        my ($ip, $lasttime, $sessiontype);
672
        if ($session){
672
        if ($session){
673
            C4::Context::set_userenv(
673
            C4::Context->set_userenv(
674
                $session->param('number'),       $session->param('id'),
674
                $session->param('number'),       $session->param('id'),
675
                $session->param('cardnumber'),   $session->param('firstname'),
675
                $session->param('cardnumber'),   $session->param('firstname'),
676
                $session->param('surname'),      $session->param('branch'),
676
                $session->param('surname'),      $session->param('branch'),
Lines 943-949 sub checkauth { Link Here
943
                if ($persona){
943
                if ($persona){
944
                    $session->param('persona',1);
944
                    $session->param('persona',1);
945
                }
945
                }
946
                C4::Context::set_userenv(
946
                C4::Context->set_userenv(
947
                    $session->param('number'),       $session->param('id'),
947
                    $session->param('number'),       $session->param('id'),
948
                    $session->param('cardnumber'),   $session->param('firstname'),
948
                    $session->param('cardnumber'),   $session->param('firstname'),
949
                    $session->param('surname'),      $session->param('branch'),
949
                    $session->param('surname'),      $session->param('branch'),
Lines 1174-1180 sub check_api_auth { Link Here
1174
        my $session = get_session($sessionID);
1174
        my $session = get_session($sessionID);
1175
        C4::Context->_new_userenv($sessionID);
1175
        C4::Context->_new_userenv($sessionID);
1176
        if ($session) {
1176
        if ($session) {
1177
            C4::Context::set_userenv(
1177
            C4::Context->set_userenv(
1178
                $session->param('number'),       $session->param('id'),
1178
                $session->param('number'),       $session->param('id'),
1179
                $session->param('cardnumber'),   $session->param('firstname'),
1179
                $session->param('cardnumber'),   $session->param('firstname'),
1180
                $session->param('surname'),      $session->param('branch'),
1180
                $session->param('surname'),      $session->param('branch'),
Lines 1334-1340 sub check_api_auth { Link Here
1334
                $session->param('ip',$session->remote_addr());
1334
                $session->param('ip',$session->remote_addr());
1335
                $session->param('lasttime',time());
1335
                $session->param('lasttime',time());
1336
            }
1336
            }
1337
            C4::Context::set_userenv(
1337
            C4::Context->set_userenv(
1338
                $session->param('number'),       $session->param('id'),
1338
                $session->param('number'),       $session->param('id'),
1339
                $session->param('cardnumber'),   $session->param('firstname'),
1339
                $session->param('cardnumber'),   $session->param('firstname'),
1340
                $session->param('surname'),      $session->param('branch'),
1340
                $session->param('surname'),      $session->param('branch'),
Lines 1413-1419 sub check_cookie_auth { Link Here
1413
    my $session = get_session($sessionID);
1413
    my $session = get_session($sessionID);
1414
    C4::Context->_new_userenv($sessionID);
1414
    C4::Context->_new_userenv($sessionID);
1415
    if ($session) {
1415
    if ($session) {
1416
        C4::Context::set_userenv(
1416
        C4::Context->set_userenv(
1417
            $session->param('number'),       $session->param('id'),
1417
            $session->param('number'),       $session->param('id'),
1418
            $session->param('cardnumber'),   $session->param('firstname'),
1418
            $session->param('cardnumber'),   $session->param('firstname'),
1419
            $session->param('surname'),      $session->param('branch'),
1419
            $session->param('surname'),      $session->param('branch'),
Lines 1518-1552 sub checkpw_internal { Link Here
1518
1518
1519
    my $sth =
1519
    my $sth =
1520
      $dbh->prepare(
1520
      $dbh->prepare(
1521
"select password,cardnumber,borrowernumber,userid,firstname,surname,branchcode,flags from borrowers where userid=?"
1521
"select password,cardnumber,borrowernumber,userid,firstname,surname,borrowers.branchcode,branches.branchname,flags from borrowers join branches on borrowers.branchcode=branches.branchcode where userid=?"
1522
      );
1522
      );
1523
    $sth->execute($userid);
1523
    $sth->execute($userid);
1524
    if ( $sth->rows ) {
1524
    if ( $sth->rows ) {
1525
        my ( $stored_hash, $cardnumber, $borrowernumber, $userid, $firstname,
1525
        my ( $stored_hash, $cardnumber, $borrowernumber, $userid, $firstname,
1526
            $surname, $branchcode, $flags )
1526
            $surname, $branchcode, $branchname, $flags )
1527
          = $sth->fetchrow;
1527
          = $sth->fetchrow;
1528
1528
1529
        if ( checkpw_hash($password, $stored_hash) ) {
1529
        if ( checkpw_hash($password, $stored_hash) ) {
1530
1530
1531
            C4::Context->set_userenv( "$borrowernumber", $userid, $cardnumber,
1531
            C4::Context->set_userenv( "$borrowernumber", $userid, $cardnumber,
1532
                $firstname, $surname, $branchcode, $flags );
1532
                $firstname, $surname, $branchcode, $branchname, $flags );
1533
            return 1, $cardnumber, $userid;
1533
            return 1, $cardnumber, $userid;
1534
        }
1534
        }
1535
    }
1535
    }
1536
    $sth =
1536
    $sth =
1537
      $dbh->prepare(
1537
      $dbh->prepare(
1538
"select password,cardnumber,borrowernumber,userid, firstname,surname,branchcode,flags from borrowers where cardnumber=?"
1538
"select password,cardnumber,borrowernumber,userid,firstname,surname,borrowers.branchcode,branches.branchname,flags from borrowers join branches on borrowers.branchcode=branches.branchcode where cardnumber=?"
1539
      );
1539
      );
1540
    $sth->execute($userid);
1540
    $sth->execute($userid);
1541
    if ( $sth->rows ) {
1541
    if ( $sth->rows ) {
1542
        my ( $stored_hash, $cardnumber, $borrowernumber, $userid, $firstname,
1542
        my ( $stored_hash, $cardnumber, $borrowernumber, $userid, $firstname,
1543
            $surname, $branchcode, $flags )
1543
            $surname, $branchcode, $branchname, $flags )
1544
          = $sth->fetchrow;
1544
          = $sth->fetchrow;
1545
1545
1546
        if ( checkpw_hash($password, $stored_hash) ) {
1546
        if ( checkpw_hash($password, $stored_hash) ) {
1547
1547
1548
            C4::Context->set_userenv( $borrowernumber, $userid, $cardnumber,
1548
            C4::Context->set_userenv( $borrowernumber, $userid, $cardnumber,
1549
                $firstname, $surname, $branchcode, $flags );
1549
                $firstname, $surname, $branchcode, $branchname, $flags );
1550
            return 1, $cardnumber, $userid;
1550
            return 1, $cardnumber, $userid;
1551
        }
1551
        }
1552
    }
1552
    }
Lines 1555-1561 sub checkpw_internal { Link Here
1555
    {
1555
    {
1556
1556
1557
# Koha superuser account
1557
# Koha superuser account
1558
#     C4::Context->set_userenv(0,0,C4::Context->config('user'),C4::Context->config('user'),C4::Context->config('user'),"",1);
1558
#     C4::Context->set_userenv(0,0,C4::Context->config('user'),C4::Context->config('user'),C4::Context->config('user'),"","",1);
1559
        return 2;
1559
        return 2;
1560
    }
1560
    }
1561
    if (   $userid && $userid eq 'demo'
1561
    if (   $userid && $userid eq 'demo'
(-)a/C4/Context.pm (-3 / +5 lines)
Lines 1098-1106 sub userenv { Link Here
1098
1098
1099
=head2 set_userenv
1099
=head2 set_userenv
1100
1100
1101
  C4::Context->set_userenv($usernum, $userid, $usercnum, $userfirstname, 
1101
  C4::Context->set_userenv($usernum, $userid, $usercnum,
1102
                  $usersurname, $userbranch, $userflags, $emailaddress, $branchprinter,
1102
                           $userfirstname, $usersurname,
1103
                  $persona);
1103
                           $userbranch, $branchname, $userflags,
1104
                           $emailaddress, $branchprinter, $persona);
1104
1105
1105
Establish a hash of user environment variables.
1106
Establish a hash of user environment variables.
1106
1107
Lines 1110-1115 set_userenv is called in Auth.pm Link Here
1110
1111
1111
#'
1112
#'
1112
sub set_userenv {
1113
sub set_userenv {
1114
    shift @_;
1113
    my ($usernum, $userid, $usercnum, $userfirstname, $usersurname, $userbranch, $branchname, $userflags, $emailaddress, $branchprinter, $persona)= @_;
1115
    my ($usernum, $userid, $usercnum, $userfirstname, $usersurname, $userbranch, $branchname, $userflags, $emailaddress, $branchprinter, $persona)= @_;
1114
    my $var=$context->{"activeuser"} || '';
1116
    my $var=$context->{"activeuser"} || '';
1115
    my $cell = {
1117
    my $cell = {
(-)a/installer/InstallAuth.pm (-3 / +3 lines)
Lines 250-256 sub checkauth { Link Here
250
          new CGI::Session( "driver:File;serializer:yaml", $sessionID,
250
          new CGI::Session( "driver:File;serializer:yaml", $sessionID,
251
            { Directory => '/tmp' } );
251
            { Directory => '/tmp' } );
252
        if ( $session->param('cardnumber') ) {
252
        if ( $session->param('cardnumber') ) {
253
            C4::Context::set_userenv(
253
            C4::Context->set_userenv(
254
                $session->param('number'),
254
                $session->param('number'),
255
                $session->param('id'),
255
                $session->param('id'),
256
                $session->param('cardnumber'),
256
                $session->param('cardnumber'),
Lines 312-318 sub checkauth { Link Here
312
           #Only superlibrarian should have access to this page.
312
           #Only superlibrarian should have access to this page.
313
           #Since if it is a user, it is supposed that there is a borrower table
313
           #Since if it is a user, it is supposed that there is a borrower table
314
           #And thus that data structure is loaded.
314
           #And thus that data structure is loaded.
315
                my $hash = C4::Context::set_userenv(
315
                my $hash = C4::Context->set_userenv(
316
                    0,                           0,
316
                    0,                           0,
317
                    C4::Context->config('user'), C4::Context->config('user'),
317
                    C4::Context->config('user'), C4::Context->config('user'),
318
                    C4::Context->config('user'), "",
318
                    C4::Context->config('user'), "",
Lines 417-423 sub checkpw { Link Here
417
            C4::Context->config('user'),
417
            C4::Context->config('user'),
418
            C4::Context->config('user'),
418
            C4::Context->config('user'),
419
            C4::Context->config('user'),
419
            C4::Context->config('user'),
420
            "", 1
420
            "", "NO_LIBRARY_SET", 1
421
        );
421
        );
422
        return 2;
422
        return 2;
423
    }
423
    }
(-)a/t/Circulation_barcodedecode.t (-1 / +1 lines)
Lines 6-12 use warnings; Link Here
6
6
7
use Test::More tests => 26;
7
use Test::More tests => 26;
8
C4::Context->_new_userenv(123456);
8
C4::Context->_new_userenv(123456);
9
C4::Context->set_userenv(1,'kmkale' , 1, 'kk1' , 'IMS', 0, 'kmkale@anantcorp.com');
9
C4::Context->set_userenv(1,'kmkale' , 1, 'km', 'kale' , 'IMS', 'IMS Branch DEscription', 0, 'kmkale@anantcorp.com');
10
10
11
BEGIN {
11
BEGIN {
12
    use_ok('C4::Circulation');
12
    use_ok('C4::Circulation');
(-)a/t/db_dependent/Circulation.t (-2 / +1 lines)
Lines 77-83 is( Link Here
77
77
78
diag('Now, set a userenv');
78
diag('Now, set a userenv');
79
C4::Context->_new_userenv('xxx');
79
C4::Context->_new_userenv('xxx');
80
C4::Context::set_userenv(0,0,0,'firstname','surname', 'MPL', 'Midway Public Library', '', '', '');
80
C4::Context->set_userenv(0,0,0,'firstname','surname', 'MPL', 'Midway Public Library', '', '', '');
81
is(C4::Context->userenv->{branch}, 'MPL', 'userenv set');
81
is(C4::Context->userenv->{branch}, 'MPL', 'userenv set');
82
82
83
# Userenv set, PickupLibrary
83
# Userenv set, PickupLibrary
84
- 

Return to bug 10900