<b>Note : The items are exported by this tool unless specified.</b>
</p>
-<form method="post" action="/cgi-bin/koha/tools/export.pl">
+<form method="post" enctype="multipart/form-data" action="/cgi-bin/koha/tools/export.pl">
<fieldset class="rows">
<legend> Select records to export </legend>
<ol><li>
</ul></li></ol>
</fieldset>
<fieldset class="rows">
+ <legend>
+ Use a file
+ </legend>
+ <ol>
+ <li>File containing a biblionumber's list with one biblionumber per line. This list works as a filter: it's compatible with other parameters.</li>
+ <li><label for="id_list_file">File : </label> <input type="file" id="id_list_file" name="id_list_file" /></li>
+ </ol>
+ </fieldset>
+ <fieldset class="rows">
<legend> Options</legend>
<ol> <li>
<label for="dont_export_item">Don't export items</label>
</div>
<div id="auths">
-<form method="post" action="/cgi-bin/koha/tools/export.pl">
+<form method="post" enctype="multipart/form-data" action="/cgi-bin/koha/tools/export.pl">
<fieldset class="rows">
<legend> Select records to export </legend>
<ol><li>
</ol>
</fieldset>
<fieldset class="rows">
+ <legend>
+ Use a file
+ </legend>
+ <ol>
+ <li>File containing an authid's list with one authid per line. This list works as a filter: it's compatible with other parameters.</li>
+ <li><label for="id_list_file">File : </label> <input type="file" id="id_list_file" name="id_list_file" /></li>
+ </ol>
+ </fieldset>
+ <fieldset class="rows">
<legend>Options</legend>
<ol>
<li>
my $deleted_barcodes;
my $timestamp;
my $record_type;
+my $id_list_file;
my $help;
my $op = $query->param("op") || '';
my $filename = $query->param("filename") || 'koha.mrc';
'clean' => \$clean,
'filename=s' => \$filename,
'record-type=s' => \$record_type,
+ 'id_list_file=s' => \$id_list_file,
'help|?' => \$help
);
if ($help) {
print <<_USAGE_;
-export.pl [--format=format] [--date=date] [--record-type=TYPE] [--dont_export_items] [--deleted_barcodes] [--clean] --filename=outputfile
+export.pl [--format=format] [--date=date] [--record-type=TYPE] [--dont_export_items] [--deleted_barcodes] [--clean] [--id_list_file=PATH] --filename=outputfile
--format=FORMAT FORMAT is either 'xml' or 'marc' (default)
specified). Used only if TYPE is 'bibs'
--clean removes NSE/NSB
+
+ --id_list_file=PATH PATH is an absolute path to a file containing a list of
+ IDs(biblionumber or authid) with only one ID per line.
+ This IDs list works as a filter: it's compatible with
+ other parameters
_USAGE_
exit;
}
$deleted_barcodes ||= 0;
$clean ||= 0;
$record_type ||= "bibs";
+ $id_list_file ||= 0;
# Redirect stdout
open STDOUT, '>', $filename if $filename;
my $starting_authid = $query->param('starting_authid');
my $ending_authid = $query->param('ending_authid');
my $authtype = $query->param('authtype');
+ my $filefh;
+ if ($commandline) {
+ open $filefh,"<", $id_list_file or die "cannot open $id_list_file: $!";
+ } else {
+ $filefh = $query->upload("id_list_file");
+ }
+ my %id_filter;
+ if ($filefh) {
+ while (my $number=<$filefh>){
+ $number=~s/[\r\n]*$//;
+ $id_filter{$number}=1 if $number=~/^\d+$/;
+ }
+ }
if ( $record_type eq 'bibs' and not @biblionumbers ) {
if ($timestamp) {
push @recordids, map {
map { $$_[0] } $_
} @{ $sth->fetchall_arrayref };
+ @recordids = grep { exists($id_filter{$_}) } @recordids if scalar(%id_filter);
}
my $xml_header_written = 0;