From 16a65ee0784b4d43358bbabf5fc11d3b8eff0666 Mon Sep 17 00:00:00 2001 From: Dorian Merz <merz@ub.uni-leipzig.de> Date: Thu, 19 Aug 2021 10:40:08 +0200 Subject: [PATCH] refs #18611 [finc] EZB resolver call: remove date if in wrong format --- module/finc/src/finc/Resolver/Driver/Ezb.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/module/finc/src/finc/Resolver/Driver/Ezb.php b/module/finc/src/finc/Resolver/Driver/Ezb.php index 9ba57d4bf14..cdd4277fa89 100644 --- a/module/finc/src/finc/Resolver/Driver/Ezb.php +++ b/module/finc/src/finc/Resolver/Driver/Ezb.php @@ -115,6 +115,15 @@ class Ezb extends AbstractBase implements TranslatorAwareInterface $parsed[$tmp2[0]] = $tmp2[1]; } + // resolver only accepts date formats YYYY, YYYY-MM, and YYYY-MM-DD + // in case we have a date in another format, drop the date information + if ( + isset($parsed['rft.date']) + && !preg_match('/^\d{4}(-\d\d(-\d\d)?)?$/',$parsed['rft.date']) + ) { + unset($parsed['rft.date']); + } + // Downgrade 1.0 to 0.1 if ($parsed['ctx_ver'] == 'Z39.88-2004') { $openURL = $this->downgradeOpenUrl($parsed); -- GitLab