X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=virtualshelves%2Fdownloadshelf.pl;h=1f6ddd98afb7470c476a588a86cfbf6a5f5c2e14;hb=6636d695ff89808bdb1afaf4cd7a61815282c4f9;hp=9af03e01ba8c43b46f1945fd09a34097aa78e877;hpb=3bbbc15ccfc179eb95e2b092866d9aea65c81835;p=koha.git diff --git a/virtualshelves/downloadshelf.pl b/virtualshelves/downloadshelf.pl index 9af03e01ba..1f6ddd98af 100755 --- a/virtualshelves/downloadshelf.pl +++ b/virtualshelves/downloadshelf.pl @@ -13,16 +13,15 @@ # 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 +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; use warnings; use CGI; use Encode qw(encode); -use Switch; use C4::Auth; use C4::Biblio; @@ -51,10 +50,9 @@ my $dbh = C4::Context->dbh; if ($shelfid && $format) { - my @shelf = GetShelf($shelfid); my ($items, $totitems) = GetShelfContents($shelfid); my $marcflavour = C4::Context->preference('marcflavour'); - my $output; + my $output=''; # CSV if ($format =~ /^\d+$/) { @@ -63,20 +61,21 @@ if ($shelfid && $format) { push @biblios, $_->{biblionumber}; } $output = marc2csv(\@biblios, $format); - - # Other formats - } else { - foreach my $biblio (@$items) { - my $biblionumber = $biblio->{biblionumber}; - - my $record = GetMarcBiblio($biblionumber); - - switch ($format) { - case "iso2709" { $output .= $record->as_usmarc(); } - case "ris" { $output .= marc2ris($record); } - case "bibtex" { $output .= marc2bibtex($record, $biblionumber); } - } - } + } + else { #Other formats + foreach my $biblio (@$items) { + my $biblionumber = $biblio->{biblionumber}; + my $record = GetMarcBiblio($biblionumber, 1); + if ($format eq 'iso2709') { + $output .= $record->as_usmarc(); + } + elsif ($format eq 'ris') { + $output .= marc2ris($record); + } + elsif ($format eq 'bibtex') { + $output .= marc2bibtex($record, $biblionumber); + } + } } # If it was a CSV export we change the format after the export so the file extension is fine @@ -87,8 +86,8 @@ if ($shelfid && $format) { -'Content-Transfer-Encoding' => 'binary', -attachment=>"shelf.$format"); print $output; - -} else { +} +else { $template->param(csv_profiles => GetCsvProfilesLoop()); $template->param(shelfid => $shelfid); output_html_with_http_headers $query, $cookie, $template->output;