Bugzilla – Attachment 5083 Details for
Bug 6747
Additional check in opac-export
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Revised patch
patch.txt (text/plain), 3.75 KB, created by
Marcel de Rooy
on 2011-08-22 12:25:46 UTC
(
hide
)
Description:
Revised patch
Filename:
MIME Type:
Creator:
Marcel de Rooy
Created:
2011-08-22 12:25:46 UTC
Size:
3.75 KB
patch
obsolete
>From 13fbb17f69d31da5af279c73bd7c2d22c8a64ab9 Mon Sep 17 00:00:00 2001 >From: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >Date: Mon, 22 Aug 2011 14:02:03 +0200 >Subject: [PATCH] [REVISED] 6747 Checks in opac-export >Content-Type: text/plain; charset="utf-8" > >Added check on returned marc. If record does not exist, generate 404. (Prevents 500 errors by Googlebot on deleted records.) >Fixed typo, whitespace. Removed if on op=export. Added check on format. >--- > opac/opac-export.pl | 105 +++++++++++++++++++++++++-------------------------- > 1 files changed, 51 insertions(+), 54 deletions(-) > >diff --git a/opac/opac-export.pl b/opac/opac-export.pl >index e8f7ede..d24ddb2 100755 >--- a/opac/opac-export.pl >+++ b/opac/opac-export.pl >@@ -18,7 +18,6 @@ > # Suite 330, Boston, MA 02111-1307 USA > # > >- > use strict; > use warnings; > >@@ -31,59 +30,57 @@ use C4::Auth; > use C4::Ris; > > my $query = new CGI; >-my $op=$query->param("op"); >-my $format=$query->param("format"); >-if ($op eq "export") { >- my $biblionumber = $query->param("bib"); >- my $error; >- >- if ($biblionumber){ >+my $op=$query->param("op")||''; #op=export is currently the only use >+my $format=$query->param("format")||'utf8'; >+my $biblionumber = $query->param("bib")||0; >+my ($marc, $error)= ('',''); > >- 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 =~ /ris/) { >- $marc = marc2ris(MARC::Record->new_from_usmarc($marc)); >- } >- elsif ($format =~ /bibtex/) { >- $marc = marc2bibtex(C4::Biblio::GetMarcBiblio($biblionumber),$biblionumber); >- } >- elsif ($format =~ /dc/) { >- ($error,$marc) = marc2dcxml($marc,1); >- $format = "dublin-core.xml"; >- } >- elsif ($format =~ /marc8/) { >- ($error,$marc) = changeEncoding($marc,"MARC","MARC21","MARC-8"); >- if (! $error){ >- $marc = $marc->as_usmarc(); >- } >- } >- elsif ($format =~ /utf8/) { >- C4::Charset::SetUTF8Flag($marc,1); >- $marc = $marc->as_usmarc(); >- } >+$marc = GetMarcBiblio($biblionumber, 1) if $biblionumber; >+if(!$marc) { >+ print $query->redirect("/cgi-bin/koha/errors/404.pl"); >+ exit; >+} >+elsif ($format =~ /endnote/) { >+ $marc = marc2endnote($marc); >+} >+elsif ($format =~ /marcxml/) { >+ $marc = marc2marcxml($marc); >+} >+elsif ($format=~ /mods/) { >+ $marc = marc2modsxml($marc); >+} >+elsif ($format =~ /ris/) { >+ $marc = marc2ris(MARC::Record->new_from_usmarc($marc)); >+} >+elsif ($format =~ /bibtex/) { >+ $marc = marc2bibtex(C4::Biblio::GetMarcBiblio($biblionumber),$biblionumber); >+} >+elsif ($format =~ /dc/) { >+ ($error,$marc) = marc2dcxml($marc,1); >+ $format = "dublin-core.xml"; >+} >+elsif ($format =~ /marc8/) { >+ ($error,$marc) = changeEncoding($marc,"MARC","MARC21","MARC-8"); >+ $marc = $marc->as_usmarc() unless $error; >+} >+elsif ($format =~ /utf8/) { >+ C4::Charset::SetUTF8Flag($marc,1); >+ $marc = $marc->as_usmarc(); >+} >+else { >+ $error= "Format $format is not supported."; >+} > >- if ($error){ >- print $query->header(); >- print $query->start_html(); >- print "<h1>An error occured </h1>"; >- print $error; >- print $query->end_html(); >- } >- else { >- print $query->header( >- -type => 'application/octet-stream', >- -attachment=>"bib-$biblionumber.$format"); >- print $marc; >- } >- } >+if ($error){ >+ print $query->header(); >+ print $query->start_html(); >+ print "<h1>An error occurred </h1>"; >+ print $error; >+ print $query->end_html(); >+} >+else { >+ print $query->header( >+ -type => 'application/octet-stream', >+ -attachment=>"bib-$biblionumber.$format"); >+ print $marc; > } >-- >1.6.0.6 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 6747
:
5053
|
5083
|
5120