From e15992e4eb1e194a8ecc3bf8f04b5a74e6e5520a Mon Sep 17 00:00:00 2001 From: Katrin Fischer Date: Fri, 1 May 2020 17:20:43 +0000 Subject: [PATCH] Bug 11994: OpenSearch plugins needs to be delivered with Content-Type application/opensearchdescription+xml https://developer.mozilla.org/en-US/docs/Web/OpenSearch Your server should serve OpenSearch plugins using Content-Type: application/opensearchdescription+xml. To test: - Verify the Content-Type the file is delivered with is correct, for example using wget http://127.0.0.1:8080/cgi-bin/koha/opac-search.pl?format=opensearchdescription Signed-off-by: David Nind Signed-off-by: Martin Renvoize Signed-off-by: Jonathan Druart (cherry picked from commit f090c1d2cb9253d77c5bac3b8fa03c775af2f0f6) Signed-off-by: Lucas Gass --- C4/Output.pm | 5 +++-- opac/opac-search.pl | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/C4/Output.pm b/C4/Output.pm index 921c3a4ad0..8ea7bb51fa 100644 --- a/C4/Output.pm +++ b/C4/Output.pm @@ -235,7 +235,7 @@ $content_type. If applicable, $cookie can be undef, and it will not be sent. -$content_type is one of the following: 'html', 'js', 'json', 'xml', 'rss', or 'atom'. +$content_type is one of the following: 'html', 'js', 'json', 'opensearchdescription', 'xml', 'rss', or 'atom'. $status is an HTTP status message, like '403 Authentication Required'. It defaults to '200 OK'. @@ -259,7 +259,8 @@ sub output_with_http_headers { # NOTE: not using application/atom+xml or application/rss+xml because of # Internet Explorer 6; see bug 2078. 'rss' => 'text/xml', - 'atom' => 'text/xml' + 'atom' => 'text/xml', + 'opensearchdescription' => 'application/opensearchdescription+xml', ); die "Unknown content type '$content_type'" if ( !defined( $content_type_map{$content_type} ) ); diff --git a/opac/opac-search.pl b/opac/opac-search.pl index 54655d8b23..4e6fa71258 100755 --- a/opac/opac-search.pl +++ b/opac/opac-search.pl @@ -1015,7 +1015,7 @@ $template->param( add_to_some_public_shelves => $some_public_shelves, ); -my $content_type = ($format eq 'rss' or $format eq 'atom') ? $format : 'html'; +my $content_type = ($format eq 'rss' or $format eq 'atom' or $format eq 'opensearchdescription') ? $format : 'html'; # If GoogleIndicTransliteration system preference is On Set parameter to load Google's javascript in OPAC search screens if (C4::Context->preference('GoogleIndicTransliteration')) { -- 2.39.5