/** * Get URLs for a record as an array * * @param \VuFind\RecordDriver\SolrDefault $record Record driver * * @return array|null */ protected function getRecordURLs($record) { $urls = $record->getURLs(); $serviceUrls = $record->tryMethod('getServiceUrls'); $translationEmpty = $this->getViewRenderer()->plugin('translationEmpty'); if ($urls) { foreach ($urls as &$url) { if (isset($url['desc']) && !$translationEmpty('link_' . $url['desc'])) { $url['translated'] = $this->translate('link_' . $url['desc']); unset($url['desc']); } } } if ($serviceUrls) { $source = $record->getDataSource(); foreach ($serviceUrls as &$url) { if (isset($url['desc']) && !$translationEmpty($source . '_' . $url['desc'])) { $url['translated'] = $this->translate($source . '_' . $url['desc']); unset($url['desc']); } } $urls += $serviceUrls; } return $urls ? $urls : null; }