diff --git a/local/config/vufind/facets.ini b/local/config/vufind/facets.ini index 133d784c552bfeb77f4208e6b24049b17271c6a3..fa1d561991f2009e3415d5c5385fc723d8768a43 100644 --- a/local/config/vufind/facets.ini +++ b/local/config/vufind/facets.ini @@ -241,12 +241,109 @@ hide_facets = "genre_facet,era_facet,geographic_facet" ; Special terms (key), which can't / shouldn't be translated but marked as other language (value) for BARF reasons [LanguageTags] -De Gruyter Journals / Social Sciences and Humanities = "en" -Free = "en" -JSTOR Music Archive = "en" -Local = "en" -Microform = "en" -Open Access = "en" -Online = "en" -Proceeding = "en" -Répertoire International des Sources Musicales = "fr" +en[] = "American Museum of Natural History" +en[] = "American Museum of Natural History Library" +en[] = "Article" +en[] = "Article, E-Article" +en[] = "BASE - Bielefeld Academic Search Engine" +en[] = "Biodiversity Heritage Library (BHL)" +en[] = "Bioregional Assessment Program (isOwnedBy)" +en[] = "Book, E-Book" +en[] = "CEEOL Central and Eastern European Online Library" +en[] = "Charles I King of England" +en[] = "Charles I, King of England," +en[] = "Charles II, King of England," +en[] = "Dance in Video" +en[] = "De Gruyter Journals / Social Sciences and Humanities" +en[] = "Department of Education (isOwnedBy)" +en[] = "DOAJ Directory of Open Access Journals" +en[] = "Early English Books Online" +en[] = "Early English Books Online EEBO" +en[] = "EconStor (German National Library of Economics, ZBW)" +en[] = "Eighteenth Century Collections Online / ECCO" +en[] = "Elsevier Journals" +en[] = "England and Wales Parliament" +en[] = "England and Wales Sovereign (1625-1649 : Charles I)" +en[] = "England and Wales. Parliament" +en[] = "England and Wales. Sovereign (1625-1649 : Charles I)" +en[] = "E-Article" +en[] = "E-Proceedings" +en[] = "Field Museum of Natural History Library" +en[] = "Free" +en[] = "Harvard University, Museum of Comparative Zoology, Ernst Mayr Library" +en[] = "IEEE Xplore Library" +en[] = "IMSLP (Petrucci Library)" +en[] = "JSTOR Arts & Sciences I Archive" +en[] = "JSTOR Arts & Sciences II Archive" +en[] = "JSTOR Arts & Sciences III Archive" +en[] = "JSTOR Arts & Sciences IV Archive" +en[] = "JSTOR Arts & Sciences V Archive" +en[] = "JSTOR Arts & Sciences VI Archive" +en[] = "JSTOR Arts & Sciences VII Archive" +en[] = "JSTOR Arts & Sciences VIII Archive" +en[] = "JSTOR Arts & Sciences IX Archive" +en[] = "JSTOR Arts & Sciences X Archive" +en[] = "JSTOR Arts & Sciences XO Archive" +en[] = "JSTOR Business & Economics" +en[] = "JSTOR Business I Archive" +en[] = "JSTOR Business II Archive" +en[] = "JSTOR Business III Archive" +en[] = "JSTOR Business IV Archive" +en[] = "JSTOR Business V Archive" +en[] = "JSTOR Life Sciences Archive" +en[] = "JSTOR Music" +en[] = "Kit" +en[] = "Local" +en[] = "Microform" +en[] = "Music Online Reference" +en[] = "NASA Technical Reports Server (NTRS)" +en[] = "National Bureau of Economic Research" +en[] = "Natural History Museum Library, London" +en[] = "Notated Music" +en[] = "not assigned" +en[] = "No linguistic content" +en[] = "Open Access" +en[] = "Online" +en[] = "Oxford University Research Archive (ORA)" +en[] = "PANGAEA - Data Publisher for Earth & Environmental Science (AWI Bremerhaven/MARUM Bremen)" +en[] = "Proceeding" +en[] = "Publication Server of Goethe University Frankfurt am Main" +en[] = "Rumsey Collection" +en[] = "Saskatchewan Natural History Society" +en[] = "Sheet" +en[] = "Smithsonian Institution Archives" +en[] = "Smithsonian Libraries" +en[] = "The Pennsylvania State University CiteSeerX Archives" +en[] = "Thesis" +en[] = "TwoDimensionalMovingImage" +en[] = "United States Congress House" +en[] = "United States Congress House Committee on Claims" +en[] = "United States Congress House Committee on Invalid Pensions" +en[] = "United States Congress Senate" +en[] = "United States Congress Senate Committee on Pensions" +en[] = "United States Congress House Committee on the Judiciary" +en[] = "United States War Dept" +en[] = "United States Dept. of the Treasury" +en[] = "United States Congress Senate Committee on Claims" +en[] = "United States Congress House Committee on Military Affairs" +en[] = "United States Court of Claims (1855-1982)" +en[] = "United States Congress Senate Committee on Military Affairs" +en[] = "United States Army Corps of Engineers" +en[] = "United States War Dept Engineer Dept" +en[] = "United States War Dept Ordnance Dept" +en[] = "United States Congress House Committee on War Claims" +en[] = "United States Congress House Committee on Interstate and Foreign Commerce" +en[] = "United States Congress Senate Committee on Commerce" +en[] = "United States Congress House Committee on Rules" +en[] = "United States Dept. of the Interior" +en[] = "United States Congress House Committee on Public Lands" +en[] = "United States Dept. of State" +en[] = "United States Congress House Committee on Pensions" +en[] = "United States Congress House Committee on the District of Columbia" +en[] = "United States Congress Senate Committee on the District of Columbia" +en[] = "United States Executive Office of the President Bureau of the Budget (1939-1970)" +en[] = "University Library, University of Illinois Urbana Champaign" +en[] = "University of California Libraries (archive.org)" +en[] = "Visual Media" +fr[] = "Persée" +fr[] = "Répertoire International des Sources Musicales" diff --git a/module/finc/config/module.config.php b/module/finc/config/module.config.php index 319b82072a07f2dcb357d1db33b3f2192a2bca09..b0fa8ae795efd380c186b9d7e25e83b83ab7818f 100644 --- a/module/finc/config/module.config.php +++ b/module/finc/config/module.config.php @@ -50,7 +50,6 @@ $config = [ 'VuFind\Controller\MyResearchController' => 'finc\Controller\MyResearchController', 'VuFind\Controller\RecordController' => 'finc\Controller\RecordController', 'VuFind\Controller\RecordsController' => 'finc\Controller\RecordsController', - 'VuFind\Controller\AjaxController' => 'finc\Controller\AjaxController', ], ], 'controller_plugins' => [ diff --git a/module/finc/src/finc/Bootstrapper.php b/module/finc/src/finc/Bootstrapper.php index 05b4796ae9b3eb8239812cfb2d2f8ea989c057cb..178435297e4ca91185668a0ba6af1a8a02416fc5 100644 --- a/module/finc/src/finc/Bootstrapper.php +++ b/module/finc/src/finc/Bootstrapper.php @@ -74,7 +74,11 @@ class Bootstrapper extends \VuFind\Bootstrapper return; } - $exceptionArray = explode('\\', get_class($e->getParam('exception'))); + if ($exception instanceof \VuFindSearch\Backend\Exception\BackendException && $exception->getPrevious()) { + $exception = $exception->getPrevious(); + } + + $exceptionArray = explode('\\', get_class($exception)); $exceptionName = end( $exceptionArray ); @@ -90,7 +94,7 @@ class Bootstrapper extends \VuFind\Bootstrapper $model = new \Zend\View\Model\ViewModel( [ 'display_exceptions' => APPLICATION_ENV == 'development', - 'exception' => $e->getParam('exception'), + 'exception' => $e->getParam('exception'), ] ); $model->setTemplate($template); diff --git a/module/finc/src/finc/Controller/AmslResourceController.php b/module/finc/src/finc/Controller/AmslResourceController.php index af1e7d03d53b2fc9d84e89ed79afe50eea096e3e..278f3fd14af3da3584ccbb179ebb853cc92c43d1 100644 --- a/module/finc/src/finc/Controller/AmslResourceController.php +++ b/module/finc/src/finc/Controller/AmslResourceController.php @@ -205,7 +205,7 @@ class AmslResourceController extends AbstractBase } if (!empty($mapping->sortBySourceLabel)) { - ksort($out); + uksort($out,'strcasecmp'); } return $out; diff --git a/module/finc/src/finc/View/Helper/Root/SideFacet.php b/module/finc/src/finc/View/Helper/Root/SideFacet.php index 528bd3b3c2d1c9c989df33c63b3f5ca36c5ca677..fefb2febee6eec8cb6e087a493bd12edd40a63e2 100644 --- a/module/finc/src/finc/View/Helper/Root/SideFacet.php +++ b/module/finc/src/finc/View/Helper/Root/SideFacet.php @@ -50,15 +50,25 @@ class SideFacet extends AbstractHelper */ protected $config; + /** + * Language tags + * + * @var array + */ + protected $languageTags = []; + /** * Constructor * * @param \Zend\Config\Config $config VuFind configuration - * @access public */ public function __construct($config = null) { $this->config = $config; + + foreach ($this->config->LanguageTags ?? [] as $langOfTags => $tags) { + $this->languageTags[$langOfTags] = array_flip($tags->toArray()); + } } /** @@ -67,7 +77,6 @@ class SideFacet extends AbstractHelper * @param array $sideFacets List of side facets * * @return array Filtered side facets - * @access public */ public function displayAllowedFacetValues($sideFacets) { @@ -93,25 +102,37 @@ class SideFacet extends AbstractHelper /** * Get term with corresponding language tag within html element * - * @param string $term translation to decorate with language tag - * @param string $element wrapping html element - * @param string $language current language + * @param string $term translation to decorate with language tag + * @param string $element wrapping html element + * @param string $curLang current language + * @param array $attributes set additional attributes by key => value * * @return string * * @deprecated remove when there's a VuFind core solution */ - public function getLanguageTag(string $term, string $element, string $language) + public function getLanguageTag(string $term, string $element, string $curLang, array $attributes = []) { - $retval = $term; + $attributesString = ""; + foreach ($attributes as $attrKey => $attrVal) { + $attributesString .= "$attrKey=\"$attrVal\" "; + } - if (isset($this->config->LanguageTags[$term]) - && $this->config->LanguageTags[$term] !== $language - ) { - $retval = "<$element " . 'lang="' . $this->config->LanguageTags[$term] - . '">' . "$term</$element>"; + foreach ($this->languageTags as $langOfTags => $tags) { + if ($curLang === $langOfTags) { + // no tag needed for native terms + continue; + } + if (isset($tags["$term"])) { + $termLang = $langOfTags; + break; + } } - return $retval; + if (isset($termLang)) { + return "<$element lang=\"$termLang\" $attributesString>$term</$element>"; + } else { + return "<$element $attributesString>$term</$element>"; + } } } diff --git a/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/alpha/searchspecs.yaml b/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/alpha/searchspecs.yaml index 1e8bfdcad8d618d13d088011c0a10904df2be051..a83f224bf097e060f369fd988aaba22087c7a2e0 100644 --- a/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/alpha/searchspecs.yaml +++ b/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/alpha/searchspecs.yaml @@ -252,7 +252,7 @@ AllFields: - ord(publishDateSort)^10 - - bf - - 'if(exists(query({!v=''facet_avail:Local*''})),10,1)^1000' + - 'if(exists(query({!v=''facet_avail:Local''})),10,1)^1000' DismaxFields: - title_short^1000 - title_full_unstemmed^1000 diff --git a/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/searchspecs.yaml b/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/searchspecs.yaml index 1e8bfdcad8d618d13d088011c0a10904df2be051..a83f224bf097e060f369fd988aaba22087c7a2e0 100644 --- a/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/searchspecs.yaml +++ b/module/finc/tests/fixtures/configs/yaml/searchspecs/result/local/searchspecs.yaml @@ -252,7 +252,7 @@ AllFields: - ord(publishDateSort)^10 - - bf - - 'if(exists(query({!v=''facet_avail:Local*''})),10,1)^1000' + - 'if(exists(query({!v=''facet_avail:Local''})),10,1)^1000' DismaxFields: - title_short^1000 - title_full_unstemmed^1000 diff --git a/themes/finc-accessibility/templates/RecordDriver/EDS/result-list.phtml b/themes/finc-accessibility/templates/RecordDriver/EDS/result-list.phtml index a8ddccec426875e49ae2dc9914bcda25cc33a56d..ae136fa197ddb7af7a03746ba3ecb9ec2ce73423 100644 --- a/themes/finc-accessibility/templates/RecordDriver/EDS/result-list.phtml +++ b/themes/finc-accessibility/templates/RecordDriver/EDS/result-list.phtml @@ -37,7 +37,7 @@ if (!empty($item)): ?> <div class="resultItemLine1"> <?php if('Ti' == $item['Group']): ?> - <a href="<?=$this->recordLink()->getUrl($this->driver)?>" class="title getFull _record_link" data-view="<?=$this->params->getOptions()->getListViewOption()?>"> + <a href="<?=$this->recordLink()->getUrl($this->driver)?>" class="title getFull _record_link" data-view="<?=$this->params->getOptions()->getListViewOption()?>" lang=""> <?=$item['Data']?> </a> <?php else:?> <p> diff --git a/themes/finc-accessibility/templates/RecordTab/toc.phtml b/themes/finc-accessibility/templates/RecordTab/toc.phtml new file mode 100644 index 0000000000000000000000000000000000000000..6e71822f85068fe2a473bbc3071afd496220f6f5 --- /dev/null +++ b/themes/finc-accessibility/templates/RecordTab/toc.phtml @@ -0,0 +1,35 @@ +<!-- finc-accessibility: RecordTab - toc --> +<?php /** + * copy of VuFind-version, adds empty lang-attribute to <li>s + */ +?> +?> +<?php + // Set page title. + $this->headTitle($this->translate('Table of Contents') . ': ' . $this->driver->getBreadcrumb()); + + $toc = $this->tab->getContent(); + if (empty($toc)) { + $driverToc = $this->driver->getTOC(); + if (!empty($driverToc)) { + $toc['RecordDriver'] = $driverToc; + } + } +?> +<?php if (!empty($toc)): ?> + <strong><?=$this->transEsc('Table of Contents')?>: </strong> + <?php foreach ($toc as $provider => $content): ?> + <?php if (!is_array($content)): // treat non-array content as raw HTML ?> + <?=$content?> + <?php else: ?> + <ul class="toc"> + <?php foreach ($content as $line): ?> + <li lang=""><?=$this->escapeHtml($line)?></li> + <?php endforeach; ?> + </ul> + <?php endif; ?> + <?php endforeach; ?> +<?php else: ?> + <?=$this->transEsc('Table of Contents unavailable')?>. +<?php endif; ?> +<!-- finc-accessibility: RecordTab - toc - END --> \ No newline at end of file diff --git a/themes/finc/scss/compiled.scss b/themes/finc/scss/compiled.scss index a67f2e0335aa26a3e91f61ef08ce58191d777d4c..094ad9742b40178c42fa65fbb43ec01c672d515a 100644 --- a/themes/finc/scss/compiled.scss +++ b/themes/finc/scss/compiled.scss @@ -2911,6 +2911,11 @@ footer ul { } } +// Favorites list description +.list-desc { + margin-top: 1rem; +} + // Result List - END // Translate feature (Admin panel) diff --git a/themes/finc/templates/RecordDriver/DefaultRecord/core.phtml b/themes/finc/templates/RecordDriver/DefaultRecord/core.phtml index 53e91883a964fd80e73fbdfe44a6adc239dba54e..abfa3146c70a0d5099f4fa7f24272815be64e954 100644 --- a/themes/finc/templates/RecordDriver/DefaultRecord/core.phtml +++ b/themes/finc/templates/RecordDriver/DefaultRecord/core.phtml @@ -46,8 +46,7 @@ */ ?> <?php /* finc: add schema tags for title #13850 - VE */ ?> - <h1 - property="name"><?= $this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getShortTitle() . ' ' . $this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 100))) ?></h1> + <h1 property="name" lang=""><?= $this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getShortTitle() . ' ' . $this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 100))) ?></h1> <?php /* #18307 remove summary from core */ ?> @@ -70,7 +69,7 @@ <?php foreach ($coreFields as $current): ?> <tr> <th><?= $this->transEsc($current['label']) ?>:</th> - <td data-title="<?= $this->transEsc($current['label']) ?>:"><?= $current['value'] ?></td> + <td lang="" data-title="<?= $this->transEsc($current['label']) ?>:"><?= $current['value'] ?></td> </tr> <?php endforeach; ?> </table> diff --git a/themes/finc/templates/RecordDriver/DefaultRecord/format-list.phtml b/themes/finc/templates/RecordDriver/DefaultRecord/format-list.phtml index 6ad5245ee5917c53d98f7e91df7b59607bc4716b..584cc603b7f6337fc11f4bad2d056d328c724d2a 100644 --- a/themes/finc/templates/RecordDriver/DefaultRecord/format-list.phtml +++ b/themes/finc/templates/RecordDriver/DefaultRecord/format-list.phtml @@ -1,8 +1,12 @@ <?php $formats = $this->driver->getFormats(); $translated_formats = []; foreach ($formats as $format): ?> - <?php $translated_formats[] = $translated_format = $this->transEsc($format); ?> - <span class="format <?=$this->record($this->driver)->getFormatClass($format)?>"><?=$translated_format?></span> + <?php + $translated_formats[] = $translated_format = $this->transEsc($format); + $formatClass = $this->record($this->driver)->getFormatClass($format); + ?> + <?php /* @deprecated: use SideFacets Helper to decorate language tags, remove when there's a VuFind core solution */ ?> + <?=$this->sideFacet()->getLanguageTag($translated_format, 'span', $this->layout()->userLang, ["class" => "format $formatClass"]);?> <?php endforeach; ?> <?php /* New genre string to display nxt to format in RESULT LIST and RECORD/Detail View, #11703, limit to SID 0 CK */ ?> <?php /* Removes (uncommented) new genre string to display with k10plus index in RESULT LIST and RECORD/Detail View, #14912 FM */ ?> diff --git a/themes/finc/templates/RecordDriver/DefaultRecord/list-entry.phtml b/themes/finc/templates/RecordDriver/DefaultRecord/list-entry.phtml index 04e30ed779b6e49868cd3a8cc932f49b536accd8..3412cfef99ca6959911d15635e8671a04dcd5879 100644 --- a/themes/finc/templates/RecordDriver/DefaultRecord/list-entry.phtml +++ b/themes/finc/templates/RecordDriver/DefaultRecord/list-entry.phtml @@ -40,7 +40,7 @@ $thumbnailAlignment = $this->record($this->driver)->getThumbnailAlignment('list' <?php $missing = $this->driver instanceof \VuFind\RecordDriver\Missing; ?> <?php $describedById = $driver->getSourceIdentifier() . '|' . $driver->getUniqueId(); ?> <?php if ($missing && $this->driver->isCachedRecord()): ?> - <span id="<?=$describedById?>" class="title"><?=$this->record($this->driver)->getTitleHtml()?></span> + <span id="<?=$describedById?>" class="title" lang=""><?=$this->record($this->driver)->getTitleHtml()?></span> <p class="alert alert-info"> <?= $this->translate('record_from_cache')?> <?php if ($queryParams = $this->record($this->driver)->getAdvancedSearchQueryParams()): ?> @@ -49,7 +49,7 @@ $thumbnailAlignment = $this->record($this->driver)->getThumbnailAlignment('list' </p> <?php elseif (!$missing): ?> <a href="<?=$this->recordLink()->getUrl($this->driver)?>" class="getFull" data-view="<?=$this->params->getOptions()->getListViewOption() ?>"> - <span id="<?=$describedById?>" class="title"><?=$this->record($this->driver)->getTitleHtml()?></span> + <span id="<?=$describedById?>" class="title" lang=""><?=$this->record($this->driver)->getTitleHtml()?></span> </a> <?php endif;?> </div> diff --git a/themes/finc/templates/RecordDriver/DefaultRecord/result-list.phtml b/themes/finc/templates/RecordDriver/DefaultRecord/result-list.phtml index 5be28ca9b03c5b5062c999a4e1214a44eebdde7d..384afa895b7bc80cd88d45471aa5b64ebcc199d9 100644 --- a/themes/finc/templates/RecordDriver/DefaultRecord/result-list.phtml +++ b/themes/finc/templates/RecordDriver/DefaultRecord/result-list.phtml @@ -33,7 +33,7 @@ if ($cover): <div class="media-body"> <div class="result-body"> <div> - <a id="<?=$describedById?>" href="<?=$this->recordLink()->getUrl($this->driver)?>" class="title getFull" data-view="<?=$this->params->getOptions()->getListViewOption()?>"> + <a id="<?=$describedById?>" href="<?=$this->recordLink()->getUrl($this->driver)?>" class="title getFull" data-view="<?=$this->params->getOptions()->getListViewOption()?>" lang=""> <?=$this->record($this->driver)->getTitleHtml()?> </a> </div> diff --git a/themes/finc/templates/RecordDriver/FincMissing/result-list.phtml b/themes/finc/templates/RecordDriver/FincMissing/result-list.phtml index 4d6782043354e03aaba5a131f530df365700489c..aab0e1066fe754dc457492d881c3a0d6ab2abd0f 100644 --- a/themes/finc/templates/RecordDriver/FincMissing/result-list.phtml +++ b/themes/finc/templates/RecordDriver/FincMissing/result-list.phtml @@ -39,7 +39,7 @@ if ($cover): <div class="result-body"> <div> <?php /* We don't use links for missing records as they would lead nowhere - CK */ ?> - <span href="<?=$this->recordLink()->getUrl($this->driver)?>" class="title getFull" data-view="<?=$this->params->getOptions()->getListViewOption()?>"> + <span href="<?=$this->recordLink()->getUrl($this->driver)?>" class="title getFull" data-view="<?=$this->params->getOptions()->getListViewOption()?>" lang=""> <?=$this->record($this->driver)->getTitleHtml()?> </span> </div> diff --git a/themes/finc/templates/RecordDriver/SolrAI/core.phtml b/themes/finc/templates/RecordDriver/SolrAI/core.phtml index 4408efacce9795b28a166f97b3f33cfbad1535af..0898ed1578e797ae1b186b1740baca75b825e075 100644 --- a/themes/finc/templates/RecordDriver/SolrAI/core.phtml +++ b/themes/finc/templates/RecordDriver/SolrAI/core.phtml @@ -46,8 +46,7 @@ */ ?> <?php /* finc: add schema tags for title #13850 - VE */ ?> - <h1 - property="name"><?= $this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getShortTitle() . ' ' . $this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 100))) ?></h1> + <h1 property="name" lang=""><?= $this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getShortTitle() . ' ' . $this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 100))) ?></h1> <?php /* #18307 remove summary from core */ ?> @@ -73,7 +72,7 @@ <?php else: ?> <tr> <th><?= $this->transEsc($current['label']) ?>:</th> - <td data-title="<?= $this->transEsc($current['label']) ?>:"><?= $current['value'] ?></td> + <td lang="" data-title="<?= $this->transEsc($current['label']) ?>:"><?= $current['value'] ?></td> </tr> <?php endif; ?> <?php endforeach; ?> diff --git a/themes/finc/templates/RecordDriver/SolrAI/result-list.phtml b/themes/finc/templates/RecordDriver/SolrAI/result-list.phtml index 05bca21a2d7a77170d85f64787339b63e77f71c0..0b8dc222334495369c4a119078df6840174a8a3f 100644 --- a/themes/finc/templates/RecordDriver/SolrAI/result-list.phtml +++ b/themes/finc/templates/RecordDriver/SolrAI/result-list.phtml @@ -31,7 +31,7 @@ if ($cover): <div class="media-body"> <div class="result-body"> <div> - <a href="<?=$this->recordLink()->getUrl($this->driver)?>" class="title getFull" data-view="<?=$this->params->getOptions()->getListViewOption()?>"> + <a href="<?=$this->recordLink()->getUrl($this->driver)?>" class="title getFull" data-view="<?=$this->params->getOptions()->getListViewOption()?>" lang=""> <?=$this->record($this->driver)->getTitleHtml()?> </a> </div> diff --git a/themes/finc/templates/RecordDriver/SolrLido/core.phtml b/themes/finc/templates/RecordDriver/SolrLido/core.phtml index 22041396bbf6639fc4e5803a47f737edebc48d6a..a2022ca6cc31d1e6a11def06b73f0bb14d496719 100644 --- a/themes/finc/templates/RecordDriver/SolrLido/core.phtml +++ b/themes/finc/templates/RecordDriver/SolrLido/core.phtml @@ -63,7 +63,7 @@ <?php /* finc: We want to get rid of trailing special chars in the title and limit its length to 100 chars; in finc: keep schema name tag here!! #13861 CK */ ?> - <h1 property="name"><?=$this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getShortTitle() . ' ' . $this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 100)))?></h1> + <h1 property="name" lang=""><?=$this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getShortTitle() . ' ' . $this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 100)))?></h1> <?php $summary = $this->driver->getSummary(); $summary = isset($summary[0]) ? $this->escapeHtml($summary[0]) : false; ?> @@ -97,7 +97,7 @@ <?php else: ?> <tr> <th><?=$this->transEsc($current['label'])?>:</th> - <td data-title="<?= $this->transEsc($current['label']) ?>:"><?=$current['value']?></td> + <td lang="" data-title="<?= $this->transEsc($current['label']) ?>:"><?=$current['value']?></td> </tr> <?php endif; ?> <?php endforeach; ?> diff --git a/themes/finc/templates/RecordDriver/SolrMarc/core.phtml b/themes/finc/templates/RecordDriver/SolrMarc/core.phtml index 66c9a108e801f5978cfd5c7019085a804ed3e0b0..d001340755986b1218c25edf9191fa3004e2a71c 100644 --- a/themes/finc/templates/RecordDriver/SolrMarc/core.phtml +++ b/themes/finc/templates/RecordDriver/SolrMarc/core.phtml @@ -46,8 +46,7 @@ */ ?> <?php /* finc: add schema tags for title #13850 - VE */ ?> - <h1 - property="name"><?= $this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getShortTitle() . ' ' . $this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 100))) ?></h1> + <h1 property="name" lang=""><?= $this->escapeHtml(preg_replace('/(\s[\/\.:]\s*)*$/', '', $this->truncate($this->driver->getShortTitle() . ' ' . $this->driver->getSubtitle() . ' ' . $this->driver->getTitleSection(), 100))) ?></h1> <?php /* #18307 remove summary from core */ ?> @@ -73,7 +72,7 @@ <?php else: ?> <tr> <th><?= $this->transEsc($current['label']) ?>:</th> - <td data-title="<?= $this->transEsc($current['label']) ?>:"><?= $current['value'] ?></td> + <td lang="" data-title="<?= $this->transEsc($current['label']) ?>:"><?= $current['value'] ?></td> </tr> <?php endif; ?> <?php endforeach; ?> diff --git a/themes/finc/templates/RecordTab/description.phtml b/themes/finc/templates/RecordTab/description.phtml index 98d59dfadd4b15dc09a30019bbd3990d0eaecdd4..48285ed3c4f6759364a15215453eb855c3b2b65c 100644 --- a/themes/finc/templates/RecordTab/description.phtml +++ b/themes/finc/templates/RecordTab/description.phtml @@ -16,9 +16,9 @@ $mainFields = $formatter->getData($driver, $formatter->getDefaults('description' <tr> <?php if (!empty($current['label'])): ?> <th><?=$this->transEsc($current['label'])?>:</th> - <td data-title="<?= $this->transEsc($current['label']) ?>:"> + <td lang="" data-title="<?= $this->transEsc($current['label']) ?>:"> <?php else: ?> - <td colspan="2"> + <td lang="" colspan="2"> <?php endif; ?> <?=$current['value']?></td> </tr> diff --git a/themes/finc/templates/RecordTab/descriptionlido.phtml b/themes/finc/templates/RecordTab/descriptionlido.phtml index b02580e4ccefc1f15d7b189f08bfaae9300b555f..2afd501a844b9f748c06657c879536e79a3a6a3e 100644 --- a/themes/finc/templates/RecordTab/descriptionlido.phtml +++ b/themes/finc/templates/RecordTab/descriptionlido.phtml @@ -14,7 +14,7 @@ $mainFields = $formatter->getData($driver, $formatter->getDefaults('description- <caption class="sr-only"><?= $this->transEsc('Description') ?></caption> <?php if (!empty($mainFields)): ?> <?php foreach ($mainFields as $current): ?> - <tr><th><?=$this->transEsc($current['label'])?>:</th><td data-title="<?= $this->transEsc($current['label']) ?>:"><?=$current['value']?></td></tr> + <tr><th><?=$this->transEsc($current['label'])?>:</th><td lang="" data-title="<?= $this->transEsc($current['label']) ?>:"><?=$current['value']?></td></tr> <?php endforeach; ?> <?php else: ?> <tr><td><?=$this->transEsc('no_description')?></td></tr> diff --git a/themes/finc/templates/browse/home.phtml b/themes/finc/templates/browse/home.phtml index 13445e78c6d1561295cea5999913b76b316ca8f0..d20402286c31d1e1cb1a62bc133202e76d32be3a 100644 --- a/themes/finc/templates/browse/home.phtml +++ b/themes/finc/templates/browse/home.phtml @@ -84,7 +84,7 @@ </div> <?php elseif (isset($this->query)): ?> <div class="browse-list" id="list4"> - <span class="browse-item"><?=$this->transEsc('nohit_heading') ?></span> + <span class="browse-item" lang=""><?=$this->transEsc('nohit_heading') ?></span> </div> <?php endif; ?> </div> diff --git a/themes/finc/templates/cart/contents.phtml b/themes/finc/templates/cart/contents.phtml index 1546577216b002f73c576f91678eea424fcd6b8a..1c9d62015243f20d3d9ba410f33c1b08575474a5 100644 --- a/themes/finc/templates/cart/contents.phtml +++ b/themes/finc/templates/cart/contents.phtml @@ -1,3 +1,4 @@ +<!-- finc: cart - contents --> <?php $records = $this->cart()->getRecordDetails(); if (!empty($records)): ?> <hr/> @@ -8,7 +9,7 @@ if (!empty($records)): ?> <label> <?=$this->record($record)->getCheckbox('cart')?> <?php $describedById = $record->getSourceIdentifier() . '|' . $record->getUniqueId(); ?> - <a id="<?=$describedById?>" title="<?=$this->transEsc('View Record')?>" href="<?=$this->recordLink()->getUrl($record)?>" data-lightbox-ignore><?=$this->escapeHtml($record->getBreadcrumb())?> + <a id="<?=$describedById?>" title="<?=$this->transEsc('View Record')?>" href="<?=$this->recordLink()->getUrl($record)?>" data-lightbox-ignore lang=""><?=$this->escapeHtml($record->getBreadcrumb())?> <?php // finc-specific: Collect citation data: $helper = $this->citation($record); @@ -27,4 +28,5 @@ if (!empty($records)): ?> </ul> <?php else: ?> <p class="alert alert-info"><?=$this->transEsc('bookbag_is_empty')?>.</p> -<?php endif; ?> \ No newline at end of file +<?php endif; ?> +<!-- finc: cart - contents - END --> diff --git a/themes/finc/templates/error/RuntimeException.phtml b/themes/finc/templates/error/RuntimeException.phtml index 0e8933ecf5a1fd6c08db0c8152ad4ae3d42b05dc..949ab27f13ea71980dfb49962497f0c72683d996 100644 --- a/themes/finc/templates/error/RuntimeException.phtml +++ b/themes/finc/templates/error/RuntimeException.phtml @@ -14,7 +14,7 @@ <?php else: ?> <p><?=$this->transEsc($this->message)?></p> <?=$this->transEsc('Please contact the Library Reference Department for assistance')?> - <?php $supportEmail = $this->escapeHtmlAttr($this->systememail()); ?> + <?php $supportEmail = $this->escapeHtmlAttr($this->systemEmail()); ?> <a href="mailto:<?=$supportEmail?>"><?=$supportEmail?></a> <?php endif; ?> <br/> diff --git a/themes/finc/templates/error/TimeoutException.phtml b/themes/finc/templates/error/TimeoutException.phtml index 825b115fa32be971509d5288848b43123d394367..70da72eacaf59df2a23c950fa8b096ea6f92a026 100644 --- a/themes/finc/templates/error/TimeoutException.phtml +++ b/themes/finc/templates/error/TimeoutException.phtml @@ -8,7 +8,7 @@ ?> <div class="alert alert-danger"> <p> - <?=sprintf($this->translate('error_timeout'), $this->systememail(), $this->systememail())?> + <?=sprintf($this->translate('error_timeout'), $this->systemEmail(), $this->systemEmail())?> <br/> </p> </div> diff --git a/themes/finc/templates/myresearch/checkedout.phtml b/themes/finc/templates/myresearch/checkedout.phtml index a0ae5b548244ab7d72d87af175ff79aedbb86724..a6b6773c1a96c29bef8e5892db1ffae744b4d08a 100644 --- a/themes/finc/templates/myresearch/checkedout.phtml +++ b/themes/finc/templates/myresearch/checkedout.phtml @@ -119,7 +119,7 @@ $title = $resource->getTitle(); $title = empty($title) ? $this->transEsc('Title not available') : $this->escapeHtml($title); echo '<a id="' . $describedById . '" href="' . $this->recordLink()->getUrl($resource) . - '" class="title">' . $title . '</a>'; + '" class="title" lang="">' . $title . '</a>'; } elseif (isset($ilsDetails['title']) && !empty($ilsDetails['title'])){ // If the record is not available in Solr, perhaps the ILS driver sent us a title we can show... echo $this->escapeHtml($ilsDetails['title']); diff --git a/themes/finc/templates/myresearch/fines.phtml b/themes/finc/templates/myresearch/fines.phtml index 32080215e7fcfcda8546320329019bd96d9514d2..a77e2fdcc7e3cc103fb8599f93cd7fbf34bf63bb 100644 --- a/themes/finc/templates/myresearch/fines.phtml +++ b/themes/finc/templates/myresearch/fines.phtml @@ -77,7 +77,7 @@ <?php for ($row = 0; $row < $rowCount; $row++): ?> <tr> <?php foreach ($columns as $column): ?> - <td data-title="<?=$this->transEsc($column)?>"><?=$tableData[$column][$row]?></td> + <td data-title="<?=$this->transEsc($column)?>" lang=""><?=$tableData[$column][$row]?></td> <?php endforeach; ?> </tr> <?php endfor; ?> diff --git a/themes/finc/templates/myresearch/historicloans.phtml b/themes/finc/templates/myresearch/historicloans.phtml index 2f73364f07ac9703c2240869447fb082bdf65d1d..a86d384a051a4aa0efe60ade2da0941780c0f627 100644 --- a/themes/finc/templates/myresearch/historicloans.phtml +++ b/themes/finc/templates/myresearch/historicloans.phtml @@ -68,7 +68,7 @@ $title = $resource->getTitle(); $title = empty($title) ? $this->transEsc('Title not available') : $this->escapeHtml($title); echo '<a href="' . $this->recordLink()->getUrl($resource) . - '" class="title">' . $title . '</a>'; + '" class="title" lang="">' . $title . '</a>'; } elseif (isset($ilsDetails['title']) && !empty($ilsDetails['title'])){ // If the record is not available in Solr, perhaps the ILS driver sent us a title we can show... echo $this->escapeHtml($ilsDetails['title']); diff --git a/themes/finc/templates/myresearch/holds.phtml b/themes/finc/templates/myresearch/holds.phtml index 67298804196e4d9e207e1ce0adfa587ddc096a96..6b584c7355cd127ed8e15dc3c689e737e098636d 100644 --- a/themes/finc/templates/myresearch/holds.phtml +++ b/themes/finc/templates/myresearch/holds.phtml @@ -82,10 +82,10 @@ $title = $resource->getTitle(); $title = empty($title) ? $this->transEsc('Title not available') : $this->escapeHtml($title); echo '<a id="' . $describedById . '" href="' . $this->recordLink()->getUrl($resource) - . '" class="title">' . $title . '</a>'; + . '" class="title" lang="">' . $title . '</a>'; } elseif (isset($ilsDetails['title']) && !empty($ilsDetails['title'])){ // If the record is not available in Solr, perhaps the ILS driver sent us a title we can show... - echo '<span class="title" id="' . $describedById . '">' . $this->escapeHtml($ilsDetails['title']) . '</span>'; + echo '<span class="title" id="' . $describedById . '" lang="">' . $this->escapeHtml($ilsDetails['title']) . '</span>'; } else { // Last resort -- indicate that no title could be found. echo $this->transEsc('Title not available'); diff --git a/themes/finc/templates/myresearch/illrequests.phtml b/themes/finc/templates/myresearch/illrequests.phtml index 086406fd81ddfa636e747aff995ef2e247820d06..32f59dd92179d0e9d71eb84692383d431cbdd252 100644 --- a/themes/finc/templates/myresearch/illrequests.phtml +++ b/themes/finc/templates/myresearch/illrequests.phtml @@ -83,7 +83,7 @@ $title = $resource->getTitle(); $title = empty($title) ? $this->transEsc('Title not available') : $this->escapeHtml($title); echo '<a id="' . $describedById . '" href="' . $this->recordLink()->getUrl($resource) - . '" class="title">' . $title . '</a>'; + . '" class="title" lang="">' . $title . '</a>'; } elseif (isset($ilsDetails['title']) && !empty($ilsDetails['title'])){ // If the record is not available in Solr, perhaps the ILS driver sent us a title we can show... echo $this->escapeHtml($ilsDetails['title']); diff --git a/themes/finc/templates/myresearch/mylist.phtml b/themes/finc/templates/myresearch/mylist.phtml index 95a00ff48f650d04520fec9938c064a6e59a9499..6354ae6aa1c7962981d456fc50ba0388082b6014 100644 --- a/themes/finc/templates/myresearch/mylist.phtml +++ b/themes/finc/templates/myresearch/mylist.phtml @@ -69,7 +69,7 @@ $user = $this->auth()->isLoggedIn(); </div> </nav> <?php if ($list && !empty($list->description)): ?> - <p><?=$this->escapeHtml($list->description)?></p> + <p class="list-desc"><?=$this->escapeHtml($list->description)?></p> <?php endif; ?> <?php if ($recordTotal > 0): ?> <form class="form-inline" method="post" name="bulkActionForm" action="<?=$this->url('cart-myresearchbulk')?>" data-lightbox data-lightbox-onsubmit="bulkFormHandler"> diff --git a/themes/finc/templates/myresearch/storageretrievalrequests.phtml b/themes/finc/templates/myresearch/storageretrievalrequests.phtml index 18bd7f3ca95305f8e741381b199fc031ffef1a69..a7ec9c253467e5a0395fceac4257cbfb79c20a62 100644 --- a/themes/finc/templates/myresearch/storageretrievalrequests.phtml +++ b/themes/finc/templates/myresearch/storageretrievalrequests.phtml @@ -82,7 +82,7 @@ $title = $resource->getTitle(); $title = empty($title) ? $this->transEsc('Title not available') : $this->escapeHtml($title); echo '<a id="' . $describedById . '" href="' . $this->recordLink()->getUrl($resource) - . '" class="title">' . $title . '</a>'; + . '" class="title" lang="">' . $title . '</a>'; } elseif (isset($ilsDetails['title']) && !empty($ilsDetails['title'])){ // If the record is not available in Solr, perhaps the ILS driver sent us a title we can show... echo $this->escapeHtml($ilsDetails['title']); diff --git a/themes/finc/templates/search/history-table.phtml b/themes/finc/templates/search/history-table.phtml index 57e38252ee5552e41c570bd68d39319af9a65105..ff9e0554e3200b859b4c7653449aedc013ad92c8 100644 --- a/themes/finc/templates/search/history-table.phtml +++ b/themes/finc/templates/search/history-table.phtml @@ -16,7 +16,7 @@ <td data-title="<?= $this->transEsc('history_search') ?>:"> <?= $this->historylabel($info->getParams()->getSearchClassId()) ?> - <a href="<?= $this->url($info->getOptions()->getSearchAction()) . $info->getUrlQuery()->getParams() ?>"><?php $desc = $info->getParams()->getDisplayQuery(); + <a href="<?= $this->url($info->getOptions()->getSearchAction()) . $info->getUrlQuery()->getParams() ?>" lang=""><?php $desc = $info->getParams()->getDisplayQuery(); echo empty($desc) ? $this->transEsc("history_empty_search") : $this->escapeHtml($desc); ?> </a>