From 4edd1877866428bb1790ba21b26b0323d53bbd77 Mon Sep 17 00:00:00 2001 From: David Maus <maus@hab.de> Date: Fri, 31 May 2019 11:14:12 +0200 Subject: [PATCH] Gracyfully fail on missing records --- .../instance/proxy/opac-de-23/record/index.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/public/instance/proxy/opac-de-23/record/index.php b/public/instance/proxy/opac-de-23/record/index.php index 08a74b06b..b34f94bb5 100644 --- a/public/instance/proxy/opac-de-23/record/index.php +++ b/public/instance/proxy/opac-de-23/record/index.php @@ -24,13 +24,22 @@ function terminate (Request $request, Response $response) { } function load ($ident) { - $content = @file_get_contents(sprintf(PSI_TEMPLATE, $ident)); + $context = stream_context_create(['http' => ['timeout' => 0.5]]); + $content = @file_get_contents(sprintf(PSI_TEMPLATE, $ident), false, $context); if ($content) { $content = normalizer_normalize($content); - $reader = new PicaNormReader(); - $reader->open($content); - return $reader->read(); + } else { + $context = <<<CONTENT +<record xmlns="info:srw/schema/5/picaXML-v1.0"> + <field tag="003@"> + <subfield code="0">$ident</subfield> + </field> +</record> +CONTENT; } + $reader = new PicaNormReader(); + $reader->open($content); + return $reader->read(); } function transform ($sourceUri, $templateUri) { -- GitLab