my $dosearch;
my $and=" \@and " ;
my $q2;
+ my $attr_cnt = 0;
for(my $i = 0 ; $i <= $#{$value} ; $i++)
{
if (@$value[$i]){
}
$attr =$attr."\"".@$value[$i]."\"";
$q2 .=$attr;
- $dosearch=1;
+ $dosearch=1;
+ ++$attr_cnt;
}#if value
}
##Add how many queries generated
- if ($query=~/\S+/){
- $query= $and.$query.$q2
+ if ($query=~/\S+/){
+ $query= $and x $attr_cnt . $query . $q2;
} else {
- $query=$q2;
- }
+ $query= $q2;
+ }
## Adding order
#$query=' @or @attr 7=2 @attr 1=Heading 0 @or @attr 7=1 @attr 1=Heading 1'.$query if ($sortby eq "HeadingDsc");
my $orderstring= ($sortby eq "HeadingAsc"?
'@attr 7=2 @attr 1=Heading 0'
:''
);
- $query=($query?"\@or $orderstring $query":"\@or \@attr 1=_ALLRECORDS \@attr 2=103 '' $orderstring ");
-
+ $query=($query?$query:"\@attr 1=_ALLRECORDS \@attr 2=103 ''");
+ $query="\@or $orderstring $query" if $orderstring;
+
$offset=0 unless $offset;
my $counter = $offset;
$length=10 unless $length;
$format= 'MARC21';
}
+ #update date/time to 005 for marc and unimarc
+ my $time=POSIX::strftime("%Y%m%d%H%M%S",localtime);
+ my $f5=$record->field('005');
+ if (!$f5) {
+ $record->insert_fields_ordered( MARC::Field->new('005',$time.".0") );
+ }
+ else {
+ $f5->update($time.".0");
+ }
+
if ($format eq "MARC21") {
if (!$record->leader) {
$record->leader($leader);
MARC::Field->new('003',C4::Context->preference('MARCOrgCode'))
);
}
- my $time=POSIX::strftime("%Y%m%d%H%M%S",localtime);
- if (!$record->field('005')) {
- $record->insert_fields_ordered(
- MARC::Field->new('005',$time.".0")
- );
- }
my $date=POSIX::strftime("%y%m%d",localtime);
if (!$record->field('008')) {
$record->insert_fields_ordered(
my $dbh=C4::Context->dbh;
ModZebra($authid,"recordDelete","authorityserver",GetAuthority($authid),undef);
- $dbh->do("delete from auth_header where authid=$authid") ;
-
+ my $sth = prepare("DELETE FROM auth_header WHERE authid=?");
+ $sth->execute($authid);
}
sub ModAuthority {