+my $sth = $k->prepare(qq{
+select
+ borrowernumber,
+ firstname,
+ surname,
+ cardnumber
+from borrowers
+where categorycode = 'D' and email is null
+group by firstname,surname
+having count(*) = 1 -- update only unique users
+});
+my $update_borrower = $k->prepare(qq{
+update borrowers
+set email = ?, userid = ?, cardnumber = ?
+where borrowernumber = ?
+});
+$sth->execute;
+while (my $row = $sth->fetchrow_hashref) {
+ my $email = lc unac_string( 'utf-8', $row->{firstname} . '.' . $row->{surname} . '@fer.hr' );
+ if ( my $nick = lookup($u, 'users', 'email', 'nick', $email, undef) ) {
+ my $cardnumber = lookup($u, 'users', 'email', 'jmbag', $email, undef) || next;
+ warn "# FIXED nick $row->{borrowernumber} $nick $email $cardnumber\n";
+eval {
+ $update_borrower->execute( $email, $nick, $cardnumber, $row->{borrowernumber} );
+};
+ }
+}