From b490ef5c8bbc3a1e6c72fae0a8a3cdb162f825d7 Mon Sep 17 00:00:00 2001 From: Demian Katz <demian.katz@villanova.edu> Date: Wed, 8 Mar 2017 12:19:38 -0500 Subject: [PATCH] Fixed broken Europeana module. --- config/vufind/searches.ini | 22 +++++++++++------- .../src/VuFind/Recommend/EuropeanaResults.php | 6 ++--- themes/root/images/europeana.eu.png | Bin 0 -> 6397 bytes 3 files changed, 16 insertions(+), 12 deletions(-) create mode 100644 themes/root/images/europeana.eu.png diff --git a/config/vufind/searches.ini b/config/vufind/searches.ini index 240ef2049f9..f00e92a5ca6 100644 --- a/config/vufind/searches.ini +++ b/config/vufind/searches.ini @@ -198,15 +198,19 @@ CallNumber = callnumber-sort ; Display results from the DPLA catalog. Provide a boolean to have the sidebar ; collapsed or open on page load. ; EuropeanaResults:[url]:[requestParam]:[limit]:[unwanted data providers] -; Display search results from Europeana.eu API. [url] is the base search URL -; default "api.europeana.eu/api/opensearch.rss" [requestParam] parameter name -; for passing lookup value in url, default is "searchTerms" [limit] defaults to -; 5, is the number of result items to display [unwanted data providers] comma -; separated list of dataproviders to ignore results from; useful for excluding -; own results that are also in Europeana. An API key must be set in config.ini -; (see europeanaAPI setting in [Content] section). -; EuropeanaResultsDeferred: [url]:[requestParam]:[limit]:[unwanted data providers] -; See EuropeanaResults, but this version uses AJAX. +; Display search results from Europeana.eu API. +; Parameters (all are optional): +; [url] = base search URL, default api.europeana.eu/api/v2/opensearch.rss +; [requestParam] = parameter name for passing lookup value in url, default is +; "searchTerms" +; [limit] = the number of result items to display (defaults to 5) +; [unwanted data providers] = comma separated list of dataproviders to ignore +; results from; useful for excluding your own results that are also in +; Europeana. +; An API key must be set in config.ini (see europeanaAPI setting in [Content] +; section). +; EuropeanaResultsDeferred:[url]:[requestParam]:[limit]:[unwanted data providers] +; See EuropeanaResults, but this version uses AJAX for asynchronous loading. ; ExpandFacets:[ini section]:[ini name] ; Display facets listed in the specified section of the specified ini file; ; if [ini name] is left out, it defaults to "facets." Rather than using diff --git a/module/VuFind/src/VuFind/Recommend/EuropeanaResults.php b/module/VuFind/src/VuFind/Recommend/EuropeanaResults.php index 641ff46784b..c906684f38e 100644 --- a/module/VuFind/src/VuFind/Recommend/EuropeanaResults.php +++ b/module/VuFind/src/VuFind/Recommend/EuropeanaResults.php @@ -32,7 +32,7 @@ use Zend\Feed\Reader\Reader as FeedReader; /** * EuropeanaResults Recommendations Module * - * This class provides recommendations by using the WorldCat Terminologies API. + * This class provides recommendations by using the Europeana API. * * @category VuFind * @package Recommendations @@ -139,7 +139,7 @@ class EuropeanaResults implements RecommendInterface, // Parse out parameters: $params = explode(':', $settings); $this->baseUrl = (isset($params[0]) && !empty($params[0])) - ? $params[0] : 'api.europeana.eu/api/opensearch.rss'; + ? $params[0] : 'api.europeana.eu/api/v2/opensearch.rss'; $this->requestParam = (isset($params[1]) && !empty($params[1])) ? $params[1] : 'searchTerms'; $this->limit = isset($params[2]) && is_numeric($params[2]) @@ -231,7 +231,7 @@ class EuropeanaResults implements RecommendInterface, if (!empty($link)) { $resultsProcessed[] = [ 'title' => $value->getTitle(), - 'link' => substr($link, 0, strpos($link, '.srw')) . '.html', + 'link' => $link, 'enclosure' => $value->getEnclosure()['url'] ]; } diff --git a/themes/root/images/europeana.eu.png b/themes/root/images/europeana.eu.png new file mode 100644 index 0000000000000000000000000000000000000000..0e09113d028a16592e52667c2882d492fb5b98a1 GIT binary patch literal 6397 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 LNkvXXu0mjfq<2sB literal 0 HcmV?d00001 -- GitLab