diff --git a/local/languages/de.ini b/local/languages/de.ini index 543fd6499f2e45d161d2ae565e9af9121272955e..2e03d31e37b6459de5cac36cb96d56d07aaf1908 100644 --- a/local/languages/de.ini +++ b/local/languages/de.ini @@ -134,6 +134,7 @@ CollectorsItem = Sammlungsstück SpecialPrint = Sonderdruck EncyclopediaEntry = Lexikoneintrag WorkingManuscripts = Werkmanuskript +Missing Record = "Datensatz fehlt" # specific Unknown = "unbekanntes Format" @@ -1797,9 +1798,6 @@ MLAAI Citation = MLA Zitierstil ; Clear-button in advanced search Clear = "Felder leeren" -; Branding for Wiso etc -SID48 = WISO - Online-Datenbank für Studium und Wissenschaft - ; footer footer_further_options = "Erweiterte Recherche" footer_ezb = "Elektronische Zeitschriftenbibliothek (EZB)" diff --git a/local/languages/en.ini b/local/languages/en.ini index ac07e3194069d996547b5e2b19670ebc414a6cb2..8c62e01e09fdeb500a39b5ec1c296eabb6fbcb88 100644 --- a/local/languages/en.ini +++ b/local/languages/en.ini @@ -1912,9 +1912,6 @@ MLAAI Citation = MLA Citation sid_3 = "Nielsen" sid_51 = "VuB" -; Branding for Wiso etc -SID48 = WISO - Online-Datenbank für Studium und Wissenschaft - ; footer footer_further_options = "Further Search Options" footer_ezb = "Electronic Journals Library (EZB)" diff --git a/module/finc/src/finc/RecordDriver/SolrAI.php b/module/finc/src/finc/RecordDriver/SolrAI.php index ddc8790d1517aa070d2d75c12ac3583d0e6e73a0..8084e24a970a1fff8d309c9290c592c1bfdba8ee 100644 --- a/module/finc/src/finc/RecordDriver/SolrAI.php +++ b/module/finc/src/finc/RecordDriver/SolrAI.php @@ -321,12 +321,10 @@ class SolrAI extends SolrDefault implements $pages = $this->getAIRecord('rft.pages'); if (!empty($spage) && !empty($epage)) { return sprintf('%s-%s', $spage, $epage); - } elseif (!empty($spage)) { - return $spage[0]; - } elseif (!empty($epage)) { - return $epage[0]; } elseif (!empty($pages)) { return $pages; + } elseif (!empty($spage)) { + return $spage; } return ''; diff --git a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php index 06316baa859f0c480da82c6fb2378549876a3c26..219103baabbb5f9ef8d371f230536b27db727561 100644 --- a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php +++ b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php @@ -84,73 +84,62 @@ trait SolrMarcFincTrait // Which fields/subfields should we check for URLs? $fieldsToCheck = [ '856' => ['u'], // Standard URL - '555' => ['a'], // Cumulative index/finding aids + '555' => ['a'], // Cumulative index/finding aids '609' => ['a'] ]; foreach ($fieldsToCheck as $field => $subfields) { $urls = $this->getMarcRecord()->getFields($field); + $resultsPerIsil = []; if ($urls) { foreach ($urls as $url) { $isil = $url->getSubfield('9'); $indicator1 = $url->getIndicator('1'); $indicator2 = $url->getIndicator('2'); - $isISIL = false; - if ($isil) { $isil = $isil->getData(); - if (true === in_array($isil, $this->isil)) { - $isISIL = true; - } - } elseif (!$this->isEBLRecord()) { - $isISIL = true; + } elseif ($this->isEBLRecord()) { + // @TODO what about Gallica, see below if($field == '600') + continue; + } else { + $isil = 'default'; } - if ($isISIL) { - // Is there an address in the current field? - $address = $url->getSubfield('u'); - if ($address) { - $address = $address->getData(); - - $tmpArr = []; - // Is there a description? If not, just use the URL - // itself. - foreach (['y', '3', 'z', 'x'] as $current) { - $desc = $url->getSubfield($current); - if ($desc) { - $desc = $desc->getData(); - $tmpArr[] = $desc; - } - } - $tmpArr = array_unique($tmpArr); - $desc = implode(', ', $tmpArr); - - // #18129 for 856[40] url denoting resource itself - if (empty($desc)) { - if ($indicator2 == 0) { - $desc = "Full Text"; - } elseif ($indicator2 == 2) { - $desc = "Further Information"; - } else { - $desc = $address; - } + // Is there an address in the current field? + $address = $url->getSubfield('u'); + if ($address) { + $address = $address->getData(); + + $tmpArr = []; + // Is there a description? If not, just use the URL + // itself. + foreach (['y', '3', 'z', 'x'] as $subresult) { + $desc = $url->getSubfield($subresult); + if ($desc) { + $desc = $desc->getData(); + $tmpArr[] = $desc; } - - // If url doesn't exist as key so far write - // to return variable. - if (!in_array( - ['url' => $address, 'desc' => $desc], - $retVal - ) - ) { - $retVal[] = [ - 'url' => $address, - 'desc' => $desc, - 'indicators' => $indicator1.$indicator2, - ]; + } + $tmpArr = array_unique($tmpArr); + $desc = implode(', ', $tmpArr); + + // #18129 for 856[40] url denoting resource itself + if (empty($desc)) { + if ($indicator2 == 0) { + $desc = "Full Text"; + } elseif ($indicator2 == 2) { + $desc = "Further Information"; + } else { + $desc = $address; } } + + $resultsPerIsil[$isil][] = [ + 'url' => $address, + 'desc' => $desc, + 'indicators' => $indicator1 . $indicator2, + ]; } if ($field == '609') { // 609 cpntains Gallica (BNF) info. Cf. #10279. Included here via #15042 @@ -161,6 +150,35 @@ trait SolrMarcFincTrait } } } + $subresult = null; + // if we have a local entry for the current instance (i.e. ISIL) + // use that one + foreach ($this->isil as $isil) { + if (isset($resultsPerIsil[$isil])) { + $subresult = $resultsPerIsil[$isil]; + break; + } + } + // LFER ("Lizenzfreie elektronische Ressourcen", + // "license free electronic resources") may have a designated entry, + // if there is no instance specific url try the one for LFER + if (empty($subresult) && isset($resultsPerIsil['LFER'])) { + $subresult = $resultsPerIsil['LFER']; + } + // if we still have no URL, look for the unspecific entry + if (empty($subresult) && isset($resultsPerIsil['default'])) { + $subresult = $resultsPerIsil['default']; + } + + if (!empty($subresult)) { + foreach ($subresult as $current) { + // If entry doesn't exist so far write + // to return variable. + if (!in_array($current, $retVal)) { + $retVal[] = $current; + } + } + } } return $retVal; } diff --git a/themes/finc/scss/compiled.scss b/themes/finc/scss/compiled.scss index 18f89d061769d73939e4436a36614a7d52cabba5..a67f2e0335aa26a3e91f61ef08ce58191d777d4c 100644 --- a/themes/finc/scss/compiled.scss +++ b/themes/finc/scss/compiled.scss @@ -837,13 +837,6 @@ table.collapse.in { //// Collapse on tables - END -//// Source-id branding (WISO etc) -.branding { - display: none; -} - -//// Source-id branding (WISO etc) - END - //// Document Delivery Service (DDS) only ////// Error field .error-field { diff --git a/themes/finc/templates/RecordDriver/FincMissing/record-icon.phtml b/themes/finc/templates/RecordDriver/FincMissing/record-icon.phtml index 055372fe06c3cf3449c6a2b9527f84093de1a916..84bd80f349eccfae24c43c34dddb9fcf1ffe6fb7 100644 --- a/themes/finc/templates/RecordDriver/FincMissing/record-icon.phtml +++ b/themes/finc/templates/RecordDriver/FincMissing/record-icon.phtml @@ -1,4 +1,4 @@ <span class="access-icon hidden-print"> - <i class="fa fa-times-circle"></i> + <i class="fa fa-times-circle" aria-hidden="true"></i> <span class="hidden-xs"> <?=$this->transEsc("Missing Record")?></span> </span> diff --git a/themes/finc/templates/RecordDriver/SolrAI/result-list.phtml b/themes/finc/templates/RecordDriver/SolrAI/result-list.phtml index 43128c1339ec62287bb668015c83d9274630ac7f..05bca21a2d7a77170d85f64787339b63e77f71c0 100644 --- a/themes/finc/templates/RecordDriver/SolrAI/result-list.phtml +++ b/themes/finc/templates/RecordDriver/SolrAI/result-list.phtml @@ -182,11 +182,6 @@ if ($cover): <div class="result-formats"> <?=$this->record($this->driver)->getFormatList()?> - <?php /* WISO Label - finc-specific - CK */ ?> - <?php $sourceID = $this->driver->getSourceID(); ?> - <span class="branding label SID<?=($sourceID)?>" title="<?=$this->transEsc("SID$sourceID")?>"></span> - <?php /* WISO Label - END */ ?> - <?php /* nxt line finc-specific: #5737 removed '(!$openUrlActive && empty($urls) &&' - CK */ ?> <?php if ($this->driver->supportsAjaxStatus()): ?> <span class="status ajax-availability hidden">