BEGIN {
# set the version for version checking
- $VERSION = 0.02;
+ $VERSION = 3.07.00.049;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(&ImportBreeding &BreedingSearch);
my $dbh = C4::Context->dbh;
- my $batch_id = 0;
- if ($batch_type eq 'z3950') {
- $batch_id = GetZ3950BatchId($filename);
- } else {
- # create a new one
- $batch_id = AddImportBatch('create_new', 'staging', 'batch', $filename, '');
- }
+ my $batch_id = GetZ3950BatchId($filename);
my $searchisbn = $dbh->prepare("select biblioitemnumber from biblioitems where isbn=?");
my $searchissn = $dbh->prepare("select biblioitemnumber from biblioitems where issn=?");
# FIXME -- not sure that this kind of checking is actually needed
($marcrecord, $charset_result, $charset_errors) =
MarcToUTF8Record($marcarray[$i]."\x1D", C4::Context->preference("marcflavour"), $encoding);
+ # Normalize the record so it doesn't have separated diacritics
+ SetUTF8Flag($marcrecord);
+
# warn "$i : $marcarray[$i]";
# FIXME - currently this does nothing
my @warnings = $marcrecord->warnings();
$query .= "z3950random = ?";
@bind=($z3950random);
} else {
- $search =~ s/(\s+)/\%/g;
@bind=();
- if ($search) {
+ if (defined($search) && length($search)>0) {
+ $search =~ s/(\s+)/\%/g;
$query .= "title like ? OR author like ?";
push(@bind,"%$search%", "%$search%");
}
- if ($search && $isbn) {
+ if ($#bind!=-1 && defined($isbn) && length($isbn)>0) {
$query .= " and ";
}
- if ($isbn) {
+ if (defined($isbn) && length($isbn)>0) {
$query .= "isbn like ?";
push(@bind,"$isbn%");
}