From 481345381fead0bdc8a4c61e9f5227468751ac5f Mon Sep 17 00:00:00 2001
From: Demian Katz <demian.katz@villanova.edu>
Date: Fri, 8 Nov 2013 10:18:19 -0500
Subject: [PATCH] Upgraded Zend Framework.

---
 composer.json                                 |   2 +-
 composer.lock                                 |  17 +-
 vendor/autoload.php                           |   2 +-
 vendor/composer/autoload_real.php             |   6 +-
 vendor/composer/installed.json                | 239 ++++-----
 .../zendframework/zendframework/CHANGELOG.md  | 100 ++++
 .../zendframework/CONTRIBUTING.md             |   4 +-
 vendor/zendframework/zendframework/INSTALL.md |   4 +-
 .../zendframework/zendframework/README-GIT.md |   4 +-
 vendor/zendframework/zendframework/README.md  |  34 +-
 .../zendframework/bin/check-cs.sh             |   6 +-
 .../zendframework/bin/pluginmap_generator.php |  15 +-
 .../zendframework/zendframework/composer.json |   1 +
 .../Adapter/DbTable/AbstractAdapter.php       |   1 -
 .../Adapter/DbTable/CallbackCheckAdapter.php  |   2 +-
 .../library/Zend/Barcode/Object/Code128.php   |   2 -
 .../Cache/Storage/Adapter/DbaIterator.php     |   4 +-
 .../Adapter/MemcachedResourceManager.php      |   4 +-
 .../Zend/Cache/Storage/Adapter/Redis.php      |   2 +-
 .../Cache/Storage/Adapter/RedisOptions.php    |   1 +
 .../Storage/Adapter/RedisResourceManager.php  |   4 +-
 .../Cache/Storage/Adapter/XCacheOptions.php   |   4 +-
 .../Zend/Code/Generator/DocBlockGenerator.php |  12 +-
 .../Zend/Code/Generator/FileGenerator.php     |   9 +-
 .../Zend/Code/Generator/MethodGenerator.php   |   8 +-
 .../Code/Generator/ParameterGenerator.php     |   8 +-
 .../Zend/Code/Reflection/ClassReflection.php  |  31 +-
 .../Reflection/DocBlock/Tag/ThrowsTag.php     |  16 +-
 .../Zend/Code/Reflection/MethodReflection.php |  30 +-
 .../Code/Reflection/PropertyReflection.php    |  22 +-
 .../library/Zend/Config/Config.php            |   2 +-
 .../library/Zend/Config/Factory.php           |  10 +-
 .../Zend/Config/WriterPluginManager.php       |   2 +-
 .../Db/Adapter/Driver/IbmDb2/Connection.php   |   2 +-
 .../Db/Adapter/Driver/Oci8/Connection.php     |   2 +-
 .../Zend/Db/RowGateway/AbstractRowGateway.php |   3 +-
 .../library/Zend/Db/Sql/Insert.php            |   2 +-
 .../library/Zend/Db/Sql/Predicate/Like.php    |  12 +-
 .../library/Zend/Db/Sql/Predicate/NotLike.php |  16 +
 .../Zend/Db/Sql/Predicate/Predicate.php       |   6 +-
 .../Db/TableGateway/AbstractTableGateway.php  |   4 +-
 .../library/Zend/Debug/Debug.php              |   4 +-
 .../library/Zend/Debug/composer.json          |   9 +-
 .../Zend/Di/Definition/CompilerDefinition.php |   3 +-
 .../Zend/Di/Definition/RuntimeDefinition.php  |   3 +-
 .../library/Zend/Dom/Css2Xpath.php            |  14 +-
 .../Zend/Feed/Writer/Renderer/Entry/Atom.php  |   2 +-
 .../Writer/Renderer/Entry/Atom/Deleted.php    |   2 +-
 .../Writer/Renderer/Entry/AtomDeleted.php     |   2 +-
 .../Zend/Feed/Writer/Renderer/Entry/Rss.php   |   2 +-
 .../Zend/Feed/Writer/Renderer/Feed/Atom.php   |   2 +-
 .../Renderer/Feed/Atom/AbstractAtom.php       |   2 +-
 .../Feed/Writer/Renderer/Feed/Atom/Source.php |   2 +-
 .../Feed/Writer/Renderer/Feed/AtomSource.php  |   2 +-
 .../Zend/Feed/Writer/Renderer/Feed/Rss.php    |   2 +-
 .../library/Zend/File/ClassFileLocator.php    |   3 +
 .../library/Zend/File/PhpClassFile.php        |  34 +-
 .../library/Zend/Filter/BaseName.php          |   2 +-
 .../library/Zend/Filter/Digits.php            |   2 +-
 .../library/Zend/Filter/HtmlEntities.php      |   2 +-
 .../zendframework/library/Zend/Filter/Int.php |   2 +-
 .../library/Zend/Filter/RealPath.php          |   2 +-
 .../library/Zend/Filter/StringToLower.php     |   2 +-
 .../library/Zend/Filter/StringToUpper.php     |   2 +-
 .../library/Zend/Filter/StripNewlines.php     |   2 +-
 .../library/Zend/Filter/StripTags.php         |   2 +-
 .../Zend/Filter/Word/CamelCaseToSeparator.php |   2 +-
 .../Annotation/ElementAnnotationsListener.php |   5 +-
 .../library/Zend/Form/Element/Collection.php  |  26 +-
 .../library/Zend/Form/Element/DateSelect.php  |   2 +-
 .../library/Zend/Form/Element/DateTime.php    |   6 -
 .../Zend/Form/Element/DateTimeSelect.php      |   2 +-
 .../library/Zend/Form/Element/MonthSelect.php |   2 +-
 .../library/Zend/Form/Fieldset.php            |   2 +-
 .../zendframework/library/Zend/Form/Form.php  |   2 +-
 .../Zend/Form/View/Helper/AbstractHelper.php  |   1 +
 .../Form/View/Helper/Captcha/ReCaptcha.php    |   6 +-
 .../Zend/Form/View/Helper/FormCaptcha.php     |   2 +-
 .../Zend/Form/View/Helper/FormCollection.php  |   3 +-
 .../library/Zend/Form/View/Helper/FormRow.php |   4 +-
 .../library/Zend/Http/Client.php              |   9 +-
 .../library/Zend/Http/Header/AbstractDate.php |   2 +-
 .../Zend/Http/Header/AbstractLocation.php     |   2 +-
 .../library/Zend/Http/Header/AcceptRanges.php |   2 +-
 .../library/Zend/Http/Header/Age.php          |   2 +-
 .../library/Zend/Http/Header/Allow.php        |   2 +-
 .../Zend/Http/Header/AuthenticationInfo.php   |   2 +-
 .../Zend/Http/Header/Authorization.php        |   2 +-
 .../library/Zend/Http/Header/CacheControl.php |   2 +-
 .../library/Zend/Http/Header/Connection.php   |   2 +-
 .../Zend/Http/Header/ContentDisposition.php   |   2 +-
 .../Zend/Http/Header/ContentEncoding.php      |   2 +-
 .../Zend/Http/Header/ContentLanguage.php      |   2 +-
 .../Zend/Http/Header/ContentLength.php        |   2 +-
 .../library/Zend/Http/Header/ContentMD5.php   |   2 +-
 .../library/Zend/Http/Header/ContentRange.php |   2 +-
 .../Http/Header/ContentTransferEncoding.php   |   2 +-
 .../library/Zend/Http/Header/ContentType.php  |   2 +-
 .../library/Zend/Http/Header/Cookie.php       |   2 +-
 .../library/Zend/Http/Header/Etag.php         |   2 +-
 .../library/Zend/Http/Header/Expect.php       |   2 +-
 .../library/Zend/Http/Header/From.php         |   2 +-
 .../Zend/Http/Header/GenericHeader.php        |  40 +-
 .../Zend/Http/Header/GenericMultiHeader.php   |   2 +-
 .../Zend/Http/Header/HeaderInterface.php      |  31 ++
 .../library/Zend/Http/Header/Host.php         |   2 +-
 .../library/Zend/Http/Header/IfMatch.php      |   2 +-
 .../library/Zend/Http/Header/IfNoneMatch.php  |   2 +-
 .../library/Zend/Http/Header/IfRange.php      |   2 +-
 .../library/Zend/Http/Header/KeepAlive.php    |   2 +-
 .../library/Zend/Http/Header/MaxForwards.php  |   2 +-
 .../library/Zend/Http/Header/Pragma.php       |   2 +-
 .../Zend/Http/Header/ProxyAuthenticate.php    |   2 +-
 .../Zend/Http/Header/ProxyAuthorization.php   |   2 +-
 .../library/Zend/Http/Header/Range.php        |   2 +-
 .../library/Zend/Http/Header/Refresh.php      |   2 +-
 .../library/Zend/Http/Header/RetryAfter.php   |   2 +-
 .../library/Zend/Http/Header/Server.php       |   2 +-
 .../library/Zend/Http/Header/SetCookie.php    |  46 +-
 .../library/Zend/Http/Header/TE.php           |   2 +-
 .../library/Zend/Http/Header/Trailer.php      |   2 +-
 .../Zend/Http/Header/TransferEncoding.php     |   2 +-
 .../library/Zend/Http/Header/Upgrade.php      |   2 +-
 .../library/Zend/Http/Header/UserAgent.php    |   2 +-
 .../library/Zend/Http/Header/Vary.php         |   2 +-
 .../library/Zend/Http/Header/Via.php          |   2 +-
 .../Zend/Http/Header/WWWAuthenticate.php      |   2 +-
 .../library/Zend/Http/Header/Warning.php      |   2 +-
 .../Http/PhpEnvironment/RemoteAddress.php     |  18 +-
 .../library/Zend/Http/Response.php            |   3 +-
 .../Zend/I18n/Validator/PhoneNumber.php       |  24 +-
 .../Zend/I18n/View/Helper/DateFormat.php      |   7 +-
 .../Zend/InputFilter/BaseInputFilter.php      |  45 +-
 .../zendframework/library/Zend/Json/Expr.php  |   4 +-
 .../zendframework/library/Zend/Json/Json.php  |   2 +-
 .../library/Zend/Json/Server/Server.php       |   3 +-
 .../zendframework/library/Zend/Ldap/Node.php  |   2 +-
 .../Zend/Loader/ClassMapAutoloader.php        |   2 +-
 .../library/Zend/Loader/composer.json         |   3 -
 .../Zend/Log/Formatter/ErrorHandler.php       |   2 +-
 .../zendframework/library/Zend/Log/Logger.php |   8 +-
 .../Zend/Log/LoggerAbstractServiceFactory.php |  35 +-
 .../library/Zend/Log/Writer/MongoDB.php       |   6 +-
 .../Zend/Mail/Header/AbstractAddressList.php  |   4 +-
 .../Mail/Header/ContentTransferEncoding.php   | 115 +++++
 .../library/Zend/Mail/Header/ContentType.php  |   2 +-
 .../library/Zend/Mail/Header/Date.php         |  10 +-
 .../Zend/Mail/Header/GenericHeader.php        |  28 +-
 .../Zend/Mail/Header/GenericMultiHeader.php   |   6 +-
 .../Zend/Mail/Header/HeaderInterface.php      |   2 +
 .../library/Zend/Mail/Header/HeaderLoader.php |  39 +-
 .../library/Zend/Mail/Header/MessageId.php    |   2 +-
 .../library/Zend/Mail/Header/MimeVersion.php  |   4 +-
 .../library/Zend/Mail/Header/Received.php     |  10 +-
 .../library/Zend/Mail/Header/Sender.php       |   2 +-
 .../library/Zend/Mail/Header/Subject.php      |   3 +-
 .../library/Zend/Mail/Headers.php             |   2 +-
 .../zendframework/library/Zend/Math/Rand.php  |   8 +-
 .../library/Zend/Memory/composer.json         |   3 +
 .../Listener/LocatorRegistrationListener.php  |   4 +-
 .../Controller/AbstractRestfulController.php  |   2 +-
 .../Controller/Plugin/FilePostRedirectGet.php |   8 +-
 .../Zend/Mvc/Router/Http/TreeRouteStack.php   |   2 +-
 .../DiAbstractServiceFactoryFactory.php       |   2 +-
 .../Mvc/Service/ViewHelperManagerFactory.php  |   9 +-
 .../Zend/Navigation/AbstractContainer.php     |   8 +-
 .../Paginator/SerializableLimitIterator.php   |   2 +-
 .../library/Zend/Paginator/composer.json      |   3 +
 .../library/Zend/Permissions/Acl/Acl.php      |   2 +-
 .../library/Zend/ProgressBar/composer.json    |   3 +-
 .../Zend/Serializer/Adapter/MsgPack.php       |   6 +-
 .../Exception/CircularReferenceException.php  |  14 +
 .../Zend/ServiceManager/ServiceManager.php    | 171 +++++--
 .../Zend/Session/Config/SessionConfig.php     |   4 +-
 .../library/Zend/Soap/AutoDiscover.php        |   2 +-
 .../library/Zend/Soap/Server.php              |   2 +-
 .../zendframework/library/Zend/Soap/Wsdl.php  |   2 +-
 .../Zend/Stdlib/DispatchableInterface.php     |   9 +-
 .../Zend/Stdlib/Hydrator/AbstractHydrator.php |   2 +-
 .../Hydrator/Filter/FilterComposite.php       |   6 +-
 .../Filter/OptionalParametersFilter.php       |   6 +-
 .../Hydrator/Strategy/ClosureStrategy.php     |  16 +-
 .../library/Zend/Stdlib/PriorityQueue.php     |   4 +-
 .../Controller/AbstractControllerTestCase.php |   6 +-
 .../AbstractHttpControllerTestCase.php        | 116 +++--
 .../Zend/Text/Table/DecoratorManager.php      |   5 -
 .../library/Zend/Validator/File/Exists.php    |   2 +-
 .../library/Zend/Validator/Hostname.php       |   4 +-
 .../library/Zend/Version/Version.php          |   2 +-
 .../library/Zend/Version/composer.json        |   3 +
 .../Zend/View/Helper/FlashMessenger.php       |  12 +-
 .../Container/AbstractContainer.php           |  22 +-
 .../library/Zend/View/HelperPluginManager.php |   4 +-
 .../library/Zend/XmlRpc/AbstractValue.php     |   2 +-
 .../Zend/XmlRpc/Value/AbstractCollection.php  |   4 +-
 .../resources/languages/fr/Zend_Validate.php  |  20 +-
 .../resources/languages/pl/Zend_Captcha.php   |  23 +
 .../resources/languages/pl/Zend_Validate.php  | 102 ++--
 .../resources/languages/ru/Zend_Validate.php  |  28 +-
 .../resources/languages/sk/Zend_Captcha.php   |   6 +-
 .../resources/languages/sk/Zend_Validate.php  | 386 +++++++-------
 .../resources/languages/sl/Zend_Captcha.php   |   4 +-
 .../resources/languages/sl/Zend_Validate.php  | 476 ++++++++++--------
 .../resources/languages/uk/Zend_Captcha.php   |  23 +
 .../resources/languages/uk/Zend_Validate.php  | 452 +++++++++--------
 205 files changed, 2172 insertions(+), 1263 deletions(-)
 create mode 100644 vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/NotLike.php
 create mode 100644 vendor/zendframework/zendframework/library/Zend/Mail/Header/ContentTransferEncoding.php
 create mode 100644 vendor/zendframework/zendframework/library/Zend/ServiceManager/Exception/CircularReferenceException.php
 create mode 100644 vendor/zendframework/zendframework/resources/languages/pl/Zend_Captcha.php
 create mode 100644 vendor/zendframework/zendframework/resources/languages/uk/Zend_Captcha.php

diff --git a/composer.json b/composer.json
index fbe979a0166..3f28d0b2f42 100644
--- a/composer.json
+++ b/composer.json
@@ -63,7 +63,7 @@
         "pear-pear.php.net/validate_ispn": "*",
         "serialssolutions/summon": "dev-master",
         "symfony/yaml": "*",
-        "zendframework/zendframework": "2.2.4",
+        "zendframework/zendframework": "2.2.5",
         "zendframework/zendrest": "2.*",
         "zendframework/zendservice-amazon": "2.*",
         "jasig/phpCAS": "dev-master"
diff --git a/composer.lock b/composer.lock
index 8cdc59d6b25..645194ae5a8 100644
--- a/composer.lock
+++ b/composer.lock
@@ -3,7 +3,7 @@
         "This file locks the dependencies of your project to a known state",
         "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file"
     ],
-    "hash": "912400ee83b7a6b04d6e1ccc398e5ea4",
+    "hash": "6587f02e6b4f7504432193a81ba61931",
     "packages": [
         {
             "name": "aferrandini/phpqrcode",
@@ -437,17 +437,17 @@
         },
         {
             "name": "zendframework/zendframework",
-            "version": "2.2.4",
+            "version": "2.2.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/zendframework/zf2.git",
-                "reference": "5b03d868755c181fc9b5dc56c1f8c26e73ca0bed"
+                "reference": "4a7cf6a4cf791244e14aa0ca49d1f06916b63202"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://packages.zendframework.com/composer/zendframework-zendframework-5b03d868755c181fc9b5dc56c1f8c26e73ca0bed-zip-8b1552.zip",
-                "reference": "2.2.4",
-                "shasum": "f12b12d23c937b8cbd246c6fa56c07fb1df34cb0"
+                "url": "https://packages.zendframework.com/composer/zendframework-zendframework-4a7cf6a4cf791244e14aa0ca49d1f06916b63202-zip-2661de.zip",
+                "reference": "2.2.5",
+                "shasum": "3c699626517e16aa7b3d9a0c811fe41a2586179d"
             },
             "require": {
                 "php": ">=5.3.3"
@@ -507,6 +507,7 @@
             },
             "require-dev": {
                 "doctrine/annotations": ">=1.0",
+                "fabpot/php-cs-fixer": "*@dev",
                 "ircmaxell/random-lib": "dev-master",
                 "ircmaxell/security-lib": "dev-master",
                 "ocramius/proxy-manager": "0.4.*",
@@ -547,10 +548,10 @@
                 "zf2"
             ],
             "support": {
-                "source": "https://github.com/zendframework/zf2/tree/release-2.2.4",
+                "source": "https://github.com/zendframework/zf2/tree/release-2.2.5",
                 "issues": "https://github.com/zendframework/zf2/issues"
             },
-            "time": "2013-08-26 15:09:04"
+            "time": "2013-10-31 15:48:16"
         },
         {
             "name": "zendframework/zendrest",
diff --git a/vendor/autoload.php b/vendor/autoload.php
index 0b9a203e27e..38a0b8aa6dd 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer' . '/autoload_real.php';
 
-return ComposerAutoloaderInit9d8033630a6ee5af71c27fda7477a7e0::getLoader();
+return ComposerAutoloaderInit211129ac86a6177525ebab59a9aa5a0c::getLoader();
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index 85d807c7a00..2c4c576889a 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInit9d8033630a6ee5af71c27fda7477a7e0
+class ComposerAutoloaderInit211129ac86a6177525ebab59a9aa5a0c
 {
     private static $loader;
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit9d8033630a6ee5af71c27fda7477a7e0
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInit9d8033630a6ee5af71c27fda7477a7e0', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInit211129ac86a6177525ebab59a9aa5a0c', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInit9d8033630a6ee5af71c27fda7477a7e0', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInit211129ac86a6177525ebab59a9aa5a0c', 'loadClassLoader'));
 
         $vendorDir = dirname(__DIR__);
         $baseDir = dirname($vendorDir);
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index b40f6167729..5bc183d2cca 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -349,125 +349,6 @@
             "issues": "https://github.com/zendframework/ZendService_Amazon/issues"
         }
     },
-    {
-        "name": "zendframework/zendframework",
-        "version": "2.2.4",
-        "version_normalized": "2.2.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/zendframework/zf2.git",
-            "reference": "5b03d868755c181fc9b5dc56c1f8c26e73ca0bed"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://packages.zendframework.com/composer/zendframework-zendframework-5b03d868755c181fc9b5dc56c1f8c26e73ca0bed-zip-8b1552.zip",
-            "reference": "2.2.4",
-            "shasum": "f12b12d23c937b8cbd246c6fa56c07fb1df34cb0"
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "replace": {
-            "zendframework/zend-authentication": "self.version",
-            "zendframework/zend-barcode": "self.version",
-            "zendframework/zend-cache": "self.version",
-            "zendframework/zend-captcha": "self.version",
-            "zendframework/zend-code": "self.version",
-            "zendframework/zend-config": "self.version",
-            "zendframework/zend-console": "self.version",
-            "zendframework/zend-crypt": "self.version",
-            "zendframework/zend-db": "self.version",
-            "zendframework/zend-debug": "self.version",
-            "zendframework/zend-di": "self.version",
-            "zendframework/zend-dom": "self.version",
-            "zendframework/zend-escaper": "self.version",
-            "zendframework/zend-eventmanager": "self.version",
-            "zendframework/zend-feed": "self.version",
-            "zendframework/zend-file": "self.version",
-            "zendframework/zend-filter": "self.version",
-            "zendframework/zend-form": "self.version",
-            "zendframework/zend-http": "self.version",
-            "zendframework/zend-i18n": "self.version",
-            "zendframework/zend-inputfilter": "self.version",
-            "zendframework/zend-json": "self.version",
-            "zendframework/zend-ldap": "self.version",
-            "zendframework/zend-loader": "self.version",
-            "zendframework/zend-log": "self.version",
-            "zendframework/zend-mail": "self.version",
-            "zendframework/zend-math": "self.version",
-            "zendframework/zend-memory": "self.version",
-            "zendframework/zend-mime": "self.version",
-            "zendframework/zend-modulemanager": "self.version",
-            "zendframework/zend-mvc": "self.version",
-            "zendframework/zend-navigation": "self.version",
-            "zendframework/zend-paginator": "self.version",
-            "zendframework/zend-permissions-acl": "self.version",
-            "zendframework/zend-permissions-rbac": "self.version",
-            "zendframework/zend-progressbar": "self.version",
-            "zendframework/zend-resources": "self.version",
-            "zendframework/zend-serializer": "self.version",
-            "zendframework/zend-server": "self.version",
-            "zendframework/zend-servicemanager": "self.version",
-            "zendframework/zend-session": "self.version",
-            "zendframework/zend-soap": "self.version",
-            "zendframework/zend-stdlib": "self.version",
-            "zendframework/zend-tag": "self.version",
-            "zendframework/zend-test": "self.version",
-            "zendframework/zend-text": "self.version",
-            "zendframework/zend-uri": "self.version",
-            "zendframework/zend-validator": "self.version",
-            "zendframework/zend-version": "self.version",
-            "zendframework/zend-view": "self.version",
-            "zendframework/zend-xmlrpc": "self.version"
-        },
-        "require-dev": {
-            "doctrine/annotations": ">=1.0",
-            "ircmaxell/random-lib": "dev-master",
-            "ircmaxell/security-lib": "dev-master",
-            "ocramius/proxy-manager": "0.4.*",
-            "phpunit/phpunit": "3.7.*"
-        },
-        "suggest": {
-            "doctrine/annotations": "Doctrine Annotations >=1.0 for annotation features",
-            "ext-intl": "ext/intl for i18n features (included in default builds of PHP)",
-            "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if OpenSSL/Mcrypt extensions are unavailable",
-            "ocramius/proxy-manager": "ProxyManager to handle lazy initialization of services",
-            "zendframework/zendpdf": "ZendPdf for creating PDF representations of barcodes",
-            "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha for rendering ReCaptchas in Zend\\Captcha and/or Zend\\Form"
-        },
-        "time": "2013-08-26 15:09:04",
-        "bin": [
-            "bin/classmap_generator.php",
-            "bin/pluginmap_generator.php",
-            "bin/templatemap_generator.php"
-        ],
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.2-dev",
-                "dev-develop": "2.3-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Zend\\": "library/"
-            }
-        },
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "description": "Zend Framework 2",
-        "homepage": "http://framework.zend.com/",
-        "keywords": [
-            "framework",
-            "zf2"
-        ],
-        "support": {
-            "source": "https://github.com/zendframework/zf2/tree/release-2.2.4",
-            "issues": "https://github.com/zendframework/zf2/issues"
-        }
-    },
     {
         "name": "aferrandini/phpqrcode",
         "version": "dev-master",
@@ -681,5 +562,125 @@
             "source": "https://github.com/summon/Summon.php/tree/master",
             "issues": "https://github.com/summon/Summon.php/issues"
         }
+    },
+    {
+        "name": "zendframework/zendframework",
+        "version": "2.2.5",
+        "version_normalized": "2.2.5.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/zendframework/zf2.git",
+            "reference": "4a7cf6a4cf791244e14aa0ca49d1f06916b63202"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://packages.zendframework.com/composer/zendframework-zendframework-4a7cf6a4cf791244e14aa0ca49d1f06916b63202-zip-2661de.zip",
+            "reference": "2.2.5",
+            "shasum": "3c699626517e16aa7b3d9a0c811fe41a2586179d"
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "replace": {
+            "zendframework/zend-authentication": "self.version",
+            "zendframework/zend-barcode": "self.version",
+            "zendframework/zend-cache": "self.version",
+            "zendframework/zend-captcha": "self.version",
+            "zendframework/zend-code": "self.version",
+            "zendframework/zend-config": "self.version",
+            "zendframework/zend-console": "self.version",
+            "zendframework/zend-crypt": "self.version",
+            "zendframework/zend-db": "self.version",
+            "zendframework/zend-debug": "self.version",
+            "zendframework/zend-di": "self.version",
+            "zendframework/zend-dom": "self.version",
+            "zendframework/zend-escaper": "self.version",
+            "zendframework/zend-eventmanager": "self.version",
+            "zendframework/zend-feed": "self.version",
+            "zendframework/zend-file": "self.version",
+            "zendframework/zend-filter": "self.version",
+            "zendframework/zend-form": "self.version",
+            "zendframework/zend-http": "self.version",
+            "zendframework/zend-i18n": "self.version",
+            "zendframework/zend-inputfilter": "self.version",
+            "zendframework/zend-json": "self.version",
+            "zendframework/zend-ldap": "self.version",
+            "zendframework/zend-loader": "self.version",
+            "zendframework/zend-log": "self.version",
+            "zendframework/zend-mail": "self.version",
+            "zendframework/zend-math": "self.version",
+            "zendframework/zend-memory": "self.version",
+            "zendframework/zend-mime": "self.version",
+            "zendframework/zend-modulemanager": "self.version",
+            "zendframework/zend-mvc": "self.version",
+            "zendframework/zend-navigation": "self.version",
+            "zendframework/zend-paginator": "self.version",
+            "zendframework/zend-permissions-acl": "self.version",
+            "zendframework/zend-permissions-rbac": "self.version",
+            "zendframework/zend-progressbar": "self.version",
+            "zendframework/zend-resources": "self.version",
+            "zendframework/zend-serializer": "self.version",
+            "zendframework/zend-server": "self.version",
+            "zendframework/zend-servicemanager": "self.version",
+            "zendframework/zend-session": "self.version",
+            "zendframework/zend-soap": "self.version",
+            "zendframework/zend-stdlib": "self.version",
+            "zendframework/zend-tag": "self.version",
+            "zendframework/zend-test": "self.version",
+            "zendframework/zend-text": "self.version",
+            "zendframework/zend-uri": "self.version",
+            "zendframework/zend-validator": "self.version",
+            "zendframework/zend-version": "self.version",
+            "zendframework/zend-view": "self.version",
+            "zendframework/zend-xmlrpc": "self.version"
+        },
+        "require-dev": {
+            "doctrine/annotations": ">=1.0",
+            "fabpot/php-cs-fixer": "*@dev",
+            "ircmaxell/random-lib": "dev-master",
+            "ircmaxell/security-lib": "dev-master",
+            "ocramius/proxy-manager": "0.4.*",
+            "phpunit/phpunit": "3.7.*"
+        },
+        "suggest": {
+            "doctrine/annotations": "Doctrine Annotations >=1.0 for annotation features",
+            "ext-intl": "ext/intl for i18n features (included in default builds of PHP)",
+            "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if OpenSSL/Mcrypt extensions are unavailable",
+            "ocramius/proxy-manager": "ProxyManager to handle lazy initialization of services",
+            "zendframework/zendpdf": "ZendPdf for creating PDF representations of barcodes",
+            "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha for rendering ReCaptchas in Zend\\Captcha and/or Zend\\Form"
+        },
+        "time": "2013-10-31 15:48:16",
+        "bin": [
+            "bin/classmap_generator.php",
+            "bin/pluginmap_generator.php",
+            "bin/templatemap_generator.php"
+        ],
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.2-dev",
+                "dev-develop": "2.3-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Zend\\": "library/"
+            }
+        },
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "description": "Zend Framework 2",
+        "homepage": "http://framework.zend.com/",
+        "keywords": [
+            "framework",
+            "zf2"
+        ],
+        "support": {
+            "source": "https://github.com/zendframework/zf2/tree/release-2.2.5",
+            "issues": "https://github.com/zendframework/zf2/issues"
+        }
     }
 ]
diff --git a/vendor/zendframework/zendframework/CHANGELOG.md b/vendor/zendframework/zendframework/CHANGELOG.md
index 72b55e2a29e..277792d2a05 100644
--- a/vendor/zendframework/zendframework/CHANGELOG.md
+++ b/vendor/zendframework/zendframework/CHANGELOG.md
@@ -1,5 +1,105 @@
 # CHANGELOG
 
+## 2.2.5 (2013-10-31)
+
+- [4604: Zend\Json\Server\Server::addFunction instantiates new class even an object was given as callable](https://github.com/zendframework/zf2/issues/4604)
+- [4874: Skip AnnotationScanner if class name information can't be found.](https://github.com/zendframework/zf2/pull/4874)
+- [4918: &#91;suggest&#92; Ignore methods without parameters from aware interfaces](https://github.com/zendframework/zf2/pull/4918)
+- [5013: ZF2-2454 HTTP 308 Resume Incomplete missing in Zend\Http\Response](https://github.com/zendframework/zf2/pull/5013)
+- [5031: Fix input annotation handler in Zend/Form/Annotation/ElementAnnotationsListener](https://github.com/zendframework/zf2/pull/5031)
+- [5035: updated Zend&#95;Validate&#95;Hostname translation message IDs and translations](https://github.com/zendframework/zf2/pull/5035)
+- [5037: Slovenian translations updated](https://github.com/zendframework/zf2/pull/5037)
+- [5040: Correct namespace name DockBlock to DocBlock](https://github.com/zendframework/zf2/pull/5040)
+- [5044: Reflection ThrowsTag to handle types correctly](https://github.com/zendframework/zf2/pull/5044)
+- [5050: #4996 broke File filters management](https://github.com/zendframework/zf2/pull/5050)
+- [5053: add test case for Zend\Validator\IsInstanceOf to pass Traversable to constructor](https://github.com/zendframework/zf2/pull/5053)
+- [5054: is bin/pluginmap&#95;generator.php broken ?](https://github.com/zendframework/zf2/pull/5054)
+- [5065: &#91;Zend\Http\Client&#92; dupplicate header keys in prepareHeaders](https://github.com/zendframework/zf2/pull/5065)
+- [5066: &#95;&#95;invoke parameter should be null by default](https://github.com/zendframework/zf2/pull/5066)
+- [5068: using injected response object](https://github.com/zendframework/zf2/pull/5068)
+- [5071: Increase readability, fix indentation](https://github.com/zendframework/zf2/pull/5071)
+- [5078: hotfix/4508 and make Zend\Http\Header\SetCookie RFC conform](https://github.com/zendframework/zf2/pull/5078)
+- [5083: &#91;Barcode&#92; removed some unused variables](https://github.com/zendframework/zf2/pull/5083)
+- [5093: Extract and populate values for nested fieldsets in Collection elements](https://github.com/zendframework/zf2/pull/5093)
+- [5100: &#91;ServiceManager&#92; Implemented circular alias reference detection](https://github.com/zendframework/zf2/pull/5100)
+- [5111: Fix test suite when ext/intl isn't available](https://github.com/zendframework/zf2/pull/5111)
+- [5121: Add inline comments](https://github.com/zendframework/zf2/pull/5121)
+- [5140: Fix not allowed encoding of content-transfer-encoding and content-type headers in single part encoded mails](https://github.com/zendframework/zf2/pull/5140)
+- [5146: Adds an alias for ModuleManager and removes the duplicate service defini...](https://github.com/zendframework/zf2/pull/5146)
+- [5150: Fix Validator\PhoneNumber with E.123/E.164 international numbers.](https://github.com/zendframework/zf2/pull/5150)
+- [5152: Issue #4669 - Class generator should return uses from file generator](https://github.com/zendframework/zf2/pull/5152)
+- [5161: Fix calling View\Helper\BasePath from CLI results in fatal error.](https://github.com/zendframework/zf2/pull/5161)
+- [5175: fix delegators to allow usage in plugin managers](https://github.com/zendframework/zf2/pull/5175)
+- [5180: Ensure DiAbstractServiceFactory takes lowest possible priority](https://github.com/zendframework/zf2/pull/5180)
+- [5183: Fix for CamelCase filter when string contains multiple uppercase letters and Unicode is off](https://github.com/zendframework/zf2/pull/5183)
+- [5193: Fix returned NamespaceType for Parameters from Reflection](https://github.com/zendframework/zf2/pull/5193)
+- [5196: Fix JsonRpc service name](https://github.com/zendframework/zf2/pull/5196)
+- [5212: assertQueryContentContains searching through all nodes found](https://github.com/zendframework/zf2/pull/5212)
+- [5216: added missing I18n\Validator\DateTime translations](https://github.com/zendframework/zf2/pull/5216)
+- [5220: Bug fix for Zend\Form\Element\Collection::extract()](https://github.com/zendframework/zf2/pull/5220)
+- [5223: Cannot use Zend\Stdlib\ResponseInterface as Response because the name is already in use in Zend\Stdlib\DispatchableInterface](https://github.com/zendframework/zf2/issues/5223)
+- [5234: added zendframework/zend-session as suggest dependency at Zend\ProgressBar](https://github.com/zendframework/zf2/pull/5234)
+- [5239: added zendframework/zend-cache as suggest dependency at Zend\Paginator](https://github.com/zendframework/zf2/pull/5239)
+- [5240: fix Debug::getEscaper() never called at Debug::dump() when xdebug is loaded](https://github.com/zendframework/zf2/pull/5240)
+- [5246: move zendframework/zend-escaper from require to suggest dependency at Zend\Debug](https://github.com/zendframework/zf2/pull/5246)
+- [5250: explode should be made only by colon (:) and not colon+space (: )](https://github.com/zendframework/zf2/pull/5250)
+- [5252: Improvements Zend\Form\View\Helper\FormElement](https://github.com/zendframework/zf2/pull/5252)
+- [5254: Zend\Log\Writer\Db via config throws exception](https://github.com/zendframework/zf2/pull/5254)
+- [5259: Modified PhpArray config writer to generate better readable array format.](https://github.com/zendframework/zf2/pull/5259)
+- [5271: fixes #5270](https://github.com/zendframework/zf2/pull/5271)
+- [5274: add regression testing for fieldset input filter](https://github.com/zendframework/zf2/pull/5274)
+- [5279: Polish translation for Zend\Captcha](https://github.com/zendframework/zf2/pull/5279)
+- [5280: Polish translation and fixes in Zend\Validate](https://github.com/zendframework/zf2/pull/5280)
+- [5286: Hotfix/5118](https://github.com/zendframework/zf2/pull/5286)
+- [5287: Add Not Like Predicate](https://github.com/zendframework/zf2/pull/5287)
+- [5291: &#91;mail&#92; Fixes, criteria unification and optimization.](https://github.com/zendframework/zf2/pull/5291)
+- [5293: Fix #5289 (abstract factories return type)](https://github.com/zendframework/zf2/pull/5293)
+- [5295: Update DateFormat.php to fix deprecated method call: PHP &gt;= 5.5.0.](https://github.com/zendframework/zf2/pull/5295)
+- [5301: &#91;http&#92; Adapt header field name validation to RFC definition](https://github.com/zendframework/zf2/pull/5301)
+- [5302: &#91;http&#92; Parse headerline](https://github.com/zendframework/zf2/pull/5302)
+- [5311: &#91;http&#92; Unify criteria for split name](https://github.com/zendframework/zf2/pull/5311)
+- [5317: IbmDb2 Commitment Control](https://github.com/zendframework/zf2/pull/5317)
+- [5318: &#91;#5013&#92; Remove custom code response tests](https://github.com/zendframework/zf2/pull/5318)
+- [5319: Class not found instead of exception in RedisOptions](https://github.com/zendframework/zf2/pull/5319)
+- [5325: fixed typo](https://github.com/zendframework/zf2/pull/5325)
+- [5333: Zend\ServiceManager - CS fixes for master](https://github.com/zendframework/zf2/pull/5333)
+- [5336: fix typo](https://github.com/zendframework/zf2/pull/5336)
+- [5343: Remove date filtering on date elements](https://github.com/zendframework/zf2/pull/5343)
+- [5350: fixed typos](https://github.com/zendframework/zf2/pull/5350)
+- [5351: fixes #5310](https://github.com/zendframework/zf2/pull/5351)
+- [5360: fixed typo](https://github.com/zendframework/zf2/pull/5360)
+- [5368: Avoid SOAP constant error in PHPUnit](https://github.com/zendframework/zf2/pull/5368)
+- [5369: Php unit windows](https://github.com/zendframework/zf2/pull/5369)
+- [5370: fixed typos](https://github.com/zendframework/zf2/pull/5370)
+- [5374: Potential security vulnerability ](https://github.com/zendframework/zf2/issues/5374)
+- [5378: Exception as one of the possible exception for Soap\Server::registerFaultException](https://github.com/zendframework/zf2/pull/5378)
+- [5379: fixes #4604](https://github.com/zendframework/zf2/pull/5379)
+- [5382: #4954 Mongodb small changes](https://github.com/zendframework/zf2/pull/5382)
+
+### SECURITY UPDATES
+
+An issue with `Zend\Http\PhpEnvironment\RemoteAddress` was reported in
+[#5374](https://github.com/zendframework/zf2/pull/5374). Essentially, the class
+was not checking if `$_SERVER['REMOTE_ADDR']` was one of the trusted proxies
+configured, and as a result, `getIpAddressFromProxy()` could return an untrusted
+IP address. 
+
+The class was updated to check if `$_SERVER['REMOTE_ADDR']` is in the list of
+trusted proxies, and, if so, will return that value immediately before
+consulting the values in the `X-Forwarded-For` header.
+
+If you use the `RemoteAddr` `Zend\Session` validator, and are configuring
+trusted proxies, we recommend updating to 2.2.5 or later immediately.
+
+### Potential Breakage
+
+- [#5343](https://github.com/zendframework/zf2/pull/5343) removed the
+  DateTimeFormatter filter from DateTime form elements. This was done
+  due to the fact that it led to unexpected behavior when non-date inputs were
+  provided. However, since the DateTime element already incorporates a
+  DateValidator that accepts a date format, validation can still work as
+  expected.
+
 ## 2.2.4 (2013-08-26)
 
 - [5008: deprecated feature in classmap generator](https://github.com/zendframework/zf2/issues/5008)
diff --git a/vendor/zendframework/zendframework/CONTRIBUTING.md b/vendor/zendframework/zendframework/CONTRIBUTING.md
index c21284143f5..6342bcb6377 100644
--- a/vendor/zendframework/zendframework/CONTRIBUTING.md
+++ b/vendor/zendframework/zendframework/CONTRIBUTING.md
@@ -61,11 +61,11 @@ To run tests:
   component namespace, without the `Zend\` prefix:
 
   ```sh
-  % php run-tests Mvc
+  % php run-tests.php Mvc
   ```
 
   ```sh
-  % php run-tests ModuleManager Mvc View Navigation
+  % php run-tests.php ModuleManager Mvc View Navigation
   ```
 
 You can turn on conditional tests with the TestConfiguration.php file.
diff --git a/vendor/zendframework/zendframework/INSTALL.md b/vendor/zendframework/zendframework/INSTALL.md
index c3cfc345ebc..40f980b7507 100644
--- a/vendor/zendframework/zendframework/INSTALL.md
+++ b/vendor/zendframework/zendframework/INSTALL.md
@@ -2,9 +2,7 @@
 
 Zend Framework requires no special installation steps. Simply download
 the framework, extract it to the folder you would like to keep it in,
-and add the library directory to your PHP `include_path`. To use
-components in the extras library, add the `extras/library` directory to
-your PHP `include_path` as well.
+and add the library directory to your PHP `include_path`.
 
 
 ## SYSTEM REQUIREMENTS
diff --git a/vendor/zendframework/zendframework/README-GIT.md b/vendor/zendframework/zendframework/README-GIT.md
index 63b09655aea..1b4399adc06 100644
--- a/vendor/zendframework/zendframework/README-GIT.md
+++ b/vendor/zendframework/zendframework/README-GIT.md
@@ -89,7 +89,7 @@ can help catch code style issues before committing. Save it as
  * This pre-commit hooks will check for PHP errors (lint), and make sure the
  * code is PSR-2 compliant.
  *
- * Dependecy: PHP-CS-Fixer (https://github.com/fabpot/PHP-CS-Fixer)
+ * Dependency: PHP-CS-Fixer (https://github.com/fabpot/PHP-CS-Fixer)
  *
  * @author  Mardix  http://github.com/mardix
  * @author  Matthew Weier O'Phinney http://mwop.net/
@@ -169,7 +169,7 @@ the following:
 
 If you're tracking other branches -- for example, the "develop" branch, where
 new feature development occurs -- you'll want to do the same operations for that
-branch; simply substibute "develop" for "master".
+branch; simply substitute  "develop" for "master".
 
 ## Working on Zend Framework
 
diff --git a/vendor/zendframework/zendframework/README.md b/vendor/zendframework/zendframework/README.md
index f985d4b07ec..5457133fe1e 100644
--- a/vendor/zendframework/zendframework/README.md
+++ b/vendor/zendframework/zendframework/README.md
@@ -5,23 +5,35 @@ Develop: [![Build Status](https://secure.travis-ci.org/zendframework/zf2.png?bra
 
 ## RELEASE INFORMATION
 
-*Zend Framework 2.2.4*
+*Zend Framework 2.2.5*
 
-This is the fourth maintenance release for the 2.2 series.
+This is the fifth maintenance release for the 2.2 series.
 
-26 Aug 2013
+31 Oct 2013
 
-### UPDATES IN 2.2.4
+### SECURITY UPDATES IN 2.2.5
 
-This release fixes a regression introduced in 2.2.3 to the Form component.
+An issue with `Zend\Http\PhpEnvironment\RemoteAddress` was reported in
+[#5374](https://github.com/zendframework/zf2/pull/5374). Essentially, the class
+was not checking if `$_SERVER['REMOTE_ADDR']` was one of the trusted proxies
+configured, and as a result, `getIpAddressFromProxy()` could return an untrusted
+IP address. 
 
-Basically, a fix included in 2.2.3 created a situation that enforced the
-`preferFormInputFilter` flag; prior to 2.2.3, the code acted as if it the flag
-was enabled, but as a side effect of several bugs.
+The class was updated to check if `$_SERVER['REMOTE_ADDR']` is in the list of
+trusted proxies, and, if so, will return that value immediately before
+consulting the values in the `X-Forwarded-For` header.
 
-2.2.4 enables the flag by default, which restores the previous behavior, while
-retaining the fixes to 2.2.3. Additionally, the flag may now be set via form
-options passed either to a factory or to the `setOptions()` method.
+If you use the `RemoteAddr` `Zend\Session` validator, and are configuring
+trusted proxies, we recommend updating to 2.2.5 or later immediately.
+
+### UPDATES IN 2.2.5
+
+- [#5343](https://github.com/zendframework/zf2/pull/5343) removed the
+  DateTimeFormatter filter from DateTime form elements. This was done
+  due to the fact that it led to unexpected behavior when non-date inputs were
+  provided. However, since the DateTime element already incorporates a
+  DateValidator that accepts a date format, validation can still work as
+  expected.
 
 Please see [CHANGELOG.md](CHANGELOG.md).
 
diff --git a/vendor/zendframework/zendframework/bin/check-cs.sh b/vendor/zendframework/zendframework/bin/check-cs.sh
index 0fc3bb75b3e..86cd6fc3b49 100644
--- a/vendor/zendframework/zendframework/bin/check-cs.sh
+++ b/vendor/zendframework/zendframework/bin/check-cs.sh
@@ -1,7 +1,9 @@
 #!/bin/bash
 
-libraryCS=$(php php-cs-fixer.phar fix -v --dry-run --level=psr2 ./library)
-testsCS=$(php php-cs-fixer.phar fix -v --dry-run --level=psr2 ./tests)
+FIXER_PATH="`dirname $0`/../vendor/fabpot/php-cs-fixer/php-cs-fixer"
+
+libraryCS=$(php $FIXER_PATH fix -v --dry-run --level=psr2 ./library)
+testsCS=$(php $FIXER_PATH fix -v --dry-run --level=psr2 ./tests)
 
 if [[ "$libraryCS" || "$testsCS"  ]];
 then
diff --git a/vendor/zendframework/zendframework/bin/pluginmap_generator.php b/vendor/zendframework/zendframework/bin/pluginmap_generator.php
index 297f28b5925..733e284ab1e 100755
--- a/vendor/zendframework/zendframework/bin/pluginmap_generator.php
+++ b/vendor/zendframework/zendframework/bin/pluginmap_generator.php
@@ -122,11 +122,20 @@ $l = new \Zend\File\ClassFileLocator($path);
 // Iterate over each element in the path, and create a map of pluginname => classname
 $map    = new \stdClass;
 foreach ($l as $file) {
+    $namespaces = $file->getNamespaces();
     $namespace = empty($file->namespace) ? '' : $file->namespace . '\\';
-    $plugin    = strtolower($file->classname);
-    $class     = $namespace . $file->classname;
 
-    $map->{$plugin} = $class;
+    foreach ($file->getClasses() as $classname) {
+        $plugin = $classname;
+        foreach ($namespaces as $namespace) {
+            $namespace .= '\\';
+            if (0 === strpos($plugin, $namespace)) {
+                $plugin = str_replace($namespace, '', $plugin);
+            }
+        }
+        $plugin = strtolower($plugin);
+        $map->{$plugin} = $classname;
+    }
 }
 
 if ($appending) {
diff --git a/vendor/zendframework/zendframework/composer.json b/vendor/zendframework/zendframework/composer.json
index b165a6b9b04..bea42c3c828 100644
--- a/vendor/zendframework/zendframework/composer.json
+++ b/vendor/zendframework/zendframework/composer.json
@@ -16,6 +16,7 @@
         "ircmaxell/random-lib": "dev-master",
         "ircmaxell/security-lib": "dev-master",
         "ocramius/proxy-manager": "0.4.*",
+        "fabpot/php-cs-fixer": "*@dev",
         "phpunit/PHPUnit": "3.7.*"
     },
     "suggest": {
diff --git a/vendor/zendframework/zendframework/library/Zend/Authentication/Adapter/DbTable/AbstractAdapter.php b/vendor/zendframework/zendframework/library/Zend/Authentication/Adapter/DbTable/AbstractAdapter.php
index 02e0bbbcc75..46b3b61df9a 100644
--- a/vendor/zendframework/zendframework/library/Zend/Authentication/Adapter/DbTable/AbstractAdapter.php
+++ b/vendor/zendframework/zendframework/library/Zend/Authentication/Adapter/DbTable/AbstractAdapter.php
@@ -9,7 +9,6 @@
 
 namespace Zend\Authentication\Adapter\DbTable;
 
-
 use stdClass;
 use Zend\Authentication\Result as AuthenticationResult;
 use Zend\Authentication\Adapter\AbstractAdapter as BaseAdapter;
diff --git a/vendor/zendframework/zendframework/library/Zend/Authentication/Adapter/DbTable/CallbackCheckAdapter.php b/vendor/zendframework/zendframework/library/Zend/Authentication/Adapter/DbTable/CallbackCheckAdapter.php
index 4378a53982d..3608e97b420 100644
--- a/vendor/zendframework/zendframework/library/Zend/Authentication/Adapter/DbTable/CallbackCheckAdapter.php
+++ b/vendor/zendframework/zendframework/library/Zend/Authentication/Adapter/DbTable/CallbackCheckAdapter.php
@@ -45,7 +45,7 @@ class CallbackCheckAdapter extends AbstractAdapter
         if (null !== $credentialValidationCallback) {
             $this->setCredentialValidationCallback($credentialValidationCallback);
         } else {
-            $this->setCredentialValidationCallback(function($a, $b) {
+            $this->setCredentialValidationCallback(function ($a, $b) {
                 return $a === $b;
             });
         }
diff --git a/vendor/zendframework/zendframework/library/Zend/Barcode/Object/Code128.php b/vendor/zendframework/zendframework/library/Zend/Barcode/Object/Code128.php
index fb9dad1294c..fed351e6cd3 100644
--- a/vendor/zendframework/zendframework/library/Zend/Barcode/Object/Code128.php
+++ b/vendor/zendframework/zendframework/library/Zend/Barcode/Object/Code128.php
@@ -206,8 +206,6 @@ class Code128 extends AbstractObject
         }
 
         $currentCharset = null;
-        $sum = 0;
-        $fak = 0;
         $result = array();
 
         for ($pos = 0; $pos < strlen($string); $pos++) {
diff --git a/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/DbaIterator.php b/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/DbaIterator.php
index f6b5ed07db1..6befd7ac9a4 100644
--- a/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/DbaIterator.php
+++ b/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/DbaIterator.php
@@ -131,7 +131,7 @@ class DbaIterator implements IteratorInterface
     public function key()
     {
         if ($this->currentInternalKey === false) {
-            throw new Exception\RuntimeException("Iterater is on an invalid state");
+            throw new Exception\RuntimeException("Iterator is on an invalid state");
         }
 
         // remove namespace prefix
@@ -147,7 +147,7 @@ class DbaIterator implements IteratorInterface
     public function next()
     {
         if ($this->currentInternalKey === false) {
-            throw new Exception\RuntimeException("Iterater is on an invalid state");
+            throw new Exception\RuntimeException("Iterator is on an invalid state");
         }
 
         $this->currentInternalKey = dba_nextkey($this->handle);
diff --git a/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/MemcachedResourceManager.php b/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/MemcachedResourceManager.php
index 898e2c06586..9461bb15d28 100644
--- a/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/MemcachedResourceManager.php
+++ b/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/MemcachedResourceManager.php
@@ -489,7 +489,7 @@ class MemcachedResourceManager
 
             // array('host' => <host>[, 'port' => <port>[, 'weight' => <weight>]])
             if (!isset($server[0]) && isset($server['host'])) {
-                $host   = (string)$server['host'];
+                $host   = (string) $server['host'];
                 $port   = isset($server['port'])   ? (int) $server['port']   : $port;
                 $weight = isset($server['weight']) ? (int) $server['weight'] : $weight;
             }
@@ -513,7 +513,7 @@ class MemcachedResourceManager
                 $query = null;
                 parse_str($server['query'], $query);
                 if (isset($query['weight'])) {
-                    $weight = (int)$query['weight'];
+                    $weight = (int) $query['weight'];
                 }
             }
         }
diff --git a/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/Redis.php b/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/Redis.php
index af4ac75a815..b7e5726cd39 100644
--- a/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/Redis.php
+++ b/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/Redis.php
@@ -186,7 +186,7 @@ class Redis extends AbstractAdapter implements
         //combine the key => value pairs and remove all missing values
         return array_filter(
             array_combine($normalizedKeys, $results),
-            function($value) {
+            function ($value) {
                 return $value !== false;
             }
         );
diff --git a/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/RedisOptions.php b/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/RedisOptions.php
index 84c75de2fe7..9cd4ad0f3b2 100644
--- a/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/RedisOptions.php
+++ b/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/RedisOptions.php
@@ -10,6 +10,7 @@
 namespace Zend\Cache\Storage\Adapter;
 
 use Redis as RedisResource;
+use Zend\Cache\Exception;
 use Zend\Cache\Storage\Adapter\AdapterOptions;
 
 class RedisOptions extends AdapterOptions
diff --git a/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/RedisResourceManager.php b/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/RedisResourceManager.php
index 2fb6b8011f0..3b96b4af82f 100644
--- a/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/RedisResourceManager.php
+++ b/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/RedisResourceManager.php
@@ -479,7 +479,7 @@ class RedisResourceManager
     {
         if (!$this->hasResource($id)) {
             return $this->setResource($id, array(
-                'database' => (int)$database,
+                'database' => (int) $database,
             ));
         }
 
@@ -533,7 +533,7 @@ class RedisResourceManager
         }
 
         $resource = & $this->resources[$id];
-        return (int)$resource['version'];
+        return (int) $resource['version'];
     }
 
     /**
diff --git a/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/XCacheOptions.php b/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/XCacheOptions.php
index 49622f2eaee..7dfcf38237d 100644
--- a/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/XCacheOptions.php
+++ b/vendor/zendframework/zendframework/library/Zend/Cache/Storage/Adapter/XCacheOptions.php
@@ -74,7 +74,7 @@ class XCacheOptions extends AdapterOptions
      */
     public function setAdminUser($adminUser)
     {
-        $adminUser = ($adminUser === null) ? null : (string)$adminUser;
+        $adminUser = ($adminUser === null) ? null : (string) $adminUser;
         if ($this->adminUser !== $adminUser) {
             $this->triggerOptionEvent('admin_user', $adminUser);
             $this->adminUser = $adminUser;
@@ -126,7 +126,7 @@ class XCacheOptions extends AdapterOptions
      */
     public function setAdminPass($adminPass)
     {
-        $adminPass = ($adminPass === null) ? null : (string)$adminPass;
+        $adminPass = ($adminPass === null) ? null : (string) $adminPass;
         if ($this->adminPass !== $adminPass) {
             $this->triggerOptionEvent('admin_pass', $adminPass);
             $this->adminPass = $adminPass;
diff --git a/vendor/zendframework/zendframework/library/Zend/Code/Generator/DocBlockGenerator.php b/vendor/zendframework/zendframework/library/Zend/Code/Generator/DocBlockGenerator.php
index 0758fb3e36d..78f0b7febfc 100644
--- a/vendor/zendframework/zendframework/library/Zend/Code/Generator/DocBlockGenerator.php
+++ b/vendor/zendframework/zendframework/library/Zend/Code/Generator/DocBlockGenerator.php
@@ -9,7 +9,7 @@
 
 namespace Zend\Code\Generator;
 
-use Zend\Code\Generator\DocBlock\Tag as DockBlockTag;
+use Zend\Code\Generator\DocBlock\Tag as DocBlockTag;
 use Zend\Code\Reflection\DocBlockReflection;
 
 class DocBlockGenerator extends AbstractGenerator
@@ -56,7 +56,7 @@ class DocBlockGenerator extends AbstractGenerator
         $docBlock->setLongDescription($reflectionDocBlock->getLongDescription());
 
         foreach ($reflectionDocBlock->getTags() as $tag) {
-            $docBlock->setTag(DockBlockTag::fromReflection($tag));
+            $docBlock->setTag(DocBlockTag::fromReflection($tag));
         }
 
         return $docBlock;
@@ -162,15 +162,15 @@ class DocBlockGenerator extends AbstractGenerator
     }
 
     /**
-     * @param  array|DockBlockTag $tag
+     * @param  array|DocBlockTag $tag
      * @throws Exception\InvalidArgumentException
      * @return DocBlockGenerator
      */
     public function setTag($tag)
     {
         if (is_array($tag)) {
-            $tag = new DockBlockTag($tag);
-        } elseif (!$tag instanceof DockBlockTag) {
+            $tag = new DocBlockTag($tag);
+        } elseif (!$tag instanceof DocBlockTag) {
             throw new Exception\InvalidArgumentException(sprintf(
                 '%s expects either an array of method options or an instance of %s\DocBlock\Tag',
                 __METHOD__,
@@ -183,7 +183,7 @@ class DocBlockGenerator extends AbstractGenerator
     }
 
     /**
-     * @return DockBlockTag[]
+     * @return DocBlockTag[]
      */
     public function getTags()
     {
diff --git a/vendor/zendframework/zendframework/library/Zend/Code/Generator/FileGenerator.php b/vendor/zendframework/zendframework/library/Zend/Code/Generator/FileGenerator.php
index f9cd83a7b1e..8894ccc1443 100644
--- a/vendor/zendframework/zendframework/library/Zend/Code/Generator/FileGenerator.php
+++ b/vendor/zendframework/zendframework/library/Zend/Code/Generator/FileGenerator.php
@@ -92,10 +92,16 @@ class FileGenerator extends AbstractGenerator
 
         $body = $fileReflection->getContents();
 
+        $uses = $fileReflection->getUses();
+
         foreach ($fileReflection->getClasses() as $class) {
             $phpClass = ClassGenerator::fromReflection($class);
             $phpClass->setContainingFileGenerator($file);
 
+            foreach ($uses as $fileUse) {
+                $phpClass->addUse($fileUse['use'], $fileUse['as']);
+            }
+
             $file->setClass($phpClass);
 
             $classStartLine = $class->getStartLine(true);
@@ -126,7 +132,6 @@ class FileGenerator extends AbstractGenerator
             $file->setNamespace($namespace);
         }
 
-        $uses = $fileReflection->getUses();
         if ($uses) {
             $file->setUses($uses);
         }
@@ -305,7 +310,7 @@ class FileGenerator extends AbstractGenerator
     public function setUses(array $uses)
     {
         foreach ($uses as $use) {
-            $use = (array)$use;
+            $use = (array) $use;
             if (array_key_exists('use', $use) && array_key_exists('as', $use)) {
                 $import = $use['use'];
                 $alias  = $use['as'];
diff --git a/vendor/zendframework/zendframework/library/Zend/Code/Generator/MethodGenerator.php b/vendor/zendframework/zendframework/library/Zend/Code/Generator/MethodGenerator.php
index 7cef4f22562..cb246f33907 100644
--- a/vendor/zendframework/zendframework/library/Zend/Code/Generator/MethodGenerator.php
+++ b/vendor/zendframework/zendframework/library/Zend/Code/Generator/MethodGenerator.php
@@ -251,7 +251,13 @@ class MethodGenerator extends AbstractMemberGenerator
             $output .= implode(', ', $parameterOutput);
         }
 
-        $output .= ')' . self::LINE_FEED . $indent . '{' . self::LINE_FEED;
+        $output .= ')';
+
+        if ($this->isAbstract()) {
+            return $output . ';';
+        }
+
+        $output .= self::LINE_FEED . $indent . '{' . self::LINE_FEED;
 
         if ($this->body) {
             $output .= preg_replace('#^(.+?)$#m', $indent . $indent . '$1', trim($this->body))
diff --git a/vendor/zendframework/zendframework/library/Zend/Code/Generator/ParameterGenerator.php b/vendor/zendframework/zendframework/library/Zend/Code/Generator/ParameterGenerator.php
index f9269fee47c..ef4eb5a3ad9 100644
--- a/vendor/zendframework/zendframework/library/Zend/Code/Generator/ParameterGenerator.php
+++ b/vendor/zendframework/zendframework/library/Zend/Code/Generator/ParameterGenerator.php
@@ -11,8 +11,6 @@ namespace Zend\Code\Generator;
 
 use Zend\Code\Reflection\ParameterReflection;
 
-/**
- */
 class ParameterGenerator extends AbstractGenerator
 {
     /**
@@ -64,10 +62,8 @@ class ParameterGenerator extends AbstractGenerator
                 $parameterType = $typeClass->getName();
                 $currentNamespace = $reflectionParameter->getDeclaringClass()->getNamespaceName();
 
-                if (!empty($currentNamespace)) {
-                    if (substr($parameterType, 0, strlen($currentNamespace)) == $currentNamespace) {
-                        $parameterType = substr($parameterType, strlen($currentNamespace) + 1);
-                    }
+                if (!empty($currentNamespace) && substr($parameterType, 0, strlen($currentNamespace)) == $currentNamespace) {
+                    $parameterType = substr($parameterType, strlen($currentNamespace) + 1);
                 } else {
                     $parameterType = '\\' . trim($parameterType, '\\');
                 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Code/Reflection/ClassReflection.php b/vendor/zendframework/zendframework/library/Zend/Code/Reflection/ClassReflection.php
index 5e87a4f3aec..a5c13952bc6 100644
--- a/vendor/zendframework/zendframework/library/Zend/Code/Reflection/ClassReflection.php
+++ b/vendor/zendframework/zendframework/library/Zend/Code/Reflection/ClassReflection.php
@@ -68,16 +68,24 @@ class ClassReflection extends ReflectionClass implements ReflectionInterface
     public function getAnnotations(AnnotationManager $annotationManager)
     {
         $docComment = $this->getDocComment();
+
         if ($docComment == '') {
             return false;
         }
 
-        if (!$this->annotations) {
-            $fileScanner       = new FileScanner($this->getFileName());
-            $nameInformation   = $fileScanner->getClassNameInformation($this->getName());
-            $this->annotations = new AnnotationScanner($annotationManager, $docComment, $nameInformation);
+        if ($this->annotations) {
+            return $this->annotations;
         }
 
+        $fileScanner       = $this->createFileScanner($this->getFileName());
+        $nameInformation   = $fileScanner->getClassNameInformation($this->getName());
+
+        if (!$nameInformation) {
+            return false;
+        }
+
+        $this->annotations = new AnnotationScanner($annotationManager, $docComment, $nameInformation);
+
         return $this->annotations;
     }
 
@@ -227,4 +235,19 @@ class ClassReflection extends ReflectionClass implements ReflectionInterface
     {
         return parent::__toString();
     }
+
+    /**
+     * Creates a new FileScanner instance.
+     *
+     * By having this as a seperate method it allows the method to be overridden
+     * if a different FileScanner is needed.
+     *
+     * @param  string $filename
+     *
+     * @return FileScanner
+     */
+    protected function createFileScanner($filename)
+    {
+        return new FileScanner($filename);
+    }
 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Code/Reflection/DocBlock/Tag/ThrowsTag.php b/vendor/zendframework/zendframework/library/Zend/Code/Reflection/DocBlock/Tag/ThrowsTag.php
index fbc41a475e0..14b6e25f63e 100644
--- a/vendor/zendframework/zendframework/library/Zend/Code/Reflection/DocBlock/Tag/ThrowsTag.php
+++ b/vendor/zendframework/zendframework/library/Zend/Code/Reflection/DocBlock/Tag/ThrowsTag.php
@@ -12,9 +12,9 @@ namespace Zend\Code\Reflection\DocBlock\Tag;
 class ThrowsTag implements TagInterface, PhpDocTypedTagInterface
 {
     /**
-     * @var string
+     * @var array
      */
-    protected $type = null;
+    protected $types = array();
 
     /**
      * @var string
@@ -38,7 +38,7 @@ class ThrowsTag implements TagInterface, PhpDocTypedTagInterface
         $matches = array();
         preg_match('#([\w|\\\]+)(?:\s+(.*))?#', $tagDocBlockLine, $matches);
 
-        $this->type = $matches[1];
+        $this->types = explode('|', $matches[1]);
 
         if (isset($matches[2])) {
             $this->description = $matches[2];
@@ -53,14 +53,20 @@ class ThrowsTag implements TagInterface, PhpDocTypedTagInterface
      */
     public function getType()
     {
-        return $this->type;
+        return implode('|', $this->getTypes());
     }
 
+    /**
+     * @return array
+     */
     public function getTypes()
     {
-        return array($this->type);
+        return $this->types;
     }
 
+    /**
+     * @return string
+     */
     public function getDescription()
     {
         return $this->description;
diff --git a/vendor/zendframework/zendframework/library/Zend/Code/Reflection/MethodReflection.php b/vendor/zendframework/zendframework/library/Zend/Code/Reflection/MethodReflection.php
index 4ca55c41e61..81a7bd5e34b 100644
--- a/vendor/zendframework/zendframework/library/Zend/Code/Reflection/MethodReflection.php
+++ b/vendor/zendframework/zendframework/library/Zend/Code/Reflection/MethodReflection.php
@@ -10,7 +10,6 @@
 namespace Zend\Code\Reflection;
 
 use ReflectionMethod as PhpReflectionMethod;
-use Zend\Code\Annotation\AnnotationCollection;
 use Zend\Code\Annotation\AnnotationManager;
 use Zend\Code\Scanner\AnnotationScanner;
 use Zend\Code\Scanner\CachingFileScanner;
@@ -48,13 +47,19 @@ class MethodReflection extends PhpReflectionMethod implements ReflectionInterfac
             return false;
         }
 
-        if (!$this->annotations) {
-            $cachingFileScanner = new CachingFileScanner($this->getFileName());
-            $nameInformation    = $cachingFileScanner->getClassNameInformation($this->getDeclaringClass()->getName());
+        if ($this->annotations) {
+            return $this->annotations;
+        }
+
+        $cachingFileScanner = $this->createFileScanner($this->getFileName());
+        $nameInformation    = $cachingFileScanner->getClassNameInformation($this->getDeclaringClass()->getName());
 
-            $this->annotations = new AnnotationScanner($annotationManager, $docComment, $nameInformation);
+        if (!$nameInformation) {
+            return false;
         }
 
+        $this->annotations = new AnnotationScanner($annotationManager, $docComment, $nameInformation);
+
         return $this->annotations;
     }
 
@@ -166,4 +171,19 @@ class MethodReflection extends PhpReflectionMethod implements ReflectionInterfac
     {
         return parent::__toString();
     }
+
+    /**
+     * Creates a new FileScanner instance.
+     *
+     * By having this as a seperate method it allows the method to be overridden
+     * if a different FileScanner is needed.
+     *
+     * @param  string $filename
+     *
+     * @return FileScanner
+     */
+    protected function createFileScanner($filename)
+    {
+        return new CachingFileScanner($filename);
+    }
 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Code/Reflection/PropertyReflection.php b/vendor/zendframework/zendframework/library/Zend/Code/Reflection/PropertyReflection.php
index 62b7751f6af..e9cecfee730 100644
--- a/vendor/zendframework/zendframework/library/Zend/Code/Reflection/PropertyReflection.php
+++ b/vendor/zendframework/zendframework/library/Zend/Code/Reflection/PropertyReflection.php
@@ -77,8 +77,13 @@ class PropertyReflection extends PhpReflectionProperty implements ReflectionInte
         }
 
         $class              = $this->getDeclaringClass();
-        $cachingFileScanner = new CachingFileScanner($class->getFileName());
+        $cachingFileScanner = $this->createFileScanner($class->getFileName());
         $nameInformation    = $cachingFileScanner->getClassNameInformation($class->getName());
+
+        if (!$nameInformation) {
+            return false;
+        }
+
         $this->annotations  = new AnnotationScanner($annotationManager, $docComment, $nameInformation);
 
         return $this->annotations;
@@ -88,4 +93,19 @@ class PropertyReflection extends PhpReflectionProperty implements ReflectionInte
     {
         return $this->__toString();
     }
+
+    /**
+     * Creates a new FileScanner instance.
+     *
+     * By having this as a seperate method it allows the method to be overridden
+     * if a different FileScanner is needed.
+     *
+     * @param  string $filename
+     *
+     * @return FileScanner
+     */
+    protected function createFileScanner($filename)
+    {
+        return new CachingFileScanner($filename);
+    }
 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Config/Config.php b/vendor/zendframework/zendframework/library/Zend/Config/Config.php
index badd765d5d7..a1e1f7d65fe 100644
--- a/vendor/zendframework/zendframework/library/Zend/Config/Config.php
+++ b/vendor/zendframework/zendframework/library/Zend/Config/Config.php
@@ -38,7 +38,7 @@ class Config implements Countable, Iterator, ArrayAccess
     protected $count;
 
     /**
-     * Data withing the configuration.
+     * Data within the configuration.
      *
      * @var array
      */
diff --git a/vendor/zendframework/zendframework/library/Zend/Config/Factory.php b/vendor/zendframework/zendframework/library/Zend/Config/Factory.php
index d00a6abcd87..86fe6b6a3ce 100644
--- a/vendor/zendframework/zendframework/library/Zend/Config/Factory.php
+++ b/vendor/zendframework/zendframework/library/Zend/Config/Factory.php
@@ -157,16 +157,16 @@ class Factory
             );
         }
 
-        if (!isset(self::$writerExtensions[$extension])) {
+        if (!isset(static::$writerExtensions[$extension])) {
             throw new Exception\RuntimeException(
                 "Unsupported config file extension: '.{$extension}' for writing."
             );
         }
 
-        $writer = self::$writerExtensions[$extension];
+        $writer = static::$writerExtensions[$extension];
         if (($writer instanceOf Writer\AbstractWriter) === false) {
             $writer = self::getWriterPluginManager()->get($writer);
-            self::$writerExtensions[$extension] = $writer;
+            static::$writerExtensions[$extension] = $writer;
         }
 
         if (is_object($config)) {
@@ -210,7 +210,7 @@ class Factory
      */
     public static function setWriterPluginManager(WriterPluginManager $writers)
     {
-        self::$writers = $writers;
+        static::$writers = $writers;
     }
 
     /**
@@ -272,6 +272,6 @@ class Factory
             ));
         }
 
-        self::$writerExtensions[$extension] = $writer;
+        static::$writerExtensions[$extension] = $writer;
     }
 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Config/WriterPluginManager.php b/vendor/zendframework/zendframework/library/Zend/Config/WriterPluginManager.php
index e41c7d31d73..d3d709ed9ea 100644
--- a/vendor/zendframework/zendframework/library/Zend/Config/WriterPluginManager.php
+++ b/vendor/zendframework/zendframework/library/Zend/Config/WriterPluginManager.php
@@ -14,9 +14,9 @@ use Zend\ServiceManager\AbstractPluginManager;
 class WriterPluginManager extends AbstractPluginManager
 {
     protected $invokableClasses = array(
-        'php'  => 'Zend\Config\Writer\PhpArray',
         'ini'  => 'Zend\Config\Writer\Ini',
         'json' => 'Zend\Config\Writer\Json',
+        'php'  => 'Zend\Config\Writer\PhpArray',
         'yaml' => 'Zend\Config\Writer\Yaml',
         'xml'  => 'Zend\Config\Writer\Xml',
     );
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php
index ab99d05d87d..0d344150622 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php
@@ -153,7 +153,7 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
         $p = $this->connectionParameters;
 
         // given a list of key names, test for existence in $p
-        $findParameterValue = function(array $names) use ($p) {
+        $findParameterValue = function (array $names) use ($p) {
             foreach ($names as $name) {
                 if (isset($p[$name])) {
                     return $p[$name];
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Oci8/Connection.php b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Oci8/Connection.php
index 6ff5817e2aa..0092bc75ecb 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Oci8/Connection.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Oci8/Connection.php
@@ -170,7 +170,7 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
         $p = $this->connectionParameters;
 
         // given a list of key names, test for existence in $p
-        $findParameterValue = function(array $names) use ($p) {
+        $findParameterValue = function (array $names) use ($p) {
             foreach ($names as $name) {
                 if (isset($p[$name])) {
                     return $p[$name];
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/RowGateway/AbstractRowGateway.php b/vendor/zendframework/zendframework/library/Zend/Db/RowGateway/AbstractRowGateway.php
index ffb816e0dbd..d7589fff833 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/RowGateway/AbstractRowGateway.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/RowGateway/AbstractRowGateway.php
@@ -283,6 +283,7 @@ abstract class AbstractRowGateway implements ArrayAccess, Countable, RowGatewayI
      * __get
      *
      * @param  string $name
+     * @throws Exception\InvalidArgumentException
      * @return mixed
      */
     public function __get($name)
@@ -290,7 +291,7 @@ abstract class AbstractRowGateway implements ArrayAccess, Countable, RowGatewayI
         if (array_key_exists($name, $this->data)) {
             return $this->data[$name];
         } else {
-            throw new \InvalidArgumentException('Not a valid column in this row: ' . $name);
+            throw new Exception\InvalidArgumentException('Not a valid column in this row: ' . $name);
         }
     }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Sql/Insert.php b/vendor/zendframework/zendframework/library/Zend/Db/Sql/Insert.php
index 1af38099e68..0b08cbc9a73 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/Sql/Insert.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Sql/Insert.php
@@ -92,7 +92,7 @@ class Insert extends AbstractSql implements SqlInterface, PreparableSqlInterface
     public function values(array $values, $flag = self::VALUES_SET)
     {
         if ($values == null) {
-            throw new \InvalidArgumentException('values() expects an array of values');
+            throw new Exception\InvalidArgumentException('values() expects an array of values');
         }
 
         // determine if this is assoc or a set of values
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/Like.php b/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/Like.php
index 6e4658da392..3f53ab0968e 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/Like.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/Like.php
@@ -42,11 +42,13 @@ class Like implements PredicateInterface
     }
 
     /**
-     * @param $identifier
+     * @param  string $identifier
+     * @return self
      */
     public function setIdentifier($identifier)
     {
         $this->identifier = $identifier;
+        return $this;
     }
 
     /**
@@ -58,11 +60,13 @@ class Like implements PredicateInterface
     }
 
     /**
-     * @param $like
+     * @param  string $like
+     * @return self
      */
     public function setLike($like)
     {
         $this->like = $like;
+        return $this;
     }
 
     /**
@@ -74,11 +78,13 @@ class Like implements PredicateInterface
     }
 
     /**
-     * @param $specification
+     * @param  string $specification
+     * @return self
      */
     public function setSpecification($specification)
     {
         $this->specification = $specification;
+        return $this;
     }
 
     /**
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/NotLike.php b/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/NotLike.php
new file mode 100644
index 00000000000..b3963d83914
--- /dev/null
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/NotLike.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Db\Sql\Predicate;
+
+
+class NotLike extends Like
+{
+    protected $specification = '%1$s NOT LIKE %2$s';
+}
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/Predicate.php b/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/Predicate.php
index 7581e2a7b55..ee0c83594e8 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/Predicate.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/Predicate.php
@@ -9,6 +9,8 @@
 
 namespace Zend\Db\Sql\Predicate;
 
+use Zend\Db\Sql\Exception\RuntimeException;
+
 /**
  * @property Predicate $and
  * @property Predicate $or
@@ -51,12 +53,12 @@ class Predicate extends PredicateSet
      * Indicate end of nested predicate
      *
      * @return Predicate
-     * @throws \RuntimeException
+     * @throws RuntimeException
      */
     public function unnest()
     {
         if ($this->unnest == null) {
-            throw new \RuntimeException('Not nested');
+            throw new RuntimeException('Not nested');
         }
         $unnset       = $this->unnest;
         $this->unnest = null;
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/TableGateway/AbstractTableGateway.php b/vendor/zendframework/zendframework/library/Zend/Db/TableGateway/AbstractTableGateway.php
index 26ed20ce303..c673687858f 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/TableGateway/AbstractTableGateway.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/TableGateway/AbstractTableGateway.php
@@ -211,13 +211,13 @@ abstract class AbstractTableGateway implements TableGatewayInterface
     /**
      * @param Select $select
      * @return ResultSet
-     * @throws \RuntimeException
+     * @throws Exception\RuntimeException
      */
     protected function executeSelect(Select $select)
     {
         $selectState = $select->getRawState();
         if ($selectState['table'] != $this->table) {
-            throw new \RuntimeException('The table name of the provided select object must match that of the table');
+            throw new Exception\RuntimeException('The table name of the provided select object must match that of the table');
         }
 
         if ($selectState['columns'] == array(Select::SQL_STAR)
diff --git a/vendor/zendframework/zendframework/library/Zend/Debug/Debug.php b/vendor/zendframework/zendframework/library/Zend/Debug/Debug.php
index e20c500b21f..0f8aac25d1e 100644
--- a/vendor/zendframework/zendframework/library/Zend/Debug/Debug.php
+++ b/vendor/zendframework/zendframework/library/Zend/Debug/Debug.php
@@ -104,7 +104,9 @@ class Debug
                     . PHP_EOL . $output
                     . PHP_EOL;
         } else {
-            if (!extension_loaded('xdebug')) {
+            if (null !== static::$escaper) {
+                $output = static::$escaper->escapeHtml($output);
+            } elseif (!extension_loaded('xdebug')) {
                 $output = static::getEscaper()->escapeHtml($output);
             }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Debug/composer.json b/vendor/zendframework/zendframework/library/Zend/Debug/composer.json
index 28856f3c028..9ebd8bdd672 100644
--- a/vendor/zendframework/zendframework/library/Zend/Debug/composer.json
+++ b/vendor/zendframework/zendframework/library/Zend/Debug/composer.json
@@ -13,11 +13,14 @@
     },
     "target-dir": "Zend/Debug",
     "require": {
-        "php": ">=5.3.3",
-        "zendframework/zend-escaper": "self.version"
+        "php": ">=5.3.3"
+    },
+    "require-dev": {
+        "zendframework/zend-escaper": "*"
     },
     "suggest": {
-        "ext/xdebug": "XDebug, for better backtrace output"
+        "ext/xdebug": "XDebug, for better backtrace output",
+        "zendframework/zend-escaper": "To support escaped output"
     },
     "extra": {
         "branch-alias": {
diff --git a/vendor/zendframework/zendframework/library/Zend/Di/Definition/CompilerDefinition.php b/vendor/zendframework/zendframework/library/Zend/Di/Definition/CompilerDefinition.php
index fac3d43ff27..b980d17b192 100644
--- a/vendor/zendframework/zendframework/library/Zend/Di/Definition/CompilerDefinition.php
+++ b/vendor/zendframework/zendframework/library/Zend/Di/Definition/CompilerDefinition.php
@@ -254,8 +254,9 @@ class CompilerDefinition implements DefinitionInterface
                 preg_match($interfaceInjectorPattern, $rIface->getName(), $matches);
                 if ($matches) {
                     foreach ($rIface->getMethods() as $rMethod) {
-                        if ($rMethod->getName() === '__construct') {
+                        if (($rMethod->getName() === '__construct') || !count($rMethod->getParameters())) {
                             // constructor not allowed in interfaces
+                            // ignore methods without parameters
                             continue;
                         }
                         $def['methods'][$rMethod->getName()] = true;
diff --git a/vendor/zendframework/zendframework/library/Zend/Di/Definition/RuntimeDefinition.php b/vendor/zendframework/zendframework/library/Zend/Di/Definition/RuntimeDefinition.php
index 9df696ed2db..8d685994492 100644
--- a/vendor/zendframework/zendframework/library/Zend/Di/Definition/RuntimeDefinition.php
+++ b/vendor/zendframework/zendframework/library/Zend/Di/Definition/RuntimeDefinition.php
@@ -302,8 +302,9 @@ class RuntimeDefinition implements DefinitionInterface
                 preg_match($interfaceInjectorPattern, $rIface->getName(), $matches);
                 if ($matches) {
                     foreach ($rIface->getMethods() as $rMethod) {
-                        if ($rMethod->getName() === '__construct') {
+                        if (($rMethod->getName() === '__construct') || !count($rMethod->getParameters())) {
                             // constructor not allowed in interfaces
+                            // Don't call interface methods without a parameter (Some aware interfaces define setters in ZF2)
                             continue;
                         }
                         $def['methods'][$rMethod->getName()] = Di::METHOD_IS_AWARE;
diff --git a/vendor/zendframework/zendframework/library/Zend/Dom/Css2Xpath.php b/vendor/zendframework/zendframework/library/Zend/Dom/Css2Xpath.php
index c2acf15274d..0b3a7752b53 100644
--- a/vendor/zendframework/zendframework/library/Zend/Dom/Css2Xpath.php
+++ b/vendor/zendframework/zendframework/library/Zend/Dom/Css2Xpath.php
@@ -85,7 +85,7 @@ class Css2Xpath
 
         // arbitrary attribute strict equality
         $expression = preg_replace_callback(
-            '|\[([a-z0-9_-]+)=[\'"]([^\'"]+)[\'"]\]|i',
+            '|\[@?([a-z0-9_-]+)=[\'"]([^\'"]+)[\'"]\]|i',
             function ($matches) {
                 return '[@' . strtolower($matches[1]) . "='" . $matches[2] . "']";
             },
@@ -113,11 +113,13 @@ class Css2Xpath
         );
 
         // Classes
-        $expression = preg_replace(
-            '|\.([a-z][a-z0-9_-]*)|i',
-            "[contains(concat(' ', normalize-space(@class), ' '), ' \$1 ')]",
-            $expression
-        );
+        if(false === strpos($expression, "[@")) {
+            $expression = preg_replace(
+                '|\.([a-z][a-z0-9_-]*)|i',
+                "[contains(concat(' ', normalize-space(@class), ' '), ' \$1 ')]",
+                $expression
+            );
+        }
 
         /** ZF-9764 -- remove double asterisk */
         $expression = str_replace('**', '*', $expression);
diff --git a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/Atom.php b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/Atom.php
index 1758f4ff68e..de4c631a40c 100644
--- a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/Atom.php
+++ b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/Atom.php
@@ -24,7 +24,7 @@ class Atom extends Renderer\AbstractRenderer implements Renderer\RendererInterfa
      *
      * @param  Writer\Entry $container
      */
-    public function __construct (Writer\Entry $container)
+    public function __construct(Writer\Entry $container)
     {
         parent::__construct($container);
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/Atom/Deleted.php b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/Atom/Deleted.php
index 3cefe3e3007..cde7067ef78 100644
--- a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/Atom/Deleted.php
+++ b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/Atom/Deleted.php
@@ -22,7 +22,7 @@ class Deleted extends Renderer\AbstractRenderer implements Renderer\RendererInte
      *
      * @param  Writer\Deleted $container
      */
-    public function __construct (Writer\Deleted $container)
+    public function __construct(Writer\Deleted $container)
     {
         parent::__construct($container);
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/AtomDeleted.php b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/AtomDeleted.php
index fd12eef5868..f7cbd9ac9b9 100644
--- a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/AtomDeleted.php
+++ b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/AtomDeleted.php
@@ -24,7 +24,7 @@ class AtomDeleted extends Renderer\AbstractRenderer implements Renderer\Renderer
      *
      * @param  Writer\Deleted $container
      */
-    public function __construct (Writer\Deleted $container)
+    public function __construct(Writer\Deleted $container)
     {
         parent::__construct($container);
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/Rss.php b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/Rss.php
index 8d352c9c190..f00960d55d1 100644
--- a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/Rss.php
+++ b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Entry/Rss.php
@@ -25,7 +25,7 @@ class Rss extends Renderer\AbstractRenderer implements Renderer\RendererInterfac
      *
      * @param  Writer\Entry $container
      */
-    public function __construct (Writer\Entry $container)
+    public function __construct(Writer\Entry $container)
     {
         parent::__construct($container);
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Atom.php b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Atom.php
index 78abdd55a17..ecc58d584b2 100644
--- a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Atom.php
+++ b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Atom.php
@@ -22,7 +22,7 @@ class Atom extends AbstractAtom implements Renderer\RendererInterface
      *
      * @param  Writer\Feed $container
      */
-    public function __construct (Writer\Feed $container)
+    public function __construct(Writer\Feed $container)
     {
         parent::__construct($container);
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Atom/AbstractAtom.php b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Atom/AbstractAtom.php
index a36dab28eaf..366ae0bbca9 100644
--- a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Atom/AbstractAtom.php
+++ b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Atom/AbstractAtom.php
@@ -22,7 +22,7 @@ class AbstractAtom extends Feed\Writer\Renderer\AbstractRenderer
      *
      * @param  \Zend\Feed\Writer\Feed $container
      */
-    public function __construct ($container)
+    public function __construct($container)
     {
         parent::__construct($container);
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Atom/Source.php b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Atom/Source.php
index e02844390ef..5f42a9b09db 100644
--- a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Atom/Source.php
+++ b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Atom/Source.php
@@ -22,7 +22,7 @@ class Source extends AbstractAtom implements Renderer\RendererInterface
      *
      * @param  Writer\Source $container
      */
-    public function __construct (Writer\Source $container)
+    public function __construct(Writer\Source $container)
     {
         parent::__construct($container);
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/AtomSource.php b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/AtomSource.php
index de9654c58e4..fa9f33835f7 100644
--- a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/AtomSource.php
+++ b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/AtomSource.php
@@ -24,7 +24,7 @@ class AtomSource extends AbstractAtom implements Renderer\RendererInterface
      *
      * @param  Writer\Source $container
      */
-    public function __construct (Writer\Source $container)
+    public function __construct(Writer\Source $container)
     {
         parent::__construct($container);
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Rss.php b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Rss.php
index 84056a92286..9719c07ecf6 100644
--- a/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Rss.php
+++ b/vendor/zendframework/zendframework/library/Zend/Feed/Writer/Renderer/Feed/Rss.php
@@ -26,7 +26,7 @@ class Rss extends Renderer\AbstractRenderer implements Renderer\RendererInterfac
      *
      * @param  Writer\Feed $container
      */
-    public function __construct (Writer\Feed $container)
+    public function __construct(Writer\Feed $container)
     {
         parent::__construct($container);
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/File/ClassFileLocator.php b/vendor/zendframework/zendframework/library/Zend/File/ClassFileLocator.php
index 666b4bf9926..b4d93fe1396 100644
--- a/vendor/zendframework/zendframework/library/Zend/File/ClassFileLocator.php
+++ b/vendor/zendframework/zendframework/library/Zend/File/ClassFileLocator.php
@@ -139,6 +139,9 @@ class ClassFileLocator extends FilterIterator
                             }
                             $class = (null === $namespace) ? $content : $namespace . '\\' . $content;
                             $file->addClass($class);
+                            if ($namespace) {
+                                $file->addNamespace($namespace);
+                            }
                             $namespace = null;
                             break;
                         }
diff --git a/vendor/zendframework/zendframework/library/Zend/File/PhpClassFile.php b/vendor/zendframework/zendframework/library/Zend/File/PhpClassFile.php
index 5a95967df8c..309d63e96f2 100644
--- a/vendor/zendframework/zendframework/library/Zend/File/PhpClassFile.php
+++ b/vendor/zendframework/zendframework/library/Zend/File/PhpClassFile.php
@@ -19,7 +19,12 @@ class PhpClassFile extends SplFileInfo
     /**
      * @var array
      */
-    protected $classes;
+    protected $classes = array();
+
+    /**
+     * @var array
+     */
+    protected $namespaces = array();
 
     /**
      * Get classes
@@ -31,15 +36,40 @@ class PhpClassFile extends SplFileInfo
         return $this->classes;
     }
 
+    /**
+     * Get namespaces
+     *
+     * @return array
+     */
+    public function getNamespaces()
+    {
+        return $this->namespaces;
+    }
+
     /**
      * Add class
      *
      * @param  string $class
-     * @return PhpClassFile
+     * @return self
      */
     public function addClass($class)
     {
         $this->classes[] = $class;
         return $this;
     }
+
+    /**
+     * Add namespace
+     *
+     * @param  string $namespace
+     * @return self
+     */
+    public function addNamespace($namespace)
+    {
+        if (in_array($namespace, $this->namespaces)) {
+            return $this;
+        }
+        $this->namespaces[] = $namespace;
+        return $this;
+    }
 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Filter/BaseName.php b/vendor/zendframework/zendframework/library/Zend/Filter/BaseName.php
index d3a0d0e0a62..5d2ed0db891 100644
--- a/vendor/zendframework/zendframework/library/Zend/Filter/BaseName.php
+++ b/vendor/zendframework/zendframework/library/Zend/Filter/BaseName.php
@@ -28,7 +28,7 @@ class BaseName extends AbstractFilter
             return null;
         }
 
-        if (!is_scalar($value)){
+        if (!is_scalar($value)) {
             trigger_error(
                 sprintf(
                     '%s expects parameter to be scalar, "%s" given; cannot filter',
diff --git a/vendor/zendframework/zendframework/library/Zend/Filter/Digits.php b/vendor/zendframework/zendframework/library/Zend/Filter/Digits.php
index 15cfc55e87e..71905854e1c 100644
--- a/vendor/zendframework/zendframework/library/Zend/Filter/Digits.php
+++ b/vendor/zendframework/zendframework/library/Zend/Filter/Digits.php
@@ -30,7 +30,7 @@ class Digits extends AbstractFilter
             return null;
         }
 
-        if (!is_scalar($value)){
+        if (!is_scalar($value)) {
             trigger_error(
                 sprintf(
                     '%s expects parameter to be scalar, "%s" given; cannot filter',
diff --git a/vendor/zendframework/zendframework/library/Zend/Filter/HtmlEntities.php b/vendor/zendframework/zendframework/library/Zend/Filter/HtmlEntities.php
index c518e0f7c99..962fb389736 100644
--- a/vendor/zendframework/zendframework/library/Zend/Filter/HtmlEntities.php
+++ b/vendor/zendframework/zendframework/library/Zend/Filter/HtmlEntities.php
@@ -186,7 +186,7 @@ class HtmlEntities extends AbstractFilter
             return null;
         }
 
-        if (!is_scalar($value)){
+        if (!is_scalar($value)) {
             trigger_error(
                 sprintf(
                     '%s expects parameter to be scalar, "%s" given; cannot filter',
diff --git a/vendor/zendframework/zendframework/library/Zend/Filter/Int.php b/vendor/zendframework/zendframework/library/Zend/Filter/Int.php
index e82e96d3d5c..515ad0d2f79 100644
--- a/vendor/zendframework/zendframework/library/Zend/Filter/Int.php
+++ b/vendor/zendframework/zendframework/library/Zend/Filter/Int.php
@@ -28,7 +28,7 @@ class Int extends AbstractFilter
             return null;
         }
 
-        if (!is_scalar($value)){
+        if (!is_scalar($value)) {
             trigger_error(
                 sprintf(
                     '%s expects parameter to be scalar, "%s" given; cannot filter',
diff --git a/vendor/zendframework/zendframework/library/Zend/Filter/RealPath.php b/vendor/zendframework/zendframework/library/Zend/Filter/RealPath.php
index 2ac2564b3a8..61717e80158 100644
--- a/vendor/zendframework/zendframework/library/Zend/Filter/RealPath.php
+++ b/vendor/zendframework/zendframework/library/Zend/Filter/RealPath.php
@@ -78,7 +78,7 @@ class RealPath extends AbstractFilter
             return null;
         }
 
-        if (!is_scalar($value)){
+        if (!is_scalar($value)) {
             trigger_error(
                 sprintf(
                     '%s expects parameter to be scalar, "%s" given; cannot filter',
diff --git a/vendor/zendframework/zendframework/library/Zend/Filter/StringToLower.php b/vendor/zendframework/zendframework/library/Zend/Filter/StringToLower.php
index 5087ead3600..c95f53346af 100644
--- a/vendor/zendframework/zendframework/library/Zend/Filter/StringToLower.php
+++ b/vendor/zendframework/zendframework/library/Zend/Filter/StringToLower.php
@@ -53,7 +53,7 @@ class StringToLower extends AbstractUnicode
             return null;
         }
 
-        if (!is_scalar($value)){
+        if (!is_scalar($value)) {
             trigger_error(
                 sprintf(
                     '%s expects parameter to be scalar, "%s" given; cannot filter',
diff --git a/vendor/zendframework/zendframework/library/Zend/Filter/StringToUpper.php b/vendor/zendframework/zendframework/library/Zend/Filter/StringToUpper.php
index 078481651d2..22f0d29aff6 100644
--- a/vendor/zendframework/zendframework/library/Zend/Filter/StringToUpper.php
+++ b/vendor/zendframework/zendframework/library/Zend/Filter/StringToUpper.php
@@ -53,7 +53,7 @@ class StringToUpper extends AbstractUnicode
             return null;
         }
 
-        if (!is_scalar($value)){
+        if (!is_scalar($value)) {
             trigger_error(
                 sprintf(
                     '%s expects parameter to be scalar, "%s" given; cannot filter',
diff --git a/vendor/zendframework/zendframework/library/Zend/Filter/StripNewlines.php b/vendor/zendframework/zendframework/library/Zend/Filter/StripNewlines.php
index f8b41e18880..0459a88a787 100644
--- a/vendor/zendframework/zendframework/library/Zend/Filter/StripNewlines.php
+++ b/vendor/zendframework/zendframework/library/Zend/Filter/StripNewlines.php
@@ -20,7 +20,7 @@ class StripNewlines extends AbstractFilter
      * @param  string $value
      * @return string
      */
-    public function filter ($value)
+    public function filter($value)
     {
         return str_replace(array("\n", "\r"), '', $value);
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/Filter/StripTags.php b/vendor/zendframework/zendframework/library/Zend/Filter/StripTags.php
index 21073853167..cb58dbf0701 100644
--- a/vendor/zendframework/zendframework/library/Zend/Filter/StripTags.php
+++ b/vendor/zendframework/zendframework/library/Zend/Filter/StripTags.php
@@ -179,7 +179,7 @@ class StripTags extends AbstractFilter
             return null;
         }
 
-        if (!is_scalar($value)){
+        if (!is_scalar($value)) {
             trigger_error(
                 sprintf(
                     '%s expects parameter to be scalar, "%s" given; cannot filter',
diff --git a/vendor/zendframework/zendframework/library/Zend/Filter/Word/CamelCaseToSeparator.php b/vendor/zendframework/zendframework/library/Zend/Filter/Word/CamelCaseToSeparator.php
index ede6300cd14..e97ab67bf85 100644
--- a/vendor/zendframework/zendframework/library/Zend/Filter/Word/CamelCaseToSeparator.php
+++ b/vendor/zendframework/zendframework/library/Zend/Filter/Word/CamelCaseToSeparator.php
@@ -25,7 +25,7 @@ class CamelCaseToSeparator extends AbstractSeparator
             $pattern     = array('#(?<=(?:\p{Lu}))(\p{Lu}\p{Ll})#', '#(?<=(?:\p{Ll}|\p{Nd}))(\p{Lu})#');
             $replacement = array($this->separator . '\1', $this->separator . '\1');
         } else {
-            $pattern     = array('#(?<=(?:[A-Z]))([A-Z]+)([A-Z][A-z])#', '#(?<=(?:[a-z0-9]))([A-Z])#');
+            $pattern     = array('#(?<=(?:[A-Z]))([A-Z]+)([A-Z][a-z])#', '#(?<=(?:[a-z0-9]))([A-Z])#');
             $replacement = array('\1' . $this->separator . '\2', $this->separator . '\1');
         }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/Annotation/ElementAnnotationsListener.php b/vendor/zendframework/zendframework/library/Zend/Form/Annotation/ElementAnnotationsListener.php
index eca60019a35..16b8ad8e249 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/Annotation/ElementAnnotationsListener.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/Annotation/ElementAnnotationsListener.php
@@ -251,9 +251,8 @@ class ElementAnnotationsListener extends AbstractAnnotationsListener
             return;
         }
 
-        $name       = $e->getParam('name');
-        $filterSpec = $e->getParam('filterSpec');
-        $filterSpec[$name] = $annotation->getInput();
+        $inputSpec = $e->getParam('inputSpec');
+        $inputSpec['type'] = $annotation->getInput();
     }
 
     /**
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/Element/Collection.php b/vendor/zendframework/zendframework/library/Zend/Form/Element/Collection.php
index 1bf20431736..f02bd174193 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/Element/Collection.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/Element/Collection.php
@@ -493,7 +493,7 @@ class Collection extends Fieldset implements FieldsetPrepareAwareInterface
     {
 
         if ($this->object instanceof Traversable) {
-            $this->object = ArrayUtils::iteratorToArray($this->object);
+            $this->object = ArrayUtils::iteratorToArray($this->object, false);
         }
 
         if (!is_array($this->object)) {
@@ -519,6 +519,30 @@ class Collection extends Fieldset implements FieldsetPrepareAwareInterface
             }
         }
 
+        // Recursively extract and populate values for nested fieldsets
+        foreach ($this->fieldsets as $fieldset) {
+            $name = $fieldset->getName();
+            if (isset($values[$name])) {
+                $object = $values[$name];
+
+                if ($fieldset->allowObjectBinding($object)) {
+                    $fieldset->setObject($object);
+                    $values[$name] = $fieldset->extract();
+                } else {
+                    foreach ($fieldset->fieldsets as $childFieldset) {
+                        $childName = $childFieldset->getName();
+                        if (isset($object[$childName])) {
+                            $childObject = $object[$childName];
+                            if ($childFieldset->allowObjectBinding($childObject)) {
+                                $fieldset->setObject($childObject);
+                                $values[$name][$childName] = $fieldset->extract();
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
         return $values;
     }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/Element/DateSelect.php b/vendor/zendframework/zendframework/library/Zend/Form/Element/DateSelect.php
index ccee6878335..85b536cf9cb 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/Element/DateSelect.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/Element/DateSelect.php
@@ -157,7 +157,7 @@ class DateSelect extends MonthSelect
                 array(
                     'name'    => 'Callback',
                     'options' => array(
-                        'callback' => function($date) {
+                        'callback' => function ($date) {
                             // Convert the date to a specific format
                             if (is_array($date)) {
                                 $date = $date['year'] . '-' . $date['month'] . '-' . $date['day'];
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/Element/DateTime.php b/vendor/zendframework/zendframework/library/Zend/Form/Element/DateTime.php
index 3705e2d3c68..8ed1a430d89 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/Element/DateTime.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/Element/DateTime.php
@@ -187,12 +187,6 @@ class DateTime extends Element implements InputProviderInterface
             'required' => true,
             'filters' => array(
                 array('name' => 'Zend\Filter\StringTrim'),
-                array(
-                    'name' => 'Zend\Filter\DateTimeFormatter',
-                    'options' => array(
-                        'format' => $this->getFormat(),
-                    )
-                )
             ),
             'validators' => $this->getValidators(),
         );
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/Element/DateTimeSelect.php b/vendor/zendframework/zendframework/library/Zend/Form/Element/DateTimeSelect.php
index 43c47910d96..e336c32e501 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/Element/DateTimeSelect.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/Element/DateTimeSelect.php
@@ -288,7 +288,7 @@ class DateTimeSelect extends DateSelect
                 array(
                     'name'    => 'Callback',
                     'options' => array(
-                        'callback' => function($date) {
+                        'callback' => function ($date) {
                             // Convert the date to a specific format
                             if (is_array($date)) {
                                 if (!isset($date['second'])) {
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/Element/MonthSelect.php b/vendor/zendframework/zendframework/library/Zend/Form/Element/MonthSelect.php
index 6ff76b59cca..eb527cf3c7c 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/Element/MonthSelect.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/Element/MonthSelect.php
@@ -314,7 +314,7 @@ class MonthSelect extends Element implements InputProviderInterface, ElementPrep
                 array(
                     'name'    => 'Callback',
                     'options' => array(
-                        'callback' => function($date) {
+                        'callback' => function ($date) {
                             // Convert the date to a specific format
                             if (is_array($date)) {
                                 $date = $date['year'] . '-' . $date['month'];
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/Fieldset.php b/vendor/zendframework/zendframework/library/Zend/Form/Fieldset.php
index 1133c5115ff..4a6bf5b495c 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/Fieldset.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/Fieldset.php
@@ -23,7 +23,7 @@ class Fieldset extends Element implements FieldsetInterface
     protected $factory;
 
     /**
-     * @var array
+     * @var ElementInterface[]
      */
     protected $byName    = array();
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/Form.php b/vendor/zendframework/zendframework/library/Zend/Form/Form.php
index 0145b58b13a..5f06a7ed576 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/Form.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/Form.php
@@ -766,7 +766,7 @@ class Form extends Fieldset implements FormInterface
                 $inputFilter->add($input, $name);
             }
 
-            if ($fieldset instanceof InputFilterProviderInterface) {
+            if ($fieldset === $this && $fieldset instanceof InputFilterProviderInterface) {
                 foreach ($fieldset->getInputFilterSpecification() as $name => $spec) {
                     $input = $inputFactory->createInput($spec);
                     $inputFilter->add($input, $name);
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/AbstractHelper.php b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/AbstractHelper.php
index 373d0a2cd73..97b9568de40 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/AbstractHelper.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/AbstractHelper.php
@@ -130,6 +130,7 @@ abstract class AbstractHelper extends BaseAbstractHelper
         'ontimeupdate'       => true,
         'onvolumechange'     => true,
         'onwaiting'          => true,
+        'role'               => true,
         'spellcheck'         => true,
         'style'              => true,
         'tabindex'           => true,
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/Captcha/ReCaptcha.php b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/Captcha/ReCaptcha.php
index 9dfb0abb330..d5d18d3f7e5 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/Captcha/ReCaptcha.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/Captcha/ReCaptcha.php
@@ -110,7 +110,7 @@ class ReCaptcha extends FormInput
 function windowOnLoad(fn)
 {
     var old = window.onload;
-    window.onload = function() {
+    window.onload = function () {
         if (old) {
             old();
         }
@@ -125,11 +125,11 @@ function zendBindEvent(el, eventName, eventHandler)
         el.attachEvent('on'+eventName, eventHandler);
     }
 }
-windowOnLoad(function() {
+windowOnLoad(function () {
     zendBindEvent(
         document.getElementById("$challengeId").form,
         'submit',
-        function(e) {
+        function (e) {
             document.getElementById("$challengeId").value = document.getElementById("recaptcha_challenge_field").value;
             document.getElementById("$responseId").value = document.getElementById("recaptcha_response_field").value;
         }
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormCaptcha.php b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormCaptcha.php
index 551244b40c4..f361cb31c8c 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormCaptcha.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormCaptcha.php
@@ -23,7 +23,7 @@ class FormCaptcha extends AbstractHelper
      * @param  ElementInterface $element
      * @return string|FormCaptcha
      */
-    public function __invoke(ElementInterface $element)
+    public function __invoke(ElementInterface $element = null)
     {
         if (!$element) {
             return $this;
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormCollection.php b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormCollection.php
index bd4569ff291..bd036a65e96 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormCollection.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormCollection.php
@@ -111,7 +111,8 @@ class FormCollection extends AbstractHelper
 
                 if (null !== ($translator = $this->getTranslator())) {
                     $label = $translator->translate(
-                            $label, $this->getTranslatorTextDomain()
+                        $label,
+                        $this->getTranslatorTextDomain()
                     );
                 }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormRow.php b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormRow.php
index a4e358c9c78..3f9c6fe6e6c 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormRow.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormRow.php
@@ -310,7 +310,7 @@ class FormRow extends AbstractHelper
     }
 
     /**
-     * Retrive if the errors are rendered by this helper
+     * Retrieve if the errors are rendered by this helper
      *
      * @return bool
      */
@@ -332,7 +332,7 @@ class FormRow extends AbstractHelper
     }
 
     /**
-     * Retrive current partial
+     * Retrieve current partial
      *
      * @return null|string
      */
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Client.php b/vendor/zendframework/zendframework/library/Zend/Http/Client.php
index be3790477ec..003fabad5a1 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Client.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Client.php
@@ -905,7 +905,7 @@ class Client implements Stdlib\DispatchableInterface
                     $response->setCleanup(true);
                 }
             } else {
-                $response = Response::fromString($response);
+                $response = $this->getResponse()->fromString($response);
             }
 
             // Get the cookies from response (if any)
@@ -1154,9 +1154,10 @@ class Client implements Stdlib\DispatchableInterface
         }
 
         // Merge the headers of the request (if any)
-        $requestHeaders = $this->getRequest()->getHeaders()->toArray();
-        foreach ($requestHeaders as $key => $value) {
-            $headers[$key] = $value;
+        // here we need right 'http field' and not lowercase letters
+        $requestHeaders = $this->getRequest()->getHeaders();
+        foreach ($requestHeaders as $requestHeaderElement) {
+            $headers[$requestHeaderElement->getFieldName()] = $requestHeaderElement->getFieldValue();
         }
         return $headers;
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/AbstractDate.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/AbstractDate.php
index 3b616233924..1882cf27855 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/AbstractDate.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/AbstractDate.php
@@ -74,7 +74,7 @@ abstract class AbstractDate implements HeaderInterface
     {
         $dateHeader = new static();
 
-        list($name, $date) = explode(': ', $headerLine, 2);
+        list($name, $date) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== strtolower($dateHeader->getFieldName())) {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/AbstractLocation.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/AbstractLocation.php
index 9aa6151321a..79cfbeb90fc 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/AbstractLocation.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/AbstractLocation.php
@@ -47,7 +47,7 @@ abstract class AbstractLocation implements HeaderInterface
         $locationHeader = new static();
 
         // ZF-5520 - IIS bug, no space after colon
-        list($name, $uri) = explode(':', $headerLine, 2);
+        list($name, $uri) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== strtolower($locationHeader->getFieldName())) {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/AcceptRanges.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/AcceptRanges.php
index 4edd3a54de2..732a161ee04 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/AcceptRanges.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/AcceptRanges.php
@@ -23,7 +23,7 @@ class AcceptRanges implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'accept-ranges') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Age.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Age.php
index 123ef7bd1b7..e1e7b10378f 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Age.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Age.php
@@ -34,7 +34,7 @@ class Age implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'age') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Allow.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Allow.php
index c2418a1d029..e0b42f1fa00 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Allow.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Allow.php
@@ -48,7 +48,7 @@ class Allow implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'allow') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/AuthenticationInfo.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/AuthenticationInfo.php
index 0b6fe084590..d7815a7e7bf 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/AuthenticationInfo.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/AuthenticationInfo.php
@@ -20,7 +20,7 @@ class AuthenticationInfo implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'authentication-info') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Authorization.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Authorization.php
index 8b5f52bb2e7..5c3b2766d50 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Authorization.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Authorization.php
@@ -20,7 +20,7 @@ class Authorization implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'authorization') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/CacheControl.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/CacheControl.php
index b9c61fc618f..e9b8c4bc604 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/CacheControl.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/CacheControl.php
@@ -34,7 +34,7 @@ class CacheControl implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'cache-control') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Connection.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Connection.php
index d439b94c6f4..39333baaf95 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Connection.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Connection.php
@@ -35,7 +35,7 @@ class Connection implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'connection') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentDisposition.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentDisposition.php
index 62baf145213..4358b92f5ca 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentDisposition.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentDisposition.php
@@ -20,7 +20,7 @@ class ContentDisposition implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'content-disposition') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentEncoding.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentEncoding.php
index dbde3539ec4..5a16279b249 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentEncoding.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentEncoding.php
@@ -20,7 +20,7 @@ class ContentEncoding implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'content-encoding') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentLanguage.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentLanguage.php
index 49afd7f4bcc..f14748d3bd2 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentLanguage.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentLanguage.php
@@ -20,7 +20,7 @@ class ContentLanguage implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'content-language') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentLength.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentLength.php
index 4b1a8367e8a..e764394641a 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentLength.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentLength.php
@@ -20,7 +20,7 @@ class ContentLength implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'content-length') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentMD5.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentMD5.php
index cfc2c54c16a..2ce8d1864ba 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentMD5.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentMD5.php
@@ -20,7 +20,7 @@ class ContentMD5 implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'content-md5') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentRange.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentRange.php
index 6345ded9682..88a9c7e7b74 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentRange.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentRange.php
@@ -20,7 +20,7 @@ class ContentRange implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'content-range') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentTransferEncoding.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentTransferEncoding.php
index eb09e20b238..370a2ef6d44 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentTransferEncoding.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentTransferEncoding.php
@@ -20,7 +20,7 @@ class ContentTransferEncoding implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'content-transfer-encoding') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentType.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentType.php
index 33eb39dcb78..38f9ddea585 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentType.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/ContentType.php
@@ -20,7 +20,7 @@ class ContentType implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'content-type') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Cookie.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Cookie.php
index abaea007658..1875563af1c 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Cookie.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Cookie.php
@@ -41,7 +41,7 @@ class Cookie extends ArrayObject implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'cookie') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Etag.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Etag.php
index 2bcff641e5e..39c6ee6295a 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Etag.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Etag.php
@@ -20,7 +20,7 @@ class Etag implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'etag') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Expect.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Expect.php
index 81b70e97611..6e86b49728d 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Expect.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Expect.php
@@ -20,7 +20,7 @@ class Expect implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'expect') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/From.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/From.php
index 96149bb7b31..45380af7dab 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/From.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/From.php
@@ -20,7 +20,7 @@ class From implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'from') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/GenericHeader.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/GenericHeader.php
index 768660c7a7b..80b0bb9ee09 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/GenericHeader.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/GenericHeader.php
@@ -34,11 +34,30 @@ class GenericHeader implements HeaderInterface
      */
     public static function fromString($headerLine)
     {
-        list($fieldName, $fieldValue) = explode(': ', $headerLine, 2);
+        list($fieldName, $fieldValue) = GenericHeader::splitHeaderLine($headerLine);
         $header = new static($fieldName, $fieldValue);
         return $header;
     }
 
+    /**
+     * Splits the header line in `name` and `value` parts.
+     *
+     * @param string $headerLine
+     * @return string[] `name` in the first index and `value` in the second.
+     * @throws Exception\InvalidArgumentException If header does not match with the format ``name:value``
+     */
+    public static function splitHeaderLine($headerLine)
+    {
+        $parts = explode(':', $headerLine, 2);
+        if (count($parts) !== 2) {
+            throw new Exception\InvalidArgumentException('Header must match with the format "name:value"');
+        }
+
+        $parts[1] = ltrim($parts[1]);
+
+        return $parts;
+    }
+
     /**
      * Constructor
      *
@@ -61,7 +80,7 @@ class GenericHeader implements HeaderInterface
      *
      * @param  string $fieldName
      * @return GenericHeader
-     * @throws Exception\InvalidArgumentException(
+     * @throws Exception\InvalidArgumentException If the name does not match with RFC 2616 format.
      */
     public function setFieldName($fieldName)
     {
@@ -70,12 +89,19 @@ class GenericHeader implements HeaderInterface
         }
 
         // Pre-filter to normalize valid characters, change underscore to dash
-        $fieldName = str_replace(' ', '-', ucwords(str_replace(array('_', '-'), ' ', $fieldName)));
-
-        // Validate what we have
-        if (!preg_match('/^[a-z][a-z0-9-]*$/i', $fieldName)) {
+        $fieldName = str_replace('_', '-', $fieldName);
+
+        /*
+         * Following RFC 2616 section 4.2
+         *
+         * message-header = field-name ":" [ field-value ]
+         * field-name     = token
+         *
+         * @see http://tools.ietf.org/html/rfc2616#section-2.2 for token definition.
+         */
+        if (!preg_match('/^[!#-\'*+\-\.0-9A-Z\^-z|~]+$/', $fieldName)) {
             throw new Exception\InvalidArgumentException(
-                'Header name must start with a letter, and consist of only letters, numbers, and dashes'
+                'Header name must be a valid RFC 2616 (section 4.2) field-name.'
             );
         }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/GenericMultiHeader.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/GenericMultiHeader.php
index 91b0b67cc3e..49cc10217a3 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/GenericMultiHeader.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/GenericMultiHeader.php
@@ -13,7 +13,7 @@ class GenericMultiHeader extends GenericHeader implements MultipleHeaderInterfac
 {
     public static function fromString($headerLine)
     {
-        list($fieldName, $fieldValue) = explode(': ', $headerLine, 2);
+        list($fieldName, $fieldValue) = GenericHeader::splitHeaderLine($headerLine);
 
         if (strpos($fieldValue, ',')) {
             $headers = array();
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/HeaderInterface.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/HeaderInterface.php
index cde5cb1b02d..3b36e10b1a1 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/HeaderInterface.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/HeaderInterface.php
@@ -9,10 +9,41 @@
 
 namespace Zend\Http\Header;
 
+/**
+ * Interface for HTTP Header classes.
+ */
 interface HeaderInterface
 {
+    /**
+     * Factory to generate a header object from a string
+     *
+     * @param string $headerLine
+     * @return self
+     * @throws Exception\InvalidArgumentException If the header does not match RFC 2616 definition.
+     * @see http://tools.ietf.org/html/rfc2616#section-4.2
+     */
     public static function fromString($headerLine);
+
+    /**
+     * Retrieve header name
+     *
+     * @return string
+     */
     public function getFieldName();
+
+    /**
+     * Retrieve header value
+     *
+     * @return string
+     */
     public function getFieldValue();
+
+    /**
+     * Cast to string
+     *
+     * Returns in form of "NAME: VALUE"
+     *
+     * @return string
+     */
     public function toString();
 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Host.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Host.php
index 9c8cfa1d73d..a136da10049 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Host.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Host.php
@@ -20,7 +20,7 @@ class Host implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'host') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/IfMatch.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/IfMatch.php
index 9b03c0c0a9b..33b41dc4542 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/IfMatch.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/IfMatch.php
@@ -20,7 +20,7 @@ class IfMatch implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'if-match') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/IfNoneMatch.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/IfNoneMatch.php
index a0d4080b1b3..5d9b38d2f78 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/IfNoneMatch.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/IfNoneMatch.php
@@ -20,7 +20,7 @@ class IfNoneMatch implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'if-none-match') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/IfRange.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/IfRange.php
index c5bd2bd9b8f..aa7767ec0af 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/IfRange.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/IfRange.php
@@ -20,7 +20,7 @@ class IfRange implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'if-range') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/KeepAlive.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/KeepAlive.php
index e7fcf8f23ab..563aa6da8da 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/KeepAlive.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/KeepAlive.php
@@ -20,7 +20,7 @@ class KeepAlive implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'keep-alive') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/MaxForwards.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/MaxForwards.php
index c4a8f443804..6107401c6bb 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/MaxForwards.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/MaxForwards.php
@@ -20,7 +20,7 @@ class MaxForwards implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'max-forwards') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Pragma.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Pragma.php
index 4220631229a..6debc287d4c 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Pragma.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Pragma.php
@@ -20,7 +20,7 @@ class Pragma implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'pragma') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/ProxyAuthenticate.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/ProxyAuthenticate.php
index 6399e8436e4..995b5db70d7 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/ProxyAuthenticate.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/ProxyAuthenticate.php
@@ -20,7 +20,7 @@ class ProxyAuthenticate implements MultipleHeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'proxy-authenticate') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/ProxyAuthorization.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/ProxyAuthorization.php
index 129a2ee3973..65265a4ba24 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/ProxyAuthorization.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/ProxyAuthorization.php
@@ -20,7 +20,7 @@ class ProxyAuthorization implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'proxy-authorization') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Range.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Range.php
index eb6cddeaa47..5c44e79e472 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Range.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Range.php
@@ -20,7 +20,7 @@ class Range implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'range') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Refresh.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Refresh.php
index 0edd656150d..20c3fe1cdd3 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Refresh.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Refresh.php
@@ -20,7 +20,7 @@ class Refresh implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'refresh') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/RetryAfter.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/RetryAfter.php
index 4c1ec92d90a..71178231b33 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/RetryAfter.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/RetryAfter.php
@@ -35,7 +35,7 @@ class RetryAfter extends AbstractDate
     {
         $dateHeader = new static();
 
-        list($name, $date) = explode(': ', $headerLine, 2);
+        list($name, $date) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== strtolower($dateHeader->getFieldName())) {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Server.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Server.php
index 514810f49f9..bea2c95f9e8 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Server.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Server.php
@@ -20,7 +20,7 @@ class Server implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'server') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/SetCookie.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/SetCookie.php
index 7a36cf3aed8..e03bd23df41 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/SetCookie.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/SetCookie.php
@@ -76,6 +76,13 @@ class SetCookie implements MultipleHeaderInterface
      */
     protected $secure = null;
 
+    /**
+     * If the value need to be quoted or not
+     *
+     * @var bool
+     */
+    protected $quoteFieldValue = false;
+
     /**
      * @var bool|null
      */
@@ -100,8 +107,9 @@ class SetCookie implements MultipleHeaderInterface
                 $keyValuePairs = preg_split('#;\s*#', $headerLine);
 
                 foreach ($keyValuePairs as $keyValue) {
-                    if (strpos($keyValue, '=')) {
-                        list($headerKey, $headerValue) = preg_split('#=\s*#', $keyValue, 2);
+                    if (preg_match('#^(?<headerKey>[^=]+)=\s*("?)(?<headerValue>[^"]+)\2#',$keyValue,$matches)) {
+                        $headerKey  = $matches['headerKey'];
+                        $headerValue= $matches['headerValue'];
                     } else {
                         $headerKey = $keyValue;
                         $headerValue = null;
@@ -132,8 +140,7 @@ class SetCookie implements MultipleHeaderInterface
             };
         }
 
-        list($name, $value) = explode(':', $headerLine, 2);
-        $value = ltrim($value);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // some sites return set-cookie::value, this is to get rid of the second :
         $name = (strtolower($name) =='set-cookie:') ? 'set-cookie' : $name;
@@ -205,12 +212,11 @@ class SetCookie implements MultipleHeaderInterface
             return '';
         }
 
-        $value = $this->getValue();
-        if (strpos($value, '"')!==false) {
-            $value = '"'.urlencode(str_replace('"', '', $value)).'"';
-        } else {
-            $value = urlencode($value);
+        $value = urlencode($this->getValue());
+        if ( $this->hasQuoteFieldValue() ) {
+            $value = '"'. $value . '"';
         }
+
         $fieldValue = $this->getName() . '=' . $value;
 
         $version = $this->getVersion();
@@ -427,6 +433,16 @@ class SetCookie implements MultipleHeaderInterface
         return $this;
     }
 
+    /**
+     * @param  bool $quotedValue
+     * @return SetCookie
+     */
+    public function setQuoteFieldValue($quotedValue)
+    {
+        $this->quoteFieldValue = (bool) $quotedValue;
+        return $this;
+    }
+
     /**
      * @return bool
      */
@@ -484,6 +500,16 @@ class SetCookie implements MultipleHeaderInterface
         return ($this->expires === null);
     }
 
+    /**
+     * Check whether the cookie is a session cookie (has no expiry time set)
+     *
+     * @return bool
+     */
+    public function hasQuoteFieldValue()
+    {
+        return $this->quoteFieldValue;
+    }
+
     public function isValidForRequest($requestDomain, $path, $isSecure = false)
     {
         if ($this->getDomain() && (strrpos($requestDomain, $this->getDomain()) === false)) {
@@ -604,7 +630,7 @@ class SetCookie implements MultipleHeaderInterface
                     'The SetCookie multiple header implementation can only accept an array of SetCookie headers'
                 );
             }
-            $headerLine .= ', ' . $header->getFieldValue();
+            $headerLine .= "\n" . $header->toString();
         }
         return $headerLine;
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/TE.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/TE.php
index 98b424bc9d9..e56dae6d169 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/TE.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/TE.php
@@ -20,7 +20,7 @@ class TE implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'te') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Trailer.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Trailer.php
index a4947e72d7a..ea5951d315c 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Trailer.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Trailer.php
@@ -20,7 +20,7 @@ class Trailer implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'trailer') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/TransferEncoding.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/TransferEncoding.php
index 1f6e062d3d1..9c0997f480f 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/TransferEncoding.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/TransferEncoding.php
@@ -20,7 +20,7 @@ class TransferEncoding implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'transfer-encoding') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Upgrade.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Upgrade.php
index 04cf8969d02..f9cd143d93e 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Upgrade.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Upgrade.php
@@ -20,7 +20,7 @@ class Upgrade implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'upgrade') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/UserAgent.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/UserAgent.php
index cd0135f1326..f7df7c4142d 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/UserAgent.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/UserAgent.php
@@ -20,7 +20,7 @@ class UserAgent implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (str_replace(array('_', ' ', '.'), '-', strtolower($name)) !== 'user-agent') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Vary.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Vary.php
index 12cec83e989..a8fed2e63ff 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Vary.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Vary.php
@@ -20,7 +20,7 @@ class Vary implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'vary') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Via.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Via.php
index 1d2b14c83fd..11e9b3a7453 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Via.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Via.php
@@ -20,7 +20,7 @@ class Via implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'via') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/WWWAuthenticate.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/WWWAuthenticate.php
index bf3f99edeeb..2f758482ca8 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/WWWAuthenticate.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/WWWAuthenticate.php
@@ -20,7 +20,7 @@ class WWWAuthenticate implements MultipleHeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'www-authenticate') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Header/Warning.php b/vendor/zendframework/zendframework/library/Zend/Http/Header/Warning.php
index 5b28460338f..14ab438c7e9 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Header/Warning.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Header/Warning.php
@@ -20,7 +20,7 @@ class Warning implements HeaderInterface
     {
         $header = new static();
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'warning') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/PhpEnvironment/RemoteAddress.php b/vendor/zendframework/zendframework/library/Zend/Http/PhpEnvironment/RemoteAddress.php
index b714d46df47..4941b5dca66 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/PhpEnvironment/RemoteAddress.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/PhpEnvironment/RemoteAddress.php
@@ -101,7 +101,7 @@ class RemoteAddress
         if ($ip) {
             return $ip;
         }
-
+        
         // direct IP address
         if (isset($_SERVER['REMOTE_ADDR'])) {
             return $_SERVER['REMOTE_ADDR'];
@@ -113,16 +113,18 @@ class RemoteAddress
     /**
      * Attempt to get the IP address for a proxied client
      *
+     * @see http://tools.ietf.org/html/draft-ietf-appsawg-http-forwarded-10#section-5.2
      * @return false|string
      */
     protected function getIpAddressFromProxy()
     {
-        if (!$this->useProxy) {
+        if (!$this->useProxy 
+            || !in_array($_SERVER['REMOTE_ADDR'], $this->trustedProxies)
+        ) {
             return false;
         }
 
         $header = $this->proxyHeader;
-
         if (!isset($_SERVER[$header]) || empty($_SERVER[$header])) {
             return false;
         }
@@ -133,14 +135,18 @@ class RemoteAddress
         $ips = array_map('trim', $ips);
         // remove trusted proxy IPs
         $ips = array_diff($ips, $this->trustedProxies);
-
+        
         // Any left?
         if (empty($ips)) {
             return false;
         }
 
-        // Return right-most
-        $ip  = array_pop($ips);
+        // Since we've removed any known, trusted proxy servers, the right-most
+        // address represents the first IP we do not know about -- i.e., we do
+        // not know if it is a proxy server, or a client. As such, we treat it
+        // as the originating IP.
+        // @see http://en.wikipedia.org/wiki/X-Forwarded-For
+        $ip = array_pop($ips);
         return $ip;
     }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Response.php b/vendor/zendframework/zendframework/library/Zend/Http/Response.php
index f6b99cfd9cd..a43bbaf6b62 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Response.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Response.php
@@ -239,8 +239,7 @@ class Response extends AbstractMessage implements ResponseInterface
      */
     public function setStatusCode($code)
     {
-        $const = get_class($this) . '::STATUS_CODE_' . $code;
-        if (!is_numeric($code) || !defined($const)) {
+        if (!is_numeric($code)) {
             $code = is_scalar($code) ? $code : gettype($code);
             throw new Exception\InvalidArgumentException(sprintf(
                 'Invalid status code provided: "%s"',
diff --git a/vendor/zendframework/zendframework/library/Zend/I18n/Validator/PhoneNumber.php b/vendor/zendframework/zendframework/library/Zend/I18n/Validator/PhoneNumber.php
index e2d0c594f72..12260edd4f8 100644
--- a/vendor/zendframework/zendframework/library/Zend/I18n/Validator/PhoneNumber.php
+++ b/vendor/zendframework/zendframework/library/Zend/I18n/Validator/PhoneNumber.php
@@ -34,7 +34,7 @@ class PhoneNumber extends AbstractValidator
     /**
      * Phone Number Patterns
      *
-     * @link http://libphonenumber.googlecode.com/svn/trunk/resources/PhoneNumberMetaData.xml
+     * @link http://code.google.com/p/libphonenumber/source/browse/trunk/resources/PhoneNumberMetadata.xml
      * @var array
      */
     protected static $phone = array();
@@ -164,7 +164,7 @@ class PhoneNumber extends AbstractValidator
      */
     protected function loadPattern($code)
     {
-        if (!isset(self::$phone[$code])) {
+        if (!isset(static::$phone[$code])) {
             if (!preg_match('/^[A-Z]{2}$/D', $code)) {
                 return false;
             }
@@ -174,10 +174,10 @@ class PhoneNumber extends AbstractValidator
                 return false;
             }
 
-            self::$phone[$code] = include $file;
+            static::$phone[$code] = include $file;
         }
 
-        return self::$phone[$code];
+        return static::$phone[$code];
     }
 
     /**
@@ -210,8 +210,20 @@ class PhoneNumber extends AbstractValidator
             }
         }
 
-        if ($countryPattern['code'] == substr($value, 0, strlen($countryPattern['code']))) {
-            $valueNoCountry = substr($value, strlen($countryPattern['code']));
+        $codeLength = strlen($countryPattern['code']);
+
+        /*
+         * Check for existence of either:
+         *   1) E.123/E.164 international prefix
+         *   2) International double-O prefix
+         *   3) Bare country prefix
+         */
+        if (('+' . $countryPattern['code']) == substr($value, 0, $codeLength + 1)) {
+            $valueNoCountry = substr($value, $codeLength + 1);
+        } elseif (('00' . $countryPattern['code']) == substr($value, 0, $codeLength + 2)) {
+            $valueNoCountry = substr($value, $codeLength + 2);
+        } elseif ($countryPattern['code'] == substr($value, 0, $codeLength)) {
+            $valueNoCountry = substr($value, $codeLength);
         }
 
         // check against allowed types strict match:
diff --git a/vendor/zendframework/zendframework/library/Zend/I18n/View/Helper/DateFormat.php b/vendor/zendframework/zendframework/library/Zend/I18n/View/Helper/DateFormat.php
index aedef5832a0..c7dffb697bd 100644
--- a/vendor/zendframework/zendframework/library/Zend/I18n/View/Helper/DateFormat.php
+++ b/vendor/zendframework/zendframework/library/Zend/I18n/View/Helper/DateFormat.php
@@ -90,7 +90,7 @@ class DateFormat extends AbstractHelper
         }
 
         // DateTime support for IntlDateFormatter::format() was only added in 5.3.4
-        if ($date instanceof DateTime && version_compare(PHP_VERSION, '5.3.4', '<')) {
+        if ($date instanceof DateTime && (PHP_VERSION_ID < 50304)) {
             $date = $date->getTimestamp();
         }
 
@@ -133,8 +133,11 @@ class DateFormat extends AbstractHelper
     {
         $this->timezone = (string) $timezone;
 
+        // The method setTimeZoneId is deprecated as of PHP 5.5.0
+        $setTimeZoneMethodName = (PHP_VERSION_ID < 50500) ? 'setTimeZoneId' : 'setTimeZone';
+
         foreach ($this->formatters as $formatter) {
-            $formatter->setTimeZoneId($this->timezone);
+            $formatter->$setTimeZoneMethodName($this->timezone);
         }
 
         return $this;
diff --git a/vendor/zendframework/zendframework/library/Zend/InputFilter/BaseInputFilter.php b/vendor/zendframework/zendframework/library/Zend/InputFilter/BaseInputFilter.php
index 6f5b9814a56..7064c156811 100644
--- a/vendor/zendframework/zendframework/library/Zend/InputFilter/BaseInputFilter.php
+++ b/vendor/zendframework/zendframework/library/Zend/InputFilter/BaseInputFilter.php
@@ -158,7 +158,8 @@ class BaseInputFilter implements InputFilterInterface, UnknownInputsCapableInter
      */
     public function isValid()
     {
-        if (null === $this->data) {
+        $data = $this->getRawValues();
+        if (null === $data) {
             throw new Exception\RuntimeException(sprintf(
                 '%s: no data present to validate!',
                 __METHOD__
@@ -166,24 +167,30 @@ class BaseInputFilter implements InputFilterInterface, UnknownInputsCapableInter
         }
 
         $inputs = $this->validationGroup ?: array_keys($this->inputs);
-        return $this->validateInputs($inputs);
+        return $this->validateInputs($inputs, $data);
     }
 
     /**
      * Validate a set of inputs against the current data
      *
-     * @param array $inputs
+     * @param  array $inputs
+     * @param  array $data
      * @return bool
      */
-    protected function validateInputs(array $inputs)
+    protected function validateInputs(array $inputs, array $data = array())
     {
+        // backwards compatibility
+        if (empty($data)) {
+            $data = $this->getRawValues();
+        }
+
         $this->validInputs   = array();
         $this->invalidInputs = array();
         $valid               = true;
 
         foreach ($inputs as $name) {
             $input      = $this->inputs[$name];
-            $dataExists = array_key_exists($name, $this->data);
+            $dataExists = array_key_exists($name, $data);
 
             // key doesn't exist, but input is not required; valid
             if (!$dataExists
@@ -210,7 +217,7 @@ class BaseInputFilter implements InputFilterInterface, UnknownInputsCapableInter
 
             // key exists, is null, input is not required; valid
             if ($dataExists
-                && null === $this->data[$name]
+                && null === $data[$name]
                 && $input instanceof InputInterface
                 && !$input->isRequired()
             ) {
@@ -222,7 +229,7 @@ class BaseInputFilter implements InputFilterInterface, UnknownInputsCapableInter
             // continueIfEmpty is false or input doesn't implement
             // that interface; otherwise validation chain continues
             if ($dataExists
-                && null === $this->data[$name]
+                && null === $data[$name]
                 && $input instanceof InputInterface
                 && $input->isRequired()
                 && $input->allowEmpty()
@@ -235,7 +242,7 @@ class BaseInputFilter implements InputFilterInterface, UnknownInputsCapableInter
 
             // key exists, empty string, input is not required, allows empty; valid
             if ($dataExists
-                && '' === $this->data[$name]
+                && '' === $data[$name]
                 && $input instanceof InputInterface
                 && !$input->isRequired()
                 && $input->allowEmpty()
@@ -247,7 +254,7 @@ class BaseInputFilter implements InputFilterInterface, UnknownInputsCapableInter
             // key exists, empty string, input is required, allows empty; valid
             // if continueIfEmpty is false, otherwise validation continues
             if ($dataExists
-                && '' === $this->data[$name]
+                && '' === $data[$name]
                 && $input instanceof InputInterface
                 && $input->isRequired()
                 && $input->allowEmpty()
@@ -261,15 +268,15 @@ class BaseInputFilter implements InputFilterInterface, UnknownInputsCapableInter
             // key exists, is array representing file, no file present, input not
             // required or allows empty; valid
             if ($dataExists
-                && is_array($this->data[$name])
+                && is_array($data[$name])
                 && (
-                    (isset($this->data[$name]['error'])
-                        && $this->data[$name]['error'] === UPLOAD_ERR_NO_FILE)
-                    || (count($this->data[$name]) === 1
-                        && isset($this->data[$name][0])
-                        && is_array($this->data[$name][0])
-                        && isset($this->data[$name][0]['error'])
-                        && $this->data[$name][0]['error'] === UPLOAD_ERR_NO_FILE)
+                    (isset($data[$name]['error'])
+                        && $data[$name]['error'] === UPLOAD_ERR_NO_FILE)
+                    || (count($data[$name]) === 1
+                        && isset($data[$name][0])
+                        && is_array($data[$name][0])
+                        && isset($data[$name][0]['error'])
+                        && $data[$name][0]['error'] === UPLOAD_ERR_NO_FILE)
                 )
                 && $input instanceof InputInterface
                 && (!$input->isRequired() || $input->allowEmpty())
@@ -280,7 +287,7 @@ class BaseInputFilter implements InputFilterInterface, UnknownInputsCapableInter
 
             // make sure we have a value (empty) for validation
             if (!$dataExists) {
-                $this->data[$name] = null;
+                $data[$name] = null;
             }
 
             // Validate an input filter
@@ -296,7 +303,7 @@ class BaseInputFilter implements InputFilterInterface, UnknownInputsCapableInter
 
             // Validate an input
             if ($input instanceof InputInterface) {
-                if (!$input->isValid($this->data)) {
+                if (!$input->isValid($data)) {
                     // Validation failure
                     $this->invalidInputs[$name] = $input;
                     $valid = false;
diff --git a/vendor/zendframework/zendframework/library/Zend/Json/Expr.php b/vendor/zendframework/zendframework/library/Zend/Json/Expr.php
index df02d862d49..7305c53d07a 100644
--- a/vendor/zendframework/zendframework/library/Zend/Json/Expr.php
+++ b/vendor/zendframework/zendframework/library/Zend/Json/Expr.php
@@ -22,13 +22,13 @@ namespace Zend\Json;
  *     'integer'  => 9,
  *     'string'   => 'test string',
  *     'function' => Zend\Json\Expr(
- *         'function() { window.alert("javascript function encoded by Zend\Json\Json") }'
+ *         'function () { window.alert("javascript function encoded by Zend\Json\Json") }'
  *     ),
  * );
  *
  * Zend\Json\Json::encode($foo, false, array('enableJsonExprFinder' => true));
  * // it will returns json encoded string:
- * // {"integer":9,"string":"test string","function":function() {window.alert("javascript function encoded by Zend\Json\Json")}}
+ * // {"integer":9,"string":"test string","function":function () {window.alert("javascript function encoded by Zend\Json\Json")}}
  * </code>
  */
 class Expr
diff --git a/vendor/zendframework/zendframework/library/Zend/Json/Json.php b/vendor/zendframework/zendframework/library/Zend/Json/Json.php
index 84f5bc65022..02a792bfce7 100644
--- a/vendor/zendframework/zendframework/library/Zend/Json/Json.php
+++ b/vendor/zendframework/zendframework/library/Zend/Json/Json.php
@@ -31,7 +31,7 @@ class Json
       *
       * @var int
       */
-    public static $maxRecursionDepthAllowed=25;
+    public static $maxRecursionDepthAllowed = 25;
 
     /**
      * @var bool
diff --git a/vendor/zendframework/zendframework/library/Zend/Json/Server/Server.php b/vendor/zendframework/zendframework/library/Zend/Json/Server/Server.php
index 200c6acd584..1da0bff9124 100644
--- a/vendor/zendframework/zendframework/library/Zend/Json/Server/Server.php
+++ b/vendor/zendframework/zendframework/library/Zend/Json/Server/Server.php
@@ -86,6 +86,7 @@ class Server extends AbstractServer
             $argv = array_slice($argv, 2);
         }
 
+        $class = null;
         if (is_string($function)) {
             $method = Reflection::reflectFunction($function, $argv, $namespace);
         } else {
@@ -106,7 +107,7 @@ class Server extends AbstractServer
             }
         }
 
-        $definition = $this->_buildSignature($method);
+        $definition = $this->_buildSignature($method, $class);
         $this->_addMethodServiceMap($definition);
 
         return $this;
diff --git a/vendor/zendframework/zendframework/library/Zend/Ldap/Node.php b/vendor/zendframework/zendframework/library/Zend/Ldap/Node.php
index dea86f187ee..d7e3cff3b3d 100644
--- a/vendor/zendframework/zendframework/library/Zend/Ldap/Node.php
+++ b/vendor/zendframework/zendframework/library/Zend/Ldap/Node.php
@@ -335,7 +335,7 @@ class Node extends Node\AbstractNode implements Iterator, RecursiveIterator
      * Tells if the node is considered as new (not present on the server)
      *
      * Please note, that this doesn't tell you if the node is present on the server.
-     * Use {@link exits()} to see if a node is already there.
+     * Use {@link exists()} to see if a node is already there.
      *
      * @return bool
      */
diff --git a/vendor/zendframework/zendframework/library/Zend/Loader/ClassMapAutoloader.php b/vendor/zendframework/zendframework/library/Zend/Loader/ClassMapAutoloader.php
index 77c82148152..216aae6f735 100644
--- a/vendor/zendframework/zendframework/library/Zend/Loader/ClassMapAutoloader.php
+++ b/vendor/zendframework/zendframework/library/Zend/Loader/ClassMapAutoloader.php
@@ -206,7 +206,7 @@ class ClassMapAutoloader implements SplAutoloader
             return ($p !== '' && $p !== '.');
         }));
 
-        array_walk($parts, function ($value, $key) use(&$parts) {
+        array_walk($parts, function ($value, $key) use (&$parts) {
             if ($value === '..') {
                 unset($parts[$key], $parts[$key-1]);
                 $parts = array_values($parts);
diff --git a/vendor/zendframework/zendframework/library/Zend/Loader/composer.json b/vendor/zendframework/zendframework/library/Zend/Loader/composer.json
index 7844ff4d200..fffd5df4157 100644
--- a/vendor/zendframework/zendframework/library/Zend/Loader/composer.json
+++ b/vendor/zendframework/zendframework/library/Zend/Loader/composer.json
@@ -15,9 +15,6 @@
     "require": {
         "php": ">=5.3.3"
     },
-    "suggest": {
-        "zendframework/zend-stdlib": "Zend\\Stdlib component"
-    },
     "extra": {
         "branch-alias": {
             "dev-master": "2.2-dev",
diff --git a/vendor/zendframework/zendframework/library/Zend/Log/Formatter/ErrorHandler.php b/vendor/zendframework/zendframework/library/Zend/Log/Formatter/ErrorHandler.php
index 42b0f8f480b..334ac0c489a 100644
--- a/vendor/zendframework/zendframework/library/Zend/Log/Formatter/ErrorHandler.php
+++ b/vendor/zendframework/zendframework/library/Zend/Log/Formatter/ErrorHandler.php
@@ -44,7 +44,7 @@ class ErrorHandler extends Simple
      * @param string $key
      * @return array
      */
-    protected function buildReplacementsFromArray ($event, $key = null)
+    protected function buildReplacementsFromArray($event, $key = null)
     {
         $result = array();
         foreach ($event as $index => $value) {
diff --git a/vendor/zendframework/zendframework/library/Zend/Log/Logger.php b/vendor/zendframework/zendframework/library/Zend/Log/Logger.php
index 0eaff585d83..914888196dc 100644
--- a/vendor/zendframework/zendframework/library/Zend/Log/Logger.php
+++ b/vendor/zendframework/zendframework/library/Zend/Log/Logger.php
@@ -123,7 +123,7 @@ class Logger implements LoggerInterface
      * @return Logger
      * @throws Exception\InvalidArgumentException
      */
-    public function __construct(array $options = null)
+    public function __construct($options = null)
     {
         $this->writers = new SplPriorityQueue();
 
@@ -154,6 +154,8 @@ class Logger implements LoggerInterface
                 static::registerErrorHandler($this);
             }
 
+        } elseif ($options) {
+            throw new Exception\InvalidArgumentException('Options must be an array or an object implementing \Traversable ');
         }
 
         $this->processors = new SplPriorityQueue();
@@ -519,9 +521,7 @@ class Logger implements LoggerInterface
 
         $errorPriorityMap = static::$errorPriorityMap;
 
-        $previous = set_error_handler(function ($level, $message, $file, $line)
-            use ($logger, $errorPriorityMap, $continueNativeHandler)
-        {
+        $previous = set_error_handler(function ($level, $message, $file, $line) use ($logger, $errorPriorityMap, $continueNativeHandler) {
             $iniLevel = error_reporting();
 
             if ($iniLevel & $level) {
diff --git a/vendor/zendframework/zendframework/library/Zend/Log/LoggerAbstractServiceFactory.php b/vendor/zendframework/zendframework/library/Zend/Log/LoggerAbstractServiceFactory.php
index ccb4c6489da..e392877bdf1 100644
--- a/vendor/zendframework/zendframework/library/Zend/Log/LoggerAbstractServiceFactory.php
+++ b/vendor/zendframework/zendframework/library/Zend/Log/LoggerAbstractServiceFactory.php
@@ -56,7 +56,9 @@ class LoggerAbstractServiceFactory implements AbstractFactoryInterface
     public function createServiceWithName(ServiceLocatorInterface $services, $name, $requestedName)
     {
         $config  = $this->getConfig($services);
-        return new Logger($config[$requestedName]);
+        $config  = $config[$requestedName];
+        $this->processConfig($config, $services);
+        return new Logger($config);
     }
 
     /**
@@ -85,4 +87,35 @@ class LoggerAbstractServiceFactory implements AbstractFactoryInterface
         $this->config = $config[$this->configKey];
         return $this->config;
     }
+
+    protected function processConfig(&$config, ServiceLocatorInterface $services)
+    {
+        if (!isset($config['writers'])) {
+            return;
+        }
+
+        foreach ($config['writers'] as $index => $writerConfig) {
+            if (!isset($writerConfig['name'])
+                || strtolower($writerConfig['name']) != 'db'
+            ) {
+                continue;
+            }
+            if (!isset($writerConfig['options'])
+                || !isset($writerConfig['options']['db'])
+            ) {
+                continue;
+            }
+            if (!is_string($writerConfig['options']['db'])) {
+                continue;
+            }
+            if (!$services->has($writerConfig['options']['db'])) {
+                continue;
+            }
+
+            // Retrieve the DB service from the service locator, and
+            // inject it into the configuration.
+            $db = $services->get($writerConfig['options']['db']);
+            $config['writers'][$index]['options']['db'] = $db;
+        }
+    }
 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Log/Writer/MongoDB.php b/vendor/zendframework/zendframework/library/Zend/Log/Writer/MongoDB.php
index 7366398ae41..1725ce53dc3 100644
--- a/vendor/zendframework/zendframework/library/Zend/Log/Writer/MongoDB.php
+++ b/vendor/zendframework/zendframework/library/Zend/Log/Writer/MongoDB.php
@@ -55,7 +55,7 @@ class MongoDB extends AbstractWriter
         }
         if (is_array($mongo)) {
             parent::__construct($mongo);
-            $saveOptions = isset($mongo['save_options']) ? $mongo['save_options'] : null;
+            $saveOptions = isset($mongo['save_options']) ? $mongo['save_options'] : array();
             $collection  = isset($mongo['collection']) ? $mongo['collection'] : null;
             $database    = isset($mongo['database']) ? $mongo['database'] : null;
             $mongo       = isset($mongo['mongo']) ? $mongo['mongo'] : null;
@@ -74,10 +74,10 @@ class MongoDB extends AbstractWriter
         }
 
         if (!($mongo instanceof MongoClient || $mongo instanceof Mongo)) {
-            throw new Exception\InvalidArgumentException(
+            throw new Exception\InvalidArgumentException(sprintf(
                 'Parameter of type %s is invalid; must be MongoClient or Mongo',
                 (is_object($mongo) ? get_class($mongo) : gettype($mongo))
-            );
+            ));
         }
 
         $this->mongoCollection = $mongo->selectCollection($database, $collection);
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/AbstractAddressList.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/AbstractAddressList.php
index 6f801933a3c..0a34619e587 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Header/AbstractAddressList.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/AbstractAddressList.php
@@ -43,9 +43,7 @@ abstract class AbstractAddressList implements HeaderInterface
     {
         $decodedLine = iconv_mime_decode($headerLine, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8');
         // split into name/value
-        list($fieldName, $fieldValue) = explode(':', $decodedLine, 2);
-        $fieldName  = trim($fieldName);
-        $fieldValue = trim($fieldValue);
+        list($fieldName, $fieldValue) = GenericHeader::splitHeaderLine($decodedLine);
 
         if (strtolower($fieldName) !== static::$type) {
             throw new Exception\InvalidArgumentException(sprintf(
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/ContentTransferEncoding.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/ContentTransferEncoding.php
new file mode 100644
index 00000000000..0d20f011e27
--- /dev/null
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/ContentTransferEncoding.php
@@ -0,0 +1,115 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Mail\Header;
+
+use Zend\Mail\Headers;
+
+class ContentTransferEncoding implements HeaderInterface
+{
+    /**
+     * Allowed Content-Transfer-Encoding parameters specified by RFC 1521
+     * (reduced set)
+     * @var array
+     */
+    protected static $allowedTransferEncodings = array(
+        '7bit',
+        '8bit',
+        'quoted-printable',
+        'base64',
+        /*
+         * not implemented:
+         * 'binary',
+         * x-token: 'X-'
+         */
+    );
+
+
+    /**
+     * @var string
+     */
+    protected $transferEncoding;
+
+    /**
+     * @var array
+     */
+    protected $parameters = array();
+
+    public static function fromString($headerLine)
+    {
+        $headerLine = iconv_mime_decode($headerLine, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8');
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
+
+        // check to ensure proper header type for this factory
+        if (strtolower($name) !== 'content-transfer-encoding') {
+            throw new Exception\InvalidArgumentException('Invalid header line for Content-Transfer-Encoding string');
+        }
+
+        $header = new static();
+        $header->setTransferEncoding($value);
+
+        return $header;
+    }
+
+    public function getFieldName()
+    {
+        return 'Content-Transfer-Encoding';
+    }
+
+    public function getFieldValue($format = HeaderInterface::FORMAT_RAW)
+    {
+        return $this->transferEncoding;
+    }
+
+    public function setEncoding($encoding)
+    {
+        // Header must be always in US-ASCII
+        return $this;
+    }
+
+    public function getEncoding()
+    {
+        return 'ASCII';
+    }
+
+    public function toString()
+    {
+        return 'Content-Transfer-Encoding: ' . $this->getFieldValue();
+    }
+
+    /**
+     * Set the content transfer encoding
+     *
+     * @param  string $transferEncoding
+     * @throws Exception\InvalidArgumentException
+     * @return self
+     */
+    public function setTransferEncoding($transferEncoding)
+    {
+        if (!in_array($transferEncoding, self::$allowedTransferEncodings)) {
+            throw new Exception\InvalidArgumentException(sprintf(
+                '%s expects one of "'. implode(', ', self::$allowedTransferEncodings) . '"; received "%s"',
+                __METHOD__,
+                (string) $transferEncoding
+            ));
+        }
+        $this->transferEncoding = $transferEncoding;
+        return $this;
+    }
+
+    /**
+     * Retrieve the content transfer encoding
+     *
+     * @return string
+     */
+    public function getTransferEncoding()
+    {
+        return $this->transferEncoding;
+    }
+}
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/ContentType.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/ContentType.php
index 9ae46b3289b..ab8a373ecf0 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Header/ContentType.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/ContentType.php
@@ -26,7 +26,7 @@ class ContentType implements HeaderInterface
     public static function fromString($headerLine)
     {
         $headerLine = iconv_mime_decode($headerLine, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8');
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'content-type') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/Date.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/Date.php
index ff7604e2d7b..2f2cae88d82 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Header/Date.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/Date.php
@@ -21,19 +21,23 @@ class Date implements HeaderInterface
 
     public static function fromString($headerLine)
     {
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'date') {
             throw new Exception\InvalidArgumentException('Invalid header line for Date string');
         }
 
-        $header = new static();
-        $header->value= $value;
+        $header = new static($value);
 
         return $header;
     }
 
+    public function __construct($value)
+    {
+        $this->value = $value;
+    }
+
     public function getFieldName()
     {
         return 'Date';
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/GenericHeader.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/GenericHeader.php
index cc48385a67b..8db9d943e1f 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Header/GenericHeader.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/GenericHeader.php
@@ -31,17 +31,33 @@ class GenericHeader implements HeaderInterface, UnstructuredInterface
     public static function fromString($headerLine)
     {
         $decodedLine = iconv_mime_decode($headerLine, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8');
-        $parts = explode(':', $decodedLine, 2);
-        if (count($parts) != 2) {
-            throw new Exception\InvalidArgumentException('Header must match with the format "name: value"');
-        }
-        $header = new static($parts[0], ltrim($parts[1]));
+        list($name, $value) = GenericHeader::splitHeaderLine($decodedLine);
+        $header = new static($name, $value);
         if ($decodedLine != $headerLine) {
             $header->setEncoding('UTF-8');
         }
         return $header;
     }
 
+    /**
+     * Splits the header line in `name` and `value` parts.
+     *
+     * @param string $headerLine
+     * @return string[] `name` in the first index and `value` in the second.
+     * @throws Exception\InvalidArgumentException If header does not match with the format ``name:value``
+     */
+    public static function splitHeaderLine($headerLine)
+    {
+        $parts = explode(':', $headerLine, 2);
+        if (count($parts) !== 2) {
+            throw new Exception\InvalidArgumentException('Header must match with the format "name:value"');
+        }
+
+        $parts[1] = ltrim($parts[1]);
+
+        return $parts;
+    }
+
     /**
      * Constructor
      *
@@ -76,7 +92,7 @@ class GenericHeader implements HeaderInterface, UnstructuredInterface
         $fieldName = str_replace(' ', '-', ucwords(str_replace(array('_', '-'), ' ', $fieldName)));
 
         // Validate what we have
-        if (!preg_match('/^[\x21-\x39\x3B-\x7E]*$/i', $fieldName)) {
+        if (!preg_match('/^[\x21-\x39\x3B-\x7E]*$/', $fieldName)) {
             throw new Exception\InvalidArgumentException(
                 'Header name must be composed of printable US-ASCII characters, except colon.'
             );
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/GenericMultiHeader.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/GenericMultiHeader.php
index 2c56d7a904a..a77ba43d531 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Header/GenericMultiHeader.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/GenericMultiHeader.php
@@ -17,11 +17,7 @@ class GenericMultiHeader extends GenericHeader implements MultipleHeadersInterfa
     public static function fromString($headerLine)
     {
         $decodedLine = iconv_mime_decode($headerLine, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8');
-        $parts = explode(': ', $decodedLine, 2);
-        if (count($parts) != 2) {
-            throw new Exception\InvalidArgumentException('Header must match with the format "name: value"');
-        }
-        list($fieldName, $fieldValue) = $parts;
+        list($fieldName, $fieldValue) = GenericHeader::splitHeaderLine($decodedLine);
 
         if (strpos($fieldValue, ',')) {
             $headers = array();
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/HeaderInterface.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/HeaderInterface.php
index 5ff0e8d30b4..35803cf9bfa 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Header/HeaderInterface.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/HeaderInterface.php
@@ -31,6 +31,8 @@ interface HeaderInterface
      *
      * @param string $headerLine
      * @return self
+     * @throws Exception\InvalidArgumentException If the header does not match with RFC 2822 definition.
+     * @see http://tools.ietf.org/html/rfc2822#section-2.2
      */
     public static function fromString($headerLine);
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/HeaderLoader.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/HeaderLoader.php
index 37e6ab0f20f..e0208b91156 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Header/HeaderLoader.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/HeaderLoader.php
@@ -20,23 +20,26 @@ class HeaderLoader extends PluginClassLoader
      * @var array Pre-aliased Header plugins
      */
     protected $plugins = array(
-        'bcc'          => 'Zend\Mail\Header\Bcc',
-        'cc'           => 'Zend\Mail\Header\Cc',
-        'contenttype'  => 'Zend\Mail\Header\ContentType',
-        'content_type' => 'Zend\Mail\Header\ContentType',
-        'content-type' => 'Zend\Mail\Header\ContentType',
-        'date'         => 'Zend\Mail\Header\Date',
-        'from'         => 'Zend\Mail\Header\From',
-        'message-id'   => 'Zend\Mail\Header\MessageId',
-        'mimeversion'  => 'Zend\Mail\Header\MimeVersion',
-        'mime_version' => 'Zend\Mail\Header\MimeVersion',
-        'mime-version' => 'Zend\Mail\Header\MimeVersion',
-        'received'     => 'Zend\Mail\Header\Received',
-        'replyto'      => 'Zend\Mail\Header\ReplyTo',
-        'reply_to'     => 'Zend\Mail\Header\ReplyTo',
-        'reply-to'     => 'Zend\Mail\Header\ReplyTo',
-        'sender'       => 'Zend\Mail\Header\Sender',
-        'subject'      => 'Zend\Mail\Header\Subject',
-        'to'           => 'Zend\Mail\Header\To',
+        'bcc'                       => 'Zend\Mail\Header\Bcc',
+        'cc'                        => 'Zend\Mail\Header\Cc',
+        'contenttype'               => 'Zend\Mail\Header\ContentType',
+        'content_type'              => 'Zend\Mail\Header\ContentType',
+        'content-type'              => 'Zend\Mail\Header\ContentType',
+        'contenttransferencoding'   => 'Zend\Mail\Header\ContentTransferEncoding',
+        'content_transfer_encoding' => 'Zend\Mail\Header\ContentTransferEncoding',
+        'content-transfer-encoding' => 'Zend\Mail\Header\ContentTransferEncoding',
+        'date'                      => 'Zend\Mail\Header\Date',
+        'from'                      => 'Zend\Mail\Header\From',
+        'message-id'                => 'Zend\Mail\Header\MessageId',
+        'mimeversion'               => 'Zend\Mail\Header\MimeVersion',
+        'mime_version'              => 'Zend\Mail\Header\MimeVersion',
+        'mime-version'              => 'Zend\Mail\Header\MimeVersion',
+        'received'                  => 'Zend\Mail\Header\Received',
+        'replyto'                   => 'Zend\Mail\Header\ReplyTo',
+        'reply_to'                  => 'Zend\Mail\Header\ReplyTo',
+        'reply-to'                  => 'Zend\Mail\Header\ReplyTo',
+        'sender'                    => 'Zend\Mail\Header\Sender',
+        'subject'                   => 'Zend\Mail\Header\Subject',
+        'to'                        => 'Zend\Mail\Header\To',
     );
 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/MessageId.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/MessageId.php
index a399e2b64cb..27ef7156397 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Header/MessageId.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/MessageId.php
@@ -20,7 +20,7 @@ class MessageId implements HeaderInterface
 
     public static function fromString($headerLine)
     {
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'message-id') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/MimeVersion.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/MimeVersion.php
index 2a98426eb86..52474e4a4fe 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Header/MimeVersion.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/MimeVersion.php
@@ -18,7 +18,7 @@ class MimeVersion implements HeaderInterface
 
     public static function fromString($headerLine)
     {
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'mime-version') {
@@ -28,7 +28,7 @@ class MimeVersion implements HeaderInterface
         // Check for version, and set if found
         $header = new static();
         if (preg_match('/^(?P<version>\d+\.\d+)$/', $value, $matches)) {
-            $header->version = $matches['version'];
+            $header->setVersion($matches['version']);
         }
 
         return $header;
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/Received.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/Received.php
index 36b3804522a..5ff26cd8a17 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Header/Received.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/Received.php
@@ -23,19 +23,23 @@ class Received implements HeaderInterface, MultipleHeadersInterface
 
     public static function fromString($headerLine)
     {
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'received') {
             throw new Exception\InvalidArgumentException('Invalid header line for Received string');
         }
 
-        $header = new static();
-        $header->value= $value;
+        $header = new static($value);
 
         return $header;
     }
 
+    public function __construct($value = '')
+    {
+        $this->value = $value;
+    }
+
     public function getFieldName()
     {
         return 'Received';
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/Sender.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/Sender.php
index 4dd1be32e8b..20d329e2a88 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Header/Sender.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/Sender.php
@@ -28,7 +28,7 @@ class Sender implements HeaderInterface
     public static function fromString($headerLine)
     {
         $decodedLine = iconv_mime_decode($headerLine, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8');
-        list($name, $value) = explode(': ', $decodedLine, 2);
+        list($name, $value) = GenericHeader::splitHeaderLine($decodedLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'sender') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Header/Subject.php b/vendor/zendframework/zendframework/library/Zend/Mail/Header/Subject.php
index 8f40d95f978..0a149340814 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Header/Subject.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Header/Subject.php
@@ -26,8 +26,7 @@ class Subject implements UnstructuredInterface
     public static function fromString($headerLine)
     {
         $decodedLine = iconv_mime_decode($headerLine, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8');
-        list($name, $value) = explode(':', $decodedLine, 2);
-        $value = ltrim($value);
+        list($name, $value) = GenericHeader::splitHeaderLine($decodedLine);
 
         // check to ensure proper header type for this factory
         if (strtolower($name) !== 'subject') {
diff --git a/vendor/zendframework/zendframework/library/Zend/Mail/Headers.php b/vendor/zendframework/zendframework/library/Zend/Mail/Headers.php
index 8e644edd62f..3ae0fccbc9c 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mail/Headers.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mail/Headers.php
@@ -386,7 +386,7 @@ class Headers implements Countable, Iterator
     public function toString()
     {
         $headers = '';
-        foreach ($this->headers as $header) {
+        foreach ($this as $header) {
             if ($str = $header->toString()) {
                 $headers .= $str . self::EOL;
             }
diff --git a/vendor/zendframework/zendframework/library/Zend/Math/Rand.php b/vendor/zendframework/zendframework/library/Zend/Math/Rand.php
index 616aa5b7af6..95b71cde824 100644
--- a/vendor/zendframework/zendframework/library/Zend/Math/Rand.php
+++ b/vendor/zendframework/zendframework/library/Zend/Math/Rand.php
@@ -75,8 +75,8 @@ abstract class Rand
      */
     public static function getAlternativeGenerator()
     {
-        if (!is_null(self::$generator)) {
-            return self::$generator;
+        if (!is_null(static::$generator)) {
+            return static::$generator;
         }
         if (!class_exists('RandomLib\\Factory')) {
             throw new Exception\RuntimeException(
@@ -90,8 +90,8 @@ abstract class Rand
             'HashTiming',
             'Zend\Math\Source\HashTiming'
         );
-        self::$generator = $factory->getMediumStrengthGenerator();
-        return self::$generator;
+        static::$generator = $factory->getMediumStrengthGenerator();
+        return static::$generator;
     }
 
     /**
diff --git a/vendor/zendframework/zendframework/library/Zend/Memory/composer.json b/vendor/zendframework/zendframework/library/Zend/Memory/composer.json
index cdf7e825a61..f0d708c9370 100644
--- a/vendor/zendframework/zendframework/library/Zend/Memory/composer.json
+++ b/vendor/zendframework/zendframework/library/Zend/Memory/composer.json
@@ -15,6 +15,9 @@
     "require": {
         "php": ">=5.3.3"
     },
+    "suggest": {
+        "zendframework/zend-cache": "To support swap the memory objects"
+    },
     "extra": {
         "branch-alias": {
             "dev-master": "2.2-dev",
diff --git a/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/LocatorRegistrationListener.php b/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/LocatorRegistrationListener.php
index 178793cd129..95e50ddb50e 100644
--- a/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/LocatorRegistrationListener.php
+++ b/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/LocatorRegistrationListener.php
@@ -69,10 +69,12 @@ class LocatorRegistrationListener extends AbstractListener implements
         // Shared instance for module manager
         $events->attach('Zend\Mvc\Application', MvcEvent::EVENT_BOOTSTRAP, function ($e) use ($moduleManager) {
             $moduleClassName = get_class($moduleManager);
+            $moduleClassNameArray = explode('\\', $moduleClassName);
+            $moduleClassNameAlias = end($moduleClassNameArray);
             $application     = $e->getApplication();
             $services        = $application->getServiceManager();
             if (!$services->has($moduleClassName)) {
-                $services->setService($moduleClassName, $moduleManager);
+                $services->setAlias($moduleClassName, $moduleClassNameAlias);
             }
         }, 1000);
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractRestfulController.php b/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractRestfulController.php
index 60a9e6a5e4a..f868594e43e 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractRestfulController.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractRestfulController.php
@@ -507,7 +507,7 @@ abstract class AbstractRestfulController extends AbstractController
      * $this->getIdentifier($routeMatch, $request)",
      * passing the appropriate objects.
      *
-     * To retrive the body content data, use "$data = $this->processBodyContent($request)";
+     * To retrieve the body content data, use "$data = $this->processBodyContent($request)";
      * that method will return a string, array, or, in the case of JSON, an object.
      *
      * @param  string $method
diff --git a/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/Plugin/FilePostRedirectGet.php b/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/Plugin/FilePostRedirectGet.php
index ccf2f15ba28..b88950506bb 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/Plugin/FilePostRedirectGet.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/Plugin/FilePostRedirectGet.php
@@ -69,7 +69,7 @@ class FilePostRedirectGet extends AbstractPlugin
         $this->traverseInputs(
             $inputFilter,
             $previousFiles,
-            function($input, $value) {
+            function ($input, $value) {
                 if ($input instanceof FileInput) {
                     $input->setRequired(false);
                 }
@@ -135,7 +135,7 @@ class FilePostRedirectGet extends AbstractPlugin
         $this->traverseInputs(
             $inputFilter,
             $post,
-            function($input, $value) {
+            function ($input, $value) {
                 if ($input instanceof FileInput) {
                     $input->setAutoPrependUploadValidator(false)
                           ->setValidatorChain(new ValidatorChain())
@@ -242,7 +242,7 @@ class FilePostRedirectGet extends AbstractPlugin
         return $this->traverseInputs(
             $inputFilter,
             $data,
-            function($input, $value) {
+            function ($input, $value) {
                 $messages = $input->getMessages();
                 if (is_array($value) && $input instanceof FileInput && empty($messages)) {
                     $rawValue = $input->getRawValue();
@@ -270,7 +270,7 @@ class FilePostRedirectGet extends AbstractPlugin
         return $this->traverseInputs(
             $inputFilter,
             $data,
-            function($input, $value) {
+            function ($input, $value) {
                 $messages = $input->getMessages();
                 if (is_array($value) && $input instanceof FileInput && empty($messages)) {
                     $rawValue = $input->getRawValue();
diff --git a/vendor/zendframework/zendframework/library/Zend/Mvc/Router/Http/TreeRouteStack.php b/vendor/zendframework/zendframework/library/Zend/Mvc/Router/Http/TreeRouteStack.php
index 779dcbc6909..c6b8c94f7c0 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mvc/Router/Http/TreeRouteStack.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mvc/Router/Http/TreeRouteStack.php
@@ -223,7 +223,7 @@ class TreeRouteStack extends SimpleRouteStack
      * Get a prototype.
      *
      * @param  string $name
-     * @return RouterInterface|null
+     * @return RouteInterface|null
      */
     public function getPrototype($name)
     {
diff --git a/vendor/zendframework/zendframework/library/Zend/Mvc/Service/DiAbstractServiceFactoryFactory.php b/vendor/zendframework/zendframework/library/Zend/Mvc/Service/DiAbstractServiceFactoryFactory.php
index b10813cacd3..0f5168809a0 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mvc/Service/DiAbstractServiceFactoryFactory.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mvc/Service/DiAbstractServiceFactoryFactory.php
@@ -28,7 +28,7 @@ class DiAbstractServiceFactoryFactory implements FactoryInterface
 
         if ($serviceLocator instanceof ServiceManager) {
             /* @var $serviceLocator ServiceManager */
-            $serviceLocator->addAbstractFactory($factory);
+            $serviceLocator->addAbstractFactory($factory, false);
         }
 
         return $factory;
diff --git a/vendor/zendframework/zendframework/library/Zend/Mvc/Service/ViewHelperManagerFactory.php b/vendor/zendframework/zendframework/library/Zend/Mvc/Service/ViewHelperManagerFactory.php
index c236da1a778..c1b8004f227 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mvc/Service/ViewHelperManagerFactory.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mvc/Service/ViewHelperManagerFactory.php
@@ -81,11 +81,14 @@ class ViewHelperManagerFactory extends AbstractPluginManagerFactory
             $config = $serviceLocator->has('Config') ? $serviceLocator->get('Config') : array();
             $basePathHelper = new ViewHelper\BasePath;
             if (isset($config['view_manager']) && isset($config['view_manager']['base_path'])) {
-                $basePath = $config['view_manager']['base_path'];
+                $basePathHelper->setBasePath($config['view_manager']['base_path']);
             } else {
-                $basePath = $serviceLocator->get('Request')->getBasePath();
+                $request = $serviceLocator->get('Request');
+                if (is_callable(array($request, 'getBasePath'))) {
+                    $basePathHelper->setBasePath($request->getBasePath());
+                }
             }
-            $basePathHelper->setBasePath($basePath);
+
             return $basePathHelper;
         });
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Navigation/AbstractContainer.php b/vendor/zendframework/zendframework/library/Zend/Navigation/AbstractContainer.php
index aabfcc57788..ccfacdfea41 100644
--- a/vendor/zendframework/zendframework/library/Zend/Navigation/AbstractContainer.php
+++ b/vendor/zendframework/zendframework/library/Zend/Navigation/AbstractContainer.php
@@ -93,7 +93,7 @@ abstract class AbstractContainer implements Countable, RecursiveIterator
      * calling {@link Page\AbstractPage::setParent()}.
      *
      * @param  Page\AbstractPage|array|Traversable $page  page to add
-     * @return AbstractContainer fluent interface, returns self
+     * @return self fluent interface, returns self
      * @throws Exception\InvalidArgumentException if page is invalid
      */
     public function addPage($page)
@@ -136,7 +136,7 @@ abstract class AbstractContainer implements Countable, RecursiveIterator
      * Adds several pages at once
      *
      * @param  array|Traversable|AbstractContainer $pages pages to add
-     * @return AbstractContainer fluent interface, returns self
+     * @return self fluent interface, returns self
      * @throws Exception\InvalidArgumentException if $pages is not array,
      *                                            Traversable or AbstractContainer
      */
@@ -172,7 +172,7 @@ abstract class AbstractContainer implements Countable, RecursiveIterator
      * Sets pages this container should have, removing existing pages
      *
      * @param  array $pages pages to set
-     * @return AbstractContainer fluent interface, returns self
+     * @return self fluent interface, returns self
      */
     public function setPages(array $pages)
     {
@@ -223,7 +223,7 @@ abstract class AbstractContainer implements Countable, RecursiveIterator
     /**
      * Removes all pages in container
      *
-     * @return AbstractContainer fluent interface, returns self
+     * @return self fluent interface, returns self
      */
     public function removePages()
     {
diff --git a/vendor/zendframework/zendframework/library/Zend/Paginator/SerializableLimitIterator.php b/vendor/zendframework/zendframework/library/Zend/Paginator/SerializableLimitIterator.php
index f9b1570e52f..5b0bb3cad37 100644
--- a/vendor/zendframework/zendframework/library/Zend/Paginator/SerializableLimitIterator.php
+++ b/vendor/zendframework/zendframework/library/Zend/Paginator/SerializableLimitIterator.php
@@ -39,7 +39,7 @@ class SerializableLimitIterator extends LimitIterator implements Serializable, A
      * @param int $count Maximum number of elements to show or -1 for all
      * @see LimitIterator::__construct
      */
-    public function __construct (Iterator $it, $offset=0, $count=-1)
+    public function __construct(Iterator $it, $offset=0, $count=-1)
     {
         parent::__construct($it, $offset, $count);
         $this->offset = $offset;
diff --git a/vendor/zendframework/zendframework/library/Zend/Paginator/composer.json b/vendor/zendframework/zendframework/library/Zend/Paginator/composer.json
index cdfe4a8f63f..4a1f9fb69cc 100644
--- a/vendor/zendframework/zendframework/library/Zend/Paginator/composer.json
+++ b/vendor/zendframework/zendframework/library/Zend/Paginator/composer.json
@@ -16,6 +16,9 @@
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
     },
+    "suggest": {
+        "zendframework/zend-cache":"To support cache feature"
+    },
     "extra": {
         "branch-alias": {
             "dev-master": "2.2-dev",
diff --git a/vendor/zendframework/zendframework/library/Zend/Permissions/Acl/Acl.php b/vendor/zendframework/zendframework/library/Zend/Permissions/Acl/Acl.php
index 5774d21ed6d..a9cad33928a 100644
--- a/vendor/zendframework/zendframework/library/Zend/Permissions/Acl/Acl.php
+++ b/vendor/zendframework/zendframework/library/Zend/Permissions/Acl/Acl.php
@@ -93,7 +93,7 @@ class Acl implements AclInterface
      * will have the least priority, and the last parent added will have the
      * highest priority.
      *
-     * @param  Role\RoleInterface              $role
+     * @param  Role\RoleInterface|string       $role
      * @param  Role\RoleInterface|string|array $parents
      * @throws Exception\InvalidArgumentException
      * @return Acl Provides a fluent interface
diff --git a/vendor/zendframework/zendframework/library/Zend/ProgressBar/composer.json b/vendor/zendframework/zendframework/library/Zend/ProgressBar/composer.json
index 4fbe59c0f61..17a3e97fb91 100644
--- a/vendor/zendframework/zendframework/library/Zend/ProgressBar/composer.json
+++ b/vendor/zendframework/zendframework/library/Zend/ProgressBar/composer.json
@@ -17,7 +17,8 @@
         "zendframework/zend-stdlib": "self.version"
     },
     "suggest": {
-        "zendframework/zend-json": "Zend\\Json component"
+        "zendframework/zend-json": "Zend\\Json component",
+        "zendframework/zend-session": "To support progressbar persistent"
     },
     "extra": {
         "branch-alias": {
diff --git a/vendor/zendframework/zendframework/library/Zend/Serializer/Adapter/MsgPack.php b/vendor/zendframework/zendframework/library/Zend/Serializer/Adapter/MsgPack.php
index 06be986710f..03bb7504e97 100644
--- a/vendor/zendframework/zendframework/library/Zend/Serializer/Adapter/MsgPack.php
+++ b/vendor/zendframework/zendframework/library/Zend/Serializer/Adapter/MsgPack.php
@@ -32,8 +32,8 @@ class MsgPack extends AbstractAdapter
             );
         }
 
-        if (self::$serialized0 === null) {
-            self::$serialized0 = msgpack_serialize(0);
+        if (static::$serialized0 === null) {
+            static::$serialized0 = msgpack_serialize(0);
         }
 
         parent::__construct($options);
@@ -68,7 +68,7 @@ class MsgPack extends AbstractAdapter
      */
     public function unserialize($serialized)
     {
-        if ($serialized === self::$serialized0) {
+        if ($serialized === static::$serialized0) {
             return 0;
         }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/ServiceManager/Exception/CircularReferenceException.php b/vendor/zendframework/zendframework/library/Zend/ServiceManager/Exception/CircularReferenceException.php
new file mode 100644
index 00000000000..73c34fe1992
--- /dev/null
+++ b/vendor/zendframework/zendframework/library/Zend/ServiceManager/Exception/CircularReferenceException.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\ServiceManager\Exception;
+
+class CircularReferenceException extends RuntimeException
+{
+}
diff --git a/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php b/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php
index 4cceedf4d2f..2480eeb559e 100644
--- a/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php
+++ b/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php
@@ -429,6 +429,32 @@ class ServiceManager implements ServiceLocatorInterface
         return $this;
     }
 
+    /**
+     * Resolve the alias for the given canonical name
+     *
+     * @param  string $cName The canonical name to resolve
+     * @return string The resolved canonical name
+     */
+    protected function resolveAlias($cName)
+    {
+        $stack = array();
+
+        while ($this->hasAlias($cName)) {
+            if (isset($stack[$cName])) {
+                throw new Exception\CircularReferenceException(sprintf(
+                    'Circular alias reference: %s -> %s',
+                    implode(' -> ', $stack),
+                    $cName
+                ));
+            }
+
+            $stack[$cName] = $cName;
+            $cName = $this->aliases[$cName];
+        }
+
+        return $cName;
+    }
+
     /**
      * Retrieve a registered instance
      *
@@ -448,12 +474,9 @@ class ServiceManager implements ServiceLocatorInterface
 
         $isAlias = false;
 
-        if (isset($this->aliases[$cName])) {
+        if ($this->hasAlias($cName)) {
             $isAlias = true;
-
-            do {
-                $cName = $this->aliases[$cName];
-            } while ($this->hasAlias($cName));
+            $cName = $this->resolveAlias($cName);
         }
 
         $instance = null;
@@ -532,25 +555,7 @@ class ServiceManager implements ServiceLocatorInterface
         }
 
         if (isset($this->delegators[$cName])) {
-            $serviceManager       = $this;
-            $additionalDelegators = count($this->delegators[$cName]) - 1;
-            $creationCallback     = function () use ($serviceManager, $rName, $cName) {
-                return $serviceManager->doCreate($rName, $cName);
-            };
-
-            for ($i = 0; $i < $additionalDelegators; $i += 1) {
-                $creationCallback = $this->createDelegatorCallback(
-                    $this->delegators[$cName][$i],
-                    $rName,
-                    $cName,
-                    $creationCallback
-                );
-            }
-
-            /* @var $delegatorFactory DelegatorFactoryInterface */
-            $delegatorFactory = $this->get($this->delegators[$cName][$i]);
-
-            return $delegatorFactory->createDelegatorWithName($this, $cName, $rName, $creationCallback);
+            return $this->createDelegatorFromFactory($cName, $rName);
         }
 
         return $this->doCreate($rName, $cName);
@@ -559,22 +564,21 @@ class ServiceManager implements ServiceLocatorInterface
     /**
      * Creates a callback that uses a delegator to create a service
      *
-     * @param string   $delegatorFactoryName name of the delegator factory service
-     * @param string   $rName                requested service name
-     * @param string   $cName                canonical service name
-     * @param callable $creationCallback     callback that is responsible for instantiating the service
+     * @param DelegatorFactoryInterface|callable $delegatorFactory the delegator factory
+     * @param string                             $rName            requested service name
+     * @param string                             $cName            canonical service name
+     * @param callable                           $creationCallback callback for instantiating the real service
      *
      * @return callable
      */
-    private function createDelegatorCallback($delegatorFactoryName, $rName, $cName, $creationCallback)
+    private function createDelegatorCallback($delegatorFactory, $rName, $cName, $creationCallback)
     {
         $serviceManager  = $this;
 
-        return function () use ($serviceManager, $delegatorFactoryName, $rName, $cName, $creationCallback) {
-            /* @var $delegatorFactory DelegatorFactoryInterface */
-            $delegatorFactory = $serviceManager->get($delegatorFactoryName);
-
-            return $delegatorFactory->createDelegatorWithName($serviceManager, $cName, $rName, $creationCallback);
+        return function () use ($serviceManager, $delegatorFactory, $rName, $cName, $creationCallback) {
+            return $delegatorFactory instanceof DelegatorFactoryInterface
+                ? $delegatorFactory->createDelegatorWithName($serviceManager, $cName, $rName, $creationCallback)
+                : $delegatorFactory($serviceManager, $cName, $rName, $creationCallback);
         };
     }
 
@@ -591,21 +595,21 @@ class ServiceManager implements ServiceLocatorInterface
      */
     public function doCreate($rName, $cName)
     {
-        $instance = false;
+        $instance = null;
 
         if (isset($this->factories[$cName])) {
             $instance = $this->createFromFactory($cName, $rName);
         }
 
-        if ($instance === false && isset($this->invokableClasses[$cName])) {
+        if ($instance === null && isset($this->invokableClasses[$cName])) {
             $instance = $this->createFromInvokable($cName, $rName);
         }
 
-        if ($instance === false && $this->canCreateFromAbstractFactory($cName, $rName)) {
+        if ($instance === null && $this->canCreateFromAbstractFactory($cName, $rName)) {
             $instance = $this->createFromAbstractFactory($cName, $rName);
         }
 
-        if ($instance === false && $this->throwExceptionInCreate) {
+        if ($instance === null && $this->throwExceptionInCreate) {
             throw new Exception\ServiceNotFoundException(sprintf(
                 'No valid instance was found for %s%s',
                 $cName,
@@ -613,6 +617,11 @@ class ServiceManager implements ServiceLocatorInterface
             ));
         }
 
+        // Do not call initializers if we do not have an instance
+        if ($instance === null) {
+            return $instance;
+        }
+
         foreach ($this->initializers as $initializer) {
             if ($initializer instanceof InitializerInterface) {
                 $initializer->initialize($instance, $this);
@@ -731,6 +740,38 @@ class ServiceManager implements ServiceLocatorInterface
         return false;
     }
 
+    /**
+     * Ensure the alias definition will not result in a circular reference
+     *
+     * @param  string $alias
+     * @param  string $nameOrAlias
+     * @throws Exception\CircularReferenceException
+     * @return self
+     */
+    protected function checkForCircularAliasReference($alias, $nameOrAlias)
+    {
+        $aliases = $this->aliases;
+        $aliases[$alias] = $nameOrAlias;
+        $stack = array();
+
+        while (isset($aliases[$alias])) {
+            if (isset($stack[$alias])) {
+                throw new Exception\CircularReferenceException(sprintf(
+                    'The alias definition "%s" : "%s" results in a circular reference: "%s" -> "%s"',
+                    $alias,
+                    $nameOrAlias,
+                    implode('" -> "', $stack),
+                    $alias
+                ));
+            }
+
+            $stack[$alias] = $alias;
+            $alias = $aliases[$alias];
+        }
+
+        return $this;
+    }
+
     /**
      * @param  string $alias
      * @param  string $nameOrAlias
@@ -759,6 +800,10 @@ class ServiceManager implements ServiceLocatorInterface
             ));
         }
 
+        if ($this->hasAlias($alias)) {
+            $this->checkForCircularAliasReference($cAlias, $nameOrAlias);
+        }
+
         $this->aliases[$cAlias] = $nameOrAlias;
         return $this;
     }
@@ -1023,7 +1068,7 @@ class ServiceManager implements ServiceLocatorInterface
                     );
                     unset($this->pendingAbstractFactoryRequests[get_class($abstractFactory)]);
                 } else {
-                    $instance = false;
+                    $instance = null;
                 }
             } catch (\Exception $e) {
                 unset($this->pendingAbstractFactoryRequests[get_class($abstractFactory)]);
@@ -1037,12 +1082,54 @@ class ServiceManager implements ServiceLocatorInterface
                     $e
                 );
             }
-            if (is_object($instance)) {
-                break;
+            if ($instance !== null) {
+                return $instance;
             }
         }
+    }
 
-        return $instance;
+    /**
+     * @param $canonicalName
+     * @param $requestedName
+     * @return mixed
+     * @throws Exception\ServiceNotCreatedException
+     */
+    protected function createDelegatorFromFactory($canonicalName, $requestedName)
+    {
+        $serviceManager     = $this;
+        $delegatorsCount    = count($this->delegators[$canonicalName]);
+        $creationCallback   = function () use ($serviceManager, $requestedName, $canonicalName) {
+            return $serviceManager->doCreate($requestedName, $canonicalName);
+        };
+
+        for ($i = 0; $i < $delegatorsCount; $i += 1) {
+
+            $delegatorFactory = $this->delegators[$canonicalName][$i];
+
+            if (is_string($delegatorFactory)) {
+                $delegatorFactory = !$this->has($delegatorFactory) && class_exists($delegatorFactory, true) ?
+                    new $delegatorFactory
+                    : $this->get($delegatorFactory);
+                $this->delegators[$canonicalName][$i] = $delegatorFactory;
+            }
+
+            if (!$delegatorFactory instanceof DelegatorFactoryInterface && !is_callable($delegatorFactory)) {
+                throw new Exception\ServiceNotCreatedException(sprintf(
+                    'While attempting to create %s%s an invalid factory was registered for this instance type.',
+                    $canonicalName,
+                    ($requestedName ? '(alias: ' . $requestedName . ')' : '')
+                ));
+            }
+
+            $creationCallback = $this->createDelegatorCallback(
+                $delegatorFactory,
+                $requestedName,
+                $canonicalName,
+                $creationCallback
+            );
+        }
+
+        return $creationCallback($serviceManager, $canonicalName, $requestedName, $creationCallback);
     }
 
     /**
diff --git a/vendor/zendframework/zendframework/library/Zend/Session/Config/SessionConfig.php b/vendor/zendframework/zendframework/library/Zend/Session/Config/SessionConfig.php
index 372c988a77d..755f8487a93 100644
--- a/vendor/zendframework/zendframework/library/Zend/Session/Config/SessionConfig.php
+++ b/vendor/zendframework/zendframework/library/Zend/Session/Config/SessionConfig.php
@@ -68,7 +68,7 @@ class SessionConfig extends StandardConfig
      * @param  string $storageName
      * @param  mixed $storageValue
      * @return SessionConfig
-     * @throws \InvalidArgumentException
+     * @throws Exception\InvalidArgumentException
      */
     public function setStorageOption($storageName, $storageValue)
     {
@@ -87,7 +87,7 @@ class SessionConfig extends StandardConfig
 
         $result = ini_set($key, $storageValue);
         if (FALSE === $result) {
-            throw new \InvalidArgumentException("'" . $key .
+            throw new Exception\InvalidArgumentException("'" . $key .
                     "' is not a valid sessions-related ini setting.");
         }
         return $this;
diff --git a/vendor/zendframework/zendframework/library/Zend/Soap/AutoDiscover.php b/vendor/zendframework/zendframework/library/Zend/Soap/AutoDiscover.php
index 2f0ecea5981..82852f84ac4 100644
--- a/vendor/zendframework/zendframework/library/Zend/Soap/AutoDiscover.php
+++ b/vendor/zendframework/zendframework/library/Zend/Soap/AutoDiscover.php
@@ -356,7 +356,7 @@ class AutoDiscover
     public function addFunction($function)
     {
         if (is_array($function)) {
-            foreach($function as $row){
+            foreach($function as $row) {
                 $this->addFunction($row);
             }
         } elseif (is_string($function)) {
diff --git a/vendor/zendframework/zendframework/library/Zend/Soap/Server.php b/vendor/zendframework/zendframework/library/Zend/Soap/Server.php
index 5d276a26c2f..6cc0a0e6e14 100644
--- a/vendor/zendframework/zendframework/library/Zend/Soap/Server.php
+++ b/vendor/zendframework/zendframework/library/Zend/Soap/Server.php
@@ -939,7 +939,7 @@ class Server implements ZendServerServer
                 $this->registerFaultException($row);
             }
 
-        } elseif (is_string($class) && class_exists($class) && is_subclass_of($class, 'Exception')) {
+        } elseif (is_string($class) && class_exists($class) && (is_subclass_of($class, 'Exception') || 'Exception' === $class)) {
             $ref = new ReflectionClass($class);
 
             $this->faultExceptions[] = $ref->getName();
diff --git a/vendor/zendframework/zendframework/library/Zend/Soap/Wsdl.php b/vendor/zendframework/zendframework/library/Zend/Soap/Wsdl.php
index cab0c17ba7b..d830a56e9d0 100644
--- a/vendor/zendframework/zendframework/library/Zend/Soap/Wsdl.php
+++ b/vendor/zendframework/zendframework/library/Zend/Soap/Wsdl.php
@@ -182,7 +182,7 @@ class Wsdl
      */
     public function setUri($uri)
     {
-        if ($uri instanceof Uri){
+        if ($uri instanceof Uri) {
             $uri = $uri->toString();
         }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Stdlib/DispatchableInterface.php b/vendor/zendframework/zendframework/library/Zend/Stdlib/DispatchableInterface.php
index ab672fa13f8..296e1301ad1 100644
--- a/vendor/zendframework/zendframework/library/Zend/Stdlib/DispatchableInterface.php
+++ b/vendor/zendframework/zendframework/library/Zend/Stdlib/DispatchableInterface.php
@@ -9,17 +9,14 @@
 
 namespace Zend\Stdlib;
 
-use Zend\Stdlib\RequestInterface as Request;
-use Zend\Stdlib\ResponseInterface as Response;
-
 interface DispatchableInterface
 {
     /**
      * Dispatch a request
      *
-     * @param Request $request
-     * @param null|Response $response
+     * @param RequestInterface $request
+     * @param null|ResponseInterface $response
      * @return Response|mixed
      */
-    public function dispatch(Request $request, Response $response = null);
+    public function dispatch(RequestInterface $request, ResponseInterface $response = null);
 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/AbstractHydrator.php b/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/AbstractHydrator.php
index 4cb9a4356f7..729260f910f 100644
--- a/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/AbstractHydrator.php
+++ b/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/AbstractHydrator.php
@@ -149,7 +149,7 @@ abstract class AbstractHydrator implements HydratorInterface, StrategyEnabledInt
      *
      * <code>
      * $composite->addFilter("servicelocator",
-     *     function($property) {
+     *     function ($property) {
      *         list($class, $method) = explode('::', $property);
      *         if ($method === 'getServiceLocator') {
      *             return false;
diff --git a/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Filter/FilterComposite.php b/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Filter/FilterComposite.php
index f5ce7e9c8d0..35bb437c076 100644
--- a/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Filter/FilterComposite.php
+++ b/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Filter/FilterComposite.php
@@ -41,7 +41,7 @@ class FilterComposite implements FilterInterface
     public function __construct($orFilter = array(), $andFilter = array())
     {
         array_walk($orFilter,
-            function($value, $key) {
+            function ($value, $key) {
                 if (
                     !is_callable($value)
                     && !$value instanceof FilterInterface
@@ -55,7 +55,7 @@ class FilterComposite implements FilterInterface
         );
 
         array_walk($andFilter,
-            function($value, $key) {
+            function ($value, $key) {
                 if (
                     !is_callable($value)
                     && !$value instanceof FilterInterface
@@ -79,7 +79,7 @@ class FilterComposite implements FilterInterface
      * This example will exclude all methods from the hydration, that starts with 'getService'
      * <code>
      * $composite->addFilter('exclude',
-     *     function($method) {
+     *     function ($method) {
      *         if (preg_match('/^getService/', $method) {
      *             return false;
      *         }
diff --git a/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Filter/OptionalParametersFilter.php b/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Filter/OptionalParametersFilter.php
index de97037800c..9fa1de07e19 100644
--- a/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Filter/OptionalParametersFilter.php
+++ b/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Filter/OptionalParametersFilter.php
@@ -32,8 +32,8 @@ class OptionalParametersFilter implements FilterInterface
      */
     public function filter($property)
     {
-        if (isset(self::$propertiesCache[$property])) {
-            return self::$propertiesCache[$property];
+        if (isset(static::$propertiesCache[$property])) {
+            return static::$propertiesCache[$property];
         }
 
         try {
@@ -49,6 +49,6 @@ class OptionalParametersFilter implements FilterInterface
             }
         );
 
-        return self::$propertiesCache[$property] = empty($mandatoryParameters);
+        return static::$propertiesCache[$property] = empty($mandatoryParameters);
     }
 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Strategy/ClosureStrategy.php b/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Strategy/ClosureStrategy.php
index 1367b5c06d1..e2b32a640c3 100644
--- a/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Strategy/ClosureStrategy.php
+++ b/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Strategy/ClosureStrategy.php
@@ -13,7 +13,7 @@ class ClosureStrategy implements StrategyInterface
 {
     /**
      * Function, used in extract method, default:
-     * function($value) {
+     * function ($value) {
      *     return $value;
      * };
      * @var callable
@@ -22,7 +22,7 @@ class ClosureStrategy implements StrategyInterface
 
     /**
      * Function, used in hydrate method, default:
-     * function($value) {
+     * function ($value) {
      *     return $value;
      * };
      * @var callable
@@ -32,11 +32,11 @@ class ClosureStrategy implements StrategyInterface
     /**
      * You can describe how your values will extract and hydrate, like this:
      * $hydrator->addStrategy('category', new ClosureStrategy(
-     *     function(Category $value) {
-     *         return (int)$value->id;
+     *     function (Category $value) {
+     *         return (int) $value->id;
      *     },
-     *     function($value) {
-     *         return new Category((int)$value);
+     *     function ($value) {
+     *         return new Category((int) $value);
      *     }
      * ));
      *
@@ -54,7 +54,7 @@ class ClosureStrategy implements StrategyInterface
 
             $this->extractFunc = $extractFunc;
         } else {
-            $this->extractFunc = function($value) {
+            $this->extractFunc = function ($value) {
                 return $value;
             };
         }
@@ -66,7 +66,7 @@ class ClosureStrategy implements StrategyInterface
 
             $this->hydrateFunc = $hydrateFunc;
         } else {
-            $this->hydrateFunc = function($value) {
+            $this->hydrateFunc = function ($value) {
                 return $value;
             };
         }
diff --git a/vendor/zendframework/zendframework/library/Zend/Stdlib/PriorityQueue.php b/vendor/zendframework/zendframework/library/Zend/Stdlib/PriorityQueue.php
index bf6a624ac83..21cca340a13 100644
--- a/vendor/zendframework/zendframework/library/Zend/Stdlib/PriorityQueue.php
+++ b/vendor/zendframework/zendframework/library/Zend/Stdlib/PriorityQueue.php
@@ -271,7 +271,7 @@ class PriorityQueue implements Countable, IteratorAggregate, Serializable
     /**
      * Get the inner priority queue instance
      *
-     * @throws \DomainException
+     * @throws Exception\DomainException
      * @return SplPriorityQueue
      */
     protected function getQueue()
@@ -279,7 +279,7 @@ class PriorityQueue implements Countable, IteratorAggregate, Serializable
         if (null === $this->queue) {
             $this->queue = new $this->queueClass();
             if (!$this->queue instanceof \SplPriorityQueue) {
-                throw new \DomainException(sprintf(
+                throw new Exception\DomainException(sprintf(
                     'PriorityQueue expects an internal queue of type SplPriorityQueue; received "%s"',
                     get_class($this->queue)
                 ));
diff --git a/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php b/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php
index 84a5fc60510..e4ef0c2dcf0 100644
--- a/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php
+++ b/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php
@@ -212,15 +212,15 @@ abstract class AbstractControllerTestCase extends PHPUnit_Framework_TestCase
         }
 
         if ($method == HttpRequest::METHOD_POST) {
-            if (count($params) != 0){
+            if (count($params) != 0) {
                 $post = $params;
             }
         } elseif ($method == HttpRequest::METHOD_GET) {
             $query = array_merge($query, $params);
         } elseif ($method == HttpRequest::METHOD_PUT) {
-            if (count($params) != 0){
+            if (count($params) != 0) {
                 array_walk($params,
-                    function(&$item, $key) { $item = $key . '=' . $item; }
+                    function (&$item, $key) { $item = $key . '=' . $item; }
                 );
                 $content = implode('&', $params);
                 $request->setContent($content);
diff --git a/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractHttpControllerTestCase.php b/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractHttpControllerTestCase.php
index af04c8c1b7c..ab4335f1017 100644
--- a/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractHttpControllerTestCase.php
+++ b/vendor/zendframework/zendframework/library/Zend/Test/PHPUnit/Controller/AbstractHttpControllerTestCase.php
@@ -49,7 +49,8 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         $responseHeader = $this->getResponseHeader($header);
         if (false === $responseHeader) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting response header "%s" found', $header
+                'Failed asserting response header "%s" found',
+                $header
             ));
         }
         $this->assertNotEquals(false, $responseHeader);
@@ -65,7 +66,8 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         $responseHeader = $this->getResponseHeader($header);
         if (false !== $responseHeader) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting response header "%s" WAS NOT found', $header
+                'Failed asserting response header "%s" WAS NOT found',
+                $header
             ));
         }
         $this->assertFalse($responseHeader);
@@ -82,13 +84,16 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         $responseHeader = $this->getResponseHeader($header);
         if (!$responseHeader) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting response header, header "%s" do not exists', $header
+                'Failed asserting response header, header "%s" do not exists',
+                $header
             ));
         }
         if ($match != $responseHeader->getFieldValue()) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting response header "%s" exists and contains "%s", actual content is "%s"',
-                $header, $match, $responseHeader->getFieldValue()
+                $header,
+                $match,
+                $responseHeader->getFieldValue()
             ));
         }
         $this->assertEquals($match, $responseHeader->getFieldValue());
@@ -105,13 +110,15 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         $responseHeader = $this->getResponseHeader($header);
         if (!$responseHeader) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting response header, header "%s" do not exists', $header
+                'Failed asserting response header, header "%s" do not exists',
+                $header
             ));
         }
         if ($match == $responseHeader->getFieldValue()) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting response header "%s" DOES NOT CONTAIN "%s"',
-                $header, $match
+                $header,
+                $match
             ));
         }
         $this->assertNotEquals($match, $responseHeader->getFieldValue());
@@ -128,13 +135,16 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         $responseHeader = $this->getResponseHeader($header);
         if (!$responseHeader) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting response header, header "%s" do not exists', $header
+                'Failed asserting response header, header "%s" do not exists',
+                $header
             ));
         }
         if (!preg_match($pattern, $responseHeader->getFieldValue())) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting response header "%s" exists and matches regex "%s", actual content is "%s"',
-                $header, $pattern, $responseHeader->getFieldValue()
+                $header,
+                $pattern,
+                $responseHeader->getFieldValue()
             ));
         }
         $this->assertTrue((bool) preg_match($pattern, $responseHeader->getFieldValue()));
@@ -151,13 +161,15 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         $responseHeader = $this->getResponseHeader($header);
         if (!$responseHeader) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting response header, header "%s" do not exists', $header
+                'Failed asserting response header, header "%s" do not exists',
+                $header
             ));
         }
         if (preg_match($pattern, $responseHeader->getFieldValue())) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting response header "%s" DOES NOT MATCH regex "%s"',
-                $header, $pattern
+                $header,
+                $pattern
             ));
         }
         $this->assertFalse((bool) preg_match($pattern, $responseHeader->getFieldValue()));
@@ -208,7 +220,8 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         if ($url != $responseHeader->getFieldValue()) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting response redirects to "%s", actual redirection is "%s"',
-                $url, $responseHeader->getFieldValue()
+                $url,
+                $responseHeader->getFieldValue()
             ));
         }
         $this->assertEquals($url, $responseHeader->getFieldValue());
@@ -229,7 +242,8 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         }
         if ($url == $responseHeader->getFieldValue()) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting response redirects to "%s"', $url
+                'Failed asserting response redirects to "%s"',
+                $url
             ));
         }
         $this->assertNotEquals($url, $responseHeader->getFieldValue());
@@ -251,7 +265,8 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         if (!preg_match($pattern, $responseHeader->getFieldValue())) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting response redirects to URL MATCHING "%s", actual redirection is "%s"',
-                $pattern, $responseHeader->getFieldValue()
+                $pattern,
+                $responseHeader->getFieldValue()
             ));
         }
         $this->assertTrue((bool) preg_match($pattern, $responseHeader->getFieldValue()));
@@ -272,7 +287,8 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         }
         if (preg_match($pattern, $responseHeader->getFieldValue())) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting response DOES NOT redirect to URL MATCHING "%s"', $pattern
+                'Failed asserting response DOES NOT redirect to URL MATCHING "%s"',
+                $pattern
             ));
         }
         $this->assertFalse((bool) preg_match($pattern, $responseHeader->getFieldValue()));
@@ -351,7 +367,8 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         $match = $this->$method($path);
         if (!$match > 0) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting node DENOTED BY %s EXISTS', $path
+                'Failed asserting node DENOTED BY %s EXISTS',
+                $path
             ));
         }
         $this->assertTrue($match > 0);
@@ -389,7 +406,8 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         $match  = $this->$method($path);
         if ($match != 0) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting node DENOTED BY %s DOES NOT EXIST', $path
+                'Failed asserting node DENOTED BY %s DOES NOT EXIST',
+                $path
             ));
         }
         $this->assertEquals(0, $match);
@@ -429,7 +447,9 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         if ($match != $count) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting node DENOTED BY %s OCCURS EXACTLY %d times, actually occurs %d times',
-                $path, $count, $match
+                $path,
+                $count,
+                $match
             ));
         }
         $this->assertEquals($match, $count);
@@ -471,7 +491,8 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         if ($match == $count) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting node DENOTED BY %s DOES NOT OCCUR EXACTLY %d times',
-                $path, $count
+                $path,
+                $count
             ));
         }
         $this->assertNotEquals($match, $count);
@@ -513,7 +534,9 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         if ($match < $count) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting node DENOTED BY %s OCCURS AT LEAST %d times, actually occurs %d times',
-                $path, $count, $match
+                $path,
+                $count,
+                $match
             ));
         }
         $this->assertTrue($match >= $count);
@@ -555,7 +578,9 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         if ($match > $count) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting node DENOTED BY %s OCCURS AT MOST %d times, actually occurs %d times',
-                $path, $count, $match
+                $path,
+                $count,
+                $match
             ));
         }
         $this->assertTrue($match <= $count);
@@ -595,16 +620,21 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         $result = $this->query($path, $useXpath);
         if ($result->count() == 0) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting node DENOTED BY %s EXISTS', $path
+                'Failed asserting node DENOTED BY %s EXISTS',
+                $path
             ));
         }
-        if ($result->current()->nodeValue != $match) {
-            throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting node denoted by %s CONTAINS content "%s", actual content is "%s"',
-                $path, $match, $result->current()->nodeValue
-            ));
+        foreach ($result as $node) {
+            if ($node->nodeValue == $match) {
+                $this->assertEquals($match, $node->nodeValue);
+                return;
+            }
         }
-        $this->assertEquals($result->current()->nodeValue, $match);
+        throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
+            'Failed asserting node denoted by %s CONTAINS content "%s"',
+            $path,
+            $match
+        ));
     }
 
     /**
@@ -641,16 +671,21 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         $result = $this->query($path, $useXpath);
         if ($result->count() == 0) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting node DENOTED BY %s EXISTS', $path
+                'Failed asserting node DENOTED BY %s EXISTS',
+                $path
             ));
         }
-        if ($result->current()->nodeValue == $match) {
-            throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting node DENOTED BY %s DOES NOT CONTAIN content "%s"',
-                $path, $match
-            ));
+        foreach ($result as $node) {
+            if ($node->nodeValue == $match) {
+                throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
+                    'Failed asserting node DENOTED BY %s DOES NOT CONTAIN content "%s"',
+                    $path,
+                    $match
+                ));
+            }
         }
-        $this->assertNotEquals($result->current()->nodeValue, $match);
+        $currentValue = $node->nodeValue;
+        $this->assertNotEquals($currentValue, $match);
     }
 
     /**
@@ -687,13 +722,16 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         $result = $this->query($path, $useXpath);
         if ($result->count() == 0) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting node DENOTED BY %s EXISTS', $path
+                'Failed asserting node DENOTED BY %s EXISTS',
+                $path
             ));
         }
         if (!preg_match($pattern, $result->current()->nodeValue)) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting node denoted by %s CONTAINS content MATCHING "%s", actual content is "%s"',
-                $path, $pattern, $result->current()->nodeValue
+                $path,
+                $pattern,
+                $result->current()->nodeValue
             ));
         }
         $this->assertTrue((bool) preg_match($pattern, $result->current()->nodeValue));
@@ -733,13 +771,15 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
         $result = $this->query($path, $useXpath);
         if ($result->count() == 0) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
-                'Failed asserting node DENOTED BY %s EXISTS', $path
+                'Failed asserting node DENOTED BY %s EXISTS',
+                $path
             ));
         }
         if (preg_match($pattern, $result->current()->nodeValue)) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting node DENOTED BY %s DOES NOT CONTAIN content MATCHING "%s"',
-                $path, $pattern
+                $path,
+                $pattern
             ));
         }
         $this->assertFalse((bool) preg_match($pattern, $result->current()->nodeValue));
diff --git a/vendor/zendframework/zendframework/library/Zend/Text/Table/DecoratorManager.php b/vendor/zendframework/zendframework/library/Zend/Text/Table/DecoratorManager.php
index a7774f1e190..0525b6d2a00 100644
--- a/vendor/zendframework/zendframework/library/Zend/Text/Table/DecoratorManager.php
+++ b/vendor/zendframework/zendframework/library/Zend/Text/Table/DecoratorManager.php
@@ -31,11 +31,6 @@ class DecoratorManager extends AbstractPluginManager
         'unicode' => 'Zend\Text\Table\Decorator\Unicode',
     );
 
-    /**
-     * @var Renderer\RendererInterface
-     */
-    protected $renderer;
-
     /**
      * Validate the plugin
      *
diff --git a/vendor/zendframework/zendframework/library/Zend/Validator/File/Exists.php b/vendor/zendframework/zendframework/library/Zend/Validator/File/Exists.php
index bd84320ca50..e9bea8c9d43 100644
--- a/vendor/zendframework/zendframework/library/Zend/Validator/File/Exists.php
+++ b/vendor/zendframework/zendframework/library/Zend/Validator/File/Exists.php
@@ -74,7 +74,7 @@ class Exists extends AbstractValidator
         $asArray   = (bool) $asArray;
         $directory = $this->options['directory'];
         if ($asArray && isset($directory)) {
-            $directory = explode(',', (string)$directory);
+            $directory = explode(',', (string) $directory);
         }
 
         return $directory;
diff --git a/vendor/zendframework/zendframework/library/Zend/Validator/Hostname.php b/vendor/zendframework/zendframework/library/Zend/Validator/Hostname.php
index ef66a200a4b..0ad73721827 100644
--- a/vendor/zendframework/zendframework/library/Zend/Validator/Hostname.php
+++ b/vendor/zendframework/zendframework/library/Zend/Validator/Hostname.php
@@ -405,7 +405,7 @@ class Hostname extends AbstractValidator
      * @param  bool $useIdnCheck Set to true to validate IDN domains
      * @return Hostname
      */
-    public function useIdnCheck ($useIdnCheck)
+    public function useIdnCheck($useIdnCheck)
     {
         $this->options['useIdnCheck'] = (bool) $useIdnCheck;
         return $this;
@@ -429,7 +429,7 @@ class Hostname extends AbstractValidator
      * @param  bool $useTldCheck Set to true to validate TLD elements
      * @return Hostname
      */
-    public function useTldCheck ($useTldCheck)
+    public function useTldCheck($useTldCheck)
     {
         $this->options['useTldCheck'] = (bool) $useTldCheck;
         return $this;
diff --git a/vendor/zendframework/zendframework/library/Zend/Version/Version.php b/vendor/zendframework/zendframework/library/Zend/Version/Version.php
index 674282a4125..5325fb1158b 100644
--- a/vendor/zendframework/zendframework/library/Zend/Version/Version.php
+++ b/vendor/zendframework/zendframework/library/Zend/Version/Version.php
@@ -19,7 +19,7 @@ final class Version
     /**
      * Zend Framework version identification - see compareVersion()
      */
-    const VERSION = '2.2.4';
+    const VERSION = '2.2.5';
 
     /**
      * Github Service Identifier for version information is retreived from
diff --git a/vendor/zendframework/zendframework/library/Zend/Version/composer.json b/vendor/zendframework/zendframework/library/Zend/Version/composer.json
index 9059e2799dd..52a09a7ee1f 100644
--- a/vendor/zendframework/zendframework/library/Zend/Version/composer.json
+++ b/vendor/zendframework/zendframework/library/Zend/Version/composer.json
@@ -15,6 +15,9 @@
     "require": {
         "php": ">=5.3.3"
     },
+    "suggest": {
+        "zendframework/zend-json": "To check latest version hosted in GitHub"
+    },
     "extra": {
         "branch-alias": {
             "dev-master": "2.2-dev",
diff --git a/vendor/zendframework/zendframework/library/Zend/View/Helper/FlashMessenger.php b/vendor/zendframework/zendframework/library/Zend/View/Helper/FlashMessenger.php
index 7e71fcca797..4af4c33a981 100644
--- a/vendor/zendframework/zendframework/library/Zend/View/Helper/FlashMessenger.php
+++ b/vendor/zendframework/zendframework/library/Zend/View/Helper/FlashMessenger.php
@@ -106,8 +106,11 @@ class FlashMessenger extends AbstractTranslatorHelper implements ServiceLocatorA
 
         // Prepare classes for opening tag
         if (empty($classes)) {
-            $classes = isset($this->classMessages[$namespace]) ?
-                $this->classMessages[$namespace] : $this->classMessages[PluginFlashMessenger::NAMESPACE_DEFAULT];
+            if (isset($this->classMessages[$namespace])) {
+                $classes = $this->classMessages[$namespace];
+            } else {
+                $classes = $this->classMessages[PluginFlashMessenger::NAMESPACE_DEFAULT];
+            }
             $classes = array($classes);
         }
 
@@ -118,10 +121,11 @@ class FlashMessenger extends AbstractTranslatorHelper implements ServiceLocatorA
         $translator = $this->getTranslator();
         $translatorTextDomain = $this->getTranslatorTextDomain();
 
-        array_walk_recursive($messages, function($item) use (&$messagesToPrint, $escapeHtml, $translator, $translatorTextDomain) {
+        array_walk_recursive($messages, function ($item) use (&$messagesToPrint, $escapeHtml, $translator, $translatorTextDomain) {
             if ($translator !== null) {
                 $item = $translator->translate(
-                        $item, $translatorTextDomain
+                    $item,
+                    $translatorTextDomain
                 );
             }
             $messagesToPrint[] = $escapeHtml($item);
diff --git a/vendor/zendframework/zendframework/library/Zend/View/Helper/Placeholder/Container/AbstractContainer.php b/vendor/zendframework/zendframework/library/Zend/View/Helper/Placeholder/Container/AbstractContainer.php
index fa81dfeacc0..24e76882719 100644
--- a/vendor/zendframework/zendframework/library/Zend/View/Helper/Placeholder/Container/AbstractContainer.php
+++ b/vendor/zendframework/zendframework/library/Zend/View/Helper/Placeholder/Container/AbstractContainer.php
@@ -260,7 +260,7 @@ abstract class AbstractContainer extends ArrayObject
      * Prepend a value to the top of the container
      *
      * @param  mixed $value
-     * @return void
+     * @return self
      */
     public function prepend($value)
     {
@@ -271,6 +271,18 @@ abstract class AbstractContainer extends ArrayObject
         return $this;
     }
 
+    /**
+     * Append a value to the end of the container
+     *
+     * @param  mixed $value
+     * @return self
+     */
+    public function append($value)
+    {
+        parent::append($value);
+        return $this;
+    }
+
     /**
      * Next Index as defined by the PHP manual
      *
@@ -291,7 +303,7 @@ abstract class AbstractContainer extends ArrayObject
      * optionally, if a number is passed, it will be the number of spaces
      *
      * @param  string|int $indent
-     * @return AbstractContainer
+     * @return self
      */
     public function setIndent($indent)
     {
@@ -313,7 +325,7 @@ abstract class AbstractContainer extends ArrayObject
      * Set postfix for __toString() serialization
      *
      * @param  string $postfix
-     * @return AbstractContainer
+     * @return self
      */
     public function setPostfix($postfix)
     {
@@ -335,7 +347,7 @@ abstract class AbstractContainer extends ArrayObject
      * Set prefix for __toString() serialization
      *
      * @param  string $prefix
-     * @return AbstractContainer
+     * @return self
      */
     public function setPrefix($prefix)
     {
@@ -359,7 +371,7 @@ abstract class AbstractContainer extends ArrayObject
      * Used to implode elements in container
      *
      * @param  string $separator
-     * @return AbstractContainer
+     * @return self
      */
     public function setSeparator($separator)
     {
diff --git a/vendor/zendframework/zendframework/library/Zend/View/HelperPluginManager.php b/vendor/zendframework/zendframework/library/Zend/View/HelperPluginManager.php
index 1938ecacaba..84053c2f32b 100644
--- a/vendor/zendframework/zendframework/library/Zend/View/HelperPluginManager.php
+++ b/vendor/zendframework/zendframework/library/Zend/View/HelperPluginManager.php
@@ -42,11 +42,10 @@ class HelperPluginManager extends AbstractPluginManager
         // basepath and url are not very useful without their factories, however the doctype
         // helper works fine as an invokable. The factory for doctype simply checks for the
         // config value from the merged config.
-        'doctype'             => 'Zend\View\Helper\Doctype', // overridden by a factory in ViewHelperManagerFactory
         'basepath'            => 'Zend\View\Helper\BasePath',
-        'url'                 => 'Zend\View\Helper\Url',
         'cycle'               => 'Zend\View\Helper\Cycle',
         'declarevars'         => 'Zend\View\Helper\DeclareVars',
+        'doctype'             => 'Zend\View\Helper\Doctype', // overridden by a factory in ViewHelperManagerFactory
         'escapehtml'          => 'Zend\View\Helper\EscapeHtml',
         'escapehtmlattr'      => 'Zend\View\Helper\EscapeHtmlAttr',
         'escapejs'            => 'Zend\View\Helper\EscapeJs',
@@ -73,6 +72,7 @@ class HelperPluginManager extends AbstractPluginManager
         'renderchildmodel'    => 'Zend\View\Helper\RenderChildModel',
         'rendertoplaceholder' => 'Zend\View\Helper\RenderToPlaceholder',
         'serverurl'           => 'Zend\View\Helper\ServerUrl',
+        'url'                 => 'Zend\View\Helper\Url',
         'viewmodel'           => 'Zend\View\Helper\ViewModel',
     );
 
diff --git a/vendor/zendframework/zendframework/library/Zend/XmlRpc/AbstractValue.php b/vendor/zendframework/zendframework/library/Zend/XmlRpc/AbstractValue.php
index 5ceec16728c..e5e63a1e3ef 100644
--- a/vendor/zendframework/zendframework/library/Zend/XmlRpc/AbstractValue.php
+++ b/vendor/zendframework/zendframework/library/Zend/XmlRpc/AbstractValue.php
@@ -19,7 +19,7 @@ use DateTime;
  * function acts likes a factory for the Zend\XmlRpc\Value objects
  *
  * Using this function, users/Zend\XmlRpc\Client object can create the Zend\XmlRpc\Value objects
- * from PHP variables, XML string or by specifying the exact XML-RPC natvie type
+ * from PHP variables, XML string or by specifying the exact XML-RPC native type
  */
 abstract class AbstractValue
 {
diff --git a/vendor/zendframework/zendframework/library/Zend/XmlRpc/Value/AbstractCollection.php b/vendor/zendframework/zendframework/library/Zend/XmlRpc/Value/AbstractCollection.php
index a65eb03d98a..a6fba7fc760 100644
--- a/vendor/zendframework/zendframework/library/Zend/XmlRpc/Value/AbstractCollection.php
+++ b/vendor/zendframework/zendframework/library/Zend/XmlRpc/Value/AbstractCollection.php
@@ -21,7 +21,7 @@ abstract class AbstractCollection extends AbstractValue
      */
     public function __construct($value)
     {
-        $values = (array)$value;   // Make sure that the value is an array
+        $values = (array) $value;   // Make sure that the value is an array
         foreach ($values as $key => $value) {
             // If the elements of the given array are not Zend\XmlRpc\Value objects,
             // we need to convert them as such (using auto-detection from PHP value)
@@ -40,7 +40,7 @@ abstract class AbstractCollection extends AbstractValue
      */
     public function getValue()
     {
-        $values = (array)$this->value;
+        $values = (array) $this->value;
         foreach ($values as $key => $value) {
             $values[$key] = $value->getValue();
         }
diff --git a/vendor/zendframework/zendframework/resources/languages/fr/Zend_Validate.php b/vendor/zendframework/zendframework/resources/languages/fr/Zend_Validate.php
index e568e9aff35..ff4aa4766d4 100644
--- a/vendor/zendframework/zendframework/resources/languages/fr/Zend_Validate.php
+++ b/vendor/zendframework/zendframework/resources/languages/fr/Zend_Validate.php
@@ -9,7 +9,7 @@
 
 
 /**
- * FR-Revision: 06.June.2013
+ * FR-Revision: 29.Sept.2013
  */
 return array(
     // Zend\I18n\Validator\Alnum
@@ -22,6 +22,10 @@ return array(
     "The input contains non alphabetic characters" => "L'entrée contient des caractères non alphabétiques",
     "The input is an empty string" => "L'entrée est une chaîne vide",
 
+    // Zend\I18n\Validator\DateTime
+    "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
+    "The input does not appear to be a valid datetime" => "L'entrée ne semble pas être une date/heure valide",
+
     // Zend\I18n\Validator\Float
     "Invalid type given. String, integer or float expected" => "Type invalide. Chaîne, entier ou flottant attendu",
     "The input does not appear to be a float" => "L'entrée n'est pas un nombre flottant",
@@ -31,7 +35,7 @@ return array(
     "The input does not appear to be an integer" => "L'entrée n'est pas un entier",
 
     // Zend\I18n\Validator\PostCode
-    "Invalid type given. String or integer expected" => "Type invalid. Chaîne ou entier attendu",
+    "Invalid type given. String or integer expected" => "Type invalide. Chaîne ou entier attendu",
     "The input does not appear to be a postal code" => "L'entrée ne semble pas être un code postal valide",
     "An exception has been raised while validating the input" => "Une exception a été levée lors de la validation de l'entrée",
 
@@ -69,7 +73,7 @@ return array(
     // Zend\Validator\DateStep
     "Invalid type given. String, integer, array or DateTime expected" => "Entrée invalide. Chaîne, entier, tableau ou DateTime attendu",
     "The input does not appear to be a valid date" => "L'entrée ne semble pas être une date valide",
-    "The input is not a valid step" => "L'entrée n'est pas une step valide",
+    "The input is not a valid step" => "L'entrée n'est pas un pas de date valide",
 
     // Zend\Validator\Db\AbstractDb
     "No record matching the input was found" => "Aucun enregistrement trouvé",
@@ -117,7 +121,7 @@ return array(
     // Zend\Validator\File\FilesSize
     "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Tous les fichiers devraient avoir une taille maximale de '%max%' mais une taille de '%size%' a été détectée",
     "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Tous les fichiers devraient avoir une taille minimale de '%max%' mais une taille de '%size%' a été détectée",
-    "One or more files can not be read" => "Un ou plusieurs fichiers ne peut pas être lu",
+    "One or more files can not be read" => "Un ou plusieurs fichiers ne peuvent être lus",
 
     // Zend\Validator\File\Hash
     "File '%value%' does not match the given hashes" => "Le fichier '%value%' ne correspond pas aux sommes de contrôle données",
@@ -125,10 +129,10 @@ return array(
     "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
 
     // Zend\Validator\File\ImageSize
-    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "La largeur maximale pour l'image '%value%' devrait être '%maxwidth%', mais '%width%' détecté",
-    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "La largeur minimale pour l'image '%value%' devrait être '%minwidth%', mais '%width%' détecté",
-    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "La hauteur maximale pour l'image '%value%' devrait être '%maxheight%', mais '%height%' détecté",
-    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "La hauteur maximale pour l'image '%value%' devrait être '%minheight%', mais '%height%' détecté",
+    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "La largeur maximale pour l'image '%value%' devrait être de '%maxwidth%', mais largeur de '%width%' détectée",
+    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "La largeur minimale pour l'image '%value%' devrait être de '%minwidth%', mais largeur de '%width%' détectée",
+    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "La hauteur maximale pour l'image '%value%' devrait être de '%maxheight%', mais hauteur de '%height%' détectée",
+    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "La hauteur maximale pour l'image '%value%' devrait être de '%minheight%', mais hauteur de '%height%' détectée",
     "The size of image '%value%' could not be detected" => "La taille de l'image '%value%' n'a pas pu être détectée",
     "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
 
diff --git a/vendor/zendframework/zendframework/resources/languages/pl/Zend_Captcha.php b/vendor/zendframework/zendframework/resources/languages/pl/Zend_Captcha.php
new file mode 100644
index 00000000000..29a6aa6d648
--- /dev/null
+++ b/vendor/zendframework/zendframework/resources/languages/pl/Zend_Captcha.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+
+/**
+ * EN-Revision: 16.Oct.2013
+ */
+return array(
+    // Zend_Captcha_ReCaptcha
+    "Missing captcha fields" => "BrakujÄ…ce pole captcha",
+    "Failed to validate captcha" => "Błąd podczas sprawdzania captcha",
+    "Captcha value is wrong: %value%" => "Wartość captcha jest niepoprawna: %value%",
+
+    // Zend_Captcha_Word
+    "Empty captcha value" => "Pusta wartość captcha",
+    "Captcha ID field is missing" => "Pole captcha ID jest puste",
+    "Captcha value is wrong" => "Wartość captcha jest niepoprawna",
+);
diff --git a/vendor/zendframework/zendframework/resources/languages/pl/Zend_Validate.php b/vendor/zendframework/zendframework/resources/languages/pl/Zend_Validate.php
index 52e895e284b..3e499e0b552 100644
--- a/vendor/zendframework/zendframework/resources/languages/pl/Zend_Validate.php
+++ b/vendor/zendframework/zendframework/resources/languages/pl/Zend_Validate.php
@@ -8,32 +8,40 @@
  */
 
 /**
- * EN-Revision: 16.Jul.2013
+ * EN-Revision: 16.Oct.2013
  */
 return array(
     // Zend\I18n\Validator\Alnum
     "Invalid type given. String, integer or float expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą lub liczbą zmiennoprzecinkową",
     "The input contains characters which are non alphabetic and no digits" => "Podana wartość powinna zawierać znaki z alfabetu lub cyfry",
-    "The input is an empty string" => "Podana artość jest pustym ciągiem znaków",
+    "The input is an empty string" => "Podana wartość jest pustym ciągiem znaków",
 
     // Zend\I18n\Validator\Alpha
     "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
     "The input contains non alphabetic characters" => "Podana wartość zawiera znaki spoza alfabetu",
-    "The input is an empty string" => "Podana wartość jest pustym ciągiem znaków",
+
+    // Zend\I18n\Validator\DateTime
+    "The input does not appear to be a valid datetime" => "Podana wartość nie jest poprawną datą",
 
     // Zend\I18n\Validator\Float
-    "Invalid type given. String, integer or float expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą lub liczbą zmiennoprzecinkową",
     "The input does not appear to be a float" => "Podana wartość nie jest liczbą zmiennoprzecinkową",
 
     // Zend\I18n\Validator\Int
     "Invalid type given. String or integer expected" => "Podana wartość powinna być ciągiem znaków lub liczbą całkowitą",
     "The input does not appear to be an integer" => "Podana wartość nie jest liczbą całkowitą",
 
+    // Zend\I18n\Validator\PhoneNumber
+    "The input does not match a phone number format" => "Wartość nie pasuje do formatu numeru telefonu",
+    "The country provided is currently unsupported" => "Ten kraj nie jest wspierany",
+
+    // Zend\I18n\Validator\PostCode
+    "The input does not appear to be a postal code" => "Podana wartość nie jest kodem pocztowym",
+    "An exception has been raised while validating the input" => "Wystąpił błąd podczas sprawdzania danych",
+
     // Zend\Validator\Barcode
     "The input failed checksum validation" => "Błędna suma kontrolna dla wartości",
     "The input contains invalid characters" => "Wartość zawiera niedozwolone znaki",
     "The input should have a length of %length% characters" => "Wartość powinna być długości %length% znaków",
-    "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
 
     // Zend\Validator\Between
     "The input is not between '%min%' and '%max%', inclusively" => "Podana wartość nie zawiera się w przedziale od '%min%' do '%max%' włącznie",
@@ -45,26 +53,27 @@ return array(
 
     // Zend\Validator\CreditCard
     "The input seems to contain an invalid checksum" => "Numer zawiera niepoprawnÄ… sumÄ™ kontrolnÄ…",
-    "The input must contain only digits" => "Numer karty może zawierać tylko cyfry",
-    "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
+    "The input must contain only digits" => "Podana wartość może zawierać tylko cyfry",
     "The input contains an invalid amount of digits" => "Numer zawiera niepoprawnÄ… liczbÄ™ cyfr",
     "The input is not from an allowed institute" => "Numer nie jest z dozwolonej instytucji",
     "The input seems to be an invalid credit card number" => "Podana wartość jest niepoprawnym numerem karty",
-    "An exception has been raised while validating the input" => "Wystąpił błąd podczas sprawdzania numeru karty",
+
+    // Zend\Validator\Csrf
+    "The form submitted did not originate from the expected site" => "Przesłany formularz nie pochodzi z oczekiwanej strony",
 
     // Zend\Validator\Date
-    "Invalid type given. String, integer, array or DateTime expected" => "Podana wartość powinna być ciągiem znaków, liczbą, tablicą lub obiektem Zend_Date",
+    "Invalid type given. String, integer, array or DateTime expected" => "Podana wartość powinna być ciągiem znaków, liczbą, tablicą lub obiektem DateTime",
     "The input does not appear to be a valid date" => "Podana wartość nie jest poprawną datą",
     "The input does not fit the date format '%format%'" => "Data nie jest w formacie '%format%'",
 
+    // Zend\Validator\DateStep
+    "The input is not a valid step" => "Wartość nie jest poprawnym krokiem",
+
     // Zend\Validator\Db\AbstractDb
     "No record matching the input was found" => "Nie znaleziono rekordu dla podanej wartości",
     "A record matching the input was found" => "Znaleziono rekord dla podanej wartośći",
 
     // Zend\Validator\Digits
-    "The input must contain only digits" => "Podana wartość może zawierać tylko cyfry",
-    "The input is an empty string" => "Wprowadzono pusty ciągiem znaków",
-    "Invalid type given. String, integer or float expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą lub liczbą zmiennoprzecinkową",
 
     // Zend\Validator\EmailAddress
     "The input is not a valid email address. Use the basic format local-part@hostname" => "Podana wartość nie jest poprawnym adresem email w formacie nazwa@serwer",
@@ -76,6 +85,9 @@ return array(
     "'%localPart%' is not a valid local part for the email address" => "'%localPart%' nie jest poprawnÄ… nazwÄ….",
     "The input exceeds the allowed length" => "Podana wartość przekroczyła dozwoloną długość",
 
+    // Zend\Validator\Explode
+    "Invalid type given" => "Nieprawiłowy typ",
+
     // Zend\Validator\File\Count
     "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Wybrano '%count%' plików. Dopuszczalna liczba plików to '%max%'",
     "Too few files, minimum '%min%' are expected but '%count%' are given" => "Wybrano '%count%' plików. Minimalna liczba plików to '%min%'",
@@ -89,7 +101,7 @@ return array(
     "File has an incorrect extension" => "Plik ma niepoprawne rozszerzenie",
     "File is not readable or does not exist" => "Plik  nie istnieje lub nie można go odczytać",
 
-    // Zend_Validate_File_ExcludeMimeType
+    // Zend\Validate\File\ExcludeMimeType
     "File '%value%' has a false mimetype of '%type%'" => "Plik '%value%' ma niepoprawny typ MIME '%type%'",
     "The mimetype of file '%value%' could not be detected" => "Nie można wykryć typu MIME dla pliku '%value%'",
     "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
@@ -99,7 +111,6 @@ return array(
 
     // Zend\Validator\File\Extension
     "File has an incorrect extension" => "Plik ma niepoprawne rozszerzenie",
-    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
     // Zend\Validator\File\FilesSize
     "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Wybrane pliki łącznie zajmują '%size%'. Maksymalny łączny rozmiar to '%max%'",
@@ -109,7 +120,6 @@ return array(
     // Zend\Validator\File\Hash
     "File does not match the given hashes" => "Plik ma niedopuszczalny hash",
     "A hash could not be evaluated for the given file" => "Nie można obliczyć funkcji haszującej dla podanego pliku",
-    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
     // Zend\Validator\File\ImageSize
     "Maximum allowed width for image should be '%maxwidth%' but '%width%' detected" => "Plik ma szerokość '%width%'. Maksymalna szerokość to '%maxwidth%'",
@@ -117,27 +127,22 @@ return array(
     "Maximum allowed height for image should be '%maxheight%' but '%height%' detected" => "Plik ma wysokość '%height%'. Maksymalna wysokość to '%maxheight%'",
     "Minimum expected height for image should be '%minheight%' but '%height%' detected" => "Plik ma wysokość '%height%'. Minimalna wysokość to '%minheight%'",
     "The size of image could not be detected" => "Nie można określić rozmiaru pliku",
-    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
     // Zend\Validator\File\IsCompressed
     "File is not compressed, '%type%' detected" => "Plik typu '%type%' nie jest skompresowany",
     "The mimetype could not be detected from the file" => "Nie można wykryć typu MIME dla pliku",
-    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
     // Zend\Validator\File\IsImage
     "File is no image, '%type%' detected" => "Plik typu '%type%' nie jest obrazem",
     "The mimetype could not be detected from the file" => "Nie można wykryć typu MIME dla pliku",
-    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
     // Zend\Validator\File\Md5
     "File does not match the given md5 hashes" => "Plik ma niedopuszczalny hash md5",
     "An md5 hash could not be evaluated for the given file" => "Nie można obliczyć funkcji haszującej md5 dla podanego pliku",
-    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
     // Zend\Validator\File\MimeType
     "File has an incorrect mimetype of '%type%'" => "Plik ma niepoprawny typ MIME '%type%'",
     "The mimetype could not be detected from the file" => "Nie można wykryć typu MIME dla pliku",
-    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
     // Zend\Validator\File\NotExists
     "File exists" => "Plik istnieje",
@@ -145,14 +150,12 @@ return array(
     // Zend\Validator\File\Sha1
     "File does not match the given sha1 hashes" => "Plik ma niedopuszczalny hash sha1",
     "A sha1 hash could not be evaluated for the given file" => "Nie można obliczyć funkcji haszującej sha1 dla podanego pliku",
-    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
     // Zend\Validator\File\Size
     "Maximum allowed size for file is '%max%' but '%size%' detected" => "Podany plik ma rozmiar '%size%'. Maksymalny rozmiar pliku to '%max%'",
     "Minimum expected size for file is '%min%' but '%size%' detected" => "Podany plik ma rozmiar '%size%'. Minimalny rozmiar pliku to '%min%'",
-    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
-    // Zend\Validator\File\UploadFile
+    // Zend\Validator\File\Upload
     "File '%value%' exceeds the defined ini size" => "Rozmiar pliku '%value%' przekroczył zdefiniowaną wartość w ini",
     "File '%value%' exceeds the defined form size" => "Rozmiar pliku '%value%' przekroczył zdefiniowaną wartość w formularzu",
     "File '%value%' was only partially uploaded" => "Plik '%value%' nie został całkowicie wysłany",
@@ -164,38 +167,47 @@ return array(
     "File '%value%' was not found" => "Nie znaleziono pliku '%value%'",
     "Unknown error while uploading file '%value%'" => "Nieznany błąd podczas wysyłania pliku '%value%'",
 
+    // Zend\Validator\File\UploadFile
+    "File exceeds the defined ini size" => "Rozmiar pliku przekroczył zdefiniowaną wartość w ini",
+    "File exceeds the defined form size" => "Rozmiar pliku przekroczył zdefiniowaną wartość w formularzu",
+    "File was only partially uploaded" => "Plik nie został całkowicie wysłany",
+    "File was not uploaded" => "Plik nie został wysłany",
+    "No temporary directory was found for file" => "Nie zdefiniowano tymczasowego katalogu",
+    "File can't be written" => "Nie można zapisać pliku",
+    "A PHP extension returned an error while uploading the file" => "Rozszerzenie PHP zgłosiło wyjątek podczas wysyłania pliku",
+    "File was illegally uploaded. This could be a possible attack" => "Plik został niepoprawnie wysłany. Istnieje możliwość wystąpienia ataku",
+    "File was not found" => "Nie znaleziono pliku",
+    "Unknown error while uploading file" => "Nieznany błąd podczas wysyłania pliku",
 
     // Zend\Validator\File\WordCount
-    "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Podano '%count%' słów. Maksymalna liczba słów to '%max%'",
+    "Too many words, maximum '%max%' are allowed but '%count%' were counted" => "Podano '%count%' słów. Maksymalna liczba słów to '%max%'",
     "Too few words, minimum '%min%' are expected but '%count%' were counted" => "Podano '%count%' słów. Minimalna liczba słów to '%min%'",
-    "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
+    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
     // Zend\Validator\GreaterThan
     "The input is not greater than '%min%'" => "Podana wartość nie jest większe niż '%min%'",
     "The input is not greater or equal than '%min%'" => "Podana wartość nie jest większe lub równa od '%min%'",
 
     // Zend\Validator\Hex
-    "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
     "The input contains non-hexadecimal characters" => "Wartość nie jest wartością heksadecymalną",
 
     // Zend\Validator\Hostname
-    "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
-    "The input appears to be an IP address, but IP addresses are not allowed" => "Podana wartość jest adresem IP a nie nazwą hosta",
-    "The input appears to be a DNS hostname but cannot match TLD against known list" => "Nazwa hosta zawiera nieznane TLD",
     "The input appears to be a DNS hostname but contains a dash in an invalid position" => "Nazwa hosta zawiera znak '-' w złym miejscu",
-    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "Nazwa hosta jest niezgodna ze schematem dla TLD '%tld%'",
     "The input appears to be a DNS hostname but cannot extract TLD part" => "Nie można rozpoznać TLD dla nazwy hosta",
     "The input does not match the expected structure for a DNS hostname" => "Podana wartość nie jest poprawną nazwą hosta",
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "Nazwa hosta jest niezgodna ze schematem dla TLD '%tld%'",
     "The input does not appear to be a valid local network name" => "Podana wartość nie jest poprawną nazwą sieci lokalnej",
-    "The input appears to be a local network name but local network names are not allowed" => "Wartość prawdopodobnie jest nazwą sieci lokalnej. Nazwy sieci lokalnych są niedozwolone",
-    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "Nie można zdekodować punycode dla podanej nazwy hosta",
     "The input does not appear to be a valid URI hostname" => "Podana wartość nie jest poprawny URI nazwy hosta",
+    "The input appears to be an IP address, but IP addresses are not allowed" => "Podana wartość jest adresem IP a nie nazwą hosta",
+    "The input appears to be a local network name but local network names are not allowed" => "Wartość prawdopodobnie jest nazwą sieci lokalnej. Nazwy sieci lokalnych są niedozwolone",
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "Nie można wyodrębnić TLD",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "Nazwa hosta zawiera nieznane TLD",
 
-    // Zend\Validate\Iban
+    // Zend\Validator\Iban
     "Unknown country within the IBAN" => "Niepoprawny kraj w IBAN",
+    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Kraje spoza Jednolitego Obszaru Płatniczego w Euro (SEPA) nie są obsługiwane",
     "The input has a false IBAN format" => "Wartość nie jest w formacie IBAN",
     "The input has failed the IBAN check" => "Wystąpił błąd podczas sprawdzania IBAN",
-    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Kraje spoza Jednolitego Obszaru Płatniczego w Euro (SEPA) nie są obsługiwane",
 
     // Zend\Validator\Identical
     "The two given tokens do not match" => "Podane wartości nie są takie same",
@@ -205,11 +217,12 @@ return array(
     "The input was not found in the haystack" => "Nie znaleziono wartości",
 
     // Zend\Validator\Ip
-    "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
     "The input does not appear to be a valid IP address" => "Podana wartość nie jest poprawnym adresem IP",
 
+    // Zend\Validator\IsInstanceOf
+    "The input is not an instance of '%className%'" => "Wartość nie jest instancją '%className%'",
+
     // Zend\Validator\Isbn
-    "Invalid type given. String or integer expected" => "Podana wartość powinna być ciągiem znaków lub liczbą całkowitą",
     "The input is not a valid ISBN number" => "Podana wartość nie jest poprawnym ISBN",
 
     // Zend\Validator\LessThan
@@ -220,34 +233,31 @@ return array(
     "Value is required and can't be empty" => "To pole jest wymagane",
     "Invalid type given. String, integer, float, boolean or array expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą, liczbą zmiennoprzecinkową, wartością logiczną lub tablicą",
 
-    // Zend\I18n\Validator\PostCode
-    "Invalid type given. String or integer expected" => "Podana wartość powinna być ciągiem znaków lub liczbą całkowitą",
-    "The input does not appear to be a postal code" => "Podana wartość nie jest poprawnym kodem pocztowym",
-
     // Zend\Validator\Regex
-    "Invalid type given. String, integer or float expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą lub liczbą zmiennoprzecinkową",
     "The input does not match against pattern '%pattern%'" => "Podana wartość  nie pasuje do wzorca '%pattern%'",
     "There was an internal error while using the pattern '%pattern%'" => "Wystąpił błąd podczas dopasowania wyrażenia '%pattern%'",
 
     // Zend\Validator\Sitemap\Changefreq
     "The input is not a valid sitemap changefreq" => "Podana wartość nie jest poprawną wartością changefreq",
-    "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
 
     // Zend\Validator\Sitemap\Lastmod
     "The input is not a valid sitemap lastmod" => "Podana wartość nie jest poprawną wartością lastmod",
-    "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
 
     // Zend\Validator\Sitemap\Loc
     "The input is not a valid sitemap location" => "Podana wartość nie jest poprawną lokalizacją mapy strony",
-    "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
 
     // Zend\Validator\Sitemap\Priority
     "The input is not a valid sitemap priority" => "Podana wartość nie jest poprawną wartością priorytetu",
     "Invalid type given. Numeric string, integer or float expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą lub liczbą zmiennoprzecinkową",
 
+    // Zend\Validator\Step
+    "Invalid value given. Scalar expected" => "Nie poprawna wartość skalarna",
+    "The input is not a valid step" => "Wartość nie jest poprawnym krokiem",
+
     // Zend\Validator\StringLength
-    "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
     "The input is less than %min% characters long" => "Podana wartość zawiera mniej niż %min% znaków",
-    "The input is more than %max% characters long" => "Podana wartość zawiera więcej niż %max% znaków"
+    "The input is more than %max% characters long" => "Podana wartość zawiera więcej niż %max% znaków",
 
+    // Zend\Validator\Uri
+    "The input does not appear to be a valid Uri" => "Wartość nie jest poprawnym Uri",
 );
diff --git a/vendor/zendframework/zendframework/resources/languages/ru/Zend_Validate.php b/vendor/zendframework/zendframework/resources/languages/ru/Zend_Validate.php
index 059818a398f..1dcfa4374d1 100644
--- a/vendor/zendframework/zendframework/resources/languages/ru/Zend_Validate.php
+++ b/vendor/zendframework/zendframework/resources/languages/ru/Zend_Validate.php
@@ -20,6 +20,11 @@ return array(
     "Invalid type given, value should be a string" => "Недопустимый тип данных, значение должно быть строкой",
     "'%value%' contains non alphabetic characters" => "'%value%' содержит не буквенные символы",
     "'%value%' is an empty string" => "'%value%' - пустая строка",
+    
+    // Zend\I18n\Validator\PhoneNumber
+    "The input does not match a phone number format" => "Неправильный формат номера телефона",
+    "The country provided is currently unsupported" => "Страна в настоящее время не поддерживается",
+    "Invalid type given. String expected" => "Недопустимый тип данных, значение должно быть строкой",
 
     // Zend_Validate_Barcode
     "'%value%' failed checksum validation" => "'%value%' ошибка проверки контрольной суммы",
@@ -178,17 +183,18 @@ return array(
     "'%value%' has not only hexadecimal digit characters" => "Значение '%value%' должно содержать только шестнадцатиричные символы",
 
     // Zend_Validate_Hostname
-    "Invalid type given, value should be a string" => "Недопустимый тип данных, значение должно быть строкой",
-    "'%value%' appears to be an IP address, but IP addresses are not allowed" => "Значение '%value%' выглядит как IP-адрес, но IP-адреса не разрешены",
-    "'%value%' appears to be a DNS hostname but cannot match TLD against known list" => "'%value%' выглядит как DNS имя хоста, но оно не дожно быть из списка доменов верхнего уровня",
-    "'%value%' appears to be a DNS hostname but contains a dash in an invalid position" => "'%value%' выглядит как DNS имя хоста, но знак '-' находится в недопустимом месте",
-    "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "'%value%' выглядит как DNS имя хоста, но оно не соответствует шаблону для доменных имен верхнего уровня '%tld%'",
-    "'%value%' appears to be a DNS hostname but cannot extract TLD part" => "'%value%' выглядит как DNS имя хоста, но не удаётся извлечь домен верхнего уровня",
-    "'%value%' does not match the expected structure for a DNS hostname" => "'%value%' не соответствует ожидаемой структуре для DNS имени хоста",
-    "'%value%' does not appear to be a valid local network name" => "'%value%' является недопустимым локальным сетевым адресом",
-    "'%value%' appears to be a local network name but local network names are not allowed" => "'%value%' выглядит как локальный сетевой адрес, но локальные сетевые адреса не разрешены",
-    "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded" => "'%value%' выглядит как DNS имя хоста, но указанное значение не может быть преобразованно в допустимый для DNS набор символов",
-
+    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "Значение похоже на DNS имя хоста, но указанное значение не может быть преобразованно в допустимый для DNS набор символов",
+    "Invalid type given. String expected" => "Недопустимый тип данных, значение должно быть строкой",
+    "The input appears to be a DNS hostname but contains a dash in an invalid position" => "Значение похоже на DNS имя хоста, но знак '-' находится в недопустимом месте",
+    "The input does not match the expected structure for a DNS hostname" => 'Значение не соответствует структуре DNS имени хоста',
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "Значение похоже на DNS имя хоста, но оно не соответствует шаблону для доменных имен верхнего уровня '%tld%'",
+    "The input does not appear to be a valid local network name" => "Значение является недопустимым локальным сетевым адресом",
+    "The input does not appear to be a valid local network name" => "Значение является недопустимым URI имени хоста",
+    "The input appears to be an IP address, but IP addresses are not allowed" => "Значение похоже на IP-адрес, но IP-адреса не разрешены",
+    "The input appears to be a local network name but local network names are not allowed" => 'Значение похоже на адрес в локальной сети. Локальные адреса не разрешены',
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "Значение похоже на DNS имя хоста, но не удаётся извлечь домен верхнего уровня",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "Значение похоже на DNS имя хоста, но оно не дожно быть из списка доменов верхнего уровня",
+    
     // Zend_Validate_Iban
     "Unknown country within the IBAN '%value%'" => "Не известная страна IBAN '%value%'",
     "'%value%' has a false IBAN format" => "'%value%' имеет недопустимый IBAN формат",
diff --git a/vendor/zendframework/zendframework/resources/languages/sk/Zend_Captcha.php b/vendor/zendframework/zendframework/resources/languages/sk/Zend_Captcha.php
index dfbebd3c294..c7b4f8c862a 100644
--- a/vendor/zendframework/zendframework/resources/languages/sk/Zend_Captcha.php
+++ b/vendor/zendframework/zendframework/resources/languages/sk/Zend_Captcha.php
@@ -8,15 +8,15 @@
  */
 
 /**
- * EN-Revision: 30.Jul.2011
+ * SK-Revision: 30.Sep.2013
  */
 return array(
-    // Zend_Captcha_ReCaptcha
+    // Zend\Captcha\ReCaptcha
     "Missing captcha fields" => "Chýba captcha pole",
     "Failed to validate captcha" => "Captchu sa nepodarilo overiť",
     "Captcha value is wrong: %value%" => "Hodnota captchy neni správna: %value%",
 
-    // Zend_Captcha_Word
+    // Zend\Captcha\Word
     "Empty captcha value" => "Hodnota captchy nebola zadaná",
     "Captcha ID field is missing" => "Chýba pole captcha ID",
     "Captcha value is wrong" => "Chybná hodnota catpcha",
diff --git a/vendor/zendframework/zendframework/resources/languages/sk/Zend_Validate.php b/vendor/zendframework/zendframework/resources/languages/sk/Zend_Validate.php
index 20cb2ce4670..78f0acf4e90 100644
--- a/vendor/zendframework/zendframework/resources/languages/sk/Zend_Validate.php
+++ b/vendor/zendframework/zendframework/resources/languages/sk/Zend_Validate.php
@@ -8,246 +8,282 @@
  */
 
 /**
- * EN-Revision: 25.Jul.2011
+ * SK-Revision: 30.Sep.2013
  */
 return array(
-    // Zend_Validate_Alnum
+    // Zend\I18n\Validate\Alnum
     "Invalid type given. String, integer or float expected" => "Chybný typ. Bol očakávaný reťazec, celé alebo desatinné číslo",
-    "'%value%' contains characters which are non alphabetic and no digits" => "'%value%' obsahuje aj iné znaky ako písmená a číslice",
-    "'%value%' is an empty string" => "'%value%' je prázdny reťazec",
+    "The input contains characters which are non alphabetic and no digits" => "Hodnota obsahuje aj iné znaky ako písmená a číslice",
+    "The input is an empty string" => "Hodnota je prázdny reťazec",
 
-    // Zend_Validate_Alpha
+    // Zend\I18n\Validator\Alpha
     "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec",
-    "'%value%' contains non alphabetic characters" => "'%value%' obsahuje aj iné znaky ako písmená",
-    "'%value%' is an empty string" => "'%value%' je prázdny reťazec",
+    "The input contains non alphabetic characters" => "Hodnota obsahuje aj iné znaky ako písmená",
+    "The input is an empty string" => "Hodnota je prázdny reťazec",
 
-    // Zend_Validate_Barcode
-    "'%value%' failed checksum validation" => "'%value%' má chybný kontrolný súčet",
-    "'%value%' contains invalid characters" => "'%value%' obsahuje neplatné znaky",
-    "'%value%' should have a length of %length% characters" => "'%value%' by mal mať dĺžku %length% znakov",
+    // Zend\I18n\Validator\DateTime
+    "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec",
+    "The input does not appear to be a valid datetime" => "Hodnota nie je platný časový údaj",
+    
+    // Zend\I18n\Validator\Float
+    "Invalid type given. String, integer or float expected" => "Chybný typ. Bol očakávaný reťazec, celé alebo desatinné číslo",
+    "The input does not appear to be a float" => "Hodnota nie je desatinné číslo",
+    
+    // Zend\I18n\Validator\Int
+    "Invalid type given. String or integer expected" => "Chybný typ. Bol očakávaný reťazec, alebo celé číslo",
+    "The input does not appear to be an integer" => "Hodnota nie je celé číslo",
+    
+    // Zend\I18n\Validator\PhoneNumber
+    "The input does not match a phone number format" => "Zadaná hodnota nezodpovedá formatu telefonného čísla",
+    "The country provided is currently unsupported" => "The country provided is currently unsupported",
+    "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec.",
+    
+    // Zend\I18n\Validator\PostCode
+    "Invalid type given. String or integer expected" => "Chybný typ. Bol očakávaný reťazec, alebo celé číslo",
+    "The input does not appear to be a postal code" => "Hodnota nevyzerá ako PSČ",
+    "An exception has been raised while validating the input" => "Počas validácie bola vyvolaná výnimka",
+    
+    // Zend\Validator\Barcode
+    "The input failed checksum validation" => "Hodnota má chybný kontrolný súčet",
+    "The input contains invalid characters" => "Hodnota obsahuje neplatné znaky",
+    "The input should have a length of %length% characters" => "Hodnota by mal mať dĺžku %length% znakov",
     "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec.",
 
-    // Zend_Validate_Between
-    "'%value%' is not between '%min%' and '%max%', inclusively" => "'%value%' nie je medzi '%min%' a '%max%', vrátane",
-    "'%value%' is not strictly between '%min%' and '%max%'" => "'%value%' nie je ostro medzi '%min%' a '%max%'",
+    // Zend\Validator\Between
+    "The input is not between '%min%' and '%max%', inclusively" => "Hodnota nie je medzi '%min%' a '%max%', vrátane",
+    "The input is not strictly between '%min%' and '%max%'" => "Hodnota nie je presne medzi '%min%' a '%max%'",
 
-    // Zend_Validate_Callback
-    "'%value%' is not valid" => "Hodnota '%value%' nie je platná",
+    // Zend\Validator\Callback
+    "The input is not valid" => "Hodnota nie je platná",
     "An exception has been raised within the callback" => "Počas volania bola vyvolaná výnimka",
 
-    // Zend_Validate_Ccnum
-    "'%value%' must contain between 13 and 19 digits" => "'%value%' musí obsahovať 13 až 19 číslic",
-    "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "Luhnov algoritmus (kontrolný súčet mod-10) nevyšiel pre '%value%'",
-
-    // Zend_Validate_CreditCard
-    "'%value%' seems to contain an invalid checksum" => "'%value%' obsahuje neplatný kontrolný súčet",
-    "'%value%' must contain only digits" => "'%value%' musí obsahovať iba čísla",
+    // Zend\Validator\CreditCard
+    "The input seems to contain an invalid checksum" => "Hodnota obsahuje neplatný kontrolný súčet",
+    "The input must contain only digits" => "Hodnota musí obsahovať iba čísla",
     "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec",
-    "'%value%' contains an invalid amount of digits" => "'%value%' obsahuje neplatný počet číslic",
-    "'%value%' is not from an allowed institute" => "'%value%' nie je od povolenej spoločnosti",
-    "'%value%' seems to be an invalid creditcard number" => "'%value%' nie je platné číslo kreditnej karty",
-    "An exception has been raised while validating '%value%'" => "Počas validácie '%value%' bola vyvoláná výnimka",
-
-    // Zend_Validate_Date
-    "Invalid type given. String, integer, array or Zend_Date expected" => "Chybný typ. Bol očakávaný reťazec, číslo, pole, alebo Zend_Date",
-    "'%value%' does not appear to be a valid date" => "'%value%' nie je platný dátum",
-    "'%value%' does not fit the date format '%format%'" => "'%value%' nezodpovedá formátu dátumu '%format%'",
-
-    // Zend_Validate_Db_Abstract
-    "No record matching '%value%' was found" => "Nebol nájdený žiadny záznam zodpovedajúci '%value%'",
-    "A record matching '%value%' was found" => "Bol nájdený záznam zodpovedajúci '%value%'",
-
-    // Zend_Validate_Digits
+    "The input contains an invalid amount of digits" => "Hodnota obsahuje neplatný počet číslic",
+    "The input is not from an allowed institute" => "Hodnota nie je od povolenej spoločnosti",
+    "The input seems to be an invalid credit card number" => "Hodnota nie je platné číslo kreditnej karty",
+    "An exception has been raised while validating the input" => "Počas validácie bola vyvoláná výnimka",
+
+    // Zend\Validator\Csrf
+    "The form submitted did not originate from the expected site" => "Odoslaný formulár nepochádza z predpokladanej stránky",
+    
+    // Zend\Validator\Date
+    "Invalid type given. String, integer, array or DateTime expected" => "Chybný typ. Bol očakávaný reťazec, číslo, pole, alebo DateTime",
+    "The input does not appear to be a valid date" => "Hodnota nie je platný dátum",
+    "The input does not fit the date format '%format%'" => "Hodnota nezodpovedá formátu dátumu '%format%'",
+
+    // Zend\Validator\DateStep
+    "The input is not a valid step" => "Hodnota nie je platný krok",
+    
+    // Zend\Validator\Db\AbstractDb
+    "No record matching the input was found" => "Nebol nájdený žiadny záznam zodpovedajúci zadanej hodnote",
+    "A record matching the input was found" => "Bol nájdený záznam zodpovedajúci zadanej hodnote",
+
+    // Zend\Validator\Digits
+    "The input must contain only digits" => "Hodnota musí obsahovať len číslice",
+    "The input is an empty string" => "Hodnota je prázdny reťazec",
     "Invalid type given. String, integer or float expected" => "Chybný typ. Bol očakávaný reťazec, celé alebo desatinné číslo",
-    "'%value%' must contain only digits" => "'%value%' musí obsahovať len číslice",
-    "'%value%' is an empty string" => "'%value%' je prázdny reťazec",
-
-    // Zend_Validate_EmailAddress
+    
+    // Zend\Validator\EmailAddress
     "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec",
-    "'%value%' is not a valid email address in the basic format local-part@hostname" => "'%value%' nie je platná e-mailová adresa vo formáte local-part@hostname",
-    "'%hostname%' is not a valid hostname for email address '%value%'" => "'%hostname%' nie je platný hostname pre emailovú adresu '%value%'",
-    "'%hostname%' does not appear to have a valid MX record for the email address '%value%'" => "'%hostname%' neobsahuje platný MX záznam pre e-mailovú adresu '%value%'",
-    "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network" => "'%hostname%' nie je v smerovateľnom úseku sieťe. E-mailová adresa '%value%' by nemala byť požadovaná z verejnej siete",
+    "The input is not a valid email address. Use the basic format local-part@hostname" => "'%value%' nie je platná e-mailová adresa. Použite formát local-part@hostname",
+    "'%hostname%' is not a valid hostname for the email address" => "'%hostname%' nie je platný hostname pre emailovú adresu",
+    "'%hostname%' does not appear to have any valid MX or A records for the email address" => "'%hostname%' neobsahuje platný MX záznam pre e-mailovú adresu",
+    "'%hostname%' is not in a routable network segment. The email address should not be resolved from public network" => "'%hostname%' nie je v smerovateľnom úseku sieťe. E-mailová adresa by nemala byť požadovaná z verejnej siete",
     "'%localPart%' can not be matched against dot-atom format" => "'%localPart%' nemôže byť porovnaný voči dot-atom formátu",
     "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' nemôže byť porovnaný voči quoted-string formátu",
-    "'%localPart%' is not a valid local part for email address '%value%'" => "'%localPart%' nie je platná 'local part' pre e-mailovú adresu '%value%'",
-    "'%value%' exceeds the allowed length" => "'%value%' prekročil povolenú dĺžku",
+    "'%localPart%' is not a valid local part for the email address" => "'%localPart%' nie je platná 'local part' pre e-mailovú adresu",
+    "The input exceeds the allowed length" => "Hodnota prekročila povolenú dĺžku",
 
-    // Zend_Validate_File_Count
+    // Zend\Validator\Explode
+    "Invalid type given" => "Chybný typ",
+    
+    // Zend\Validator\File\Count
     "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Príliš veľa súborov. Maximum je '%max%', ale bolo zadaných '%count%'",
     "Too few files, minimum '%min%' are expected but '%count%' are given" => "Príliš málo súborov. Minimum je '%min%', ale bol zadaný len '%count%'",
 
-    // Zend_Validate_File_Crc32
-    "File '%value%' does not match the given crc32 hashes" => "Súbor '%value%' nezodpovedá zadanému crc32 hashu",
+    // Zend\Validator\File\Crc32
+    "File does not match the given crc32 hashes" => "Súbor nezodpovedá zadanému crc32 hashu",
     "A crc32 hash could not be evaluated for the given file" => "Pre zadaný súbor nemohol byť vypočítaný crc32 hash",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
-
-    // Zend_Validate_File_ExcludeExtension
-    "File '%value%' has a false extension" => "Súbor '%value%' má nesprávnu príponu",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
+    "File is not readable or does not exist" => "Súbor buď nie je čitateľný, alebo neexistuje",
 
-    // Zend_Validate_File_ExcludeMimeType
-    "File '%value%' has a false mimetype of '%type%'" => "File '%value%' has a false mimetype of '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "Mimetyp súboru '%value%' nebolo možné zistiť",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
+    // Zend\Validator\File\ExcludeExtension
+    "File has an incorrect extension" => "Súbor má nesprávnu príponu",
+    "File is not readable or does not exist" => "Súbor buď nie je čitateľný, alebo neexistuje",
 
-    // Zend_Validate_File_Exists
-    "File '%value%' does not exist" => "Súbor '%value%' neexistuje",
+    // Zend\Validator\File\Exists
+    "File does not exist" => "Súbor neexistuje",
 
-    // Zend_Validate_File_Extension
-    "File '%value%' has a false extension" => "Súbor '%value%' má nesprávnu príponu",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
+    // Zend\Validator\File\Extension
+    "File has an incorrect extension" => "Súbor má nesprávnu príponu",
+    "File is not readable or does not exist" => "Súbor buď nie je čitateľný, alebo neexistuje",
 
-    // Zend_Validate_File_FilesSize
+    // Zend\Validator\File\FilesSize
     "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Súčet veľkostí všetkých súborov by mal byť maximálne '%max%', ale je '%size%'",
     "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Súčet veľkostí všetkých súborov by mal byť najmenej '%min%', ale je '%size%'",
     "One or more files can not be read" => "Jeden, alebo viac súborov nie je možné načítať",
 
-    // Zend_Validate_File_Hash
-    "File '%value%' does not match the given hashes" => "Súbor '%value%' nezodpovedá danému hashu",
+    // Zend\Validator\File\Hash
+    "File does not match the given hashes" => "Súbor nezodpovedá danému hashu",
     "A hash could not be evaluated for the given file" => "Hash nemohol byť pre daný súbor vypočítaný",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
-
-    // Zend_Validate_File_ImageSize
-    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "Maximálna šírka obrázku '%value%' by mala byť '%maxwidth%', ale je '%width%'",
-    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "Minimálna šírka obrázku '%value%' by mala byť '%minwidth%', ale je '%width%'",
-    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "Maximálna výška obrázku '%value%' by mala byť '%maxheight%', ale je '%height%'",
-    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "Minimálna výška obrázku '%value%' by mala byť '%minheight%', ale je '%height%'",
-    "The size of image '%value%' could not be detected" => "Rozmery obrázku '%value%' nebolo možné zistiť",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
-
-    // Zend_Validate_File_IsCompressed
-    "File '%value%' is not compressed, '%type%' detected" => "Súbor '%value%' nie je komprimovaný, ale '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "Mimetyp súboru '%value%' nebolo možné zisťit",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
-
-    // Zend_Validate_File_IsImage
-    "File '%value%' is no image, '%type%' detected" => "Súbor '%value%' nie je obrázok, ale '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "Mimetyp súboru '%value%' nebolo možné zistiť",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
-
-    // Zend_Validate_File_Md5
-    "File '%value%' does not match the given md5 hashes" => "Súbor '%value%' nezodpovedá danému md5 hashu",
-    "A md5 hash could not be evaluated for the given file" => "Md5 hash nemohol byť pre daný súbor vypočítaný",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
-
-    // Zend_Validate_File_MimeType
-    "File '%value%' has a false mimetype of '%type%'" => "Súbor '%value%' má neplatný mimetyp '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "Mimetyp súboru '%value%' nebolo možné zistiť",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
-
-    // Zend_Validate_File_NotExists
-    "File '%value%' exists" => "Súbor '%value%' existuje",
-
-    // Zend_Validate_File_Sha1
-    "File '%value%' does not match the given sha1 hashes" => "Súbor '%value%' nezodpovedá danému sha1 hashu",
+    "File is not readable or does not exist" => "Súbor buď nie je čitateľný, alebo neexistuje",
+
+    // Zend\Validator\File\ImageSize
+    "Maximum allowed width for image should be '%maxwidth%' but '%width%' detected" => "Maximálna šírka obrázku by mala byť '%maxwidth%', ale je '%width%'",
+    "Minimum expected width for image should be '%minwidth%' but '%width%' detected" => "Minimálna šírka obrázku by mala byť '%minwidth%', ale je '%width%'",
+    "Maximum allowed height for image should be '%maxheight%' but '%height%' detected" => "Maximálna výška obrázku by mala byť '%maxheight%', ale je '%height%'",
+    "Minimum expected height for image should be '%minheight%' but '%height%' detected" => "Minimálna výška obrázku by mala byť '%minheight%', ale je '%height%'",
+    "The size of image could not be detected"=> "Nebolo možné zistiť rozmery obrázka",
+    "File is not readable or does not exist" => "Súbor buď nie je čitateľný, alebo neexistuje",
+
+    // Zend\Validator\File\IsCompressed
+    "File is not compressed, '%type%' detected" => "Súbor nie je komprimovaný, ale '%type%'",
+    "The mimetype could not be detected from the file" => "Mimetyp súboru nebolo možné zisťit",
+    "File is not readable or does not exist" => "Súbor buď nie je čitateľný, alebo neexistuje",
+
+    // Zend\Validator\File\IsImage
+    "File is no image, '%type%' detected" => "Súbor '%value%' nie je obrázok, ale '%type%'",
+    "The mimetype could not be detected from the file" => "Mimetyp súboru nebolo možné zistiť",
+    "File is not readable or does not exist" => "Súbor buď nie je čitateľný, alebo neexistuje",
+
+    // Zend\Validator\File\Md5
+    "File does not match the given md5 hashes" => "Súbor nezodpovedá danému md5 hashu",
+    "An md5 hash could not be evaluated for the given file" => "Md5 hash nemohol byť pre daný súbor vypočítaný",
+    "File is not readable or does not exist" => "Súbor buď nie je čitateľný, alebo neexistuje",
+
+    // Zend\Validator\File\MimeType
+    "File has an incorrect mimetype of '%type%'" => "Súbor má neplatný mimetyp '%type%'",
+    "The mimetype could not be detected from the file" => "Mimetyp súboru nebolo možné zistiť",
+    "File is not readable or does not exist" => "Súbor buď nie je čitateľný, alebo neexistuje",
+
+    // Zend\Validator\File\NotExists
+    "File exists" => "Súbor existuje",
+
+    // Zend\Validator\File\Sha1
+    "File does not match the given sha1 hashes" => "Súbor nezodpovedá danému sha1 hashu",
     "A sha1 hash could not be evaluated for the given file" => "Sha1 hash nemohol byť pre daný súbor vypočítaný",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
+    "File is not readable or does not exist" => "Súbor buď nie je čitateľný, alebo neexistuje",
 
-    // Zend_Validate_File_Size
-    "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "Maximálna povolená veľkosť súboru je '%max%', ale '%value%' má '%size%'",
-    "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "Minimálna veľkosť súboru je '%min%', ale '%value%' má '%size%'",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
+    // Zend\Validator\File\Size
+    "Maximum allowed size for file is '%max%' but '%size%' detected" => "Maximálna povolená veľkosť súboru je '%max%', ale súbor má '%size%'",
+    "Minimum expected size for file is '%min%' but '%size%' detected" => "Minimálna veľkosť súboru je '%min%', ale súbor má '%size%'",
+    "File is not readable or does not exist" => "Súbor buď nie je čitateľný, alebo neexistuje",
 
-    // Zend_Validate_File_Upload
-    "File '%value%' exceeds the defined ini size" => "Súbor '%value%' prekročil veľkosť definovanú v inom súbore",
+    // Zend\Validator\File\Upload
+    "File '%value%' exceeds the defined ini size" => "Súbor '%value%' prekročil veľkosť definovanú v ini súbore",
     "File '%value%' exceeds the defined form size" => "Súbor '%value%' prekročil veľkosť definovanú vo formulári",
-    "File '%value%' was only partially uploaded" => "Súbor '%value%' bol nahraný len čiastočne",
-    "File '%value%' was not uploaded" => "Súbor '%value%' nebol nahraný",
+    "File '%value%' was only partially uploaded" => "Súbor '%value%' bol odoslaný len čiastočne",
+    "File '%value%' was not uploaded" => "Súbor '%value%' nebol odoslaný",
     "No temporary directory was found for file '%value%'" => "Pre súbor '%value%' nebol nájdený žiadny dočasný adresár",
     "File '%value%' can't be written" => "Súbor '%value%' nemôže byť zapísaný",
     "A PHP extension returned an error while uploading the file '%value%'" => "PHP rozšírenie vrátilo chybu počas nahrávania súboru '%value%'",
     "File '%value%' was illegally uploaded. This could be a possible attack" => "Súbor '%value%' bol neoprávnene nahraný. Môže se jednať o útok",
     "File '%value%' was not found" => "Súbor '%value%' nebol nájdený",
-    "Unknown error while uploading file '%value%'" => "Počas nahrávania súboru '%value%' došlo k chybe",
-
-    // Zend_Validate_File_WordCount
-    "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Príliš veľa slov. Maximálne je ich dovolených '%max%', ale bolo zadaných '%count%'",
+    "Unknown error while uploading file '%value%'" => "Počas odosielania súboru '%value%' došlo k chybe",
+
+    // Zend\Validator\File\UploadFile
+    "File exceeds the defined ini size" => "Súbor prekročil veľkosť definovanú v ini súbore",
+    "File exceeds the defined form size" => "Súbor prekročil veľkosť definovanú vo formulári",
+    "File was only partially uploaded" => "Súbor bol odoslaný len čiastočne",
+    "File was not uploaded" => "Súbor nebol odoslaný",
+    "No temporary directory was found for file" => "Pre súbor nebol najdený žiadny dočasný adresár",
+    "File can't be written" => "Súbor nemože byť zapisaný",
+    "A PHP extension returned an error while uploading the file" => "PHP rozšírenie vrátilo chybu počas nahrávania súboru",
+    "File was illegally uploaded. This could be a possible attack" => "Súbor bol neoprávnene nahraný. Môže se jednať o útok",
+    "File was not found" => "Súbor nebol nájdený",
+    "Unknown error while uploading file" => "Počas odosielania súboru došlo k chybe",
+    
+    // Zend\Validator\File\WordCount
+    "Too many words, maximum '%max%' are allowed but '%count%' were counted" => "Príliš veľa slov. Maximálne je ich dovolených '%max%', ale bolo zadaných '%count%'",
     "Too few words, minimum '%min%' are expected but '%count%' were counted" => "Príliš málo slov. Musí ich byť aspoň '%min%', ale bolo zadaných len '%count%'",
-    "File '%value%' is not readable or does not exist" => "Súbor '%value%' buď nie je čitateľný, alebo neexistuje",
-
-    // Zend_Validate_Float
-    "Invalid type given. String, integer or float expected" => "Chybný typ. Bol očakávaný reťazec, celé alebo desatinné číslo",
-    "'%value%' does not appear to be a float" => "'%value%' nie je desatinné číslo",
+    "File is not readable or does not exist" => "Súbor buď nie je čitateľný, alebo neexistuje",
 
-    // Zend_Validate_GreaterThan
-    "'%value%' is not greater than '%min%'" => "'%value%' nie je väčšie ako '%min%'",
+    // Zend\Validator\GreaterThan
+    "The input is not greater than '%min%'" => "Hodnota nie je väčšia ako '%min%'",
+    "The input is not greater or equal than '%min%'" => "Hodnota nie je väčšia alebo rovná '%min%'",
 
-    // Zend_Validate_Hex
+    // Zend\Validator\Hex
     "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec",
-    "'%value%' has not only hexadecimal digit characters" => "'%value%' neobsahuje len znaky hexadecimálnych čísel",
+    "The input contains non-hexadecimal characters" => "Hodnota neobsahuje len znaky hexadecimálnych čísel",
 
-    // Zend_Validate_Hostname
+    // Zend\Validator\Hostname
+    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "Zadaná hodnota vyzerá ako DNS hostname ale zadanú punycode notáciu nie je možné dekódovať",
     "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec",
-    "'%value%' appears to be an IP address, but IP addresses are not allowed" => "'%value%' vyzerá ako IP adresa, ale tie nie sú dovolené",
-    "'%value%' appears to be a DNS hostname but cannot match TLD against known list" => "'%value%' vyzerá ako hostname, ale nemohol byť overený voči známym TLD",
-    "'%value%' appears to be a DNS hostname but contains a dash in an invalid position" => "'%value%' vyzerá ako hostname, ale obsahuje pomlčku na nedovolenom mieste",
-    "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "'%value%' vyzerá ako hostname, ale nezodpovedá formátu hostname pre '%tld%'",
-    "'%value%' appears to be a DNS hostname but cannot extract TLD part" => "'%value%' síce vyzerá ako hostname, ale nemožno určiť TLD",
-    "'%value%' does not match the expected structure for a DNS hostname" => "'%value%' nezodpovedá očakávanej štruktúre hostname",
-    "'%value%' does not appear to be a valid local network name" => "'%value%' nevyzerá ako platné sieťové meno",
-    "'%value%' appears to be a local network name but local network names are not allowed" => "'%value%' vyzerá ako hostname lokálnej siete, tie ale nie sú povolené",
-    "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded" => "'%value%' vyzerá ako DNS hostname ale zadanú punycode notáciu nie je možné dekódovať",
-    "'%value%' does not appear to be a valid URI hostname" => "'%value%' nevyzerá ako platné URI hostname",
-
-    // Zend_Validate_Iban
-    "Unknown country within the IBAN '%value%'" => "Neznámý štát v IBAN '%value%'",
-    "'%value%' has a false IBAN format" => "'%value%' nie je platný formát IBAN",
-    "'%value%' has failed the IBAN check" => "'%value%' neprešlo kontrolou IBAN",
-
-    // Zend_Validate_Identical
+    "The input appears to be a DNS hostname but contains a dash in an invalid position" => "Zadaná hodnota vyzerá ako hostname, ale obsahuje pomlčku na nedovolenom mieste",
+    "The input does not match the expected structure for a DNS hostname" => "Zadaná hodnota nezodpovedá očakávanej štruktúre hostname",
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "Zadaná hodnota vyzerá ako hostname, ale nezodpovedá formátu hostname pre '%tld%'",
+    "The input does not appear to be a valid local network name" => "Zadaná hodnota nevyzerá ako platné sieťové meno",
+    "The input does not appear to be a valid URI hostname" => "Zadaná hodnota nevyzerá ako platné URI hostname",
+    "The input appears to be an IP address, but IP addresses are not allowed" => "Zadaná hodnota vyzerá ako IP adresa, ale tie nie sú dovolené",
+    "The input appears to be a local network name but local network names are not allowed" => "Zadaná hodnota vyzerá ako hostname lokálnej siete, tie ale nie sú povolené",    
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "Zadaná hodnota síce vyzerá ako hostname, ale nemožno určiť TLD",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "Zadaná hodnota vyzerá ako hostname, ale nemohol byť overený voči známym TLD",
+    
+    // Zend\Validator\Iban
+    "Unknown country within the IBAN" => "Neznámý štát v IBAN",
+    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Štáty mimo jednotný europský platobný priestor (SEPA) nie su podporované",
+    "The input has a false IBAN format" => "Hodnota nie je platný formát IBAN",
+    "The input has failed the IBAN check" => "Hodnota neprešla kontrolou IBAN",
+
+    // Zend\Validator\Identical
     "The two given tokens do not match" => "Zadané položky nie su zhodné",
     "No token was provided to match against" => "Nebola zadáná položka pre porovnanie",
 
-    // Zend_Validate_InArray
-    "'%value%' was not found in the haystack" => "'%value%' nebola nájdená v zozname",
+    // Zend\Validator\InArray
+    "The input was not found in the haystack" => "Hodnota nebola nájdená v zozname",
 
-    // Zend_Validate_Int
-    "Invalid type given. String or integer expected" => "Chybný typ. Bol očakávaný reťazec, alebo celé číslo",
-    "'%value%' does not appear to be an integer" => "'%value%' nie je celé číslo",
-
-    // Zend_Validate_Ip
+    // Zend\Validator\Ip
     "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec",
-    "'%value%' does not appear to be a valid IP address" => "'%value%' nie je platná IP adresa",
+    "The input does not appear to be a valid IP address" => "Hodnota nie je platná IP adresa",
 
-    // Zend_Validate_Isbn
+    // Zend\Validator\IsInstanceOf
+    "The input is not an instance of '%className%'" => "Hodnota nie je  inštanciou triedy '%className%'",
+    
+    // Zend\Validator\Isbn
     "Invalid type given. String or integer expected" => "Chybný typ. Bol očakávaný reťazec, alebo celé číslo",
-    "'%value%' is not a valid ISBN number" => "'%value%' nie je platné ISBN",
+    "The input is not a valid ISBN number" => "Hodnota nie je platné ISBN",
 
-    // Zend_Validate_LessThan
-    "'%value%' is not less than '%max%'" => "'%value%' nie je menej ako '%max%'",
+    // Zend\Validator\LessThan
+    "The input is not less than '%max%'" => "Hodnota nie je menej ako '%max%'",
+    "The input is not less or equal than '%max%'" => "Hodnota nie je menej alebo presne než '%max%'",
 
-    // Zend_Validate_NotEmpty
-    "Invalid type given. String, integer, float, boolean or array expected" => "Chybný typ. Bol očakávaný reťazec, celé alebo desatinné číslo, boolean alebo pole",
+    // Zend\Validator\NotEmpty
     "Value is required and can't be empty" => "Položka je povinná a nesmie byť prázdna",
-
-    // Zend_Validate_PostCode
-    "Invalid type given. String or integer expected" => "Chybný typ. Bol očakávaný reťazec, alebo celé číslo",
-    "'%value%' does not appear to be a postal code" => "'%value%' nevyzerá ako PSČ",
-
-    // Zend_Validate_Regex
+    "Invalid type given. String, integer, float, boolean or array expected" => "Chybný typ. Bol očakávaný reťazec, celé alebo desatinné číslo, boolean alebo pole",
+        
+    // Zend\Validator\Regex
     "Invalid type given. String, integer or float expected" => "Chybný typ. Bol očakávaný reťazec, celé alebo desatinné číslo",
-    "'%value%' does not match against pattern '%pattern%'" => "'%value%' nezodpovedá šablóne '%pattern%'",
+    "The input does not match against pattern '%pattern%'" => "Hodnota nezodpovedá šablóne '%pattern%'",
     "There was an internal error while using the pattern '%pattern%'" => "Počas spracovania šablóny '%pattern%' došlo k internej chybe",
 
-    // Zend_Validate_Sitemap_Changefreq
-    "'%value%' is not a valid sitemap changefreq" => "'%value%' nie je platný 'changefreq' pre sitemapu",
+    // Zend\Validator\Sitemap\Changefreq
+    "The input is not a valid sitemap changefreq" => "Hodnota nie je platný 'changefreq' pre sitemapu",
     "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec",
 
-    // Zend_Validate_Sitemap_Lastmod
-    "'%value%' is not a valid sitemap lastmod" => "'%value%' nie je platný 'lastmod' pre sitemapu",
+    // Zend\Validator\Sitemap\Lastmod
+    "The input is not a valid sitemap lastmod" => "Hodnota nie je platný 'lastmod' pre sitemapu",
     "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec",
 
-    // Zend_Validate_Sitemap_Loc
-    "'%value%' is not a valid sitemap location" => "'%value%' nie je platná 'location' pre sitemapu",
+    // Zend\Validator\Sitemap\Loc
+    "The input is not a valid sitemap location" => "Hodnota nie je platná 'location' pre sitemapu",
     "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec",
 
-    // Zend_Validate_Sitemap_Priority
-    "'%value%' is not a valid sitemap priority" => "'%value%' nie je platná 'priority' pre sitemapu",
+    // Zend\Validator\Sitemap\Priority
+    "The input is not a valid sitemap priority" => "Hodnota nie je platná 'priority' pre sitemapu",
     "Invalid type given. Numeric string, integer or float expected" => "Chybný typ. Bol očakávaný číselný reťazec, celé alebo desatinné číslo",
 
-    // Zend_Validate_StringLength
+    // Zend\Validator\Step
+    "Invalid value given. Scalar expected" => "Chybný hodnota. Bola očakávana skalarna hodnota",
+    "The input is not a valid step" => "Hodnota nie je platný krok",
+    
+    // Zend\Validator\StringLength
+    "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec",
+    "The input is less than %min% characters long" => "Hodnota je kratšia ako %min% znakov",
+    "The input is more than %max% characters long" => "Hodnota je dlhšia ako %max% znakov",
+    
+    // Zend\Validator\Uri
     "Invalid type given. String expected" => "Chybný typ. Bol očakávaný reťazec",
-    "'%value%' is less than %min% characters long" => "'%value%' je kratšia ako %min% znakov",
-    "'%value%' is more than %max% characters long" => "'%value%' je dlhšia ako %max% znakov",
+    "The input does not appear to be a valid Uri" => "Hodnota nevyzerá ako platná Uri",
 );
diff --git a/vendor/zendframework/zendframework/resources/languages/sl/Zend_Captcha.php b/vendor/zendframework/zendframework/resources/languages/sl/Zend_Captcha.php
index fc3aa5097a7..3a991919678 100644
--- a/vendor/zendframework/zendframework/resources/languages/sl/Zend_Captcha.php
+++ b/vendor/zendframework/zendframework/resources/languages/sl/Zend_Captcha.php
@@ -11,12 +11,12 @@
  * EN-Revision: 30.Jul.2011
  */
 return array(
-    // Zend_Captcha_ReCaptcha
+    // Zend\Captcha\ReCaptcha
     "Missing captcha fields" => "Manjka varnostna koda",
     "Failed to validate captcha" => "Varnostne kode ni bilo mogoče preveriti",
     "Captcha value is wrong: %value%" => "Napačna varnostna koda: %value%",
 
-    // Zend_Captcha_Word
+    // Zend\Captcha\Word
     "Empty captcha value" => "Prazna varnostna koda",
     "Captcha ID field is missing" => "Polje ID varnostne kode manjka",
     "Captcha value is wrong" => "Varnostna koda je napačna",
diff --git a/vendor/zendframework/zendframework/resources/languages/sl/Zend_Validate.php b/vendor/zendframework/zendframework/resources/languages/sl/Zend_Validate.php
index 5d718338fa1..9881f40e8b8 100644
--- a/vendor/zendframework/zendframework/resources/languages/sl/Zend_Validate.php
+++ b/vendor/zendframework/zendframework/resources/languages/sl/Zend_Validate.php
@@ -8,246 +8,282 @@
  */
 
 /**
- * EN-Revision: 25.Jul.2011
+ * EN-Revision: 16.Jul.2013
  */
 return array(
-    // Zend_Validate_Alnum
-    "Invalid type given. String, integer or float expected" => "Podan neveljaven tip. Predviden je niz, celo število ali plavajoče število",
-    "'%value%' contains characters which are non alphabetic and no digits" => "'%value%' vsebuje ne abecedne znake in nima številk",
-    "'%value%' is an empty string" => "'%value%' je prazen niz",
+    // Zend\I18n\Validator\Alnum
+    "Invalid type given. String, integer or float expected" => "Podan neveljaven tip. Predviden je niz, celo število ali število s premično vejico",
+    "The input contains characters which are non alphabetic and no digits" => "Vnos vsebuje znake, ki niso abecedni ali številni",
+    "The input is an empty string" => "Vnos je prazen niz",
 
-    // Zend_Validate_Alpha
+    // Zend\I18n\Validator\Alpha
     "Invalid type given. String expected" => "Podan neveljaven tip. Predviden je niz",
-    "'%value%' contains non alphabetic characters" => "'%value%' vsebuje ne abecedne znake",
-    "'%value%' is an empty string" => "'%value%' je prazen niz",
-
-    // Zend_Validate_Barcode
-    "'%value%' failed checksum validation" => "'%value%' neuspešno preverjena preizkusna vsota (checksum)",
-    "'%value%' contains invalid characters" => "'%value%' vsebuje nedovoljene znake",
-    "'%value%' should have a length of %length% characters" => "'%value%' mora biti dolžine %length% znakov",
-    "Invalid type given. String expected" => "Podan neveljaven tip. Predviden je niz",
-
-    // Zend_Validate_Between
-    "'%value%' is not between '%min%' and '%max%', inclusively" => "'%value%' ni med '%min%' in vključno '%max%'",
-    "'%value%' is not strictly between '%min%' and '%max%'" => "'%value%' ni točno med '%min%' in '%max%'",
-
-    // Zend_Validate_Callback
-    "'%value%' is not valid" => "'%value%' vrednost ni veljavna",
-    "An exception has been raised within the callback" => "Prišlo je do napake v povratnem klicu",
-
-    // Zend_Validate_Ccnum
-    "'%value%' must contain between 13 and 19 digits" => "'%value%' mora biti med 13 in 19 številkami",
-    "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "Algoritem 'Luhn' (mod-10 checksum) neuspešen pri '%value%'",
-
-    // Zend_Validate_CreditCard
-    "'%value%' seems to contain an invalid checksum" => "'%value%' verjetno vključuje neveljavno preizkusno vsoto (checksum)",
-    "'%value%' must contain only digits" => "'%value%' mora vsebovati samo številke",
-    "Invalid type given. String expected" => "Neveljaven tip. Predviden je niz",
-    "'%value%' contains an invalid amount of digits" => "'%value%' vsebuje neveljavno število številk",
-    "'%value%' is not from an allowed institute" => "'%value%' ni iz dovoljenega inštituta",
-    "'%value%' seems to be an invalid creditcard number" => "'%value%' se zdi, da je napačna številka kreditne kartice",
-    "An exception has been raised while validating '%value%'" => "Prišlo je do napake pri preverjanju vrednosti '%value%'",
-
-    // Zend_Validate_Date
-    "Invalid type given. String, integer, array or Zend_Date expected" => "Neveljaven tip. Predviden je niz, celo število, polje ali Zend_Date",
-    "'%value%' does not appear to be a valid date" => "'%value%' se zdi, da ni veljaven datum",
-    "'%value%' does not fit the date format '%format%'" => "'%value%' se ne ujema s formatom datuma '%format%'",
-
-    // Zend_Validate_Db_Abstract
-    "No record matching '%value%' was found" => "Zapis, ki bi ustrezal '%value%' ni bil najden",
-    "A record matching '%value%' was found" => "Zapis, ki se ujema '%value%' je bil najden",
-
-    // Zend_Validate_Digits
-    "Invalid type given. String, integer or float expected" => "Neveljaven tip. Predviden je niz, celo število ali plavajoče število",
-    "'%value%' must contain only digits" => "'%value%' mora vsebovati samo številke",
-    "'%value%' is an empty string" => "'%value%' vrednost je prazna",
-
-    // Zend_Validate_EmailAddress
-    "Invalid type given. String expected" => "Neveljaven tip. Predviden je niz",
-    "'%value%' is not a valid email address in the basic format local-part@hostname" => "'%value%' ni veljavna e-pošta formata lokalni-del@hostname",
-    "'%hostname%' is not a valid hostname for email address '%value%'" => "'%hostname%' ni veljavno ime gostitelja za e-poštni naslov '%value%'",
-    "'%hostname%' does not appear to have a valid MX record for the email address '%value%'" => "'%hostname%' nima veljavnega MX zapisa za e-pošto '%value%'",
-    "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network" => "'%hostname%' ni v routable segmentu omrežja. E-pošta '%value%' ne bi smela biti določena iz javnega omrežja",
-    "'%localPart%' can not be matched against dot-atom format" => "'%localPart%' se ne ujema s formatom dot-atom",
-    "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' se ne ujema s formatom 'quoted-string'",
-    "'%localPart%' is not a valid local part for email address '%value%'" => "'%localPart%' ni veljaven lokalni del e-pošte '%value%'",
-    "'%value%' exceeds the allowed length" => "'%value%' je večje od dovoljene dolžine",
-
-    // Zend_Validate_File_Count
-    "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Preveliko število datotek, dovoljenih je največ '%max%', poslanih je pa '%count%'",
-    "Too few files, minimum '%min%' are expected but '%count%' are given" => "Premajhno število datotek, najmanj predvidenih je '%min%', poslanih je pa '%count%'",
-
-    // Zend_Validate_File_Crc32
-    "File '%value%' does not match the given crc32 hashes" => "Datoteka '%value%' se ne ujema z dano kodo crc32",
-    "A crc32 hash could not be evaluated for the given file" => "crc32 kode ni bila moč preveriti za dano datoteko",
-    "File '%value%' is not readable or does not exist" => "Datoteke '%value%' ni moč brati ali pa ne obstaja",
-
-    // Zend_Validate_File_ExcludeExtension
-    "File '%value%' has a false extension" => "Datoteka '%value%' ima napačno končnico",
-    "File '%value%' is not readable or does not exist" => "Datoteke '%value%' ni moč brati ali pa ne obstaja",
-
-    // Zend_Validate_File_ExcludeMimeType
-    "File '%value%' has a false mimetype of '%type%'" => "Datoteka '%value%' ima napačen 'mimetype' vrste '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "'Mimetype' datoteke '%value%' ni bilo moč zaznati",
-    "File '%value%' is not readable or does not exist" => "Datoteka '%value%' ni bralna ali pa ne obstaja",
-
-    // Zend_Validate_File_Exists
-    "File '%value%' does not exist" => "Datoteka '%value%' ne obstaja",
-
-    // Zend_Validate_File_Extension
-    "File '%value%' has a false extension" => "Datoteka '%value%' ima napačno končnico",
-    "File '%value%' is not readable or does not exist" => "Datoteka '%value%' ni bralna ali pa ne obstaja",
-
-    // Zend_Validate_File_FilesSize
-    "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Vse datoteke skupaj bi morale imeti največjo velikost '%max%' vendar zaznano je bilo '%size%'",
-    "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Vse datoteke skupaj bi morale imeti najmanjšo velikost '%min%' vendar zaznano je bilo '%size%'",
-    "One or more files can not be read" => "Ene ali več datotek ni mogoče prebrati",
-
-    // Zend_Validate_File_Hash
-    "File '%value%' does not match the given hashes" => "Datoteka '%value%' se ne ujema z dano kodo",
-    "A hash could not be evaluated for the given file" => "Kode ni bilo moč oceniti",
-    "File '%value%' is not readable or does not exist" => "Datoteke '%value%' ni mogoče brati ali pa ne obstaja",
-
-    // Zend_Validate_File_ImageSize
-    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "Največja dovoljena širina slike '%value%' bi morala biti '%maxwidth%' vendar zaznano je '%width%'",
-    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "Najmanjša predvidena širina slike '%value%' bi morala biti '%minwidth%' vendar zaznano je '%width%'",
-    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "Največja dovoljena višina slike '%value%' bi morala biti '%maxheight%' vendar zaznano je '%height%'",
-    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "Najmanjša predvidena višina '%value%' bi morala biti '%minheight%' vendar zaznano je '%height%'",
-    "The size of image '%value%' could not be detected" => "Velikost slike '%value%' ni bilo moč zaznati",
-    "File '%value%' is not readable or does not exist" => "Datoteke '%value%' ni mogoče brati ali pa ne obstaja",
-
-    // Zend_Validate_File_IsCompressed
-    "File '%value%' is not compressed, '%type%' detected" => "Datoteka '%value%' ni skrčena, '%type%' vrsta zaznana",
-    "The mimetype of file '%value%' could not be detected" => "'Mimetype' datoteke '%value%' ni bilo mogoče zaznati",
-    "File '%value%' is not readable or does not exist" => "Datoteke '%value%' ni mogoče brati ali pa ne obstaja",
-
-    // Zend_Validate_File_IsImage
-    "File '%value%' is no image, '%type%' detected" => "Datoteka '%value%' ni slika, '%type%' vrsta zaznana",
-    "The mimetype of file '%value%' could not be detected" => "'Mimetype' datoteke '%value%' ni bilo mogoče zaznati",
-    "File '%value%' is not readable or does not exist" => "Datoteke '%value%' ni mogoče brati ali pa ne obstaja",
-
-    // Zend_Validate_File_Md5
-    "File '%value%' does not match the given md5 hashes" => "Datoteka '%value%' se ne ujema z dano md5 kodo",
-    "A md5 hash could not be evaluated for the given file" => "Kode md5 ni bilo mogoče preveriti za dano datoteko",
-    "File '%value%' is not readable or does not exist" => "Datoteke '%value%' ni mogoče brati ali pa ne obstaja",
-
-    // Zend_Validate_File_MimeType
-    "File '%value%' has a false mimetype of '%type%'" => "Datoteka '%value%' ima nepravilen 'mimetype' vrste '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "'Mimetype' datoteke '%value%' ni bilo mogoče zaznati",
-    "File '%value%' is not readable or does not exist" => "Datoteke '%value%' ni mogoče brati ali pa ne obstaja",
-
-    // Zend_Validate_File_NotExists
-    "File '%value%' exists" => "Datoteka '%value%' obstaja",
-
-    // Zend_Validate_File_Sha1
-    "File '%value%' does not match the given sha1 hashes" => "Datoteka '%value%' se ne ujema s kodo sha1",
-    "A sha1 hash could not be evaluated for the given file" => "Za dano datoteko ni bilo mogoče preveriti kode sha1",
-    "File '%value%' is not readable or does not exist" => "Datoteke '%value%' ni mogoče prebrati ali pa ne obstaja",
-
-    // Zend_Validate_File_Size
-    "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "Največja dovoljena velikost datoteke '%value%' je '%max%' vendar zaznano je '%size%'",
-    "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "Najmanjša predvidena velikost datoteke '%value%' je '%min%' vendar zaznano je '%size%'",
-    "File '%value%' is not readable or does not exist" => "Datoteke '%value%' ni mogoče brati ali pa ne obstaja",
-
-    // Zend_Validate_File_Upload
-    "File '%value%' exceeds the defined ini size" => "Datoteka '%value%' presega definirano ini velikost",
-    "File '%value%' exceeds the defined form size" => "Datoteka '%value%' presega definirano velikost v formi",
-    "File '%value%' was only partially uploaded" => "Datoteka '%value%' je bila dodana samo naložena",
+    "The input contains non alphabetic characters" => "Vnos vsebuje ne abecedne znake",
+    "The input is an empty string" => "Vnos je prazen niz",
+
+    // Zend\I18n\Validator\DateTime
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Pričakovan je niz",
+    "The input does not appear to be a valid datetime" => "Vnos ni veljaven datum in čas",
+
+    // Zend\I18n\Validator\Float
+    "Invalid type given. String, integer or float expected" => "Podan je neveljaven tip. Niz, celo število ali število s premično vejico",
+    "The input does not appear to be a float" => "Vnos ni število s premično vejico",
+
+    // Zend\I18n\Validator\Int
+    "Invalid type given. String or integer expected" => "Podan je neveljaven tip. Pričakuje se niz ali celo število",
+    "The input does not appear to be an integer" => "Vnos ni celo število",
+
+    // Zend\I18n\Validator\PhoneNumber
+    "The input does not match a phone number format" => "Vnos ni telefonska številka ali oblika telefonske številke",
+    "The country provided is currently unsupported" => "Ponujena država trenutno ni na voljo",
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Pričakuje se niz",
+
+    // Zend\I18n\Validator\PostCode
+    "Invalid type given. String or integer expected" => "Podan je neveljaven tip. Pričakuje se niz ali celo število",
+    "The input does not appear to be a postal code" => "Vnos ni poštna številka",
+    "An exception has been raised while validating the input" => "Med preverjanjem vnosa je prišlo do izjeme",
+
+    // Zend\Validator\Barcode
+    "The input failed checksum validation" => "Vnos ni uspel preverjanja preizkusne vsote",
+    "The input contains invalid characters" => "Vnos vsebuje napačne znake",
+    "The input should have a length of %length% characters" => "Vnos bi moral vsebovati dolžino znakov %length%",
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Pričakovan je niz",
+
+    // Zend\Validator\Between
+    "The input is not between '%min%' and '%max%', inclusively" => "Vnos ni med '%min%' in '%max%', izključujoče",
+    "The input is not strictly between '%min%' and '%max%'" => "Vnos ni točno med '%min%' in '%max%'",
+
+    // Zend\Validator\Callback
+    "The input is not valid" => "Vnos ni veljaven",
+    "An exception has been raised within the callback" => "Med povratnim klicem je prišlo do izjeme",
+
+    // Zend\Validator\CreditCard
+    "The input seems to contain an invalid checksum" => "Vnos vsebuje napačno preizkusno vsoto",
+    "The input must contain only digits" => "Vnos lahko vsebuje samo številke",
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Pričakuje se niz",
+    "The input contains an invalid amount of digits" => "Vnos vsebuje neveljavno število številk",
+    "The input is not from an allowed institute" => "Vnos ne spada med dovoljene inštitute",
+    "The input seems to be an invalid credit card number" => "Vnos ni veljavna številka kreditne kartice",
+    "An exception has been raised while validating the input" => "Med preverjanjem vnosa je prišlo do izjeme",
+
+    // Zend\Validator\Csrf
+    "The form submitted did not originate from the expected site" => "Oddani obrazec ne izvira iz pričakovane strani",
+
+    // Zend\Validator\Date
+    "Invalid type given. String, integer, array or DateTime expected" => "Podan je neveljaven tip. Pričakuje se niz, celo število, polje ali datum in čas",
+    "The input does not appear to be a valid date" => "Vnos ni veljaven datum",
+    "The input does not fit the date format '%format%'" => "Vnos ne ustreza obliki datuma '%format%'",
+
+    // Zend\Validator\DateStep
+    "The input is not a valid step" => "Vnos ni veljaven korak",
+
+    // Zend\Validator\Db\AbstractDb
+    "No record matching the input was found" => "Noben zapis, ki se ujema z vnosom, ni bil najden",
+    "A record matching the input was found" => "Zapis, ki se ujema z vnosom, je bil najden",
+
+    // Zend\Validator\Digits
+    "The input must contain only digits" => "Vnos mora vsebovati samo številke",
+    "The input is an empty string" => "Vnos je prazen niz",
+    "Invalid type given. String, integer or float expected" => "Podan je neveljaven tip. Pričakuje se niz, celo število ali število s plavajočo vejico",
+
+    // Zend\Validator\EmailAddress
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Pričakuje se niz",
+    "The input is not a valid email address. Use the basic format local-part@hostname" => "Vnos ni veljavna e-pošta. Uporabite osnovno obliko local-part@hostname",
+    "'%hostname%' is not a valid hostname for the email address" => "'%hostname%' ni veljaven hostname za naslov e-pošte",
+    "'%hostname%' does not appear to have any valid MX or A records for the email address" => "'%hostname%' ne vsebuje veljavnih MX ali A zapisov za naslov e-pošte",
+    "'%hostname%' is not in a routable network segment. The email address should not be resolved from public network" => "'%hostname%' ni segment usmerjenega omrežja. Naslov e-pošte ne bi smel biti razreševan z javnega omrežja",
+    "'%localPart%' can not be matched against dot-atom format" => "'%localPart%' se ne sme ujemati s t.i. dot-atom obliko",
+    "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' se ne sme ujemati s quoted-string obliko",
+    "'%localPart%' is not a valid local part for the email address" => "'%localPart%' ni veljaven lokalni del za naslov e-pošte",
+    "The input exceeds the allowed length" => "Vnos presega dovoljeno dolžino",
+
+    // Zend\Validator\Explode
+    "Invalid type given" => "Podan je neveljaven tip",
+
+    // Zend\Validator\File\Count
+    "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Preveč datotek, dovoljenih je največ '%max%', vendar podanih je '%count%'",
+    "Too few files, minimum '%min%' are expected but '%count%' are given" => "Premalo datotek, pričakuje se najmanj '%min%', vendar podanih je '%count%'",
+
+    // Zend\Validator\File\Crc32
+    "File does not match the given crc32 hashes" => "Datoteka se ne ujema z zgoščevanjem (hash) crc32",
+    "A crc32 hash could not be evaluated for the given file" => "Za podano datoteko zgoščevanja (hash) crc32 ni bilo mogoče določiti",
+    "File is not readable or does not exist" => "Datoteka ni na voljo za branje ali pa ne obstaja",
+
+    // Zend\Validator\File\ExcludeExtension
+    "File has an incorrect extension" => "Datoteka ima napačno končnico",
+    "File is not readable or does not exist" => "Datoteka ni na voljo za branje ali pa ne obstaja",
+
+    // Zend\Validator\File\Exists
+    "File does not exist" => "Datoteka ne obstaja",
+
+    // Zend\Validator\File\Extension
+    "File has an incorrect extension" => "Datoteka ima napačno končnico",
+    "File is not readable or does not exist" => "Datoteka ni na voljo za branje ali pa ne obstaja",
+
+    // Zend\Validator\File\FilesSize
+    "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Vse datoteke skupaj imajo lahko največjo velikost '%max%', vendar zaznanih je bilo '%size%'",
+    "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Vse datoteke skupaj imajo lahko najmanjšo velikost '%min%', vendar zaznanih je bilo '%size%'",
+    "One or more files can not be read" => "Ena ali več datotek niso na voljo za branje",
+
+    // Zend\Validator\File\Hash
+    "File does not match the given hashes" => "Datoteka se ne ujema z danimi zgoščenimi vrednostmi",
+    "A hash could not be evaluated for the given file" => "Zgoščene vrednosti ni bilo mogoče preveriti za dano datoteko",
+    "File is not readable or does not exist" => "Datoteka ni na voljo za branje ali pa ne obstaja",
+
+    // Zend\Validator\File\ImageSize
+    "Maximum allowed width for image should be '%maxwidth%' but '%width%' detected" => "Največja dovoljena širina za sliko je '%maxwidth%', vendar zaznana je '%width%'",
+    "Minimum expected width for image should be '%minwidth%' but '%width%' detected" => "Najmanjša pričakovana širina za sliko je '%minwidth%', vendar zaznana je '%width%'",
+    "Maximum allowed height for image should be '%maxheight%' but '%height%' detected" => "Največja dovoljena višina za sliko je '%maxheight%', vendar zaznana je '%height%'",
+    "Minimum expected height for image should be '%minheight%' but '%height%' detected" => "Najmanjša pričakovana višina za sliko je '%minheight%', vendar zaznana je '%height%'",
+    "The size of image could not be detected" => "Velikost slike ni bilo mogoče zaznati",
+    "File is not readable or does not exist" => "Datoteka ni na voljo za branje ali pa ne obstaja",
+
+    // Zend\Validator\File\IsCompressed
+    "File is not compressed, '%type%' detected" => "Datoteka ni stisnjena, zaznan tip '%type%'",
+    "The mimetype could not be detected from the file" => "Vrste datoteke (mimetype) ni mogoče zaznati iz datoteke",
+    "File is not readable or does not exist" => "Datoteka ni na voljo za branje ali pa ne obstaja",
+
+    // Zend\Validator\File\IsImage
+    "File is no image, '%type%' detected" => "Datoteka ni slika, zaznan tip '%type%'",
+    "The mimetype could not be detected from the file" => "Vrste datoteke (mimetype) ni mogoče zaznati iz datoteke",
+    "File is not readable or does not exist" => "Datoteka ni na voljo za branje ali pa ne obstaja",
+
+    // Zend\Validator\File\Md5
+    "File does not match the given md5 hashes" => "Datoteka se ne ujema z md5 zgošeno vrednostjo",
+    "An md5 hash could not be evaluated for the given file" => "Zgoščene vrednosti md5 ni bilo mogoče preveriti za dano datoteko",
+    "File is not readable or does not exist" => "Datoteka ni na voljo za branje ali pa ne obstaja",
+
+    // Zend\Validator\File\MimeType
+    "File has an incorrect mimetype of '%type%'" => "Datoteka ima napačno vrsto (mimetype) tipa '%type%'",
+    "The mimetype could not be detected from the file" => "Vrste datoteke (mimetype) ni bilo mogoče zaznati iz datoteke",
+    "File is not readable or does not exist" => "Datoteka ni na voljo za branje ali pa ne obstaja",
+
+    // Zend\Validator\File\NotExists
+    "File exists" => "Datoteka obstaja",
+
+    // Zend\Validator\File\Sha1
+    "File does not match the given sha1 hashes" => "Datoteka se ne ujema z dano zgoščeno vrednostjo sha1",
+    "A sha1 hash could not be evaluated for the given file" => "Zgoščene vrednosti sha1 ni bilo mogoče zaznati za dano datoteko",
+    "File is not readable or does not exist" => "Datoteka ni na voljo za branje ali pa ne obstaja",
+
+    // Zend\Validator\File\Size
+    "Maximum allowed size for file is '%max%' but '%size%' detected" => "Največja dovoljena velikost datoteke je '%max%', vendar zaznana je '%size%'",
+    "Minimum expected size for file is '%min%' but '%size%' detected" => "Najmanjša pričakovana velikost datoteke je '%min%', vendar zaznana je '%size%'",
+    "File is not readable or does not exist" => "Datoteka ni na voljo za branje ali pa ne obstaja",
+
+    // Zend\Validator\File\Upload
+    "File '%value%' exceeds the defined ini size" => "Datoteka '%value%' presega definirano ini vrednost",
+    "File '%value%' exceeds the defined form size" => "Datoteka '%value%' presega velikost definirano v obrazcu",
+    "File '%value%' was only partially uploaded" => "Datoteka '%value%' je bila samo delno naložena",
     "File '%value%' was not uploaded" => "Datoteka '%value%' ni bila naložena",
-    "No temporary directory was found for file '%value%'" => "Začasna mapa ni bila najdena za datoteko '%value%'",
+    "No temporary directory was found for file '%value%'" => "Začasnega direktorija ni bilo mogoče najti za datoteko '%value%'",
     "File '%value%' can't be written" => "Datoteke '%value%' ni mogoče zapisati",
     "A PHP extension returned an error while uploading the file '%value%'" => "PHP razširitev je vrnila napako med nalaganjem datoteke '%value%'",
-    "File '%value%' was illegally uploaded. This could be a possible attack" => "Datoteka '%value%' ni bila nedovoljeno naložena. Gre za potencialni napad",
-    "File '%value%' was not found" => "Datoteka '%value%' ni bila najdena",
-    "Unknown error while uploading file '%value%'" => "Neznana napaka pri nalaganju datoteke '%value%'",
-
-    // Zend_Validate_File_WordCount
-    "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Preveč besed, največ '%max%' je dovoljenih vendar preštetih je bilo '%count%'",
-    "Too few words, minimum '%min%' are expected but '%count%' were counted" => "Premalo besed, vsaj '%min%' je predvidenih vendar preštetih je bilo '%count%'",
-    "File '%value%' is not readable or does not exist" => "Datoteke '%value%' ni mogoče brati ali pa ne obstaja",
-
-    // Zend_Validate_Float
-    "Invalid type given. String, integer or float expected" => "Podan nedovoljen tip. Predviden je niz, celo število ali plavajoče število",
-    "'%value%' does not appear to be a float" => "'%value%' se zdi, da ni plavajoče število",
-
-    // Zend_Validate_GreaterThan
-    "'%value%' is not greater than '%min%'" => "'%value%' ni večje od '%min%'",
-
-    // Zend_Validate_Hex
-    "Invalid type given. String expected" => "Podan nedovoljen tip. Predviden je niz",
-    "'%value%' has not only hexadecimal digit characters" => "'%value%' nima samo znake šestnajstiških števil",
-
-    // Zend_Validate_Hostname
-    "Invalid type given. String expected" => "Podan nedovoljen tip. Predviden je niz",
-    "'%value%' appears to be an IP address, but IP addresses are not allowed" => "'%value%' se zdi, da je IP naslov, vendar IP naslovi niso dovoljeni",
-    "'%value%' appears to be a DNS hostname but cannot match TLD against known list" => "'%value%' se zdi, da je DNS ime gostitelja vendar se ne ujema s seznamom znanih TLD",
-    "'%value%' appears to be a DNS hostname but contains a dash in an invalid position" => "'%value%' se zdi, da je DNS ime gostitelja vendar vključuje pomišljaj na nedovoljenem mestu",
-    "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "'%value%' se zdi, da je DNS ime gostitelja vendar se ne ujema s shemo imena gostitelja za TLD '%tld%'",
-    "'%value%' appears to be a DNS hostname but cannot extract TLD part" => "'%value%' se zdi, da je DNS ime gostitelja vendar ni mogoče pa izločiti TLD dela",
-    "'%value%' does not match the expected structure for a DNS hostname" => "'%value%' se ne ujema s predvideno strukturo za DNS ime gostitelja",
-    "'%value%' does not appear to be a valid local network name" => "'%value%' se zdi, da ni veljavno ime lokalnega omrežja",
-    "'%value%' appears to be a local network name but local network names are not allowed" => "'%value%' se zdi, da je ime lokalnega omrežja vendar imena lokalnih omrežij niso dovoljena",
-    "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded" => "'%value%' se zdi, da je ime DNS ime gostitelja vendar danega 'punycode' označevanja ni mogoče dekodirati",
-    "'%value%' does not appear to be a valid URI hostname" => "'%value%' se zdi, da ni veljavno ime URI ime gostitelja",
-
-    // Zend_Validate_Iban
-    "Unknown country within the IBAN '%value%'" => "Neznana država v vrednosti IBAN '%value%'",
-    "'%value%' has a false IBAN format" => "'%value%' ima napačen IBAN format",
-    "'%value%' has failed the IBAN check" => "'%value%' ni uspelo IBAN preverjanja",
-
-    // Zend_Validate_Identical
+    "File '%value%' was illegally uploaded. This could be a possible attack" => "Datoteka '%value%' je bila nelegalno naložena. To je lahko potencialen napad",
+    "File '%value%' was not found" => "Datoteke '%value%' ni bilo mogoče najti",
+    "Unknown error while uploading file '%value%'" => "Neznana napaka med nalaganjem datoteke '%value%'",
+
+    // Zend\Validator\File\UploadFile
+    "File exceeds the defined ini size" => "Datoteka presega definirano ini vrednost",
+    "File exceeds the defined form size" => "Datoteka presega velikost definirano v obrazcu",
+    "File was only partially uploaded" => "Datoteka je bila samo delno naložena",
+    "File was not uploaded" => "Datoteka ni bila naložena",
+    "No temporary directory was found for file" => "Začasnega direktorija ni bilo mogoče najti za datoteko",
+    "File can't be written" => "Datoteke ni bilo mogoče zapisati",
+    "A PHP extension returned an error while uploading the file" => "PHP razširitev je vrnila napako med nalaganjem datoteke",
+    "File was illegally uploaded. This could be a possible attack" => "Datoteka je bila nelegalno naložena. Gre lahko za potencialni napad",
+    "File was not found" => "Datoteke ni bilo mogoče najti",
+    "Unknown error while uploading file" => "Neznana napaka med nalaganjem datoteke",
+
+    // Zend\Validator\File\WordCount
+    "Too many words, maximum '%max%' are allowed but '%count%' were counted" => "Preveč besed, največje dovoljeno število je '%max%', vendar prešteto je bilo '%count%'",
+    "Too few words, minimum '%min%' are expected but '%count%' were counted" => "Premalo besed, najmanjše pričakovano število je '%min%', vendar prešteto je bilo '%count%'",
+    "File is not readable or does not exist" => "Datoteka ni na voljo za branje ali pa ne obstaja",
+
+    // Zend\Validator\GreaterThan
+    "The input is not greater than '%min%'" => "Vnos ni večji od '%min%'",
+    "The input is not greater or equal than '%min%'" => "Vnos ni večji ali enak '%min%'",
+
+    // Zend\Validator\Hex
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Pričakuje se niz",
+    "The input contains non-hexadecimal characters" => "Vnos vsebuje ne heksadecimalne znake",
+
+    // Zend\Validator\Hostname
+    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "Vnos je DNS hostname vendar punycode notacije ni mogoče zaznati",
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Pričakuje se niz",
+    "The input appears to be a DNS hostname but contains a dash in an invalid position" => "Vnos je DNS hostname vendar vsebuje pomišljaj na neveljavnem mestu",
+    "The input does not match the expected structure for a DNS hostname" => "Vnos se ne ujema s pričakovano strukturo za DNS hostname",
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "Vnos je DNS hostname vendar se ne more ujemati s shemo hostname-a za TLD '%tld%'",
+    "The input does not appear to be a valid local network name" => "Vnos ni veljavno ime lokalnega omrežja",
+    "The input does not appear to be a valid URI hostname" => "Vnos ni veljaven URI hostname",
+    "The input appears to be an IP address, but IP addresses are not allowed" => "Vnost je IP naslov, vendar IP naslovi niso dovoljeni",
+    "The input appears to be a local network name but local network names are not allowed" => "Vnost je ime lokalnega omrežja vendar imena lokalnih omrežij niso dovoljena",
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "Vnos je DNS hostname vendar ne more izločiti TLD dela",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "Vnos je DNS hostname vendar se ne more ujemati s TLD-ji znanega seznama",
+
+    // Zend\Validator\Iban
+    "Unknown country within the IBAN" => "Neznana država znotraj IBAN-a",
+    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Države izven SEPA niso podprte",
+    "The input has a false IBAN format" => "Vnos vsebuje napačno obliko IBAN",
+    "The input has failed the IBAN check" => "Vnos ni uspel IBAN preverjanja",
+
+    // Zend\Validator\Identical
     "The two given tokens do not match" => "Dana žetona se ne ujemata",
-    "No token was provided to match against" => "Žeton ni bil dan za ujemanje",
+    "No token was provided to match against" => "Ni bilo podanega žetona za preverjanje",
 
-    // Zend_Validate_InArray
-    "'%value%' was not found in the haystack" => "'Haystack' ne vsebuje vrednosti '%value%'",
+    // Zend\Validator\InArray
+    "The input was not found in the haystack" => "Vnos ni bil najden v seneni kopici (haystack)",
 
-    // Zend_Validate_Int
-    "Invalid type given. String or integer expected" => "Podan nedovoljen tip. Predviden je niz ali celo število",
-    "'%value%' does not appear to be an integer" => "'%value%' se zdi, da ni celo število",
+    // Zend\Validator\Ip
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Pričakuje se niz",
+    "The input does not appear to be a valid IP address" => "Vnos ni veljaven IP naslov",
 
-    // Zend_Validate_Ip
-    "Invalid type given. String expected" => "Podan neveljaven tip. Predviden je niz",
-    "'%value%' does not appear to be a valid IP address" => "'%value%' se zdi, da ni veljaven IP naslov",
+    // Zend\Validator\IsInstanceOf
+    "The input is not an instance of '%className%'" => "Vnos ni instanca '%className%'",
 
-    // Zend_Validate_Isbn
-    "Invalid type given. String or integer expected" => "Podan neveljaven tip. Predviden je niz ali celo število",
-    "'%value%' is not a valid ISBN number" => "'%value%' ni veljavna ISBN številka",
+    // Zend\Validator\Isbn
+    "Invalid type given. String or integer expected" => "Podan je neveljaven tip. Pričakuje se niz ali celo število",
+    "The input is not a valid ISBN number" => "Vnos ni veljavna ISBN številka",
 
-    // Zend_Validate_LessThan
-    "'%value%' is not less than '%max%'" => "'%value%' ni manjša kot '%max%'",
+    // Zend\Validator\LessThan
+    "The input is not less than '%max%'" => "Vnos ni manjši od '%max%'",
+    "The input is not less or equal than '%max%'" => "Vnos ni manjši ali enak '%max%'",
 
-    // Zend_Validate_NotEmpty
-    "Invalid type given. String, integer, float, boolean or array expected" => "Podan neveljaven tip. Predviden je niz, celo število, plavajoče število, logična vrednost ali polje",
+    // Zend\Validator\NotEmpty
     "Value is required and can't be empty" => "Vrednost je obvezna in ne sme biti prazna",
+    "Invalid type given. String, integer, float, boolean or array expected" => "Podan je neveljaven tip. Pričakuje se niz, celo število, število s plavajočo vejico, logična vrednost ali polje",
 
-    // Zend_Validate_PostCode
-    "Invalid type given. String or integer expected" => "Podan neveljaven tip. Predviden je niz ali celo število",
-    "'%value%' does not appear to be a postal code" => "'%value%' se zdi, da ni poštna številka",
-
-    // Zend_Validate_Regex
-    "Invalid type given. String, integer or float expected" => "Podan neveljaven tip. Predviden je niz, celo število ali plavajoče število",
-    "'%value%' does not match against pattern '%pattern%'" => "'%value%' se ne ujema z vzorcem '%pattern%'",
+    // Zend\Validator\Regex
+    "Invalid type given. String, integer or float expected" => "Podan je neveljaven tip. Pričakuje se niz, celo število ali število s plavajočo vejico",
+    "The input does not match against pattern '%pattern%'" => "Vnos se ne ujema z vzorcem '%pattern%'",
     "There was an internal error while using the pattern '%pattern%'" => "Prišlo je do notranje napake med uporabo vzorca '%pattern%'",
 
-    // Zend_Validate_Sitemap_Changefreq
-    "'%value%' is not a valid sitemap changefreq" => "'%value%' ni veljavna 'sitemap changefreq' vrednost",
-    "Invalid type given. String expected" => "Podan neveljaven tip. Predviden je niz",
+    // Zend\Validator\Sitemap\Changefreq
+    "The input is not a valid sitemap changefreq" => "Vnos ni veljavna pogostost spreminjanja kazala (changefreq)",
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Priačkuje se niz",
 
-    // Zend_Validate_Sitemap_Lastmod
-    "'%value%' is not a valid sitemap lastmod" => "'%value%' ni veljavna 'sitemap lastmod' vrednost",
-    "Invalid type given. String expected" => "Podan neveljaven tip. Predviden je niz",
+    // Zend\Validator\Sitemap\Lastmod
+    "The input is not a valid sitemap lastmod" => "Vnos ni veljavna zadnja sprememba kazala (lastmod)",
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Pričakuje se niz",
 
-    // Zend_Validate_Sitemap_Loc
-    "'%value%' is not a valid sitemap location" => "'%value%' ni veljavna 'sitemap location' vrednost",
-    "Invalid type given. String expected" => "Podan neveljaven tip. Predviden je niz",
+    // Zend\Validator\Sitemap\Loc
+    "The input is not a valid sitemap location" => "Vnos ni veljavna lokacija kazala",
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Pričakuje se niz",
 
-    // Zend_Validate_Sitemap_Priority
-    "'%value%' is not a valid sitemap priority" => "'%value%' ni veljavna 'sitemap priority' vrednost",
-    "Invalid type given. Numeric string, integer or float expected" => "Podan neveljaven tip. Predviden je numerični niz znakov, celo število ali plavajoče število",
+    // Zend\Validator\Sitemap\Priority
+    "The input is not a valid sitemap priority" => "Vnos ni veljavna prioriteta kazala",
+    "Invalid type given. Numeric string, integer or float expected" => "Podan je neveljaven tip. Pričakuje se numerični niz, celo število ali število s plavajočo vejico",
 
-    // Zend_Validate_StringLength
-    "Invalid type given. String expected" => "Podan neveljaven tip. Predviden je niz",
-    "'%value%' is less than %min% characters long" => "'%value%' je manjše od dolžine znakov %min%",
-    "'%value%' is more than %max% characters long" => "'%value%' je več od dolžine znakov %max%",
+    // Zend\Validator\Step
+    "Invalid value given. Scalar expected" => "Podana je neveljavna vrednost. Pričakuje se skalar",
+    "The input is not a valid step" => "Vnos ni veljaven korak",
+
+    // Zend\Validator\StringLength
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Pričakuje se niz",
+    "The input is less than %min% characters long" => "Vnos je manjši od števila znakov %min%",
+    "The input is more than %max% characters long" => "Vnos je daljši od števila znakov %max%",
+
+    // Zend\Validator\Uri
+    "Invalid type given. String expected" => "Podan je neveljaven tip. Pričakuje se niz",
+    "The input does not appear to be a valid Uri" => "Vnos ni veljaven enotni identifikator vira (Uri)",
 );
diff --git a/vendor/zendframework/zendframework/resources/languages/uk/Zend_Captcha.php b/vendor/zendframework/zendframework/resources/languages/uk/Zend_Captcha.php
new file mode 100644
index 00000000000..cca495d4082
--- /dev/null
+++ b/vendor/zendframework/zendframework/resources/languages/uk/Zend_Captcha.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+
+/**
+ * EN-Revision: 30.Jul.2011
+ */
+return array(
+    // Zend\Captcha\ReCaptcha
+    "Missing captcha fields" => "Бракує полів captcha",
+    "Failed to validate captcha" => "Captcha не пройшла перевірку",
+    "Captcha value is wrong: %value%" => "Неправильне значення captcha: %value%",
+
+    // Zend\Captcha\Word
+    "Empty captcha value" => "Порожнє значення captcha",
+    "Captcha ID field is missing" => "Бракує поля captcha ID",
+    "Captcha value is wrong" => "Неправильне значення captcha",
+);
diff --git a/vendor/zendframework/zendframework/resources/languages/uk/Zend_Validate.php b/vendor/zendframework/zendframework/resources/languages/uk/Zend_Validate.php
index 2381a3ecb11..1e32d102a5a 100644
--- a/vendor/zendframework/zendframework/resources/languages/uk/Zend_Validate.php
+++ b/vendor/zendframework/zendframework/resources/languages/uk/Zend_Validate.php
@@ -8,239 +8,283 @@
  */
 
 /**
- * EN-Revision: 21134
+ * EN-Revision: 16.Jul.2013
  */
 return array(
-    // Zend_Validate_Alnum
-    "Invalid type given, value should be float, string, or integer" => "Неприпустимий тип даних, значення повинно бути числом з плаваючою крапкою, рядком чи цілим числом",
-    "'%value%' contains characters which are non alphabetic and no digits" => "'%value%' містить символи які не є літерами чи цифрами",
-    "'%value%' is an empty string" => "'%value%' - пустий рядок",
-
-    // Zend_Validate_Alpha
-    "Invalid type given, value should be a string" => "Неприпустимий тип даних, значення повинно бути рядком",
-    "'%value%' contains non alphabetic characters" => "'%value%' містить символи які не є літерами",
-    "'%value%' is an empty string" => "'%value%' - пустий рядок",
-
-    // Zend_Validate_Barcode
-    "'%value%' failed checksum validation" => "'%value%' помилка перевірки контрольної суми",
-    "'%value%' contains invalid characters" => "'%value%' містить неприпустимі символи",
-    "'%value%' should have a length of %length% characters" => "Довжина '%value%' повинна складати %length% символів",
-    "Invalid type given, value should be string" => "Неприпустимий тип даних, значення повинно бути рядком",
-
-    // Zend_Validate_Between
-    "'%value%' is not between '%min%' and '%max%', inclusively" => "'%value%' за межами діапазону від '%min%' до '%max%', включно",
-    "'%value%' is not strictly between '%min%' and '%max%'" => "'%value%' за межами діапазону від '%min%' до '%max%'",
-
-    // Zend_Validate_Callback
-    "'%value%' is not valid" => "'%value%' - неприпустиме значення",
-    "Failure within the callback, exception returned" => "Помилка в зворотньому виклику, повернено виключення",
-
-    // Zend_Validate_Ccnum
-    "'%value%' must contain between 13 and 19 digits" => "'%value%' має містити від 13 до 19 цифр",
-    "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "Алгоритм Луна (обчислення контрольної цифри) повернув помилку для '%value%'",
-
-    // Zend_Validate_CreditCard
-    "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "Алгоритм Луна (обчислення контрольної цифри) повернув помилку для '%value%'",
-    "'%value%' must contain only digits" => "'%value%' має містити тільки цифри",
-    "Invalid type given, value should be a string" => "Неприпустимий тип даних, значення повинно бути рядком",
-    "'%value%' contains an invalid amount of digits" => "'%value%' містить неприпустиму кількість цифр",
-    "'%value%' is not from an allowed institute" => "'%value%' не відноситься до дозволенних платіжних систем",
-    "Validation of '%value%' has been failed by the service" => "Перевірка '%value%' закінчилась помилкою сервісу",
-    "The service returned a failure while validating '%value%'" => "Сервіс повернув помилку під час перевірки '%value%'",
-
-    // Zend_Validate_Date
-    "Invalid type given, value should be string, integer, array or Zend_Date" => "Неприпустимий тип даних, значення повинно бути рядком, цілим числом, масивом чи об'єктом Zend_Date",
-    "'%value%' does not appear to be a valid date" => "'%value%' - некоректна дата",
-    "'%value%' does not fit the date format '%format%'" => "'%value%' не відповідає формату дати '%format%'",
-
-    // Zend_Validate_Db_Abstract
-    "No record matching %value% was found" => "Не знайдено записів, що відповідають '%value%'",
-    "A record matching %value% was found" => "Знайдено запис, що відповідає '%value%'",
-
-    // Zend_Validate_Digits
-    "Invalid type given, value should be string, integer or float" => "Неприпустимий тип даних, значення повинно бути числом з плаваючою крапкою, рядком чи цілим числом",
-    "'%value%' contains characters which are not digits; but only digits are allowed" => "'%value%' має містити тільки цифри",
-    "'%value%' is an empty string" => "'%value%' - пустий рядок",
-
-    // Zend_Validate_EmailAddress
-    "Invalid type given, value should be a string" => "Неприпустимий тип даних, значення повинно рядком",
-    "'%value%' is not a valid email address in the basic format local-part@hostname" => "'%value%' неприпустима адреса електронної пошти для формату ім'я@домен",
-    "'%hostname%' is not a valid hostname for email address '%value%'" => "'%hostname%' неприпустиме ім'я хоста для адреси '%value%'",
-    "'%hostname%' does not appear to have a valid MX record for the email address '%value%'" => "'%hostname%' не має коректного MX-запису про адресу '%value%'",
-    "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network." => "'%hostname%' не є маршрутизованим сегментом мережі. Адреса електронної пошти '%value%' не може бути отримана з публічної мережі.",
-    "'%localPart%' can not be matched against dot-atom format" => "'%localPart% не відповідає формату dot-atom",
+    '' => array('plural_forms' => 'nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);'),
+    // Zend\I18n\Validator\Alnum
+    "Invalid type given. String, integer or float expected" => "Неправильний тип даних. Значення має бути рядком, цілим числом або числом з плаваючою комою",
+    "The input contains characters which are non alphabetic and no digits" => "Значення містить символи, які не є літерами або цифрами",
+    "The input is an empty string" => "Значення є порожнім рядком",
+
+    // Zend\I18n\Validator\Alpha
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
+    "The input contains non alphabetic characters" => "Значення містить символи, які не є літерами",
+    "The input is an empty string" => "Значення є порожнім рядком",
+
+    // Zend\I18n\Validator\DateTime
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
+    "The input does not appear to be a valid datetime" => "Значення є некоректною датою",
+
+    // Zend\I18n\Validator\Float
+    "Invalid type given. String, integer or float expected" => "Неправильний тип даних. Значення має бути рядком, цілим числом або числом з плаваючою комою",
+    "The input does not appear to be a float" => "Значення не є числом з плаваючою комою",
+
+    // Zend\I18n\Validator\Int
+    "Invalid type given. String or integer expected" => "Неправильний тип даних. Значення має бути рядком або цілим числом",
+    "The input does not appear to be an integer" => "Значення не є цілим числом",
+
+    // Zend\I18n\Validator\PhoneNumber
+    "The input does not match a phone number format" => "Значення не відповідає формату телефонного номера",
+    "The country provided is currently unsupported" => "Обрана країна наразі не підтримується",
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
+
+    // Zend\I18n\Validator\PostCode
+    "Invalid type given. String or integer expected" => "Неправильний тип даних. Значення має бути рядком або цілим числом",
+    "The input does not appear to be a postal code" => "Значення не є поштовим індексом",
+    "An exception has been raised while validating the input" => "Під час валідації значення згенеровано виняток",
+
+    // Zend\Validator\Barcode
+    "The input failed checksum validation" => "Значення не пройшло перевірку контрольної суми",
+    "The input contains invalid characters" => "Значення містить неприпустимі символи",
+    "The input should have a length of %length% characters" => "Значення має мати довжину в %length% символів",
+    "Invalid type given. String expected" => "Неправильний тип даних, значення має бути рядком",
+
+    // Zend\Validator\Between
+    "The input is not between '%min%' and '%max%', inclusively" => "Значення лежить за межами діапазону '%min%' - '%max%' (включно)",
+    "The input is not strictly between '%min%' and '%max%'" => "Значення лежить за межами діапазону '%min%' - '%max%' (виключно)",
+
+    // Zend\Validator\Callback
+    "The input is not valid" => "Значення є неправильним",
+    "An exception has been raised within the callback" => "В зворотньому виклику згенеровано виняток",
+
+    // Zend\Validator\CreditCard
+    "The input seems to contain an invalid checksum" => "Значення має неправильну контрольну суму",
+    "The input must contain only digits" => "Значення має містити тільки цифри",
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
+    "The input contains an invalid amount of digits" => "Значення містить неприпустиму кількість цифр",
+    "The input is not from an allowed institute" => "Значення не належить до дозволенних платіжних систем",
+    "The input seems to be an invalid credit card number" => "Значення не є правильним номером банківської картки",
+    "An exception has been raised while validating the input" => "Під час валідації значення згенеровано виняток",
+
+    // Zend\Validator\Csrf
+    "The form submitted did not originate from the expected site" => "Надіслана форма не походить з очікуваного сайту",
+
+    // Zend\Validator\Date
+    "Invalid type given. String, integer, array or DateTime expected" => "Неправильний тип даних. Значення має бути рядком, цілим числом, масивом або об'єктом Zend_Date",
+    "The input does not appear to be a valid date" => "Значення не є коректною датою",
+    "The input does not fit the date format '%format%'" => "Значення не відповідає формату дати '%format%'",
+
+    // Zend\Validator\DateStep
+    "The input is not a valid step" => "Значення не є коректним кроком",
+
+    // Zend\Validator\Db\AbstractDb
+    "No record matching the input was found" => "Не знайдено записів, що відповідають значенню",
+    "A record matching the input was found" => "Знайдено запис, що відповідає значенню",
+
+    // Zend\Validator\Digits
+    "The input must contain only digits" => "Значення має містити тільки цифри",
+    "The input is an empty string" => "Значення є порожнім рядком",
+    "Invalid type given. String, integer or float expected" => "Неправильний тип даних. Значення має бути рядком, цілим числом або числом з плаваючою комою",
+
+    // Zend\Validator\EmailAddress
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
+    "The input is not a valid email address. Use the basic format local-part@hostname" => "Значення не є допустимою адресою електронної пошти. Використовуйте стандартний формат ім'я@домен",
+    "'%hostname%' is not a valid hostname for the email address" => "'%hostname%' не є допустимим ім'ям хосту для адреси '%value%'",
+    "'%hostname%' does not appear to have any valid MX or A records for the email address" => "'%hostname%' не має коректного MX- або A-запису про адресу електронної пошти",
+    "'%hostname%' is not in a routable network segment. The email address should not be resolved from public network." => "'%hostname%' не є маршрутизованим сегментом мережі. Адреса електронної пошти не має бути отримана з публічної мережі.",
+    "'%localPart%' can not be matched against dot-atom format" => "'%localPart%' не відповідає формату dot-atom",
     "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' не відповідає формату quoted-string",
-    "'%localPart%' is not a valid local part for email address '%value%'" => "'%localPart%' неприпустиме ім'я для адреси '%value%'",
-    "'%value%' exceeds the allowed length" => "'%value%' перевищує дозволену довжину",
+    "'%localPart%' is not a valid local part for the email address" => "'%localPart%' не є допустимим ім'ям для адреси електронної пошти",
+    "The input exceeds the allowed length" => "Значення перевищує дозволену довжину",
 
-    // Zend_Validate_File_Count
-    "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Занадто багато файлів, дозволено максимум - '%max%', отримано - '%count%'",
-    "Too few files, minimum '%min%' are expected but '%count%' are given" => "Занадто мало файлів, дозволено мінімум - '%min%', отримано - '%count%'",
+    // Zend\Validator\Explode
+    "Invalid type given" => "Неправильний тип даних",
 
-    // Zend_Validate_File_Crc32
-    "File '%value%' does not match the given crc32 hashes" => "Файл '%value%' не відповідає заданому crc32 хешу",
-    "A crc32 hash could not be evaluated for the given file" => "crc32 хеш не може бути обчисленний для цього файлу",
-    "File '%value%' could not be found" => "Файл '%value%' не знайдено",
+    // Zend\Validator\File\Count
+    "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Занадто багато файлів, дозволено максимум '%max%', а отримано - '%count%'",
+    "Too few files, minimum '%min%' are expected but '%count%' are given" => "Занадто мало файлів, дозволено мінімум '%min%', а отримано - '%count%'",
 
-    // Zend_Validate_File_ExcludeExtension
-    "File '%value%' has a false extension" => "Файл '%value%' має неприпустиме розширення",
-    "File '%value%' could not be found" => "Файл '%value%' не знайдено",
+    // Zend\Validator\File\Crc32
+    "File does not match the given crc32 hashes" => "Файл не відповідає заданому crc32-хешу",
+    "A crc32 hash could not be evaluated for the given file" => "Неможливо обчислити crc32-хеш для даного файлу",
+    "File is not readable or does not exist" => "Файл не вдається прочитати або він не існує",
 
-    // Zend_Validate_File_ExcludeMimeType
-    "File '%value%' has a false mimetype of '%type%'" => "Файл '%value%' має неприпустимий MIME-тип '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "Не вдається визначити MIME-тип файлу '%value%'",
-    "File '%value%' can not be read" => "Файл '%value%' неможливо прочитати",
+    // Zend\Validator\File\ExcludeExtension
+    "File has an incorrect extension" => "Файл має недопустиме розширення",
+    "File is not readable or does not exist" => "Файл не вдається прочитати або він не існує",
 
-    // Zend_Validate_File_Exists
-    "File '%value%' does not exist" => "Файл '%value%' не існує",
+    // Zend\Validator\File\Exists
+    "File does not exist" => "Файл не існує",
 
-    // Zend_Validate_File_Extension
-    "File '%value%' has a false extension" => "Файл '%value%' має неприпустиме розширення",
-    "File '%value%' could not be found" => "Файл '%value%' не знайдено",
+    // Zend\Validator\File\Extension
+    "File has an incorrect extension" => "Файл має неправильне розширення",
+    "File is not readable or does not exist" => "Файл не вдається прочитати або він не існує",
 
-    // Zend_Validate_File_FilesSize
-    "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Загальний розмір файлів не повинен перевищувати '%max%', зараз - '%size%'",
-    "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Загальний розмір файлів має бути менше '%min%', зараз - '%size%'",
+    // Zend\Validator\File\FilesSize
+    "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Загальний розмір файлів не повинен перевищувати '%max%', виявлено '%size%'",
+    "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Загальний розмір файлів має бути меншим за '%min%', виявлено '%size%'",
     "One or more files can not be read" => "Неможливо прочитати один чи декілька файлів",
 
-    // Zend_Validate_File_Hash
-    "File '%value%' does not match the given hashes" => "Файл '%value%' не відповідає вказаному хешу",
-    "A hash could not be evaluated for the given file" => "Не можливо обчислити хеш для вказаного файла",
-    "File '%value%' could not be found" => "Файл '%value%' не знайдено",
-
-    // Zend_Validate_File_ImageSize
-    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "Максимально допустима ширина для зображення '%value%' - '%maxwidth%', зараз - '%width%'",
-    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "Мінімально очікувана ширина для зображення '%value%' - '%minwidth%', зараз - '%width%'",
-    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "Максимально допустима висота для зображення '%value%' - '%maxheight%', зараз - '%height%'",
-    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "Мінімально очікувана ширина для зображення '%value%' - '%minheight%', зараз - '%height%'",
-    "The size of image '%value%' could not be detected" => "Неможливо визначити розмір зображення '%value%'",
-    "File '%value%' can not be read" => "Файл '%value%' неможливо прочитати",
-
-    // Zend_Validate_File_IsCompressed
-    "File '%value%' is not compressed, '%type%' detected" => "Файл '%value%' не є стислий. MIME-тип файлу - '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "Неможливо визначити MIME-тип файлу '%value%'",
-    "File '%value%' can not be read" => "Файл '%value%' неможливо прочитати",
-
-    // Zend_Validate_File_IsImage
-    "File '%value%' is no image, '%type%' detected" => "Файл '%value%' не є зображенням. MIME-тип файлу - '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "Неможливо визначити MIME-тип файлу '%value%'",
-    "File '%value%' can not be read" => "Файл '%value%' неможливо прочитати",
-
-    // Zend_Validate_File_Md5
-    "File '%value%' does not match the given md5 hashes" => "Файл '%value%' не відповідає вказаному md5 хешу",
-    "A md5 hash could not be evaluated for the given file" => "md5 хеш не може бути визначений для вказаного файлу",
-    "File '%value%' could not be found" => "Файл '%value%' не знайдено",
-
-    // Zend_Validate_File_MimeType
-    "File '%value%' has a false mimetype of '%type%'" => "MIME-тип '%type%' файлу '%value%' неприпустимий",
-    "The mimetype of file '%value%' could not be detected" => "Неможливо визначити MIME-тип файлу '%value%'",
-    "File '%value%' can not be read" => "Файл '%value%' не можливо прочитати",
-
-    // Zend_Validate_File_NotExists
-    "File '%value%' exists" => "Файл '%value%' вже існує",
-
-    // Zend_Validate_File_Sha1
-    "File '%value%' does not match the given sha1 hashes" => "Файл '%value%' не відповідає хешу sha1",
-    "A sha1 hash could not be evaluated for the given file" => "Неможливо визначити sha1 хеш для вказаного файлу",
-    "File '%value%' could not be found" => "Файл '%value%' не знайдено",
-
-    // Zend_Validate_File_Size
-    "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "Максимально дозволений розмір файлу '%value%' - '%max%', зараз - '%size%'",
-    "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "Мінімально дозволений розмір файлу '%value%' - '%min%', зараз - '%size%'",
-    "File '%value%' could not be found" => "Файл '%value%' не знайдено",
-
-    // Zend_Validate_File_Upload
-    "File '%value%' exceeds the defined ini size" => "Розмір файлу '%value%' більше ніж дозволений, що вказаний в php.ini",
-    "File '%value%' exceeds the defined form size" => "Розмір файлу '%value%' більше ніж дозволений, що вказаний  в формі",
-    "File '%value%' was only partially uploaded" => "Файл '%value%' був завантажений тільки частково",
-    "File '%value%' was not uploaded" => "Файл '%value%' не був завантажений",
-    "No temporary directory was found for file '%value%'" => "Не знайдено тимчасову директорію для файлу '%value%'",
+    // Zend\Validator\File\Hash
+    "File does not match the given hashes" => "Файл не відповідає вказаному хешу",
+    "A hash could not be evaluated for the given file" => "Неможливо обчислити хеш для вказаного файлу",
+    "File is not readable or does not exist" => "Файл не вдається прочитати або він не існує",
+
+    // Zend\Validator\File\ImageSize
+    "Maximum allowed width for image should be '%maxwidth%' but '%width%' detected" => "Максимальна допустима ширина для зображення складає '%maxwidth%', виявлено '%width%'",
+    "Minimum expected width for image should be '%minwidth%' but '%width%' detected" => "Мінімальна очкувана ширина для зображення складає '%minwidth%', виявлено '%width%'",
+    "Maximum allowed height for image should be '%maxheight%' but '%height%' detected" => "Максимальна допустима висота для зображення складає '%maxheight%', виявлено '%height%'",
+    "Minimum expected height for image should be '%minheight%' but '%height%' detected" => "Мінімальна очікувана висота для зображення складає '%minheight%', виявлено '%height%'",
+    "The size of image could not be detected" => "Неможливо визначити розмір зображення",
+    "File is not readable or does not exist" => "Файл не вдається прочитати або він не існує",
+
+    // Zend\Validator\File\IsCompressed
+    "File is not compressed, '%type%' detected" => "Файл не є стиснутим, виявлено тип '%type%'",
+    "The mimetype could not be detected from the file" => "Неможливо визначити MIME-тип із файлу",
+    "File is not readable or does not exist" => "Файл не вдається прочитати або він не існує",
+
+    // Zend\Validator\File\IsImage
+    "File is no image, '%type%' detected" => "Файл не є зображенням, виявлено тип '%type%'",
+    "The mimetype could not be detected from the file" => "Неможливо визначити MIME-тип із файлу",
+    "File is not readable or does not exist" => "Файл не вдається прочитати або він не існує",
+
+    // Zend\Validator\File\Md5
+    "File does not match the given md5 hashes" => "Файл не відповідає вказаному md5-хешу",
+    "An md5 hash could not be evaluated for the given file" => "Неможливо обчислити md5-хеш для вказаного файлу",
+    "File is not readable or does not exist" => "Файл не вдається прочитати або він не існує",
+
+    // Zend\Validator\File\MimeType
+    "File has an incorrect mimetype of '%type%'" => "Файл має неправильний MIME-тип '%type%'",
+    "The mimetype could not be detected from the file" => "Неможливо визначити MIME-тип із файлу",
+    "File is not readable or does not exist" => "Файл не вдається прочитати або він не існує",
+
+    // Zend\Validator\File\NotExists
+    "File exists" => "Файл вже існує",
+
+    // Zend\Validator\File\Sha1
+    "File does not match the given sha1 hashes" => "Файл не відповідає sha1-хешу",
+    "A sha1 hash could not be evaluated for the given file" => "Неможливо обчислити sha1-хеш для вказаного файлу",
+    "File is not readable or does not exist" => "Файл не вдається прочитати або він не існує",
+
+    // Zend\Validator\File\Size
+    "Maximum allowed size for file is '%max%' but '%size%' detected" => "Максимальний дозволений розмір файлу складає '%max%', виявлено '%size%'",
+    "Minimum expected size for file is '%min%' but '%size%' detected" => "Мінімальний очікуваний розмір файлу складає '%min%', виявлено '%size%'",
+    "File is not readable or does not exist" => "Файл не вдається прочитати або він не існує",
+
+    // Zend\Validator\File\Upload
+    "File '%value%' exceeds the defined ini size" => "Розмір файлу '%value%' перевищує дозволений, вказаний в php.ini",
+    "File '%value%' exceeds the defined form size" => "Розмір файлу '%value%' перевищує дозволений, вказаний у формі",
+    "File '%value%' was only partially uploaded" => "Файл '%value%' було завантажено тільки частково",
+    "File '%value%' was not uploaded" => "Файл '%value%' не було завантажений",
+    "No temporary directory was found for file '%value%'" => "Не знайдено тимчасову теку для файлу '%value%'",
     "File '%value%' can't be written" => "Файл '%value%' не може бути записаний",
-    "A PHP extension returned an error while uploading the file '%value%'" => "PHP розширення повернуло помилку під час завантаження фалу '%value%'",
-    "File '%value%' was illegally uploaded. This could be a possible attack" => "Файл '%value%' завантажений некоректно. Можлива атака",
+    "A PHP extension returned an error while uploading the file '%value%'" => "PHP-розширення повернуло помилку під час завантаження фалу '%value%'",
+    "File '%value%' was illegally uploaded. This could be a possible attack" => "Файл '%value%' завантажено протиправно. Можлива атака",
     "File '%value%' was not found" => "Файл '%value%' не знайдено",
     "Unknown error while uploading file '%value%'" => "Під час завантаження файлу '%value%' виникла невідома помилка",
 
-    // Zend_Validate_File_WordCount
-    "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Занадто багато слів, дозволено максимум '%max%' слів, зараз - '%count%'",
-    "Too few words, minimum '%min%' are expected but '%count%' were counted" => "Занадто мало слів, дозволено мінімум '%min%' слів, зараз - '%count%'",
-    "File '%value%' could not be found" => "Файл '%value%' не знайдено",
-
-    // Zend_Validate_Float
-    "Invalid type given, value should be float, string, or integer" => "Неприпустимий тип даних, значення повинно бути числом з плаваючою крапкою, рядком, або цілим числом",
-    "'%value%' does not appear to be a float" => "'%value%' не є числом з плаваючою крапкою",
-
-    // Zend_Validate_GreaterThan
-    "'%value%' is not greater than '%min%'" => "'%value%' не більше ніж '%min%'",
-
-    // Zend_Validate_Hex
-    "Invalid type given, value should be a string" => "Неприпустимий тип даних, значення повинно бути рядком",
-    "'%value%' has not only hexadecimal digit characters" => "Значення '%value%' повинно містити тільки шістнадцятирічні символи",
-
-    // Zend_Validate_Hostname
-    "Invalid type given, value should be a string" => "Неприпустимий тип даних, значення повинно бути рядком",
-    "'%value%' appears to be an IP address, but IP addresses are not allowed" => "Значення '%value%' виглядає як IP-адреса, але IP-адреси не дозволені",
-    "'%value%' appears to be a DNS hostname but cannot match TLD against known list" => "'%value%' виглядає як DNS ім’я хоста, але воно не повинно бути зі списку доменів верхнього рівня",
-    "'%value%' appears to be a DNS hostname but contains a dash in an invalid position" => "'%value%' виглядає як DNS ім’я хоста, але знак '-' знаходиться в неприпустимому місці",
-    "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "'%value%' виглядає як DNS ім’я хоста, але воно не відповідає шаблону для доменних імен верхнього рівня '%tld%'",
-    "'%value%' appears to be a DNS hostname but cannot extract TLD part" => "'%value%' виглядає як DNS ім’я хоста, але не вдається визначити домен верхнього рівня",
-    "'%value%' does not match the expected structure for a DNS hostname" => "'%value%' не відповідає очікуваній структурі для DNS імені хоста",
-    "'%value%' does not appear to be a valid local network name" => "'%value%' є неприпустимим іменем локальної мережі",
-    "'%value%' appears to be a local network name but local network names are not allowed" => "'%value%' виглядає як ім’я локальної мережі, але імена локальних мереж не дозволені",
-    "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded" => "'%value%' виглядає як DNS ім’я хоста, але вказане значення не може бути перетворене в припустимий для DNS набір символів",
-
-    // Zend_Validate_Iban
-    "Unknown country within the IBAN '%value%'" => "Невідома країна IBAN '%value%'",
-    "'%value%' has a false IBAN format" => "'%value%' має неприпустимий IBAN формат",
-    "'%value%' has failed the IBAN check" => "'%value%' не пройшло IBAN перевірку",
-
-    // Zend_Validate_Identical
-    "The token '%token%' does not match the given token '%value%'" => "Значення '%token%' не співпадає з вказаним значенням '%value%'",
+    // Zend\Validator\File\UploadFile
+    "File exceeds the defined ini size" => "Розмір файлу перевищує дозволений, вказаний в php.ini",
+    "File exceeds the defined form size" => "Розмір файлу перевищує дозволений, вказаний у формі",
+    "File was only partially uploaded" => "Файл було завантажено тільки частково",
+    "File was not uploaded" => "Файл '%value%' не було завантажено",
+    "No temporary directory was found for file" => "Не знайдено тимчасову теку для файлу",
+    "File can't be written" => "Файл '%value%' не може бути записаний",
+    "A PHP extension returned an error while uploading the file" => "PHP-розширення повернуло помилку під час завантаження файлу",
+    "File was illegally uploaded. This could be a possible attack" => "Файл завантажено протиправно. Можлива атака",
+    "File was not found" => "Файл не знайдено",
+    "Unknown error while uploading file" => "Під час завантаження файлу виникла невідома помилка",
+
+    // Zend\Validator\File\WordCount
+    "Too many words, maximum '%max%' are allowed but '%count%' were counted" => "Занадто багато слів: дозволено максимум '%max%', виявлено '%count%'",
+    "Too few words, minimum '%min%' are expected but '%count%' were counted" => "Занадто мало слів: дозволено мінімум '%min%', виявлено '%count%'",
+    "File is not readable or does not exist" => "Файл не вдається прочитати або він не існує",
+
+    // Zend\Validator\GreaterThan
+    "The input is not greater than '%min%'" => "Значення не є більшим за '%min%'",
+    "The input is not greater or equal than '%min%'" => "Значення не дорівнює і не є більшим за '%min%'",
+
+    // Zend\Validator\Hex
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
+    "The input contains non-hexadecimal characters" => "Значення містить не тільки шістнадцяткові символи",
+
+    // Zend\Validator\Hostname
+    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "Значення є DNS-ім’ям хосту, але вказане значення не може бути перетворене в припустимий для DNS набір символів",
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
+    "The input appears to be a DNS hostname but contains a dash in an invalid position" => "Значення є DNS-ім’ям хосту, але знак '-' знаходиться в неправильному місці",
+    "The input does not match the expected structure for a DNS hostname" => "Значення не відповідає очікуваній структурі для DNS-імені хосту",
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "Значення є DNS-ім’ям хосту, але воно не відповідає шаблону для доменних імен верхнього рівня '%tld%'",
+    "The input does not appear to be a valid local network name" => "Значення не є коректним ім'ям локальної мережі",
+    "The input does not appear to be a valid URI hostname" => "Значення не є коректним URI-ім'ям хосту",
+    "The input appears to be an IP address, but IP addresses are not allowed" => "Значення є IP-адресою, але IP-адреси не дозволені",
+    "The input appears to be a local network name but local network names are not allowed" => "Значення є ім’ям локальної мережі, але імена локальних мереж не дозволені",
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "Значення є DNS-ім’ям хосту, але не вдається визначити домен верхнього рівня",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "Значення є DNS-ім’ям хосту, але його не вдається співставити із значенням зі списку відомих доменів верхнього рівня",
+
+    // Zend\Validator\Iban
+    "Unknown country within the IBAN" => "Невідома IBAN-країна",
+    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Країни поза межами Єдиної Зони Платежів у Євро (SEPA) не підтримуються",
+    "The input has a false IBAN format" => "Значення має неправильний IBAN-формат",
+    "The input has failed the IBAN check" => "Значення не пройшло IBAN-перевірку",
+
+    // Zend\Validator\Identical
+    "The two given tokens do not match" => "Два вказаних значення не співпадають",
     "No token was provided to match against" => "Не вказано значення для перевірки на ідентичність",
 
-    // Zend_Validate_InArray
-    "'%value%' was not found in the haystack" => "'%value%' не знайдено в списку допустимих значень",
+    // Zend\Validator\InArray
+    "The input was not found in the haystack" => "Значення не знайдено в списку допустимих значень",
 
-    // Zend_Validate_Int
-    "Invalid type given, value should be string or integer" => "Неприпустимий тип даних, значення повинно бути рядком чи цілим числом",
-    "'%value%' does not appear to be an integer" => "'%value%' не є цілим числом",
+    // Zend\Validator\Ip
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
+    "The input does not appear to be a valid IP address" => "Значення не є коректною IP-адресою",
 
-    // Zend_Validate_Ip
-    "Invalid type given, value should be a string" => "Неприпустимий тип даних, значення повинно бути рядком",
-    "'%value%' does not appear to be a valid IP address" => "'%value%' - некоректна IP-адреса",
+    // Zend\Validator\IsInstanceOf
+    "The input is not an instance of '%className%'" => "Значення не є екземпляром '%className%'",
 
-    // Zend_Validate_Isbn
-    "'%value%' is not a valid ISBN number" => "'%value%' - некоректний номер ISBN",
+    // Zend\Validator\Isbn
+    "Invalid type given. String or integer expected" => "Неправильний тип даних. Значення має бути рядком або цілим числом",
+    "The input is not a valid ISBN number" => "Значення не є коректним номером ISBN",
 
-    // Zend_Validate_LessThan
-    "'%value%' is not less than '%max%'" => "'%value%' не менше ніж '%max%'",
+    // Zend\Validator\LessThan
+    "The input is not less than '%max%'" => "Значення не є меншим за '%max%'",
+    "The input is not less or equal than '%max%'" => "Значення не дорівнює і не є меншим за '%max%'",
 
-    // Zend_Validate_NotEmpty
-    "Invalid type given, value should be float, string, array, boolean or integer" => "Неприпустимий тип даних, значення повинно бути числом з плаваючою крапкою, рядком, масивом чи цілим числом",
+    // Zend\Validator\NotEmpty
     "Value is required and can't be empty" => "Значення обов'язкове і не може бути порожнім",
+    "Invalid type given. String, integer, float, boolean or array expected" => "Неправильний тип даних. Значення має бути рядком, цілим числом, числом з плаваючою комою або масивом",
 
-    // Zend_Validate_PostCode
-    "Invalid type given, value should be string or integer" => "Неприпустимий тип даних, значення повинно бути рядком чи цілим числом",
-    "'%value%' does not appear to be an postal code" => "'%value%' не являється поштовим індексом",
+    // Zend\Validator\Regex
+    "Invalid type given. String, integer or float expected" => "Неправильний тип даних. Значення має бути рядком, цілим числом або числом з плаваючою комою",
+    "The input does not match against pattern '%pattern%'" => "Значення не відповідає шаблону '%pattern%'",
+    "There was an internal error while using the pattern '%pattern%'" => "Під час використання шаблону '%pattern%' трапилася внутрішня помилка",
 
-    // Zend_Validate_Regex
-    "Invalid type given, value should be string, integer or float" => "Неприпустимий тип даних, значення повинно бути числом з плаваючою крапкою, рядком чи цілим числом",
-    "'%value%' does not match against pattern '%pattern%'" => "'%value%' не відповідає шаблону '%pattern%'",
+    // Zend\Validator\Sitemap\Changefreq
+    "The input is not a valid sitemap changefreq" => "Значенння не є коректним для sitemap changefreq",
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
 
-    // Zend_Validate_Sitemap_Changefreq
-    "'%value%' is not a valid sitemap changefreq" => "'%value%' неприпустиме значення для sitemap changefreq",
+    // Zend\Validator\Sitemap\Lastmod
+    "The input is not a valid sitemap lastmod" => "Значення не є коректним для sitemap lastmod",
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
 
-    // Zend_Validate_Sitemap_Lastmod
-    "'%value%' is not a valid sitemap lastmod" => "'%value%' неприпустиме значення для sitemap lastmod",
+    // Zend\Validator\Sitemap\Loc
+    "The input is not a valid sitemap location" => "Значення не є коректним для sitemap location",
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
 
-    // Zend_Validate_Sitemap_Loc
-    "'%value%' is not a valid sitemap location" => "'%value%' неприпустиме значення для sitemap location",
+    // Zend\Validator\Sitemap\Priority
+    "The input is not a valid sitemap priority" => "Значення не є коректним для sitemap priority",
+    "Invalid type given. Numeric string, integer or float expected" => "Неправильний тип даних. Значення має бути числовим рядком, цілим числом або числом з плаваючою комою",
 
-    // Zend_Validate_Sitemap_Priority
-    "'%value%' is not a valid sitemap priority" => "'%value%' неприпустиме значення для sitemap priority",
+    // Zend\Validator\Step
+    "Invalid value given. Scalar expected" => "Значення є некоректним. Очікується скалярна величина",
+    "The input is not a valid step" => "Значення не є коректним кроком",
 
-    // Zend_Validate_StringLength
-    "Invalid type given, value should be a string" => "Неприпустимий тип даних, значення повинно бути рядком",
-    "'%value%' is less than %min% characters long" => "Довжина '%value%' менше %min% символів",
-    "'%value%' is more than %max% characters long" => "Довжина '%value%' перевищує %max% символів",
+    // Zend\Validator\StringLength
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
+    "The input is less than %min% characters long" => "Значення має довжину, меншу за %min% символів",
+    "The input is more than %max% characters long" => "Значення має довжину, більшу за %max% символів",
+
+    // Zend\Validator\Uri
+    "Invalid type given. String expected" => "Неправильний тип даних. Значення має бути рядком",
+    "The input does not appear to be a valid Uri" => "Значення не є коректним Uri",
 );
-- 
GitLab