#!/usr/bin/perl
-use HTML::Template::Pro;
use strict;
#use warnings; FIXME - Bug 2505
use C4::Output;
use C4::Biblio;
use CGI;
-use C4::Auth;
+use C4::Ris;
+
+
my $query = new CGI;
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
+ template_name => "tools/export.tt",
+ query => $query,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => { catalogue => 1 },
+ debug => 1,
+ });
+
my $op=$query->param("op");
my $format=$query->param("format");
+my $error = '';
if ($op eq "export") {
- my $biblionumber = $query->param("bib");
- if ($biblionumber){
+ my $biblionumber = $query->param("bib");
+ if ($biblionumber){
- my $marc = GetMarcBiblio($biblionumber, 1);
+ my $marc = GetMarcBiblio($biblionumber, 1);
- if ($format =~ /endnote/) {
- $marc = marc2endnote($marc);
- $format = 'endnote';
- }
- elsif ($format =~ /marcxml/) {
- $marc = marc2marcxml($marc);
- }
- elsif ($format=~ /mods/) {
- $marc = marc2modsxml($marc);
- }
- elsif ($format =~ /dc/) {
- my $error;
- ($error,$marc) = marc2dcxml($marc,1);
- $format = "dublin-core.xml";
- }
- elsif ($format =~ /marc8/) {
- $marc = changeEncoding($marc,"MARC","MARC21","MARC-8");
- $marc = $marc->as_usmarc();
- }
- elsif ($format =~ /utf8/) {
- C4::Charset::SetUTF8Flag($marc, 1);
- $marc = $marc->as_usmarc();
- }
- print $query->header(
- -type => 'application/octet-stream',
+ if ($format =~ /endnote/) {
+ $marc = marc2endnote($marc);
+ $format = 'endnote';
+ }
+ elsif ($format =~ /marcxml/) {
+ $marc = marc2marcxml($marc);
+ $format = "marcxml";
+ }
+ elsif ($format=~ /mods/) {
+ $marc = marc2modsxml($marc);
+ $format = "mods";
+ }
+ elsif ($format =~ /ris/) {
+ $marc = marc2ris($marc);
+ $format = "ris";
+ }
+ elsif ($format =~ /bibtex/) {
+ $marc = marc2bibtex($marc);
+ $format = "bibtex";
+ }
+ elsif ($format =~ /dc/) {
+ ($error,$marc) = marc2dcxml($marc,1);
+ $format = "dublin-core.xml";
+ }
+ elsif ($format =~ /marc8/) {
+ $marc = changeEncoding($marc,"MARC","MARC21","MARC-8");
+ $marc = $marc->as_usmarc();
+ $format = "marc8";
+ }
+ elsif ($format =~ /utf8/) {
+ C4::Charset::SetUTF8Flag($marc, 1);
+ $marc = $marc->as_usmarc();
+ $format = "utf8";
+ }
+ elsif ($format =~ /marcstd/) {
+ C4::Charset::SetUTF8Flag($marc,1);
+ ($error, $marc) = marc2marc($marc, 'marcstd', C4::Context->preference('marcflavour'));
+ $format = "marcstd";
+ }
+ print $query->header(
+ -type => 'application/octet-stream',
-attachment=>"bib-$biblionumber.$format");
- print $marc;
- }
+ print $marc;
+ }
}