From 2a1587d1cef5fdf812efb8af46909fff95b00df8 Mon Sep 17 00:00:00 2001 From: Joshua Ferraro Date: Sun, 18 Nov 2007 12:45:00 -0600 Subject: [PATCH] adding export feature to OPAC Signed-off-by: Chris Cormack Signed-off-by: Joshua Ferraro --- opac/opac-export.pl | 54 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 opac/opac-export.pl diff --git a/opac/opac-export.pl b/opac/opac-export.pl new file mode 100755 index 0000000000..11ec6d51c0 --- /dev/null +++ b/opac/opac-export.pl @@ -0,0 +1,54 @@ +#!/usr/bin/perl +use HTML::Template; +use strict; +require Exporter; +use C4::Record; +use C4::Auth; +use C4::Output; +use C4::Biblio; +use CGI; +use C4::Auth; + +my $query = new CGI; +my $op=$query->param("op"); +my $format=$query->param("format"); +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 ($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/) { + #default + } + print $query->header( + -type => 'application/octet-stream', + -attachment=>"bib-$biblionumber.$format"); + print $marc; + } + } +} -- 2.39.5