diff --git a/local/cache/.gitignore b/local/cache/.gitignore deleted file mode 100644 index d6b7ef32c8478a48c3994dcadc86837f4371184d..0000000000000000000000000000000000000000 --- a/local/cache/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/module/finc/src/finc/View/Helper/Root/Record.php b/module/finc/src/finc/View/Helper/Root/Record.php index 92b0d27f079b1869642b6e6f53e22cb54d10f87a..41f4f5ec9f4cb055cecb9137d6bee6e787ff75fa 100644 --- a/module/finc/src/finc/View/Helper/Root/Record.php +++ b/module/finc/src/finc/View/Helper/Root/Record.php @@ -158,19 +158,21 @@ class Record extends \VuFind\View\Helper\Root\Record foreach ($this->config->ExternalAccess as $recordType => $accessUrl) { switch ($recordType) { - case "id": - $replaceId = $this->driver->getUniqueID(); - break; - case "ppn": - $replaceId = $this->driver->tryMethod('getRID'); - break; - default: - $replaceId = null; + case "id": + $replaceId = $this->driver->getUniqueID(); + break; + case "ppn": + $sourceID = $this->driver->tryMethod('getSourceID'); + $replaceId = (isset($sourceID) + && true === in_array($sourceID, ["0", "112"])) + ? $this->driver->tryMethod('getRID') : null; + break; + default: + $replaceId = null; } foreach ($accessUrl as $institution => $urlPattern) { - if ( - true === in_array($institution, $institutions) && - !empty($replaceId) + if (true === in_array($institution, $institutions) + && !empty($replaceId) ) { $extUrls[++$i]['desc'] = $institution; $extUrls[$i]['url'] = sprintf($urlPattern, $replaceId);