diff --git a/composer.json b/composer.json index 579964146469b9ddc113b97213b7b7551e07d212..8eb6f7989197c8e28b2eff48e24397519d32fc8d 100644 --- a/composer.json +++ b/composer.json @@ -38,7 +38,7 @@ "zendframework/zend-dom": "2.6.0", "zendframework/zend-escaper": "2.5.2", "zendframework/zend-eventmanager": "3.1.0", - "zendframework/zend-feed": "2.5.2", + "zendframework/zend-feed": "2.8.0", "zendframework/zend-http": "2.6.0", "zendframework/zend-i18n": "2.7.3", "zendframework/zend-loader": "2.5.1", diff --git a/composer.lock b/composer.lock index 9ec65a64bde1d28d94850117b24833b2229b0334..7f2f709f476dcd4df6c4ef1ad3c256a677fdc5f7 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "4ca6cbb0520d1db4f0a0d27a859628e3", + "content-hash": "c44c7f7b069e21b1f9f6228e92274eb1", "packages": [ { "name": "aferrandini/phpqrcode", @@ -1989,44 +1989,46 @@ }, { "name": "zendframework/zend-feed", - "version": "2.5.2", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/zendframework/zend-feed.git", - "reference": "0661345b82b51428619e05d3aadd3de65b57fa54" + "reference": "94579e805dd108683209fe14b3b5d4276de3de6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0661345b82b51428619e05d3aadd3de65b57fa54", - "reference": "0661345b82b51428619e05d3aadd3de65b57fa54", + "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/94579e805dd108683209fe14b3b5d4276de3de6e", + "reference": "94579e805dd108683209fe14b3b5d4276de3de6e", "shasum": "" }, "require": { - "php": ">=5.5", - "zendframework/zend-escaper": "~2.5", - "zendframework/zend-stdlib": "~2.5" + "php": "^5.6 || ^7.0", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-stdlib": "^2.7 || ^3.1" }, "require-dev": { - "fabpot/php-cs-fixer": "1.7.*", - "phpunit/phpunit": "~4.0", - "zendframework/zend-cache": "~2.5", - "zendframework/zend-db": "~2.5", - "zendframework/zend-http": "~2.5", - "zendframework/zend-servicemanager": "~2.5", - "zendframework/zend-validator": "~2.5" + "phpunit/phpunit": "^6.0.8 || ^5.7.15", + "psr/http-message": "^1.0", + "zendframework/zend-cache": "^2.6", + "zendframework/zend-coding-standard": "~1.0.0", + "zendframework/zend-db": "^2.7", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-validator": "^2.6" }, "suggest": { - "zendframework/zend-cache": "Zend\\Cache component", - "zendframework/zend-db": "Zend\\Db component", + "psr/http-message": "PSR-7 ^1.0, if you wish to use Zend\\Feed\\Reader\\Http\\Psr7ResponseDecorator", + "zendframework/zend-cache": "Zend\\Cache component, for optionally caching feeds between requests", + "zendframework/zend-db": "Zend\\Db component, for use with PubSubHubbub", "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations", - "zendframework/zend-validator": "Zend\\Validator component" + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for easily extending ExtensionManager implementations", + "zendframework/zend-validator": "Zend\\Validator component, for validating email addresses used in Atom feeds and entries ehen using the Writer subcomponent" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5-dev", - "dev-develop": "2.6-dev" + "dev-master": "2.8-dev", + "dev-develop": "2.9-dev" } }, "autoload": { @@ -2044,7 +2046,7 @@ "feed", "zf2" ], - "time": "2015-08-04T21:39:18+00:00" + "time": "2017-04-01T15:03:14+00:00" }, { "name": "zendframework/zend-filter", @@ -4326,16 +4328,16 @@ }, { "name": "erusev/parsedown", - "version": "1.6.1", + "version": "1.6.2", "source": { "type": "git", "url": "https://github.com/erusev/parsedown.git", - "reference": "20ff8bbb57205368b4b42d094642a3e52dac85fb" + "reference": "1bf24f7334fe16c88bf9d467863309ceaf285b01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/20ff8bbb57205368b4b42d094642a3e52dac85fb", - "reference": "20ff8bbb57205368b4b42d094642a3e52dac85fb", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/1bf24f7334fe16c88bf9d467863309ceaf285b01", + "reference": "1bf24f7334fe16c88bf9d467863309ceaf285b01", "shasum": "" }, "require": { @@ -4364,7 +4366,7 @@ "markdown", "parser" ], - "time": "2016-11-02T15:56:58+00:00" + "time": "2017-03-29T16:04:15+00:00" }, { "name": "friendsofphp/php-cs-fixer", @@ -4689,16 +4691,16 @@ }, { "name": "jms/serializer", - "version": "1.5.0", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/serializer.git", - "reference": "9dc44f2924a90bf526a2e1c4bb1ce9d772a00a45" + "reference": "5e9008cbb0bac2986979d905a87ae48efcf578c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/9dc44f2924a90bf526a2e1c4bb1ce9d772a00a45", - "reference": "9dc44f2924a90bf526a2e1c4bb1ce9d772a00a45", + "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/5e9008cbb0bac2986979d905a87ae48efcf578c4", + "reference": "5e9008cbb0bac2986979d905a87ae48efcf578c4", "shasum": "" }, "require": { @@ -4711,6 +4713,7 @@ "phpoption/phpoption": "^1.1" }, "conflict": { + "jms/serializer-bundle": "<1.2.1", "twig/twig": "<1.12" }, "require-dev": { @@ -4729,12 +4732,14 @@ "twig/twig": "~1.12|~2.0" }, "suggest": { + "doctrine/cache": "Required if you like to use cache functionality.", + "doctrine/collections": "Required if you like to use doctrine collection types as ArrayCollection.", "symfony/yaml": "Required if you'd like to serialize data to YAML format." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.5-dev" + "dev-master": "1.6-dev" } }, "autoload": { @@ -4761,7 +4766,7 @@ "serialization", "xml" ], - "time": "2017-02-14T14:35:22+00:00" + "time": "2017-03-24T13:11:23+00:00" }, { "name": "justinrainbow/json-schema", @@ -5635,16 +5640,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "4.0.7", + "version": "4.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "09e2277d14ea467e5a984010f501343ef29ffc69" + "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/09e2277d14ea467e5a984010f501343ef29ffc69", - "reference": "09e2277d14ea467e5a984010f501343ef29ffc69", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", + "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", "shasum": "" }, "require": { @@ -5694,7 +5699,7 @@ "testing", "xunit" ], - "time": "2017-03-01T09:12:17+00:00" + "time": "2017-04-02T07:44:40+00:00" }, { "name": "phpunit/php-file-iterator", diff --git a/module/VuFind/src/VuFind/View/Helper/Root/ResultFeed.php b/module/VuFind/src/VuFind/View/Helper/Root/ResultFeed.php index e93c66bdd0ccbda57beca1257fd8d4cfb36ee2f4..cf59b446c533a1b518a8018b021c5a39a8a94b95 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/ResultFeed.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/ResultFeed.php @@ -26,11 +26,11 @@ * @link https://vufind.org/wiki/development Wiki */ namespace VuFind\View\Helper\Root; -use DateTime, - VuFind\I18n\Translator\TranslatorAwareInterface, - Zend\Feed\Writer\Writer as FeedWriter, - Zend\Feed\Writer\Feed, - Zend\View\Helper\AbstractHelper; +use DateTime; +use VuFind\I18n\Translator\TranslatorAwareInterface; +use Zend\Feed\Writer\Writer as FeedWriter; +use Zend\Feed\Writer\Feed; +use Zend\View\Helper\AbstractHelper; /** * "Results as feed" view helper @@ -65,13 +65,13 @@ class ResultFeed extends AbstractHelper implements TranslatorAwareInterface } /** - * Set up Dublin Core extension. + * Set up custom extensions. * * @return void */ - protected function registerExtension() + protected function registerExtensions() { - $manager = FeedWriter::getExtensionManager(); + $manager = new \Zend\Feed\Writer\ExtensionPluginManager(); $manager->setInvokableClass( 'dublincorerendererentry', 'VuFind\Feed\Writer\Extension\DublinCore\Renderer\Entry' @@ -86,6 +86,7 @@ class ResultFeed extends AbstractHelper implements TranslatorAwareInterface $manager->setInvokableClass( 'opensearchfeed', 'VuFind\Feed\Writer\Extension\OpenSearch\Feed' ); + FeedWriter::setExtensionManager($manager); FeedWriter::registerExtension('OpenSearch'); } @@ -101,7 +102,7 @@ class ResultFeed extends AbstractHelper implements TranslatorAwareInterface */ public function __invoke($results, $currentPath = null) { - $this->registerExtension(); + $this->registerExtensions(); // Determine base URL if not already provided: if (is_null($currentPath)) {