#!/usr/bin/perl
-use HTML::Template;
use strict;
-require Exporter;
+#use warnings; FIXME - Bug 2505
+
use C4::Record;
use C4::Auth;
use C4::Output;
use C4::Biblio;
use CGI;
-use C4::Auth;
+
+
my $query = new CGI;
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
+ template_name => "tools/export.tt",
+ query => $query,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => { tools => 'export_catalog' },
+ debug => 1,
+ });
+
my $op=$query->param("op");
my $format=$query->param("format");
+my $error = '';
if ($op eq "export") {
my $biblionumber = $query->param("bib");
- my $dbh=C4::Context->dbh;
- my $sth;
- if ($biblionumber) {
- $sth=$dbh->prepare("SELECT marc FROM biblioitems WHERE biblionumber =?");
- $sth->execute($biblionumber);
- }
- while (my ($marc) = $sth->fetchrow) {
- if ($marc){
+ if ($biblionumber){
+
+ my $marc = GetMarcBiblio($biblionumber, 1);
- if ($format =~ /marcxml/) {
+ 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";
}
$marc = $marc->as_usmarc();
}
elsif ($format =~ /utf8/) {
- #default
+ C4::Charset::SetUTF8Flag($marc, 1);
+ $marc = $marc->as_usmarc();
}
+ elsif ($format =~ /marcstd/) {
+ C4::Charset::SetUTF8Flag($marc,1);
+ ($error, $marc) = marc2marc($marc, 'marcstd', C4::Context->preference('marcflavour'));
+ }
print $query->header(
-type => 'application/octet-stream',
-attachment=>"bib-$biblionumber.$format");
print $marc;
}
- }
}