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

(-)file_not_specified_in_diff (-11 / +91 lines)
Line 19 Link Here
19
#
20
# Shibboleth support added by Tom Francart (2012) - only tested at KU Leuven
Line 32 Link Here
34
use C4::Members qw(AddMember);		# [Tom] Shibboleth: add user
35
 use C4::Members::Attributes;
36
 use C4::Members::AttributeTypes;
37
 
Lines 636-645 Link Here
636
    if ( $userid = $ENV{'REMOTE_USER'} ) {
642
#	[Tom] Removed: incompatible with Shib
637
        # Using Basic Authentication, no cookies required
643
#    if ( $userid = $ENV{'REMOTE_USER'} ) {
638
        $cookie = $query->cookie(
644
#        # Using Basic Authentication, no cookies required
639
            -name    => 'CGISESSID',
645
#        $cookie = $query->cookie(
640
            -value   => '',
646
#            -name    => 'CGISESSID',
641
            -expires => ''
647
#            -value   => '',
642
        );
648
#            -expires => ''
643
        $loggedin = 1;
649
#        );
644
    }
650
#        $loggedin = 1;
645
    elsif ( $sessionID = $query->cookie("CGISESSID")) {     # assignment, not comparison
651
#    }
646
--
652
    if ( $sessionID = $query->cookie("CGISESSID")) {     # assignment, not comparison
Line 730 Link Here
737
	
738
	unless ($userid) {
739
		$userid = $ENV{'HTTP_SHIB_PERSON_UID'};
740
	}
741
Line 1441 Link Here
1453
1454
Line 1491 Link Here
1505
1506
1507
#  [Tom] Try shibboleth
1508
1509
	# check if shib login ok:
1510
	if ($ENV{'HTTP_SHIB_PERSON_UID'} =~ /^\w\d+$/ ) {
1511
    	  	
1512
#		    print "\n\nkonijn2\n";
1513
		
1514
1515
	my %borrower;
1516
	$borrower{cardnumber} = $ENV{'HTTP_SHIB_PERSON_UID'};
1517
	$borrower{userid} = $ENV{'HTTP_SHIB_PERSON_UID'};
1518
	$borrower{firstname} =  $ENV{'HTTP_SHIB_PERSON_GIVENNAME'}; # MANDATORY FIELD
1519
	$borrower{surname} = $ENV{'HTTP_SHIB_PERSON_SURNAME'}; # MANDATORY FIELD
1520
	$borrower{initials} = substr($borrower{firstname},0,1).substr($borrower{surname},0,1)."  "; # MANDATORY FIELD
1521
	$borrower{streetaddress} = ''; # MANDATORY FIELD
1522
	$borrower{city} = " "; # MANDATORY FIELD
1523
	$borrower{phone} = " "; # MANDATORY FIELD
1524
	$borrower{branchcode} = 'AUD'; # MANDATORY FIELD
1525
	$borrower{email} = $ENV{'HTTP_SHIB_PERSON_MAIL'};
1526
	$borrower{dateexpiry} = '2050-01-01';
1527
	
1528
		
1529
	my $catnr=$ENV{'HTTP_SHIB_KUL_OUNUMBER'};
1530
	if ($catnr =~ /50000672/) {		# EXP ORL AUD
1531
	    $borrower{categorycode} = 'EXPORL';	
1532
	    $borrower{flags} = 2;
1533
	} else {
1534
	    $borrower{categorycode} = 'STUDENT';	
1535
	}
1536
		
1537
	$userid=$borrower{userid};
1538
	
1539
	# check if borrower exists
1540
	my $sth=$dbh->prepare("select password from borrowers where cardnumber=?");
1541
	$sth->execute($userid);
1542
	if ($sth->rows) {
1543
		# it exists, MODIFY
1544
# 			warn "MODIF borrower";
1545
		my $sth2 = $dbh->prepare("update borrowers set firstname=?,surname=?,initials=?,categorycode=?,branchcode=?,email=? where cardnumber=?");
1546
		$sth2->execute($borrower{firstname},$borrower{surname},$borrower{initials},
1547
						$borrower{categorycode},$borrower{branchcode},$borrower{email},
1548
						,$userid);
1549
	} else {
1550
		# it does not exists, ADD borrower
1551
		print "ADD borrower";
1552
		my $borrowerid = AddMember(%borrower);
1553
		
1554
#		C4::Members::Attributes::SetBorrowerAttributes($borrowernumber, $extended_patron_attributes);
1555
	}
1556
	#
1557
	# CREATE or MODIFY PASSWORD/LOGIN
1558
	#
1559
	# search borrowerid
1560
#	$sth = $dbh->prepare("select borrowernumber from borrowers where cardnumber=?");
1561
#	$sth->execute($userid);
1562
#	my ($borrowerid)=$sth->fetchrow;
1563
# 		warn "change password for $borrowerid setting $password";
1564
#	my $digest=md5_base64($password);
1565
#	changepassword($userid,$borrowerid,$digest);
1566
	return 1, $userid, $userid;
1567
1568
    }
1569
####### End Shibboleth #########
1570
1571

Return to bug 8446