X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=basket%2Fdownloadcart.pl;h=c1e80bf40d68d6fbe142f0b3c15e0879c18530cb;hb=9d6d641d1f8b77271800f43bc027b651f9aea52b;hp=b4b999c2fe0a0298293293c715c23a9c69c12629;hpb=3bbbc15ccfc179eb95e2b092866d9aea65c81835;p=srvgit diff --git a/basket/downloadcart.pl b/basket/downloadcart.pl index b4b999c2fe..c1e80bf40d 100755 --- a/basket/downloadcart.pl +++ b/basket/downloadcart.pl @@ -4,44 +4,41 @@ # # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA - -use strict; -use warnings; - -use CGI; -use Encode qw(encode); -use Switch; - -use C4::Auth; -use C4::Biblio; -use C4::Items; -use C4::Output; -use C4::VirtualShelves; +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . + +use Modern::Perl; + +use CGI qw ( -utf8 ); +use Encode qw( encode ); + +use C4::Auth qw( get_template_and_user ); +use C4::Biblio qw( GetMarcBiblio ); +use C4::Output qw( output_html_with_http_headers ); use C4::Record; -use C4::Ris; -use C4::Csv; +use C4::Ris qw( marc2ris ); + +use Koha::CsvProfiles; + use utf8; -my $query = new CGI; +my $query = CGI->new; my ( $template, $borrowernumber, $cookie ) = get_template_and_user ( { - template_name => "basket/downloadcart.tmpl", + template_name => "basket/downloadcart.tt", query => $query, type => "intranet", - authnotrequired => 0, - flagsrequired => { borrow => 1 }, + flagsrequired => { catalogue => 1 }, } ); @@ -64,16 +61,25 @@ if ($bib_list && $format) { # Other formats } else { - foreach my $biblio (@bibs) { - - my $record = GetMarcBiblio($biblio); - - switch ($format) { - case "iso2709" { $output .= $record->as_usmarc(); } - case "ris" { $output .= marc2ris($record); } - case "bibtex" { $output .= marc2bibtex($record, $biblio); } - } - } + foreach my $biblio (@bibs) { + + my $record = GetMarcBiblio({ + biblionumber => $biblio, + embed_items => 1 }); + next unless $record; + + if ($format eq 'iso2709') { + #NOTE: If we don't explicitly UTF-8 encode the output, + #the browser will guess the encoding, and it won't always choose UTF-8. + $output .= encode("UTF-8", $record->as_usmarc()) // q{}; + } + elsif ($format eq 'ris') { + $output .= marc2ris($record); + } + elsif ($format eq 'bibtex') { + $output .= marc2bibtex($record, $biblio); + } + } } # If it was a CSV export we change the format after the export so the file extension is fine @@ -86,7 +92,7 @@ if ($bib_list && $format) { print $output; } else { - $template->param(csv_profiles => GetCsvProfilesLoop()); + $template->param(csv_profiles => [ Koha::CsvProfiles->search({ type => 'marc', used_for => 'export_records' }) ]); $template->param(bib_list => $bib_list); output_html_with_http_headers $query, $cookie, $template->output; }