diff --git a/composer.json b/composer.json index c9e0a7a9c2d73659ccaf266c4a044d37dcb8c840..722f1faa6194115f988e388f41234ad7ab41e78e 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,7 @@ "easyrdf/easyrdf": "0.9.*", "phpunit/phpunit": "4.1.*", "phpunit/phpunit-mock-objects": "dev-master#e60bb929c50ae4237aaf680a4f6773f4ee17f0a2", - "zendframework/zend-feed": "2.2.*", + "zendframework/zend-feed": "2.3.*", "mikey179/vfsStream": "1.*", "stack/builder": "1.0.*", "egulias/email-validator": "1.2.*" diff --git a/composer.lock b/composer.lock index 193d7e184b5ab61e6ed01510a77f8d0859c20a4c..fe5dc0ae4b94bad6234a348bcb9f401ddda5092e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "9f93d739d3134a5fb76d650043b3ba89", + "hash": "461047a83f0f5554064bfe97e2a673fb", "packages": [ { "name": "doctrine/annotations", @@ -2440,27 +2440,27 @@ }, { "name": "zendframework/zend-escaper", - "version": "2.2.6", + "version": "2.3.3", "target-dir": "Zend/Escaper", "source": { "type": "git", "url": "https://github.com/zendframework/Component_ZendEscaper.git", - "reference": "80abc4bc1f48b9fe8ed603aaa9eebd6e6f30fd0f" + "reference": "c24949840766a544489bfc303714e1f332341010" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/Component_ZendEscaper/zipball/80abc4bc1f48b9fe8ed603aaa9eebd6e6f30fd0f", - "reference": "80abc4bc1f48b9fe8ed603aaa9eebd6e6f30fd0f", + "url": "https://api.github.com/repos/zendframework/Component_ZendEscaper/zipball/c24949840766a544489bfc303714e1f332341010", + "reference": "c24949840766a544489bfc303714e1f332341010", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.23" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev", - "dev-develop": "2.3-dev" + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" } }, "autoload": { @@ -2472,33 +2472,43 @@ "license": [ "BSD-3-Clause" ], + "homepage": "https://github.com/zendframework/zf2", "keywords": [ "escaper", "zf2" ], - "time": "2014-01-04 13:00:13" + "time": "2014-09-16 22:58:11" }, { "name": "zendframework/zend-feed", - "version": "2.2.6", + "version": "2.3.3", "target-dir": "Zend/Feed", "source": { "type": "git", "url": "https://github.com/zendframework/Component_ZendFeed.git", - "reference": "8acb562d99dd0786d25c990530980d2d92b67b35" + "reference": "a89550818b56ae9607a97a63c7d2728a9eb6c6a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/Component_ZendFeed/zipball/8acb562d99dd0786d25c990530980d2d92b67b35", - "reference": "8acb562d99dd0786d25c990530980d2d92b67b35", + "url": "https://api.github.com/repos/zendframework/Component_ZendFeed/zipball/a89550818b56ae9607a97a63c7d2728a9eb6c6a9", + "reference": "a89550818b56ae9607a97a63c7d2728a9eb6c6a9", "shasum": "" }, "require": { - "php": ">=5.3.3", + "php": ">=5.3.23", "zendframework/zend-escaper": "self.version", "zendframework/zend-stdlib": "self.version" }, + "require-dev": { + "zendframework/zend-cache": "self.version", + "zendframework/zend-db": "self.version", + "zendframework/zend-http": "self.version", + "zendframework/zend-servicemanager": "self.version", + "zendframework/zend-validator": "self.version" + }, "suggest": { + "zendframework/zend-cache": "Zend\\Cache component", + "zendframework/zend-db": "Zend\\Db component", "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" @@ -2506,8 +2516,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev", - "dev-develop": "2.3-dev" + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" } }, "autoload": { @@ -2520,39 +2530,46 @@ "BSD-3-Clause" ], "description": "provides functionality for consuming RSS and Atom feeds", + "homepage": "https://github.com/zendframework/zf2", "keywords": [ "feed", "zf2" ], - "time": "2014-01-04 13:00:14" + "time": "2014-09-16 22:58:11" }, { "name": "zendframework/zend-stdlib", - "version": "2.2.6", + "version": "2.3.3", "target-dir": "Zend/Stdlib", "source": { "type": "git", "url": "https://github.com/zendframework/Component_ZendStdlib.git", - "reference": "e646729f2274f4552b6a92e38d8e458efe08ebc5" + "reference": "fa33e6647f830d0d2a1cb451efcdfe1bb9a66c33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/Component_ZendStdlib/zipball/e646729f2274f4552b6a92e38d8e458efe08ebc5", - "reference": "e646729f2274f4552b6a92e38d8e458efe08ebc5", + "url": "https://api.github.com/repos/zendframework/Component_ZendStdlib/zipball/fa33e6647f830d0d2a1cb451efcdfe1bb9a66c33", + "reference": "fa33e6647f830d0d2a1cb451efcdfe1bb9a66c33", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.23" + }, + "require-dev": { + "zendframework/zend-eventmanager": "self.version", + "zendframework/zend-serializer": "self.version", + "zendframework/zend-servicemanager": "self.version" }, "suggest": { "zendframework/zend-eventmanager": "To support aggregate hydrator usage", + "zendframework/zend-serializer": "Zend\\Serializer component", "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev", - "dev-develop": "2.3-dev" + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" } }, "autoload": { @@ -2564,11 +2581,12 @@ "license": [ "BSD-3-Clause" ], + "homepage": "https://github.com/zendframework/zf2", "keywords": [ "stdlib", "zf2" ], - "time": "2014-01-04 13:00:28" + "time": "2014-09-16 22:58:11" } ], "packages-dev": [], diff --git a/core/modules/aggregator/src/Plugin/aggregator/fetcher/DefaultFetcher.php b/core/modules/aggregator/src/Plugin/aggregator/fetcher/DefaultFetcher.php index 8695d25db36c320a8b09fc593567da6003963b5c..ab7bcc5d5bee01e6fbc6e2f382be64aa621e82fc 100644 --- a/core/modules/aggregator/src/Plugin/aggregator/fetcher/DefaultFetcher.php +++ b/core/modules/aggregator/src/Plugin/aggregator/fetcher/DefaultFetcher.php @@ -90,7 +90,7 @@ public function fetch(FeedInterface $feed) { return FALSE; } - $feed->source_string = $response->getBody(TRUE); + $feed->source_string = (string) $response->getBody(); $feed->setEtag($response->getHeader('ETag')); $feed->setLastModified(strtotime($response->getHeader('Last-Modified'))); $feed->http_headers = $response->getHeaders(); diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json index e3366f47622874d7d01e3d6444b9f1e4477b85ad..6104e35036b1b0fb801c3807338abdda85f40ff0 100644 --- a/core/vendor/composer/installed.json +++ b/core/vendor/composer/installed.json @@ -1477,144 +1477,6 @@ "templating" ] }, - { - "name": "zendframework/zend-stdlib", - "version": "2.2.6", - "version_normalized": "2.2.6.0", - "target-dir": "Zend/Stdlib", - "source": { - "type": "git", - "url": "https://github.com/zendframework/Component_ZendStdlib.git", - "reference": "e646729f2274f4552b6a92e38d8e458efe08ebc5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/Component_ZendStdlib/zipball/e646729f2274f4552b6a92e38d8e458efe08ebc5", - "reference": "e646729f2274f4552b6a92e38d8e458efe08ebc5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "zendframework/zend-eventmanager": "To support aggregate hydrator usage", - "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" - }, - "time": "2014-01-04 13:00:28", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev", - "dev-develop": "2.3-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-0": { - "Zend\\Stdlib\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "keywords": [ - "stdlib", - "zf2" - ] - }, - { - "name": "zendframework/zend-escaper", - "version": "2.2.6", - "version_normalized": "2.2.6.0", - "target-dir": "Zend/Escaper", - "source": { - "type": "git", - "url": "https://github.com/zendframework/Component_ZendEscaper.git", - "reference": "80abc4bc1f48b9fe8ed603aaa9eebd6e6f30fd0f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/Component_ZendEscaper/zipball/80abc4bc1f48b9fe8ed603aaa9eebd6e6f30fd0f", - "reference": "80abc4bc1f48b9fe8ed603aaa9eebd6e6f30fd0f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "time": "2014-01-04 13:00:13", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev", - "dev-develop": "2.3-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-0": { - "Zend\\Escaper\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "keywords": [ - "escaper", - "zf2" - ] - }, - { - "name": "zendframework/zend-feed", - "version": "2.2.6", - "version_normalized": "2.2.6.0", - "target-dir": "Zend/Feed", - "source": { - "type": "git", - "url": "https://github.com/zendframework/Component_ZendFeed.git", - "reference": "8acb562d99dd0786d25c990530980d2d92b67b35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/Component_ZendFeed/zipball/8acb562d99dd0786d25c990530980d2d92b67b35", - "reference": "8acb562d99dd0786d25c990530980d2d92b67b35", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "zendframework/zend-escaper": "self.version", - "zendframework/zend-stdlib": "self.version" - }, - "suggest": { - "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" - }, - "time": "2014-01-04 13:00:14", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev", - "dev-develop": "2.3-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-0": { - "Zend\\Feed\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "provides functionality for consuming RSS and Atom feeds", - "keywords": [ - "feed", - "zf2" - ] - }, { "name": "guzzlehttp/guzzle", "version": "5.0.3", @@ -2656,5 +2518,161 @@ "rdfa", "sparql" ] + }, + { + "name": "zendframework/zend-stdlib", + "version": "2.3.3", + "version_normalized": "2.3.3.0", + "target-dir": "Zend/Stdlib", + "source": { + "type": "git", + "url": "https://github.com/zendframework/Component_ZendStdlib.git", + "reference": "fa33e6647f830d0d2a1cb451efcdfe1bb9a66c33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/Component_ZendStdlib/zipball/fa33e6647f830d0d2a1cb451efcdfe1bb9a66c33", + "reference": "fa33e6647f830d0d2a1cb451efcdfe1bb9a66c33", + "shasum": "" + }, + "require": { + "php": ">=5.3.23" + }, + "require-dev": { + "zendframework/zend-eventmanager": "self.version", + "zendframework/zend-serializer": "self.version", + "zendframework/zend-servicemanager": "self.version" + }, + "suggest": { + "zendframework/zend-eventmanager": "To support aggregate hydrator usage", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" + }, + "time": "2014-09-16 22:58:11", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-0": { + "Zend\\Stdlib\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zf2", + "keywords": [ + "stdlib", + "zf2" + ] + }, + { + "name": "zendframework/zend-escaper", + "version": "2.3.3", + "version_normalized": "2.3.3.0", + "target-dir": "Zend/Escaper", + "source": { + "type": "git", + "url": "https://github.com/zendframework/Component_ZendEscaper.git", + "reference": "c24949840766a544489bfc303714e1f332341010" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/Component_ZendEscaper/zipball/c24949840766a544489bfc303714e1f332341010", + "reference": "c24949840766a544489bfc303714e1f332341010", + "shasum": "" + }, + "require": { + "php": ">=5.3.23" + }, + "time": "2014-09-16 22:58:11", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-0": { + "Zend\\Escaper\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zf2", + "keywords": [ + "escaper", + "zf2" + ] + }, + { + "name": "zendframework/zend-feed", + "version": "2.3.3", + "version_normalized": "2.3.3.0", + "target-dir": "Zend/Feed", + "source": { + "type": "git", + "url": "https://github.com/zendframework/Component_ZendFeed.git", + "reference": "a89550818b56ae9607a97a63c7d2728a9eb6c6a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/Component_ZendFeed/zipball/a89550818b56ae9607a97a63c7d2728a9eb6c6a9", + "reference": "a89550818b56ae9607a97a63c7d2728a9eb6c6a9", + "shasum": "" + }, + "require": { + "php": ">=5.3.23", + "zendframework/zend-escaper": "self.version", + "zendframework/zend-stdlib": "self.version" + }, + "require-dev": { + "zendframework/zend-cache": "self.version", + "zendframework/zend-db": "self.version", + "zendframework/zend-http": "self.version", + "zendframework/zend-servicemanager": "self.version", + "zendframework/zend-validator": "self.version" + }, + "suggest": { + "zendframework/zend-cache": "Zend\\Cache component", + "zendframework/zend-db": "Zend\\Db component", + "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" + }, + "time": "2014-09-16 22:58:11", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-0": { + "Zend\\Feed\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides functionality for consuming RSS and Atom feeds", + "homepage": "https://github.com/zendframework/zf2", + "keywords": [ + "feed", + "zf2" + ] } ] diff --git a/core/vendor/zendframework/zend-escaper/Zend/Escaper/CONTRIBUTING.md b/core/vendor/zendframework/zend-escaper/Zend/Escaper/CONTRIBUTING.md new file mode 100644 index 0000000000000000000000000000000000000000..e77f5d2d5b37809160135bc2c6b6a51b6637d794 --- /dev/null +++ b/core/vendor/zendframework/zend-escaper/Zend/Escaper/CONTRIBUTING.md @@ -0,0 +1,3 @@ +# CONTRIBUTING + +Please don't open pull requests against this repository, please use https://github.com/zendframework/zf2. \ No newline at end of file diff --git a/core/vendor/zendframework/zend-escaper/Zend/Escaper/Escaper.php b/core/vendor/zendframework/zend-escaper/Zend/Escaper/Escaper.php index 28acfe052243dec9a8f6d2cb8a03f9ed627067ec..c7f81ba7d3011c5c015e243397525356bba71e8f 100644 --- a/core/vendor/zendframework/zend-escaper/Zend/Escaper/Escaper.php +++ b/core/vendor/zendframework/zend-escaper/Zend/Escaper/Escaper.php @@ -368,7 +368,6 @@ protected function isUtf8($string) */ protected function convertEncoding($string, $to, $from) { - $result = ''; if (function_exists('iconv')) { $result = iconv($from, $to, $string); } elseif (function_exists('mb_convert_encoding')) { diff --git a/core/vendor/zendframework/zend-escaper/Zend/Escaper/composer.json b/core/vendor/zendframework/zend-escaper/Zend/Escaper/composer.json index 3b2f2b602d4f490938dea11dd065c99bc3216268..5f81793f37eaa6fa0993e42f5bfc1bb2afb90099 100644 --- a/core/vendor/zendframework/zend-escaper/Zend/Escaper/composer.json +++ b/core/vendor/zendframework/zend-escaper/Zend/Escaper/composer.json @@ -6,6 +6,7 @@ "zf2", "escaper" ], + "homepage": "https://github.com/zendframework/zf2", "autoload": { "psr-0": { "Zend\\Escaper\\": "" @@ -13,12 +14,12 @@ }, "target-dir": "Zend/Escaper", "require": { - "php": ">=5.3.3" + "php": ">=5.3.23" }, "extra": { "branch-alias": { - "dev-master": "2.2-dev", - "dev-develop": "2.3-dev" + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" } } } diff --git a/core/vendor/zendframework/zend-feed/Zend/Feed/CONTRIBUTING.md b/core/vendor/zendframework/zend-feed/Zend/Feed/CONTRIBUTING.md new file mode 100644 index 0000000000000000000000000000000000000000..e77f5d2d5b37809160135bc2c6b6a51b6637d794 --- /dev/null +++ b/core/vendor/zendframework/zend-feed/Zend/Feed/CONTRIBUTING.md @@ -0,0 +1,3 @@ +# CONTRIBUTING + +Please don't open pull requests against this repository, please use https://github.com/zendframework/zf2. \ No newline at end of file diff --git a/core/vendor/zendframework/zend-feed/Zend/Feed/PubSubHubbub/PubSubHubbub.php b/core/vendor/zendframework/zend-feed/Zend/Feed/PubSubHubbub/PubSubHubbub.php index f96236c9b30ada39262eeef8823167d6738581aa..585be54d1b054742ab0150128db527ff87f73679 100644 --- a/core/vendor/zendframework/zend-feed/Zend/Feed/PubSubHubbub/PubSubHubbub.php +++ b/core/vendor/zendframework/zend-feed/Zend/Feed/PubSubHubbub/PubSubHubbub.php @@ -95,7 +95,7 @@ public static function getHttpClient() /** * Simple mechanism to delete the entire singleton HTTP Client instance - * which forces an new instantiation for subsequent requests. + * which forces a new instantiation for subsequent requests. * * @return void */ diff --git a/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Extension/Syndication/Feed.php b/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Extension/Syndication/Feed.php index 429c7bfd0a71f58ea31d65f9f3bf3fee856870f8..db1724c14c256ae78615e804af2544f44af00706 100644 --- a/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Extension/Syndication/Feed.php +++ b/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Extension/Syndication/Feed.php @@ -24,7 +24,7 @@ class Feed extends Extension\AbstractFeed public function getUpdatePeriod() { $name = 'updatePeriod'; - $period = $this->_getData($name); + $period = $this->getData($name); if ($period === null) { $this->data[$name] = 'daily'; @@ -52,7 +52,7 @@ public function getUpdatePeriod() public function getUpdateFrequency() { $name = 'updateFrequency'; - $freq = $this->_getData($name, 'number'); + $freq = $this->getData($name, 'number'); if (!$freq || $freq < 1) { $this->data[$name] = 1; @@ -70,7 +70,7 @@ public function getUpdateFrequency() public function getUpdateFrequencyAsTicks() { $name = 'updateFrequency'; - $freq = $this->_getData($name, 'number'); + $freq = $this->getData($name, 'number'); if (!$freq || $freq < 1) { $this->data[$name] = 1; @@ -107,7 +107,7 @@ public function getUpdateFrequencyAsTicks() */ public function getUpdateBase() { - $updateBase = $this->_getData('updateBase'); + $updateBase = $this->getData('updateBase'); $date = null; if ($updateBase) { $date = DateTime::createFromFormat(DateTime::W3C, $updateBase); @@ -122,7 +122,7 @@ public function getUpdateBase() * @param string $type * @return mixed|null */ - private function _getData($name, $type = 'string') + private function getData($name, $type = 'string') { if (array_key_exists($name, $this->data)) { return $this->data[$name]; diff --git a/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Feed/Atom.php b/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Feed/Atom.php index 02a8f6244dbc9acc5994819b17a1a508fcccb3aa..251ad03ceac1f1885f73de12b072e18ea0381b41 100644 --- a/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Feed/Atom.php +++ b/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Feed/Atom.php @@ -383,7 +383,6 @@ protected function indexEntries() { if ($this->getType() == Reader\Reader::TYPE_ATOM_10 || $this->getType() == Reader\Reader::TYPE_ATOM_03) { - $entries = array(); $entries = $this->xpath->evaluate('//atom:entry'); foreach ($entries as $index => $entry) { diff --git a/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Feed/Rss.php b/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Feed/Rss.php index 0237a531c22e80ae2ad7ea8f31e39d33c2201eb8..fc7baa131e4892c7d6d5dd4b01277b3898cc2861 100644 --- a/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Feed/Rss.php +++ b/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Feed/Rss.php @@ -675,8 +675,6 @@ public function getCategories() */ protected function indexEntries() { - $entries = array(); - if ($this->getType() !== Reader\Reader::TYPE_RSS_10 && $this->getType() !== Reader\Reader::TYPE_RSS_090) { $entries = $this->xpath->evaluate('//item'); } else { diff --git a/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Reader.php b/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Reader.php index 6c222bb52811fccd6a83da51f4fd35db0fc98bce..bcd387ad29788729e149d5487c149f8cc042f67b 100644 --- a/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Reader.php +++ b/core/vendor/zendframework/zend-feed/Zend/Feed/Reader/Reader.php @@ -192,7 +192,6 @@ public static function import($uri, $etag = null, $lastModified = null) { $cache = self::getCache(); $feed = null; - $responseXml = ''; $client = self::getHttpClient(); $client->resetParameters(); $headers = new ZendHttp\Headers(); @@ -266,7 +265,7 @@ public static function import($uri, $etag = null, $lastModified = null) * HTTP client implementations. * * @param string $uri - * @param Http\Client $client + * @param Http\ClientInterface $client * @return self * @throws Exception\RuntimeException if response is not an Http\ResponseInterface */ @@ -299,6 +298,11 @@ public static function importRemoteFeed($uri, Http\ClientInterface $client) */ public static function importString($string) { + $trimmed = trim($string); + if (!is_string($string) || empty($trimmed)) { + throw new Exception\InvalidArgumentException('Only non empty strings are allowed as input'); + } + $libxmlErrflag = libxml_use_internal_errors(true); $oldValue = libxml_disable_entity_loader(true); $dom = new DOMDocument; diff --git a/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/AbstractFeed.php b/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/AbstractFeed.php index b96a5302dcebd03aaef31ec5b6c57729a8b54d89..5165904f71ef1867cc25bd73bee69a6238395404 100644 --- a/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/AbstractFeed.php +++ b/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/AbstractFeed.php @@ -287,7 +287,6 @@ protected function _validateTagUri($id) { if (preg_match('/^tag:(?P<name>.*),(?P<date>\d{4}-?\d{0,2}-?\d{0,2}):(?P<specific>.*)(.*:)*$/', $id, $matches)) { $dvalid = false; - $nvalid = false; $date = $matches['date']; $d6 = strtotime($date); if ((strlen($date) == 4) && $date <= date('Y')) { diff --git a/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/Entry.php b/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/Entry.php index 797f4bcd0f59ea032aad77c99bc7cf49fd58c49a..af8cf7a102cfeb7d01f092db53921a5fbb6a224f 100644 --- a/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/Entry.php +++ b/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/Entry.php @@ -530,7 +530,7 @@ public function getCommentFeedLinks() } /** - * Add a entry category + * Add an entry category * * @param array $category * @throws Exception\InvalidArgumentException diff --git a/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/ExtensionManager.php b/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/ExtensionManager.php index 5310050a0d27cbef65b87ac26f0c053ce767aedc..77d49a0dc317af3e583f1a79109c4df71e77c578 100644 --- a/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/ExtensionManager.php +++ b/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/ExtensionManager.php @@ -60,7 +60,7 @@ public function __call($method, $args) * Get the named extension * * @param string $name - * @return Extension\AbstractEntry|Extension\AbstractFeed + * @return Extension\AbstractRenderer */ public function get($name) { diff --git a/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/Renderer/Entry/Atom.php b/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/Renderer/Entry/Atom.php index 28b325d40c0ca93b085ad1798252cc4a997783e5..c7fc4be22d247ae71dd1f13995b3a1af73b16b30 100644 --- a/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/Renderer/Entry/Atom.php +++ b/core/vendor/zendframework/zend-feed/Zend/Feed/Writer/Renderer/Entry/Atom.php @@ -291,7 +291,6 @@ protected function _validateTagUri($id) { if (preg_match('/^tag:(?P<name>.*),(?P<date>\d{4}-?\d{0,2}-?\d{0,2}):(?P<specific>.*)(.*:)*$/', $id, $matches)) { $dvalid = false; - $nvalid = false; $date = $matches['date']; $d6 = strtotime($date); if ((strlen($date) == 4) && $date <= date('Y')) { @@ -353,7 +352,6 @@ protected function _setContent(DOMDocument $dom, DOMElement $root) */ protected function _loadXhtml($content) { - $xhtml = ''; if (class_exists('tidy', false)) { $tidy = new \tidy; $config = array( diff --git a/core/vendor/zendframework/zend-feed/Zend/Feed/composer.json b/core/vendor/zendframework/zend-feed/Zend/Feed/composer.json index d55068f011fd990e370dbceb6b939e3168a3fc20..0c4d7dc18184236ffff0835c639bdb0ef5a4b0fd 100644 --- a/core/vendor/zendframework/zend-feed/Zend/Feed/composer.json +++ b/core/vendor/zendframework/zend-feed/Zend/Feed/composer.json @@ -6,6 +6,7 @@ "zf2", "feed" ], + "homepage": "https://github.com/zendframework/zf2", "autoload": { "psr-0": { "Zend\\Feed\\": "" @@ -13,19 +14,28 @@ }, "target-dir": "Zend/Feed", "require": { - "php": ">=5.3.3", + "php": ">=5.3.23", "zendframework/zend-escaper": "self.version", "zendframework/zend-stdlib": "self.version" }, + "require-dev": { + "zendframework/zend-db": "self.version", + "zendframework/zend-cache": "self.version", + "zendframework/zend-http": "self.version", + "zendframework/zend-servicemanager": "self.version", + "zendframework/zend-validator": "self.version" + }, "suggest": { + "zendframework/zend-cache": "Zend\\Cache component", + "zendframework/zend-db": "Zend\\Db component", "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" }, "extra": { "branch-alias": { - "dev-master": "2.2-dev", - "dev-develop": "2.3-dev" + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" } } } diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php index 2bebaf8dd93bf2cd514da75164c7dec3e1d62ae4..b4d9eb79d7c7e75412743401d2f92941c8e0abb3 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject.php @@ -9,26 +9,424 @@ namespace Zend\Stdlib; -/** - * If the version is less than 5.3.4, we'll use Zend\Stdlib\ArrayObject\PhpLegacyCompatibility - * which extends the native PHP ArrayObject implementation. For versions greater than or equal - * to 5.3.4, we'll use Zend\Stdlib\ArrayObject\PhpReferenceCompatibility, which corrects - * issues with how PHP handles references inside ArrayObject. - * - * class_alias is a global construct, so we can alias either one to Zend\Stdlib\ArrayObject, - * and from this point forward, that alias will be used. - */ -if (version_compare(PHP_VERSION, '5.3.4', 'lt')) { - class_alias('Zend\Stdlib\ArrayObject\PhpLegacyCompatibility', 'Zend\Stdlib\AbstractArrayObject'); -} else { - class_alias('Zend\Stdlib\ArrayObject\PhpReferenceCompatibility', 'Zend\Stdlib\AbstractArrayObject'); -} +use ArrayAccess; +use Countable; +use IteratorAggregate; +use Serializable; /** * Custom framework ArrayObject implementation * * Extends version-specific "abstract" implementation. */ -class ArrayObject extends AbstractArrayObject +class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Countable { + /** + * Properties of the object have their normal functionality + * when accessed as list (var_dump, foreach, etc.). + */ + const STD_PROP_LIST = 1; + + /** + * Entries can be accessed as properties (read and write). + */ + const ARRAY_AS_PROPS = 2; + + /** + * @var array + */ + protected $storage; + + /** + * @var int + */ + protected $flag; + + /** + * @var string + */ + protected $iteratorClass; + + /** + * @var array + */ + protected $protectedProperties; + + /** + * Constructor + * + * @param array $input + * @param int $flags + * @param string $iteratorClass + */ + public function __construct($input = array(), $flags = self::STD_PROP_LIST, $iteratorClass = 'ArrayIterator') + { + $this->setFlags($flags); + $this->storage = $input; + $this->setIteratorClass($iteratorClass); + $this->protectedProperties = array_keys(get_object_vars($this)); + } + + /** + * Returns whether the requested key exists + * + * @param mixed $key + * @return bool + */ + public function __isset($key) + { + if ($this->flag == self::ARRAY_AS_PROPS) { + return $this->offsetExists($key); + } + if (in_array($key, $this->protectedProperties)) { + throw new Exception\InvalidArgumentException('$key is a protected property, use a different key'); + } + + return isset($this->$key); + } + + /** + * Sets the value at the specified key to value + * + * @param mixed $key + * @param mixed $value + * @return void + */ + public function __set($key, $value) + { + if ($this->flag == self::ARRAY_AS_PROPS) { + return $this->offsetSet($key, $value); + } + if (in_array($key, $this->protectedProperties)) { + throw new Exception\InvalidArgumentException('$key is a protected property, use a different key'); + } + $this->$key = $value; + } + + /** + * Unsets the value at the specified key + * + * @param mixed $key + * @return void + */ + public function __unset($key) + { + if ($this->flag == self::ARRAY_AS_PROPS) { + return $this->offsetUnset($key); + } + if (in_array($key, $this->protectedProperties)) { + throw new Exception\InvalidArgumentException('$key is a protected property, use a different key'); + } + unset($this->$key); + } + + /** + * Returns the value at the specified key by reference + * + * @param mixed $key + * @return mixed + */ + public function &__get($key) + { + $ret = null; + if ($this->flag == self::ARRAY_AS_PROPS) { + $ret =& $this->offsetGet($key); + + return $ret; + } + if (in_array($key, $this->protectedProperties)) { + throw new Exception\InvalidArgumentException('$key is a protected property, use a different key'); + } + + return $this->$key; + } + + /** + * Appends the value + * + * @param mixed $value + * @return void + */ + public function append($value) + { + $this->storage[] = $value; + } + + /** + * Sort the entries by value + * + * @return void + */ + public function asort() + { + asort($this->storage); + } + + /** + * Get the number of public properties in the ArrayObject + * + * @return int + */ + public function count() + { + return count($this->storage); + } + + /** + * Exchange the array for another one. + * + * @param array|ArrayObject $data + * @return array + */ + public function exchangeArray($data) + { + if (!is_array($data) && !is_object($data)) { + throw new Exception\InvalidArgumentException('Passed variable is not an array or object, using empty array instead'); + } + + if (is_object($data) && ($data instanceof self || $data instanceof \ArrayObject)) { + $data = $data->getArrayCopy(); + } + if (!is_array($data)) { + $data = (array) $data; + } + + $storage = $this->storage; + + $this->storage = $data; + + return $storage; + } + + /** + * Creates a copy of the ArrayObject. + * + * @return array + */ + public function getArrayCopy() + { + return $this->storage; + } + + /** + * Gets the behavior flags. + * + * @return int + */ + public function getFlags() + { + return $this->flag; + } + + /** + * Create a new iterator from an ArrayObject instance + * + * @return \Iterator + */ + public function getIterator() + { + $class = $this->iteratorClass; + + return new $class($this->storage); + } + + /** + * Gets the iterator classname for the ArrayObject. + * + * @return string + */ + public function getIteratorClass() + { + return $this->iteratorClass; + } + + /** + * Sort the entries by key + * + * @return void + */ + public function ksort() + { + ksort($this->storage); + } + + /** + * Sort an array using a case insensitive "natural order" algorithm + * + * @return void + */ + public function natcasesort() + { + natcasesort($this->storage); + } + + /** + * Sort entries using a "natural order" algorithm + * + * @return void + */ + public function natsort() + { + natsort($this->storage); + } + + /** + * Returns whether the requested key exists + * + * @param mixed $key + * @return bool + */ + public function offsetExists($key) + { + return isset($this->storage[$key]); + } + + /** + * Returns the value at the specified key + * + * @param mixed $key + * @return mixed + */ + public function &offsetGet($key) + { + $ret = null; + if (!$this->offsetExists($key)) { + return $ret; + } + $ret =& $this->storage[$key]; + + return $ret; + } + + /** + * Sets the value at the specified key to value + * + * @param mixed $key + * @param mixed $value + * @return void + */ + public function offsetSet($key, $value) + { + $this->storage[$key] = $value; + } + + /** + * Unsets the value at the specified key + * + * @param mixed $key + * @return void + */ + public function offsetUnset($key) + { + if ($this->offsetExists($key)) { + unset($this->storage[$key]); + } + } + + /** + * Serialize an ArrayObject + * + * @return string + */ + public function serialize() + { + return serialize(get_object_vars($this)); + } + + /** + * Sets the behavior flags + * + * @param int $flags + * @return void + */ + public function setFlags($flags) + { + $this->flag = $flags; + } + + /** + * Sets the iterator classname for the ArrayObject + * + * @param string $class + * @return void + */ + public function setIteratorClass($class) + { + if (class_exists($class)) { + $this->iteratorClass = $class; + + return ; + } + + if (strpos($class, '\\') === 0) { + $class = '\\' . $class; + if (class_exists($class)) { + $this->iteratorClass = $class; + + return ; + } + } + + throw new Exception\InvalidArgumentException('The iterator class does not exist'); + } + + /** + * Sort the entries with a user-defined comparison function and maintain key association + * + * @param callable $function + * @return void + */ + public function uasort($function) + { + if (is_callable($function)) { + uasort($this->storage, $function); + } + } + + /** + * Sort the entries by keys using a user-defined comparison function + * + * @param callable $function + * @return void + */ + public function uksort($function) + { + if (is_callable($function)) { + uksort($this->storage, $function); + } + } + + /** + * Unserialize an ArrayObject + * + * @param string $data + * @return void + */ + public function unserialize($data) + { + $ar = unserialize($data); + $this->protectedProperties = array_keys(get_object_vars($this)); + + $this->setFlags($ar['flag']); + $this->exchangeArray($ar['storage']); + $this->setIteratorClass($ar['iteratorClass']); + + foreach ($ar as $k => $v) { + switch ($k) { + case 'flag': + $this->setFlags($v); + break; + case 'storage': + $this->exchangeArray($v); + break; + case 'iteratorClass': + $this->setIteratorClass($v); + break; + case 'protectedProperties': + continue; + default: + $this->__set($k, $v); + } + } + } } diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject/PhpLegacyCompatibility.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject/PhpLegacyCompatibility.php deleted file mode 100644 index b34f21cb74c51c6f355d1771c6e9fe761d44fdc4..0000000000000000000000000000000000000000 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject/PhpLegacyCompatibility.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php -/** - * Zend Framework (http://framework.zend.com/) - * - * @link http://github.com/zendframework/zf2 for the canonical source repository - * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ - -namespace Zend\Stdlib\ArrayObject; - -use ArrayObject as PhpArrayObject; - -/** - * ArrayObject - * - * Since we need to substitute an alternate ArrayObject implementation for - * versions > 5.3.3, we need to provide a stub for 5.3.3. This stub - * simply extends the PHP ArrayObject implementation, and provides default - * behavior in the constructor. - */ -abstract class PhpLegacyCompatibility extends PhpArrayObject -{ - /** - * Constructor - * - * @param array $input - * @param int $flags - * @param string $iteratorClass - */ - public function __construct($input = array(), $flags = self::STD_PROP_LIST, $iteratorClass = 'ArrayIterator') - { - parent::__construct($input, $flags, $iteratorClass); - } -} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject/PhpReferenceCompatibility.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject/PhpReferenceCompatibility.php deleted file mode 100644 index a6d7b9abba447db93776fbcc68e10e8fc87073f5..0000000000000000000000000000000000000000 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayObject/PhpReferenceCompatibility.php +++ /dev/null @@ -1,433 +0,0 @@ -<?php -/** - * Zend Framework (http://framework.zend.com/) - * - * @link http://github.com/zendframework/zf2 for the canonical source repository - * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) - * @license http://framework.zend.com/license/new-bsd New BSD License - */ - -namespace Zend\Stdlib\ArrayObject; - -use ArrayAccess; -use Countable; -use IteratorAggregate; -use Serializable; -use Zend\Stdlib\Exception; - -/** - * ArrayObject - * - * This ArrayObject is a rewrite of the implementation to fix - * issues with php's implementation of ArrayObject where you - * are unable to unset multi-dimensional arrays because you - * need to fetch the properties / lists as references. - */ -abstract class PhpReferenceCompatibility implements IteratorAggregate, ArrayAccess, Serializable, Countable -{ - /** - * Properties of the object have their normal functionality - * when accessed as list (var_dump, foreach, etc.). - */ - const STD_PROP_LIST = 1; - - /** - * Entries can be accessed as properties (read and write). - */ - const ARRAY_AS_PROPS = 2; - - /** - * @var array - */ - protected $storage; - - /** - * @var int - */ - protected $flag; - - /** - * @var string - */ - protected $iteratorClass; - - /** - * @var array - */ - protected $protectedProperties; - - /** - * Constructor - * - * @param array $input - * @param int $flags - * @param string $iteratorClass - */ - public function __construct($input = array(), $flags = self::STD_PROP_LIST, $iteratorClass = 'ArrayIterator') - { - $this->setFlags($flags); - $this->storage = $input; - $this->setIteratorClass($iteratorClass); - $this->protectedProperties = array_keys(get_object_vars($this)); - } - - /** - * Returns whether the requested key exists - * - * @param mixed $key - * @return bool - */ - public function __isset($key) - { - if ($this->flag == self::ARRAY_AS_PROPS) { - return $this->offsetExists($key); - } - if (in_array($key, $this->protectedProperties)) { - throw new Exception\InvalidArgumentException('$key is a protected property, use a different key'); - } - - return isset($this->$key); - } - - /** - * Sets the value at the specified key to value - * - * @param mixed $key - * @param mixed $value - * @return void - */ - public function __set($key, $value) - { - if ($this->flag == self::ARRAY_AS_PROPS) { - return $this->offsetSet($key, $value); - } - if (in_array($key, $this->protectedProperties)) { - throw new Exception\InvalidArgumentException('$key is a protected property, use a different key'); - } - $this->$key = $value; - } - - /** - * Unsets the value at the specified key - * - * @param mixed $key - * @return void - */ - public function __unset($key) - { - if ($this->flag == self::ARRAY_AS_PROPS) { - return $this->offsetUnset($key); - } - if (in_array($key, $this->protectedProperties)) { - throw new Exception\InvalidArgumentException('$key is a protected property, use a different key'); - } - unset($this->$key); - } - - /** - * Returns the value at the specified key by reference - * - * @param mixed $key - * @return mixed - */ - public function &__get($key) - { - $ret = null; - if ($this->flag == self::ARRAY_AS_PROPS) { - $ret =& $this->offsetGet($key); - - return $ret; - } - if (in_array($key, $this->protectedProperties)) { - throw new Exception\InvalidArgumentException('$key is a protected property, use a different key'); - } - - return $this->$key; - } - - /** - * Appends the value - * - * @param mixed $value - * @return void - */ - public function append($value) - { - $this->storage[] = $value; - } - - /** - * Sort the entries by value - * - * @return void - */ - public function asort() - { - asort($this->storage); - } - - /** - * Get the number of public properties in the ArrayObject - * - * @return int - */ - public function count() - { - return count($this->storage); - } - - /** - * Exchange the array for another one. - * - * @param array|ArrayObject $data - * @return array - */ - public function exchangeArray($data) - { - if (!is_array($data) && !is_object($data)) { - throw new Exception\InvalidArgumentException('Passed variable is not an array or object, using empty array instead'); - } - - if (is_object($data) && ($data instanceof self || $data instanceof \ArrayObject)) { - $data = $data->getArrayCopy(); - } - if (!is_array($data)) { - $data = (array) $data; - } - - $storage = $this->storage; - - $this->storage = $data; - - return $storage; - } - - /** - * Creates a copy of the ArrayObject. - * - * @return array - */ - public function getArrayCopy() - { - return $this->storage; - } - - /** - * Gets the behavior flags. - * - * @return int - */ - public function getFlags() - { - return $this->flag; - } - - /** - * Create a new iterator from an ArrayObject instance - * - * @return \Iterator - */ - public function getIterator() - { - $class = $this->iteratorClass; - - return new $class($this->storage); - } - - /** - * Gets the iterator classname for the ArrayObject. - * - * @return string - */ - public function getIteratorClass() - { - return $this->iteratorClass; - } - - /** - * Sort the entries by key - * - * @return void - */ - public function ksort() - { - ksort($this->storage); - } - - /** - * Sort an array using a case insensitive "natural order" algorithm - * - * @return void - */ - public function natcasesort() - { - natcasesort($this->storage); - } - - /** - * Sort entries using a "natural order" algorithm - * - * @return void - */ - public function natsort() - { - natsort($this->storage); - } - - /** - * Returns whether the requested key exists - * - * @param mixed $key - * @return bool - */ - public function offsetExists($key) - { - return isset($this->storage[$key]); - } - - /** - * Returns the value at the specified key - * - * @param mixed $key - * @return mixed - */ - public function &offsetGet($key) - { - $ret = null; - if (!$this->offsetExists($key)) { - return $ret; - } - $ret =& $this->storage[$key]; - - return $ret; - } - - /** - * Sets the value at the specified key to value - * - * @param mixed $key - * @param mixed $value - * @return void - */ - public function offsetSet($key, $value) - { - $this->storage[$key] = $value; - } - - /** - * Unsets the value at the specified key - * - * @param mixed $key - * @return void - */ - public function offsetUnset($key) - { - if ($this->offsetExists($key)) { - unset($this->storage[$key]); - } - } - - /** - * Serialize an ArrayObject - * - * @return string - */ - public function serialize() - { - return serialize(get_object_vars($this)); - } - - /** - * Sets the behavior flags - * - * @param int $flags - * @return void - */ - public function setFlags($flags) - { - $this->flag = $flags; - } - - /** - * Sets the iterator classname for the ArrayObject - * - * @param string $class - * @return void - */ - public function setIteratorClass($class) - { - if (class_exists($class)) { - $this->iteratorClass = $class; - - return ; - } - - if (strpos($class, '\\') === 0) { - $class = '\\' . $class; - if (class_exists($class)) { - $this->iteratorClass = $class; - - return ; - } - } - - throw new Exception\InvalidArgumentException('The iterator class does not exist'); - } - - /** - * Sort the entries with a user-defined comparison function and maintain key association - * - * @param callable $function - * @return void - */ - public function uasort($function) - { - if (is_callable($function)) { - uasort($this->storage, $function); - } - } - - /** - * Sort the entries by keys using a user-defined comparison function - * - * @param callable $function - * @return void - */ - public function uksort($function) - { - if (is_callable($function)) { - uksort($this->storage, $function); - } - } - - /** - * Unserialize an ArrayObject - * - * @param string $data - * @return void - */ - public function unserialize($data) - { - $ar = unserialize($data); - $this->setFlags($ar['flag']); - $this->exchangeArray($ar['storage']); - $this->setIteratorClass($ar['iteratorClass']); - foreach ($ar as $k => $v) { - switch ($k) { - case 'flag': - $this->setFlags($v); - break; - case 'storage': - $this->exchangeArray($v); - break; - case 'iteratorClass': - $this->setIteratorClass($v); - break; - case 'protectedProperties': - continue; - default: - $this->__set($k, $v); - } - } - } -} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayUtils.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayUtils.php index 1518e22e809139cbaba90c4b2d578d53e6f4cce2..8da7a9cdb8e9aad293989198746036c9e55595fe 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayUtils.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ArrayUtils.php @@ -245,23 +245,23 @@ public static function iteratorToArray($iterator, $recursive = true) /** * Merge two arrays together. * - * If an integer key exists in both arrays, the value from the second array - * will be appended the the first array. If both values are arrays, they - * are merged together, else the value of the second array overwrites the - * one of the first array. + * If an integer key exists in both arrays and preserveNumericKeys is false, the value + * from the second array will be appended to the first array. If both values are arrays, they + * are merged together, else the value of the second array overwrites the one of the first array. * * @param array $a * @param array $b + * @param bool $preserveNumericKeys * @return array */ - public static function merge(array $a, array $b) + public static function merge(array $a, array $b, $preserveNumericKeys = false) { foreach ($b as $key => $value) { if (array_key_exists($key, $a)) { - if (is_int($key)) { + if (is_int($key) && !$preserveNumericKeys) { $a[] = $value; } elseif (is_array($value) && is_array($a[$key])) { - $a[$key] = static::merge($a[$key], $value); + $a[$key] = static::merge($a[$key], $value, $preserveNumericKeys); } else { $a[$key] = $value; } diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/CONTRIBUTING.md b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/CONTRIBUTING.md new file mode 100644 index 0000000000000000000000000000000000000000..e77f5d2d5b37809160135bc2c6b6a51b6637d794 --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/CONTRIBUTING.md @@ -0,0 +1,3 @@ +# CONTRIBUTING + +Please don't open pull requests against this repository, please use https://github.com/zendframework/zf2. \ No newline at end of file diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/CallbackHandler.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/CallbackHandler.php index 303558adfe2208466e10bff12631e62841105fba..fd74974ed73dfee6a658d42b18c601c7066c1612 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/CallbackHandler.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/CallbackHandler.php @@ -14,7 +14,7 @@ /** * CallbackHandler * - * A handler for a event, event, filterchain, etc. Abstracts PHP callbacks, + * A handler for an event, event, filterchain, etc. Abstracts PHP callbacks, * primarily to allow for lazy-loading and ensuring availability of default * arguments (currying). */ diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ErrorHandler.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ErrorHandler.php index 6a63ee22fc178ac90f1cefd56ca613dd1c585a51..d3255843c609764e82a13bf17bf66e48b4df6383 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ErrorHandler.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/ErrorHandler.php @@ -13,7 +13,7 @@ /** * ErrorHandler that can be used to catch internal PHP errors - * and convert to a ErrorException instance. + * and convert to an ErrorException instance. */ abstract class ErrorHandler { diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Extractor/ExtractionInterface.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Extractor/ExtractionInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..8913b099685bea87a507d98f6c272595be5e9f75 --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Extractor/ExtractionInterface.php @@ -0,0 +1,21 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\Extractor; + +interface ExtractionInterface +{ + /** + * Extract values from an object + * + * @param object $object + * @return array + */ + public function extract($object); +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/AllGuardsTrait.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/AllGuardsTrait.php new file mode 100644 index 0000000000000000000000000000000000000000..60b341288a857afd7a7baf4064b5b809608d029e --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/AllGuardsTrait.php @@ -0,0 +1,20 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\Guard; + +/** + * An aggregate for all guard traits + */ +trait AllGuardsTrait +{ + use ArrayOrTraversableGuardTrait; + use EmptyGuardTrait; + use NullGuardTrait; +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/ArrayOrTraversableGuardTrait.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/ArrayOrTraversableGuardTrait.php new file mode 100644 index 0000000000000000000000000000000000000000..84e846ea3db50b786cdda48f845e9dda456418c9 --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/ArrayOrTraversableGuardTrait.php @@ -0,0 +1,41 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\Guard; + +use Traversable; + +/** + * Provide a guard method for array or Traversable data + */ +trait ArrayOrTraversableGuardTrait +{ + /** + * Verifies that the data is an array or Traversable + * + * @param mixed $data the data to verify + * @param string $dataName the data name + * @param string $exceptionClass FQCN for the exception + * @throws \Exception + */ + protected function guardForArrayOrTraversable( + $data, + $dataName = 'Argument', + $exceptionClass = 'Zend\Stdlib\Exception\InvalidArgumentException' + ) { + if (!is_array($data) && !($data instanceof Traversable)) { + $message = sprintf( + "%s must be an array or Traversable, [%s] given", + $dataName, + is_object($data) ? get_class($data) : gettype($data) + ); + throw new $exceptionClass($message); + } + } +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/EmptyGuardTrait.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/EmptyGuardTrait.php new file mode 100644 index 0000000000000000000000000000000000000000..72f5b3459e0da8f23489dfb9726bcf9426a82a99 --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/EmptyGuardTrait.php @@ -0,0 +1,35 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\Guard; + +/** + * Provide a guard method against empty data + */ +trait EmptyGuardTrait +{ + /** + * Verify that the data is not empty + * + * @param mixed $data the data to verify + * @param string $dataName the data name + * @param string $exceptionClass FQCN for the exception + * @throws \Exception + */ + protected function guardAgainstEmpty( + $data, + $dataName = 'Argument', + $exceptionClass = 'Zend\Stdlib\Exception\InvalidArgumentException' + ) { + if (empty($data)) { + $message = sprintf('%s cannot be empty', $dataName); + throw new $exceptionClass($message); + } + } +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/GuardUtils.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/GuardUtils.php new file mode 100644 index 0000000000000000000000000000000000000000..31c44641023a071a9db1f3423ca08f1fd805dcc0 --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/GuardUtils.php @@ -0,0 +1,85 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\Guard; + +use Traversable; + +/** + * Static guard helper class + * + * Bridges the gap for allowing refactoring until traits can be used by default. + * + * @deprecated + */ +abstract class GuardUtils +{ + const DEFAULT_EXCEPTION_CLASS = 'Zend\Stdlib\Exception\InvalidArgumentException'; + + /** + * Verifies that the data is an array or Traversable + * + * @param mixed $data the data to verify + * @param string $dataName the data name + * @param string $exceptionClass FQCN for the exception + * @throws \Exception + */ + public static function guardForArrayOrTraversable( + $data, + $dataName = 'Argument', + $exceptionClass = self::DEFAULT_EXCEPTION_CLASS + ) { + if (!is_array($data) && !($data instanceof Traversable)) { + $message = sprintf( + '%s must be an array or Traversable, [%s] given', + $dataName, + is_object($data) ? get_class($data) : gettype($data) + ); + throw new $exceptionClass($message); + } + } + + /** + * Verify that the data is not empty + * + * @param mixed $data the data to verify + * @param string $dataName the data name + * @param string $exceptionClass FQCN for the exception + * @throws \Exception + */ + public static function guardAgainstEmpty( + $data, + $dataName = 'Argument', + $exceptionClass = self::DEFAULT_EXCEPTION_CLASS + ) { + if (empty($data)) { + $message = sprintf('%s cannot be empty', $dataName); + throw new $exceptionClass($message); + } + } + + /** + * Verify that the data is not null + * + * @param mixed $data the data to verify + * @param string $dataName the data name + * @param string $exceptionClass FQCN for the exception + * @throws \Exception + */ + public static function guardAgainstNull( + $data, + $dataName = 'Argument', + $exceptionClass = self::DEFAULT_EXCEPTION_CLASS + ) { + if (null === $data) { + $message = sprintf('%s cannot be null', $dataName); + throw new $exceptionClass($message); + } + } +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/NullGuardTrait.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/NullGuardTrait.php new file mode 100644 index 0000000000000000000000000000000000000000..e7aadb150b2ee255b5fe305cdc0d893e05bc96f8 --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Guard/NullGuardTrait.php @@ -0,0 +1,35 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\Guard; + +/** + * Provide a guard method against null data + */ +trait NullGuardTrait +{ + /** + * Verify that the data is not null + * + * @param mixed $data the data to verify + * @param string $dataName the data name + * @param string $exceptionClass FQCN for the exception + * @throws \Exception + */ + protected function guardAgainstNull( + $data, + $dataName = 'Argument', + $exceptionClass = 'Zend\Stdlib\Exception\InvalidArgumentException' + ) { + if (null === $data) { + $message = sprintf('%s cannot be null', $dataName); + throw new $exceptionClass($message); + } + } +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/AbstractHydrator.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/AbstractHydrator.php index 6397a86a017dced81a8b4250d98ad2dc0d91cd59..fc07ae4daa914c0472b78afee6b5e401d8adbbfa 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/AbstractHydrator.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/AbstractHydrator.php @@ -12,9 +12,14 @@ use ArrayObject; use Zend\Stdlib\Exception; use Zend\Stdlib\Hydrator\Filter\FilterComposite; +use Zend\Stdlib\Hydrator\NamingStrategy\NamingStrategyInterface; use Zend\Stdlib\Hydrator\Strategy\StrategyInterface; -abstract class AbstractHydrator implements HydratorInterface, StrategyEnabledInterface +abstract class AbstractHydrator implements + HydratorInterface, + StrategyEnabledInterface, + FilterEnabledInterface, + NamingStrategyEnabledInterface { /** * The list with strategies that this hydrator has. @@ -23,8 +28,16 @@ abstract class AbstractHydrator implements HydratorInterface, StrategyEnabledInt */ protected $strategies; + /** + * An instance of NamingStrategyInterface + * + * @var NamingStrategyInterface + */ + protected $namingStrategy; + /** * Composite to filter the methods, that need to be hydrated + * * @var Filter\FilterComposite */ protected $filterComposite; @@ -42,6 +55,8 @@ public function __construct() * Gets the strategy with the given name. * * @param string $name The name of the strategy to get. + * + * @throws \Zend\Stdlib\Exception\InvalidArgumentException * @return StrategyInterface */ public function getStrategy($name) @@ -103,7 +118,7 @@ public function removeStrategy($name) * * @param string $name The name of the strategy to use. * @param mixed $value The value that should be converted. - * @param array $object The object is optionally provided as context. + * @param mixed $object The object is optionally provided as context. * @return mixed */ public function extractValue($name, $value, $object = null) @@ -132,6 +147,36 @@ public function hydrateValue($name, $value, $data = null) return $value; } + /** + * Convert a name for extraction. If no naming strategy exists, the plain value is returned. + * + * @param string $name The name to convert. + * @param null $object The object is optionally provided as context. + * @return mixed + */ + public function extractName($name, $object = null) + { + if ($this->hasNamingStrategy()) { + $name = $this->getNamingStrategy()->extract($name, $object); + } + return $name; + } + + /** + * Converts a value for hydration. If no naming strategy exists, the plain value is returned. + * + * @param string $name The name to convert. + * @param array $data The whole data is optionally provided as context. + * @return mixed + */ + public function hydrateName($name, $data = null) + { + if ($this->hasNamingStrategy()) { + $name = $this->getNamingStrategy()->hydrate($name, $data); + } + return $name; + } + /** * Get the filter instance * @@ -194,4 +239,49 @@ public function removeFilter($name) { return $this->filterComposite->removeFilter($name); } + + /** + * Adds the given naming strategy + * + * @param NamingStrategyInterface $strategy The naming to register. + * @return self + */ + public function setNamingStrategy(NamingStrategyInterface $strategy) + { + $this->namingStrategy = $strategy; + + return $this; + } + + /** + * Gets the naming strategy. + * + * @return NamingStrategyInterface + */ + public function getNamingStrategy() + { + return $this->namingStrategy; + } + + /** + * Checks if a naming strategy exists. + * + * @return bool + */ + public function hasNamingStrategy() + { + return isset($this->namingStrategy); + } + + /** + * Removes the naming strategy + * + * @return self + */ + public function removeNamingStrategy() + { + $this->namingStrategy = null; + + return $this; + } } diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/ArraySerializable.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/ArraySerializable.php index 6331af0087fcff7a88144e112b5f276ddb864c7c..7a3581107d3e21dca78a7873087787bcb6e6f756 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/ArraySerializable.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/ArraySerializable.php @@ -32,14 +32,20 @@ public function extract($object) } $data = $object->getArrayCopy(); + $filter = $this->getFilter(); foreach ($data as $name => $value) { - if (!$this->getFilter()->filter($name)) { + if (!$filter->filter($name)) { unset($data[$name]); continue; } - - $data[$name] = $this->extractValue($name, $value); + $extractedName = $this->extractName($name, $object); + // replace the original key with extracted, if differ + if ($extractedName !== $name) { + unset($data[$name]); + $name = $extractedName; + } + $data[$name] = $this->extractValue($name, $value, $object); } return $data; @@ -58,15 +64,16 @@ public function extract($object) */ public function hydrate(array $data, $object) { - $self = $this; - array_walk($data, function (&$value, $name) use ($self) { - $value = $self->hydrateValue($name, $value); - }); + $replacement = array(); + foreach ($data as $key => $value) { + $name = $this->hydrateName($key, $data); + $replacement[$name] = $this->hydrateValue($name, $value, $data); + } if (is_callable(array($object, 'exchangeArray'))) { - $object->exchangeArray($data); + $object->exchangeArray($replacement); } elseif (is_callable(array($object, 'populate'))) { - $object->populate($data); + $object->populate($replacement); } else { throw new Exception\BadMethodCallException(sprintf( '%s expects the provided object to implement exchangeArray() or populate()', __METHOD__ diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/ClassMethods.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/ClassMethods.php index ec3fc6ffb9fdcc72ff6844eb21bdad006f030bf9..7ea4a248b95ed95cd043c74a7aa8b3e8ebdb0600 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/ClassMethods.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/ClassMethods.php @@ -19,6 +19,7 @@ use Zend\Stdlib\Hydrator\Filter\IsFilter; use Zend\Stdlib\Hydrator\Filter\MethodMatchFilter; use Zend\Stdlib\Hydrator\Filter\OptionalParametersFilter; +use Zend\Stdlib\Hydrator\NamingStrategy\UnderscoreNamingStrategy; class ClassMethods extends AbstractHydrator implements HydratorOptionsInterface { @@ -77,7 +78,13 @@ public function setOptions($options) */ public function setUnderscoreSeparatedKeys($underscoreSeparatedKeys) { - $this->underscoreSeparatedKeys = $underscoreSeparatedKeys; + $this->underscoreSeparatedKeys = (bool) $underscoreSeparatedKeys; + + if ($this->underscoreSeparatedKeys) { + $this->setNamingStrategy(new UnderscoreNamingStrategy); + } elseif ($this->getNamingStrategy() instanceof UnderscoreNamingStrategy) { + $this->removeNamingStrategy(); + } return $this; } @@ -117,11 +124,6 @@ public function extract($object) $filter = $this->filterComposite; } - $transform = function ($letters) { - $letter = array_shift($letters); - - return '_' . strtolower($letter); - }; $attributes = array(); $methods = get_class_methods($object); @@ -146,9 +148,7 @@ public function extract($object) } } - if ($this->underscoreSeparatedKeys) { - $attribute = preg_replace_callback('/([A-Z])/', $transform, $attribute); - } + $attribute = $this->extractName($attribute, $object); $attributes[$attribute] = $this->extractValue($attribute, $object->$method(), $object); } @@ -173,17 +173,8 @@ public function hydrate(array $data, $object) )); } - $transform = function ($letters) { - $letter = substr(array_shift($letters), 1, 1); - - return ucfirst($letter); - }; - foreach ($data as $property => $value) { - $method = 'set' . ucfirst($property); - if ($this->underscoreSeparatedKeys) { - $method = preg_replace_callback('/(_[a-z])/i', $transform, $method); - } + $method = 'set' . ucfirst($this->hydrateName($property, $data)); if (is_callable(array($object, $method))) { $value = $this->hydrateValue($property, $value, $data); $object->$method($value); diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Filter/NumberOfParameterFilter.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Filter/NumberOfParameterFilter.php index 25ed587dbd988690ad7d2755fd5250f36f11212e..3d153e3adb90830d75509661a060a4a22e423d61 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Filter/NumberOfParameterFilter.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Filter/NumberOfParameterFilter.php @@ -26,7 +26,7 @@ class NumberOfParameterFilter implements FilterInterface */ public function __construct($numberOfParameters = 0) { - $this->numberOfParameters = 0; + $this->numberOfParameters = (int) $numberOfParameters; } /** @@ -44,10 +44,6 @@ public function filter($property) ); } - if ($reflectionMethod->getNumberOfParameters() !== $this->numberOfParameters) { - return false; - } - - return true; + return $reflectionMethod->getNumberOfParameters() === $this->numberOfParameters; } } diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Filter/OptionalParametersFilter.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Filter/OptionalParametersFilter.php index b78a21b1d25f2b46117dc2f8496f2353f439a4a8..46401590506c5622b1a81a921960541ae3a6bc80 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Filter/OptionalParametersFilter.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Filter/OptionalParametersFilter.php @@ -25,7 +25,7 @@ class OptionalParametersFilter implements FilterInterface * * @var bool[] */ - private static $propertiesCache = array(); + protected static $propertiesCache = array(); /** * {@inheritDoc} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/FilterEnabledInterface.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/FilterEnabledInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..04505bb2cb8c72a242fb092b057a732c5517997f --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/FilterEnabledInterface.php @@ -0,0 +1,63 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\Hydrator; + +use Zend\Stdlib\Hydrator\Filter\FilterInterface; +use Zend\Stdlib\Hydrator\Filter\FilterComposite; +use Zend\Stdlib\Hydrator\Filter\FilterProviderInterface; + +interface FilterEnabledInterface extends FilterProviderInterface +{ + /** + * Add a new filter to take care of what needs to be hydrated. + * To exclude e.g. the method getServiceLocator: + * + * <code> + * $composite->addFilter( + * "servicelocator", + * function ($property) { + * list($class, $method) = explode('::', $property); + * if ($method === 'getServiceLocator') { + * return false; + * } + * return true; + * }, + * FilterComposite::CONDITION_AND + * ); + * </code> + * + * @param string $name Index in the composite + * @param callable|FilterInterface $filter + * @param int $condition + * @return FilterComposite + */ + public function addFilter($name, $filter, $condition = FilterComposite::CONDITION_OR); + + /** + * Check whether a specific filter exists at key $name or not + * + * @param string $name Index in the composite + * @return bool + */ + public function hasFilter($name); + + /** + * Remove a filter from the composition. + * To not extract "has" methods, you simply need to unregister it + * + * <code> + * $filterComposite->removeFilter('has'); + * </code> + * + * @param $name + * @return FilterComposite + */ + public function removeFilter($name); +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/HydrationInterface.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/HydrationInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..340a7663b9f52f1084274b0fcf97e6e488f2e6e6 --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/HydrationInterface.php @@ -0,0 +1,22 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\Hydrator; + +interface HydrationInterface +{ + /** + * Hydrate $object with the provided $data. + * + * @param array $data + * @param object $object + * @return object + */ + public function hydrate(array $data, $object); +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/HydratorAwareTrait.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/HydratorAwareTrait.php new file mode 100644 index 0000000000000000000000000000000000000000..94df73070c2c6302ce7766cec9f6eeeef5832a9c --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/HydratorAwareTrait.php @@ -0,0 +1,47 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\Hydrator; + +trait HydratorAwareTrait +{ + /** + * Hydrator instance + * + * @var HydratorInterface + * @access protected + */ + protected $hydrator = null; + + /** + * Set hydrator + * + * @param HydratorInterface $hydrator + * @return self + * @access public + */ + public function setHydrator(HydratorInterface $hydrator) + { + $this->hydrator = $hydrator; + + return $this; + } + + /** + * Retrieve hydrator + * + * @param void + * @return null|HydratorInterface + * @access public + */ + public function getHydrator() + { + return $this->hydrator; + } +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/HydratorInterface.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/HydratorInterface.php index 7d65bb085104fafe585a11713bffb100881bcae7..8596143dab52b0a4121fd2b1a8876c48fff7c034 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/HydratorInterface.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/HydratorInterface.php @@ -9,22 +9,9 @@ namespace Zend\Stdlib\Hydrator; -interface HydratorInterface +use Zend\Stdlib\Extractor\ExtractionInterface; + +interface HydratorInterface extends HydrationInterface, ExtractionInterface { - /** - * Extract values from an object - * - * @param object $object - * @return array - */ - public function extract($object); - /** - * Hydrate $object with the provided $data. - * - * @param array $data - * @param object $object - * @return object - */ - public function hydrate(array $data, $object); } diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/NamingStrategy/NamingStrategyInterface.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/NamingStrategy/NamingStrategyInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..dacca1197c5a413cf3271e8f8665ab2d59a09a11 --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/NamingStrategy/NamingStrategyInterface.php @@ -0,0 +1,37 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\Hydrator\NamingStrategy; + +/** + * Allow property extraction / hydration for hydrator + * + * Interface PropertyStrategyInterface + * @package Zend\Stdlib\Hydrator\NamingStrategy + */ +interface NamingStrategyInterface +{ + /** + * Converts the given name so that it can be extracted by the hydrator. + * + * @param string $name The original name + * @param object $object (optional) The original object for context. + * @return mixed The hydrated name + */ + public function hydrate($name); + + /** + * Converts the given name so that it can be hydrated by the hydrator. + * + * @param string $name The original name + * @param array $data (optional) The original data for context. + * @return mixed The extracted name + */ + public function extract($name); +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php new file mode 100644 index 0000000000000000000000000000000000000000..c6eceb5316a21f1ecc5ee9bb6e6c6a34a7d25c4a --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php @@ -0,0 +1,72 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\Hydrator\NamingStrategy; + +use Zend\Filter\FilterChain; + +class UnderscoreNamingStrategy implements NamingStrategyInterface +{ + protected static $camelCaseToUnderscoreFilter; + + protected static $underscoreToCamelCaseFilter; + + /** + * Remove underscores and capitalize letters + * + * @param string $name + * @return string + */ + public function hydrate($name) + { + return lcfirst($this->getUnderscoreToCamelCaseFilter()->filter($name)); + } + + /** + * Remove capitalized letters and prepend underscores. + * + * @param string $name + * @return string + */ + public function extract($name) + { + return $this->getCamelCaseToUnderscoreFilter()->filter($name); + } + + /** + * @return FilterChain + */ + protected function getUnderscoreToCamelCaseFilter() + { + if (static::$underscoreToCamelCaseFilter instanceof FilterChain) { + return static::$underscoreToCamelCaseFilter; + } + + $filter = new FilterChain(); + $filter->attachByName('WordUnderscoreToCamelCase'); + static::$underscoreToCamelCaseFilter = $filter; + return $filter; + } + + /** + * @return FilterChain + */ + protected function getCamelCaseToUnderscoreFilter() + { + if (static::$camelCaseToUnderscoreFilter instanceof FilterChain) { + return static::$camelCaseToUnderscoreFilter; + } + + $filter = new FilterChain(); + $filter->attachByName('WordCamelCaseToUnderscore'); + $filter->attachByName('StringToLower'); + static::$camelCaseToUnderscoreFilter = $filter; + return $filter; + } +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/NamingStrategyEnabledInterface.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/NamingStrategyEnabledInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..ab1ce7f1c069a6a3f841a7f9ee8318e453b5ccdf --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/NamingStrategyEnabledInterface.php @@ -0,0 +1,44 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\Hydrator; + +use Zend\Stdlib\Hydrator\NamingStrategy\NamingStrategyInterface; + +interface NamingStrategyEnabledInterface +{ + /** + * Adds the given naming strategy + * + * @param NamingStrategyInterface $strategy The naming to register. + * @return NamingStrategyEnabledInterface + */ + public function setNamingStrategy(NamingStrategyInterface $strategy); + + /** + * Gets the naming strategy. + * + * @return NamingStrategyInterface + */ + public function getNamingStrategy(); + + /** + * Checks if a naming strategy exists. + * + * @return bool + */ + public function hasNamingStrategy(); + + /** + * Removes the naming with the given name. + * + * @return NamingStrategyEnabledInterface + */ + public function removeNamingStrategy(); +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/ObjectProperty.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/ObjectProperty.php index c53dafb156a87e55f8cb096bd7976d90cb07810e..20c97c4a24996f9f07c64d22defeae7e930a7f21 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/ObjectProperty.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/ObjectProperty.php @@ -39,8 +39,13 @@ public function extract($object) unset($data[$name]); continue; } - // Extract data - $data[$name] = $this->extractValue($name, $value); + // Replace name if extracted differ + $extracted = $this->extractName($name, $object); + if ($extracted !== $name) { + unset($data[$name]); + $name = $extracted; + } + $data[$name] = $this->extractValue($name, $value, $object); } return $data; @@ -63,7 +68,8 @@ public function hydrate(array $data, $object) '%s expects the provided $object to be a PHP object)', __METHOD__ )); } - foreach ($data as $property => $value) { + foreach ($data as $name => $value) { + $property = $this->hydrateName($name, $data); $object->$property = $this->hydrateValue($property, $value, $data); } return $object; diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Reflection.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Reflection.php index 3e9cfd0cc2231f54a543dd5d47efd2e729620ef4..3c066e9634e01dcea98c38dd24d82c7e70ed322f 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Reflection.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Reflection.php @@ -30,7 +30,7 @@ public function extract($object) { $result = array(); foreach (self::getReflProperties($object) as $property) { - $propertyName = $property->getName(); + $propertyName = $this->extractName($property->getName(), $object); if (!$this->filterComposite->filter($propertyName)) { continue; } @@ -53,8 +53,9 @@ public function hydrate(array $data, $object) { $reflProperties = self::getReflProperties($object); foreach ($data as $key => $value) { - if (isset($reflProperties[$key])) { - $reflProperties[$key]->setValue($object, $this->hydrateValue($key, $value, $data)); + $name = $this->hydrateName($key, $data); + if (isset($reflProperties[$name])) { + $reflProperties[$name]->setValue($object, $this->hydrateValue($name, $value, $data)); } } return $object; diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Strategy/ClosureStrategy.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Strategy/ClosureStrategy.php index a5cb3413a4bb017b1b156dcd8802184847dd5df8..6360c868ded05077aacc6c99b0193e2266f31fdf 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Strategy/ClosureStrategy.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Hydrator/Strategy/ClosureStrategy.php @@ -75,26 +75,28 @@ public function __construct($extractFunc = null, $hydrateFunc = null) /** * Converts the given value so that it can be extracted by the hydrator. * - * @param mixed $value The original value. + * @param mixed $value The original value. + * @param array $object The object is optionally provided as context. * @return mixed Returns the value that should be extracted. */ - public function extract($value) + public function extract($value, $object = null) { $func = $this->extractFunc; - return $func($value); + return $func($value, $object); } /** * Converts the given value so that it can be hydrated by the hydrator. * - * @param mixed $value The original value. + * @param mixed $value The original value. + * @param array $data The whole data is optionally provided as context. * @return mixed Returns the value that should be hydrated. */ - public function hydrate($value) + public function hydrate($value, $data = null) { $func = $this->hydrateFunc; - return $func($value); + return $func($value, $data); } } diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/JsonSerializable.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/JsonSerializable.php new file mode 100644 index 0000000000000000000000000000000000000000..9d00b3560d5ca614c66366125398d51c098c9a34 --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/JsonSerializable.php @@ -0,0 +1,28 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib; + +if (PHP_VERSION_ID < 50400) { + class_alias( + 'Zend\Stdlib\JsonSerializable\PhpLegacyCompatibility', + 'JsonSerializable' + ); +} + +/** + * Polyfill for JsonSerializable + * + * JsonSerializable was introduced in PHP 5.4.0. + * + * @see http://php.net/manual/class.jsonserializable.php + */ +interface JsonSerializable extends \JsonSerializable +{ +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/JsonSerializable/PhpLegacyCompatibility.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/JsonSerializable/PhpLegacyCompatibility.php new file mode 100644 index 0000000000000000000000000000000000000000..a590cab677e684e554e2d892d0f43f00cffd9bd8 --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/JsonSerializable/PhpLegacyCompatibility.php @@ -0,0 +1,28 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib\JsonSerializable; + +/** + * Interface compatible with the built-in JsonSerializable interface + * + * JsonSerializable was introduced in PHP 5.4.0. + * + * @see http://php.net/manual/class.jsonserializable.php + */ +interface PhpLegacyCompatibility +{ + /** + * Returns data which can be serialized by json_encode(). + * + * @return mixed + * @see http://php.net/manual/jsonserializable.jsonserialize.php + */ + public function jsonSerialize(); +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Parameters.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Parameters.php index e33e4e482c2579fc91eb74f7d85fa5fc62c579ac..8347553f97491d56c81b0d802269a4f6758a0157 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Parameters.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/Parameters.php @@ -83,7 +83,7 @@ public function toString() */ public function offsetGet($name) { - if (isset($this[$name])) { + if ($this->offsetExists($name)) { return parent::offsetGet($name); } return null; @@ -96,7 +96,7 @@ public function offsetGet($name) */ public function get($name, $default = null) { - if (isset($this[$name])) { + if ($this->offsetExists($name)) { return parent::offsetGet($name); } return $default; diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/PriorityList.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/PriorityList.php new file mode 100644 index 0000000000000000000000000000000000000000..1664e193280df9cdb9ac30d2575ddde6846ad5d9 --- /dev/null +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/PriorityList.php @@ -0,0 +1,263 @@ +<?php +/** + * Zend Framework (http://framework.zend.com/) + * + * @link http://github.com/zendframework/zf2 for the canonical source repository + * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) + * @license http://framework.zend.com/license/new-bsd New BSD License + */ + +namespace Zend\Stdlib; + +use Countable; +use Iterator; + +/** + * Priority list + */ +class PriorityList implements Iterator, Countable +{ + const EXTR_DATA = 0x00000001; + const EXTR_PRIORITY = 0x00000002; + const EXTR_BOTH = 0x00000003; + /** + * Internal list of all items. + * + * @var array + */ + protected $items = array(); + + /** + * Serial assigned to items to preserve LIFO. + * + * @var int + */ + protected $serial = 0; + + /** + * Serial order mode + * @var integer + */ + protected $isLIFO = 1; + + /** + * Internal counter to avoid usage of count(). + * + * @var int + */ + protected $count = 0; + + /** + * Whether the list was already sorted. + * + * @var bool + */ + protected $sorted = false; + + /** + * Insert a new item. + * + * @param string $name + * @param mixed $value + * @param int $priority + * @return void + */ + public function insert($name, $value, $priority = 0) + { + $this->sorted = false; + $this->count++; + + $this->items[$name] = array( + 'data' => $value, + 'priority' => (int) $priority, + 'serial' => $this->serial++, + ); + } + + public function setPriority($name, $priority) + { + if (!isset($this->items[$name])) { + throw new \Exception("item $name not found"); + } + $this->items[$name]['priority'] = (int) $priority; + $this->sorted = false; + return $this; + } + + /** + * Remove a item. + * + * @param string $name + * @return void + */ + public function remove($name) + { + if (!isset($this->items[$name])) { + return; + } + + $this->count--; + unset($this->items[$name]); + } + + /** + * Remove all items. + * + * @return void + */ + public function clear() + { + $this->items = array(); + $this->serial = 0; + $this->count = 0; + $this->sorted = false; + } + + /** + * Get a item. + * + * @param string $name + * @return mixed + */ + public function get($name) + { + if (!isset($this->items[$name])) { + return null; + } + + return $this->items[$name]['data']; + } + + /** + * Sort all items. + * + * @return void + */ + protected function sort() + { + if (!$this->sorted) { + uasort($this->items, array($this, 'compare')); + $this->sorted = true; + } + } + + /** + * Compare the priority of two items. + * + * @param array $item1, + * @param array $item2 + * @return int + */ + protected function compare(array $item1, array $item2) + { + return ($item1['priority'] === $item2['priority']) + ? ($item1['serial'] > $item2['serial'] ? -1 : 1) * $this->isLIFO + : ($item1['priority'] > $item2['priority'] ? -1 : 1); + } + + /** + * Get/Set serial order mode + * + * @param bool $flag + * @return bool + */ + public function isLIFO($flag = null) + { + if ($flag !== null) { + if (($flag = ($flag === true ? 1 : -1)) !== $this->isLIFO) { + $this->isLIFO = $flag; + $this->sorted = false; + } + } + return $this->isLIFO === 1; + } + + /** + * rewind(): defined by Iterator interface. + * + * @see Iterator::rewind() + * @return void + */ + public function rewind() + { + $this->sort(); + reset($this->items); + } + + /** + * current(): defined by Iterator interface. + * + * @see Iterator::current() + * @return mixed + */ + public function current() + { + $node = current($this->items); + return ($node !== false ? $node['data'] : false); + } + + /** + * key(): defined by Iterator interface. + * + * @see Iterator::key() + * @return string + */ + public function key() + { + return key($this->items); + } + + /** + * next(): defined by Iterator interface. + * + * @see Iterator::next() + * @return mixed + */ + public function next() + { + $node = next($this->items); + return ($node !== false ? $node['data'] : false); + } + + /** + * valid(): defined by Iterator interface. + * + * @see Iterator::valid() + * @return bool + */ + public function valid() + { + return ($this->current() !== false); + } + + /** + * count(): defined by Countable interface. + * + * @see Countable::count() + * @return int + */ + public function count() + { + return $this->count; + } + + /** + * Return list as array + * + * @param int $flag + * @return array + */ + public function toArray($flag = self::EXTR_DATA) + { + $this->sort(); + if ($flag == self::EXTR_BOTH) { + return $this->items; + } + return array_map( + ($flag == self::EXTR_PRIORITY) + ? function ($item) { return $item['priority']; } + : function ($item) { return $item['data']; }, + $this->items + ); + } +} diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/StringWrapper/AbstractStringWrapper.php b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/StringWrapper/AbstractStringWrapper.php index d3e8830d6541e6ab02435c19ac35c2c6a6abd335..74d0c55f1909cecc02d886c367ea4ed8d523462e 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/StringWrapper/AbstractStringWrapper.php +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/StringWrapper/AbstractStringWrapper.php @@ -245,8 +245,6 @@ public function strPad($input, $padLength, $padString = ' ', $padType = STR_PAD_ $repeatCount = floor($lengthOfPadding / $padStringLength); if ($padType === STR_PAD_BOTH) { - $lastStringLeft = ''; - $lastStringRight = ''; $repeatCountLeft = $repeatCountRight = ($repeatCount - $repeatCount % 2) / 2; $lastStringLength = $lengthOfPadding - 2 * $repeatCountLeft * $padStringLength; diff --git a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/composer.json b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/composer.json index 217c5eaa40ead6da3d90d99430c3998d1f10851f..cc7492ed6c4d319c47c663cda7a4aa199f945706 100644 --- a/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/composer.json +++ b/core/vendor/zendframework/zend-stdlib/Zend/Stdlib/composer.json @@ -6,23 +6,30 @@ "zf2", "stdlib" ], + "homepage": "https://github.com/zendframework/zf2", "autoload": { "psr-0": { "Zend\\Stdlib\\": "" } }, "target-dir": "Zend/Stdlib", - "suggest": { - "zendframework/zend-servicemanager": "To support hydrator plugin manager usage", - "zendframework/zend-eventmanager": "To support aggregate hydrator usage" - }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.23" + }, + "require-dev": { + "zendframework/zend-eventmanager": "self.version", + "zendframework/zend-serializer": "self.version", + "zendframework/zend-servicemanager": "self.version" + }, + "suggest": { + "zendframework/zend-eventmanager": "To support aggregate hydrator usage", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" }, "extra": { "branch-alias": { - "dev-master": "2.2-dev", - "dev-develop": "2.3-dev" + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" } } }