diff --git a/public/instance/proxy/opac-de-23/record/index.php b/public/instance/proxy/opac-de-23/record/index.php index 08a74b06b22de93918ef0069e8c7614b2cd1faef..b34f94bb5215d1679f23d9d474b12c082d992d69 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) {