|
Lines 168-173
my $dbh = C4::Context->dbh;
Link Here
|
| 168 |
my ($biblionumbertagfield,$biblionumbertagsubfield) = &GetMarcFromKohaField("biblio.biblionumber",""); |
168 |
my ($biblionumbertagfield,$biblionumbertagsubfield) = &GetMarcFromKohaField("biblio.biblionumber",""); |
| 169 |
my ($biblioitemnumbertagfield,$biblioitemnumbertagsubfield) = &GetMarcFromKohaField("biblioitems.biblioitemnumber",""); |
169 |
my ($biblioitemnumbertagfield,$biblioitemnumbertagsubfield) = &GetMarcFromKohaField("biblioitems.biblioitemnumber",""); |
| 170 |
|
170 |
|
|
|
171 |
my $marcxml_open = q{<?xml version="1.0" encoding="UTF-8"?> |
| 172 |
<collection xmlns="http://www.loc.gov/MARC21/slim"> |
| 173 |
}; |
| 174 |
|
| 175 |
my $marcxml_close = q{ |
| 176 |
</collection> |
| 177 |
}; |
| 178 |
|
| 171 |
# Protect again simultaneous update of the zebra index by using a lock file. |
179 |
# Protect again simultaneous update of the zebra index by using a lock file. |
| 172 |
# Create our own lock directory if its missing. This shouild be created |
180 |
# Create our own lock directory if its missing. This shouild be created |
| 173 |
# by koha-zebra-ctl.sh or at system installation. If the desired directory |
181 |
# by koha-zebra-ctl.sh or at system installation. If the desired directory |
|
Lines 478-487
sub export_marc_records_from_sth {
Link Here
|
| 478 |
|
486 |
|
| 479 |
my $num_exported = 0; |
487 |
my $num_exported = 0; |
| 480 |
open my $fh, '>:encoding(UTF-8) ', "$directory/exported_records" or die $!; |
488 |
open my $fh, '>:encoding(UTF-8) ', "$directory/exported_records" or die $!; |
| 481 |
if (include_xml_wrapper($as_xml, $record_type)) { |
489 |
|
| 482 |
# include XML declaration and root element |
490 |
print {$fh} $marcxml_open |
| 483 |
print {$fh} '<?xml version="1.0" encoding="UTF-8"?><collection>'; |
491 |
if include_xml_wrapper($as_xml, $record_type); |
| 484 |
} |
492 |
|
| 485 |
my $i = 0; |
493 |
my $i = 0; |
| 486 |
my ( $itemtag, $itemsubfield ) = GetMarcFromKohaField("items.itemnumber",''); |
494 |
my ( $itemtag, $itemsubfield ) = GetMarcFromKohaField("items.itemnumber",''); |
| 487 |
while (my ($record_number) = $sth->fetchrow_array) { |
495 |
while (my ($record_number) = $sth->fetchrow_array) { |
|
Lines 550-556
sub export_marc_records_from_sth {
Link Here
|
| 550 |
} |
558 |
} |
| 551 |
} |
559 |
} |
| 552 |
print "\nRecords exported: $num_exported\n" if ( $verbose_logging ); |
560 |
print "\nRecords exported: $num_exported\n" if ( $verbose_logging ); |
| 553 |
print {$fh} '</collection>' if (include_xml_wrapper($as_xml, $record_type)); |
561 |
print {$fh} $marcxml_close |
|
|
562 |
if include_xml_wrapper($as_xml, $record_type); |
| 554 |
close $fh; |
563 |
close $fh; |
| 555 |
return $num_exported; |
564 |
return $num_exported; |
| 556 |
} |
565 |
} |
|
Lines 560-569
sub export_marc_records_from_list {
Link Here
|
| 560 |
|
569 |
|
| 561 |
my $num_exported = 0; |
570 |
my $num_exported = 0; |
| 562 |
open my $fh, '>:encoding(UTF-8)', "$directory/exported_records" or die $!; |
571 |
open my $fh, '>:encoding(UTF-8)', "$directory/exported_records" or die $!; |
| 563 |
if (include_xml_wrapper($as_xml, $record_type)) { |
572 |
|
| 564 |
# include XML declaration and root element |
573 |
print {$fh} $marcxml_open |
| 565 |
print {$fh} '<?xml version="1.0" encoding="UTF-8"?><collection>'; |
574 |
if include_xml_wrapper($as_xml, $record_type); |
| 566 |
} |
575 |
|
| 567 |
my $i = 0; |
576 |
my $i = 0; |
| 568 |
|
577 |
|
| 569 |
# Skip any deleted records. We check for this anyway, but this reduces error spam |
578 |
# Skip any deleted records. We check for this anyway, but this reduces error spam |
|
Lines 592-598
sub export_marc_records_from_list {
Link Here
|
| 592 |
} |
601 |
} |
| 593 |
} |
602 |
} |
| 594 |
print "\nRecords exported: $num_exported\n" if ( $verbose_logging ); |
603 |
print "\nRecords exported: $num_exported\n" if ( $verbose_logging ); |
| 595 |
print {$fh} '</collection>' if (include_xml_wrapper($as_xml, $record_type)); |
604 |
|
|
|
605 |
print {$fh} $marcxml_close |
| 606 |
if include_xml_wrapper($as_xml, $record_type); |
| 607 |
|
| 596 |
close $fh; |
608 |
close $fh; |
| 597 |
return $num_exported; |
609 |
return $num_exported; |
| 598 |
} |
610 |
} |
|
Lines 602-611
sub generate_deleted_marc_records {
Link Here
|
| 602 |
|
614 |
|
| 603 |
my $records_deleted = {}; |
615 |
my $records_deleted = {}; |
| 604 |
open my $fh, '>:encoding(UTF-8)', "$directory/exported_records" or die $!; |
616 |
open my $fh, '>:encoding(UTF-8)', "$directory/exported_records" or die $!; |
| 605 |
if (include_xml_wrapper($as_xml, $record_type)) { |
617 |
|
| 606 |
# include XML declaration and root element |
618 |
print {$fh} $marcxml_open |
| 607 |
print {$fh} '<?xml version="1.0" encoding="UTF-8"?><collection>'; |
619 |
if include_xml_wrapper($as_xml, $record_type); |
| 608 |
} |
620 |
|
| 609 |
my $i = 0; |
621 |
my $i = 0; |
| 610 |
foreach my $record_number (map { $_->{biblio_auth_number} } @$entries ) { |
622 |
foreach my $record_number (map { $_->{biblio_auth_number} } @$entries ) { |
| 611 |
print "\r$i" unless ($i++ %100 or !$verbose_logging); |
623 |
print "\r$i" unless ($i++ %100 or !$verbose_logging); |
|
Lines 633-639
sub generate_deleted_marc_records {
Link Here
|
| 633 |
$records_deleted->{$record_number} = 1; |
645 |
$records_deleted->{$record_number} = 1; |
| 634 |
} |
646 |
} |
| 635 |
print "\nRecords exported: $i\n" if ( $verbose_logging ); |
647 |
print "\nRecords exported: $i\n" if ( $verbose_logging ); |
| 636 |
print {$fh} '</collection>' if (include_xml_wrapper($as_xml, $record_type)); |
648 |
|
|
|
649 |
print {$fh} $marcxml_close |
| 650 |
if include_xml_wrapper($as_xml, $record_type); |
| 651 |
|
| 637 |
close $fh; |
652 |
close $fh; |
| 638 |
return $records_deleted; |
653 |
return $records_deleted; |
| 639 |
|
654 |
|
| 640 |
- |
|
|