Lines 47-53
BEGIN {
Link Here
|
47 |
# ~ then gets the LDAP entry |
47 |
# ~ then gets the LDAP entry |
48 |
# ~ and calls the memberadd if necessary |
48 |
# ~ and calls the memberadd if necessary |
49 |
|
49 |
|
50 |
sub ldapserver_error ($) { |
50 |
sub ldapserver_error { |
51 |
return sprintf('No ldapserver "%s" defined in KOHA_CONF: ' . $ENV{KOHA_CONF}, shift); |
51 |
return sprintf('No ldapserver "%s" defined in KOHA_CONF: ' . $ENV{KOHA_CONF}, shift); |
52 |
} |
52 |
} |
53 |
|
53 |
|
Lines 70-77
my %config = (
Link Here
|
70 |
update => defined($ldap->{update} ) ? $ldap->{update} : 1, # update from LDAP to Koha database for existing user |
70 |
update => defined($ldap->{update} ) ? $ldap->{update} : 1, # update from LDAP to Koha database for existing user |
71 |
); |
71 |
); |
72 |
|
72 |
|
73 |
sub description ($) { |
73 |
sub description { |
74 |
my $result = shift or return undef; |
74 |
my $result = shift or return; |
75 |
return "LDAP error #" . $result->code |
75 |
return "LDAP error #" . $result->code |
76 |
. ": " . $result->error_name . "\n" |
76 |
. ": " . $result->error_name . "\n" |
77 |
. "# " . $result->error_text . "\n"; |
77 |
. "# " . $result->error_text . "\n"; |
Lines 197-203
return(1, $cardnumber, $userid);
Link Here
|
197 |
# Edit KOHA_CONF so $memberhash{'xxx'} fits your ldap structure. |
197 |
# Edit KOHA_CONF so $memberhash{'xxx'} fits your ldap structure. |
198 |
# Ensure that mandatory fields are correctly filled! |
198 |
# Ensure that mandatory fields are correctly filled! |
199 |
# |
199 |
# |
200 |
sub ldap_entry_2_hash ($$) { |
200 |
sub ldap_entry_2_hash { |
201 |
my $userldapentry = shift; |
201 |
my $userldapentry = shift; |
202 |
my %borrower = ( cardnumber => shift ); |
202 |
my %borrower = ( cardnumber => shift ); |
203 |
my %memberhash; |
203 |
my %memberhash; |
Lines 209-215
sub ldap_entry_2_hash ($$) {
Link Here
|
209 |
hashdump("LDAP key: ",$userldapentry->{$_}); |
209 |
hashdump("LDAP key: ",$userldapentry->{$_}); |
210 |
} |
210 |
} |
211 |
} |
211 |
} |
212 |
my $x = $userldapentry->{attrs} or return undef; |
212 |
my $x = $userldapentry->{attrs} or return; |
213 |
foreach (keys %$x) { |
213 |
foreach (keys %$x) { |
214 |
$memberhash{$_} = join ' ', @{$x->{$_}}; |
214 |
$memberhash{$_} = join ' ', @{$x->{$_}}; |
215 |
$debug and print STDERR sprintf("building \$memberhash{%s} = ", $_, join(' ', @{$x->{$_}})), "\n"; |
215 |
$debug and print STDERR sprintf("building \$memberhash{%s} = ", $_, join(' ', @{$x->{$_}})), "\n"; |
Lines 242-248
sub ldap_entry_2_hash ($$) {
Link Here
|
242 |
return %borrower; |
242 |
return %borrower; |
243 |
} |
243 |
} |
244 |
|
244 |
|
245 |
sub exists_local($) { |
245 |
sub exists_local { |
246 |
my $arg = shift; |
246 |
my $arg = shift; |
247 |
my $dbh = C4::Context->dbh; |
247 |
my $dbh = C4::Context->dbh; |
248 |
my $select = "SELECT borrowernumber,cardnumber,userid,password FROM borrowers "; |
248 |
my $select = "SELECT borrowernumber,cardnumber,userid,password FROM borrowers "; |
Lines 271-286
sub _do_changepassword {
Link Here
|
271 |
my ($md5password, $cardnum) = $sth->fetchrow; |
271 |
my ($md5password, $cardnum) = $sth->fetchrow; |
272 |
($digest eq $md5password) and return $cardnum; |
272 |
($digest eq $md5password) and return $cardnum; |
273 |
warn "Password mismatch after update to cardnumber=$cardnum (borrowernumber=$borrowerid)"; |
273 |
warn "Password mismatch after update to cardnumber=$cardnum (borrowernumber=$borrowerid)"; |
274 |
return undef; |
274 |
return; |
275 |
} |
275 |
} |
276 |
die "Unexpected error after password update to userid/borrowernumber: $userid / $borrowerid."; |
276 |
die "Unexpected error after password update to userid/borrowernumber: $userid / $borrowerid."; |
277 |
} |
277 |
} |
278 |
|
278 |
|
279 |
sub update_local($$$$) { |
279 |
sub update_local { |
280 |
my $userid = shift or return undef; |
280 |
my $userid = shift or return; |
281 |
my $digest = md5_base64(shift) or return undef; |
281 |
my $digest = md5_base64(shift) or return; |
282 |
my $borrowerid = shift or return undef; |
282 |
my $borrowerid = shift or return; |
283 |
my $borrower = shift or return undef; |
283 |
my $borrower = shift or return; |
284 |
my @keys = keys %$borrower; |
284 |
my @keys = keys %$borrower; |
285 |
my $dbh = C4::Context->dbh; |
285 |
my $dbh = C4::Context->dbh; |
286 |
my $query = "UPDATE borrowers\nSET " . |
286 |
my $query = "UPDATE borrowers\nSET " . |
287 |
- |
|
|