From b7b269c853f7e6d05e9d923133bf8e6b5931be44 Mon Sep 17 00:00:00 2001
From: Demian Katz <demian.katz@villanova.edu>
Date: Mon, 22 Oct 2012 09:23:06 -0400
Subject: [PATCH] Upgrade to Zend Framework 2.0.3.

---
 .../Zend/Authentication/Adapter/DbTable.php   |   4 +-
 .../Zend/Authentication/Adapter/Ldap.php      |   2 +-
 .../library/Zend/Authentication/composer.json |   2 +-
 vendor/ZF2/library/Zend/Barcode/composer.json |   2 +-
 .../Zend/Cache/Pattern/CallbackCache.php      |   1 -
 .../Zend/Cache/Pattern/OutputCache.php        |   1 -
 .../Storage/Adapter/AbstractZendServer.php    |   1 -
 .../Zend/Cache/Storage/Adapter/Apc.php        |   1 -
 .../Zend/Cache/Storage/Adapter/Dba.php        |  11 +-
 .../Zend/Cache/Storage/Adapter/Filesystem.php |   7 +-
 .../Zend/Cache/Storage/Adapter/Memcached.php  | 179 ++++++-----
 .../Storage/Adapter/MemcachedOptions.php      | 154 ++++++++--
 .../Zend/Cache/Storage/Adapter/Memory.php     |   1 -
 .../Cache/Storage/Adapter/MemoryOptions.php   |   4 +-
 .../Zend/Cache/Storage/Adapter/WinCache.php   |   5 +-
 .../Cache/Storage/Adapter/WinCacheOptions.php |   1 -
 .../Cache/Storage/Adapter/ZendServerDisk.php  |   3 +-
 .../Cache/Storage/Adapter/ZendServerShm.php   |   3 +-
 .../Storage/Plugin/ClearExpiredByFactor.php   |   2 -
 .../Cache/Storage/Plugin/ExceptionHandler.php |   1 -
 .../Cache/Storage/Plugin/OptimizeByFactor.php |   1 -
 .../Zend/Cache/Storage/Plugin/Serializer.php  |   1 -
 .../ZF2/library/Zend/Cache/StorageFactory.php |   2 +-
 vendor/ZF2/library/Zend/Cache/composer.json   |   2 +-
 vendor/ZF2/library/Zend/Captcha/ReCaptcha.php |   1 -
 vendor/ZF2/library/Zend/Captcha/composer.json |   2 +-
 .../Zend/Code/Generator/BodyGenerator.php     |   2 +-
 .../Code/Reflection/DocBlockReflection.php    |   1 -
 .../Zend/Code/Scanner/ClassScanner.php        |   1 -
 .../Zend/Code/Scanner/TokenArrayScanner.php   |   4 -
 vendor/ZF2/library/Zend/Code/composer.json    |   2 +-
 vendor/ZF2/library/Zend/Config/Config.php     |   1 -
 vendor/ZF2/library/Zend/Config/composer.json  |   2 +-
 .../library/Zend/Console/Adapter/Posix.php    |   6 +-
 .../library/Zend/Console/Adapter/Windows.php  |   2 +-
 vendor/ZF2/library/Zend/Console/Getopt.php    |   2 +-
 .../library/Zend/Console/Prompt/Number.php    |   2 +-
 vendor/ZF2/library/Zend/Console/composer.json |   2 +-
 .../library/Zend/Crypt/Password/Bcrypt.php    |   3 +-
 .../Zend/Crypt/PublicKey/RsaOptions.php       |   2 -
 vendor/ZF2/library/Zend/Crypt/composer.json   |   2 +-
 .../Zend/Db/Adapter/AdapterAwareInterface.php |   6 +
 .../Zend/Db/Adapter/AdapterServiceFactory.php |   8 +-
 .../Db/Adapter/Driver/ConnectionInterface.php |  63 +++-
 .../Db/Adapter/Driver/DriverInterface.php     |  16 +
 .../Driver/Feature/AbstractFeature.php        |   8 +
 .../Driver/Feature/DriverFeatureInterface.php |  20 ++
 .../Db/Adapter/Driver/Mysqli/Connection.php   |  20 +-
 .../Zend/Db/Adapter/Driver/Mysqli/Mysqli.php  |  19 ++
 .../Zend/Db/Adapter/Driver/Mysqli/Result.php  |  23 +-
 .../Db/Adapter/Driver/Mysqli/Statement.php    |   8 +
 .../Zend/Db/Adapter/Driver/Pdo/Connection.php |  43 ++-
 .../Zend/Db/Adapter/Driver/Pdo/Pdo.php        |   8 +-
 .../Db/Adapter/Driver/Pgsql/Connection.php    |  19 +-
 .../Zend/Db/Adapter/Driver/Pgsql/Pgsql.php    |  28 +-
 .../Zend/Db/Adapter/Driver/Pgsql/Result.php   |  80 ++++-
 .../Db/Adapter/Driver/Pgsql/Statement.php     |  20 +-
 .../Db/Adapter/Driver/ResultInterface.php     |  48 ++-
 .../Zend/Db/Adapter/Driver/Sqlsrv/Sqlsrv.php  |   4 +-
 .../Db/Adapter/Driver/Sqlsrv/Statement.php    |   9 +-
 .../Db/Adapter/Driver/StatementInterface.php  |  12 +-
 .../Db/Adapter/Platform/PlatformInterface.php |  59 ++++
 .../Adapter/StatementContainerInterface.php   |  12 +-
 .../ZF2/library/Zend/Db/Metadata/Metadata.php |   1 -
 .../Zend/Db/Metadata/Source/MysqlMetadata.php |   1 -
 .../Db/Metadata/Source/PostgresqlMetadata.php |   1 -
 .../Db/Metadata/Source/SqlServerMetadata.php  |   1 -
 .../Db/Metadata/Source/SqliteMetadata.php     |   1 -
 .../Zend/Db/RowGateway/AbstractRowGateway.php |   1 -
 .../ZF2/library/Zend/Db/Sql/AbstractSql.php   |  21 +-
 vendor/ZF2/library/Zend/Db/Sql/Expression.php |   6 +-
 .../Zend/Db/Sql/ExpressionInterface.php       |   4 +
 vendor/ZF2/library/Zend/Db/Sql/Having.php     |   3 -
 .../Zend/Db/Sql/Platform/AbstractPlatform.php |   4 +-
 .../Zend/Db/Sql/Platform/Mysql/Mysql.php      |  23 ++
 .../Db/Sql/Platform/Mysql/SelectDecorator.php |  90 ++++++
 .../library/Zend/Db/Sql/Platform/Platform.php |   4 +
 .../ZF2/library/Zend/Db/Sql/Predicate/In.php  |   2 +-
 vendor/ZF2/library/Zend/Db/Sql/Select.php     |   8 +-
 vendor/ZF2/library/Zend/Db/Sql/Where.php      |   3 -
 .../Db/TableGateway/Feature/EventFeature.php  | 151 +++++++++-
 .../EventFeature/TableGatewayEvent.php        |   2 +-
 vendor/ZF2/library/Zend/Db/composer.json      |   2 +-
 vendor/ZF2/library/Zend/Debug/Debug.php       |   2 +-
 vendor/ZF2/library/Zend/Debug/composer.json   |   2 +-
 .../Zend/Di/ServiceLocator/Generator.php      |   3 +
 vendor/ZF2/library/Zend/Di/composer.json      |   2 +-
 vendor/ZF2/library/Zend/Dom/Query.php         |   1 -
 vendor/ZF2/library/Zend/Dom/composer.json     |   2 +-
 vendor/ZF2/library/Zend/Escaper/composer.json |   2 +-
 .../Zend/EventManager/EventManager.php        |   4 +
 .../EventManager/EventManagerInterface.php    |   1 -
 .../Zend/EventManager/GlobalEventManager.php  |   1 -
 .../Zend/EventManager/SharedEventManager.php  |   4 +
 .../Zend/EventManager/StaticEventManager.php  |   1 -
 .../library/Zend/EventManager/composer.json   |   2 +-
 .../Reader/Extension/DublinCore/Entry.php     |   1 -
 .../Zend/Feed/Reader/ExtensionManager.php     |   1 -
 .../ZF2/library/Zend/Feed/Reader/Reader.php   |   4 +-
 .../library/Zend/Feed/Writer/AbstractFeed.php |  69 ++++-
 .../ZF2/library/Zend/Feed/Writer/Deleted.php  |  33 ++-
 vendor/ZF2/library/Zend/Feed/Writer/Entry.php |  65 +++-
 .../Zend/Feed/Writer/ExtensionManager.php     |   1 -
 vendor/ZF2/library/Zend/Feed/Writer/Feed.php  |  10 +-
 .../ZF2/library/Zend/Feed/Writer/Source.php   |   1 -
 vendor/ZF2/library/Zend/Feed/composer.json    |   8 +-
 vendor/ZF2/library/Zend/File/PhpClassFile.php |   2 +-
 .../File/Transfer/Adapter/AbstractAdapter.php |   2 +-
 .../Zend/File/Transfer/Adapter/Http.php       |   2 +-
 vendor/ZF2/library/Zend/File/composer.json    |   2 +-
 .../library/Zend/Filter/AbstractFilter.php    |   3 +-
 vendor/ZF2/library/Zend/Filter/Null.php       |   1 -
 .../ZF2/library/Zend/Filter/PregReplace.php   |   1 -
 vendor/ZF2/library/Zend/Filter/StringTrim.php |   1 -
 vendor/ZF2/library/Zend/Filter/composer.json  |   2 +-
 .../library/Zend/Form/Annotation/Object.php   |   1 -
 .../library/Zend/Form/Element/Checkbox.php    |   7 +-
 .../library/Zend/Form/Element/Collection.php  |   9 +-
 vendor/ZF2/library/Zend/Form/Element/Csrf.php |   2 +-
 vendor/ZF2/library/Zend/Form/Element/Date.php |   9 +-
 .../library/Zend/Form/Element/DateTime.php    |   1 -
 .../Zend/Form/Element/DateTimeLocal.php       |   1 -
 vendor/ZF2/library/Zend/Form/Element/File.php |  16 +-
 .../ZF2/library/Zend/Form/Element/Month.php   |   1 -
 .../Zend/Form/Element/MultiCheckbox.php       |   4 +-
 .../library/Zend/Form/Element/Password.php    |  15 +-
 .../ZF2/library/Zend/Form/Element/Select.php  |  13 +-
 vendor/ZF2/library/Zend/Form/Element/Time.php |   1 -
 vendor/ZF2/library/Zend/Form/Element/Week.php |   1 -
 vendor/ZF2/library/Zend/Form/Form.php         |  75 +++--
 .../ZF2/library/Zend/Form/FormInterface.php   |   1 -
 .../Form/View/Helper/Captcha/AbstractWord.php |   1 -
 .../Form/View/Helper/Captcha/ReCaptcha.php    |   1 -
 .../Zend/Form/View/Helper/FormCheckbox.php    |   1 -
 .../Zend/Form/View/Helper/FormCollection.php  |   5 +-
 .../Form/View/Helper/FormMultiCheckbox.php    |   1 -
 .../library/Zend/Form/View/Helper/FormRow.php |   6 +-
 .../Zend/Form/View/Helper/FormSelect.php      |   1 -
 vendor/ZF2/library/Zend/Form/composer.json    |   2 +-
 .../library/Zend/Http/Client/Adapter/Curl.php |  14 +-
 .../ZF2/library/Zend/Http/Header/Cookie.php   |   1 -
 .../ZF2/library/Zend/Http/Header/Location.php |   1 -
 .../library/Zend/Http/Header/SetCookie.php    |   2 +-
 vendor/ZF2/library/Zend/Http/composer.json    |   2 +-
 .../I18n/Exception/ExceptionInterface.php     |   2 +-
 .../Exception/InvalidArgumentException.php    |   2 +-
 .../I18n/Exception/OutOfBoundsException.php   |   2 +-
 .../Zend/I18n/Exception/ParseException.php    |   2 +-
 .../Zend/I18n/Exception/RangeException.php    |   2 +-
 .../Zend/I18n/Exception/RuntimeException.php  |   2 +-
 .../Zend/I18n/Filter/AbstractLocale.php       |   3 +-
 vendor/ZF2/library/Zend/I18n/Filter/Alnum.php |   4 +-
 vendor/ZF2/library/Zend/I18n/Filter/Alpha.php |   3 +-
 .../library/Zend/I18n/Filter/NumberFormat.php |   5 +
 .../Translator/TranslatorServiceFactory.php   |   2 +-
 .../ZF2/library/Zend/I18n/Validator/Alnum.php |   3 +-
 .../ZF2/library/Zend/I18n/Validator/Alpha.php |   4 +-
 .../ZF2/library/Zend/I18n/Validator/Float.php |   3 +-
 .../ZF2/library/Zend/I18n/Validator/Int.php   |   3 +-
 .../library/Zend/I18n/Validator/PostCode.php  |   3 +-
 .../View/Helper/AbstractTranslatorHelper.php  |   4 +-
 .../Zend/I18n/View/Helper/CurrencyFormat.php  |  42 ++-
 vendor/ZF2/library/Zend/I18n/composer.json    |   3 +-
 .../ZF2/library/Zend/InputFilter/Factory.php  |   3 +
 vendor/ZF2/library/Zend/InputFilter/Input.php |  37 ++-
 .../library/Zend/InputFilter/composer.json    |   2 +-
 vendor/ZF2/library/Zend/Json/composer.json    |   2 +-
 vendor/ZF2/library/Zend/Ldap/Attribute.php    |   8 +-
 .../Zend/Ldap/Collection/DefaultIterator.php  |   2 +-
 vendor/ZF2/library/Zend/Ldap/Dn.php           |   8 +-
 vendor/ZF2/library/Zend/Ldap/Ldap.php         |  16 +-
 .../Node/Schema/AttributeType/OpenLdap.php    |   2 +-
 vendor/ZF2/library/Zend/Ldap/composer.json    |   2 +-
 .../library/Zend/Loader/AutoloaderFactory.php |  10 +-
 .../Zend/Loader/ClassMapAutoloader.php        |   2 +-
 .../library/Zend/Loader/ModuleAutoloader.php  |  53 +++-
 .../library/Zend/Loader/PluginClassLoader.php |   2 +-
 .../Zend/Loader/PluginClassLocator.php        |   2 +-
 .../Zend/Loader/StandardAutoloader.php        |   4 +-
 vendor/ZF2/library/Zend/Loader/composer.json  |   2 +-
 .../Zend/Log/Filter/SuppressFilter.php        |   1 -
 .../ZF2/library/Zend/Log/Formatter/Base.php   |   1 -
 vendor/ZF2/library/Zend/Log/Formatter/Db.php  |   1 -
 .../Zend/Log/Formatter/ErrorHandler.php       |   1 -
 vendor/ZF2/library/Zend/Log/Logger.php        |   2 +-
 .../ZF2/library/Zend/Log/Writer/FirePhp.php   |  10 +
 vendor/ZF2/library/Zend/Log/composer.json     |   2 +-
 .../library/Zend/Mail/Header/ContentType.php  |   2 +-
 .../library/Zend/Mail/Header/MessageId.php    |   1 -
 .../ZF2/library/Zend/Mail/Protocol/Imap.php   |  18 +-
 .../ZF2/library/Zend/Mail/Protocol/Pop3.php   |   8 +-
 .../ZF2/library/Zend/Mail/Storage/Folder.php  |   2 +-
 .../Zend/Mail/Storage/Folder/Maildir.php      |   4 +-
 .../library/Zend/Mail/Storage/Folder/Mbox.php |   4 +-
 vendor/ZF2/library/Zend/Mail/Storage/Imap.php |   6 +-
 .../ZF2/library/Zend/Mail/Storage/Maildir.php |   4 +-
 vendor/ZF2/library/Zend/Mail/Storage/Mbox.php |   2 +-
 .../library/Zend/Mail/Storage/Part/File.php   |   1 -
 vendor/ZF2/library/Zend/Mail/Storage/Pop3.php |   4 +-
 .../Zend/Mail/Storage/Writable/Maildir.php    |  12 +-
 vendor/ZF2/library/Zend/Mail/composer.json    |   2 +-
 vendor/ZF2/library/Zend/Math/Rand.php         |   3 +-
 vendor/ZF2/library/Zend/Math/composer.json    |   2 +-
 .../ZF2/library/Zend/Memory/MemoryManager.php |   2 +-
 vendor/ZF2/library/Zend/Memory/Value.php      |   2 +-
 vendor/ZF2/library/Zend/Memory/composer.json  |   2 +-
 vendor/ZF2/library/Zend/Mime/composer.json    |   2 +-
 .../ModuleManager/Listener/ConfigListener.php |   9 +-
 .../Zend/ModuleManager/ModuleManager.php      |   7 +-
 .../library/Zend/ModuleManager/composer.json  |   2 +-
 .../Controller/AbstractRestfulController.php  |   1 -
 .../Zend/Mvc/Controller/ControllerManager.php |   2 +-
 .../Zend/Mvc/Controller/Plugin/Redirect.php   |   1 -
 .../ZF2/library/Zend/Mvc/DispatchListener.php |   1 -
 vendor/ZF2/library/Zend/Mvc/MvcEvent.php      |   2 +-
 .../Zend/Mvc/Router/Console/Catchall.php      |   1 -
 .../Mvc/Router/Console/SimpleRouteStack.php   |   1 -
 .../library/Zend/Mvc/Router/Http/Segment.php  |  60 +++-
 .../Zend/Mvc/Router/SimpleRouteStack.php      |   2 -
 .../Zend/Mvc/Service/RouterFactory.php        |   2 +-
 .../Mvc/Service/ServiceListenerFactory.php    |   2 -
 .../Mvc/Service/ViewHelperManagerFactory.php  |   6 +-
 .../Mvc/View/Console/ExceptionStrategy.php    |   2 +-
 .../View/Console/RouteNotFoundStrategy.php    | 262 ++++++++++------
 .../Zend/Mvc/View/Console/ViewManager.php     |  11 +-
 .../Mvc/View/Http/InjectViewModelListener.php |   1 -
 .../Zend/Mvc/View/Http/ViewManager.php        |   4 -
 vendor/ZF2/library/Zend/Mvc/composer.json     |   2 +-
 .../Zend/Navigation/AbstractContainer.php     |   1 -
 .../Zend/Navigation/Page/AbstractPage.php     |   2 +-
 .../ZF2/library/Zend/Navigation/Page/Mvc.php  |   1 -
 .../Service/AbstractNavigationFactory.php     |   3 +-
 .../ZF2/library/Zend/Navigation/composer.json |   2 +-
 .../ZF2/library/Zend/Paginator/Paginator.php  |   5 +-
 .../ZF2/library/Zend/Paginator/composer.json  |   2 +-
 .../Zend/Permissions/Acl/composer.json        |   2 +-
 .../library/Zend/ProgressBar/composer.json    |   2 +-
 .../Zend/Serializer/Adapter/PythonPickle.php  |   8 +-
 .../Zend/Serializer/Adapter/WddxOptions.php   |   1 -
 .../ZF2/library/Zend/Serializer/composer.json |   2 +-
 vendor/ZF2/library/Zend/Server/composer.json  |   2 +-
 .../AbstractFactoryInterface.php              |  21 ++
 .../ServiceManager/AbstractPluginManager.php  |  38 +++
 .../library/Zend/ServiceManager/Config.php    |  58 ++++
 .../Zend/ServiceManager/ConfigInterface.php   |  10 +
 .../Di/DiAbstractServiceFactory.php           |   2 +
 .../Di/DiInstanceManagerProxy.php             |   6 +
 .../ServiceManager/Di/DiServiceFactory.php    |   4 +
 .../Di/DiServiceInitializer.php               |   4 +
 .../CircularDependencyFoundException.php      |   3 +-
 .../Exception/ExceptionInterface.php          |   5 +
 .../Exception/InvalidArgumentException.php    |   6 +-
 .../Exception/InvalidServiceNameException.php |   8 +-
 .../Exception/RuntimeException.php            |   3 +-
 .../Exception/ServiceNotCreatedException.php  |   3 +-
 .../Exception/ServiceNotFoundException.php    |   3 +-
 .../Zend/ServiceManager/FactoryInterface.php  |  10 +
 .../ServiceManager/InitializerInterface.php   |  11 +
 .../ServiceLocatorAwareInterface.php          |  15 +
 .../ServiceLocatorInterface.php               |  20 ++
 .../Zend/ServiceManager/ServiceManager.php    |  56 +++-
 .../ServiceManagerAwareInterface.php          |   9 +
 .../library/Zend/ServiceManager/composer.json |   2 +-
 .../Zend/Session/Config/SessionConfig.php     |   1 -
 vendor/ZF2/library/Zend/Session/Container.php |   2 +-
 .../Session/SaveHandler/DbTableGateway.php    |   1 -
 .../Zend/Session/Storage/ArrayStorage.php     |  20 +-
 .../Zend/Session/Storage/SessionStorage.php   |   2 +-
 vendor/ZF2/library/Zend/Session/composer.json |   2 +-
 vendor/ZF2/library/Zend/Soap/AutoDiscover.php |   5 +-
 vendor/ZF2/library/Zend/Soap/Client.php       |   2 +-
 .../Soap/Server/DocumentLiteralWrapper.php    |   1 -
 vendor/ZF2/library/Zend/Soap/composer.json    |   2 +-
 .../Zend/Stdlib/DispatchableInterface.php     |  11 +
 .../Exception/BadMethodCallException.php      |   1 +
 .../Zend/Stdlib/Exception/DomainException.php |   7 +
 .../Stdlib/Exception/ExceptionInterface.php   |   7 +
 .../Exception/InvalidArgumentException.php    |   7 +
 .../Exception/InvalidCallbackException.php    |   1 +
 .../Zend/Stdlib/Exception/LogicException.php  |   3 +-
 .../Zend/Stdlib/Hydrator/ClassMethods.php     |  12 +-
 .../Zend/Stdlib/Hydrator/Reflection.php       |   5 +
 vendor/ZF2/library/Zend/Stdlib/Message.php    |   4 +
 .../library/Zend/Stdlib/MessageInterface.php  |  29 ++
 vendor/ZF2/library/Zend/Stdlib/Parameters.php |   6 +-
 .../Zend/Stdlib/ParametersInterface.php       |  56 +++-
 vendor/ZF2/library/Zend/Stdlib/Request.php    |   4 +
 .../library/Zend/Stdlib/RequestInterface.php  |   4 +
 vendor/ZF2/library/Zend/Stdlib/Response.php   |   4 +
 .../library/Zend/Stdlib/ResponseInterface.php |   4 +
 vendor/ZF2/library/Zend/Stdlib/composer.json  |   2 +-
 vendor/ZF2/library/Zend/Tag/composer.json     |   2 +-
 .../Zend/Text/Table/DecoratorManager.php      |   1 -
 vendor/ZF2/library/Zend/Text/composer.json    |   5 +-
 vendor/ZF2/library/Zend/Uri/composer.json     |   2 +-
 .../Zend/Validator/AbstractValidator.php      |   2 +-
 vendor/ZF2/library/Zend/Validator/Barcode.php |   2 +-
 .../Validator/Barcode/AbstractAdapter.php     |   2 +-
 .../Validator/Barcode/AdapterInterface.php    |   2 +-
 .../Zend/Validator/Barcode/Codabar.php        |   2 +-
 .../Zend/Validator/Barcode/Code128.php        |   2 +-
 .../library/Zend/Validator/Barcode/Code25.php |   2 +-
 .../Validator/Barcode/Code25interleaved.php   |   2 +-
 .../library/Zend/Validator/Barcode/Code39.php |   2 +-
 .../Zend/Validator/Barcode/Code39ext.php      |   2 +-
 .../library/Zend/Validator/Barcode/Code93.php |   2 +-
 .../Zend/Validator/Barcode/Code93ext.php      |   2 +-
 .../library/Zend/Validator/Barcode/Ean12.php  |   2 +-
 .../library/Zend/Validator/Barcode/Ean13.php  |   2 +-
 .../library/Zend/Validator/Barcode/Ean14.php  |   2 +-
 .../library/Zend/Validator/Barcode/Ean18.php  |   2 +-
 .../library/Zend/Validator/Barcode/Ean2.php   |   2 +-
 .../library/Zend/Validator/Barcode/Ean5.php   |   2 +-
 .../library/Zend/Validator/Barcode/Ean8.php   |   2 +-
 .../library/Zend/Validator/Barcode/Gtin12.php |   2 +-
 .../library/Zend/Validator/Barcode/Gtin13.php |   2 +-
 .../library/Zend/Validator/Barcode/Gtin14.php |   2 +-
 .../Zend/Validator/Barcode/Identcode.php      |   2 +-
 .../Validator/Barcode/Intelligentmail.php     |   2 +-
 .../library/Zend/Validator/Barcode/Issn.php   |   2 +-
 .../library/Zend/Validator/Barcode/Itf14.php  |   2 +-
 .../Zend/Validator/Barcode/Leitcode.php       |   2 +-
 .../library/Zend/Validator/Barcode/Planet.php |   2 +-
 .../Zend/Validator/Barcode/Postnet.php        |   2 +-
 .../Zend/Validator/Barcode/Royalmail.php      |   2 +-
 .../library/Zend/Validator/Barcode/Sscc.php   |   2 +-
 .../library/Zend/Validator/Barcode/Upca.php   |   2 +-
 .../library/Zend/Validator/Barcode/Upce.php   |   2 +-
 vendor/ZF2/library/Zend/Validator/Between.php |   2 +-
 .../ZF2/library/Zend/Validator/Callback.php   |   2 +-
 .../ZF2/library/Zend/Validator/CreditCard.php |   2 +-
 vendor/ZF2/library/Zend/Validator/Date.php    |   8 +-
 .../ZF2/library/Zend/Validator/DateStep.php   |  41 +--
 .../library/Zend/Validator/Db/AbstractDb.php  |   2 +-
 .../Zend/Validator/Db/NoRecordExists.php      |   2 +-
 .../Zend/Validator/Db/RecordExists.php        |   2 +-
 vendor/ZF2/library/Zend/Validator/Digits.php  |   2 +-
 .../library/Zend/Validator/EmailAddress.php   |   4 +-
 .../Exception/ExceptionInterface.php          |   2 +-
 vendor/ZF2/library/Zend/Validator/Explode.php |   4 +-
 .../ZF2/library/Zend/Validator/File/Count.php |   2 +-
 .../ZF2/library/Zend/Validator/File/Crc32.php |   2 +-
 .../Zend/Validator/File/ExcludeExtension.php  |   2 +-
 .../Zend/Validator/File/ExcludeMimeType.php   |   2 +-
 .../library/Zend/Validator/File/Exists.php    |   2 +-
 .../library/Zend/Validator/File/Extension.php |   2 +-
 .../library/Zend/Validator/File/FilesSize.php |   2 +-
 .../ZF2/library/Zend/Validator/File/Hash.php  |   2 +-
 .../library/Zend/Validator/File/ImageSize.php |   2 +-
 .../Zend/Validator/File/IsCompressed.php      |   2 +-
 .../library/Zend/Validator/File/IsImage.php   |   2 +-
 .../ZF2/library/Zend/Validator/File/Md5.php   |   2 +-
 .../library/Zend/Validator/File/MimeType.php  |   4 +-
 .../library/Zend/Validator/File/NotExists.php |   2 +-
 .../ZF2/library/Zend/Validator/File/Sha1.php  |   3 +-
 .../ZF2/library/Zend/Validator/File/Size.php  |   2 +-
 .../library/Zend/Validator/File/Upload.php    |   2 +-
 .../library/Zend/Validator/File/WordCount.php |   2 +-
 .../library/Zend/Validator/GreaterThan.php    |   2 +-
 vendor/ZF2/library/Zend/Validator/Hex.php     |   2 +-
 .../library/Zend/Validator/Hostname/Biz.php   |   2 +-
 .../library/Zend/Validator/Hostname/Cn.php    |   2 +-
 .../library/Zend/Validator/Hostname/Com.php   |   2 +-
 .../library/Zend/Validator/Hostname/Jp.php    |   2 +-
 vendor/ZF2/library/Zend/Validator/Iban.php    |   4 +-
 .../ZF2/library/Zend/Validator/Identical.php  |   2 +-
 vendor/ZF2/library/Zend/Validator/InArray.php |   2 +-
 vendor/ZF2/library/Zend/Validator/Ip.php      |   5 +-
 vendor/ZF2/library/Zend/Validator/Isbn.php    |   2 +-
 .../ZF2/library/Zend/Validator/LessThan.php   |   2 +-
 .../ZF2/library/Zend/Validator/NotEmpty.php   |   2 +-
 vendor/ZF2/library/Zend/Validator/Regex.php   |   2 +-
 .../Zend/Validator/Sitemap/Changefreq.php     |   2 +-
 .../Zend/Validator/Sitemap/Lastmod.php        |   2 +-
 .../library/Zend/Validator/Sitemap/Loc.php    |   2 +-
 .../Zend/Validator/Sitemap/Priority.php       |   2 +-
 .../Zend/Validator/StaticValidator.php        |   2 +-
 vendor/ZF2/library/Zend/Validator/Step.php    |   2 +-
 .../library/Zend/Validator/StringLength.php   |   2 +-
 vendor/ZF2/library/Zend/Validator/Uri.php     |   2 +-
 .../Zend/Validator/ValidatorInterface.php     |   2 +-
 .../Zend/Validator/ValidatorPluginManager.php |   2 +-
 .../ZF2/library/Zend/Validator/composer.json  |   3 +-
 vendor/ZF2/library/Zend/Version/Version.php   |   4 +-
 vendor/ZF2/library/Zend/Version/composer.json |   2 +-
 .../library/Zend/View/Helper/EscapeCss.php    |   1 -
 .../library/Zend/View/Helper/EscapeHtml.php   |   1 -
 .../Zend/View/Helper/EscapeHtmlAttr.php       |   1 -
 .../ZF2/library/Zend/View/Helper/EscapeJs.php |   1 -
 .../library/Zend/View/Helper/EscapeUrl.php    |   1 -
 .../ZF2/library/Zend/View/Helper/HeadLink.php |  12 +-
 .../ZF2/library/Zend/View/Helper/HeadMeta.php |  12 +-
 .../Helper/Navigation/HelperInterface.php     |   1 -
 .../library/Zend/View/Model/ConsoleModel.php  |   2 -
 .../Zend/View/Resolver/AggregateResolver.php  |   1 -
 .../Zend/View/Strategy/FeedStrategy.php       |  13 +-
 .../Zend/View/Strategy/JsonStrategy.php       |  15 +-
 .../View/Strategy/PhpRendererStrategy.php     |   2 -
 vendor/ZF2/library/Zend/View/View.php         |   1 -
 vendor/ZF2/library/Zend/View/composer.json    |   2 +-
 vendor/ZF2/library/Zend/XmlRpc/Server.php     |   2 +-
 .../ZF2/library/Zend/XmlRpc/Value/Boolean.php |   4 +-
 .../library/Zend/XmlRpc/Value/DateTime.php    |   2 +-
 .../ZF2/library/Zend/XmlRpc/Value/Double.php  |   6 +-
 .../ZF2/library/Zend/XmlRpc/Value/Integer.php |   2 +-
 .../ZF2/library/Zend/XmlRpc/Value/String.php  |   4 +-
 vendor/ZF2/library/Zend/XmlRpc/composer.json  |   2 +-
 .../resources/languages/fr/Zend_Validate.php  |  14 +-
 .../resources/languages/tr/Zend_Captcha.php   |  35 +++
 .../resources/languages/tr/Zend_Validate.php  | 279 ++++++++++++++++++
 410 files changed, 2790 insertions(+), 865 deletions(-)
 create mode 100644 vendor/ZF2/library/Zend/Db/Sql/Platform/Mysql/Mysql.php
 create mode 100644 vendor/ZF2/library/Zend/Db/Sql/Platform/Mysql/SelectDecorator.php
 create mode 100644 vendor/ZF2/resources/languages/tr/Zend_Captcha.php
 create mode 100644 vendor/ZF2/resources/languages/tr/Zend_Validate.php

diff --git a/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php b/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php
index 71da1c63266..9f25ec56e6d 100644
--- a/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php
+++ b/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php
@@ -278,7 +278,7 @@ class DbTable implements AdapterInterface
         if (null !== $returnColumns) {
 
             $availableColumns = array_keys($this->resultRow);
-            foreach ((array)$returnColumns as $returnColumn) {
+            foreach ((array) $returnColumns as $returnColumn) {
                 if (in_array($returnColumn, $availableColumns)) {
                     $returnObject->{$returnColumn} = $this->resultRow[$returnColumn];
                 }
@@ -287,7 +287,7 @@ class DbTable implements AdapterInterface
 
         } elseif (null !== $omitColumns) {
 
-            $omitColumns = (array)$omitColumns;
+            $omitColumns = (array) $omitColumns;
             foreach ($this->resultRow as $resultColumn => $resultValue) {
                 if (!in_array($resultColumn, $omitColumns)) {
                     $returnObject->{$resultColumn} = $resultValue;
diff --git a/vendor/ZF2/library/Zend/Authentication/Adapter/Ldap.php b/vendor/ZF2/library/Zend/Authentication/Adapter/Ldap.php
index 68ca09c6273..e374d9e4781 100644
--- a/vendor/ZF2/library/Zend/Authentication/Adapter/Ldap.php
+++ b/vendor/ZF2/library/Zend/Authentication/Adapter/Ldap.php
@@ -386,7 +386,7 @@ class Ldap implements AdapterInterface
                 unset($options[$key]);
                 switch ($key) {
                     case 'groupScope':
-                        $value = (int)$value;
+                        $value = (int) $value;
                         if (in_array($value, array(ZendLdap\Ldap::SEARCH_SCOPE_BASE,
                                 ZendLdap\Ldap::SEARCH_SCOPE_ONE, ZendLdap\Ldap::SEARCH_SCOPE_SUB), true)) {
                            $adapterOptions[$key] = $value;
diff --git a/vendor/ZF2/library/Zend/Authentication/composer.json b/vendor/ZF2/library/Zend/Authentication/composer.json
index 8aa6f490c18..4304fb7c9c5 100644
--- a/vendor/ZF2/library/Zend/Authentication/composer.json
+++ b/vendor/ZF2/library/Zend/Authentication/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Authentication": ""
+            "Zend\\Authentication\\": ""
         }
     },
     "target-dir": "Zend/Authentication",
diff --git a/vendor/ZF2/library/Zend/Barcode/composer.json b/vendor/ZF2/library/Zend/Barcode/composer.json
index 26bb25d9615..c107f08b685 100644
--- a/vendor/ZF2/library/Zend/Barcode/composer.json
+++ b/vendor/ZF2/library/Zend/Barcode/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Barcode": ""
+            "Zend\\Barcode\\": ""
         }
     },
     "target-dir": "Zend/Barcode",
diff --git a/vendor/ZF2/library/Zend/Cache/Pattern/CallbackCache.php b/vendor/ZF2/library/Zend/Cache/Pattern/CallbackCache.php
index fe26293d79e..b0e7db5a008 100644
--- a/vendor/ZF2/library/Zend/Cache/Pattern/CallbackCache.php
+++ b/vendor/ZF2/library/Zend/Cache/Pattern/CallbackCache.php
@@ -11,7 +11,6 @@
 namespace Zend\Cache\Pattern;
 
 use Zend\Cache\Exception;
-use Zend\Cache\StorageFactory;
 use Zend\Stdlib\ErrorHandler;
 
 /**
diff --git a/vendor/ZF2/library/Zend/Cache/Pattern/OutputCache.php b/vendor/ZF2/library/Zend/Cache/Pattern/OutputCache.php
index f9aac0a778e..b077a713df6 100644
--- a/vendor/ZF2/library/Zend/Cache/Pattern/OutputCache.php
+++ b/vendor/ZF2/library/Zend/Cache/Pattern/OutputCache.php
@@ -11,7 +11,6 @@
 namespace Zend\Cache\Pattern;
 
 use Zend\Cache\Exception;
-use Zend\Cache\StorageFactory;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AbstractZendServer.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AbstractZendServer.php
index d5d9ffc921d..e81c10b03f7 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AbstractZendServer.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AbstractZendServer.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Cache\Storage\Adapter;
 
-use ArrayObject;
 use stdClass;
 use Zend\Cache\Exception;
 use Zend\Cache\Storage\Capabilities;
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Apc.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Apc.php
index 939fb588d09..6b8f29500c6 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Apc.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Apc.php
@@ -11,7 +11,6 @@
 namespace Zend\Cache\Storage\Adapter;
 
 use APCIterator as BaseApcIterator;
-use ArrayObject;
 use stdClass;
 use Traversable;
 use Zend\Cache\Exception;
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Dba.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Dba.php
index ef4f2cee874..64299dd9dae 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Dba.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Dba.php
@@ -117,7 +117,7 @@ class Dba extends AbstractAdapter implements
      */
     public function getTotalSpace()
     {
-        if ($this->totalSpace !== null) {
+        if ($this->totalSpace === null) {
             $pathname = $this->getOptions()->getPathname();
 
             if ($pathname === '') {
@@ -125,11 +125,12 @@ class Dba extends AbstractAdapter implements
             }
 
             ErrorHandler::start();
-            $total = disk_total_space($pathname);
+            $total = disk_total_space(dirname($pathname));
             $error = ErrorHandler::stop();
             if ($total === false) {
                 throw new Exception\RuntimeException("Can't detect total space of '{$pathname}'", 0, $error);
             }
+            $this->totalSpace = $total;
 
             // clean total space buffer on change pathname
             $events     = $this->getEventManager();
@@ -142,7 +143,7 @@ class Dba extends AbstractAdapter implements
                     $events->detach($handle);
                 }
             };
-            $handle = $events->attach($callback);
+            $handle = $events->attach('option', $callback);
         }
 
         return $this->totalSpace;
@@ -164,7 +165,7 @@ class Dba extends AbstractAdapter implements
         }
 
         ErrorHandler::start();
-        $avail = disk_free_space($pathname);
+        $avail = disk_free_space(dirname($pathname));
         $error = ErrorHandler::stop();
         if ($avail === false) {
             throw new Exception\RuntimeException("Can't detect free space of '{$pathname}'", 0, $error);
@@ -516,7 +517,7 @@ class Dba extends AbstractAdapter implements
     protected function _close()
     {
         if ($this->handle) {
-            ErrorHandler::start(E_WARNING);
+            ErrorHandler::start(E_NOTICE);
             dba_close($this->handle);
             ErrorHandler::stop();
             $this->handle = null;
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Filesystem.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Filesystem.php
index 4f0f5f38544..41f69c64841 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Filesystem.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Filesystem.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Cache\Storage\Adapter;
 
-use ArrayObject;
 use Exception as BaseException;
 use GlobIterator;
 use stdClass;
@@ -24,7 +23,6 @@ use Zend\Cache\Storage\ClearExpiredInterface;
 use Zend\Cache\Storage\FlushableInterface;
 use Zend\Cache\Storage\IterableInterface;
 use Zend\Cache\Storage\OptimizableInterface;
-use Zend\Cache\Storage\StorageInterface;
 use Zend\Cache\Storage\TaggableInterface;
 use Zend\Cache\Storage\TotalSpaceCapableInterface;
 use Zend\Stdlib\ErrorHandler;
@@ -385,7 +383,7 @@ class Filesystem extends AbstractAdapter implements
      */
     public function getTotalSpace()
     {
-        if ($this->totalSpace !== null) {
+        if ($this->totalSpace === null) {
             $path = $this->getOptions()->getCacheDir();
 
             ErrorHandler::start();
@@ -394,6 +392,7 @@ class Filesystem extends AbstractAdapter implements
             if ($total === false) {
                 throw new Exception\RuntimeException("Can't detect total space of '{$path}'", 0, $error);
             }
+            $this->totalSpace = $total;
 
             // clean total space buffer on change cache_dir
             $events     = $this->getEventManager();
@@ -406,7 +405,7 @@ class Filesystem extends AbstractAdapter implements
                     $events->detach($handle);
                 }
             };
-            $handle = $events->attach($callback);
+            $handle = $events->attach('option', $callback);
         }
 
         return $this->totalSpace;
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memcached.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memcached.php
index e3e7a1a1341..955bd5e08ff 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memcached.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memcached.php
@@ -10,7 +10,8 @@
 
 namespace Zend\Cache\Storage\Adapter;
 
-use ArrayObject;
+use Zend\Cache\Exception\LogicException;
+
 use Memcached as MemcachedResource;
 use stdClass;
 use Traversable;
@@ -39,11 +40,11 @@ class Memcached extends AbstractAdapter implements
     protected static $extMemcachedMajorVersion;
 
     /**
-     * Memcached instance
+     * The memcached resource
      *
      * @var MemcachedResource
      */
-    protected $memcached;
+    protected $memcachedResource;
 
     /**
      * Constructor
@@ -63,53 +64,54 @@ class Memcached extends AbstractAdapter implements
         }
 
         parent::__construct($options);
+    }
+
+    /**
+     * Initialize the internal memcached resource
+     *
+     * @return MemcachedResource
+     */
+    protected function getMemcachedResource()
+    {
+        if ($this->memcachedResource) {
+            return $this->memcachedResource;
+        }
 
-        // It's ok to init the memcached instance as soon as possible because
-        // ext/memcached auto-connects to the server on first use
-        $this->memcached = new MemcachedResource();
         $options = $this->getOptions();
 
-        // set lib options
+        // use a configured resource or a new one
+        $memcached = $options->getMemcachedResource() ?: new MemcachedResource();
+
+        // init lib options
         if (static::$extMemcachedMajorVersion > 1) {
-            $this->memcached->setOptions($options->getLibOptions());
+            $memcached->setOptions($options->getLibOptions());
         } else {
             foreach ($options->getLibOptions() as $k => $v) {
-                $this->memcached->setOption($k, $v);
+                $memcached->setOption($k, $v);
             }
         }
-        $this->memcached->setOption(MemcachedResource::OPT_PREFIX_KEY, $options->getNamespace());
-
-        $servers = $options->getServers();
-        if (!$servers) {
-            $options->addServer('127.0.0.1', 11211);
-            $servers = $options->getServers();
-        }
-        $this->memcached->addServers($servers);
+        $memcached->setOption(MemcachedResource::OPT_PREFIX_KEY, $options->getNamespace());
 
-
-
-        // get notified on change options
-        $memc   = $this->memcached;
-        $memcMV = static::$extMemcachedMajorVersion;
-        $this->getEventManager()->attach('option', function ($event) use ($memc, $memcMV) {
+        // Allow updating namespace
+        $this->getEventManager()->attach('option', function ($event) use ($memcached) {
             $params = $event->getParams();
-
-            if (isset($params['lib_options'])) {
-                if ($memcMV > 1) {
-                    $memc->setOptions($params['lib_options']);
-                } else {
-                    foreach ($params['lib_options'] as $k => $v) {
-                        $memc->setOption($k, $v);
-                    }
-                }
+            if (!isset($params['namespace'])) {
+                // Cannot set lib options after initialization
+                return;
             }
+            $memcached->setOption(MemcachedResource::OPT_PREFIX_KEY, $params['namespace']);
+        });
 
-            if (isset($params['namespace'])) {
-                $memc->setOption(MemcachedResource::OPT_PREFIX_KEY, $params['namespace']);
-            }
+        // init servers
+        $servers = $options->getServers();
+        if ($servers) {
+            $memcached->addServers($servers);
+        }
 
-            // TODO: update on change/add server(s)
-        });
+        // use the initialized resource
+        $this->memcachedResource = $memcached;
+
+        return $this->memcachedResource;
     }
 
     /* options */
@@ -153,8 +155,9 @@ class Memcached extends AbstractAdapter implements
      */
     public function flush()
     {
-        if (!$this->memcached->flush()) {
-            throw $this->getExceptionByResultCode($this->memcached->getResultCode());
+        $memc = $this->getMemcachedResource();
+        if (!$memc->flush()) {
+            throw $this->getExceptionByResultCode($memc->getResultCode());
         }
         return true;
     }
@@ -168,9 +171,10 @@ class Memcached extends AbstractAdapter implements
      */
     public function getTotalSpace()
     {
-        $stats = $this->memcached->getStats();
+        $memc  = $this->getMemcachedResource();
+        $stats = $memc->getStats();
         if ($stats === false) {
-            throw new Exception\RuntimeException($this->memcached->getResultMessage());
+            throw new Exception\RuntimeException($memc->getResultMessage());
         }
 
         $mem = array_pop($stats);
@@ -186,9 +190,10 @@ class Memcached extends AbstractAdapter implements
      */
     public function getAvailableSpace()
     {
-        $stats = $this->memcached->getStats();
+        $memc  = $this->getMemcachedResource();
+        $stats = $memc->getStats();
         if ($stats === false) {
-            throw new Exception\RuntimeException($this->memcached->getResultMessage());
+            throw new Exception\RuntimeException($memc->getResultMessage());
         }
 
         $mem = array_pop($stats);
@@ -208,15 +213,17 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalGetItem(& $normalizedKey, & $success = null, & $casToken = null)
     {
+        $memc = $this->getMemcachedResource();
+
         if (func_num_args() > 2) {
-            $result = $this->memcached->get($normalizedKey, null, $casToken);
+            $result = $memc->get($normalizedKey, null, $casToken);
         } else {
-            $result = $this->memcached->get($normalizedKey);
+            $result = $memc->get($normalizedKey);
         }
 
         $success = true;
         if ($result === false || $result === null) {
-            $rsCode = $this->memcached->getResultCode();
+            $rsCode = $memc->getResultCode();
             if ($rsCode == MemcachedResource::RES_NOTFOUND) {
                 $result = null;
                 $success = false;
@@ -238,9 +245,10 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalGetItems(array & $normalizedKeys)
     {
-        $result = $this->memcached->getMulti($normalizedKeys);
+        $memc   = $this->getMemcachedResource();
+        $result = $memc->getMulti($normalizedKeys);
         if ($result === false) {
-            throw $this->getExceptionByResultCode($this->memcached->getResultCode());
+            throw $this->getExceptionByResultCode($memc->getResultCode());
         }
 
         return $result;
@@ -255,9 +263,10 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalHasItem(& $normalizedKey)
     {
-        $value = $this->memcached->get($normalizedKey);
+        $memc  = $this->getMemcachedResource();
+        $value = $memc->get($normalizedKey);
         if ($value === false || $value === null) {
-            $rsCode = $this->memcached->getResultCode();
+            $rsCode = $memc->getResultCode();
             if ($rsCode == MemcachedResource::RES_SUCCESS) {
                 return true;
             } elseif ($rsCode == MemcachedResource::RES_NOTFOUND) {
@@ -279,9 +288,10 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalHasItems(array & $normalizedKeys)
     {
-        $result = $this->memcached->getMulti($normalizedKeys);
+        $memc   = $this->getMemcachedResource();
+        $result = $memc->getMulti($normalizedKeys);
         if ($result === false) {
-            throw $this->getExceptionByResultCode($this->memcached->getResultCode());
+            throw $this->getExceptionByResultCode($memc->getResultCode());
         }
 
         return array_keys($result);
@@ -296,9 +306,10 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalGetMetadatas(array & $normalizedKeys)
     {
-        $result = $this->memcached->getMulti($normalizedKeys);
+        $memc   = $this->getMemcachedResource();
+        $result = $memc->getMulti($normalizedKeys);
         if ($result === false) {
-            throw $this->getExceptionByResultCode($this->memcached->getResultCode());
+            throw $this->getExceptionByResultCode($memc->getResultCode());
         }
 
         foreach ($result as & $value) {
@@ -320,9 +331,10 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalSetItem(& $normalizedKey, & $value)
     {
+        $memc       = $this->getMemcachedResource();
         $expiration = $this->expirationTime();
-        if (!$this->memcached->set($normalizedKey, $value, $expiration)) {
-            throw $this->getExceptionByResultCode($this->memcached->getResultCode());
+        if (!$memc->set($normalizedKey, $value, $expiration)) {
+            throw $this->getExceptionByResultCode($memc->getResultCode());
         }
 
         return true;
@@ -337,9 +349,10 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalSetItems(array & $normalizedKeyValuePairs)
     {
+        $memc       = $this->getMemcachedResource();
         $expiration = $this->expirationTime();
-        if (!$this->memcached->setMulti($normalizedKeyValuePairs, $expiration)) {
-            throw $this->getExceptionByResultCode($this->memcached->getResultCode());
+        if (!$memc->setMulti($normalizedKeyValuePairs, $expiration)) {
+            throw $this->getExceptionByResultCode($memc->getResultCode());
         }
 
         return array();
@@ -355,12 +368,13 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalAddItem(& $normalizedKey, & $value)
     {
+        $memc       = $this->getMemcachedResource();
         $expiration = $this->expirationTime();
-        if (!$this->memcached->add($normalizedKey, $value, $expiration)) {
-            if ($this->memcached->getResultCode() == MemcachedResource::RES_NOTSTORED) {
+        if (!$memc->add($normalizedKey, $value, $expiration)) {
+            if ($memc->getResultCode() == MemcachedResource::RES_NOTSTORED) {
                 return false;
             }
-            throw $this->getExceptionByResultCode($this->memcached->getResultCode());
+            throw $this->getExceptionByResultCode($memc->getResultCode());
         }
 
         return true;
@@ -376,12 +390,14 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalReplaceItem(& $normalizedKey, & $value)
     {
+        $memc       = $this->getMemcachedResource();
         $expiration = $this->expirationTime();
-        if (!$this->memcached->replace($normalizedKey, $value, $expiration)) {
-            if ($this->memcached->getResultCode() == MemcachedResource::RES_NOTSTORED) {
+        if (!$memc->replace($normalizedKey, $value, $expiration)) {
+            $rsCode = $memc->getResultCode();
+            if ($rsCode == MemcachedResource::RES_NOTSTORED) {
                 return false;
             }
-            throw $this->getExceptionByResultCode($this->memcached->getResultCode());
+            throw $this->getExceptionByResultCode($rsCode);
         }
 
         return true;
@@ -400,11 +416,12 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalCheckAndSetItem(& $token, & $normalizedKey, & $value)
     {
+        $memc       = $this->getMemcachedResource();
         $expiration = $this->expirationTime();
-        $result     = $this->memcached->cas($token, $normalizedKey, $value, $expiration);
+        $result     = $memc->cas($token, $normalizedKey, $value, $expiration);
 
         if ($result === false) {
-            $rsCode = $this->memcached->getResultCode();
+            $rsCode = $memc->getResultCode();
             if ($rsCode !== 0 && $rsCode != MemcachedResource::RES_DATA_EXISTS) {
                 throw $this->getExceptionByResultCode($rsCode);
             }
@@ -423,10 +440,11 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalRemoveItem(& $normalizedKey)
     {
-        $result = $this->memcached->delete($normalizedKey);
+        $memc   = $this->getMemcachedResource();
+        $result = $memc->delete($normalizedKey);
 
         if ($result === false) {
-            $rsCode = $this->memcached->getResultCode();
+            $rsCode = $memc->getResultCode();
             if ($rsCode == MemcachedResource::RES_NOTFOUND) {
                 return false;
             } elseif ($rsCode != MemcachedResource::RES_SUCCESS) {
@@ -451,7 +469,8 @@ class Memcached extends AbstractAdapter implements
             return parent::internalRemoveItems($normalizedKeys);
         }
 
-        $rsCodes = $this->memcached->deleteMulti($normalizedKeys);
+        $memc    = $this->getMemcachedResource();
+        $rsCodes = $memc->deleteMulti($normalizedKeys);
 
         $missingKeys = array();
         foreach ($rsCodes as $key => $rsCode) {
@@ -476,17 +495,18 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalIncrementItem(& $normalizedKey, & $value)
     {
-        $value    = (int)$value;
-        $newValue = $this->memcached->increment($normalizedKey, $value);
+        $memc     = $this->getMemcachedResource();
+        $value    = (int) $value;
+        $newValue = $memc->increment($normalizedKey, $value);
 
         if ($newValue === false) {
-            $rsCode = $this->memcached->getResultCode();
+            $rsCode = $memc->getResultCode();
 
             // initial value
             if ($rsCode == MemcachedResource::RES_NOTFOUND) {
                 $newValue = $value;
-                $this->memcached->add($normalizedKey, $newValue, $this->expirationTime());
-                $rsCode = $this->memcached->getResultCode();
+                $memc->add($normalizedKey, $newValue, $this->expirationTime());
+                $rsCode = $memc->getResultCode();
             }
 
             if ($rsCode) {
@@ -507,17 +527,18 @@ class Memcached extends AbstractAdapter implements
      */
     protected function internalDecrementItem(& $normalizedKey, & $value)
     {
+        $memc     = $this->getMemcachedResource();
         $value    = (int)$value;
-        $newValue = $this->memcached->decrement($normalizedKey, $value);
+        $newValue = $memc->decrement($normalizedKey, $value);
 
         if ($newValue === false) {
-            $rsCode = $this->memcached->getResultCode();
+            $rsCode = $memc->getResultCode();
 
             // initial value
             if ($rsCode == MemcachedResource::RES_NOTFOUND) {
                 $newValue = -$value;
-                $this->memcached->add($normalizedKey, $newValue, $this->expirationTime());
-                $rsCode = $this->memcached->getResultCode();
+                $memc->add($normalizedKey, $newValue, $this->expirationTime());
+                $rsCode = $memc->getResultCode();
             }
 
             if ($rsCode) {
@@ -610,7 +631,7 @@ class Memcached extends AbstractAdapter implements
                 );
 
             default:
-                return new Exception\RuntimeException($this->memcached->getResultMessage());
+                return new Exception\RuntimeException($this->getMemcachedResource()->getResultMessage());
         }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemcachedOptions.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemcachedOptions.php
index e857350233b..4c8c33fb4df 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemcachedOptions.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemcachedOptions.php
@@ -10,8 +10,8 @@
 
 namespace Zend\Cache\Storage\Adapter;
 
+use Memcached as MemcachedResource;
 use Zend\Cache\Exception;
-use Zend\Validator\Hostname;
 
 /**
  * These are options specific to the APC adapter
@@ -22,16 +22,28 @@ use Zend\Validator\Hostname;
  */
 class MemcachedOptions extends AdapterOptions
 {
+    /**
+     * A memcached resource to share
+     *
+     * @var null|MemcachedResource
+     */
+    protected $memcachedResource;
 
     /**
-     * Memcached server address
+     * List of memcached servers to add on initialize
      *
      * @var string
      */
-    protected $servers = array();
+    protected $servers = array(
+        array(
+            'host'   => '127.0.0.1',
+            'port'   => 11211,
+            'weight' => 0,
+        ),
+    );
 
     /**
-     * Libmemcached options
+     * List of Libmemcached options to set on initialize
      *
      * @var array
      */
@@ -61,53 +73,132 @@ class MemcachedOptions extends AdapterOptions
     }
 
     /**
-     * Add Server
+     * A memcached resource to share
      *
-     * @param string $host
-     * @param int $port
+     * @param null|MemcachedResource $memcachedResource
      * @return MemcachedOptions
-     * @throws Exception\InvalidArgumentException
      */
-    public function addServer($host, $port = 11211)
+    public function setMemcachedResource(MemcachedResource $memcachedResource = null)
     {
-        $hostNameValidator = new Hostname(array('allow' => Hostname::ALLOW_ALL));
-        if (!$hostNameValidator->isValid($host)) {
-            throw new Exception\InvalidArgumentException(sprintf(
-                 '%s expects a valid hostname: %s',
-                 __METHOD__,
-                 implode("\n", $hostNameValidator->getMessages())
-            ));
+        if ($this->memcachedResource !== $memcachedResource) {
+            $this->triggerOptionEvent('memcached_resource', $memcachedResource);
+            $this->memcachedResource = $memcachedResource;
         }
+        return $this;
+    }
 
-        if (!is_numeric($port) || $port <= 0) {
-            throw new Exception\InvalidArgumentException(sprintf(
-                '%s expects a positive integer', __METHOD__
-            ));
+    /**
+     * Get memcached resource to share
+     *
+     * @return null|MemcachedResource
+     */
+    public function getMemcachedResource()
+    {
+        return $this->memcachedResource;
+    }
+
+    /**
+     * Add a server to the list
+     *
+     * @param  string $host
+     * @param  int $port
+     * @param  int $weight
+     * @return MemcachedOptions
+     */
+    public function addServer($host, $port = 11211, $weight = 0)
+    {
+        $new = array(
+            'host'   => $host,
+            'port'   => $port,
+            'weight' => $weight
+        );
+
+        foreach ($this->servers as $server) {
+            $diff = array_diff($new, $server);
+            if (empty($diff)) {
+                // Done -- server is already present
+                return $this;
+            }
         }
 
-        $this->servers[] = array($host, $port);
+        $this->servers[] = $new;
         return $this;
     }
 
     /**
-     * Set Servers
+     * Set a list of memcached servers to add on initialize
      *
-     * @param array $servers list of servers in [] = array($host, $port)
+     * @param string|array $servers list of servers
      * @return MemcachedOptions
      * @throws Exception\InvalidArgumentException
      */
-    public function setServers(array $servers)
+    public function setServers($servers)
     {
+        if (!is_array($servers)) {
+            return $this->setServers(explode(',', $servers));
+        }
+
+        $this->servers = array();
         foreach ($servers as $server) {
-            if (!isset($server[0])) {
-                throw new Exception\InvalidArgumentException('The servers array must contain a host value.');
+            // default values
+            $host   = null;
+            $port   = 11211;
+            $weight = 1;
+
+            if (!is_array($server) && !is_string($server)) {
+                throw new Exception\InvalidArgumentException('Invalid server specification provided; must be an array or string');
+            }
+
+            // parse a single server from an array
+            if (is_array($server)) {
+                if (!isset($server[0]) && !isset($server['host'])) {
+                    throw new Exception\InvalidArgumentException("Invalid list of servers given");
+                }
+
+                // array(array(<host>[, <port>[, <weight>]])[, ...])
+                if (isset($server[0])) {
+                    $host   = (string) $server[0];
+                    $port   = isset($server[1]) ? (int) $server[1] : $port;
+                    $weight = isset($server[2]) ? (int) $server[2] : $weight;
+                }
+
+                // array(array('host' => <host>[, 'port' => <port>[, 'weight' => <weight>]])[, ...])
+                if (!isset($server[0]) && isset($server['host'])) {
+                    $host   = (string)$server['host'];
+                    $port   = isset($server['port'])   ? (int) $server['port']   : $port;
+                    $weight = isset($server['weight']) ? (int) $server['weight'] : $weight;
+                }
             }
 
-            if (!isset($server[1])) {
-                $this->addServer($server[0]);
-            } else {
-                $this->addServer($server[0], $server[1]);
+            // parse a single server from a string
+            if (!is_array($server)) {
+                $server = trim($server);
+                if (strpos($server, '://') === false) {
+                    $server = 'tcp://' . $server;
+                }
+
+                $server = parse_url($server);
+                if (!$server) {
+                    throw new Exception\InvalidArgumentException("Invalid list of servers given");
+                }
+
+                $host = $server['host'];
+                $port = isset($server['port']) ? (int)$server['port'] : $port;
+
+                if (isset($server['query'])) {
+                    $query = null;
+                    parse_str($server['query'], $query);
+                    if (isset($query['weight'])) {
+                        $weight = (int)$query['weight'];
+                    }
+                }
             }
+
+            if (!$host) {
+                throw new Exception\InvalidArgumentException('The list of servers must contain a host value.');
+            }
+
+            $this->addServer($host, $port, $weight);
         }
 
         return $this;
@@ -139,7 +230,7 @@ class MemcachedOptions extends AdapterOptions
         }
 
         $this->triggerOptionEvent('lib_options', $normalizedOptions);
-        $this->libOptions = array_merge($this->libOptions, $normalizedOptions);
+        $this->libOptions = array_diff_key($this->libOptions, $normalizedOptions) + $normalizedOptions;
 
         return $this;
     }
@@ -206,5 +297,4 @@ class MemcachedOptions extends AdapterOptions
             $key = (int) $key;
         }
     }
-
 }
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memory.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memory.php
index ba462e71773..25251623d27 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memory.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memory.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Cache\Storage\Adapter;
 
-use ArrayObject;
 use stdClass;
 use Zend\Cache\Exception;
 use Zend\Cache\Storage\AvailableSpaceCapableInterface;
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemoryOptions.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemoryOptions.php
index 21bb4cc9f94..c290d3123d5 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemoryOptions.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemoryOptions.php
@@ -66,7 +66,7 @@ class MemoryOptions extends AdapterOptions
             // By default use half of PHP's memory limit if possible
             $memoryLimit = $this->normalizeMemoryLimit(ini_get('memory_limit'));
             if ($memoryLimit >= 0) {
-                $this->memoryLimit = (int)($memoryLimit / 2);
+                $this->memoryLimit = (int) ($memoryLimit / 2);
             } else {
                 // disable memory limit
                 $this->memoryLimit = 0;
@@ -86,7 +86,7 @@ class MemoryOptions extends AdapterOptions
     protected function normalizeMemoryLimit($value)
     {
         if (is_numeric($value)) {
-            return (int)$value;
+            return (int) $value;
         }
 
         if (!preg_match('/(\-?\d+)\s*(\w*)/', ini_get('memory_limit'), $matches)) {
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/WinCache.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/WinCache.php
index bfe8bf9af3f..c81177d20ca 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/WinCache.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/WinCache.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Cache\Storage\Adapter;
 
-use ArrayObject;
 use stdClass;
 use Traversable;
 use Zend\Cache\Exception;
@@ -413,7 +412,7 @@ class WinCache extends AbstractAdapter implements
         $options     = $this->getOptions();
         $prefix      = $options->getNamespace() . $options->getNamespaceSeparator();
         $internalKey = $prefix . $normalizedKey;
-        return wincache_ucache_inc($internalKey, (int)$value);
+        return wincache_ucache_inc($internalKey, (int) $value);
     }
 
     /**
@@ -429,7 +428,7 @@ class WinCache extends AbstractAdapter implements
         $options     = $this->getOptions();
         $prefix      = $options->getNamespace() . $options->getNamespaceSeparator();
         $internalKey = $prefix . $normalizedKey;
-        return wincache_ucache_dec($internalKey, (int)$value);
+        return wincache_ucache_dec($internalKey, (int) $value);
     }
 
     /* status */
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/WinCacheOptions.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/WinCacheOptions.php
index 32569a62856..5b6333a43ec 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/WinCacheOptions.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/WinCacheOptions.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Cache\Storage\Adapter;
 
-use Zend\Cache\Exception;
 
 /**
  * These are options specific to the APC adapter
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerDisk.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerDisk.php
index 82c09feb5d8..b33aef951b3 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerDisk.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerDisk.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Cache\Storage\Adapter;
 
-use ArrayObject;
 use Zend\Cache\Exception;
 use Zend\Cache\Storage\AvailableSpaceCapableInterface;
 use Zend\Cache\Storage\ClearByNamespaceInterface;
@@ -154,7 +153,7 @@ class ZendServerDisk extends AbstractZendServer implements
      */
     protected function zdcFetch($internalKey)
     {
-        return zend_disk_cache_fetch((string)$internalKey);
+        return zend_disk_cache_fetch((string) $internalKey);
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerShm.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerShm.php
index d20b6c99555..1c9633d738d 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerShm.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerShm.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Cache\Storage\Adapter;
 
-use ArrayObject;
 use Zend\Cache\Exception;
 use Zend\Cache\Storage\ClearByNamespaceInterface;
 use Zend\Cache\Storage\FlushableInterface;
@@ -111,7 +110,7 @@ class ZendServerShm extends AbstractZendServer implements
      */
     protected function zdcFetch($internalKey)
     {
-        return zend_shm_cache_fetch((string)$internalKey);
+        return zend_shm_cache_fetch((string) $internalKey);
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/ClearExpiredByFactor.php b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/ClearExpiredByFactor.php
index 0fdbec2ea50..70bebd72120 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/ClearExpiredByFactor.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/ClearExpiredByFactor.php
@@ -10,11 +10,9 @@
 
 namespace Zend\Cache\Storage\Plugin;
 
-use Traversable;
 use Zend\Cache\Exception;
 use Zend\Cache\Storage\ClearExpiredInterface;
 use Zend\Cache\Storage\PostEvent;
-use Zend\Cache\Storage\StorageInterface;
 use Zend\EventManager\EventManagerInterface;
 
 /**
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/ExceptionHandler.php b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/ExceptionHandler.php
index b70fdd85c00..d85b135d5d4 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/ExceptionHandler.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/ExceptionHandler.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Cache\Storage\Plugin;
 
-use Traversable;
 use Zend\Cache\Exception;
 use Zend\Cache\Storage\ExceptionEvent;
 use Zend\EventManager\EventManagerInterface;
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/OptimizeByFactor.php b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/OptimizeByFactor.php
index aa09ae1de8c..1d9582b295a 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/OptimizeByFactor.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/OptimizeByFactor.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Cache\Storage\Plugin;
 
-use Traversable;
 use Zend\Cache\Exception;
 use Zend\Cache\Storage\OptimizableInterface;
 use Zend\Cache\Storage\PostEvent;
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/Serializer.php b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/Serializer.php
index c90d860770d..93b0ad446ec 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/Serializer.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/Serializer.php
@@ -11,7 +11,6 @@
 namespace Zend\Cache\Storage\Plugin;
 
 use stdClass;
-use Traversable;
 use Zend\Cache\Exception;
 use Zend\Cache\Storage\Capabilities;
 use Zend\Cache\Storage\Event;
diff --git a/vendor/ZF2/library/Zend/Cache/StorageFactory.php b/vendor/ZF2/library/Zend/Cache/StorageFactory.php
index a55227c2990..329874dd704 100644
--- a/vendor/ZF2/library/Zend/Cache/StorageFactory.php
+++ b/vendor/ZF2/library/Zend/Cache/StorageFactory.php
@@ -73,7 +73,7 @@ class StorageFactory
             $adapterOptions = array_merge($adapterOptions, $cfg['options']);
         }
 
-        $adapter = static::adapterFactory((string)$adapterName, $adapterOptions);
+        $adapter = static::adapterFactory((string) $adapterName, $adapterOptions);
 
         // add plugins
         if (isset($cfg['plugins'])) {
diff --git a/vendor/ZF2/library/Zend/Cache/composer.json b/vendor/ZF2/library/Zend/Cache/composer.json
index 6d1eca879b6..bd61b5a3cb8 100644
--- a/vendor/ZF2/library/Zend/Cache/composer.json
+++ b/vendor/ZF2/library/Zend/Cache/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Cache": ""
+            "Zend\\Cache\\": ""
         }
     },
     "target-dir": "Zend/Cache",
diff --git a/vendor/ZF2/library/Zend/Captcha/ReCaptcha.php b/vendor/ZF2/library/Zend/Captcha/ReCaptcha.php
index cc61a34bdd1..d87f1c8a613 100644
--- a/vendor/ZF2/library/Zend/Captcha/ReCaptcha.php
+++ b/vendor/ZF2/library/Zend/Captcha/ReCaptcha.php
@@ -11,7 +11,6 @@
 namespace Zend\Captcha;
 
 use Traversable;
-use Zend\Form\Element;
 use ZendService\ReCaptcha\ReCaptcha as ReCaptchaService;
 
 /**
diff --git a/vendor/ZF2/library/Zend/Captcha/composer.json b/vendor/ZF2/library/Zend/Captcha/composer.json
index b79129317a9..aa3ef5c7c52 100644
--- a/vendor/ZF2/library/Zend/Captcha/composer.json
+++ b/vendor/ZF2/library/Zend/Captcha/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Captcha": ""
+            "Zend\\Captcha\\": ""
         }
     },
     "target-dir": "Zend/Captcha",
diff --git a/vendor/ZF2/library/Zend/Code/Generator/BodyGenerator.php b/vendor/ZF2/library/Zend/Code/Generator/BodyGenerator.php
index 101ffedc765..87616769fe7 100644
--- a/vendor/ZF2/library/Zend/Code/Generator/BodyGenerator.php
+++ b/vendor/ZF2/library/Zend/Code/Generator/BodyGenerator.php
@@ -41,7 +41,7 @@ class BodyGenerator extends AbstractGenerator
      */
     public function getContent()
     {
-        return (string)$this->content;
+        return (string) $this->content;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Code/Reflection/DocBlockReflection.php b/vendor/ZF2/library/Zend/Code/Reflection/DocBlockReflection.php
index 5dc7c4c0183..bed98a9c51c 100644
--- a/vendor/ZF2/library/Zend/Code/Reflection/DocBlockReflection.php
+++ b/vendor/ZF2/library/Zend/Code/Reflection/DocBlockReflection.php
@@ -11,7 +11,6 @@
 namespace Zend\Code\Reflection;
 
 use Reflector;
-use Zend\Code\Annotation\AnnotationManager;
 use Zend\Code\Scanner\DocBlockScanner;
 
 /**
diff --git a/vendor/ZF2/library/Zend/Code/Scanner/ClassScanner.php b/vendor/ZF2/library/Zend/Code/Scanner/ClassScanner.php
index 000b6346bd0..241cf868021 100644
--- a/vendor/ZF2/library/Zend/Code/Scanner/ClassScanner.php
+++ b/vendor/ZF2/library/Zend/Code/Scanner/ClassScanner.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Code\Scanner;
 
-use Zend\Code\Annotation\AnnotationManager;
 use Zend\Code\Exception;
 use Zend\Code\NameInformation;
 
diff --git a/vendor/ZF2/library/Zend/Code/Scanner/TokenArrayScanner.php b/vendor/ZF2/library/Zend/Code/Scanner/TokenArrayScanner.php
index 110f7ff4ac2..7ceb950c6a0 100644
--- a/vendor/ZF2/library/Zend/Code/Scanner/TokenArrayScanner.php
+++ b/vendor/ZF2/library/Zend/Code/Scanner/TokenArrayScanner.php
@@ -584,10 +584,6 @@ class TokenArrayScanner implements ScannerInterface
             }
         }
 
-        if (!$namespaces) {
-            return array();
-        }
-
         if ($namespace === null) {
             $namespace = array_shift($namespaces);
         } elseif (!is_string($namespace)) {
diff --git a/vendor/ZF2/library/Zend/Code/composer.json b/vendor/ZF2/library/Zend/Code/composer.json
index a48a410a1cc..801ad4ed507 100644
--- a/vendor/ZF2/library/Zend/Code/composer.json
+++ b/vendor/ZF2/library/Zend/Code/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Code": ""
+            "Zend\\Code\\": ""
         }
     },
     "target-dir": "Zend/Code",
diff --git a/vendor/ZF2/library/Zend/Config/Config.php b/vendor/ZF2/library/Zend/Config/Config.php
index 11ec75990f3..9456ca774fd 100644
--- a/vendor/ZF2/library/Zend/Config/Config.php
+++ b/vendor/ZF2/library/Zend/Config/Config.php
@@ -13,7 +13,6 @@ namespace Zend\Config;
 use ArrayAccess;
 use Countable;
 use Iterator;
-use Zend\Stdlib\ArrayUtils;
 
 /**
  * Provides a property based interface to an array.
diff --git a/vendor/ZF2/library/Zend/Config/composer.json b/vendor/ZF2/library/Zend/Config/composer.json
index 8009b6abf3d..f0a518cda3b 100644
--- a/vendor/ZF2/library/Zend/Config/composer.json
+++ b/vendor/ZF2/library/Zend/Config/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Config": ""
+            "Zend\\Config\\": ""
         }
     },
     "target-dir": "Zend/Config",
diff --git a/vendor/ZF2/library/Zend/Console/Adapter/Posix.php b/vendor/ZF2/library/Zend/Console/Adapter/Posix.php
index d73dcb5d77c..c43275432f2 100644
--- a/vendor/ZF2/library/Zend/Console/Adapter/Posix.php
+++ b/vendor/ZF2/library/Zend/Console/Adapter/Posix.php
@@ -111,7 +111,7 @@ class Posix extends AbstractAdapter
          * Try to read env variable
          */
         if (($result = getenv('COLUMNS')) !== false) {
-            return $width = (int)$result;
+            return $width = (int) $result;
         }
 
         /**
@@ -119,7 +119,7 @@ class Posix extends AbstractAdapter
          */
         $result = exec('tput cols', $output, $return);
         if (!$return && is_numeric($result)) {
-            return $width = (int)$result;
+            return $width = (int) $result;
         }
 
         return $width = parent::getWidth();
@@ -145,7 +145,7 @@ class Posix extends AbstractAdapter
         // Try to read console size from "tput" command
         $result = exec('tput lines', $output, $return);
         if (!$return && is_numeric($result)) {
-            return $height = (int)$result;
+            return $height = (int) $result;
         }
 
         return $height = parent::getHeight();
diff --git a/vendor/ZF2/library/Zend/Console/Adapter/Windows.php b/vendor/ZF2/library/Zend/Console/Adapter/Windows.php
index d8991ca96cd..e35984c29ab 100644
--- a/vendor/ZF2/library/Zend/Console/Adapter/Windows.php
+++ b/vendor/ZF2/library/Zend/Console/Adapter/Windows.php
@@ -85,7 +85,7 @@ class Windows extends Virtual
         }
 
         if (count($this->probeResult) && (int) $this->probeResult[1]) {
-            $height = (int)$this->probeResult[1];
+            $height = (int) $this->probeResult[1];
         } else {
             $height = parent::getheight();
         }
diff --git a/vendor/ZF2/library/Zend/Console/Getopt.php b/vendor/ZF2/library/Zend/Console/Getopt.php
index 5308b7f06f7..0de0fcdaae8 100644
--- a/vendor/ZF2/library/Zend/Console/Getopt.php
+++ b/vendor/ZF2/library/Zend/Console/Getopt.php
@@ -230,7 +230,7 @@ class Getopt
             $argv = array_slice($_SERVER['argv'], 1);
         }
         if (isset($argv)) {
-            $this->addArguments((array)$argv);
+            $this->addArguments((array) $argv);
         }
     }
 
diff --git a/vendor/ZF2/library/Zend/Console/Prompt/Number.php b/vendor/ZF2/library/Zend/Console/Prompt/Number.php
index 0377c1a2531..75800cd0fa7 100644
--- a/vendor/ZF2/library/Zend/Console/Prompt/Number.php
+++ b/vendor/ZF2/library/Zend/Console/Prompt/Number.php
@@ -110,7 +110,7 @@ class Number extends Line
          * Cast proper type
          */
         if ($number !== null) {
-            $number = $this->allowFloat ? (double)$number : (int)$number;
+            $number = $this->allowFloat ? (double) $number : (int) $number;
         }
 
         return $this->lastResponse = $number;
diff --git a/vendor/ZF2/library/Zend/Console/composer.json b/vendor/ZF2/library/Zend/Console/composer.json
index a833834b3e9..bb284f6134b 100644
--- a/vendor/ZF2/library/Zend/Console/composer.json
+++ b/vendor/ZF2/library/Zend/Console/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Console": ""
+            "Zend\\Console\\": ""
         }
     },
     "target-dir": "Zend/Console",
diff --git a/vendor/ZF2/library/Zend/Crypt/Password/Bcrypt.php b/vendor/ZF2/library/Zend/Crypt/Password/Bcrypt.php
index b80ab500cfe..e8dc522723d 100644
--- a/vendor/ZF2/library/Zend/Crypt/Password/Bcrypt.php
+++ b/vendor/ZF2/library/Zend/Crypt/Password/Bcrypt.php
@@ -11,7 +11,6 @@
 namespace Zend\Crypt\Password;
 
 use Traversable;
-use Zend\Math\Exception as MathException;
 use Zend\Math\Rand;
 use Zend\Stdlib\ArrayUtils;
 
@@ -125,7 +124,7 @@ class Bcrypt implements PasswordInterface
     public function setCost($cost)
     {
         if (!empty($cost)) {
-            $cost = (int)$cost;
+            $cost = (int) $cost;
             if ($cost < 4 || $cost > 31) {
                 throw new Exception\InvalidArgumentException(
                     'The cost parameter of bcrypt must be in range 04-31'
diff --git a/vendor/ZF2/library/Zend/Crypt/PublicKey/RsaOptions.php b/vendor/ZF2/library/Zend/Crypt/PublicKey/RsaOptions.php
index 75613f0c06e..45957a85aca 100644
--- a/vendor/ZF2/library/Zend/Crypt/PublicKey/RsaOptions.php
+++ b/vendor/ZF2/library/Zend/Crypt/PublicKey/RsaOptions.php
@@ -10,10 +10,8 @@
 
 namespace Zend\Crypt\PublicKey;
 
-use Traversable;
 use Zend\Crypt\PublicKey\Rsa\Exception;
 use Zend\Stdlib\AbstractOptions;
-use Zend\Stdlib\ArrayUtils;
 
 /**
  * RSA instance options
diff --git a/vendor/ZF2/library/Zend/Crypt/composer.json b/vendor/ZF2/library/Zend/Crypt/composer.json
index f752bb0b3a2..9ce29481373 100644
--- a/vendor/ZF2/library/Zend/Crypt/composer.json
+++ b/vendor/ZF2/library/Zend/Crypt/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Crypt": ""
+            "Zend\\Crypt\\": ""
         }
     },
     "target-dir": "Zend/Crypt",
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/AdapterAwareInterface.php b/vendor/ZF2/library/Zend/Db/Adapter/AdapterAwareInterface.php
index 3f948876709..7d4e63c6737 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/AdapterAwareInterface.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/AdapterAwareInterface.php
@@ -17,5 +17,11 @@ namespace Zend\Db\Adapter;
  */
 interface AdapterAwareInterface
 {
+    /**
+     * Set db adapter
+     *
+     * @param Adapter $adapter
+     * @return AdapterAwareInterface
+     */
     public function setDbAdapter(Adapter $adapter);
 }
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/AdapterServiceFactory.php b/vendor/ZF2/library/Zend/Db/Adapter/AdapterServiceFactory.php
index 492a8df53c8..5969bccc2fb 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/AdapterServiceFactory.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/AdapterServiceFactory.php
@@ -20,9 +20,15 @@ use Zend\ServiceManager\ServiceLocatorInterface;
  */
 class AdapterServiceFactory implements FactoryInterface
 {
+    /**
+     * Create db adapter service
+     *
+     * @param ServiceLocatorInterface $serviceLocator
+     * @return Adapter
+     */
     public function createService(ServiceLocatorInterface $serviceLocator)
     {
-        $config = $serviceLocator->get('Configuration');
+        $config = $serviceLocator->get('Config');
         return new Adapter($config['db']);
     }
 }
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/ConnectionInterface.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/ConnectionInterface.php
index 6c7f967a581..b6acd91d24e 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/ConnectionInterface.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/ConnectionInterface.php
@@ -17,14 +17,75 @@ namespace Zend\Db\Adapter\Driver;
  */
 interface ConnectionInterface
 {
+    /**
+     * Get current schema
+     *
+     * @return string
+     */
     public function getCurrentSchema();
+
+    /**
+     * Get resource
+     *
+     * @return mixed
+     */
     public function getResource();
+
+    /**
+     * Connect
+     *
+     * @return ConnectionInterface
+     */
     public function connect();
+
+    /**
+     * Is connected
+     *
+     * @return bool
+     */
     public function isConnected();
+
+    /**
+     * Disconnect
+     *
+     * @return ConnectionInterface
+     */
     public function disconnect();
+
+    /**
+     * Begin transaction
+     *
+     * @return ConnectionInterface
+     */
     public function beginTransaction();
+
+    /**
+     * Commit
+     *
+     * @return ConnectionInterface
+     */
     public function commit();
+
+    /**
+     * Rollback
+     *
+     * @return ConnectionInterface
+     */
     public function rollback();
-    public function execute($sql); // return result set
+
+    /**
+     * Execute
+     *
+     * @param  string $sql
+     * @return ResultInterface
+     */
+    public function execute($sql);
+
+    /**
+     * Get last generated id
+     *
+     * @param  null $name Ignored
+     * @return integer
+     */
     public function getLastGeneratedValue($name = null);
 }
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/DriverInterface.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/DriverInterface.php
index c99ef8d9208..6da579647d2 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/DriverInterface.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/DriverInterface.php
@@ -23,39 +23,53 @@ interface DriverInterface
     const NAME_FORMAT_NATURAL = 'natural';
 
     /**
+     * Get database platform name
+     *
      * @param string $nameFormat
      * @return string
      */
     public function getDatabasePlatformName($nameFormat = self::NAME_FORMAT_CAMELCASE);
 
     /**
+     * Check environment
+     *
      * @return bool
      */
     public function checkEnvironment();
 
     /**
+     * Get connection
+     *
      * @return ConnectionInterface
      */
     public function getConnection();
 
     /**
+     * Create statement
+     *
      * @param string|resource $sqlOrResource
      * @return StatementInterface
      */
     public function createStatement($sqlOrResource = null);
 
     /**
+     * Create result
+     *
      * @param resource $resource
      * @return ResultInterface
      */
     public function createResult($resource);
 
     /**
+     * Get prepare type
+     *
      * @return array
      */
     public function getPrepareType();
 
     /**
+     * Format parameter name
+     *
      * @param string $name
      * @param mixed  $type
      * @return string
@@ -63,6 +77,8 @@ interface DriverInterface
     public function formatParameterName($name, $type = null);
 
     /**
+     * Get last generated value
+     *
      * @return mixed
      */
     public function getLastGeneratedValue();
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Feature/AbstractFeature.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Feature/AbstractFeature.php
index 9ec00ffc318..ac6c506cb6d 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Feature/AbstractFeature.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Feature/AbstractFeature.php
@@ -26,13 +26,21 @@ abstract class AbstractFeature
     protected $driver = null;
 
     /**
+     * Set driver
+     *
      * @param DriverInterface $driver
+     * @return void
      */
     public function setDriver(DriverInterface $driver)
     {
         $this->driver = $driver;
     }
 
+    /**
+     * Get name
+     *
+     * @return string
+     */
     abstract public function getName();
 
 }
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Feature/DriverFeatureInterface.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Feature/DriverFeatureInterface.php
index 0c9be962577..39d185c66b5 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Feature/DriverFeatureInterface.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Feature/DriverFeatureInterface.php
@@ -17,7 +17,27 @@ namespace Zend\Db\Adapter\Driver\Feature;
  */
 interface DriverFeatureInterface
 {
+    /**
+     * Setup the default features for Pdo
+     *
+     * @return DriverFeatureInterface
+     */
     public function setupDefaultFeatures();
+
+    /**
+     * Add feature
+     *
+     * @param string $name
+     * @param mixed $feature
+     * @return DriverFeatureInterface
+     */
     public function addFeature($name, $feature);
+
+    /**
+     * Get feature
+     *
+     * @param $name
+     * @return mixed|false
+     */
     public function getFeature($name);
 }
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php
index 9cb2e24a9c8..867f7d9ac6d 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php
@@ -117,7 +117,7 @@ class Connection implements ConnectionInterface
      * @param  mysqli $resource
      * @return Connection
      */
-    public function setResource(mysqli $resource)
+    public function setResource(\mysqli $resource)
     {
         $this->resource = $resource;
         return $this;
@@ -138,7 +138,7 @@ class Connection implements ConnectionInterface
      * Connect
      *
      * @throws Exception\RuntimeException
-     * @return null
+     * @return void
      */
     public function connect()
     {
@@ -156,7 +156,7 @@ class Connection implements ConnectionInterface
                     return $p[$name];
                 }
             }
-            return null;
+            return;
         };
 
         $hostname = $findParameterValue(array('hostname', 'host'));
@@ -166,7 +166,7 @@ class Connection implements ConnectionInterface
         $port     = (isset($p['port'])) ? (int) $p['port'] : null;
         $socket   = (isset($p['socket'])) ? $p['socket'] : null;
 
-        $this->resource = new \Mysqli($hostname, $username, $password, $database, $port, $socket);
+        $this->resource = new \mysqli($hostname, $username, $password, $database, $port, $socket);
 
         if ($this->resource->connect_error) {
             throw new Exception\RuntimeException(
@@ -185,19 +185,21 @@ class Connection implements ConnectionInterface
     /**
      * Is connected
      *
-     * @return boolean
+     * @return bool
      */
     public function isConnected()
     {
-        return ($this->resource instanceof \Mysqli);
+        return ($this->resource instanceof \mysqli);
     }
 
     /**
      * Disconnect
+     *
+     * @return void
      */
     public function disconnect()
     {
-        if ($this->resource instanceof \PDO) {
+        if ($this->resource instanceof \mysqli) {
             $this->resource->close();
         }
         unset($this->resource);
@@ -205,6 +207,8 @@ class Connection implements ConnectionInterface
 
     /**
      * Begin transaction
+     *
+     * @return void
      */
     public function beginTransaction()
     {
@@ -218,6 +222,8 @@ class Connection implements ConnectionInterface
 
     /**
      * Commit
+     *
+     * @return void
      */
     public function commit()
     {
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Mysqli.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Mysqli.php
index 5af8020ae40..e86a3c05743 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Mysqli.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Mysqli.php
@@ -45,6 +45,8 @@ class Mysqli implements DriverInterface
     );
 
     /**
+     * Constructor
+     *
      * @param array|Connection|\mysqli $connection
      * @param null|Statement $statementPrototype
      * @param null|Result $resultPrototype
@@ -88,6 +90,8 @@ class Mysqli implements DriverInterface
     }
 
     /**
+     * Get statement prototype
+     *
      * @return null|Statement
      */
     public function getStatementPrototype()
@@ -130,6 +134,9 @@ class Mysqli implements DriverInterface
 
     /**
      * Check environment
+     *
+     * @throws Exception\RuntimeException
+     * @return void
      */
     public function checkEnvironment()
     {
@@ -139,6 +146,8 @@ class Mysqli implements DriverInterface
     }
 
     /**
+     * Get connection
+     *
      * @return Connection
      */
     public function getConnection()
@@ -147,6 +156,8 @@ class Mysqli implements DriverInterface
     }
 
     /**
+     * Create statement
+     *
      * @param string $sqlOrResource
      * @return Statement
      */
@@ -175,6 +186,8 @@ class Mysqli implements DriverInterface
     }
 
     /**
+     * Create result
+     *
      * @param resource $resource
      * @param null|bool $isBuffered
      * @return Result
@@ -187,6 +200,8 @@ class Mysqli implements DriverInterface
     }
 
     /**
+     * Get prepare type
+     *
      * @return array
      */
     public function getPrepareType()
@@ -195,6 +210,8 @@ class Mysqli implements DriverInterface
     }
 
     /**
+     * Format parameter name
+     *
      * @param string $name
      * @param mixed  $type
      * @return string
@@ -205,6 +222,8 @@ class Mysqli implements DriverInterface
     }
 
     /**
+     * Get last generated value
+     *
      * @return mixed
      */
     public function getLastGeneratedValue()
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Result.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Result.php
index ab81db1f442..8f17a65ffe6 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Result.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Result.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Db\Adapter\Driver\Mysqli;
 
+use Iterator;
 use Zend\Db\Adapter\Driver\ResultInterface;
 use Zend\Db\Adapter\Exception;
 
@@ -18,7 +19,9 @@ use Zend\Db\Adapter\Exception;
  * @package    Zend_Db
  * @subpackage Adapter
  */
-class Result implements \Iterator, ResultInterface
+class Result implements
+    Iterator,
+    ResultInterface
 {
 
     /**
@@ -101,6 +104,7 @@ class Result implements \Iterator, ResultInterface
 
     /**
      * Force buffering
+     *
      * @throws Exception\RuntimeException
      */
     public function buffer()
@@ -115,6 +119,8 @@ class Result implements \Iterator, ResultInterface
     }
 
     /**
+     * Check if is buffered
+     *
      * @return bool|null
      */
     public function isBuffered()
@@ -124,6 +130,7 @@ class Result implements \Iterator, ResultInterface
 
     /**
      * Return the resource
+     *
      * @return mixed
      */
     public function getResource()
@@ -143,6 +150,7 @@ class Result implements \Iterator, ResultInterface
 
     /**
      * Get affected rows
+     *
      * @return integer
      */
     public function getAffectedRows()
@@ -156,6 +164,7 @@ class Result implements \Iterator, ResultInterface
 
     /**
      * Current
+     *
      * @return mixed
      */
     public function current()
@@ -243,6 +252,8 @@ class Result implements \Iterator, ResultInterface
 
     /**
      * Next
+     *
+     * @return void
      */
     public function next()
     {
@@ -257,6 +268,7 @@ class Result implements \Iterator, ResultInterface
 
     /**
      * Key
+     *
      * @return mixed
      */
     public function key()
@@ -266,6 +278,8 @@ class Result implements \Iterator, ResultInterface
 
     /**
      * Rewind
+     *
+     * @return void
      */
     public function rewind()
     {
@@ -281,6 +295,7 @@ class Result implements \Iterator, ResultInterface
 
     /**
      * Valid
+     *
      * @return boolean
      */
     public function valid()
@@ -311,7 +326,9 @@ class Result implements \Iterator, ResultInterface
     }
 
     /**
-     * @return int
+     * Get field count
+     *
+     * @return integer
      */
     public function getFieldCount()
     {
@@ -319,6 +336,8 @@ class Result implements \Iterator, ResultInterface
     }
 
     /**
+     * Get generated value
+     *
      * @return mixed|null
      */
     public function getGeneratedValue()
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Statement.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Statement.php
index 14236c63e7f..59caf229048 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Statement.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Statement.php
@@ -151,6 +151,8 @@ class Statement implements StatementInterface
     }
 
     /**
+     * Get parameter count
+     *
      * @return ParameterContainer
      */
     public function getParameterContainer()
@@ -159,6 +161,8 @@ class Statement implements StatementInterface
     }
 
     /**
+     * Is prepared
+     *
      * @return bool
      */
     public function isPrepared()
@@ -167,6 +171,8 @@ class Statement implements StatementInterface
     }
 
     /**
+     * Prepare
+     *
      * @param string $sql
      * @throws Exception\InvalidQueryException
      * @throws Exception\RuntimeException
@@ -243,6 +249,8 @@ class Statement implements StatementInterface
 
     /**
      * Bind parameters from container
+     *
+     * @return void
      */
     protected function bindParametersFromContainer()
     {
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Connection.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Connection.php
index 76019a182bb..80d840f43d9 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Connection.php
@@ -11,7 +11,6 @@
 namespace Zend\Db\Adapter\Driver\Pdo;
 
 use Zend\Db\Adapter\Driver\ConnectionInterface;
-use Zend\Db\Adapter\Driver\DriverInterface;
 use Zend\Db\Adapter\Exception;
 
 /**
@@ -47,8 +46,10 @@ class Connection implements ConnectionInterface
     protected $inTransaction = false;
 
     /**
+     * Constructor
+     *
      * @param array|\PDO|null $connectionParameters
-     * @throws \Zend\Db\Adapter\Exception\InvalidArgumentException
+     * @throws Exception\InvalidArgumentException
      */
     public function __construct($connectionParameters = null)
     {
@@ -62,6 +63,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Set driver
+     *
      * @param Pdo $driver
      * @return Connection
      */
@@ -72,6 +75,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Get driver name
+     *
      * @return null|string
      */
     public function getDriverName()
@@ -80,7 +85,10 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Set connection parameters
+     *
      * @param array $connectionParameters
+     * @return void
      */
     public function setConnectionParameters(array $connectionParameters)
     {
@@ -100,6 +108,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Get connection parameters
+     *
      * @return array
      */
     public function getConnectionParameters()
@@ -152,6 +162,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Get resource
+     *
      * @return \PDO
      */
     public function getResource()
@@ -160,8 +172,11 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Connect
+     *
      * @return Connection
-     * @throws \Exception
+     * @throws Exception\InvalidConnectionParametersException
+     * @throws Exception\RuntimeException
      */
     public function connect()
     {
@@ -197,6 +212,9 @@ class Connection implements ConnectionInterface
                 case 'hostname':
                     $hostname = (string) $value;
                     break;
+                case 'port':
+                    $port = (int) $value;
+                    break;
                 case 'database':
                 case 'dbname':
                     $database = (string) $value;
@@ -225,6 +243,9 @@ class Connection implements ConnectionInterface
                     if (isset($hostname)) {
                         $dsn[] = "host={$hostname}";
                     }
+                    if (isset($port)) {
+                        $dsn[] = "port={$port}";
+                    }
                     break;
             }
             $dsn = $pdoDriver . ':' . implode(';', $dsn);
@@ -247,6 +268,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Is connected
+     *
      * @return bool
      */
     public function isConnected()
@@ -255,6 +278,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Disconnect
+     *
      * @return Connection
      */
     public function disconnect()
@@ -266,6 +291,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Begin transaction
+     *
      * @return Connection
      */
     public function beginTransaction()
@@ -279,6 +306,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Commit
+     *
      * @return Connection
      */
     public function commit()
@@ -293,6 +322,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Rollback
+     *
      * @return Connection
      * @throws Exception\RuntimeException
      */
@@ -311,9 +342,11 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Execute
+     *
      * @param $sql
      * @return Result
-     * @throws \Zend\Db\Adapter\Exception\InvalidQueryException
+     * @throws Exception\InvalidQueryException
      */
     public function execute($sql)
     {
@@ -334,6 +367,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Prepare
+     *
      * @param string $sql
      * @return Statement
      */
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Pdo.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Pdo.php
index 72d68f7eaaa..7b536c643c7 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Pdo.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Pdo.php
@@ -109,6 +109,8 @@ class Pdo implements DriverInterface, DriverFeatureInterface
     }
 
     /**
+     * Add feature
+     *
      * @param string $name
      * @param AbstractFeature $feature
      * @return Pdo
@@ -124,7 +126,9 @@ class Pdo implements DriverInterface, DriverFeatureInterface
     }
 
     /**
-     * setup the default features for Pdo
+     * Setup the default features for Pdo
+     *
+     * @return Pdo
      */
     public function setupDefaultFeatures()
     {
@@ -135,6 +139,8 @@ class Pdo implements DriverInterface, DriverFeatureInterface
     }
 
     /**
+     * Get feature
+     *
      * @param $name
      * @return AbstractFeature|false
      */
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php
index a48e79f376d..cba9b59eb9c 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Db\Adapter\Driver\Pgsql;
 
-use mysqli;
 use Zend\Db\Adapter\Driver\ConnectionInterface;
 use Zend\Db\Adapter\Exception;
 
@@ -48,18 +47,20 @@ class Connection implements ConnectionInterface
     /**
      * Constructor
      *
-     * @param mysqli|array|null $connectionInfo
+     * @param resource|array|null $connectionInfo
      */
     public function __construct($connectionInfo = null)
     {
         if (is_array($connectionInfo)) {
             $this->setConnectionParameters($connectionInfo);
-        } elseif ($connectionInfo instanceof mysqli) {
+        } elseif (is_resource($connectionInfo)) {
             $this->setResource($connectionInfo);
         }
     }
 
     /**
+     * Set connection parameters
+     *
      * @param  array $connectionParameters
      * @return Connection
      */
@@ -70,6 +71,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Set driver
+     *
      * @param  Pgsql $driver
      * @return Connection
      */
@@ -80,6 +83,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Set resource
+     *
      * @param  resource $resource
      * @return Connection
      */
@@ -90,7 +95,9 @@ class Connection implements ConnectionInterface
     }
 
     /**
-     * @return null
+     * Get current schema
+     *
+     * @return null|string
      */
     public function getCurrentSchema()
     {
@@ -106,6 +113,8 @@ class Connection implements ConnectionInterface
     }
 
     /**
+     * Get resource
+     *
      * @return resource
      */
     public function getResource()
@@ -214,7 +223,7 @@ class Connection implements ConnectionInterface
 
         //var_dump(pg_result_status($resultResource));
 
-        // if the returnValue is something other than a mysqli_result, bypass wrapping it
+        // if the returnValue is something other than a pg result resource, bypass wrapping it
         if ($resultResource === false) {
             throw new Exception\InvalidQueryException(pg_errormessage());
         }
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Pgsql.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Pgsql.php
index 50bc1304bfb..95c2837d310 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Pgsql.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Pgsql.php
@@ -43,6 +43,8 @@ class Pgsql implements DriverInterface
     );
 
     /**
+     * Constructor
+     *
      * @param array|Connection|resource $connection
      * @param null|Statement $statementPrototype
      * @param null|Result $resultPrototype
@@ -60,6 +62,8 @@ class Pgsql implements DriverInterface
     }
 
     /**
+     * Register connection
+     *
      * @param Connection $connection
      * @return Pgsql
      */
@@ -71,6 +75,8 @@ class Pgsql implements DriverInterface
     }
 
     /**
+     * Register statement prototype
+     *
      * @param Statement $statement
      * @return Pgsql
      */
@@ -82,6 +88,8 @@ class Pgsql implements DriverInterface
     }
 
     /**
+     * Register result prototype
+     *
      * @param Result $result
      * @return Pgsql
      */
@@ -92,6 +100,8 @@ class Pgsql implements DriverInterface
     }
 
     /**
+     * Get database platform name
+     *
      * @param string $nameFormat
      * @return string
      */
@@ -105,17 +115,21 @@ class Pgsql implements DriverInterface
     }
 
     /**
+     * Check environment
+     *
      * @throws Exception\RuntimeException
      * @return bool
      */
     public function checkEnvironment()
     {
-        if (!extension_loaded('mysqli')) {
-            throw new Exception\RuntimeException('The Mysqli extension is required for this adapter but the extension is not loaded');
+        if (!extension_loaded('pgsql')) {
+            throw new Exception\RuntimeException('The PostgreSQL (pgsql) extension is required for this adapter but the extension is not loaded');
         }
     }
 
     /**
+     * Get connection
+     *
      * @return Connection
      */
     public function getConnection()
@@ -124,6 +138,8 @@ class Pgsql implements DriverInterface
     }
 
     /**
+     * Create statement
+     *
      * @param string|null $sqlOrResource
      * @return Statement
      */
@@ -150,6 +166,8 @@ class Pgsql implements DriverInterface
     }
 
     /**
+     * Create result
+     *
      * @param resource $resource
      * @return Result
      */
@@ -161,6 +179,8 @@ class Pgsql implements DriverInterface
     }
 
     /**
+     * Get prepare Type
+     *
      * @return array
      */
     public function getPrepareType()
@@ -169,6 +189,8 @@ class Pgsql implements DriverInterface
     }
 
     /**
+     * Format parameter name
+     *
      * @param string $name
      * @param mixed  $type
      * @return string
@@ -179,6 +201,8 @@ class Pgsql implements DriverInterface
     }
 
     /**
+     * Get last generated value
+     *
      * @return mixed
      */
     public function getLastGeneratedValue()
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Result.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Result.php
index f98544907e4..6a6f60c102d 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Result.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Result.php
@@ -11,6 +11,7 @@
 namespace Zend\Db\Adapter\Driver\Pgsql;
 
 use Zend\Db\Adapter\Driver\ResultInterface;
+use Zend\Db\Adapter\Exception;
 
 /**
  * @category   Zend
@@ -25,16 +26,33 @@ class Result implements ResultInterface
      */
     protected $resource = null;
 
+    /**
+     * @var int
+     */
     protected $position = 0;
 
+    /**
+     * @var int
+     */
     protected $count = 0;
 
+    /**
+     * @var null|mixed
+     */
     protected $generatedValue = null;
 
+    /**
+     * Initialize
+     *
+     * @param $resource
+     * @param $generatedValue
+     * @return void
+     * @throws Exception\InvalidArgumentException
+     */
     public function initialize($resource, $generatedValue)
     {
         if (!is_resource($resource) || get_resource_type($resource) != 'pgsql result') {
-            throw new \Exception('Resource not of the correct type.');
+            throw new Exception\InvalidArgumentException('Resource not of the correct type.');
         }
 
         $this->resource = $resource;
@@ -42,6 +60,11 @@ class Result implements ResultInterface
         $this->generatedValue = $generatedValue;
     }
 
+    /**
+     * Current
+     *
+     * @return array|bool|mixed
+     */
     public function current()
     {
         if ($this->count === 0) {
@@ -50,57 +73,107 @@ class Result implements ResultInterface
         return pg_fetch_assoc($this->resource, $this->position);
     }
 
+    /**
+     * Next
+     *
+     * @return void
+     */
     public function next()
     {
         $this->position++;
     }
 
+    /**
+     * Key
+     *
+     * @return int|mixed
+     */
     public function key()
     {
         return $this->position;
     }
 
+    /**
+     * Valid
+     *
+     * @return bool
+     */
     public function valid()
     {
         return ($this->position < $this->count);
     }
 
+    /**
+     * Rewind
+     *
+     * @return void
+     */
     public function rewind()
     {
         $this->position = 0;
     }
 
+    /**
+     * Buffer
+     *
+     * @return null
+     */
     public function buffer()
     {
         return null;
     }
 
+    /**
+     * Is buffered
+     *
+     * @return false
+     */
     public function isBuffered()
     {
         return false;
     }
 
+    /**
+     * Is query result
+     *
+     * @return bool
+     */
     public function isQueryResult()
     {
         return (pg_num_fields($this->resource) > 0);
     }
 
+    /**
+     * Get affected rows
+     *
+     * @return int
+     */
     public function getAffectedRows()
     {
         return pg_affected_rows($this->resource);
     }
 
+    /**
+     * Get generated value
+     *
+     * @return mixed|null
+     */
     public function getGeneratedValue()
     {
         return $this->generatedValue;
     }
 
+    /**
+     * Get resource
+     */
     public function getResource()
     {
         // TODO: Implement getResource() method.
     }
 
     /**
+     * Count
+     *
      * (PHP 5 &gt;= 5.1.0)<br/>
      * Count elements of an object
      * @link http://php.net/manual/en/countable.count.php
@@ -114,6 +187,11 @@ class Result implements ResultInterface
         return $this->count;
     }
 
+    /**
+     * Get field count
+     *
+     * @return int
+     */
     public function getFieldCount()
     {
         return pg_num_fields($this->resource);
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Statement.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Statement.php
index 2ff8e0b0196..6bef28dd29d 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Statement.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Statement.php
@@ -67,6 +67,8 @@ class Statement implements StatementInterface
     }
 
     /**
+     * Initialize
+     *
      * @param  resource $pgsql
      * @return void
      * @throws Exception\RuntimeException for invalid or missing postgresql connection
@@ -84,6 +86,8 @@ class Statement implements StatementInterface
     }
 
     /**
+     * Get resource
+     *
      * @return resource
      */
     public function getResource()
@@ -92,6 +96,8 @@ class Statement implements StatementInterface
     }
 
     /**
+     * Set sql
+     *
      * @param string $sql
      * @return Statement
      */
@@ -102,6 +108,8 @@ class Statement implements StatementInterface
     }
 
     /**
+     * Get sql
+     *
      * @return string
      */
     public function getSql()
@@ -110,6 +118,8 @@ class Statement implements StatementInterface
     }
 
     /**
+     * Set parameter container
+     *
      * @param ParameterContainer $parameterContainer
      * @return Statement
      */
@@ -120,6 +130,8 @@ class Statement implements StatementInterface
     }
 
     /**
+     * Get parameter container
+     *
      * @return ParameterContainer
      */
     public function getParameterContainer()
@@ -128,6 +140,8 @@ class Statement implements StatementInterface
     }
 
     /**
+     * Prepare
+     *
      * @param string $sql
      */
     public function prepare($sql = null)
@@ -148,6 +162,8 @@ class Statement implements StatementInterface
     }
 
     /**
+     * Is prepared
+     *
      * @return bool
      */
     public function isPrepared()
@@ -156,7 +172,9 @@ class Statement implements StatementInterface
     }
 
     /**
-     * @param  null $parameters
+     * Execute
+     *
+     * @param  ParameterContainer|null $parameters
      * @throws Exception\InvalidQueryException
      * @return Result
      */
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/ResultInterface.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/ResultInterface.php
index e180fc441bd..b338d9ae8c3 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/ResultInterface.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/ResultInterface.php
@@ -10,18 +10,64 @@
 
 namespace Zend\Db\Adapter\Driver;
 
+use Countable;
+use Iterator;
+
 /**
  * @category   Zend
  * @package    Zend_Db
  * @subpackage Adapter
  */
-interface ResultInterface extends \Countable, \Iterator
+interface ResultInterface extends
+    Countable,
+    Iterator
 {
+    /**
+     * Force buffering
+     *
+     * @return void
+     */
     public function buffer();
+
+    /**
+     * Check if is buffered
+     *
+     * @return bool|null
+     */
     public function isBuffered();
+
+    /**
+     * Is query result?
+     *
+     * @return bool
+     */
     public function isQueryResult();
+
+    /**
+     * Get affected rows
+     *
+     * @return integer
+     */
     public function getAffectedRows();
+
+    /**
+     * Get generated value
+     *
+     * @return mixed|null
+     */
     public function getGeneratedValue();
+
+    /**
+     * Get the resource
+     *
+     * @return mixed
+     */
     public function getResource();
+
+    /**
+     * Get field count
+     *
+     * @return integer
+     */
     public function getFieldCount();
 }
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Sqlsrv.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Sqlsrv.php
index fe6cef695bb..1b041e4cdeb 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Sqlsrv.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Sqlsrv.php
@@ -140,7 +140,9 @@ class Sqlsrv implements DriverInterface
             }
             $statement->initialize($this->connection->getResource());
         } elseif (is_resource($sqlOrResource)) {
-            $statement->setResource($sqlOrResource);
+            $statement->initialize($sqlOrResource); // will check the resource type
+        } else {
+            throw new Exception\InvalidArgumentException('createStatement() only accepts an SQL string or a Sqlsrv resource');
         }
         return $statement;
     }
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Statement.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Statement.php
index d8c11afb7f4..2607337f9a9 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Statement.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Statement.php
@@ -89,11 +89,16 @@ class Statement implements StatementInterface
     public function initialize($resource)
     {
         $resourceType = get_resource_type($resource);
-        if ($resourceType != 'SQL Server Connection' && $resourceType != 'SQL Server Statement') {
+
+        if ($resourceType == 'SQL Server Connection') {
+            $this->sqlsrv = $resource;
+        } elseif ($resourceType == 'SQL Server Statement') {
+            $this->resource = $resource;
+            $this->isPrepared = true;
+        } else {
             throw new Exception\InvalidArgumentException('Invalid resource provided to ' . __CLASS__);
         }
 
-        $this->sqlsrv = $resource;
         return $this;
     }
 
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/StatementInterface.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/StatementInterface.php
index e4d151ce513..36c2247e762 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/StatementInterface.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/StatementInterface.php
@@ -11,7 +11,6 @@
 namespace Zend\Db\Adapter\Driver;
 
 use Zend\Db\Adapter\StatementContainerInterface;
-use Zend\Db\Adapter\ParameterContainer;
 
 /**
  * @category   Zend
@@ -22,24 +21,29 @@ interface StatementInterface extends StatementContainerInterface
 {
 
     /**
+     * Get resource
+     *
      * @return resource
      */
     public function getResource();
 
     /**
-     * @abstract
+     * Prepare sql
+     *
      * @param string $sql
      */
     public function prepare($sql = null);
 
     /**
-     * @abstract
+     * Check if is prepared
+     *
      * @return bool
      */
     public function isPrepared();
 
     /**
-     * @abstract
+     * Execute
+     *
      * @param null $parameters
      * @return ResultInterface
      */
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Platform/PlatformInterface.php b/vendor/ZF2/library/Zend/Db/Adapter/Platform/PlatformInterface.php
index 0b2851a07ba..fa5bd7b115e 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Platform/PlatformInterface.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Platform/PlatformInterface.php
@@ -17,13 +17,72 @@ namespace Zend\Db\Adapter\Platform;
  */
 interface PlatformInterface
 {
+    /**
+     * Get name
+     *
+     * @return string
+     */
     public function getName();
+
+    /**
+     * Get quote identifier symbol
+     *
+     * @return string
+     */
     public function getQuoteIdentifierSymbol();
+
+    /**
+     * Quote identifier
+     *
+     * @param  string $identifier
+     * @return string
+     */
     public function quoteIdentifier($identifier);
+
+    /**
+     * Quote identifier chain
+     *
+     * @param string|string[] $identifierChain
+     * @return string
+     */
     public function quoteIdentifierChain($identifierChain);
+
+    /**
+     * Get quote value symbol
+     *
+     * @return string
+     */
     public function getQuoteValueSymbol();
+
+    /**
+     * Quote value
+     *
+     * @param  string $value
+     * @return string
+     */
     public function quoteValue($value);
+
+    /**
+     * Quote value list
+     *
+     * @param string|string[] $valueList
+     * @return string
+     */
     public function quoteValueList($valueList);
+
+    /**
+     * Get identifier separator
+     *
+     * @return string
+     */
     public function getIdentifierSeparator();
+
+    /**
+     * Quote identifier in fragment
+     *
+     * @param  string $identifier
+     * @param  array $safeWords
+     * @return string
+     */
     public function quoteIdentifierInFragment($identifier, array $additionalSafeWords = array());
 }
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/StatementContainerInterface.php b/vendor/ZF2/library/Zend/Db/Adapter/StatementContainerInterface.php
index 275a6d461bf..d1beb7dfc70 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/StatementContainerInterface.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/StatementContainerInterface.php
@@ -18,27 +18,31 @@ namespace Zend\Db\Adapter;
 interface StatementContainerInterface
 {
     /**
-     * @abstract
+     * Set sql
+     *
      * @param $sql
      * @return mixed
      */
     public function setSql($sql);
 
     /**
-     * @abstract
+     * Get sql
+     *
      * @return mixed
      */
     public function getSql();
 
     /**
-     * @abstract
+     * Set parameter container
+     *
      * @param ParameterContainer $parameterContainer
      * @return mixed
      */
     public function setParameterContainer(ParameterContainer $parameterContainer);
 
     /**
-     * @abstract
+     * Get parameter container
+     *
      * @return mixed
      */
     public function getParameterContainer();
diff --git a/vendor/ZF2/library/Zend/Db/Metadata/Metadata.php b/vendor/ZF2/library/Zend/Db/Metadata/Metadata.php
index 1ef4808a41c..37b47a0ae05 100644
--- a/vendor/ZF2/library/Zend/Db/Metadata/Metadata.php
+++ b/vendor/ZF2/library/Zend/Db/Metadata/Metadata.php
@@ -11,7 +11,6 @@
 namespace Zend\Db\Metadata;
 
 use Zend\Db\Adapter\Adapter;
-use Zend\Db\Adapter\Driver;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Db/Metadata/Source/MysqlMetadata.php b/vendor/ZF2/library/Zend/Db/Metadata/Source/MysqlMetadata.php
index 46bd12cb306..130fa17bc1f 100644
--- a/vendor/ZF2/library/Zend/Db/Metadata/Source/MysqlMetadata.php
+++ b/vendor/ZF2/library/Zend/Db/Metadata/Source/MysqlMetadata.php
@@ -11,7 +11,6 @@
 namespace Zend\Db\Metadata\Source;
 
 use Zend\Db\Adapter\Adapter;
-use Zend\Db\Metadata\Object;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Db/Metadata/Source/PostgresqlMetadata.php b/vendor/ZF2/library/Zend/Db/Metadata/Source/PostgresqlMetadata.php
index 6c92b0c2ccb..86292ae0a9d 100644
--- a/vendor/ZF2/library/Zend/Db/Metadata/Source/PostgresqlMetadata.php
+++ b/vendor/ZF2/library/Zend/Db/Metadata/Source/PostgresqlMetadata.php
@@ -11,7 +11,6 @@
 namespace Zend\Db\Metadata\Source;
 
 use Zend\Db\Adapter\Adapter;
-use Zend\Db\Metadata\Object;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Db/Metadata/Source/SqlServerMetadata.php b/vendor/ZF2/library/Zend/Db/Metadata/Source/SqlServerMetadata.php
index aea2303e700..5296f99d0ed 100644
--- a/vendor/ZF2/library/Zend/Db/Metadata/Source/SqlServerMetadata.php
+++ b/vendor/ZF2/library/Zend/Db/Metadata/Source/SqlServerMetadata.php
@@ -11,7 +11,6 @@
 namespace Zend\Db\Metadata\Source;
 
 use Zend\Db\Adapter\Adapter;
-use Zend\Db\Metadata\Object;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Db/Metadata/Source/SqliteMetadata.php b/vendor/ZF2/library/Zend/Db/Metadata/Source/SqliteMetadata.php
index 9fd6cfb1514..697c5ee58b1 100644
--- a/vendor/ZF2/library/Zend/Db/Metadata/Source/SqliteMetadata.php
+++ b/vendor/ZF2/library/Zend/Db/Metadata/Source/SqliteMetadata.php
@@ -11,7 +11,6 @@
 namespace Zend\Db\Metadata\Source;
 
 use Zend\Db\Adapter\Adapter;
-use Zend\Db\Metadata\Object;
 use Zend\Db\ResultSet\ResultSetInterface;
 
 /**
diff --git a/vendor/ZF2/library/Zend/Db/RowGateway/AbstractRowGateway.php b/vendor/ZF2/library/Zend/Db/RowGateway/AbstractRowGateway.php
index e9442b92008..4c48e0d10c8 100644
--- a/vendor/ZF2/library/Zend/Db/RowGateway/AbstractRowGateway.php
+++ b/vendor/ZF2/library/Zend/Db/RowGateway/AbstractRowGateway.php
@@ -12,7 +12,6 @@ namespace Zend\Db\RowGateway;
 
 use ArrayAccess;
 use Countable;
-use Zend\Db\Adapter\Adapter;
 use Zend\Db\Sql\Sql;
 use Zend\Db\Sql\TableIdentifier;
 
diff --git a/vendor/ZF2/library/Zend/Db/Sql/AbstractSql.php b/vendor/ZF2/library/Zend/Db/Sql/AbstractSql.php
index e8ece875777..0627e678a32 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/AbstractSql.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/AbstractSql.php
@@ -62,6 +62,20 @@ abstract class AbstractSql
             foreach ($values as $vIndex => $value) {
                 if (isset($types[$vIndex]) && $types[$vIndex] == ExpressionInterface::TYPE_IDENTIFIER) {
                     $values[$vIndex] = $platform->quoteIdentifierInFragment($value);
+                } elseif (isset($types[$vIndex]) && $types[$vIndex] == ExpressionInterface::TYPE_VALUE && $value instanceof Select) {
+                    // process sub-select
+                    if ($adapter) {
+                        $values[$vIndex] = '(' . $this->processSubSelect($value, $platform, $adapter, $parameterContainer) . ')';
+                    } else {
+                        $values[$vIndex] = '(' . $this->processSubSelect($value, $platform) . ')';
+                    }
+                } elseif (isset($types[$vIndex]) && $types[$vIndex] == ExpressionInterface::TYPE_VALUE && $value instanceof ExpressionInterface) {
+                    // recursive call to satisfy nested expressions
+                    $innerStatementContainer = $this->processExpression($value, $platform, $adapter, $namedParameterPrefix . $vIndex . 'subpart');
+                    $values[$vIndex] = $innerStatementContainer->getSql();
+                    if ($adapter) {
+                        $parameterContainer->merge($innerStatementContainer->getParameterContainer());
+                    }
                 } elseif (isset($types[$vIndex]) && $types[$vIndex] == ExpressionInterface::TYPE_VALUE) {
 
                     // if prepareType is set, it means that this particular value must be
@@ -77,13 +91,6 @@ abstract class AbstractSql
                     $values[$vIndex] = $platform->quoteValue($value);
                 } elseif (isset($types[$vIndex]) && $types[$vIndex] == ExpressionInterface::TYPE_LITERAL) {
                     $values[$vIndex] = $value;
-                } elseif (isset($types[$vIndex]) && $types[$vIndex] == ExpressionInterface::TYPE_SELECT) {
-                    // process sub-select
-                    if ($adapter) {
-                        $values[$vIndex] = '(' . $this->processSubSelect($value, $platform, $adapter, $statementContainer->getParameterContainer()) . ')';
-                    } else {
-                        $values[$vIndex] = '(' . $this->processSubSelect($value, $platform) . ')';
-                    }
                 }
             }
 
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Expression.php b/vendor/ZF2/library/Zend/Db/Sql/Expression.php
index 4606f8fde42..3acc3b4a6d7 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Expression.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Expression.php
@@ -79,8 +79,8 @@ class Expression implements ExpressionInterface
      */
     public function setParameters($parameters)
     {
-        if (!is_string($parameters) && !is_array($parameters)) {
-            throw new Exception\InvalidArgumentException('Expression parameters must be a string or array.');
+        if (!is_scalar($parameters) && !is_array($parameters)) {
+            throw new Exception\InvalidArgumentException('Expression parameters must be a scalar or array.');
         }
         $this->parameters = $parameters;
         return $this;
@@ -118,7 +118,7 @@ class Expression implements ExpressionInterface
      */
     public function getExpressionData()
     {
-        $parameters = (is_string($this->parameters)) ? array($this->parameters) : $this->parameters;
+        $parameters = (is_scalar($this->parameters)) ? array($this->parameters) : $this->parameters;
 
         $types = array();
         for ($i = 0; $i < count($parameters); $i++) {
diff --git a/vendor/ZF2/library/Zend/Db/Sql/ExpressionInterface.php b/vendor/ZF2/library/Zend/Db/Sql/ExpressionInterface.php
index c8f41478a07..dafacc03e5b 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/ExpressionInterface.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/ExpressionInterface.php
@@ -15,6 +15,10 @@ interface ExpressionInterface
     const TYPE_IDENTIFIER = 'identifier';
     const TYPE_VALUE = 'value';
     const TYPE_LITERAL = 'literal';
+
+    /**
+     * @deprecated This will go away in 2.1
+     */
     const TYPE_SELECT = 'select';
 
     /**
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Having.php b/vendor/ZF2/library/Zend/Db/Sql/Having.php
index 0d9438e4d66..c49c4084487 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Having.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Having.php
@@ -11,9 +11,6 @@
 namespace Zend\Db\Sql;
 
 use Zend\Db\Adapter\Adapter;
-use Zend\Db\Adapter\Driver\StatementInterface;
-use Zend\Db\Adapter\Platform\PlatformInterface;
-use Zend\Db\Adapter\Platform\Sql92;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Platform/AbstractPlatform.php b/vendor/ZF2/library/Zend/Db/Sql/Platform/AbstractPlatform.php
index 5bc0c430f18..3c689f3d7fb 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Platform/AbstractPlatform.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Platform/AbstractPlatform.php
@@ -69,7 +69,7 @@ class AbstractPlatform implements PlatformDecoratorInterface, PreparableSqlInter
         $decoratorForType = false;
         foreach ($this->decorators as $type => $decorator) {
             if ($this->subject instanceof $type && $decorator instanceof PreparableSqlInterface) {
-                /** @var $decoratorForType PreparableSqlInterface */
+                /** @var $decoratorForType PreparableSqlInterface|PlatformDecoratorInterface */
                 $decoratorForType = $decorator;
                 break;
             }
@@ -96,7 +96,7 @@ class AbstractPlatform implements PlatformDecoratorInterface, PreparableSqlInter
         $decoratorForType = false;
         foreach ($this->decorators as $type => $decorator) {
             if ($this->subject instanceof $type && $decorator instanceof SqlInterface) {
-                /** @var $decoratorForType SqlInterface */
+                /** @var $decoratorForType SqlInterface|PlatformDecoratorInterface */
                 $decoratorForType = $decorator;
                 break;
             }
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Platform/Mysql/Mysql.php b/vendor/ZF2/library/Zend/Db/Sql/Platform/Mysql/Mysql.php
new file mode 100644
index 00000000000..7c6a18b73a5
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Db/Sql/Platform/Mysql/Mysql.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-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ * @package   Zend_Db
+ */
+
+namespace Zend\Db\Sql\Platform\Mysql;
+
+use Zend\Db\Sql\Platform\AbstractPlatform;
+
+class Mysql extends AbstractPlatform
+{
+
+    public function __construct(SelectDecorator $selectDecorator = null)
+    {
+        $this->setTypeDecorator('Zend\Db\Sql\Select', ($selectDecorator) ?: new SelectDecorator());
+    }
+
+}
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Platform/Mysql/SelectDecorator.php b/vendor/ZF2/library/Zend/Db/Sql/Platform/Mysql/SelectDecorator.php
new file mode 100644
index 00000000000..ca1651f2a2d
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Db/Sql/Platform/Mysql/SelectDecorator.php
@@ -0,0 +1,90 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ * @package   Zend_Db
+ */
+
+namespace Zend\Db\Sql\Platform\Mysql;
+
+use Zend\Db\Adapter\Adapter;
+use Zend\Db\Adapter\ParameterContainer;
+use Zend\Db\Adapter\Platform\PlatformInterface;
+use Zend\Db\Sql\Platform\PlatformDecoratorInterface;
+use Zend\Db\Adapter\StatementContainerInterface;
+use Zend\Db\Sql\Select;
+
+class SelectDecorator extends Select implements PlatformDecoratorInterface
+{
+    /**
+     * @var Select
+     */
+    protected $select = null;
+
+    /**
+     * @param Select $select
+     */
+    public function setSubject($select)
+    {
+        $this->select = $select;
+    }
+
+    /**
+     * @param Adapter $adapter
+     * @param StatementContainerInterface $statementContainer
+     */
+    public function prepareStatement(Adapter $adapter, StatementContainerInterface $statementContainer)
+    {
+        // localize variables
+        foreach (get_object_vars($this->select) as $name => $value) {
+            $this->{$name} = $value;
+        }
+        parent::prepareStatement($adapter, $statementContainer);
+    }
+
+    /**
+     * @param PlatformInterface $platform
+     * @return string
+     */
+    public function getSqlString(PlatformInterface $platform = null)
+    {
+        // localize variables
+        foreach (get_object_vars($this->select) as $name => $value) {
+            $this->{$name} = $value;
+        }
+        return parent::getSqlString($platform);
+    }
+
+    protected function processLimit(PlatformInterface $platform, Adapter $adapter = null, ParameterContainer $parameterContainer = null)
+    {
+        if ($this->limit === null) {
+            return null;
+        }
+        if ($adapter) {
+            $driver = $adapter->getDriver();
+            $sql = $driver->formatParameterName('limit');
+            $parameterContainer->offsetSet('limit', $this->limit, ParameterContainer::TYPE_INTEGER);
+        } else {
+            $sql = $this->limit;
+        }
+
+        return array($sql);
+    }
+
+    protected function processOffset(PlatformInterface $platform, Adapter $adapter = null, ParameterContainer $parameterContainer = null)
+    {
+        if ($this->offset === null) {
+            return null;
+        }
+        if ($adapter) {
+            $parameterContainer->offsetSet('offset', $this->offset, ParameterContainer::TYPE_INTEGER);
+            return array($adapter->getDriver()->formatParameterName('offset'));
+        } else {
+            return array($this->offset);
+        }
+    }
+
+}
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Platform/Platform.php b/vendor/ZF2/library/Zend/Db/Sql/Platform/Platform.php
index 24f0b3e84b1..9a418c8f631 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Platform/Platform.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Platform/Platform.php
@@ -25,6 +25,10 @@ class Platform extends AbstractPlatform
         $this->adapter = $adapter;
         $platform = $adapter->getPlatform();
         switch (strtolower($platform->getName())) {
+            case 'mysql':
+                $platform = new Mysql\Mysql();
+                $this->decorators = $platform->decorators;
+                break;
             case 'sqlserver':
                 $platform = new SqlServer\SqlServer();
                 $this->decorators = $platform->decorators;
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Predicate/In.php b/vendor/ZF2/library/Zend/Db/Sql/Predicate/In.php
index 523b850a8cd..1e371a4b819 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Predicate/In.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Predicate/In.php
@@ -94,7 +94,7 @@ class In implements PredicateInterface
         $values = $this->getValueSet();
         if ($values instanceof Select) {
             $specification = '%s IN %s';
-            $types = array(self::TYPE_SELECT);
+            $types = array(self::TYPE_VALUE);
             $values = array($values);
         } else {
             $specification = '%s IN (' . implode(', ', array_fill(0, count($values), '%s')) . ')';
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Select.php b/vendor/ZF2/library/Zend/Db/Sql/Select.php
index 814bbb65b7a..c4d5dc21b95 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Select.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Select.php
@@ -408,6 +408,9 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
             case self::OFFSET:
                 $this->offset = null;
                 break;
+            case self::ORDER:
+                $this->order = null;
+                break;
         }
         return $this;
     }
@@ -533,7 +536,7 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
             $fromTable = ($this->prefixColumnsWithTable) ? $table : '';
         }
 
-        $fromTable .= $platform->getIdentifierSeparator();
+        $fromTable .= ($this->prefixColumnsWithTable) ? $platform->getIdentifierSeparator() : '';
 
         // process table columns
         $columns = array();
@@ -619,8 +622,9 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
                 ? $platform->quoteIdentifier(current($join['name'])) . ' AS ' . $platform->quoteIdentifier(key($join['name']))
                 : $platform->quoteIdentifier($join['name']);
             // on expression
+            // note: for Expression objects, pass them to processExpression with a prefix specific to each join (used for named parameters)
             $joinSpecArgArray[$j][] = ($join['on'] instanceof ExpressionInterface)
-                ? $this->processExpression($join['on'], $platform, $adapter, $this->processInfo['paramPrefix'] . 'join')
+                ? $this->processExpression($join['on'], $platform, $adapter, $this->processInfo['paramPrefix'] . 'join' . ($j+1) . 'part')
                 : $platform->quoteIdentifierInFragment($join['on'], array('=', 'AND', 'OR', '(', ')', 'BETWEEN')); // on
             if ($joinSpecArgArray[$j][2] instanceof StatementContainerInterface) {
                 if ($parameterContainer) {
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Where.php b/vendor/ZF2/library/Zend/Db/Sql/Where.php
index d0d2673cd9f..14fc99a2152 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Where.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Where.php
@@ -11,9 +11,6 @@
 namespace Zend\Db\Sql;
 
 use Zend\Db\Adapter\Adapter;
-use Zend\Db\Adapter\Driver\StatementInterface;
-use Zend\Db\Adapter\Platform\PlatformInterface;
-use Zend\Db\Adapter\Platform\Sql92;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/EventFeature.php b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/EventFeature.php
index d56cf13dfca..2fd5c745c63 100644
--- a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/EventFeature.php
+++ b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/EventFeature.php
@@ -17,17 +17,17 @@ use Zend\Db\Sql\Delete;
 use Zend\Db\Sql\Insert;
 use Zend\Db\Sql\Select;
 use Zend\Db\Sql\Update;
-use Zend\Db\TableGateway\Exception;
+use Zend\EventManager\EventManager;
 use Zend\EventManager\EventManagerInterface;
+use Zend\EventManager\EventsCapableInterface;
 
 /**
  * @category   Zend
  * @package    Zend_Db
  * @subpackage TableGateway
  */
-class EventFeature extends AbstractFeature
+class EventFeature extends AbstractFeature implements EventsCapableInterface
 {
-
     /**
      * @var EventManagerInterface
      */
@@ -42,37 +42,103 @@ class EventFeature extends AbstractFeature
      * @param EventManagerInterface $eventManager
      * @param EventFeature\TableGatewayEvent $tableGatewayEvent
      */
-    public function __construct(EventManagerInterface $eventManager, EventFeature\TableGatewayEvent $tableGatewayEvent)
-    {
-        $this->eventManager = $eventManager;
+    public function __construct(
+        EventManagerInterface $eventManager = null,
+        EventFeature\TableGatewayEvent $tableGatewayEvent = null
+    ) {
+        $this->eventManager = ($eventManager instanceof EventManagerInterface)
+                            ? $eventManager
+                            : new EventManager;
+
+        $this->eventManager->setIdentifiers(array(
+            'Zend\Db\TableGateway\TableGateway',
+        ));
+
         $this->event = ($tableGatewayEvent) ?: new EventFeature\TableGatewayEvent();
     }
 
+    /**
+     * Retrieve composed event manager instance
+     *
+     * @return EventManagerInterface
+     */
+    public function getEventManager()
+    {
+        return $this->eventManager;
+    }
+
+    /**
+     * Retrieve composed event instance
+     *
+     * @return EventFeature\TableGatewayEvent
+     */
+    public function getEvent()
+    {
+        return $this->event;
+    }
+
+    /**
+     * Initialize feature and trigger "preInitialize" event
+     *
+     * Ensures that the composed TableGateway has identifiers based on the
+     * class name, and that the event target is set to the TableGateway
+     * instance. It then triggers the "preInitialize" event.
+     *
+     * @return void
+     */
     public function preInitialize()
     {
+        if (get_class($this->tableGateway) != 'Zend\Db\TableGateway\TableGateway') {
+            $this->eventManager->addIdentifiers(get_class($this->tableGateway));
+        }
+
         $this->event->setTarget($this->tableGateway);
         $this->event->setName(__FUNCTION__);
         $this->eventManager->trigger($this->event);
     }
 
+    /**
+     * Trigger the "postInitialize" event
+     *
+     * @return void
+     */
     public function postInitialize()
     {
-        $this->event->setTarget($this->tableGateway);
         $this->event->setName(__FUNCTION__);
         $this->eventManager->trigger($this->event);
     }
 
+    /**
+     * Trigger the "preSelect" event
+     *
+     * Triggers the "preSelect" event mapping the following parameters:
+     * - $select as "select"
+     *
+     * @param  Select $select
+     * @return void
+     */
     public function preSelect(Select $select)
     {
-        $this->event->setTarget($this->tableGateway);
         $this->event->setName(__FUNCTION__);
         $this->event->setParams(array('select' => $select));
         $this->eventManager->trigger($this->event);
     }
 
+    /**
+     * Trigger the "postSelect" event
+     *
+     * Triggers the "postSelect" event mapping the following parameters:
+     * - $statement as "statement"
+     * - $result as "result"
+     * - $resultSet as "result_set"
+     *
+     * @param  StatementInterface $statement
+     * @param  ResultInterface $result
+     * @param  ResultSetInterface $resultSet
+     * @return void
+     */
     public function postSelect(StatementInterface $statement, ResultInterface $result, ResultSetInterface $resultSet)
     {
-        $this->event->setTarget($this->tableGateway);
         $this->event->setName(__FUNCTION__);
         $this->event->setParams(array(
             'statement' => $statement,
@@ -82,17 +148,35 @@ class EventFeature extends AbstractFeature
         $this->eventManager->trigger($this->event);
     }
 
+    /**
+     * Trigger the "preInsert" event
+     *
+     * Triggers the "preInsert" event mapping the following parameters:
+     * - $insert as "insert"
+     *
+     * @param  Insert $insert
+     * @return void
+     */
     public function preInsert(Insert $insert)
     {
-        $this->event->setTarget($this->tableGateway);
         $this->event->setName(__FUNCTION__);
         $this->event->setParams(array('insert' => $insert));
         $this->eventManager->trigger($this->event);
     }
 
+    /**
+     * Trigger the "postInsert" event
+     *
+     * Triggers the "postInsert" event mapping the following parameters:
+     * - $statement as "statement"
+     * - $result as "result"
+     *
+     * @param  StatementInterface $statement
+     * @param  ResultInterface $result
+     * @return void
+     */
     public function postInsert(StatementInterface $statement, ResultInterface $result)
     {
-        $this->event->setTarget($this->tableGateway);
         $this->event->setName(__FUNCTION__);
         $this->event->setParams(array(
             'statement' => $statement,
@@ -101,17 +185,35 @@ class EventFeature extends AbstractFeature
         $this->eventManager->trigger($this->event);
     }
 
+    /**
+     * Trigger the "preUpdate" event
+     *
+     * Triggers the "preUpdate" event mapping the following parameters:
+     * - $update as "update"
+     *
+     * @param  Update $update
+     * @return void
+     */
     public function preUpdate(Update $update)
     {
-        $this->event->setTarget($this->tableGateway);
         $this->event->setName(__FUNCTION__);
         $this->event->setParams(array('update' => $update));
         $this->eventManager->trigger($this->event);
     }
 
+    /**
+     * Trigger the "postUpdate" event
+     *
+     * Triggers the "postUpdate" event mapping the following parameters:
+     * - $statement as "statement"
+     * - $result as "result"
+     *
+     * @param  StatementInterface $statement
+     * @param  ResultInterface $result
+     * @return void
+     */
     public function postUpdate(StatementInterface $statement, ResultInterface $result)
     {
-        $this->event->setTarget($this->tableGateway);
         $this->event->setName(__FUNCTION__);
         $this->event->setParams(array(
             'statement' => $statement,
@@ -120,17 +222,35 @@ class EventFeature extends AbstractFeature
         $this->eventManager->trigger($this->event);
     }
 
+    /**
+     * Trigger the "preDelete" event
+     *
+     * Triggers the "preDelete" event mapping the following parameters:
+     * - $delete as "delete"
+     *
+     * @param  Delete $delete
+     * @return void
+     */
     public function preDelete(Delete $delete)
     {
-        $this->event->setTarget($this->tableGateway);
         $this->event->setName(__FUNCTION__);
         $this->event->setParams(array('delete' => $delete));
         $this->eventManager->trigger($this->event);
     }
 
+    /**
+     * Trigger the "postDelete" event
+     *
+     * Triggers the "postDelete" event mapping the following parameters:
+     * - $statement as "statement"
+     * - $result as "result"
+     *
+     * @param  StatementInterface $statement
+     * @param  ResultInterface $result
+     * @return void
+     */
     public function postDelete(StatementInterface $statement, ResultInterface $result)
     {
-        $this->event->setTarget($this->tableGateway);
         $this->event->setName(__FUNCTION__);
         $this->event->setParams(array(
             'statement' => $statement,
@@ -138,5 +258,4 @@ class EventFeature extends AbstractFeature
         ));
         $this->eventManager->trigger($this->event);
     }
-
 }
diff --git a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/EventFeature/TableGatewayEvent.php b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/EventFeature/TableGatewayEvent.php
index d6dacbe0e85..9a8ea989e4e 100644
--- a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/EventFeature/TableGatewayEvent.php
+++ b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/EventFeature/TableGatewayEvent.php
@@ -44,7 +44,7 @@ class TableGatewayEvent implements EventInterface
      */
     public function getName()
     {
-        return get_class($this->target) . '.' . $this->name;
+        return $this->name;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Db/composer.json b/vendor/ZF2/library/Zend/Db/composer.json
index 24da46cb0b8..7fe715294d6 100644
--- a/vendor/ZF2/library/Zend/Db/composer.json
+++ b/vendor/ZF2/library/Zend/Db/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Db": ""
+            "Zend\\Db\\": ""
         }
     },
     "target-dir": "Zend/Db",
diff --git a/vendor/ZF2/library/Zend/Debug/Debug.php b/vendor/ZF2/library/Zend/Debug/Debug.php
index 5e4e242cb0c..c56fd3dd7b4 100644
--- a/vendor/ZF2/library/Zend/Debug/Debug.php
+++ b/vendor/ZF2/library/Zend/Debug/Debug.php
@@ -119,7 +119,7 @@ class Debug
         }
 
         if ($echo) {
-            echo($output);
+            echo $output;
         }
         return $output;
     }
diff --git a/vendor/ZF2/library/Zend/Debug/composer.json b/vendor/ZF2/library/Zend/Debug/composer.json
index de9d6bf8ccd..b045cbf22ca 100644
--- a/vendor/ZF2/library/Zend/Debug/composer.json
+++ b/vendor/ZF2/library/Zend/Debug/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Debug": ""
+            "Zend\\Debug\\": ""
         }
     },
     "target-dir": "Zend/Debug",
diff --git a/vendor/ZF2/library/Zend/Di/ServiceLocator/Generator.php b/vendor/ZF2/library/Zend/Di/ServiceLocator/Generator.php
index 5e08898770b..72021810b76 100644
--- a/vendor/ZF2/library/Zend/Di/ServiceLocator/Generator.php
+++ b/vendor/ZF2/library/Zend/Di/ServiceLocator/Generator.php
@@ -31,6 +31,9 @@ class Generator
     /** @var DependencyInjectorProxy */
     protected $injector;
 
+    /**
+     * @var null|string
+     */
     protected $namespace;
 
     /**
diff --git a/vendor/ZF2/library/Zend/Di/composer.json b/vendor/ZF2/library/Zend/Di/composer.json
index b29126c299e..c04534dfe78 100644
--- a/vendor/ZF2/library/Zend/Di/composer.json
+++ b/vendor/ZF2/library/Zend/Di/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Di": ""
+            "Zend\\Di\\": ""
         }
     },
     "target-dir": "Zend/Di",
diff --git a/vendor/ZF2/library/Zend/Dom/Query.php b/vendor/ZF2/library/Zend/Dom/Query.php
index b135e3edb1f..7c37a016385 100644
--- a/vendor/ZF2/library/Zend/Dom/Query.php
+++ b/vendor/ZF2/library/Zend/Dom/Query.php
@@ -11,7 +11,6 @@
 namespace Zend\Dom;
 
 use DOMDocument;
-use DOMNodeList;
 use DOMXPath;
 
 /**
diff --git a/vendor/ZF2/library/Zend/Dom/composer.json b/vendor/ZF2/library/Zend/Dom/composer.json
index b422ea665bc..68cd2f4020b 100644
--- a/vendor/ZF2/library/Zend/Dom/composer.json
+++ b/vendor/ZF2/library/Zend/Dom/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Dom": ""
+            "Zend\\Dom\\": ""
         }
     },
     "target-dir": "Zend/Dom",
diff --git a/vendor/ZF2/library/Zend/Escaper/composer.json b/vendor/ZF2/library/Zend/Escaper/composer.json
index 7df2296c42d..4aff32b6763 100644
--- a/vendor/ZF2/library/Zend/Escaper/composer.json
+++ b/vendor/ZF2/library/Zend/Escaper/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Escaper": ""
+            "Zend\\Escaper\\": ""
         }
     },
     "target-dir": "Zend/Escaper",
diff --git a/vendor/ZF2/library/Zend/EventManager/EventManager.php b/vendor/ZF2/library/Zend/EventManager/EventManager.php
index ddfb31fd5b7..961cd049c56 100644
--- a/vendor/ZF2/library/Zend/EventManager/EventManager.php
+++ b/vendor/ZF2/library/Zend/EventManager/EventManager.php
@@ -498,6 +498,10 @@ class EventManager implements EventManagerInterface
         }
 
         $identifiers     = $this->getIdentifiers();
+        //Add wildcard id to the search, if not already added
+        if (!in_array('*', $identifiers)) {
+            $identifiers[] = '*';
+        }
         $sharedListeners = array();
 
         foreach ($identifiers as $id) {
diff --git a/vendor/ZF2/library/Zend/EventManager/EventManagerInterface.php b/vendor/ZF2/library/Zend/EventManager/EventManagerInterface.php
index bd9e8fd2a86..7fa1b12c641 100644
--- a/vendor/ZF2/library/Zend/EventManager/EventManagerInterface.php
+++ b/vendor/ZF2/library/Zend/EventManager/EventManagerInterface.php
@@ -10,7 +10,6 @@
 
 namespace Zend\EventManager;
 
-use ArrayObject;
 use Traversable;
 use Zend\Stdlib\CallbackHandler;
 
diff --git a/vendor/ZF2/library/Zend/EventManager/GlobalEventManager.php b/vendor/ZF2/library/Zend/EventManager/GlobalEventManager.php
index 332e0c3d837..25130d9e38b 100644
--- a/vendor/ZF2/library/Zend/EventManager/GlobalEventManager.php
+++ b/vendor/ZF2/library/Zend/EventManager/GlobalEventManager.php
@@ -10,7 +10,6 @@
 
 namespace Zend\EventManager;
 
-use ArrayObject;
 use Zend\Stdlib\CallbackHandler;
 use Zend\Stdlib\PriorityQueue;
 
diff --git a/vendor/ZF2/library/Zend/EventManager/SharedEventManager.php b/vendor/ZF2/library/Zend/EventManager/SharedEventManager.php
index 90a2c32fb5a..cbeb1d15e0d 100644
--- a/vendor/ZF2/library/Zend/EventManager/SharedEventManager.php
+++ b/vendor/ZF2/library/Zend/EventManager/SharedEventManager.php
@@ -101,6 +101,10 @@ class SharedEventManager implements SharedEventManagerInterface
     public function getEvents($id)
     {
         if (!array_key_exists($id, $this->identifiers)) {
+            //Check if there are any id wildcards listeners
+            if ('*' != $id && array_key_exists('*', $this->identifiers)) {
+                return $this->identifiers['*']->getEvents();
+            }
             return false;
         }
         return $this->identifiers[$id]->getEvents();
diff --git a/vendor/ZF2/library/Zend/EventManager/StaticEventManager.php b/vendor/ZF2/library/Zend/EventManager/StaticEventManager.php
index f09f11d7a59..99d08b28c50 100644
--- a/vendor/ZF2/library/Zend/EventManager/StaticEventManager.php
+++ b/vendor/ZF2/library/Zend/EventManager/StaticEventManager.php
@@ -10,7 +10,6 @@
 
 namespace Zend\EventManager;
 
-use Zend\Stdlib\CallbackHandler;
 
 /**
  * Static version of EventManager
diff --git a/vendor/ZF2/library/Zend/EventManager/composer.json b/vendor/ZF2/library/Zend/EventManager/composer.json
index 3baf7e2f435..115c88252f3 100644
--- a/vendor/ZF2/library/Zend/EventManager/composer.json
+++ b/vendor/ZF2/library/Zend/EventManager/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\EventManager": ""
+            "Zend\\EventManager\\": ""
         }
     },
     "target-dir": "Zend/EventManager",
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Extension/DublinCore/Entry.php b/vendor/ZF2/library/Zend/Feed/Reader/Extension/DublinCore/Entry.php
index f446c25d12b..0f728b6a3e9 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Extension/DublinCore/Entry.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Extension/DublinCore/Entry.php
@@ -11,7 +11,6 @@
 namespace Zend\Feed\Reader\Extension\DublinCore;
 
 use DateTime;
-use DOMElement;
 use Zend\Feed\Reader;
 use Zend\Feed\Reader\Collection;
 use Zend\Feed\Reader\Extension;
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/ExtensionManager.php b/vendor/ZF2/library/Zend/Feed/Reader/ExtensionManager.php
index a655b3c2e5b..56c2f8cf64f 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/ExtensionManager.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/ExtensionManager.php
@@ -11,7 +11,6 @@
 namespace Zend\Feed\Reader;
 
 use Zend\ServiceManager\AbstractPluginManager;
-use Zend\ServiceManager\ConfigInterface;
 
 /**
  * Plugin manager implementation for feed reader extensions
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Reader.php b/vendor/ZF2/library/Zend/Feed/Reader/Reader.php
index 5be5eee0164..4c7060c9b04 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Reader.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Reader.php
@@ -242,7 +242,7 @@ class Reader
                 return self::importString($data);
             }
             $response = $client->send();
-            if ((int)$response->getStatusCode() !== 200) {
+            if ((int) $response->getStatusCode() !== 200) {
                 throw new Exception\RuntimeException('Feed failed to load, got response code ' . $response->getStatusCode());
             }
             $responseXml = $response->getBody();
@@ -250,7 +250,7 @@ class Reader
             return self::importString($responseXml);
         } else {
             $response = $client->send();
-            if ((int)$response->getStatusCode() !== 200) {
+            if ((int) $response->getStatusCode() !== 200) {
                 throw new Exception\RuntimeException('Feed failed to load, got response code ' . $response->getStatusCode());
             }
             $reader = self::importString($response->getBody());
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/AbstractFeed.php b/vendor/ZF2/library/Zend/Feed/Writer/AbstractFeed.php
index 36f984ec3b1..98de66ef763 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/AbstractFeed.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/AbstractFeed.php
@@ -61,7 +61,7 @@ class AbstractFeed
      *
      * @param array $author
      * @throws Exception\InvalidArgumentException If any value of $author not follow the format.
-     * @return void
+     * @return AbstractFeed
      */
     public function addAuthor(array $author)
     {
@@ -90,6 +90,8 @@ class AbstractFeed
         }
 
         $this->data['authors'][] = $author;
+
+        return $this;
     }
 
     /**
@@ -97,20 +99,23 @@ class AbstractFeed
      *
      * @see addAuthor
      * @param array $authors
-     * @return void
+     * @return AbstractFeed
      */
     public function addAuthors(array $authors)
     {
         foreach ($authors as $author) {
             $this->addAuthor($author);
         }
+
+        return $this;
     }
 
     /**
      * Set the copyright entry
      *
-     * @param string $copyright
+     * @param  string      $copyright
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setCopyright($copyright)
     {
@@ -118,6 +123,8 @@ class AbstractFeed
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
         }
         $this->data['copyright'] = $copyright;
+
+        return $this;
     }
 
     /**
@@ -125,6 +132,7 @@ class AbstractFeed
      *
      * @param null|integer|DateTime
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setDateCreated($date = null)
     {
@@ -137,6 +145,8 @@ class AbstractFeed
                                                          . ' passed as parameter');
         }
         $this->data['dateCreated'] = $date;
+
+        return $this;
     }
 
     /**
@@ -144,6 +154,7 @@ class AbstractFeed
      *
      * @param null|integer|DateTime
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setDateModified($date = null)
     {
@@ -156,6 +167,8 @@ class AbstractFeed
                                                          . ' passed as parameter');
         }
         $this->data['dateModified'] = $date;
+
+        return $this;
     }
 
     /**
@@ -163,6 +176,7 @@ class AbstractFeed
      *
      * @param null|integer|DateTime
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setLastBuildDate($date = null)
     {
@@ -175,6 +189,8 @@ class AbstractFeed
                                                          . ' passed as parameter');
         }
         $this->data['lastBuildDate'] = $date;
+
+        return $this;
     }
 
     /**
@@ -182,6 +198,7 @@ class AbstractFeed
      *
      * @param string $description
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setDescription($description)
     {
@@ -189,6 +206,8 @@ class AbstractFeed
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
         }
         $this->data['description'] = $description;
+
+        return $this;
     }
 
     /**
@@ -198,7 +217,7 @@ class AbstractFeed
      * @param null|string $version
      * @param null|string $uri
      * @throws Exception\InvalidArgumentException
-     * @return string|null
+     * @return AbstractFeed
      */
     public function setGenerator($name, $version = null, $uri = null)
     {
@@ -239,6 +258,8 @@ class AbstractFeed
             }
         }
         $this->data['generator'] = $generator;
+
+        return $this;
     }
 
     /**
@@ -246,6 +267,7 @@ class AbstractFeed
      *
      * @param string $id
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setId($id)
     {
@@ -256,6 +278,8 @@ class AbstractFeed
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string and valid URI/IRI');
         }
         $this->data['id'] = $id;
+
+        return $this;
     }
 
     /**
@@ -298,6 +322,7 @@ class AbstractFeed
      *
      * @param array $data
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setImage(array $data)
     {
@@ -308,6 +333,8 @@ class AbstractFeed
             . ' must be a non-empty string and valid URI/IRI');
         }
         $this->data['image'] = $data;
+
+        return $this;
     }
 
     /**
@@ -315,6 +342,7 @@ class AbstractFeed
      *
      * @param string $language
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setLanguage($language)
     {
@@ -322,6 +350,8 @@ class AbstractFeed
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
         }
         $this->data['language'] = $language;
+
+        return $this;
     }
 
     /**
@@ -329,6 +359,7 @@ class AbstractFeed
      *
      * @param string $link
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setLink($link)
     {
@@ -336,6 +367,8 @@ class AbstractFeed
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string and valid URI/IRI');
         }
         $this->data['link'] = $link;
+
+        return $this;
     }
 
     /**
@@ -344,6 +377,7 @@ class AbstractFeed
      * @param string $link
      * @param string $type
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setFeedLink($link, $type)
     {
@@ -354,6 +388,8 @@ class AbstractFeed
             throw new Exception\InvalidArgumentException('Invalid parameter: "type"; You must declare the type of feed the link points to, i.e. RSS, RDF or Atom');
         }
         $this->data['feedLinks'][strtolower($type)] = $link;
+
+        return $this;
     }
 
     /**
@@ -361,6 +397,7 @@ class AbstractFeed
      *
      * @param string $title
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setTitle($title)
     {
@@ -368,6 +405,8 @@ class AbstractFeed
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
         }
         $this->data['title'] = $title;
+
+        return $this;
     }
 
     /**
@@ -375,6 +414,7 @@ class AbstractFeed
      *
      * @param string $encoding
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setEncoding($encoding)
     {
@@ -382,6 +422,8 @@ class AbstractFeed
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
         }
         $this->data['encoding'] = $encoding;
+
+        return $this;
     }
 
     /**
@@ -389,6 +431,7 @@ class AbstractFeed
      *
      * @param string $url
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function setBaseUrl($url)
     {
@@ -397,6 +440,8 @@ class AbstractFeed
             . ' must be a non-empty string and valid URI/IRI');
         }
         $this->data['baseUrl'] = $url;
+
+        return $this;
     }
 
     /**
@@ -404,6 +449,7 @@ class AbstractFeed
      *
      * @param string $url
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function addHub($url)
     {
@@ -415,18 +461,23 @@ class AbstractFeed
             $this->data['hubs'] = array();
         }
         $this->data['hubs'][] = $url;
+
+        return $this;
     }
 
     /**
      * Add Pubsubhubbub hub endpoint URLs
      *
      * @param array $urls
+     * @return AbstractFeed
      */
     public function addHubs(array $urls)
     {
         foreach ($urls as $url) {
             $this->addHub($url);
         }
+
+        return $this;
     }
 
     /**
@@ -434,6 +485,7 @@ class AbstractFeed
      *
      * @param array $category
      * @throws Exception\InvalidArgumentException
+     * @return AbstractFeed
      */
     public function addCategory(array $category)
     {
@@ -455,18 +507,23 @@ class AbstractFeed
             $this->data['categories'] = array();
         }
         $this->data['categories'][] = $category;
+
+        return $this;
     }
 
     /**
      * Set an array of feed categories
      *
      * @param array $categories
+     * @return AbstractFeed
      */
     public function addCategories(array $categories)
     {
         foreach ($categories as $category) {
             $this->addCategory($category);
         }
+
+        return $this;
     }
 
     /**
@@ -721,10 +778,12 @@ class AbstractFeed
      * on their appropriateness for the current type, e.g. renderers.
      *
      * @param string $type
+     * @return AbstractFeed
      */
     public function setType($type)
     {
         $this->type = $type;
+        return $this;
     }
 
     /**
@@ -741,12 +800,14 @@ class AbstractFeed
      * Unset a specific data point
      *
      * @param string $name
+     * @return AbstractFeed
      */
     public function remove($name)
     {
         if (isset($this->data[$name])) {
             unset($this->data[$name]);
         }
+        return $this;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Deleted.php b/vendor/ZF2/library/Zend/Feed/Writer/Deleted.php
index d12a507e014..f56258eee0f 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Deleted.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Deleted.php
@@ -41,6 +41,7 @@ class Deleted
      * @param  $encoding
      * @throws Exception\InvalidArgumentException
      * @return string|null
+     * @return Deleted
      */
     public function setEncoding($encoding)
     {
@@ -48,6 +49,8 @@ class Deleted
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
         }
         $this->data['encoding'] = $encoding;
+
+        return $this;
     }
 
     /**
@@ -67,12 +70,15 @@ class Deleted
      * Unset a specific data point
      *
      * @param string $name
+     * @return Deleted
      */
     public function remove($name)
     {
         if (isset($this->data[$name])) {
             unset($this->data[$name]);
         }
+
+        return $this;
     }
 
     /**
@@ -81,10 +87,12 @@ class Deleted
      * on their appropriateness for the current type, e.g. renderers.
      *
      * @param string $type
+     * @return Deleted
      */
     public function setType($type)
     {
         $this->type = $type;
+        return $this;
     }
 
     /**
@@ -102,6 +110,7 @@ class Deleted
      *
      * @param $reference
      * @throws Exception\InvalidArgumentException
+     * @return Deleted
      */
     public function setReference($reference)
     {
@@ -109,8 +118,13 @@ class Deleted
             throw new Exception\InvalidArgumentException('Invalid parameter: reference must be a non-empty string');
         }
         $this->data['reference'] = $reference;
+
+        return $this;
     }
 
+    /**
+     * @return string
+     */
     public function getReference()
     {
         if (!array_key_exists('reference', $this->data)) {
@@ -124,6 +138,7 @@ class Deleted
      *
      * @param null|string|DateTime $date
      * @throws Exception\InvalidArgumentException
+     * @return Deleted
      */
     public function setWhen($date = null)
     {
@@ -136,10 +151,12 @@ class Deleted
             . ' passed as parameter');
         }
         $this->data['when'] = $date;
+
+        return $this;
     }
 
     /**
-     * @return \DateTime
+     * @return DateTime
      */
     public function getWhen()
     {
@@ -154,6 +171,7 @@ class Deleted
      *
      * @param array $by
      * @throws Exception\InvalidArgumentException
+     * @return Deleted
      */
     public function setBy(array $by)
     {
@@ -184,8 +202,13 @@ class Deleted
             $author['uri'] = $by['uri'];
         }
         $this->data['by'] = $author;
+
+        return $this;
     }
 
+    /**
+     * @return string
+     */
     public function getBy()
     {
         if (!array_key_exists('by', $this->data)) {
@@ -194,11 +217,19 @@ class Deleted
         return $this->data['by'];
     }
 
+    /**
+     * @param string $comment
+     * @return Deleted
+     */
     public function setComment($comment)
     {
         $this->data['comment'] = $comment;
+        return $this;
     }
 
+    /**
+     * @return string
+     */
     public function getComment()
     {
         if (!array_key_exists('comment', $this->data)) {
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Entry.php b/vendor/ZF2/library/Zend/Feed/Writer/Entry.php
index 21c0bbe995b..8bd2f21e03d 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Entry.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Entry.php
@@ -64,7 +64,7 @@ class Entry
      *
      * @param array $author
      * @throws Exception\InvalidArgumentException If any value of $author not follow the format.
-     * @return void
+     * @return Entry
      */
     public function addAuthor(array $author)
     {
@@ -93,6 +93,8 @@ class Entry
         }
 
         $this->data['authors'][] = $author;
+
+        return $this;
     }
 
     /**
@@ -100,13 +102,15 @@ class Entry
      *
      * @see addAuthor
      * @param array $authors
-     * @return void
+     * @return Entry
      */
     public function addAuthors(array $authors)
     {
         foreach ($authors as $author) {
             $this->addAuthor($author);
         }
+
+        return $this;
     }
 
     /**
@@ -114,6 +118,7 @@ class Entry
      *
      * @param string $encoding
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setEncoding($encoding)
     {
@@ -121,6 +126,8 @@ class Entry
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
         }
         $this->data['encoding'] = $encoding;
+
+        return $this;
     }
 
     /**
@@ -141,6 +148,7 @@ class Entry
      *
      * @param string $copyright
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setCopyright($copyright)
     {
@@ -148,6 +156,8 @@ class Entry
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
         }
         $this->data['copyright'] = $copyright;
+
+        return $this;
     }
 
     /**
@@ -155,6 +165,7 @@ class Entry
      *
      * @param string $content
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setContent($content)
     {
@@ -162,6 +173,8 @@ class Entry
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
         }
         $this->data['content'] = $content;
+
+        return $this;
     }
 
     /**
@@ -169,6 +182,7 @@ class Entry
      *
      * @param string|null|DateTime $date
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setDateCreated($date = null)
     {
@@ -180,6 +194,8 @@ class Entry
             throw new Exception\InvalidArgumentException('Invalid DateTime object or UNIX Timestamp passed as parameter');
         }
         $this->data['dateCreated'] = $date;
+
+        return $this;
     }
 
     /**
@@ -187,6 +203,7 @@ class Entry
      *
      * @param string|null|DateTime $date
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setDateModified($date = null)
     {
@@ -198,6 +215,8 @@ class Entry
             throw new Exception\InvalidArgumentException('Invalid DateTime object or UNIX Timestamp passed as parameter');
         }
         $this->data['dateModified'] = $date;
+
+        return $this;
     }
 
     /**
@@ -205,6 +224,7 @@ class Entry
      *
      * @param string $description
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setDescription($description)
     {
@@ -212,6 +232,8 @@ class Entry
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
         }
         $this->data['description'] = $description;
+
+        return $this;
     }
 
     /**
@@ -219,6 +241,7 @@ class Entry
      *
      * @param string $id
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setId($id)
     {
@@ -226,6 +249,8 @@ class Entry
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
         }
         $this->data['id'] = $id;
+
+        return $this;
     }
 
     /**
@@ -233,6 +258,7 @@ class Entry
      *
      * @param string $link
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setLink($link)
     {
@@ -240,6 +266,8 @@ class Entry
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string and valid URI/IRI');
         }
         $this->data['link'] = $link;
+
+        return $this;
     }
 
     /**
@@ -247,13 +275,16 @@ class Entry
      *
      * @param int $count
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setCommentCount($count)
     {
-        if (!is_numeric($count) || (int)$count != $count || (int) $count < 0) {
+        if (!is_numeric($count) || (int) $count != $count || (int) $count < 0) {
             throw new Exception\InvalidArgumentException('Invalid parameter: "count" must be a positive integer number or zero');
         }
         $this->data['commentCount'] = (int) $count;
+
+        return $this;
     }
 
     /**
@@ -261,6 +292,7 @@ class Entry
      *
      * @param string $link
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setCommentLink($link)
     {
@@ -268,6 +300,8 @@ class Entry
             throw new Exception\InvalidArgumentException('Invalid parameter: "link" must be a non-empty string and valid URI/IRI');
         }
         $this->data['commentLink'] = $link;
+
+        return $this;
     }
 
     /**
@@ -275,6 +309,7 @@ class Entry
      *
      * @param array $link
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setCommentFeedLink(array $link)
     {
@@ -289,6 +324,8 @@ class Entry
             $this->data['commentFeedLinks'] = array();
         }
         $this->data['commentFeedLinks'][] = $link;
+
+        return $this;
     }
 
     /**
@@ -297,12 +334,15 @@ class Entry
      * "atom", "rss" or "rdf".
      *
      * @param array $links
+     * @return Entry
      */
     public function setCommentFeedLinks(array $links)
     {
         foreach ($links as $link) {
             $this->setCommentFeedLink($link);
         }
+
+        return $this;
     }
 
     /**
@@ -310,6 +350,7 @@ class Entry
      *
      * @param string $title
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setTitle($title)
     {
@@ -317,6 +358,8 @@ class Entry
             throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
         }
         $this->data['title'] = $title;
+
+        return $this;
     }
 
     /**
@@ -495,6 +538,7 @@ class Entry
      *
      * @param array $category
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function addCategory(array $category)
     {
@@ -516,18 +560,23 @@ class Entry
             $this->data['categories'] = array();
         }
         $this->data['categories'][] = $category;
+
+        return $this;
     }
 
     /**
      * Set an array of entry categories
      *
      * @param array $categories
+     * @return Entry
      */
     public function addCategories(array $categories)
     {
         foreach ($categories as $category) {
             $this->addCategory($category);
         }
+
+        return $this;
     }
 
     /**
@@ -551,6 +600,7 @@ class Entry
      *
      * @param array $enclosure
      * @throws Exception\InvalidArgumentException
+     * @return Entry
      */
     public function setEnclosure(array $enclosure)
     {
@@ -561,6 +611,8 @@ class Entry
             throw new Exception\InvalidArgumentException('Enclosure "uri" is not a valid URI/IRI');
         }
         $this->data['enclosure'] = $enclosure;
+
+        return $this;
     }
 
     /**
@@ -580,12 +632,15 @@ class Entry
      * Unset a specific data point
      *
      * @param string $name
+     * @return Entry
      */
     public function remove($name)
     {
         if (isset($this->data[$name])) {
             unset($this->data[$name]);
         }
+
+        return $this;
     }
 
     /**
@@ -618,10 +673,12 @@ class Entry
      * on their appropriateness for the current type, e.g. renderers.
      *
      * @param string $type
+     * @return Entry
      */
     public function setType($type)
     {
         $this->type = $type;
+        return $this;
     }
 
     /**
@@ -676,10 +733,12 @@ class Entry
      * the feed data container's internal group of entries.
      *
      * @param Source $source
+     * @return Entry
      */
     public function setSource(Source $source)
     {
         $this->data['source'] = $source;
+        return $this;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/ExtensionManager.php b/vendor/ZF2/library/Zend/Feed/Writer/ExtensionManager.php
index 3af525af513..24ec09f3aa4 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/ExtensionManager.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/ExtensionManager.php
@@ -11,7 +11,6 @@
 namespace Zend\Feed\Writer;
 
 use Zend\ServiceManager\AbstractPluginManager;
-use Zend\ServiceManager\ConfigInterface;
 
 /**
  * Plugin manager implementation for feed writer extensions
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Feed.php b/vendor/ZF2/library/Zend/Feed/Writer/Feed.php
index 3afc5507b14..74263e54813 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Feed.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Feed.php
@@ -11,7 +11,6 @@
 namespace Zend\Feed\Writer;
 
 use Countable;
-use DateTime;
 use Iterator;
 use Zend\Feed\Writer\Renderer;
 
@@ -87,10 +86,12 @@ class Feed extends AbstractFeed implements Iterator, Countable
      * the feed data container's internal group of entries.
      *
      * @param Entry $entry
+     * @return Feed
      */
     public function addEntry(Entry $entry)
     {
         $this->entries[] = $entry;
+        return $this;
     }
 
     /**
@@ -99,6 +100,7 @@ class Feed extends AbstractFeed implements Iterator, Countable
      *
      * @param int $index
      * @throws Exception\InvalidArgumentException
+     * @return Feed
      */
     public function removeEntry($index)
     {
@@ -106,6 +108,8 @@ class Feed extends AbstractFeed implements Iterator, Countable
             throw new Exception\InvalidArgumentException('Undefined index: ' . $index . '. Entry does not exist.');
         }
         unset($this->entries[$index]);
+
+        return $this;
     }
 
     /**
@@ -130,7 +134,7 @@ class Feed extends AbstractFeed implements Iterator, Countable
      *
      * Using this method will alter the original indexation.
      *
-     * @return void
+     * @return Feed
      */
     public function orderByDate()
     {
@@ -149,6 +153,8 @@ class Feed extends AbstractFeed implements Iterator, Countable
         }
         krsort($entries, \SORT_NUMERIC);
         $this->entries = array_values($entries);
+
+        return $this;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Source.php b/vendor/ZF2/library/Zend/Feed/Writer/Source.php
index 1195b38e2ae..f7d9391a4b5 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Source.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Source.php
@@ -16,5 +16,4 @@ namespace Zend\Feed\Writer;
 */
 class Source extends AbstractFeed
 {
-
 }
diff --git a/vendor/ZF2/library/Zend/Feed/composer.json b/vendor/ZF2/library/Zend/Feed/composer.json
index d98958ee8e9..cf0646db120 100644
--- a/vendor/ZF2/library/Zend/Feed/composer.json
+++ b/vendor/ZF2/library/Zend/Feed/composer.json
@@ -8,17 +8,19 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Feed": ""
+            "Zend\\Feed\\": ""
         }
     },
     "target-dir": "Zend/Feed",
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-escaper": "self.version",
-        "zendframework/zend-stdlib": "self.version"
+        "zendframework/zend-stdlib": "self.version",
+        "zendframework/zend-servicemanager": "self.version",
+        "zendframework/zend-uri": "self.version",
+        "zendframework/zend-version": "self.version"
     },
     "suggest": {
-        "zendframework/zend-uri": "Zend\\Uri component",
         "zendframework/zend-validator": "Zend\\Validator component"
     }
 }
diff --git a/vendor/ZF2/library/Zend/File/PhpClassFile.php b/vendor/ZF2/library/Zend/File/PhpClassFile.php
index afe3d817d92..295158eb4e3 100644
--- a/vendor/ZF2/library/Zend/File/PhpClassFile.php
+++ b/vendor/ZF2/library/Zend/File/PhpClassFile.php
@@ -38,7 +38,7 @@ class PhpClassFile extends SplFileInfo
     /**
      * Add class
      *
-     * @param string $class
+     * @param  string $class
      * @return PhpClassFile
      */
     public function addClass($class)
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php b/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php
index 537e1bacdfd..6f717d68331 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php
@@ -182,7 +182,7 @@ abstract class AbstractAdapter implements TranslatorAwareInterface
     /**
      * Has the file been filtered ?
      *
-     * @param array|string|null $files
+     * @param  array|string|null $files
      * @return bool
      */
     abstract public function isFiltered($files = null);
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php b/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php
index d389cd92929..a1508d318ae 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php
@@ -29,7 +29,7 @@ class Http extends AbstractAdapter
     /**
      * Constructor for Http File Transfers
      *
-     * @param array $options OPTIONAL Options to set
+     * @param  array $options OPTIONAL Options to set
      * @throws Exception\PhpEnvironmentException if file uploads are not allowed
      */
     public function __construct($options = array())
diff --git a/vendor/ZF2/library/Zend/File/composer.json b/vendor/ZF2/library/Zend/File/composer.json
index e8c1a7d5323..eac6a35d984 100644
--- a/vendor/ZF2/library/Zend/File/composer.json
+++ b/vendor/ZF2/library/Zend/File/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\File": ""
+            "Zend\\File\\": ""
         }
     },
     "target-dir": "Zend/File",
diff --git a/vendor/ZF2/library/Zend/Filter/AbstractFilter.php b/vendor/ZF2/library/Zend/Filter/AbstractFilter.php
index 9aece4810dc..d842e87aa74 100644
--- a/vendor/ZF2/library/Zend/Filter/AbstractFilter.php
+++ b/vendor/ZF2/library/Zend/Filter/AbstractFilter.php
@@ -11,7 +11,6 @@
 namespace Zend\Filter;
 
 use Traversable;
-use Zend\Stdlib\ArrayUtils;
 use Zend\Stdlib\ErrorHandler;
 
 /**
@@ -42,7 +41,7 @@ abstract class AbstractFilter implements FilterInterface
         if (static::$hasPcreUnicodeSupport === null) {
             static::$hasPcreUnicodeSupport = false;
             ErrorHandler::start();
-            if (defined('PREG_BAD_UTF8_OFFSET_ERROR') || preg_match('/\pL/u', 'a') == 1) {
+            if (defined('PREG_BAD_UTF8_OFFSET_ERROR') && preg_match('/\pL/u', 'a') == 1) {
                 static::$hasPcreUnicodeSupport = true;
             }
             ErrorHandler::stop();
diff --git a/vendor/ZF2/library/Zend/Filter/Null.php b/vendor/ZF2/library/Zend/Filter/Null.php
index 31728e6a0a4..2cb7efd3117 100644
--- a/vendor/ZF2/library/Zend/Filter/Null.php
+++ b/vendor/ZF2/library/Zend/Filter/Null.php
@@ -11,7 +11,6 @@
 namespace Zend\Filter;
 
 use Traversable;
-use Zend\Stdlib\ArrayUtils;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Filter/PregReplace.php b/vendor/ZF2/library/Zend/Filter/PregReplace.php
index 54e35ddb746..cd011510bfa 100644
--- a/vendor/ZF2/library/Zend/Filter/PregReplace.php
+++ b/vendor/ZF2/library/Zend/Filter/PregReplace.php
@@ -11,7 +11,6 @@
 namespace Zend\Filter;
 
 use Traversable;
-use Zend\Stdlib\ArrayUtils;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Filter/StringTrim.php b/vendor/ZF2/library/Zend/Filter/StringTrim.php
index 10be795ef47..5d84fe7f324 100644
--- a/vendor/ZF2/library/Zend/Filter/StringTrim.php
+++ b/vendor/ZF2/library/Zend/Filter/StringTrim.php
@@ -11,7 +11,6 @@
 namespace Zend\Filter;
 
 use Traversable;
-use Zend\Stdlib\ArrayUtils;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Filter/composer.json b/vendor/ZF2/library/Zend/Filter/composer.json
index b9928d99b19..254059717bd 100644
--- a/vendor/ZF2/library/Zend/Filter/composer.json
+++ b/vendor/ZF2/library/Zend/Filter/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Filter": ""
+            "Zend\\Filter\\": ""
         }
     },
     "target-dir": "Zend/Filter",
diff --git a/vendor/ZF2/library/Zend/Form/Annotation/Object.php b/vendor/ZF2/library/Zend/Form/Annotation/Object.php
index b72859bcfed..6494856611b 100644
--- a/vendor/ZF2/library/Zend/Form/Annotation/Object.php
+++ b/vendor/ZF2/library/Zend/Form/Annotation/Object.php
@@ -21,7 +21,6 @@
 
 namespace Zend\Form\Annotation;
 
-use Zend\Form\Exception\UnexpectedValueException;
 
 /**
  * Object annotation
diff --git a/vendor/ZF2/library/Zend/Form/Element/Checkbox.php b/vendor/ZF2/library/Zend/Form/Element/Checkbox.php
index 795173800a5..b9571e38d55 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Checkbox.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Checkbox.php
@@ -23,7 +23,6 @@ namespace Zend\Form\Element;
 
 use Traversable;
 use Zend\Form\Element;
-use Zend\Form\Exception;
 use Zend\InputFilter\InputProviderInterface;
 use Zend\Validator\InArray as InArrayValidator;
 use Zend\Validator\ValidatorInterface;
@@ -102,7 +101,7 @@ class Checkbox extends Element implements InputProviderInterface
      */
     public function setUseHiddenElement($useHiddenElement)
     {
-        $this->useHiddenElement = (bool)$useHiddenElement;
+        $this->useHiddenElement = (bool) $useHiddenElement;
         return $this;
     }
 
@@ -203,7 +202,7 @@ class Checkbox extends Element implements InputProviderInterface
      */
     public function isChecked()
     {
-        return (bool)$this->value;
+        return (bool) $this->value;
     }
 
     /**
@@ -214,7 +213,7 @@ class Checkbox extends Element implements InputProviderInterface
      */
     public function setChecked($value)
     {
-        $this->value = (bool)$value;
+        $this->value = (bool) $value;
         return $this;
     }
 
diff --git a/vendor/ZF2/library/Zend/Form/Element/Collection.php b/vendor/ZF2/library/Zend/Form/Element/Collection.php
index fc0981019e2..c8ce5c5c652 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Collection.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Collection.php
@@ -18,7 +18,6 @@ use Zend\Form\Fieldset;
 use Zend\Form\FieldsetInterface;
 use Zend\Form\FieldsetPrepareAwareInterface;
 use Zend\Form\Form;
-use Zend\InputFilter\InputFilterProviderInterface;
 use Zend\Stdlib\ArrayUtils;
 
 /**
@@ -157,6 +156,8 @@ class Collection extends Fieldset implements FieldsetPrepareAwareInterface
         }
 
         $this->object = $object;
+        $this->count  = count($object);
+
         return $this;
     }
 
@@ -345,7 +346,7 @@ class Collection extends Fieldset implements FieldsetPrepareAwareInterface
      */
     public function setAllowAdd($allowAdd)
     {
-        $this->allowAdd = (bool)$allowAdd;
+        $this->allowAdd = (bool) $allowAdd;
         return $this;
     }
 
@@ -365,7 +366,7 @@ class Collection extends Fieldset implements FieldsetPrepareAwareInterface
      */
     public function setAllowRemove($allowRemove)
     {
-        $this->allowRemove = (bool)$allowRemove;
+        $this->allowRemove = (bool) $allowRemove;
         return $this;
     }
 
@@ -385,7 +386,7 @@ class Collection extends Fieldset implements FieldsetPrepareAwareInterface
      */
     public function setShouldCreateTemplate($shouldCreateTemplate)
     {
-        $this->shouldCreateTemplate = (bool)$shouldCreateTemplate;
+        $this->shouldCreateTemplate = (bool) $shouldCreateTemplate;
 
         return $this;
     }
diff --git a/vendor/ZF2/library/Zend/Form/Element/Csrf.php b/vendor/ZF2/library/Zend/Form/Element/Csrf.php
index bbc6626c94d..85ce01603d7 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Csrf.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Csrf.php
@@ -88,7 +88,7 @@ class Csrf extends Element implements InputProviderInterface, ElementPrepareAwar
         if (null === $this->csrfValidator) {
             $csrfOptions = $this->getCsrfValidatorOptions();
             $csrfOptions = array_merge($csrfOptions, array('name' => $this->getName()));
-            $this->csrfValidator = new CsrfValidator($csrfOptions);
+            $this->setCsrfValidator(new CsrfValidator($csrfOptions));
         }
         return $this->csrfValidator;
     }
diff --git a/vendor/ZF2/library/Zend/Form/Element/Date.php b/vendor/ZF2/library/Zend/Form/Element/Date.php
index 4ee17c590c5..851da2dc09e 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Date.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Date.php
@@ -12,7 +12,6 @@ namespace Zend\Form\Element;
 
 use Zend\Form\Element;
 use Zend\Form\Element\DateTime as DateTimeElement;
-use Zend\InputFilter\InputProviderInterface;
 use Zend\Validator\Date as DateValidator;
 use Zend\Validator\DateStep as DateStepValidator;
 use Zend\Validator\ValidatorInterface;
@@ -33,6 +32,14 @@ class Date extends DateTimeElement
         'type' => 'date',
     );
 
+    /**
+     * Date format to use for DateTime values. By default, this is RFC-3339,
+     * full-date (Y-m-d), which is what HTML5 dictates.
+     *
+     * @var string
+     */
+    protected $format = 'Y-m-d';
+
     /**
      * Retrieves a Date Validator configured for a DateTime Input type
      *
diff --git a/vendor/ZF2/library/Zend/Form/Element/DateTime.php b/vendor/ZF2/library/Zend/Form/Element/DateTime.php
index f3a2aca35e6..76166988375 100644
--- a/vendor/ZF2/library/Zend/Form/Element/DateTime.php
+++ b/vendor/ZF2/library/Zend/Form/Element/DateTime.php
@@ -18,7 +18,6 @@ use Zend\Validator\Date as DateValidator;
 use Zend\Validator\DateStep as DateStepValidator;
 use Zend\Validator\GreaterThan as GreaterThanValidator;
 use Zend\Validator\LessThan as LessThanValidator;
-use Zend\Validator\ValidatorInterface;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Form/Element/DateTimeLocal.php b/vendor/ZF2/library/Zend/Form/Element/DateTimeLocal.php
index 7c50e2b6a60..3365ae5e818 100644
--- a/vendor/ZF2/library/Zend/Form/Element/DateTimeLocal.php
+++ b/vendor/ZF2/library/Zend/Form/Element/DateTimeLocal.php
@@ -11,7 +11,6 @@
 namespace Zend\Form\Element;
 
 use Zend\Form\Element;
-use Zend\InputFilter\InputProviderInterface;
 use Zend\Validator\DateStep as DateStepValidator;
 use Zend\Validator\ValidatorInterface;
 
diff --git a/vendor/ZF2/library/Zend/Form/Element/File.php b/vendor/ZF2/library/Zend/Form/Element/File.php
index 9d36787188c..48e6e2204c3 100644
--- a/vendor/ZF2/library/Zend/Form/Element/File.php
+++ b/vendor/ZF2/library/Zend/Form/Element/File.php
@@ -22,6 +22,8 @@
 namespace Zend\Form\Element;
 
 use Zend\Form\Element;
+use Zend\Form\ElementPrepareAwareInterface;
+use Zend\Form\Form;
 
 /**
  * @category   Zend
@@ -30,7 +32,7 @@ use Zend\Form\Element;
  * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
-class File extends Element
+class File extends Element implements ElementPrepareAwareInterface
 {
     /**
      * Seed attributes
@@ -40,4 +42,16 @@ class File extends Element
     protected $attributes = array(
         'type' => 'file',
     );
+
+    /**
+     * Prepare the form element (mostly used for rendering purposes)
+     *
+     * @param  Form $form
+     * @return mixed
+     */
+    public function prepareElement(Form $form)
+    {
+        // Ensure the form is using correct enctype
+        $form->setAttribute('enctype', 'multipart/form-data');
+    }
 }
diff --git a/vendor/ZF2/library/Zend/Form/Element/Month.php b/vendor/ZF2/library/Zend/Form/Element/Month.php
index 115460dea5e..7da85b544f8 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Month.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Month.php
@@ -11,7 +11,6 @@
 namespace Zend\Form\Element;
 
 use Zend\Form\Element;
-use Zend\InputFilter\InputProviderInterface;
 use Zend\Validator\DateStep as DateStepValidator;
 use Zend\Validator\Regex as RegexValidator;
 use Zend\Validator\ValidatorInterface;
diff --git a/vendor/ZF2/library/Zend/Form/Element/MultiCheckbox.php b/vendor/ZF2/library/Zend/Form/Element/MultiCheckbox.php
index a0ccf7a39c0..51a219b2c25 100644
--- a/vendor/ZF2/library/Zend/Form/Element/MultiCheckbox.php
+++ b/vendor/ZF2/library/Zend/Form/Element/MultiCheckbox.php
@@ -63,8 +63,8 @@ class MultiCheckbox extends Checkbox
     {
         $this->valueOptions = $options;
 
-        // Update InArray validator haystack
-        if (!is_null($this->validator)) {
+        // Update Explode validator haystack
+        if ($this->validator instanceof ExplodeValidator) {
             $validator = $this->validator->getValidator();
             $validator->setHaystack($this->getValueOptionsValues());
         }
diff --git a/vendor/ZF2/library/Zend/Form/Element/Password.php b/vendor/ZF2/library/Zend/Form/Element/Password.php
index 8d5310d34da..6894895ad82 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Password.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Password.php
@@ -21,7 +21,9 @@
 
 namespace Zend\Form\Element;
 
+use Zend\Form\Form;
 use Zend\Form\Element;
+use Zend\Form\ElementPrepareAwareInterface;
 
 /**
  * @category   Zend
@@ -30,7 +32,7 @@ use Zend\Form\Element;
  * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
-class Password extends Element
+class Password extends Element implements ElementPrepareAwareInterface
 {
     /**
      * Seed attributes
@@ -40,4 +42,15 @@ class Password extends Element
     protected $attributes = array(
         'type' => 'password',
     );
+
+    /**
+     * Remove the password before rendering if the form fails in order to avoid any security issue
+     *
+     * @param  Form $form
+     * @return mixed
+     */
+    public function prepareElement(Form $form)
+    {
+        $this->setValue('');
+    }
 }
diff --git a/vendor/ZF2/library/Zend/Form/Element/Select.php b/vendor/ZF2/library/Zend/Form/Element/Select.php
index a6850ffac42..22895a6a16b 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Select.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Select.php
@@ -83,8 +83,17 @@ class Select extends Element implements InputProviderInterface
 
         // Update InArrayValidator validator haystack
         if (!is_null($this->validator)) {
-            $validator = $this->validator instanceof InArrayValidator ? $this->validator : $this->validator->getValidator();
-            $validator->setHaystack($this->getValueOptionsValues());
+            if ($this->validator instanceof InArrayValidator){
+                $validator = $this->validator;
+            }
+            if ($this->validator instanceof ExplodeValidator
+                && $this->validator->getValidator() instanceof InArrayValidator
+            ){
+                $validator = $this->validator->getValidator();
+            }
+            if (!empty($validator)){
+                $validator->setHaystack($this->getValueOptionsValues());
+            }
         }
 
         return $this;
diff --git a/vendor/ZF2/library/Zend/Form/Element/Time.php b/vendor/ZF2/library/Zend/Form/Element/Time.php
index 1b6c3140fee..50883680741 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Time.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Time.php
@@ -11,7 +11,6 @@
 namespace Zend\Form\Element;
 
 use Zend\Form\Element;
-use Zend\InputFilter\InputProviderInterface;
 use Zend\Validator\Date as DateValidator;
 use Zend\Validator\DateStep as DateStepValidator;
 use Zend\Validator\ValidatorInterface;
diff --git a/vendor/ZF2/library/Zend/Form/Element/Week.php b/vendor/ZF2/library/Zend/Form/Element/Week.php
index 2f8cc5641de..0dd23617f45 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Week.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Week.php
@@ -11,7 +11,6 @@
 namespace Zend\Form\Element;
 
 use Zend\Form\Element;
-use Zend\InputFilter\InputProviderInterface;
 use Zend\Validator\DateStep as DateStepValidator;
 use Zend\Validator\Regex as RegexValidator;
 use Zend\Validator\ValidatorInterface;
diff --git a/vendor/ZF2/library/Zend/Form/Form.php b/vendor/ZF2/library/Zend/Form/Form.php
index cfd05fd0d6c..983105dfca6 100644
--- a/vendor/ZF2/library/Zend/Form/Form.php
+++ b/vendor/ZF2/library/Zend/Form/Form.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Form;
 
-use IteratorAggregate;
 use Traversable;
 use Zend\Form\Element\Collection;
 use Zend\Form\Exception;
@@ -78,6 +77,13 @@ class Form extends Fieldset implements FormInterface
      */
     protected $useInputFilterDefaults = true;
 
+    /**
+     * Has the input filter defaults been added already ?
+     *
+     * @var bool
+     */
+    protected $hasAddedInputFilterDefaults = false;
+
     /**
      * Whether or not validation has occurred
      *
@@ -137,12 +143,6 @@ class Form extends Fieldset implements FormInterface
             $elementOrFieldset = $factory->create($elementOrFieldset);
         }
 
-        // check if the element is a file and add enctype attribute if so
-        $type = $elementOrFieldset->getAttribute('type');
-        if (isset($type) && $type === 'file') {
-            $this->attributes['enctype'] = 'multipart/form-data';
-        }
-
         parent::add($elementOrFieldset, $flags);
 
         if ($elementOrFieldset instanceof Fieldset && $elementOrFieldset->useAsBaseFieldset()) {
@@ -159,26 +159,29 @@ class Form extends Fieldset implements FormInterface
      * available, and prepares any elements and/or fieldsets that require
      * preparation.
      *
-     * @return void
+     * @return Form
      */
     public function prepare()
     {
-        if (!$this->isPrepared) {
-            $this->getInputFilter();
+        if ($this->isPrepared) {
+            return $this;
+        }
 
-            // If the user wants to, elements names can be wrapped by the form's name
-            if ($this->wrapElements()) {
-                $this->prepareElement($this);
-            } else {
-                foreach ($this->getIterator() as $elementOrFieldset) {
-                    if ($elementOrFieldset instanceof ElementPrepareAwareInterface) {
-                        $elementOrFieldset->prepareElement($this);
-                    }
+        $this->getInputFilter();
+
+        // If the user wants to, elements names can be wrapped by the form's name
+        if ($this->wrapElements()) {
+            $this->prepareElement($this);
+        } else {
+            foreach ($this->getIterator() as $elementOrFieldset) {
+                if ($elementOrFieldset instanceof ElementPrepareAwareInterface) {
+                    $elementOrFieldset->prepareElement($this);
                 }
             }
-
-            $this->isPrepared = true;
         }
+
+        $this->isPrepared = true;
+        return $this;
     }
 
     /**
@@ -267,7 +270,12 @@ class Form extends Fieldset implements FormInterface
         if (!is_object($this->object)) {
             return;
         }
-        if (!$this->isValid) {
+        if (!$this->hasValidated() && !empty($values)) {
+            $this->setData($values);
+            if (!$this->isValid()) {
+                return;
+            }
+        } elseif (!$this->isValid) {
             return;
         }
 
@@ -284,7 +292,14 @@ class Form extends Fieldset implements FormInterface
         }
 
         $data = $this->prepareBindData($data, $this->data);
-        $this->object = parent::bindValues($data);
+
+        // If there is a base fieldset, only hydrate beginning from the base fieldset
+        if ($this->baseFieldset !== null) {
+            $data = $data[$this->baseFieldset->getName()];
+            $this->object = $this->baseFieldset->bindValues($data);
+        } else {
+            $this->object = parent::bindValues($data);
+        }
     }
 
     /**
@@ -424,6 +439,8 @@ class Form extends Fieldset implements FormInterface
         }
 
         $this->isValid = $result = $filter->isValid();
+        $this->hasValidated = true;
+
         if ($result && $this->bindOnValidate()) {
             $this->bindValues();
         }
@@ -432,7 +449,6 @@ class Form extends Fieldset implements FormInterface
             $this->setMessages($filter->getMessages());
         }
 
-        $this->hasValidated = true;
         return $result;
     }
 
@@ -558,8 +574,9 @@ class Form extends Fieldset implements FormInterface
      */
     public function setInputFilter(InputFilterInterface $inputFilter)
     {
-        $this->hasValidated = false;
-        $this->filter       = $inputFilter;
+        $this->hasValidated                = false;
+        $this->hasAddedInputFilterDefaults = false;
+        $this->filter                      = $inputFilter;
         return $this;
     }
 
@@ -583,12 +600,16 @@ class Form extends Fieldset implements FormInterface
             }
         }
 
-        if (null === $this->filter) {
+        if (!isset($this->filter)) {
             $this->filter = new InputFilter();
         }
 
-        if ($this->filter instanceof InputFilterInterface && $this->useInputFilterDefaults()) {
+        if (!$this->hasAddedInputFilterDefaults
+            && $this->filter instanceof InputFilterInterface
+            && $this->useInputFilterDefaults()
+        ) {
             $this->attachInputFilterDefaults($this->filter, $this);
+            $this->hasAddedInputFilterDefaults = true;
         }
 
         return $this->filter;
diff --git a/vendor/ZF2/library/Zend/Form/FormInterface.php b/vendor/ZF2/library/Zend/Form/FormInterface.php
index 1574812d408..2d6c174c34d 100644
--- a/vendor/ZF2/library/Zend/Form/FormInterface.php
+++ b/vendor/ZF2/library/Zend/Form/FormInterface.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Form;
 
-use IteratorAggregate;
 use Zend\InputFilter\InputFilterInterface;
 
 /**
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/AbstractWord.php b/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/AbstractWord.php
index 30c127a46ab..e72db9602b6 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/AbstractWord.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/AbstractWord.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Form\View\Helper\Captcha;
 
-use Traversable;
 use Zend\Captcha\AdapterInterface as CaptchaAdapter;
 use Zend\Form\ElementInterface;
 use Zend\Form\Exception;
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/ReCaptcha.php b/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/ReCaptcha.php
index f4c3f9ad911..1adaba7bb60 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/ReCaptcha.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/ReCaptcha.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Form\View\Helper\Captcha;
 
-use Traversable;
 use Zend\Captcha\ReCaptcha as CaptchaAdapter;
 use Zend\Form\ElementInterface;
 use Zend\Form\Exception;
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormCheckbox.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormCheckbox.php
index d00dec9f988..c41f3998f01 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormCheckbox.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormCheckbox.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Form\View\Helper;
 
-use Traversable;
 use Zend\Form\ElementInterface;
 use Zend\Form\Element\Checkbox as CheckboxElement;
 use Zend\Form\Exception;
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormCollection.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormCollection.php
index c376a24f608..f193c291aee 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormCollection.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormCollection.php
@@ -15,6 +15,7 @@ use Zend\Form\Element;
 use Zend\Form\ElementInterface;
 use Zend\Form\Element\Collection as CollectionElement;
 use Zend\Form\FieldsetInterface;
+use Zend\View\Helper\AbstractHelper as BaseAbstractHelper;
 
 /**
  * @category   Zend
@@ -137,7 +138,7 @@ class FormCollection extends AbstractHelper
      */
     public function setShouldWrap($wrap)
     {
-        $this->shouldWrap = (bool)$wrap;
+        $this->shouldWrap = (bool) $wrap;
         return $this;
     }
 
@@ -189,7 +190,7 @@ class FormCollection extends AbstractHelper
             $this->elementHelper = $this->view->plugin($this->getDefaultElementHelper());
         }
 
-        if (!$this->elementHelper instanceof AbstractHelper) {
+        if (!$this->elementHelper instanceof BaseAbstractHelper) {
             // @todo Ideally the helper should implement an interface.
             throw new RuntimeException('Invalid element helper set in FormCollection. The helper must be an instance of AbstractHelper.');
         }
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormMultiCheckbox.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormMultiCheckbox.php
index 95a8adcfac6..5190895f38e 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormMultiCheckbox.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormMultiCheckbox.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Form\View\Helper;
 
-use Traversable;
 use Zend\Form\ElementInterface;
 use Zend\Form\Element\MultiCheckbox as MultiCheckboxElement;
 use Zend\Form\Exception;
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormRow.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormRow.php
index 6109416e0a0..c55dfbb469c 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormRow.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormRow.php
@@ -134,10 +134,10 @@ class FormRow extends AbstractHelper
                         $markup = $labelOpen . $elementString . $label . $labelClose;
                         break;
                 }
+            }
 
-                if ($this->renderErrors) {
-                    $markup .= $elementErrors;
-                }
+            if ($this->renderErrors) {
+                $markup .= $elementErrors;
             }
         } else {
             if ($this->renderErrors) {
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormSelect.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormSelect.php
index 457be9136f4..dcd9eea6616 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormSelect.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormSelect.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Form\View\Helper;
 
-use Traversable;
 use Zend\Form\ElementInterface;
 use Zend\Form\Element\Select as SelectElement;
 use Zend\Form\Exception;
diff --git a/vendor/ZF2/library/Zend/Form/composer.json b/vendor/ZF2/library/Zend/Form/composer.json
index 61d0f4618e0..fcc49e5362f 100644
--- a/vendor/ZF2/library/Zend/Form/composer.json
+++ b/vendor/ZF2/library/Zend/Form/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Form": ""
+            "Zend\\Form\\": ""
         }
     },
     "target-dir": "Zend/Form",
diff --git a/vendor/ZF2/library/Zend/Http/Client/Adapter/Curl.php b/vendor/ZF2/library/Zend/Http/Client/Adapter/Curl.php
index 222598cf245..7f9344c1e42 100644
--- a/vendor/ZF2/library/Zend/Http/Client/Adapter/Curl.php
+++ b/vendor/ZF2/library/Zend/Http/Client/Adapter/Curl.php
@@ -204,11 +204,15 @@ class Curl implements HttpAdapter, StreamInterface
             curl_setopt($this->curl, CURLOPT_PORT, intval($port));
         }
 
-        // Set timeout
-        curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, $this->config['timeout']);
+        if (isset($this->config['timeout'])) {
+            // Set timeout
+            curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, $this->config['timeout']);
+        }
 
-        // Set Max redirects
-        curl_setopt($this->curl, CURLOPT_MAXREDIRS, $this->config['maxredirects']);
+        if (isset($this->config['maxredirects'])) {
+            // Set Max redirects
+            curl_setopt($this->curl, CURLOPT_MAXREDIRS, $this->config['maxredirects']);
+        }
 
         if (!$this->curl) {
             $this->close();
@@ -395,7 +399,7 @@ class Curl implements HttpAdapter, StreamInterface
 
         // set additional curl options
         if (isset($this->config['curloptions'])) {
-            foreach ((array)$this->config['curloptions'] as $k => $v) {
+            foreach ((array) $this->config['curloptions'] as $k => $v) {
                 if (!in_array($k, $this->invalidOverwritableCurlOptions)) {
                     if (curl_setopt($this->curl, $k, $v) == false) {
                         throw new AdapterException\RuntimeException(sprintf("Unknown or erroreous cURL option '%s' set", $k));
diff --git a/vendor/ZF2/library/Zend/Http/Header/Cookie.php b/vendor/ZF2/library/Zend/Http/Header/Cookie.php
index 4125adb8aad..ab98a29bcc0 100644
--- a/vendor/ZF2/library/Zend/Http/Header/Cookie.php
+++ b/vendor/ZF2/library/Zend/Http/Header/Cookie.php
@@ -11,7 +11,6 @@
 namespace Zend\Http\Header;
 
 use ArrayObject;
-use Zend\Uri;
 
 /**
  * @see http://www.ietf.org/rfc/rfc2109.txt
diff --git a/vendor/ZF2/library/Zend/Http/Header/Location.php b/vendor/ZF2/library/Zend/Http/Header/Location.php
index 03aed0b3a13..bc645c0304f 100644
--- a/vendor/ZF2/library/Zend/Http/Header/Location.php
+++ b/vendor/ZF2/library/Zend/Http/Header/Location.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Http\Header;
 
-use Zend\Uri\Http as HttpUri;
 
 /**
  * Location Header
diff --git a/vendor/ZF2/library/Zend/Http/Header/SetCookie.php b/vendor/ZF2/library/Zend/Http/Header/SetCookie.php
index bb31a02fb13..9f1bbcb83f9 100644
--- a/vendor/ZF2/library/Zend/Http/Header/SetCookie.php
+++ b/vendor/ZF2/library/Zend/Http/Header/SetCookie.php
@@ -487,7 +487,7 @@ class SetCookie implements MultipleHeaderInterface
 
     public function isValidForRequest($requestDomain, $path, $isSecure = false)
     {
-        if ($this->getDomain() && (strrpos($requestDomain, $this->getDomain()) !== false)) {
+        if ($this->getDomain() && (strrpos($requestDomain, $this->getDomain()) === false)) {
             return false;
         }
 
diff --git a/vendor/ZF2/library/Zend/Http/composer.json b/vendor/ZF2/library/Zend/Http/composer.json
index bd09c06d41d..a5b699cd810 100644
--- a/vendor/ZF2/library/Zend/Http/composer.json
+++ b/vendor/ZF2/library/Zend/Http/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Http": ""
+            "Zend\\Http\\": ""
         }
     },
     "target-dir": "Zend/Http",
diff --git a/vendor/ZF2/library/Zend/I18n/Exception/ExceptionInterface.php b/vendor/ZF2/library/Zend/I18n/Exception/ExceptionInterface.php
index a13a9c0a133..c14266bb0b3 100644
--- a/vendor/ZF2/library/Zend/I18n/Exception/ExceptionInterface.php
+++ b/vendor/ZF2/library/Zend/I18n/Exception/ExceptionInterface.php
@@ -13,7 +13,7 @@ namespace Zend\I18n\Exception;
 /**
  * @category   Zend
  * @package    Zend_I18n
- * @subpackage Translator
+ * @subpackage Exception
  */
 interface ExceptionInterface
 {}
diff --git a/vendor/ZF2/library/Zend/I18n/Exception/InvalidArgumentException.php b/vendor/ZF2/library/Zend/I18n/Exception/InvalidArgumentException.php
index bdbdf667d95..4389791c006 100644
--- a/vendor/ZF2/library/Zend/I18n/Exception/InvalidArgumentException.php
+++ b/vendor/ZF2/library/Zend/I18n/Exception/InvalidArgumentException.php
@@ -13,7 +13,7 @@ namespace Zend\I18n\Exception;
 /**
  * @category   Zend
  * @package    Zend_I18n
- * @subpackage Translator
+ * @subpackage Exception
  */
 class InvalidArgumentException extends \InvalidArgumentException implements
     ExceptionInterface
diff --git a/vendor/ZF2/library/Zend/I18n/Exception/OutOfBoundsException.php b/vendor/ZF2/library/Zend/I18n/Exception/OutOfBoundsException.php
index 8122fc97b6c..53ab98ef1c2 100644
--- a/vendor/ZF2/library/Zend/I18n/Exception/OutOfBoundsException.php
+++ b/vendor/ZF2/library/Zend/I18n/Exception/OutOfBoundsException.php
@@ -13,7 +13,7 @@ namespace Zend\I18n\Exception;
 /**
  * @category   Zend
  * @package    Zend_I18n
- * @subpackage Translator
+ * @subpackage Exception
  */
 class OutOfBoundsException extends \OutOfBoundsException implements
     ExceptionInterface
diff --git a/vendor/ZF2/library/Zend/I18n/Exception/ParseException.php b/vendor/ZF2/library/Zend/I18n/Exception/ParseException.php
index 73857be7346..e0fa82a0074 100644
--- a/vendor/ZF2/library/Zend/I18n/Exception/ParseException.php
+++ b/vendor/ZF2/library/Zend/I18n/Exception/ParseException.php
@@ -13,7 +13,7 @@ namespace Zend\I18n\Exception;
 /**
  * @category   Zend
  * @package    Zend_I18n
- * @subpackage Translator
+ * @subpackage Exception
  */
 class ParseException extends RuntimeException implements ExceptionInterface
 {}
diff --git a/vendor/ZF2/library/Zend/I18n/Exception/RangeException.php b/vendor/ZF2/library/Zend/I18n/Exception/RangeException.php
index a534c972187..7d99da01c64 100644
--- a/vendor/ZF2/library/Zend/I18n/Exception/RangeException.php
+++ b/vendor/ZF2/library/Zend/I18n/Exception/RangeException.php
@@ -13,7 +13,7 @@ namespace Zend\I18n\Exception;
 /**
  * @category   Zend
  * @package    Zend_I18n
- * @subpackage Translator
+ * @subpackage Exception
  */
 class RangeException extends \RangeException implements ExceptionInterface
 {}
diff --git a/vendor/ZF2/library/Zend/I18n/Exception/RuntimeException.php b/vendor/ZF2/library/Zend/I18n/Exception/RuntimeException.php
index 024d6e55297..4bb5bca8e81 100644
--- a/vendor/ZF2/library/Zend/I18n/Exception/RuntimeException.php
+++ b/vendor/ZF2/library/Zend/I18n/Exception/RuntimeException.php
@@ -13,7 +13,7 @@ namespace Zend\I18n\Exception;
 /**
  * @category   Zend
  * @package    Zend_I18n
- * @subpackage Translator
+ * @subpackage Exception
  */
 class RuntimeException extends \RuntimeException implements ExceptionInterface
 {}
diff --git a/vendor/ZF2/library/Zend/I18n/Filter/AbstractLocale.php b/vendor/ZF2/library/Zend/I18n/Filter/AbstractLocale.php
index e74dee77e21..7522546235d 100644
--- a/vendor/ZF2/library/Zend/I18n/Filter/AbstractLocale.php
+++ b/vendor/ZF2/library/Zend/I18n/Filter/AbstractLocale.php
@@ -15,7 +15,8 @@ use Zend\Filter\AbstractFilter;
 
 /**
  * @category   Zend
- * @package    Zend_Filter
+ * @package    Zend_I18n
+ * @subpackage Filter
  */
 abstract class AbstractLocale extends AbstractFilter
 {
diff --git a/vendor/ZF2/library/Zend/I18n/Filter/Alnum.php b/vendor/ZF2/library/Zend/I18n/Filter/Alnum.php
index 305e767d6ce..6ec000037b3 100644
--- a/vendor/ZF2/library/Zend/I18n/Filter/Alnum.php
+++ b/vendor/ZF2/library/Zend/I18n/Filter/Alnum.php
@@ -12,11 +12,11 @@ namespace Zend\I18n\Filter;
 
 use Locale;
 use Traversable;
-use Zend\Stdlib\ArrayUtils;
 
 /**
  * @category   Zend
- * @package    Zend_Filter
+ * @package    Zend_I18n
+ * @subpackage Filter
  */
 class Alnum extends AbstractLocale
 {
diff --git a/vendor/ZF2/library/Zend/I18n/Filter/Alpha.php b/vendor/ZF2/library/Zend/I18n/Filter/Alpha.php
index 8c619305acb..d8929020ffb 100644
--- a/vendor/ZF2/library/Zend/I18n/Filter/Alpha.php
+++ b/vendor/ZF2/library/Zend/I18n/Filter/Alpha.php
@@ -14,7 +14,8 @@ use Locale;
 
 /**
  * @category   Zend
- * @package    Zend_Filter
+ * @package    Zend_I18n
+ * @subpackage Filter
  */
 class Alpha extends Alnum
 {
diff --git a/vendor/ZF2/library/Zend/I18n/Filter/NumberFormat.php b/vendor/ZF2/library/Zend/I18n/Filter/NumberFormat.php
index fc26ece3192..594e2159d87 100644
--- a/vendor/ZF2/library/Zend/I18n/Filter/NumberFormat.php
+++ b/vendor/ZF2/library/Zend/I18n/Filter/NumberFormat.php
@@ -15,6 +15,11 @@ use Traversable;
 use Zend\I18n\Exception;
 use Zend\Stdlib\ErrorHandler;
 
+/**
+ * @category   Zend
+ * @package    Zend_I18n
+ * @subpackage Filter
+ */
 class NumberFormat extends AbstractLocale
 {
     protected $options = array(
diff --git a/vendor/ZF2/library/Zend/I18n/Translator/TranslatorServiceFactory.php b/vendor/ZF2/library/Zend/I18n/Translator/TranslatorServiceFactory.php
index b2cd93a092e..a6395e745eb 100644
--- a/vendor/ZF2/library/Zend/I18n/Translator/TranslatorServiceFactory.php
+++ b/vendor/ZF2/library/Zend/I18n/Translator/TranslatorServiceFactory.php
@@ -25,7 +25,7 @@ class TranslatorServiceFactory implements FactoryInterface
     public function createService(ServiceLocatorInterface $serviceLocator)
     {
         // Configure the translator
-        $config = $serviceLocator->get('Configuration');
+        $config = $serviceLocator->get('Config');
         $trConfig = isset($config['translator']) ? $config['translator'] : array();
         $translator = Translator::factory($trConfig);
         return $translator;
diff --git a/vendor/ZF2/library/Zend/I18n/Validator/Alnum.php b/vendor/ZF2/library/Zend/I18n/Validator/Alnum.php
index ad1dc3d1e1f..1f08ab6ecde 100644
--- a/vendor/ZF2/library/Zend/I18n/Validator/Alnum.php
+++ b/vendor/ZF2/library/Zend/I18n/Validator/Alnum.php
@@ -15,7 +15,8 @@ use Zend\Validator\AbstractValidator;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_I18n
+ * @subpackage Validator
  */
 class Alnum extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/I18n/Validator/Alpha.php b/vendor/ZF2/library/Zend/I18n/Validator/Alpha.php
index 4dfdd1395f1..53c96adf27b 100644
--- a/vendor/ZF2/library/Zend/I18n/Validator/Alpha.php
+++ b/vendor/ZF2/library/Zend/I18n/Validator/Alpha.php
@@ -11,11 +11,11 @@
 namespace Zend\I18n\Validator;
 
 use Zend\I18n\Filter\Alpha as AlphaFilter;
-use Zend\Validator\AbstractValidator;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_I18n
+ * @subpackage Validator
  */
 class Alpha extends Alnum
 {
diff --git a/vendor/ZF2/library/Zend/I18n/Validator/Float.php b/vendor/ZF2/library/Zend/I18n/Validator/Float.php
index 010a7d8446f..09d70f5a886 100644
--- a/vendor/ZF2/library/Zend/I18n/Validator/Float.php
+++ b/vendor/ZF2/library/Zend/I18n/Validator/Float.php
@@ -19,7 +19,8 @@ use Zend\Validator\Exception;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_I18n
+ * @subpackage Validator
  */
 class Float extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/I18n/Validator/Int.php b/vendor/ZF2/library/Zend/I18n/Validator/Int.php
index 83a2f91db99..3b7f80a65b2 100644
--- a/vendor/ZF2/library/Zend/I18n/Validator/Int.php
+++ b/vendor/ZF2/library/Zend/I18n/Validator/Int.php
@@ -19,7 +19,8 @@ use Zend\Validator\Exception;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_I18n
+ * @subpackage Validator
  */
 class Int extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/I18n/Validator/PostCode.php b/vendor/ZF2/library/Zend/I18n/Validator/PostCode.php
index 0f4dfa34e8c..6aad8eafa3d 100644
--- a/vendor/ZF2/library/Zend/I18n/Validator/PostCode.php
+++ b/vendor/ZF2/library/Zend/I18n/Validator/PostCode.php
@@ -19,7 +19,8 @@ use Zend\Validator\Exception;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_I18n
+ * @subpackage Validator
  */
 class PostCode extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/I18n/View/Helper/AbstractTranslatorHelper.php b/vendor/ZF2/library/Zend/I18n/View/Helper/AbstractTranslatorHelper.php
index f1e9ddb33b4..975d2006d96 100644
--- a/vendor/ZF2/library/Zend/I18n/View/Helper/AbstractTranslatorHelper.php
+++ b/vendor/ZF2/library/Zend/I18n/View/Helper/AbstractTranslatorHelper.php
@@ -16,8 +16,8 @@ use Zend\View\Helper\AbstractHelper;
 
 /**
  * @category   Zend
- * @package    Zend_View
- * @subpackage Helper
+ * @package    Zend_I18n
+ * @subpackage View
  */
 abstract class AbstractTranslatorHelper extends AbstractHelper implements
     TranslatorAwareInterface
diff --git a/vendor/ZF2/library/Zend/I18n/View/Helper/CurrencyFormat.php b/vendor/ZF2/library/Zend/I18n/View/Helper/CurrencyFormat.php
index 75f7a0949ce..e4ad76f7058 100644
--- a/vendor/ZF2/library/Zend/I18n/View/Helper/CurrencyFormat.php
+++ b/vendor/ZF2/library/Zend/I18n/View/Helper/CurrencyFormat.php
@@ -15,7 +15,7 @@ use NumberFormatter;
 use Zend\View\Helper\AbstractHelper;
 
 /**
- * View helper for formatting dates.
+ * View helper for formatting currency.
  *
  * @category   Zend
  * @package    Zend_I18n
@@ -37,6 +37,13 @@ class CurrencyFormat extends AbstractHelper
      */
     protected $currencyCode;
 
+    /**
+     * If set to true, the currency will be returned with two decimals
+     *
+     * @var bool
+     */
+    protected $showDecimals = true;
+
     /**
      * Formatter instances.
      *
@@ -66,6 +73,28 @@ class CurrencyFormat extends AbstractHelper
         return $this->currencyCode;
     }
 
+    /**
+     * Set if the view helper should show two decimals
+     *
+     * @param  bool $showDecimals
+     * @return CurrencyFormat
+     */
+    public function setShouldShowDecimals($showDecimals)
+    {
+        $this->showDecimals = (bool) $showDecimals;
+        return $this;
+    }
+
+    /**
+     * Get if the view helper should show two decimals
+     *
+     * @return bool
+     */
+    public function shouldShowDecimals()
+    {
+        return $this->showDecimals;
+    }
+
     /**
      * Set locale to use instead of the default.
      *
@@ -97,12 +126,14 @@ class CurrencyFormat extends AbstractHelper
      *
      * @param  float  $number
      * @param  string $currencyCode
+     * @param  bool    $showDecimals
      * @param  string $locale
      * @return string
      */
     public function __invoke(
         $number,
         $currencyCode = null,
+        $showDecimals = null,
         $locale       = null
     ) {
         if (null === $locale) {
@@ -111,6 +142,9 @@ class CurrencyFormat extends AbstractHelper
         if (null === $currencyCode) {
             $currencyCode = $this->getCurrencyCode();
         }
+        if (null !== $showDecimals) {
+            $this->setShouldShowDecimals($showDecimals);
+        }
 
         $formatterId = md5($locale);
 
@@ -121,6 +155,12 @@ class CurrencyFormat extends AbstractHelper
             );
         }
 
+        if ($this->shouldShowDecimals()) {
+            $this->formatters[$formatterId]->setAttribute(NumberFormatter::FRACTION_DIGITS, 2);
+        } else {
+            $this->formatters[$formatterId]->setAttribute(NumberFormatter::FRACTION_DIGITS, 0);
+        }
+
         return $this->formatters[$formatterId]->formatCurrency(
             $number, $currencyCode
         );
diff --git a/vendor/ZF2/library/Zend/I18n/composer.json b/vendor/ZF2/library/Zend/I18n/composer.json
index c93238275c7..09aa2c98ce5 100644
--- a/vendor/ZF2/library/Zend/I18n/composer.json
+++ b/vendor/ZF2/library/Zend/I18n/composer.json
@@ -8,13 +8,14 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\I18n": ""
+            "Zend\\I18n\\": ""
         }
     },
     "target-dir": "Zend/I18n",
     "require": {
         "php": ">=5.3.3",
         "ext-intl": "*",
+        "zendframework/zend-filter": "self.version",
         "zendframework/zend-stdlib": "self.version"
     }
 }
diff --git a/vendor/ZF2/library/Zend/InputFilter/Factory.php b/vendor/ZF2/library/Zend/InputFilter/Factory.php
index 0deb56b2873..f4d15cac5f8 100644
--- a/vendor/ZF2/library/Zend/InputFilter/Factory.php
+++ b/vendor/ZF2/library/Zend/InputFilter/Factory.php
@@ -158,6 +158,9 @@ class Factory
                         $input->setRequired(!$value);
                     }
                     break;
+                case 'fallback_value':
+                    $input->setFallbackValue($value);
+                    break;
                 case 'filters':
                     if ($value instanceof FilterChain) {
                         $input->setFilterChain($value);
diff --git a/vendor/ZF2/library/Zend/InputFilter/Input.php b/vendor/ZF2/library/Zend/InputFilter/Input.php
index 85312c6c9f6..42390c959a6 100644
--- a/vendor/ZF2/library/Zend/InputFilter/Input.php
+++ b/vendor/ZF2/library/Zend/InputFilter/Input.php
@@ -65,6 +65,11 @@ class Input implements InputInterface
      */
     protected $value;
 
+    /**
+     * @var mixed
+     */
+    protected $fallbackValue;
+
     public function __construct($name = null)
     {
         $this->name = $name;
@@ -151,6 +156,16 @@ class Input implements InputInterface
         return $this;
     }
 
+    /**
+     * @param  mixed $value
+     * @return Input
+     */
+    public function setFallbackValue($value)
+    {
+        $this->fallbackValue = $value;
+        return $this;
+    }
+
     /**
      * @return boolean
      */
@@ -230,6 +245,14 @@ class Input implements InputInterface
         return $filter->filter($this->value);
     }
 
+    /**
+     * @return mixed
+     */
+    public function getFallbackValue()
+    {
+        return $this->fallbackValue;
+    }
+
     /**
      * @param  InputInterface $input
      * @return Input
@@ -241,7 +264,7 @@ class Input implements InputInterface
         $this->setErrorMessage($input->getErrorMessage());
         $this->setName($input->getName());
         $this->setRequired($input->isRequired());
-        $this->setValue($input->getValue());
+        $this->setValue($input->getRawValue());
 
         $filterChain = $input->getFilterChain();
         $this->getFilterChain()->merge($filterChain);
@@ -260,7 +283,13 @@ class Input implements InputInterface
         $this->injectNotEmptyValidator();
         $validator = $this->getValidatorChain();
         $value     = $this->getValue();
-        return $validator->isValid($value, $context);
+        $result    = $validator->isValid($value, $context);
+        if (!$result && $fallbackValue = $this->getFallbackValue()) {
+            $this->setValue($fallbackValue);
+            $result = true;
+        }
+
+        return $result;
     }
 
     /**
@@ -272,6 +301,10 @@ class Input implements InputInterface
             return (array) $this->errorMessage;
         }
 
+        if ($this->getFallbackValue()) {
+            return array();
+        }
+
         $validator = $this->getValidatorChain();
         return $validator->getMessages();
     }
diff --git a/vendor/ZF2/library/Zend/InputFilter/composer.json b/vendor/ZF2/library/Zend/InputFilter/composer.json
index 320e851d543..9c11e421776 100644
--- a/vendor/ZF2/library/Zend/InputFilter/composer.json
+++ b/vendor/ZF2/library/Zend/InputFilter/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\InputFilter": ""
+            "Zend\\InputFilter\\": ""
         }
     },
     "target-dir": "Zend/InputFilter",
diff --git a/vendor/ZF2/library/Zend/Json/composer.json b/vendor/ZF2/library/Zend/Json/composer.json
index daf00e0ae82..dcfcc0f4d13 100644
--- a/vendor/ZF2/library/Zend/Json/composer.json
+++ b/vendor/ZF2/library/Zend/Json/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Json": ""
+            "Zend\\Json\\": ""
         }
     },
     "target-dir": "Zend/Json",
diff --git a/vendor/ZF2/library/Zend/Ldap/Attribute.php b/vendor/ZF2/library/Zend/Ldap/Attribute.php
index fe81e431dd7..6792fdc2cc4 100644
--- a/vendor/ZF2/library/Zend/Ldap/Attribute.php
+++ b/vendor/ZF2/library/Zend/Ldap/Attribute.php
@@ -80,14 +80,14 @@ class Attribute
             }
             $retArray = array();
             foreach ($data[$attribName] as $v) {
-                $retArray[] = self::valueFromLDAP($v);
+                $retArray[] = self::valueFromLdap($v);
             }
             return $retArray;
         } elseif (is_int($index)) {
             if (!isset($data[$attribName])) {
                 return null;
             } elseif ($index >= 0 && $index < count($data[$attribName])) {
-                return self::valueFromLDAP($data[$attribName][$index]);
+                return self::valueFromLdap($data[$attribName][$index]);
             } else {
                 return null;
             }
@@ -116,7 +116,7 @@ class Attribute
         }
 
         foreach ($value as $v) {
-            $v = self::valueToLDAP($v);
+            $v = self::valueToLdap($v);
             if (!in_array($v, $data[$attribName], true)) {
                 return false;
             }
@@ -162,7 +162,7 @@ class Attribute
 
         $valArray = array();
         foreach ($value as $v) {
-            $v = self::valueToLDAP($v);
+            $v = self::valueToLdap($v);
             if ($v !== null) {
                 $valArray[] = $v;
             }
diff --git a/vendor/ZF2/library/Zend/Ldap/Collection/DefaultIterator.php b/vendor/ZF2/library/Zend/Ldap/Collection/DefaultIterator.php
index 9f342888ff6..4367327888b 100644
--- a/vendor/ZF2/library/Zend/Ldap/Collection/DefaultIterator.php
+++ b/vendor/ZF2/library/Zend/Ldap/Collection/DefaultIterator.php
@@ -144,7 +144,7 @@ class DefaultIterator implements \Iterator, \Countable
                 $this->attributeNameTreatment = $attributeNameTreatment;
             }
         } else {
-            $attributeNameTreatment = (int)$attributeNameTreatment;
+            $attributeNameTreatment = (int) $attributeNameTreatment;
             switch ($attributeNameTreatment) {
                 case self::ATTRIBUTE_TO_LOWER:
                 case self::ATTRIBUTE_TO_UPPER:
diff --git a/vendor/ZF2/library/Zend/Ldap/Dn.php b/vendor/ZF2/library/Zend/Ldap/Dn.php
index 0a0234f13b0..da913a62328 100644
--- a/vendor/ZF2/library/Zend/Ldap/Dn.php
+++ b/vendor/ZF2/library/Zend/Ldap/Dn.php
@@ -140,7 +140,7 @@ class Dn implements \ArrayAccess
      */
     public function getParentDn($levelUp = 1)
     {
-        $levelUp = (int)$levelUp;
+        $levelUp = (int) $levelUp;
         if ($levelUp < 1 || $levelUp >= count($this->dn)) {
             throw new Exception\LdapException(null, 'Cannot retrieve parent DN with given $levelUp');
         }
@@ -161,7 +161,7 @@ class Dn implements \ArrayAccess
     {
         $caseFold = self::sanitizeCaseFold($caseFold, $this->caseFold);
         $this->assertIndex($index);
-        $length = (int)$length;
+        $length = (int) $length;
         if ($length <= 0) {
             $length = 1;
         }
@@ -198,7 +198,7 @@ class Dn implements \ArrayAccess
     public function remove($index, $length = 1)
     {
         $this->assertIndex($index);
-        $length = (int)$length;
+        $length = (int) $length;
         if ($length <= 0) {
             $length = 1;
         }
@@ -381,7 +381,7 @@ class Dn implements \ArrayAccess
      */
     public function offsetExists($offset)
     {
-        $offset = (int)$offset;
+        $offset = (int) $offset;
         if ($offset < 0 || $offset >= count($this->dn)) {
             return false;
         }
diff --git a/vendor/ZF2/library/Zend/Ldap/Ldap.php b/vendor/ZF2/library/Zend/Ldap/Ldap.php
index afb9b572c82..9be957ec997 100644
--- a/vendor/ZF2/library/Zend/Ldap/Ldap.php
+++ b/vendor/ZF2/library/Zend/Ldap/Ldap.php
@@ -256,7 +256,7 @@ class Ldap
                     case 'port':
                     case 'accountCanonicalForm':
                     case 'networkTimeout':
-                        $permittedOptions[$key] = (int)$val;
+                        $permittedOptions[$key] = (int) $val;
                         break;
                     case 'useSsl':
                     case 'bindRequiresDn':
@@ -672,22 +672,22 @@ class Ldap
         if ($port === null) {
             $port = $this->getPort();
         } else {
-            $port = (int)$port;
+            $port = (int) $port;
         }
         if ($useSsl === null) {
             $useSsl = $this->getUseSsl();
         } else {
-            $useSsl = (bool)$useSsl;
+            $useSsl = (bool) $useSsl;
         }
         if ($useStartTls === null) {
             $useStartTls = $this->getUseStartTls();
         } else {
-            $useStartTls = (bool)$useStartTls;
+            $useStartTls = (bool) $useStartTls;
         }
         if ($networkTimeout === null) {
             $networkTimeout = $this->getNetworkTimeout();
         } else {
-            $networkTimeout = (int)$networkTimeout;
+            $networkTimeout = (int) $networkTimeout;
         }
 
         if (!$host) {
@@ -890,7 +890,7 @@ class Ldap
                         break;
                     case 'sizelimit':
                     case 'timelimit':
-                        $$key = (int)$value;
+                        $$key = (int) $value;
                         break;
                 }
             }
@@ -1054,7 +1054,7 @@ class Ldap
         }
         $result = $this->search($filter, $basedn, $scope, $attributes, $sort, null, $sizelimit, $timelimit);
         $items  = $result->toArray();
-        if ((bool)$reverseSort === true) {
+        if ((bool) $reverseSort === true) {
             $items = array_reverse($items, false);
         }
 
@@ -1383,7 +1383,7 @@ class Ldap
      */
     public function rename($from, $to, $recursively = false, $alwaysEmulate = false)
     {
-        $emulate = (bool)$alwaysEmulate;
+        $emulate = (bool) $alwaysEmulate;
         if (!function_exists('ldap_rename')) {
             $emulate = true;
         } elseif ($recursively) {
diff --git a/vendor/ZF2/library/Zend/Ldap/Node/Schema/AttributeType/OpenLdap.php b/vendor/ZF2/library/Zend/Ldap/Node/Schema/AttributeType/OpenLdap.php
index bd625205517..b2378d42f81 100644
--- a/vendor/ZF2/library/Zend/Ldap/Node/Schema/AttributeType/OpenLdap.php
+++ b/vendor/ZF2/library/Zend/Ldap/Node/Schema/AttributeType/OpenLdap.php
@@ -77,7 +77,7 @@ class OpenLdap extends Schema\AbstractItem implements AttributeTypeInterface
                 return $parent->getMaxLength();
             }
         } else {
-            return (int)$maxLength;
+            return (int) $maxLength;
         }
     }
 
diff --git a/vendor/ZF2/library/Zend/Ldap/composer.json b/vendor/ZF2/library/Zend/Ldap/composer.json
index 476d3053235..33038d0a7c7 100644
--- a/vendor/ZF2/library/Zend/Ldap/composer.json
+++ b/vendor/ZF2/library/Zend/Ldap/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Ldap": ""
+            "Zend\\Ldap\\": ""
         }
     },
     "target-dir": "Zend/Ldap",
diff --git a/vendor/ZF2/library/Zend/Loader/AutoloaderFactory.php b/vendor/ZF2/library/Zend/Loader/AutoloaderFactory.php
index 0b92fa0df44..0a95d265dd4 100644
--- a/vendor/ZF2/library/Zend/Loader/AutoloaderFactory.php
+++ b/vendor/ZF2/library/Zend/Loader/AutoloaderFactory.php
@@ -15,7 +15,9 @@ use Traversable;
 
 require_once __DIR__ . '/SplAutoloader.php';
 
-if (class_exists('Zend\Loader\AutoloaderFactory')) return;
+if (class_exists('Zend\Loader\AutoloaderFactory')) {
+    return;
+}
 
 /**
  * @category   Zend
@@ -127,7 +129,7 @@ abstract class AutoloaderFactory
     /**
      * Retrieves an autoloader by class name
      *
-     * @param string $class
+     * @param  string $class
      * @return SplAutoloader
      * @throws Exception\InvalidArgumentException for non-registered class
      */
@@ -204,8 +206,8 @@ abstract class AutoloaderFactory
      * @see https://bugs.php.net/bug.php?id=53727
      * @see https://github.com/zendframework/zf2/pull/1807
      *
-     * @param string $className
-     * @param string $type
+     * @param  string $className
+     * @param  string $type
      * @return bool
      */
     protected static function isSubclassOf($className, $type)
diff --git a/vendor/ZF2/library/Zend/Loader/ClassMapAutoloader.php b/vendor/ZF2/library/Zend/Loader/ClassMapAutoloader.php
index 0547f765651..f5d27708453 100644
--- a/vendor/ZF2/library/Zend/Loader/ClassMapAutoloader.php
+++ b/vendor/ZF2/library/Zend/Loader/ClassMapAutoloader.php
@@ -195,7 +195,7 @@ class ClassMapAutoloader implements SplAutoloader
      * Resolve the real_path() to a file within a phar.
      *
      * @see https://bugs.php.net/bug.php?id=52769
-     * @param string $path
+     * @param  string $path
      * @return string
      */
     public static function realPharPath($path)
diff --git a/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php b/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php
index b97b301ece7..c068c3592c8 100644
--- a/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php
+++ b/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php
@@ -29,6 +29,11 @@ class ModuleAutoloader implements SplAutoloader
      */
     protected $explicitPaths = array();
 
+    /**
+     * @var array An array of namespaceName => namespacePath
+     */
+    protected $namespacedPaths = array();
+
     /**
      * @var array An array of supported phar extensions (filled on constructor)
      */
@@ -85,7 +90,7 @@ class ModuleAutoloader implements SplAutoloader
      * Traversable object.
      *
      * @param  array|Traversable $options
-     * @return SplAutoloader
+     * @return ModuleAutoloader
      */
     public function setOptions($options)
     {
@@ -121,6 +126,28 @@ class ModuleAutoloader implements SplAutoloader
             }
         }
 
+        if (count($this->namespacedPaths) >= 1 ) {
+            foreach ( $this->namespacedPaths as $namespace=>$path ) {
+                if ( false === strpos($moduleName,$namespace) ) {
+                    continue;
+                }
+
+                $moduleName_buffer = str_replace($namespace . "\\", "", $moduleName );
+                $path .= DIRECTORY_SEPARATOR . $moduleName_buffer . DIRECTORY_SEPARATOR;
+
+                $classLoaded = $this->loadModuleFromDir($path, $class);
+                if ($classLoaded) {
+                    return $classLoaded;
+                }
+
+                $classLoaded = $this->loadModuleFromPhar($path, $class);
+                if ($classLoaded) {
+                    return $classLoaded;
+                }
+            }
+        }
+
+
         $moduleClassPath   = str_replace('\\', DIRECTORY_SEPARATOR, $moduleName);
 
         $pharSuffixPattern = null;
@@ -161,8 +188,8 @@ class ModuleAutoloader implements SplAutoloader
     /**
      * loadModuleFromDir
      *
-     * @param string $dirPath
-     * @param string $class
+     * @param  string $dirPath
+     * @param  string $class
      * @return  mixed
      *          False [if unable to load $class]
      *          get_class($class) [if $class is successfully loaded]
@@ -184,8 +211,8 @@ class ModuleAutoloader implements SplAutoloader
     /**
      * loadModuleFromPhar
      *
-     * @param string $pharPath
-     * @param string $class
+     * @param  string $pharPath
+     * @param  string $class
      * @return  mixed
      *          False [if unable to load $class]
      *          get_class($class) [if $class is successfully loaded]
@@ -255,13 +282,13 @@ class ModuleAutoloader implements SplAutoloader
      */
     public function unregister()
     {
-        $test = spl_autoload_unregister(array($this, 'autoload'));
+        spl_autoload_unregister(array($this, 'autoload'));
     }
 
     /**
      * registerPaths
      *
-     * @param array|Traversable $paths
+     * @param  array|Traversable $paths
      * @throws \InvalidArgumentException
      * @return ModuleAutoloader
      */
@@ -289,8 +316,8 @@ class ModuleAutoloader implements SplAutoloader
     /**
      * registerPath
      *
-     * @param string $path
-     * @param bool|string $moduleName
+     * @param  string $path
+     * @param  bool|string $moduleName
      * @throws \InvalidArgumentException
      * @return ModuleAutoloader
      */
@@ -303,7 +330,11 @@ class ModuleAutoloader implements SplAutoloader
             ));
         }
         if ($moduleName) {
-            $this->explicitPaths[$moduleName] = static::normalizePath($path);
+            if (in_array( substr($moduleName, -2 ), array('\\*','\\%') ) ) {
+                $this->namespacedPaths[ substr($moduleName, 0, -2 ) ] = static::normalizePath($path);
+            } else {
+                $this->explicitPaths[$moduleName] = static::normalizePath($path);
+            }
         } else {
             $this->paths[] = static::normalizePath($path);
         }
@@ -325,7 +356,7 @@ class ModuleAutoloader implements SplAutoloader
     /**
      * Returns the base module name from the path to a phar
      *
-     * @param string $pharPath
+     * @param  string $pharPath
      * @return string
      */
     protected function pharFileToModuleName($pharPath)
diff --git a/vendor/ZF2/library/Zend/Loader/PluginClassLoader.php b/vendor/ZF2/library/Zend/Loader/PluginClassLoader.php
index 58238c06ac0..bfcfa4c3584 100644
--- a/vendor/ZF2/library/Zend/Loader/PluginClassLoader.php
+++ b/vendor/ZF2/library/Zend/Loader/PluginClassLoader.php
@@ -147,7 +147,7 @@ class PluginClassLoader implements PluginClassLocator
     /**
      * Unregister a short name lookup
      *
-     * @param mixed $shortName
+     * @param  mixed $shortName
      * @return PluginClassLoader
      */
     public function unregisterPlugin($shortName)
diff --git a/vendor/ZF2/library/Zend/Loader/PluginClassLocator.php b/vendor/ZF2/library/Zend/Loader/PluginClassLocator.php
index 6e35359397b..2114a5a5087 100644
--- a/vendor/ZF2/library/Zend/Loader/PluginClassLocator.php
+++ b/vendor/ZF2/library/Zend/Loader/PluginClassLocator.php
@@ -32,7 +32,7 @@ interface PluginClassLocator extends ShortNameLocator, \IteratorAggregate
     /**
      * Unregister a short name lookup
      *
-     * @param mixed $shortName
+     * @param  mixed $shortName
      * @return void
      */
     public function unregisterPlugin($shortName);
diff --git a/vendor/ZF2/library/Zend/Loader/StandardAutoloader.php b/vendor/ZF2/library/Zend/Loader/StandardAutoloader.php
index dda46f0ae12..c0552e304fb 100644
--- a/vendor/ZF2/library/Zend/Loader/StandardAutoloader.php
+++ b/vendor/ZF2/library/Zend/Loader/StandardAutoloader.php
@@ -271,8 +271,8 @@ class StandardAutoloader implements SplAutoloader
     /**
      * Load a class, based on its type (namespaced or prefixed)
      *
-     * @param string $class
-     * @param string $type
+     * @param  string $class
+     * @param  string $type
      * @return bool|string
      * @throws Exception\InvalidArgumentException
      */
diff --git a/vendor/ZF2/library/Zend/Loader/composer.json b/vendor/ZF2/library/Zend/Loader/composer.json
index d5a5be3f33a..9a91a0fa1e0 100644
--- a/vendor/ZF2/library/Zend/Loader/composer.json
+++ b/vendor/ZF2/library/Zend/Loader/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Loader": ""
+            "Zend\\Loader\\": ""
         }
     },
     "target-dir": "Zend/Loader",
diff --git a/vendor/ZF2/library/Zend/Log/Filter/SuppressFilter.php b/vendor/ZF2/library/Zend/Log/Filter/SuppressFilter.php
index be41d73b6b4..bd7f1d3de3b 100644
--- a/vendor/ZF2/library/Zend/Log/Filter/SuppressFilter.php
+++ b/vendor/ZF2/library/Zend/Log/Filter/SuppressFilter.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Log\Filter;
 
-use Zend\Log\Exception;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Log/Formatter/Base.php b/vendor/ZF2/library/Zend/Log/Formatter/Base.php
index 950fdcd9372..a495dfd31db 100644
--- a/vendor/ZF2/library/Zend/Log/Formatter/Base.php
+++ b/vendor/ZF2/library/Zend/Log/Formatter/Base.php
@@ -12,7 +12,6 @@ namespace Zend\Log\Formatter;
 
 use DateTime;
 use Traversable;
-use Zend\Log\Exception;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Log/Formatter/Db.php b/vendor/ZF2/library/Zend/Log/Formatter/Db.php
index 6f8a45d2fad..ec31b1ad630 100644
--- a/vendor/ZF2/library/Zend/Log/Formatter/Db.php
+++ b/vendor/ZF2/library/Zend/Log/Formatter/Db.php
@@ -11,7 +11,6 @@
 namespace Zend\Log\Formatter;
 
 use DateTime;
-use Zend\Log\Exception;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Log/Formatter/ErrorHandler.php b/vendor/ZF2/library/Zend/Log/Formatter/ErrorHandler.php
index 2bca2ea6a8e..f8c741518bb 100644
--- a/vendor/ZF2/library/Zend/Log/Formatter/ErrorHandler.php
+++ b/vendor/ZF2/library/Zend/Log/Formatter/ErrorHandler.php
@@ -11,7 +11,6 @@
 namespace Zend\Log\Formatter;
 
 use DateTime;
-use Zend\Log\Exception;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Log/Logger.php b/vendor/ZF2/library/Zend/Log/Logger.php
index 384bedad224..696d568b968 100644
--- a/vendor/ZF2/library/Zend/Log/Logger.php
+++ b/vendor/ZF2/library/Zend/Log/Logger.php
@@ -380,7 +380,7 @@ class Logger implements LoggerInterface
         set_error_handler(function($errno, $errstr, $errfile, $errline, $errcontext) use ($errorHandlerMap, $logger) {
             $errorLevel = error_reporting();
 
-            if ($errorLevel && $errno) {
+            if ($errorLevel & $errno) {
                 if (isset($errorHandlerMap[$errno])) {
                     $priority = $errorHandlerMap[$errno];
                 } else {
diff --git a/vendor/ZF2/library/Zend/Log/Writer/FirePhp.php b/vendor/ZF2/library/Zend/Log/Writer/FirePhp.php
index a96de9aa4d0..c4c73e5d1a8 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/FirePhp.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/FirePhp.php
@@ -13,6 +13,7 @@ namespace Zend\Log\Writer;
 use FirePHP as FirePHPService;
 use Zend\Log\Formatter\FirePhp as FirePhpFormatter;
 use Zend\Log\Logger;
+use Zend\Log\Exception;
 
 /**
  * @category   Zend
@@ -83,9 +84,17 @@ class FirePhp extends AbstractWriter
      * Gets the FirePhpInterface instance that is used for logging.
      *
      * @return FirePhp\FirePhpInterface
+     * @throws Exception\RuntimeException
      */
     public function getFirePhp()
     {
+        if (!$this->firephp instanceof FirePhp\FirePhpInterface
+            && !class_exists('FirePHP')
+        ) {
+            // No FirePHP instance, and no way to create one
+            throw new Exception\RuntimeException('FirePHP Class not found');
+        }
+
         // Remember: class names in strings are absolute; thus the class_exists
         // here references the canonical name for the FirePHP class
         if (!$this->firephp instanceof FirePhp\FirePhpInterface
@@ -95,6 +104,7 @@ class FirePhp extends AbstractWriter
             // names would clash in this file on this line.
             $this->setFirePhp(new FirePhp\FirePhpBridge(new FirePHPService()));
         }
+
         return $this->firephp;
     }
 
diff --git a/vendor/ZF2/library/Zend/Log/composer.json b/vendor/ZF2/library/Zend/Log/composer.json
index 004d24beaf3..f6932482fa8 100644
--- a/vendor/ZF2/library/Zend/Log/composer.json
+++ b/vendor/ZF2/library/Zend/Log/composer.json
@@ -9,7 +9,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Log": ""
+            "Zend\\Log\\": ""
         }
     },
     "target-dir": "Zend/Log",
diff --git a/vendor/ZF2/library/Zend/Mail/Header/ContentType.php b/vendor/ZF2/library/Zend/Mail/Header/ContentType.php
index 50b77c1a820..a31e409ed51 100644
--- a/vendor/ZF2/library/Zend/Mail/Header/ContentType.php
+++ b/vendor/ZF2/library/Zend/Mail/Header/ContentType.php
@@ -102,7 +102,7 @@ class ContentType implements HeaderInterface
      */
     public function setType($type)
     {
-        if (!preg_match('/^[a-z_-]+\/[a-z_-]+$/i', $type)) {
+        if (!preg_match('/^[a-z-]+\/[a-z0-9.+-]+$/i', $type)) {
             throw new Exception\InvalidArgumentException(sprintf(
                 '%s expects a value in the format "type/subtype"; received "%s"',
                 __METHOD__,
diff --git a/vendor/ZF2/library/Zend/Mail/Header/MessageId.php b/vendor/ZF2/library/Zend/Mail/Header/MessageId.php
index d8c8edcef79..852a4c1c3df 100644
--- a/vendor/ZF2/library/Zend/Mail/Header/MessageId.php
+++ b/vendor/ZF2/library/Zend/Mail/Header/MessageId.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Mail\Header;
 
-use Zend\Mail\Headers;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Mail/Protocol/Imap.php b/vendor/ZF2/library/Zend/Mail/Protocol/Imap.php
index 5a89afe0205..76fe1d55168 100644
--- a/vendor/ZF2/library/Zend/Mail/Protocol/Imap.php
+++ b/vendor/ZF2/library/Zend/Mail/Protocol/Imap.php
@@ -473,7 +473,7 @@ class Imap
                     $result[strtolower($tokens[1])] = $tokens[0];
                     break;
                 case '[UIDVALIDITY':
-                    $result['uidvalidity'] = (int)$tokens[2];
+                    $result['uidvalidity'] = (int) $tokens[2];
                     break;
                 default:
                     // ignore
@@ -529,14 +529,14 @@ class Imap
         if (is_array($from)) {
             $set = implode(',', $from);
         } elseif ($to === null) {
-            $set = (int)$from;
+            $set = (int) $from;
         } elseif ($to === INF) {
-            $set = (int)$from . ':*';
+            $set = (int) $from . ':*';
         } else {
-            $set = (int)$from . ':' . (int)$to;
+            $set = (int) $from . ':' . (int)$to;
         }
 
-        $items = (array)$items;
+        $items = (array) $items;
         $itemList = $this->escapeList($items);
 
         $tag = null;  // define $tag variable before first use
@@ -643,9 +643,9 @@ class Imap
         }
 
         $flags = $this->escapeList($flags);
-        $set = (int)$from;
+        $set = (int) $from;
         if ($to != null) {
-            $set .= ':' . ($to == INF ? '*' : (int)$to);
+            $set .= ':' . ($to == INF ? '*' : (int) $to);
         }
 
         $result = $this->requestAndResponse('STORE', array($set, $item, $flags), $silent);
@@ -702,9 +702,9 @@ class Imap
      */
     public function copy($folder, $from, $to = null)
     {
-        $set = (int)$from;
+        $set = (int) $from;
         if ($to != null) {
-            $set .= ':' . ($to == INF ? '*' : (int)$to);
+            $set .= ':' . ($to == INF ? '*' : (int) $to);
         }
 
         return $this->requestAndResponse('COPY', array($set, $this->escapeString($folder)), true);
diff --git a/vendor/ZF2/library/Zend/Mail/Protocol/Pop3.php b/vendor/ZF2/library/Zend/Mail/Protocol/Pop3.php
index 92e4116989e..2c4198b9644 100644
--- a/vendor/ZF2/library/Zend/Mail/Protocol/Pop3.php
+++ b/vendor/ZF2/library/Zend/Mail/Protocol/Pop3.php
@@ -275,7 +275,7 @@ class Pop3
             $result = $this->request("LIST $msgno");
 
             list(, $result) = explode(' ', $result);
-            return (int)$result;
+            return (int) $result;
         }
 
         $result = $this->request('LIST', true);
@@ -283,7 +283,7 @@ class Pop3
         $line = strtok($result, "\n");
         while ($line) {
             list($no, $size) = explode(' ', trim($line));
-            $messages[(int)$no] = (int)$size;
+            $messages[(int)$no] = (int) $size;
             $line = strtok("\n");
         }
 
@@ -315,7 +315,7 @@ class Pop3
                 continue;
             }
             list($no, $id) = explode(' ', trim($line), 2);
-            $messages[(int)$no] = $id;
+            $messages[(int) $no] = $id;
         }
 
         return $messages;
@@ -347,7 +347,7 @@ class Pop3
         }
         $this->hasTop = true;
 
-        $lines = (!$lines || $lines < 1) ? 0 : (int)$lines;
+        $lines = (!$lines || $lines < 1) ? 0 : (int) $lines;
 
         try {
             $result = $this->request("TOP $msgno $lines", true);
diff --git a/vendor/ZF2/library/Zend/Mail/Storage/Folder.php b/vendor/ZF2/library/Zend/Mail/Storage/Folder.php
index 28d8268090e..b8affeeefaa 100644
--- a/vendor/ZF2/library/Zend/Mail/Storage/Folder.php
+++ b/vendor/ZF2/library/Zend/Mail/Storage/Folder.php
@@ -170,7 +170,7 @@ class Folder implements RecursiveIterator
      */
     public function __toString()
     {
-        return (string)$this->getGlobalName();
+        return (string) $this->getGlobalName();
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Mail/Storage/Folder/Maildir.php b/vendor/ZF2/library/Zend/Mail/Storage/Folder/Maildir.php
index 7155bd3360b..b3d2de3a882 100644
--- a/vendor/ZF2/library/Zend/Mail/Storage/Folder/Maildir.php
+++ b/vendor/ZF2/library/Zend/Mail/Storage/Folder/Maildir.php
@@ -58,7 +58,7 @@ class Maildir extends Storage\Maildir implements FolderInterface
     public function __construct($params)
     {
         if (is_array($params)) {
-            $params = (object)$params;
+            $params = (object) $params;
         }
 
         if (!isset($params->dirname) || !is_dir($params->dirname)) {
@@ -186,7 +186,7 @@ class Maildir extends Storage\Maildir implements FolderInterface
      */
     public function selectFolder($globalName)
     {
-        $this->currentFolder = (string)$globalName;
+        $this->currentFolder = (string) $globalName;
 
         // getting folder from folder tree for validation
         $folder = $this->getFolders($this->currentFolder);
diff --git a/vendor/ZF2/library/Zend/Mail/Storage/Folder/Mbox.php b/vendor/ZF2/library/Zend/Mail/Storage/Folder/Mbox.php
index 5bbdb2a99af..d795e8f9c39 100644
--- a/vendor/ZF2/library/Zend/Mail/Storage/Folder/Mbox.php
+++ b/vendor/ZF2/library/Zend/Mail/Storage/Folder/Mbox.php
@@ -54,7 +54,7 @@ class Mbox extends Storage\Mbox implements FolderInterface
     public function __construct($params)
     {
         if (is_array($params)) {
-            $params = (object)$params;
+            $params = (object) $params;
         }
 
         if (isset($params->filename)) {
@@ -160,7 +160,7 @@ class Mbox extends Storage\Mbox implements FolderInterface
      */
     public function selectFolder($globalName)
     {
-        $this->currentFolder = (string)$globalName;
+        $this->currentFolder = (string) $globalName;
 
         // getting folder from folder tree for validation
         $folder = $this->getFolders($this->currentFolder);
diff --git a/vendor/ZF2/library/Zend/Mail/Storage/Imap.php b/vendor/ZF2/library/Zend/Mail/Storage/Imap.php
index 3778d74a670..72b0268ed94 100644
--- a/vendor/ZF2/library/Zend/Mail/Storage/Imap.php
+++ b/vendor/ZF2/library/Zend/Mail/Storage/Imap.php
@@ -76,7 +76,7 @@ class Imap extends AbstractStorage implements Folder\FolderInterface, Writable\W
         }
 
         $params = array();
-        foreach ((array)$flags as $flag) {
+        foreach ((array) $flags as $flag) {
             if (isset(self::$searchFlags[$flag])) {
                 $params[] = self::$searchFlags[$flag];
             } else {
@@ -181,7 +181,7 @@ class Imap extends AbstractStorage implements Folder\FolderInterface, Writable\W
     public function __construct($params)
     {
         if (is_array($params)) {
-            $params = (object)$params;
+            $params = (object) $params;
         }
 
         $this->has['flags'] = true;
@@ -307,7 +307,7 @@ class Imap extends AbstractStorage implements Folder\FolderInterface, Writable\W
      */
     public function getFolders($rootFolder = null)
     {
-        $folders = $this->protocol->listMailbox((string)$rootFolder);
+        $folders = $this->protocol->listMailbox((string) $rootFolder);
         if (!$folders) {
             throw new Exception\InvalidArgumentException('folder not found');
         }
diff --git a/vendor/ZF2/library/Zend/Mail/Storage/Maildir.php b/vendor/ZF2/library/Zend/Mail/Storage/Maildir.php
index 3c24f14790c..29373b43cbe 100644
--- a/vendor/ZF2/library/Zend/Mail/Storage/Maildir.php
+++ b/vendor/ZF2/library/Zend/Mail/Storage/Maildir.php
@@ -221,7 +221,7 @@ class Maildir extends AbstractStorage
     public function __construct($params)
     {
         if (is_array($params)) {
-            $params = (object)$params;
+            $params = (object) $params;
         }
 
         if (!isset($params->dirname) || !is_dir($params->dirname)) {
@@ -330,7 +330,7 @@ class Maildir extends AbstractStorage
                           'flaglookup' => array_flip($named_flags),
                           'filename'   => $dirname . $entry);
             if ($size !== null) {
-                $data['size'] = (int)$size;
+                $data['size'] = (int) $size;
             }
             $this->files[] = $data;
         }
diff --git a/vendor/ZF2/library/Zend/Mail/Storage/Mbox.php b/vendor/ZF2/library/Zend/Mail/Storage/Mbox.php
index 196da7c4891..be06a695cf1 100644
--- a/vendor/ZF2/library/Zend/Mail/Storage/Mbox.php
+++ b/vendor/ZF2/library/Zend/Mail/Storage/Mbox.php
@@ -183,7 +183,7 @@ class Mbox extends AbstractStorage
     public function __construct($params)
     {
         if (is_array($params)) {
-            $params = (object)$params;
+            $params = (object) $params;
         }
 
         if (!isset($params->filename)) {
diff --git a/vendor/ZF2/library/Zend/Mail/Storage/Part/File.php b/vendor/ZF2/library/Zend/Mail/Storage/Part/File.php
index 7487d48aa6a..a251a3fb976 100644
--- a/vendor/ZF2/library/Zend/Mail/Storage/Part/File.php
+++ b/vendor/ZF2/library/Zend/Mail/Storage/Part/File.php
@@ -12,7 +12,6 @@ namespace Zend\Mail\Storage\Part;
 
 use Zend\Mail\Headers;
 use Zend\Mail\Storage\Part;
-use Zend\Mime;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Mail/Storage/Pop3.php b/vendor/ZF2/library/Zend/Mail/Storage/Pop3.php
index 80fc6a8161e..63d6dd2046b 100644
--- a/vendor/ZF2/library/Zend/Mail/Storage/Pop3.php
+++ b/vendor/ZF2/library/Zend/Mail/Storage/Pop3.php
@@ -40,7 +40,7 @@ class Pop3 extends AbstractStorage
         $count  = 0; // "Declare" variable before first usage.
         $octets = 0; // "Declare" variable since it's passed by reference
         $this->protocol->status($count, $octets);
-        return (int)$count;
+        return (int) $count;
     }
 
     /**
@@ -132,7 +132,7 @@ class Pop3 extends AbstractStorage
     public function __construct($params)
     {
         if (is_array($params)) {
-            $params = (object)$params;
+            $params = (object) $params;
         }
 
         $this->has['fetchPart'] = false;
diff --git a/vendor/ZF2/library/Zend/Mail/Storage/Writable/Maildir.php b/vendor/ZF2/library/Zend/Mail/Storage/Writable/Maildir.php
index a4b4c373223..49e5a75f897 100644
--- a/vendor/ZF2/library/Zend/Mail/Storage/Writable/Maildir.php
+++ b/vendor/ZF2/library/Zend/Mail/Storage/Writable/Maildir.php
@@ -87,7 +87,7 @@ class Maildir extends Folder\Maildir implements WritableInterface
     public function __construct($params)
     {
         if (is_array($params)) {
-            $params = (object)$params;
+            $params = (object) $params;
         }
 
         if (!empty($params->create) && isset($params->dirname) && !file_exists($params->dirname . DIRECTORY_SEPARATOR . 'cur')) {
@@ -495,7 +495,7 @@ class Maildir extends Folder\Maildir implements WritableInterface
                                 'flags'    => $flags,
                                 'filename' => $new_filename);
         if ($this->quota) {
-            $this->_addQuotaEntry((int)$size, 1);
+            $this->_addQuotaEntry((int) $size, 1);
         }
     }
 
@@ -565,7 +565,7 @@ class Maildir extends Folder\Maildir implements WritableInterface
         }
 
         if ($this->quota) {
-            $this->_addQuotaEntry((int)$size, 1);
+            $this->_addQuotaEntry((int) $size, 1);
         }
     }
 
@@ -686,7 +686,7 @@ class Maildir extends Folder\Maildir implements WritableInterface
         // remove the gap
         $this->files = array_values($this->files);
         if ($this->quota) {
-            $this->_addQuotaEntry(0 - (int)$size, -1);
+            $this->_addQuotaEntry(0 - (int) $size, -1);
         }
     }
 
@@ -923,8 +923,8 @@ class Maildir extends Folder\Maildir implements WritableInterface
         if (!file_exists($this->rootdir . 'maildirsize')) {
             // TODO: should get file handler from _calculateQuota
         }
-        $size  = (int)$size;
-        $count = (int)$count;
+        $size  = (int) $size;
+        $count = (int) $count;
         file_put_contents($this->rootdir . 'maildirsize', "$size $count\n", FILE_APPEND);
     }
 
diff --git a/vendor/ZF2/library/Zend/Mail/composer.json b/vendor/ZF2/library/Zend/Mail/composer.json
index 353b6c5e63c..77aa2aef6e7 100644
--- a/vendor/ZF2/library/Zend/Mail/composer.json
+++ b/vendor/ZF2/library/Zend/Mail/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Mail": ""
+            "Zend\\Mail\\": ""
         }
     },
     "target-dir": "Zend/Mail",
diff --git a/vendor/ZF2/library/Zend/Math/Rand.php b/vendor/ZF2/library/Zend/Math/Rand.php
index 8136edc90ba..b41624365d8 100644
--- a/vendor/ZF2/library/Zend/Math/Rand.php
+++ b/vendor/ZF2/library/Zend/Math/Rand.php
@@ -15,7 +15,6 @@ namespace Zend\Math;
  *
  * @category   Zend
  * @package    Zend_Math
- * @subpackage Rand
  */
 abstract class Rand
 {
@@ -153,7 +152,7 @@ abstract class Rand
         // charlist is empty or not provided
         if (empty($charlist)) {
             $numBytes = ceil($length * 0.75);
-            $bytes    = static::getBytes($numBytes);
+            $bytes    = static::getBytes($numBytes, $strong);
             return substr(rtrim(base64_encode($bytes), '='), 0, $length);
         }
 
diff --git a/vendor/ZF2/library/Zend/Math/composer.json b/vendor/ZF2/library/Zend/Math/composer.json
index 1229f8fd81d..60b59dd8e73 100644
--- a/vendor/ZF2/library/Zend/Math/composer.json
+++ b/vendor/ZF2/library/Zend/Math/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Math": ""
+            "Zend\\Math\\": ""
         }
     },
     "target-dir": "Zend/Math",
diff --git a/vendor/ZF2/library/Zend/Memory/MemoryManager.php b/vendor/ZF2/library/Zend/Memory/MemoryManager.php
index e7d9618ec9f..2fba9ddf020 100644
--- a/vendor/ZF2/library/Zend/Memory/MemoryManager.php
+++ b/vendor/ZF2/library/Zend/Memory/MemoryManager.php
@@ -156,7 +156,7 @@ class MemoryManager
                     break;
             }
 
-            $this->memoryLimit = (int)($this->memoryLimit*2/3);
+            $this->memoryLimit = (int) ($this->memoryLimit*2/3);
         } // No limit otherwise
     }
 
diff --git a/vendor/ZF2/library/Zend/Memory/Value.php b/vendor/ZF2/library/Zend/Memory/Value.php
index 22ad5f6de88..bba73bef444 100644
--- a/vendor/ZF2/library/Zend/Memory/Value.php
+++ b/vendor/ZF2/library/Zend/Memory/Value.php
@@ -56,7 +56,7 @@ class Value implements ArrayAccess, Countable
     {
         $this->container = $container;
 
-        $this->value = (string)$value;
+        $this->value = (string) $value;
 
         /**
          * Object is marked as just modified by memory manager
diff --git a/vendor/ZF2/library/Zend/Memory/composer.json b/vendor/ZF2/library/Zend/Memory/composer.json
index b03235fe638..dd0e7b18ec5 100644
--- a/vendor/ZF2/library/Zend/Memory/composer.json
+++ b/vendor/ZF2/library/Zend/Memory/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Memory": ""
+            "Zend\\Memory\\": ""
         }
     },
     "target-dir": "Zend/Memory",
diff --git a/vendor/ZF2/library/Zend/Mime/composer.json b/vendor/ZF2/library/Zend/Mime/composer.json
index af9e12ef01a..57ebcde3ff3 100644
--- a/vendor/ZF2/library/Zend/Mime/composer.json
+++ b/vendor/ZF2/library/Zend/Mime/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Mime": ""
+            "Zend\\Mime\\": ""
         }
     },
     "target-dir": "Zend/Mime",
diff --git a/vendor/ZF2/library/Zend/ModuleManager/Listener/ConfigListener.php b/vendor/ZF2/library/Zend/ModuleManager/Listener/ConfigListener.php
index f02d284848f..3baaf69ccdc 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/Listener/ConfigListener.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/Listener/ConfigListener.php
@@ -10,7 +10,6 @@
 
 namespace Zend\ModuleManager\Listener;
 
-use ArrayAccess;
 use Traversable;
 use Zend\Config\Config;
 use Zend\Config\Factory as ConfigFactory;
@@ -321,8 +320,12 @@ class ConfigListener extends AbstractListener implements
         return $this;
     }
 
-
-
+    /**
+     * @param string $key
+     * @param array|Traversable $config
+     * @throws Exception\InvalidArgumentException
+     * @return ConfigListener
+     */
     protected function addConfig($key, $config)
     {
         if ($config instanceof Traversable) {
diff --git a/vendor/ZF2/library/Zend/ModuleManager/ModuleManager.php b/vendor/ZF2/library/Zend/ModuleManager/ModuleManager.php
index cfef84fc93b..05bcba06e46 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/ModuleManager.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/ModuleManager.php
@@ -70,6 +70,11 @@ class ModuleManager implements ModuleManagerInterface
         }
     }
 
+    /**
+     * Handle the loadModules event
+     *
+     * @return void
+     */
     public function onLoadModules()
     {
         if (true === $this->modulesAreLoaded) {
@@ -86,7 +91,7 @@ class ModuleManager implements ModuleManagerInterface
     /**
      * Load the provided modules.
      *
-     * @triggers loadModules.pre
+     * @triggers loadModules
      * @triggers loadModules.post
      * @return   ModuleManager
      */
diff --git a/vendor/ZF2/library/Zend/ModuleManager/composer.json b/vendor/ZF2/library/Zend/ModuleManager/composer.json
index 7dfda252b00..2b74f5e18b5 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/composer.json
+++ b/vendor/ZF2/library/Zend/ModuleManager/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\ModuleManager": ""
+            "Zend\\ModuleManager\\": ""
         }
     },
     "target-dir": "Zend/ModuleManager",
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/AbstractRestfulController.php b/vendor/ZF2/library/Zend/Mvc/Controller/AbstractRestfulController.php
index 6086ccb3f48..7c72cfe70e4 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/AbstractRestfulController.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/AbstractRestfulController.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Mvc\Controller;
 
-use Zend\Http\PhpEnvironment\Response as HttpResponse;
 use Zend\Http\Request as HttpRequest;
 use Zend\Mvc\Exception;
 use Zend\Mvc\MvcEvent;
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/ControllerManager.php b/vendor/ZF2/library/Zend/Mvc/Controller/ControllerManager.php
index 9e3d1595cb3..8a8f31a564b 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/ControllerManager.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/ControllerManager.php
@@ -75,7 +75,7 @@ class ControllerManager extends AbstractPluginManager
         }
 
         if (method_exists($controller, 'setPluginManager')) {
-            $controller->setPluginManager($parentLocator->get('ControllerPluginBroker'));
+            $controller->setPluginManager($parentLocator->get('ControllerPluginManager'));
         }
     }
 
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Redirect.php b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Redirect.php
index 9f4ca9ec809..dfaf8db1ad6 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Redirect.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Redirect.php
@@ -14,7 +14,6 @@ use Zend\Http\Response;
 use Zend\Mvc\Exception;
 use Zend\Mvc\InjectApplicationEventInterface;
 use Zend\Mvc\MvcEvent;
-use Zend\Mvc\Router\RouteStackInterface;
 
 /**
  * @todo       allow specifying status code as a default, or as an option to methods
diff --git a/vendor/ZF2/library/Zend/Mvc/DispatchListener.php b/vendor/ZF2/library/Zend/Mvc/DispatchListener.php
index 86ece8cafd6..ca4b74992b9 100644
--- a/vendor/ZF2/library/Zend/Mvc/DispatchListener.php
+++ b/vendor/ZF2/library/Zend/Mvc/DispatchListener.php
@@ -17,7 +17,6 @@ use Zend\ServiceManager\Exception\ServiceNotCreatedException;
 use Zend\ServiceManager\Exception\ServiceNotFoundException;
 use Zend\ServiceManager\ServiceManager;
 use Zend\Stdlib\ArrayUtils;
-use Zend\Stdlib\DispatchableInterface;
 
 
 /**
diff --git a/vendor/ZF2/library/Zend/Mvc/MvcEvent.php b/vendor/ZF2/library/Zend/Mvc/MvcEvent.php
index b40fcb79b6d..da42498ba73 100644
--- a/vendor/ZF2/library/Zend/Mvc/MvcEvent.php
+++ b/vendor/ZF2/library/Zend/Mvc/MvcEvent.php
@@ -235,7 +235,7 @@ class MvcEvent extends Event
      */
     public function isError()
     {
-        return $this->getParam('error', false);
+        return (bool) $this->getParam('error', false);
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Console/Catchall.php b/vendor/ZF2/library/Zend/Mvc/Router/Console/Catchall.php
index 88518ca50cd..9abf56ab83b 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Console/Catchall.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Console/Catchall.php
@@ -30,7 +30,6 @@ use Zend\Mvc\Router\Exception;
 use Zend\Console\Request as ConsoleRequest;
 use Zend\Filter\FilterChain;
 use Zend\Validator\ValidatorChain;
-use Zend\Mvc\Exception\InvalidArgumentException;
 
 /**
  * Segment route.
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php b/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php
index bc6c570598f..2a4b7cffbc3 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php
@@ -14,7 +14,6 @@ use Traversable;
 use Zend\Mvc\Router\Exception;
 use Zend\Mvc\Router\SimpleRouteStack as BaseSimpleRouteStack;
 use Zend\Stdlib\ArrayUtils;
-use Zend\Stdlib\RequestInterface as Request;
 
 /**
  * Tree search implementation.
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php
index 93acafd6a62..b227368ca93 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php
@@ -24,6 +24,38 @@ use Zend\Stdlib\RequestInterface as Request;
  */
 class Segment implements RouteInterface
 {
+    /**
+     * Map of allowed special chars in path segments.
+     *
+     * http://tools.ietf.org/html/rfc3986#appendix-A
+     * segement      = *pchar
+     * pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"
+     * unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
+     * sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
+     *               / "*" / "+" / "," / ";" / "="
+     *
+     * @var array
+     */
+    private static $urlencodeCorrectionMap = array(
+        '%21' => "!", // sub-delims
+        '%24' => "$", // sub-delims
+        '%26' => "&", // sub-delims
+        '%27' => "'", // sub-delims
+        '%28' => "(", // sub-delims
+        '%29' => ")", // sub-delims
+        '%2A' => "*", // sub-delims
+//      '%2B' => "+", // sub-delims - special value for php/urlencode
+        '%2C' => ",", // sub-delims
+//      '%2D' => "-", // unreserved - not touched by urlencode
+//      '%2E' => ".", // unreserved - not touched by urlencode
+        '%3A' => ":", // pchar
+        '%3B' => ";", // sub-delims
+        '%3D' => "=", // sub-delims
+        '%40' => "@", // pchar
+//      '%5F' => "_", // unreserved - not touched by urlencode
+        '%7E' => "~", // unreserved
+    );
+
     /**
      * Parts of the route.
      *
@@ -264,7 +296,7 @@ class Segment implements RouteInterface
                         $skip = false;
                     }
 
-                    $path .= urlencode($mergedParams[$part[1]]);
+                    $path .= $this->encode($mergedParams[$part[1]]);
 
                     $this->assembledParams[] = $part[1];
                     break;
@@ -330,7 +362,7 @@ class Segment implements RouteInterface
 
         foreach ($this->paramMap as $index => $name) {
             if (isset($matches[$index]) && $matches[$index] !== '') {
-                $params[$name] = urldecode($matches[$index]);
+                $params[$name] = $this->decode($matches[$index]);
             }
         }
 
@@ -367,4 +399,28 @@ class Segment implements RouteInterface
     {
         return $this->assembledParams;
     }
+
+    /**
+     * Encode a path segment.
+     *
+     * @param string $value
+     * @return string
+     */
+    private function encode($value)
+    {
+        $encoded = urlencode($value);
+        $encoded = strtr($encoded, self::$urlencodeCorrectionMap);
+        return $encoded;
+    }
+
+    /**
+     * Decode a path segment.
+     *
+     * @param string $value
+     * @return string
+     */
+    private function decode($value)
+    {
+        return urldecode($value);
+    }
 }
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/SimpleRouteStack.php b/vendor/ZF2/library/Zend/Mvc/Router/SimpleRouteStack.php
index 10c9f8928dd..50924ee2fc6 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/SimpleRouteStack.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/SimpleRouteStack.php
@@ -10,8 +10,6 @@
 
 namespace Zend\Mvc\Router;
 
-use ArrayAccess;
-use ArrayIterator;
 use Traversable;
 use Zend\Stdlib\ArrayUtils;
 use Zend\Stdlib\RequestInterface as Request;
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/RouterFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/RouterFactory.php
index ba2ade0c99c..9cad512915a 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/RouterFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/RouterFactory.php
@@ -37,7 +37,7 @@ class RouterFactory implements FactoryInterface
      */
     public function createService(ServiceLocatorInterface $serviceLocator, $cName = null, $rName = null)
     {
-        $config = $serviceLocator->get('Configuration');
+        $config = $serviceLocator->get('Config');
 
         if (
             $rName === 'ConsoleRouter' ||                   // force console router
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ServiceListenerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/ServiceListenerFactory.php
index 6889d612320..c9fddf8db6d 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ServiceListenerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ServiceListenerFactory.php
@@ -69,10 +69,8 @@ class ServiceListenerFactory implements FactoryInterface
         'aliases' => array(
             'Configuration'                          => 'Config',
             'Console'                                => 'ConsoleAdapter',
-            'ControllerPluginBroker'                 => 'ControllerPluginManager',
             'Di'                                     => 'DependencyInjector',
             'Zend\Di\LocatorInterface'               => 'DependencyInjector',
-            'Zend\Mvc\Controller\PluginBroker'       => 'ControllerPluginBroker',
             'Zend\Mvc\Controller\PluginManager'      => 'ControllerPluginManager',
             'Zend\View\Resolver\TemplateMapResolver' => 'ViewTemplateMapResolver',
             'Zend\View\Resolver\TemplatePathStack'   => 'ViewTemplatePathStack',
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ViewHelperManagerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/ViewHelperManagerFactory.php
index 20fe1c03245..8700067793b 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ViewHelperManagerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ViewHelperManagerFactory.php
@@ -76,7 +76,6 @@ class ViewHelperManagerFactory extends AbstractPluginManagerFactory
                         ->getRouteMatch();
 
             if ($match instanceof RouteMatch) {
-
                 $helper->setRouteMatch($match);
             }
 
@@ -85,10 +84,9 @@ class ViewHelperManagerFactory extends AbstractPluginManagerFactory
 
         $plugins->setFactory('basepath', function($sm) use($serviceLocator) {
             $config = $serviceLocator->get('Config');
-            $config = $config['view_manager'];
             $basePathHelper = new ViewHelper\BasePath;
-            if (isset($config['base_path'])) {
-                $basePath = $config['base_path'];
+            if (isset($config['view_manager']) && isset($config['view_manager']['base_path'])) {
+                $basePath = $config['view_manager']['base_path'];
             } else {
                 $basePath = $serviceLocator->get('Request')->getBasePath();
             }
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Console/ExceptionStrategy.php b/vendor/ZF2/library/Zend/Mvc/View/Console/ExceptionStrategy.php
index 202eaf2ba19..2e9d44dfb71 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Console/ExceptionStrategy.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Console/ExceptionStrategy.php
@@ -175,7 +175,7 @@ EOT;
 
                 if (is_callable($this->message)) {
                     $callback = $this->message;
-                    $message = (string)$callback($exception, $this->displayExceptions);
+                    $message = (string) $callback($exception, $this->displayExceptions);
                 } elseif ($this->displayExceptions && $exception instanceof \Exception) {
                     /* @var $exception \Exception */
                     $message = str_replace(
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Console/RouteNotFoundStrategy.php b/vendor/ZF2/library/Zend/Mvc/View/Console/RouteNotFoundStrategy.php
index 292617b3ae0..f44d0251fd4 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Console/RouteNotFoundStrategy.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Console/RouteNotFoundStrategy.php
@@ -23,10 +23,10 @@ use Zend\Mvc\Exception\RuntimeException;
 use Zend\Console\Response as ConsoleResponse;
 use Zend\Console\Request as ConsoleRequest;
 use Zend\Console\Adapter\AdapterInterface as ConsoleAdapter;
-use Zend\Mvc\Router\RouteInterface;
 use Zend\View\Model\ConsoleModel;
 use Zend\Version\Version;
 use Zend\Stdlib\ResponseInterface as Response;
+use Zend\Text\Table;
 
 /**
  * @category   Zend
@@ -40,6 +40,13 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
      */
     protected $listeners = array();
 
+    /**
+     * Whether or not to display the reason for routing failure
+     *
+     * @var bool
+     */
+    protected $displayNotFoundReason = true;
+
     /**
      * The reason for a not-found condition
      *
@@ -73,6 +80,28 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
         }
     }
 
+    /**
+     * Set flag indicating whether or not to display the routing failure
+     *
+     * @param  bool $displayNotFoundReason
+     * @return RouteNotFoundStrategy
+     */
+    public function setDisplayNotFoundReason($displayNotFoundReason)
+    {
+        $this->displayNotFoundReason = (bool) $displayNotFoundReason;
+        return $this;
+    }
+
+    /**
+     * Do we display the routing failure?
+     *
+     * @return bool
+     */
+    public function displayNotFoundReason()
+    {
+        return $this->displayNotFoundReason;
+    }
+
     /**
      * Detect if an error is a route not found condition
      *
@@ -92,7 +121,7 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
         }
 
         $response = $e->getResponse();
-        $request = $e->getRequest();
+        $request  = $e->getRequest();
 
         switch ($error) {
             case Application::ERROR_CONTROLLER_NOT_FOUND:
@@ -123,11 +152,11 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
         $sm = $e->getApplication()->getServiceManager();
 
         // Try to fetch module manager
+        $mm = null;
         try{
             $mm = $sm->get('ModuleManager');
         } catch (ServiceNotFoundException $e) {
             // The application does not have or use module manager, so we cannot use it
-            $mm = null;
         }
 
         // Try to fetch current console adapter
@@ -142,18 +171,17 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
         }
 
         // Try to fetch router
+        $router = null;
         try{
             $router = $sm->get('Router');
         } catch (ServiceNotFoundException $e) {
             // The application does not have a router
-            $router = null;
         }
 
         // Retrieve the script's name (entry point)
+        $scriptName = '';
         if ($request instanceof ConsoleRequest) {
             $scriptName = basename($request->getScriptName());
-        } else {
-            $scriptName = '';
         }
 
         // Get application banner
@@ -162,9 +190,11 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
         // Get application usage information
         $usage = $this->getConsoleUsage($console, $scriptName, $mm, $router);
 
-        // Inject the text into view model
-        $result = $banner ? rtrim($banner,"\r\n") : '';
-        $result .= $usage ? "\n\n" . trim($usage,"\r\n") : '';
+        // Inject the text into view
+        $result  = $banner ? rtrim($banner, "\r\n")        : '';
+        $result .= $usage  ? "\n\n" . trim($usage, "\r\n") : '';
+        $result .= "\n"; // to ensure we output a final newline
+        $result .= $this->reportNotFoundReason($e);
         $model->setResult($result);
 
         // Inject the result into MvcEvent
@@ -181,32 +211,35 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
      */
     protected function getConsoleBanner(ConsoleAdapter $console, ModuleManagerInterface $moduleManager = null)
     {
-        /**
+        /*
          * Loop through all loaded modules and collect banners
          */
         $banners = array();
         if ($moduleManager !== null) {
             foreach ($moduleManager->getLoadedModules(false) as $module) {
-                if (!$module instanceof ConsoleBannerProviderInterface) {
+                // Strict-type on ConsoleBannerProviderInterface, or duck-type
+                // on the method it defines
+                if (!$module instanceof ConsoleBannerProviderInterface
+                    && !method_exists($module, 'getConsoleBanner')
+                ) {
                     continue; // this module does not provide a banner
                 }
 
-                /* @var $module ConsoleBannerProviderInterface */
                 $banners[] = $module->getConsoleBanner($console);
             }
         }
 
-        /**
+        /*
          * Handle an application with no defined banners
          */
         if (!count($banners)) {
-            return "Zend Framework " . Version::VERSION . " application.\nUsage:\n";
+            return sprintf("Zend Framework %s application\nUsage:\n", Version::VERSION);
         }
 
-        /**
+        /*
          * Join the banners by a newline character
          */
-        return join("\n", $banners);
+        return implode("\n", $banners);
     }
 
     /**
@@ -223,29 +256,33 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
         $scriptName,
         ModuleManagerInterface $moduleManager = null
     ) {
-        /**
+        /*
          * Loop through all loaded modules and collect usage info
          */
         $usageInfo = array();
 
         if ($moduleManager !== null) {
             foreach ($moduleManager->getLoadedModules(false) as $name => $module) {
-                if (!$module instanceof ConsoleUsageProviderInterface) {
+                // Strict-type on ConsoleUsageProviderInterface, or duck-type
+                // on the method it defines
+                if (!$module instanceof ConsoleUsageProviderInterface
+                    && !method_exists($module, 'getConsoleUsage')
+                ) {
                     continue; // this module does not provide usage info
                 }
 
-                /* @var $module ConsoleUsageProviderInterface */
                 $usage = $module->getConsoleUsage($console);
 
                 // Normalize what we got from the module or discard
-                if (is_array($usage))
+                if (is_array($usage)) {
                     $usageInfo[$name] = $usage;
-                elseif (is_string($usage))
+                } elseif (is_string($usage)) {
                     $usageInfo[$name] = array($usage);
+                }
             }
         }
 
-        /**
+        /*
          * Handle an application with no usage information
          */
         if (!count($usageInfo)) {
@@ -253,71 +290,81 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
             return '';
         }
 
-        /**
+        /*
          * Transform arrays in usage info into columns, otherwise join everything together
          */
-        $result = '';
-        $table = false;
+        $result    = '';
+        $table     = false;
         $tableCols = 0;
         $tableType = 0;
         foreach ($usageInfo as $moduleName => $usage) {
+            if (!is_string($usage) && !is_array($usage)) {
+                throw new RuntimeException(sprintf(
+                    'Cannot understand usage info for module "%s"',
+                    $moduleName
+                ));
+            }
+
             if (is_string($usage)) {
                 // It's a plain string - output as is
                 $result .= $usage . "\n";
-            } elseif (is_array($usage)) {
-                // It's an array, analyze it
-                foreach ($usage as $a => $b) {
-                    if (is_string($a) && is_string($b)) {
-                        /**
-                         *    'ivocation method' => 'explanation'
-                         */
-                        if (($tableCols !== 2 || $tableType != 1) && $table !== false) {
-                            // render last table
-                            $result .= $this->renderTable($table, $tableCols, $console->getWidth());
-                            $table = false;
-
-                             // add extra newline for clarity
-                            $result .= "\n";
-                        }
-
-                        $tableCols = 2;
-                        $tableType = 1;
-                        $table[] = array($scriptName . ' ' . $a, $b);
-                    } elseif (is_array($b)) {
-                        /**
-                         *  array( '--param', '--explanation' )
-                         */
-                        if ((count($b) != $tableCols || $tableType != 2) && $table !== false) {
-                            // render last table
-                            $result .= $this->renderTable($table, $tableCols, $console->getWidth());
-                            $table = false;
-
-                             // add extra newline for clarity
-                            $result .= "\n";
-                        }
-
-                        $tableCols = count($b);
-                        $tableType = 2;
-                        $table[] = $b;
-                    } else {
-                        /**
-                         *    'A single line of text'
-                         */
-                        if ($table !== false) {
-                            // render last table
-                            $result .= $this->renderTable($table, $tableCols, $console->getWidth());
-                            $table = false;
+                continue;
+            }
+
+            // It's an array, analyze it
+            foreach ($usage as $a => $b) {
+                /*
+                 * 'invocation method' => 'explanation'
+                 */
+                if (is_string($a) && is_string($b)) {
+                    if (($tableCols !== 2 || $tableType != 1) && $table !== false) {
+                        // render last table
+                        $result .= $this->renderTable($table, $tableCols, $console->getWidth());
+                        $table   = false;
 
                             // add extra newline for clarity
-                            $result .= "\n";
-                        }
+                        $result .= "\n";
+                    }
 
-                        $tableType = 0;
-                        $result .= $b . "\n";
+                    $tableCols = 2;
+                    $tableType = 1;
+                    $table[]   = array($scriptName . ' ' . $a, $b);
+                    continue;
+                }
+
+                /*
+                 * array('--param', '--explanation')
+                 */
+                if (is_array($b)) {
+                    if ((count($b) != $tableCols || $tableType != 2) && $table !== false) {
+                        // render last table
+                        $result .= $this->renderTable($table, $tableCols, $console->getWidth());
+                        $table   = false;
+
+                        // add extra newline for clarity
+                        $result .= "\n";
                     }
+
+                    $tableCols = count($b);
+                    $tableType = 2;
+                    $table[]   = $b;
+                    continue;
+                }
+
+                /*
+                 * 'A single line of text'
+                 */
+                if ($table !== false) {
+                    // render last table
+                    $result .= $this->renderTable($table, $tableCols, $console->getWidth());
+                    $table   = false;
+
+                    // add extra newline for clarity
+                    $result .= "\n";
                 }
-            } else {
-                throw new RuntimeException('Cannot understand usage info for module ' . $moduleName);
+
+                $tableType = 0;
+                $result   .= $b . "\n";
             }
         }
 
@@ -332,14 +379,14 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
     /**
      * Render a text table containing the data provided, that will fit inside console window's width.
      *
-     * @param $data
-     * @param $cols
-     * @param $consoleWidth
+     * @param  $data
+     * @param  $cols
+     * @param  $consoleWidth
      * @return string
      */
     protected function renderTable($data, $cols, $consoleWidth)
     {
-        $result = '';
+        $result  = '';
         $padding = 2;
 
         // If there is only 1 column, just concatenate it
@@ -352,37 +399,40 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
 
         // Determine max width for each column
         $maxW = array();
-        for ($x=1;$x<=$cols;$x++) {
+        for ($x = 1; $x <= $cols; $x += 1) {
             $maxW[$x] = 0;
             foreach ($data as $row) {
-                $maxW[$x] = max($maxW[$x], mb_strlen($row[$x-1],'utf-8') + $padding*2);
+                $maxW[$x] = max($maxW[$x], mb_strlen($row[$x-1],'utf-8') + $padding * 2);
             }
         }
 
-        /**
-         * Check if the sum of x-1 columns fit inside console window width - 10 chars. If columns do not fit inside
-         * console window, then we'll just concatenate them and output as is.
+        /*
+         * Check if the sum of x-1 columns fit inside console window width - 10
+         * chars. If columns do not fit inside console window, then we'll just
+         * concatenate them and output as is.
          */
         $width = 0;
-        for ($x=1;$x<$cols;$x++) {
+        for ($x = 1; $x < $cols; $x += 1) {
             $width += $maxW[$x];
         }
+
         if ($width >= $consoleWidth - 10) {
             foreach ($data as $row) {
-                $result .= join("    ", $row) . "\n";
+                $result .= implode("    ", $row) . "\n";
             }
             return $result;
         }
 
-        /**
+        /*
          * Use Zend\Text\Table to render the table.
-         * The last column will use the remaining space in console window (minus 1 character to prevent double
-         * wrapping at the edge of the screen).
+         * The last column will use the remaining space in console window
+         * (minus 1 character to prevent double wrapping at the edge of the
+         * screen).
          */
         $maxW[$cols] = $consoleWidth - $width -1;
-        $table = new \Zend\Text\Table\Table();
+        $table       = new Table\Table();
         $table->setColumnWidths($maxW);
-        $table->setDecorator(new \Zend\Text\Table\Decorator\Blank());
+        $table->setDecorator(new Table\Decorator\Blank());
         $table->setPadding(2);
 
         foreach ($data as $row) {
@@ -391,4 +441,36 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
 
         return $table->render();
     }
+
+    /**
+     * Report the 404 reason and/or exceptions
+     *
+     * @param  \Zend\Event\EventInterface $e
+     * @return string
+     */
+    protected function reportNotFoundReason($e)
+    {
+        if (!$this->displayNotFoundReason()) {
+            return '';
+        }
+        $exception = $e->getParam('exception', false);
+        if (!$exception && !$this->reason) {
+            return '';
+        }
+
+        $reason    = (isset($this->reason) && !empty($this->reason)) ? $this->reason : 'unknown';
+        $reasons   = array(
+            Application::ERROR_CONTROLLER_NOT_FOUND => 'Could not match to a controller',
+            Application::ERROR_CONTROLLER_INVALID   => 'Invalid controller specified',
+            Application::ERROR_ROUTER_NO_MATCH      => 'Invalid arguments or no arguments provided',
+            'unknown'                               => 'Unknown',
+        );
+        $report = sprintf("\nReason for failure: %s\n", $reasons[$reason]);
+
+        while ($exception instanceof \Exception) {
+            $report   .= sprintf("Exception: %s\nTrace:\n%s\n", $exception->getMessage(), $exception->getTraceAsString());
+            $exception = $exception->getPrevious();
+        }
+        return $report;
+    }
 }
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Console/ViewManager.php b/vendor/ZF2/library/Zend/Mvc/View/Console/ViewManager.php
index 63b730a8d6c..a5009d1298e 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Console/ViewManager.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Console/ViewManager.php
@@ -14,10 +14,6 @@ use ArrayAccess;
 use Zend\Mvc\MvcEvent;
 use Zend\Mvc\View\Http\ViewManager as BaseViewManager;
 use Zend\Mvc\View\SendResponseListener;
-use Zend\ServiceManager\ServiceManager;
-use Zend\Stdlib\ArrayUtils;
-use Zend\View\Helper as ViewHelper;
-use Zend\View\Resolver as ViewResolver;
 use Zend\View\View;
 
 /**
@@ -146,6 +142,13 @@ class ViewManager extends BaseViewManager
 
         $this->routeNotFoundStrategy = new RouteNotFoundStrategy();
 
+        $displayNotFoundReason = true;
+
+        if (array_key_exists('display_not_found_reason', $this->config)) {
+            $displayNotFoundReason = $this->config['display_not_found_reason'];
+        }
+        $this->routeNotFoundStrategy->setDisplayNotFoundReason($displayNotFoundReason);
+
         $this->services->setService('RouteNotFoundStrategy', $this->routeNotFoundStrategy);
         $this->services->setAlias('Zend\Mvc\View\RouteNotFoundStrategy', 'RouteNotFoundStrategy');
         $this->services->setAlias('Zend\Mvc\View\Console\RouteNotFoundStrategy', 'RouteNotFoundStrategy');
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Http/InjectViewModelListener.php b/vendor/ZF2/library/Zend/Mvc/View/Http/InjectViewModelListener.php
index 02f241c5e07..92f5a8ca74f 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Http/InjectViewModelListener.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Http/InjectViewModelListener.php
@@ -13,7 +13,6 @@ namespace Zend\Mvc\View\Http;
 use Zend\EventManager\EventManagerInterface as Events;
 use Zend\EventManager\ListenerAggregateInterface;
 use Zend\Mvc\MvcEvent;
-use Zend\Mvc\Router\RouteMatch;
 use Zend\View\Model\ModelInterface as ViewModel;
 
 class InjectViewModelListener implements ListenerAggregateInterface
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Http/ViewManager.php b/vendor/ZF2/library/Zend/Mvc/View/Http/ViewManager.php
index 38eed62cbc5..ddfe87ab3f3 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Http/ViewManager.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Http/ViewManager.php
@@ -16,12 +16,8 @@ use Zend\EventManager\EventManagerInterface;
 use Zend\EventManager\ListenerAggregateInterface;
 use Zend\Mvc\Exception;
 use Zend\Mvc\MvcEvent;
-use Zend\Mvc\Router\RouteMatch;
 use Zend\Mvc\View\SendResponseListener;
-use Zend\ServiceManager\ConfigInterface;
 use Zend\ServiceManager\ServiceManager;
-use Zend\Stdlib\ArrayUtils;
-use Zend\View\Helper as ViewHelper;
 use Zend\View\HelperPluginManager as ViewHelperManager;
 use Zend\View\Renderer\PhpRenderer as ViewPhpRenderer;
 use Zend\View\Resolver as ViewResolver;
diff --git a/vendor/ZF2/library/Zend/Mvc/composer.json b/vendor/ZF2/library/Zend/Mvc/composer.json
index 1fe02972d45..18596373441 100644
--- a/vendor/ZF2/library/Zend/Mvc/composer.json
+++ b/vendor/ZF2/library/Zend/Mvc/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Mvc": ""
+            "Zend\\Mvc\\": ""
         }
     },
     "target-dir": "Zend/Mvc",
diff --git a/vendor/ZF2/library/Zend/Navigation/AbstractContainer.php b/vendor/ZF2/library/Zend/Navigation/AbstractContainer.php
index 964c838525e..c6e80987b1e 100644
--- a/vendor/ZF2/library/Zend/Navigation/AbstractContainer.php
+++ b/vendor/ZF2/library/Zend/Navigation/AbstractContainer.php
@@ -14,7 +14,6 @@ use Countable;
 use RecursiveIterator;
 use RecursiveIteratorIterator;
 use Traversable;
-use Zend\Stdlib\ArrayUtils;
 use Zend\Stdlib\ErrorHandler;
 
 /**
diff --git a/vendor/ZF2/library/Zend/Navigation/Page/AbstractPage.php b/vendor/ZF2/library/Zend/Navigation/Page/AbstractPage.php
index d9d5db43001..a9d0d7859ca 100644
--- a/vendor/ZF2/library/Zend/Navigation/Page/AbstractPage.php
+++ b/vendor/ZF2/library/Zend/Navigation/Page/AbstractPage.php
@@ -767,7 +767,7 @@ abstract class AbstractPage extends AbstractContainer
         if (is_string($visible) && 'false' == strtolower($visible)) {
             $visible = false;
         }
-        $this->visible = (bool)$visible;
+        $this->visible = (bool) $visible;
         return $this;
     }
 
diff --git a/vendor/ZF2/library/Zend/Navigation/Page/Mvc.php b/vendor/ZF2/library/Zend/Navigation/Page/Mvc.php
index 0dad3e16c0d..0a26f2372ce 100644
--- a/vendor/ZF2/library/Zend/Navigation/Page/Mvc.php
+++ b/vendor/ZF2/library/Zend/Navigation/Page/Mvc.php
@@ -14,7 +14,6 @@ use Zend\Mvc\Router\RouteMatch;
 use Zend\Mvc\Router\RouteStackInterface;
 use Zend\Navigation\Exception;
 use Zend\Mvc\ModuleRouteListener;
-use Zend\View\Helper\Url as UrlHelper;
 
 /**
  * Represents a page that is defined using controller, action, route
diff --git a/vendor/ZF2/library/Zend/Navigation/Service/AbstractNavigationFactory.php b/vendor/ZF2/library/Zend/Navigation/Service/AbstractNavigationFactory.php
index 7179df7b7a3..2833d2111eb 100644
--- a/vendor/ZF2/library/Zend/Navigation/Service/AbstractNavigationFactory.php
+++ b/vendor/ZF2/library/Zend/Navigation/Service/AbstractNavigationFactory.php
@@ -15,7 +15,6 @@ use Zend\Mvc\Router\RouteMatch;
 use Zend\Mvc\Router\RouteStackInterface as Router;
 use Zend\Navigation\Exception;
 use Zend\Navigation\Navigation;
-use Zend\Navigation\Page\Mvc as MvcPage;
 use Zend\ServiceManager\FactoryInterface;
 use Zend\ServiceManager\ServiceLocatorInterface;
 
@@ -56,7 +55,7 @@ abstract class AbstractNavigationFactory implements FactoryInterface
     protected function getPages(ServiceLocatorInterface $serviceLocator)
     {
         if (null === $this->pages) {
-            $configuration = $serviceLocator->get('Configuration');
+            $configuration = $serviceLocator->get('Config');
 
             if (!isset($configuration['navigation'])) {
                 throw new Exception\InvalidArgumentException('Could not find navigation configuration key');
diff --git a/vendor/ZF2/library/Zend/Navigation/composer.json b/vendor/ZF2/library/Zend/Navigation/composer.json
index d95587928e4..cb6d6572c90 100644
--- a/vendor/ZF2/library/Zend/Navigation/composer.json
+++ b/vendor/ZF2/library/Zend/Navigation/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Navigation": ""
+            "Zend\\Navigation\\": ""
         }
     },
     "target-dir": "Zend/Navigation",
diff --git a/vendor/ZF2/library/Zend/Paginator/Paginator.php b/vendor/ZF2/library/Zend/Paginator/Paginator.php
index 931e14b1d21..51131b1da0f 100644
--- a/vendor/ZF2/library/Zend/Paginator/Paginator.php
+++ b/vendor/ZF2/library/Zend/Paginator/Paginator.php
@@ -17,7 +17,6 @@ use IteratorAggregate;
 use Traversable;
 use Zend\Cache\Storage\IteratorInterface as CacheIterator;
 use Zend\Cache\Storage\StorageInterface as CacheStorage;
-use Zend\Db\Sql;
 use Zend\Db\ResultSet\AbstractResultSet;
 use Zend\Filter\FilterInterface;
 use Zend\Json\Json;
@@ -335,7 +334,7 @@ class Paginator implements Countable, IteratorAggregate
      */
     public function setCacheEnabled($enable)
     {
-        $this->cacheEnabled = (bool)$enable;
+        $this->cacheEnabled = (bool) $enable;
         return $this;
     }
 
@@ -720,7 +719,7 @@ class Paginator implements Countable, IteratorAggregate
                 $tags = self::$cache->getTags($key);
                 if ($tags && in_array($this->_getCacheInternalId(), $tags)) {
                     if (substr($key, 0, $prefixLength) == self::CACHE_TAG_PREFIX) {
-                        $data[(int)substr($key, $prefixLength)] = $value;
+                        $data[(int) substr($key, $prefixLength)] = $value;
                     }
                 }
             }
diff --git a/vendor/ZF2/library/Zend/Paginator/composer.json b/vendor/ZF2/library/Zend/Paginator/composer.json
index 85d8aab76bd..fec117dd1fc 100644
--- a/vendor/ZF2/library/Zend/Paginator/composer.json
+++ b/vendor/ZF2/library/Zend/Paginator/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Paginator": ""
+            "Zend\\Paginator\\": ""
         }
     },
     "target-dir": "Zend/Paginator",
diff --git a/vendor/ZF2/library/Zend/Permissions/Acl/composer.json b/vendor/ZF2/library/Zend/Permissions/Acl/composer.json
index b1ed07e32bd..dd3c9eba29a 100644
--- a/vendor/ZF2/library/Zend/Permissions/Acl/composer.json
+++ b/vendor/ZF2/library/Zend/Permissions/Acl/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Permissions\\Acl": ""
+            "Zend\\Permissions\\Acl\\": ""
         }
     },
     "target-dir": "Zend/Permissions/Acl",
diff --git a/vendor/ZF2/library/Zend/ProgressBar/composer.json b/vendor/ZF2/library/Zend/ProgressBar/composer.json
index eb205c20e17..149ceb7b815 100644
--- a/vendor/ZF2/library/Zend/ProgressBar/composer.json
+++ b/vendor/ZF2/library/Zend/ProgressBar/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\ProgressBar": ""
+            "Zend\\ProgressBar\\": ""
         }
     },
     "target-dir": "Zend/ProgressBar",
diff --git a/vendor/ZF2/library/Zend/Serializer/Adapter/PythonPickle.php b/vendor/ZF2/library/Zend/Serializer/Adapter/PythonPickle.php
index 1f950072fc5..3e11d139c0d 100644
--- a/vendor/ZF2/library/Zend/Serializer/Adapter/PythonPickle.php
+++ b/vendor/ZF2/library/Zend/Serializer/Adapter/PythonPickle.php
@@ -769,7 +769,7 @@ class PythonPickle extends AbstractAdapter
      */
     protected function loadGet()
     {
-        $id = (int)$this->readline();
+        $id = (int) $this->readline();
 
         if (!array_key_exists($id, $this->memo)) {
             throw new Exception\RuntimeException('Get id "' . $id . '" not found in memo');
@@ -950,7 +950,7 @@ class PythonPickle extends AbstractAdapter
      */
     protected function loadString()
     {
-        $this->stack[] = $this->unquoteString((string)$this->readline());
+        $this->stack[] = $this->unquoteString((string) $this->readline());
     }
 
     /**
@@ -964,7 +964,7 @@ class PythonPickle extends AbstractAdapter
             $bin = strrev($bin);
         }
         list(, $len)   = unpack('l', $bin);
-        $this->stack[] = (string)$this->read($len);
+        $this->stack[] = (string) $this->read($len);
     }
 
     /**
@@ -974,7 +974,7 @@ class PythonPickle extends AbstractAdapter
     protected function loadShortBinString()
     {
         $len           = ord($this->read(1));
-        $this->stack[] = (string)$this->read($len);
+        $this->stack[] = (string) $this->read($len);
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Serializer/Adapter/WddxOptions.php b/vendor/ZF2/library/Zend/Serializer/Adapter/WddxOptions.php
index 82a67f56c34..66a363c378a 100644
--- a/vendor/ZF2/library/Zend/Serializer/Adapter/WddxOptions.php
+++ b/vendor/ZF2/library/Zend/Serializer/Adapter/WddxOptions.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Serializer\Adapter;
 
-use Zend\Serializer\Exception;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Serializer/composer.json b/vendor/ZF2/library/Zend/Serializer/composer.json
index 6c42cbdfb18..a961a5e81ec 100644
--- a/vendor/ZF2/library/Zend/Serializer/composer.json
+++ b/vendor/ZF2/library/Zend/Serializer/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Serializer": ""
+            "Zend\\Serializer\\": ""
         }
     },
     "target-dir": "Zend/Serializer",
diff --git a/vendor/ZF2/library/Zend/Server/composer.json b/vendor/ZF2/library/Zend/Server/composer.json
index 69400a24eb7..51dbdf540fe 100644
--- a/vendor/ZF2/library/Zend/Server/composer.json
+++ b/vendor/ZF2/library/Zend/Server/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Server": ""
+            "Zend\\Server\\": ""
         }
     },
     "target-dir": "Zend/Server",
diff --git a/vendor/ZF2/library/Zend/ServiceManager/AbstractFactoryInterface.php b/vendor/ZF2/library/Zend/ServiceManager/AbstractFactoryInterface.php
index fe1f1b58126..6bf8a972044 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/AbstractFactoryInterface.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/AbstractFactoryInterface.php
@@ -10,8 +10,29 @@
 
 namespace Zend\ServiceManager;
 
+/**
+ * @category Zend
+ * @package  Zend_ServiceManager
+ */
 interface AbstractFactoryInterface
 {
+    /**
+     * Determine if we can create a service with name
+     *
+     * @param ServiceLocatorInterface $serviceLocator
+     * @param $name
+     * @param $requestedName
+     * @return bool
+     */
     public function canCreateServiceWithName(ServiceLocatorInterface $serviceLocator, $name, $requestedName);
+
+    /**
+     * Create service with name
+     *
+     * @param ServiceLocatorInterface $serviceLocator
+     * @param $name
+     * @param $requestedName
+     * @return mixed
+     */
     public function createServiceWithName(ServiceLocatorInterface $serviceLocator, $name, $requestedName);
 }
diff --git a/vendor/ZF2/library/Zend/ServiceManager/AbstractPluginManager.php b/vendor/ZF2/library/Zend/ServiceManager/AbstractPluginManager.php
index 54da31343fb..61704d45189 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/AbstractPluginManager.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/AbstractPluginManager.php
@@ -181,4 +181,42 @@ abstract class AbstractPluginManager extends ServiceManager implements ServiceLo
 
         return $instance;
     }
+
+    /**
+     * Attempt to create an instance via a factory class
+     *
+     * Overrides parent implementation by passing $creationOptions to the
+     * constructor, if non-null.
+     *
+     * @param  string $canonicalName
+     * @param  string $requestedName
+     * @return mixed
+     * @throws Exception\ServiceNotCreatedException If factory is not callable
+     */
+    protected function createFromFactory($canonicalName, $requestedName)
+    {
+        $factory = $this->factories[$canonicalName];
+        if (is_string($factory) && class_exists($factory, true)) {
+            if (null === $this->creationOptions || (is_array($this->creationOptions) && empty($this->creationOptions))) {
+                $factory = new $factory();
+            } else {
+                $factory = new $factory($this->creationOptions);
+            }
+
+            $this->factories[$canonicalName] = $factory;
+        }
+
+        if ($factory instanceof FactoryInterface) {
+            $instance = $this->createServiceViaCallback(array($factory, 'createService'), $canonicalName, $requestedName);
+        } elseif (is_callable($factory)) {
+            $instance = $this->createServiceViaCallback($factory, $canonicalName, $requestedName);
+        } else {
+            throw new Exception\ServiceNotCreatedException(sprintf(
+                'While attempting to create %s%s an invalid factory was registered for this instance type.', $canonicalName, ($requestedName ? '(alias: ' . $requestedName . ')' : '')
+            ));
+        }
+
+        return $instance;
+    }
+
 }
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Config.php b/vendor/ZF2/library/Zend/ServiceManager/Config.php
index 63fcbf4253b..3ce022ebe09 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Config.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Config.php
@@ -10,55 +10,113 @@
 
 namespace Zend\ServiceManager;
 
+/**
+ * @category Zend
+ * @package  Zend_ServiceManager
+ */
 class Config implements ConfigInterface
 {
+    /**
+     * @var array
+     */
     protected $config = array();
 
+    /**
+     * Constructor
+     *
+     * @param array $config
+     */
     public function __construct($config = array())
     {
         $this->config = $config;
     }
 
+    /**
+     * Get allow override
+     *
+     * @return null|bool
+     */
     public function getAllowOverride()
     {
         return (isset($this->config['allow_override'])) ? $this->config['allow_override'] : null;
     }
 
+    /**
+     * Get factories
+     *
+     * @return array
+     */
     public function getFactories()
     {
         return (isset($this->config['factories'])) ? $this->config['factories'] : array();
     }
 
+    /**
+     * Get abstract factories
+     *
+     * @return array
+     */
     public function getAbstractFactories()
     {
         return (isset($this->config['abstract_factories'])) ? $this->config['abstract_factories'] : array();
     }
 
+    /**
+     * Get invokables
+     *
+     * @return array
+     */
     public function getInvokables()
     {
         return (isset($this->config['invokables'])) ? $this->config['invokables'] : array();
     }
 
+    /**
+     * Get services
+     *
+     * @return array
+     */
     public function getServices()
     {
         return (isset($this->config['services'])) ? $this->config['services'] : array();
     }
 
+    /**
+     * Get aliases
+     *
+     * @return array
+     */
     public function getAliases()
     {
         return (isset($this->config['aliases'])) ? $this->config['aliases'] : array();
     }
 
+    /**
+     * Get initializers
+     *
+     * @return array
+     */
     public function getInitializers()
     {
         return (isset($this->config['initializers'])) ? $this->config['initializers'] : array();
     }
 
+    /**
+     * Get shared
+     *
+     * @return array
+     */
     public function getShared()
     {
         return (isset($this->config['shared'])) ? $this->config['shared'] : array();
     }
 
+    /**
+     * Configure service manager
+     *
+     * @param ServiceManager $serviceManager
+     * @return void
+     */
     public function configureServiceManager(ServiceManager $serviceManager)
     {
         if (($allowOverride = $this->getAllowOverride()) !== null) {
diff --git a/vendor/ZF2/library/Zend/ServiceManager/ConfigInterface.php b/vendor/ZF2/library/Zend/ServiceManager/ConfigInterface.php
index 2c4fa89f5dc..ddbf22d5fcb 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/ConfigInterface.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/ConfigInterface.php
@@ -10,7 +10,17 @@
 
 namespace Zend\ServiceManager;
 
+/**
+ * @category Zend
+ * @package  Zend_ServiceManager
+ */
 interface ConfigInterface
 {
+    /**
+     * Configure service manager
+     *
+     * @param ServiceManager $serviceManager
+     * @return void
+     */
     public function configureServiceManager(ServiceManager $serviceManager);
 }
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Di/DiAbstractServiceFactory.php b/vendor/ZF2/library/Zend/ServiceManager/Di/DiAbstractServiceFactory.php
index b1137765a06..c6e23697408 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Di/DiAbstractServiceFactory.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Di/DiAbstractServiceFactory.php
@@ -17,6 +17,8 @@ use Zend\ServiceManager\ServiceLocatorInterface;
 class DiAbstractServiceFactory extends DiServiceFactory implements AbstractFactoryInterface
 {
     /**
+     * Constructor
+     *
      * @param \Zend\Di\Di $di
      * @param null|string|\Zend\Di\InstanceManager $useServiceLocator
      */
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Di/DiInstanceManagerProxy.php b/vendor/ZF2/library/Zend/ServiceManager/Di/DiInstanceManagerProxy.php
index 45e34794ea3..b94b64e8406 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Di/DiInstanceManagerProxy.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Di/DiInstanceManagerProxy.php
@@ -26,6 +26,8 @@ class DiInstanceManagerProxy extends DiInstanceManager
     protected $serviceLocator = null;
 
     /**
+     * Constructor
+     *
      * @param DiInstanceManager $diInstanceManager
      * @param ServiceLocatorInterface $serviceLocator
      */
@@ -43,6 +45,8 @@ class DiInstanceManagerProxy extends DiInstanceManager
     }
 
     /**
+     * Determine if we have a shared instance by class or alias
+     *
      * @param $classOrAlias
      * @return bool
      */
@@ -52,6 +56,8 @@ class DiInstanceManagerProxy extends DiInstanceManager
     }
 
     /**
+     * Get shared instance
+     *
      * @param $classOrAlias
      * @return mixed
      */
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceFactory.php b/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceFactory.php
index 08dc75678fc..1443321cf9c 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceFactory.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceFactory.php
@@ -52,6 +52,8 @@ class DiServiceFactory extends Di implements FactoryInterface
     protected $serviceLocator = null;
 
     /**
+     * Constructor
+     *
      * @param \Zend\Di\Di $di
      * @param null|\Zend\Di\InstanceManager $name
      * @param array $parameters
@@ -72,6 +74,8 @@ class DiServiceFactory extends Di implements FactoryInterface
     }
 
     /**
+     * Create service
+     *
      * @param ServiceLocatorInterface $serviceLocator
      * @return object
      */
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceInitializer.php b/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceInitializer.php
index fc0373b1122..ac6e4cae1f7 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceInitializer.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceInitializer.php
@@ -33,6 +33,8 @@ class DiServiceInitializer extends Di implements InitializerInterface
     protected $serviceLocator = null;
 
     /**
+     * Constructor
+     *
      * @param \Zend\Di\Di $di
      * @param \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator
      * @param null|DiInstanceManagerProxy $diImProxy
@@ -45,6 +47,8 @@ class DiServiceInitializer extends Di implements InitializerInterface
     }
 
     /**
+     * Initialize
+     *
      * @param $instance
      * @param ServiceLocatorInterface $serviceLocator
      * @throws \Exception
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Exception/CircularDependencyFoundException.php b/vendor/ZF2/library/Zend/ServiceManager/Exception/CircularDependencyFoundException.php
index 3e394fdfba0..081474d0460 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Exception/CircularDependencyFoundException.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Exception/CircularDependencyFoundException.php
@@ -16,4 +16,5 @@ namespace Zend\ServiceManager\Exception;
  * @subpackage Exception
  */
 class CircularDependencyFoundException extends RuntimeException
-{}
+{
+}
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Exception/ExceptionInterface.php b/vendor/ZF2/library/Zend/ServiceManager/Exception/ExceptionInterface.php
index e0ff32f5732..091a8a5c389 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Exception/ExceptionInterface.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Exception/ExceptionInterface.php
@@ -10,6 +10,11 @@
 
 namespace Zend\ServiceManager\Exception;
 
+/**
+ * @category   Zend
+ * @package    Zend_ServiceManager
+ * @subpackage Exception
+ */
 interface ExceptionInterface
 {
 }
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Exception/InvalidArgumentException.php b/vendor/ZF2/library/Zend/ServiceManager/Exception/InvalidArgumentException.php
index 9c8ba6fa8b8..89c06233459 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Exception/InvalidArgumentException.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Exception/InvalidArgumentException.php
@@ -15,6 +15,6 @@ namespace Zend\ServiceManager\Exception;
  * @package    Zend_ServiceManager
  * @subpackage Exception
  */
-class InvalidArgumentException extends \InvalidArgumentException implements
-    ExceptionInterface
-{}
+class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Exception/InvalidServiceNameException.php b/vendor/ZF2/library/Zend/ServiceManager/Exception/InvalidServiceNameException.php
index d4e2034617b..5ef91655d87 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Exception/InvalidServiceNameException.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Exception/InvalidServiceNameException.php
@@ -10,5 +10,11 @@
 
 namespace Zend\ServiceManager\Exception;
 
+/**
+ * @category   Zend
+ * @package    Zend_ServiceManager
+ * @subpackage Exception
+ */
 class InvalidServiceNameException extends RuntimeException
-{}
+{
+}
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Exception/RuntimeException.php b/vendor/ZF2/library/Zend/ServiceManager/Exception/RuntimeException.php
index 2340c8e76fd..ee9046bea7c 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Exception/RuntimeException.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Exception/RuntimeException.php
@@ -16,4 +16,5 @@ namespace Zend\ServiceManager\Exception;
  * @subpackage Exception
  */
 class RuntimeException extends \RuntimeException implements ExceptionInterface
-{}
+{
+}
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Exception/ServiceNotCreatedException.php b/vendor/ZF2/library/Zend/ServiceManager/Exception/ServiceNotCreatedException.php
index a61c9eed588..92cfd6085da 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Exception/ServiceNotCreatedException.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Exception/ServiceNotCreatedException.php
@@ -16,4 +16,5 @@ namespace Zend\ServiceManager\Exception;
  * @subpackage Exception
  */
 class ServiceNotCreatedException extends RuntimeException
-{}
+{
+}
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Exception/ServiceNotFoundException.php b/vendor/ZF2/library/Zend/ServiceManager/Exception/ServiceNotFoundException.php
index 1641a56406c..98854470fc2 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Exception/ServiceNotFoundException.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Exception/ServiceNotFoundException.php
@@ -16,4 +16,5 @@ namespace Zend\ServiceManager\Exception;
  * @subpackage Exception
  */
 class ServiceNotFoundException extends InvalidArgumentException
-{}
+{
+}
diff --git a/vendor/ZF2/library/Zend/ServiceManager/FactoryInterface.php b/vendor/ZF2/library/Zend/ServiceManager/FactoryInterface.php
index 6fc8c05c31d..97b15c624c1 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/FactoryInterface.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/FactoryInterface.php
@@ -10,7 +10,17 @@
 
 namespace Zend\ServiceManager;
 
+/**
+ * @category Zend
+ * @package  Zend_ServiceManager
+ */
 interface FactoryInterface
 {
+    /**
+     * Create service
+     *
+     * @param ServiceLocatorInterface $serviceLocator
+     * @return mixed
+     */
     public function createService(ServiceLocatorInterface $serviceLocator);
 }
diff --git a/vendor/ZF2/library/Zend/ServiceManager/InitializerInterface.php b/vendor/ZF2/library/Zend/ServiceManager/InitializerInterface.php
index 5f1fdefb209..0de46cc70b3 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/InitializerInterface.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/InitializerInterface.php
@@ -12,7 +12,18 @@ namespace Zend\ServiceManager;
 
 use Zend\ServiceManager\ServiceLocatorInterface;
 
+/**
+ * @category Zend
+ * @package  Zend_ServiceManager
+ */
 interface InitializerInterface
 {
+    /**
+     * Initialize
+     *
+     * @param $instance
+     * @param ServiceLocatorInterface $serviceLocator
+     * @return mixed
+     */
     public function initialize($instance, ServiceLocatorInterface $serviceLocator);
 }
diff --git a/vendor/ZF2/library/Zend/ServiceManager/ServiceLocatorAwareInterface.php b/vendor/ZF2/library/Zend/ServiceManager/ServiceLocatorAwareInterface.php
index 40ffde2d40a..39422f3bd5a 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/ServiceLocatorAwareInterface.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/ServiceLocatorAwareInterface.php
@@ -10,8 +10,23 @@
 
 namespace Zend\ServiceManager;
 
+/**
+ * @category Zend
+ * @package  Zend_ServiceManager
+ */
 interface ServiceLocatorAwareInterface
 {
+    /**
+     * Set service locator
+     *
+     * @param ServiceLocatorInterface $serviceLocator
+     */
     public function setServiceLocator(ServiceLocatorInterface $serviceLocator);
+
+    /**
+     * Get service locator
+     *
+     * @return ServiceLocatorInterface
+     */
     public function getServiceLocator();
 }
diff --git a/vendor/ZF2/library/Zend/ServiceManager/ServiceLocatorInterface.php b/vendor/ZF2/library/Zend/ServiceManager/ServiceLocatorInterface.php
index fd4ed43058c..539ce305441 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/ServiceLocatorInterface.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/ServiceLocatorInterface.php
@@ -10,8 +10,28 @@
 
 namespace Zend\ServiceManager;
 
+/**
+ * Service locator interface
+ *
+ * @category Zend
+ * @package Zend_ServiceManager
+ */
 interface ServiceLocatorInterface
 {
+    /**
+     * Retrieve a registered instance
+     *
+     * @param  string  $name
+     * @throws Exception\ServiceNotFoundException
+     * @return object|array
+     */
     public function get($name);
+
+    /**
+     * Check for a registered instance
+     *
+     * @param  string|array  $name
+     * @return bool
+     */
     public function has($name);
 }
diff --git a/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php b/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php
index 0d1bea254f2..6dfe797b74d 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php
@@ -13,6 +13,10 @@ namespace Zend\ServiceManager;
 use Closure;
 use ReflectionClass;
 
+/**
+ * @category Zend
+ * @package  Zend_ServiceManager
+ */
 class ServiceManager implements ServiceLocatorInterface
 {
 
@@ -105,6 +109,8 @@ class ServiceManager implements ServiceLocatorInterface
     protected $canonicalNamesReplacements = array('-' => '', '_' => '', ' ' => '', '\\' => '', '/' => '');
 
     /**
+     * Constructor
+     *
      * @param ConfigInterface $config
      */
     public function __construct(ConfigInterface $config = null)
@@ -115,6 +121,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Set allow override
+     *
      * @param $allowOverride
      * @return ServiceManager
      */
@@ -125,6 +133,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Get allow override
+     *
      * @return bool
      */
     public function getAllowOverride()
@@ -162,6 +172,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Set throw exceptions in create
+     *
      * @param  bool $throwExceptionInCreate
      * @return ServiceManager
      */
@@ -172,6 +184,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Get throw exceptions in create
+     *
      * @return bool
      */
     public function getThrowExceptionInCreate()
@@ -202,6 +216,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Set invokable class
+     *
      * @param  string  $name
      * @param  string  $invokableClass
      * @param  bool $shared
@@ -230,6 +246,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Set factory
+     *
      * @param  string                           $name
      * @param  string|FactoryInterface|callable $factory
      * @param  bool                             $shared
@@ -265,6 +283,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Add abstract factory
+     *
      * @param  AbstractFactoryInterface|string $factory
      * @param  bool                            $topOfStack
      * @return ServiceManager
@@ -300,6 +320,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Add initializer
+     *
      * @param  callable|InitializerInterface $initializer
      * @param  bool                          $topOfStack
      * @return ServiceManager
@@ -363,7 +385,11 @@ class ServiceManager implements ServiceLocatorInterface
     {
         $cName = $this->canonicalizeName($name);
 
-        if (!isset($this->invokableClasses[$cName]) && !isset($this->factories[$cName])) {
+        if (
+            !isset($this->invokableClasses[$cName])
+            && !isset($this->factories[$cName])
+            && !$this->canCreateFromAbstractFactory($cName, $name)
+        ) {
             throw new Exception\ServiceNotFoundException(sprintf(
                 '%s: A service by the name "%s" was not found and could not be marked as shared',
                 __METHOD__,
@@ -438,6 +464,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Create an instance
+     *
      * @param  string|array $name
      * @return false|object
      * @throws Exception\ServiceNotFoundException
@@ -609,6 +637,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Determine if we have an alias
+     *
      * @param  string $alias
      * @return bool
      */
@@ -619,6 +649,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Create scoped service manager
+     *
      * @param  string $peering
      * @return ServiceManager
      */
@@ -653,6 +685,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Canonicalize name
+     *
      * @param  string $name
      * @return string
      */
@@ -667,6 +701,8 @@ class ServiceManager implements ServiceLocatorInterface
     }
 
     /**
+     * Create service via callback
+     *
      * @param  callable $callable
      * @param  string   $cName
      * @param  string   $rName
@@ -779,7 +815,7 @@ class ServiceManager implements ServiceLocatorInterface
                 __METHOD__,
                 $canonicalName,
                 ($requestedName ? '(alias: ' . $requestedName . ')' : ''),
-                $canonicalName
+                $invokable
             ));
         }
         $instance = new $invokable;
@@ -838,12 +874,16 @@ class ServiceManager implements ServiceLocatorInterface
             }
             try {
                 $this->pendingAbstractFactoryRequests[get_class($abstractFactory)] = $requestedName;
-                $instance = $this->createServiceViaCallback(
-                    array($abstractFactory, 'createServiceWithName'),
-                    $canonicalName,
-                    $requestedName
-                );
-                unset($this->pendingAbstractFactoryRequests[get_class($abstractFactory)]);
+                if ($abstractFactory->canCreateServiceWithName($this, $canonicalName, $requestedName)) {
+                    $instance = $this->createServiceViaCallback(
+                        array($abstractFactory, 'createServiceWithName'),
+                        $canonicalName,
+                        $requestedName
+                    );
+                    unset($this->pendingAbstractFactoryRequests[get_class($abstractFactory)]);
+                } else {
+                    $instance = false;
+                }
             } catch (\Exception $e) {
                 unset($this->pendingAbstractFactoryRequests[get_class($abstractFactory)]);
                 throw new Exception\ServiceNotCreatedException(
diff --git a/vendor/ZF2/library/Zend/ServiceManager/ServiceManagerAwareInterface.php b/vendor/ZF2/library/Zend/ServiceManager/ServiceManagerAwareInterface.php
index 5b7f970f39c..5ea837087f4 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/ServiceManagerAwareInterface.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/ServiceManagerAwareInterface.php
@@ -10,7 +10,16 @@
 
 namespace Zend\ServiceManager;
 
+/**
+ * @category Zend
+ * @package  Zend_ServiceManager
+ */
 interface ServiceManagerAwareInterface
 {
+    /**
+     * Set service manager
+     *
+     * @param ServiceManager $serviceManager
+     */
     public function setServiceManager(ServiceManager $serviceManager);
 }
diff --git a/vendor/ZF2/library/Zend/ServiceManager/composer.json b/vendor/ZF2/library/Zend/ServiceManager/composer.json
index 0101f3a8e5d..0382d5d5eb1 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/composer.json
+++ b/vendor/ZF2/library/Zend/ServiceManager/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\ServiceManager": ""
+            "Zend\\ServiceManager\\": ""
         }
     },
     "target-dir": "Zend/ServiceManager",
diff --git a/vendor/ZF2/library/Zend/Session/Config/SessionConfig.php b/vendor/ZF2/library/Zend/Session/Config/SessionConfig.php
index f6440ef9e74..8e29b3480e8 100644
--- a/vendor/ZF2/library/Zend/Session/Config/SessionConfig.php
+++ b/vendor/ZF2/library/Zend/Session/Config/SessionConfig.php
@@ -11,7 +11,6 @@
 namespace Zend\Session\Config;
 
 use Zend\Session\Exception;
-use Zend\Validator\Hostname as HostnameValidator;
 
 /**
  * Session configuration proxying to session INI options
diff --git a/vendor/ZF2/library/Zend/Session/Container.php b/vendor/ZF2/library/Zend/Session/Container.php
index ada6f7f27af..bf00c837dbc 100644
--- a/vendor/ZF2/library/Zend/Session/Container.php
+++ b/vendor/ZF2/library/Zend/Session/Container.php
@@ -136,7 +136,7 @@ class Container extends ArrayObject
             $manager = self::getDefaultManager();
             if (!$manager instanceof Manager) {
                 throw new Exception\InvalidArgumentException(
-                    'Manager provided is invalid; must implement ManagerInterface interface'
+                    'Manager provided is invalid; must implement ManagerInterface'
                 );
             }
         }
diff --git a/vendor/ZF2/library/Zend/Session/SaveHandler/DbTableGateway.php b/vendor/ZF2/library/Zend/Session/SaveHandler/DbTableGateway.php
index 13115261eef..44d852dabcd 100644
--- a/vendor/ZF2/library/Zend/Session/SaveHandler/DbTableGateway.php
+++ b/vendor/ZF2/library/Zend/Session/SaveHandler/DbTableGateway.php
@@ -11,7 +11,6 @@
 namespace Zend\Session\SaveHandler;
 
 use Zend\Db\TableGateway\TableGateway;
-use Zend\Session\Exception;
 
 /**
  * DB Table Gateway session save handler
diff --git a/vendor/ZF2/library/Zend/Session/Storage/ArrayStorage.php b/vendor/ZF2/library/Zend/Session/Storage/ArrayStorage.php
index d94cfe66ce3..33f5cede60f 100644
--- a/vendor/ZF2/library/Zend/Session/Storage/ArrayStorage.php
+++ b/vendor/ZF2/library/Zend/Session/Storage/ArrayStorage.php
@@ -47,13 +47,25 @@ class ArrayStorage extends ArrayObject implements StorageInterface
         $iteratorClass = '\\ArrayIterator'
     ) {
         parent::__construct($input, $flags, $iteratorClass);
-        $this->setMetadata('_REQUEST_ACCESS_TIME', microtime(true));
+        $this->setRequestAccessTime(microtime(true));
+    }
+
+    /**
+     * Set the request access time
+     *
+     * @param  float $time
+     * @return ArrayStorage
+     */
+    protected function setRequestAccessTime($time)
+    {
+        $this->setMetadata('_REQUEST_ACCESS_TIME', $time);
+        return $this;
     }
 
     /**
      * Retrieve the request access time
      *
-     * @return int
+     * @return float
      */
     public function getRequestAccessTime()
     {
@@ -289,7 +301,7 @@ class ArrayStorage extends ArrayObject implements StorageInterface
             throw new Exception\RuntimeException('Cannot clear storage as it is marked immutable');
         }
         if (null === $key) {
-            $this->exchangeArray(array());
+            $this->fromArray(array());
             return $this;
         }
 
@@ -317,7 +329,9 @@ class ArrayStorage extends ArrayObject implements StorageInterface
      */
     public function fromArray(array $array)
     {
+        $ts = $this->getRequestAccessTime();
         $this->exchangeArray($array);
+        $this->setRequestAccessTime($ts);
         return $this;
     }
 
diff --git a/vendor/ZF2/library/Zend/Session/Storage/SessionStorage.php b/vendor/ZF2/library/Zend/Session/Storage/SessionStorage.php
index 5804397a08a..3bc81c4dcbf 100644
--- a/vendor/ZF2/library/Zend/Session/Storage/SessionStorage.php
+++ b/vendor/ZF2/library/Zend/Session/Storage/SessionStorage.php
@@ -76,7 +76,7 @@ class SessionStorage extends ArrayStorage
      */
     public function fromArray(array $array)
     {
-        $this->exchangeArray($array);
+        parent::fromArray($array);
         if ($_SESSION !== $this) {
             $_SESSION = $this;
         }
diff --git a/vendor/ZF2/library/Zend/Session/composer.json b/vendor/ZF2/library/Zend/Session/composer.json
index 67cea2fd1ec..d0bff429b05 100644
--- a/vendor/ZF2/library/Zend/Session/composer.json
+++ b/vendor/ZF2/library/Zend/Session/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Session": ""
+            "Zend\\Session\\": ""
         }
     },
     "target-dir": "Zend/Session",
diff --git a/vendor/ZF2/library/Zend/Soap/AutoDiscover.php b/vendor/ZF2/library/Zend/Soap/AutoDiscover.php
index b6af97ff305..f703b990840 100644
--- a/vendor/ZF2/library/Zend/Soap/AutoDiscover.php
+++ b/vendor/ZF2/library/Zend/Soap/AutoDiscover.php
@@ -13,7 +13,6 @@ namespace Zend\Soap;
 use Zend\Server\Reflection;
 use Zend\Server\Reflection\AbstractFunction;
 use Zend\Server\Reflection\Prototype;
-use Zend\Server\Reflection\ReflectionParameter;
 use Zend\Soap\AutoDiscover\DiscoveryStrategy\DiscoveryStrategyInterface as DiscoveryStrategy;
 use Zend\Soap\AutoDiscover\DiscoveryStrategy\ReflectionDiscovery;
 use Zend\Soap\Wsdl;
@@ -191,7 +190,7 @@ class AutoDiscover
                                          ->getShortName();
             } else {
                 throw new Exception\RuntimeException(
-                    "No service name given. Call Autodiscover#setServiceName()."
+                    "No service name given. Call Autodiscover::setServiceName()."
                 );
             }
         }
@@ -228,7 +227,7 @@ class AutoDiscover
     public function getUri()
     {
         if ($this->uri === null) {
-            throw new Exception\RuntimeException("Missing uri. You have to explicitly configure the Endpoint Uri by calling AutoDiscover#setUri().");
+            throw new Exception\RuntimeException("Missing uri. You have to explicitly configure the Endpoint Uri by calling AutoDiscover::setUri().");
         }
         if (is_string($this->uri)) {
             $this->uri = Uri\UriFactory::factory($this->uri);
diff --git a/vendor/ZF2/library/Zend/Soap/Client.php b/vendor/ZF2/library/Zend/Soap/Client.php
index 5d137fc2bec..285a29101f7 100644
--- a/vendor/ZF2/library/Zend/Soap/Client.php
+++ b/vendor/ZF2/library/Zend/Soap/Client.php
@@ -858,7 +858,7 @@ class Client implements ServerClient
         if ($userAgent === null) {
             $this->user_agent = null;
         } else {
-            $this->user_agent = (string)$userAgent;
+            $this->user_agent = (string) $userAgent;
         }
         return $this;
     }
diff --git a/vendor/ZF2/library/Zend/Soap/Server/DocumentLiteralWrapper.php b/vendor/ZF2/library/Zend/Soap/Server/DocumentLiteralWrapper.php
index 750942840c3..65b887f6f1e 100644
--- a/vendor/ZF2/library/Zend/Soap/Server/DocumentLiteralWrapper.php
+++ b/vendor/ZF2/library/Zend/Soap/Server/DocumentLiteralWrapper.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Soap\Server;
 
-use ReflectionClass;
 use ReflectionObject;
 use Zend\Soap\Exception\BadMethodCallException;
 use Zend\Soap\Exception\UnexpectedValueException;
diff --git a/vendor/ZF2/library/Zend/Soap/composer.json b/vendor/ZF2/library/Zend/Soap/composer.json
index fbf77e9ce41..777a0a5e52d 100644
--- a/vendor/ZF2/library/Zend/Soap/composer.json
+++ b/vendor/ZF2/library/Zend/Soap/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Soap": ""
+            "Zend\\Soap\\": ""
         }
     },
     "target-dir": "Zend/Soap",
diff --git a/vendor/ZF2/library/Zend/Stdlib/DispatchableInterface.php b/vendor/ZF2/library/Zend/Stdlib/DispatchableInterface.php
index 33b0d19809c..150005f84c1 100644
--- a/vendor/ZF2/library/Zend/Stdlib/DispatchableInterface.php
+++ b/vendor/ZF2/library/Zend/Stdlib/DispatchableInterface.php
@@ -13,7 +13,18 @@ namespace Zend\Stdlib;
 use Zend\Stdlib\RequestInterface as Request;
 use Zend\Stdlib\ResponseInterface as Response;
 
+/**
+ * @category   Zend
+ * @package    Zend_Stdlib
+ */
 interface DispatchableInterface
 {
+    /**
+     * Dispatch a request
+     *
+     * @param Request $request
+     * @param null|Response $response
+     * @return Response|mixed
+     */
     public function dispatch(Request $request, Response $response = null);
 }
diff --git a/vendor/ZF2/library/Zend/Stdlib/Exception/BadMethodCallException.php b/vendor/ZF2/library/Zend/Stdlib/Exception/BadMethodCallException.php
index dbe419fa3fc..b2c90a933f4 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Exception/BadMethodCallException.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Exception/BadMethodCallException.php
@@ -15,6 +15,7 @@ namespace Zend\Stdlib\Exception;
  *
  * @category   Zend
  * @package    Zend_Stdlib
+ * @subpackage Exception
  */
 class BadMethodCallException extends \BadMethodCallException implements ExceptionInterface
 {
diff --git a/vendor/ZF2/library/Zend/Stdlib/Exception/DomainException.php b/vendor/ZF2/library/Zend/Stdlib/Exception/DomainException.php
index 8e85e4d2fce..c735fda3106 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Exception/DomainException.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Exception/DomainException.php
@@ -10,6 +10,13 @@
 
 namespace Zend\Stdlib\Exception;
 
+/**
+ * Domain exception
+ *
+ * @category   Zend
+ * @package    Zend_Stdlib
+ * @subpackage Exception
+ */
 class DomainException extends \DomainException implements ExceptionInterface
 {
 }
diff --git a/vendor/ZF2/library/Zend/Stdlib/Exception/ExceptionInterface.php b/vendor/ZF2/library/Zend/Stdlib/Exception/ExceptionInterface.php
index a45dd92a407..c09b03763da 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Exception/ExceptionInterface.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Exception/ExceptionInterface.php
@@ -10,6 +10,13 @@
 
 namespace Zend\Stdlib\Exception;
 
+/**
+ * Exception marker interface
+ *
+ * @category   Zend
+ * @package    Zend_Stdlib
+ * @subpackage Exception
+ */
 interface ExceptionInterface
 {
 }
diff --git a/vendor/ZF2/library/Zend/Stdlib/Exception/InvalidArgumentException.php b/vendor/ZF2/library/Zend/Stdlib/Exception/InvalidArgumentException.php
index 87d8eaac221..2cdfd38be1d 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Exception/InvalidArgumentException.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Exception/InvalidArgumentException.php
@@ -10,6 +10,13 @@
 
 namespace Zend\Stdlib\Exception;
 
+/**
+ * Invalid Argument Exception
+ *
+ * @category   Zend
+ * @package    Zend_Stdlib
+ * @subpackage Exception
+ */
 class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
 {
 }
diff --git a/vendor/ZF2/library/Zend/Stdlib/Exception/InvalidCallbackException.php b/vendor/ZF2/library/Zend/Stdlib/Exception/InvalidCallbackException.php
index ab97b5ddb95..cd08a315d34 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Exception/InvalidCallbackException.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Exception/InvalidCallbackException.php
@@ -15,6 +15,7 @@ namespace Zend\Stdlib\Exception;
  *
  * @category   Zend
  * @package    Zend_Stdlib
+ * @subpackage Exception
  */
 class InvalidCallbackException extends DomainException implements ExceptionInterface
 {
diff --git a/vendor/ZF2/library/Zend/Stdlib/Exception/LogicException.php b/vendor/ZF2/library/Zend/Stdlib/Exception/LogicException.php
index b39a4432f3d..5a23e3ff1a0 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Exception/LogicException.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Exception/LogicException.php
@@ -11,10 +11,11 @@
 namespace Zend\Stdlib\Exception;
 
 /**
- * logic exception
+ * Logic exception
  *
  * @category   Zend
  * @package    Zend_Stdlib
+ * @subpackage Exception
  */
 class LogicException extends \LogicException implements ExceptionInterface
 {
diff --git a/vendor/ZF2/library/Zend/Stdlib/Hydrator/ClassMethods.php b/vendor/ZF2/library/Zend/Stdlib/Hydrator/ClassMethods.php
index d480829879c..ad565f88de5 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Hydrator/ClassMethods.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Hydrator/ClassMethods.php
@@ -63,19 +63,13 @@ class ClassMethods extends AbstractHydrator
             if (!preg_match('/^(get|has|is)[A-Z]\w*/', $method)) {
                 continue;
             }
+
+            $attribute = $method;
             if (preg_match('/^get/', $method)) {
-                // setter verification
-                $setter = preg_replace('/^get/', 'set', $method);
                 $attribute = substr($method, 3);
                 $attribute = lcfirst($attribute);
-            } else {
-                // setter verification
-                $setter = 'set' . ucfirst($method);
-                $attribute = $method;
-            }
-            if (!in_array($setter, $methods)) {
-                continue;
             }
+
             if ($this->underscoreSeparatedKeys) {
                 $attribute = preg_replace_callback('/([A-Z])/', $transform, $attribute);
             }
diff --git a/vendor/ZF2/library/Zend/Stdlib/Hydrator/Reflection.php b/vendor/ZF2/library/Zend/Stdlib/Hydrator/Reflection.php
index ecb74fe4266..e9d1d66fc01 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Hydrator/Reflection.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Hydrator/Reflection.php
@@ -13,6 +13,11 @@ namespace Zend\Stdlib\Hydrator;
 use ReflectionClass;
 use Zend\Stdlib\Exception;
 
+/**
+ * @category   Zend
+ * @package    Zend_Stdlib
+ * @subpackage Hydrator
+ */
 class Reflection extends AbstractHydrator
 {
     /**
diff --git a/vendor/ZF2/library/Zend/Stdlib/Message.php b/vendor/ZF2/library/Zend/Stdlib/Message.php
index f8ec758ab98..0ac4e992ba4 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Message.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Message.php
@@ -12,6 +12,10 @@ namespace Zend\Stdlib;
 
 use Traversable;
 
+/**
+ * @category   Zend
+ * @package    Zend_Stdlib
+ */
 class Message implements MessageInterface
 {
     /**
diff --git a/vendor/ZF2/library/Zend/Stdlib/MessageInterface.php b/vendor/ZF2/library/Zend/Stdlib/MessageInterface.php
index 067ce262f19..d947c7769c8 100644
--- a/vendor/ZF2/library/Zend/Stdlib/MessageInterface.php
+++ b/vendor/ZF2/library/Zend/Stdlib/MessageInterface.php
@@ -10,12 +10,41 @@
 
 namespace Zend\Stdlib;
 
+/**
+ * @category   Zend
+ * @package    Zend_Stdlib
+ */
 interface MessageInterface
 {
+    /**
+     * Set metadata
+     *
+     * @param  string|int|array|\Traversable $spec
+     * @param  mixed $value
+     */
     public function setMetadata($spec, $value = null);
+
+    /**
+     * Get metadata
+     *
+     * @param  null|string|int $key
+     * @return mixed
+     */
     public function getMetadata($key = null);
 
+    /**
+     * Set content
+     *
+     * @param  mixed $content
+     * @return mixed
+     */
     public function setContent($content);
+
+    /**
+     * Get content
+     *
+     * @return mixed
+     */
     public function getContent();
 
 }
diff --git a/vendor/ZF2/library/Zend/Stdlib/Parameters.php b/vendor/ZF2/library/Zend/Stdlib/Parameters.php
index 30f1c6d58aa..c88ac159a9e 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Parameters.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Parameters.php
@@ -12,6 +12,10 @@ namespace Zend\Stdlib;
 
 use ArrayObject;
 
+/**
+ * @category   Zend
+ * @package    Zend_Stdlib
+ */
 class Parameters extends ArrayObject implements ParametersInterface
 {
     /**
@@ -106,7 +110,7 @@ class Parameters extends ArrayObject implements ParametersInterface
     /**
      * @param string $name
      * @param mixed $value
-     * @return $this
+     * @return Parameters
      */
     public function set($name, $value)
     {
diff --git a/vendor/ZF2/library/Zend/Stdlib/ParametersInterface.php b/vendor/ZF2/library/Zend/Stdlib/ParametersInterface.php
index 42d309540e2..3c3889c786c 100644
--- a/vendor/ZF2/library/Zend/Stdlib/ParametersInterface.php
+++ b/vendor/ZF2/library/Zend/Stdlib/ParametersInterface.php
@@ -19,24 +19,72 @@ use Traversable;
  * Basically, an ArrayObject. You could simply define something like:
  *     class QueryParams extends ArrayObject implements Parameters {}
  * and have 90% of the functionality
+ *
+ * @category   Zend
+ * @package    Zend_Stdlib
  */
 interface ParametersInterface extends ArrayAccess, Countable, Serializable, Traversable
 {
+    /**
+     * Constructor
+     *
+     * @param array $values
+     */
     public function __construct(array $values = null);
 
-    /* Allow deserialization from standard array */
+    /**
+     * From array
+     *
+     * Allow deserialization from standard array
+     *
+     * @param array $values
+     * @return mixed
+     */
     public function fromArray(array $values);
 
-    /* Allow deserialization from raw body; e.g., for PUT requests */
+    /**
+     * From string
+     *
+     * Allow deserialization from raw body; e.g., for PUT requests
+     *
+     * @param $string
+     * @return mixed
+     */
     public function fromString($string);
 
-    /* Allow serialization back to standard array */
+    /**
+     * To array
+     *
+     * Allow serialization back to standard array
+     *
+     * @return mixed
+     */
     public function toArray();
 
-    /* Allow serialization to query format; e.g., for PUT or POST requests */
+    /**
+     * To string
+     *
+     * Allow serialization to query format; e.g., for PUT or POST requests
+     *
+     * @return mixed
+     */
     public function toString();
 
+    /**
+     * Get
+     *
+     * @param string $name
+     * @param mixed|null $default
+     * @return mixed
+     */
     public function get($name, $default = null);
 
+    /**
+     * Set
+     *
+     * @param string $name
+     * @param mixed $value
+     * @return ParametersInterface
+     */
     public function set($name, $value);
 }
diff --git a/vendor/ZF2/library/Zend/Stdlib/Request.php b/vendor/ZF2/library/Zend/Stdlib/Request.php
index b445e8a54dd..d230069e69d 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Request.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Request.php
@@ -10,6 +10,10 @@
 
 namespace Zend\Stdlib;
 
+/**
+ * @category   Zend
+ * @package    Zend_Stdlib
+ */
 class Request extends Message implements RequestInterface
 {
     // generic request implementation
diff --git a/vendor/ZF2/library/Zend/Stdlib/RequestInterface.php b/vendor/ZF2/library/Zend/Stdlib/RequestInterface.php
index 0f72de7f139..1dd0748a6e2 100644
--- a/vendor/ZF2/library/Zend/Stdlib/RequestInterface.php
+++ b/vendor/ZF2/library/Zend/Stdlib/RequestInterface.php
@@ -10,6 +10,10 @@
 
 namespace Zend\Stdlib;
 
+/**
+ * @category   Zend
+ * @package    Zend_Stdlib
+ */
 interface RequestInterface extends MessageInterface
 {
 }
diff --git a/vendor/ZF2/library/Zend/Stdlib/Response.php b/vendor/ZF2/library/Zend/Stdlib/Response.php
index 316b00325bc..b15dfd0846b 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Response.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Response.php
@@ -10,6 +10,10 @@
 
 namespace Zend\Stdlib;
 
+/**
+ * @category   Zend
+ * @package    Zend_Stdlib
+ */
 class Response extends Message implements ResponseInterface
 {
     // generic response implementation
diff --git a/vendor/ZF2/library/Zend/Stdlib/ResponseInterface.php b/vendor/ZF2/library/Zend/Stdlib/ResponseInterface.php
index 5476f6a7f4d..6ad4002ba81 100644
--- a/vendor/ZF2/library/Zend/Stdlib/ResponseInterface.php
+++ b/vendor/ZF2/library/Zend/Stdlib/ResponseInterface.php
@@ -10,6 +10,10 @@
 
 namespace Zend\Stdlib;
 
+/**
+ * @category   Zend
+ * @package    Zend_Stdlib
+ */
 interface ResponseInterface extends MessageInterface
 {
 
diff --git a/vendor/ZF2/library/Zend/Stdlib/composer.json b/vendor/ZF2/library/Zend/Stdlib/composer.json
index c466333041a..ce7b30a3d1f 100644
--- a/vendor/ZF2/library/Zend/Stdlib/composer.json
+++ b/vendor/ZF2/library/Zend/Stdlib/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Stdlib": ""
+            "Zend\\Stdlib\\": ""
         }
     },
     "target-dir": "Zend/Stdlib",
diff --git a/vendor/ZF2/library/Zend/Tag/composer.json b/vendor/ZF2/library/Zend/Tag/composer.json
index 8014f15a679..7f1d8357942 100644
--- a/vendor/ZF2/library/Zend/Tag/composer.json
+++ b/vendor/ZF2/library/Zend/Tag/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Tag": ""
+            "Zend\\Tag\\": ""
         }
     },
     "target-dir": "Zend/Tag",
diff --git a/vendor/ZF2/library/Zend/Text/Table/DecoratorManager.php b/vendor/ZF2/library/Zend/Text/Table/DecoratorManager.php
index e4d4e49296c..782490db97d 100644
--- a/vendor/ZF2/library/Zend/Text/Table/DecoratorManager.php
+++ b/vendor/ZF2/library/Zend/Text/Table/DecoratorManager.php
@@ -11,7 +11,6 @@
 namespace Zend\Text\Table;
 
 use Zend\ServiceManager\AbstractPluginManager;
-use Zend\ServiceManager\ConfigInterface;
 
 /**
  * Plugin manager implementation for text table decorators
diff --git a/vendor/ZF2/library/Zend/Text/composer.json b/vendor/ZF2/library/Zend/Text/composer.json
index 751d3e6fabd..ed434962b05 100644
--- a/vendor/ZF2/library/Zend/Text/composer.json
+++ b/vendor/ZF2/library/Zend/Text/composer.json
@@ -8,12 +8,13 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Text": ""
+            "Zend\\Text\\": ""
         }
     },
     "target-dir": "Zend/Text",
     "require": {
         "php": ">=5.3.3",
-        "zendframework/zend-stdlib": "self.version"
+        "zendframework/zend-stdlib": "self.version",
+        "zendframework/zend-servicemanager": "self.version"
     }
 }
diff --git a/vendor/ZF2/library/Zend/Uri/composer.json b/vendor/ZF2/library/Zend/Uri/composer.json
index ae5e2cbcf3c..82dedad0438 100644
--- a/vendor/ZF2/library/Zend/Uri/composer.json
+++ b/vendor/ZF2/library/Zend/Uri/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Uri": ""
+            "Zend\\Uri\\": ""
         }
     },
     "target-dir": "Zend/Uri",
diff --git a/vendor/ZF2/library/Zend/Validator/AbstractValidator.php b/vendor/ZF2/library/Zend/Validator/AbstractValidator.php
index ce4dee7fb32..ec3244f7234 100644
--- a/vendor/ZF2/library/Zend/Validator/AbstractValidator.php
+++ b/vendor/ZF2/library/Zend/Validator/AbstractValidator.php
@@ -18,7 +18,7 @@ use Zend\Validator\Exception\InvalidArgumentException;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 abstract class AbstractValidator implements
     TranslatorAwareInterface,
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode.php b/vendor/ZF2/library/Zend/Validator/Barcode.php
index 615d3405f4b..959a119b8f7 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode.php
@@ -14,7 +14,7 @@ use Traversable;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Barcode extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/AbstractAdapter.php b/vendor/ZF2/library/Zend/Validator/Barcode/AbstractAdapter.php
index 860e5420241..3e1f23816f6 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/AbstractAdapter.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/AbstractAdapter.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 abstract class AbstractAdapter implements AdapterInterface
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/AdapterInterface.php b/vendor/ZF2/library/Zend/Validator/Barcode/AdapterInterface.php
index a2667cd0642..d83b5563a82 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/AdapterInterface.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/AdapterInterface.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 interface AdapterInterface
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Codabar.php b/vendor/ZF2/library/Zend/Validator/Barcode/Codabar.php
index 2c52064fdac..a653931dcb7 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Codabar.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Codabar.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Codabar extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Code128.php b/vendor/ZF2/library/Zend/Validator/Barcode/Code128.php
index f97d0f33ec2..e2951ff25f0 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Code128.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Code128.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Code128 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Code25.php b/vendor/ZF2/library/Zend/Validator/Barcode/Code25.php
index 22abdef7ee6..634e64d4b3e 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Code25.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Code25.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Code25 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Code25interleaved.php b/vendor/ZF2/library/Zend/Validator/Barcode/Code25interleaved.php
index 585bff79dbb..4f41a8079c5 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Code25interleaved.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Code25interleaved.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Code25interleaved extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Code39.php b/vendor/ZF2/library/Zend/Validator/Barcode/Code39.php
index fb88000b57e..5e0ce1b092c 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Code39.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Code39.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Code39 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Code39ext.php b/vendor/ZF2/library/Zend/Validator/Barcode/Code39ext.php
index b8b5fb3fc12..6fb8a7089d0 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Code39ext.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Code39ext.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Code39ext extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Code93.php b/vendor/ZF2/library/Zend/Validator/Barcode/Code93.php
index 524ec049bd4..275c5f953c4 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Code93.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Code93.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Code93 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Code93ext.php b/vendor/ZF2/library/Zend/Validator/Barcode/Code93ext.php
index 3b910d3887b..c06db6e0fd9 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Code93ext.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Code93ext.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Code93ext extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Ean12.php b/vendor/ZF2/library/Zend/Validator/Barcode/Ean12.php
index b90d291c81a..f99b2952ef9 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Ean12.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Ean12.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Ean12 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Ean13.php b/vendor/ZF2/library/Zend/Validator/Barcode/Ean13.php
index 5a58ae419ff..94c3294a877 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Ean13.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Ean13.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Ean13 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Ean14.php b/vendor/ZF2/library/Zend/Validator/Barcode/Ean14.php
index 426c604c790..1cf69d1e517 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Ean14.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Ean14.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Ean14 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Ean18.php b/vendor/ZF2/library/Zend/Validator/Barcode/Ean18.php
index 0a1a8acd088..5ad74871354 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Ean18.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Ean18.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Ean18 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Ean2.php b/vendor/ZF2/library/Zend/Validator/Barcode/Ean2.php
index 2dd48d0bc43..7683488af83 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Ean2.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Ean2.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Ean2 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Ean5.php b/vendor/ZF2/library/Zend/Validator/Barcode/Ean5.php
index ec327c41c9a..08003a741d7 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Ean5.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Ean5.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Ean5 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Ean8.php b/vendor/ZF2/library/Zend/Validator/Barcode/Ean8.php
index ea0a1453f85..2efe95aa97f 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Ean8.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Ean8.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Ean8 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Gtin12.php b/vendor/ZF2/library/Zend/Validator/Barcode/Gtin12.php
index 2490969bad8..046b6e3bef8 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Gtin12.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Gtin12.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Gtin12 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Gtin13.php b/vendor/ZF2/library/Zend/Validator/Barcode/Gtin13.php
index cdc233d205a..cc97a4a9c39 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Gtin13.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Gtin13.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Gtin13 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Gtin14.php b/vendor/ZF2/library/Zend/Validator/Barcode/Gtin14.php
index 9dc9639d672..3e837d32c49 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Gtin14.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Gtin14.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Gtin14 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Identcode.php b/vendor/ZF2/library/Zend/Validator/Barcode/Identcode.php
index 60ff77fc4c8..e4e8e050f03 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Identcode.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Identcode.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Identcode extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Intelligentmail.php b/vendor/ZF2/library/Zend/Validator/Barcode/Intelligentmail.php
index 6dd31f001a7..d301605eac1 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Intelligentmail.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Intelligentmail.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Intelligentmail extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Issn.php b/vendor/ZF2/library/Zend/Validator/Barcode/Issn.php
index d2b0a531e15..283885df60b 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Issn.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Issn.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Issn extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Itf14.php b/vendor/ZF2/library/Zend/Validator/Barcode/Itf14.php
index 51e6166e2a5..e2fef44b099 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Itf14.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Itf14.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Itf14 extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Leitcode.php b/vendor/ZF2/library/Zend/Validator/Barcode/Leitcode.php
index 6a069b0c37a..d2f5528fa2d 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Leitcode.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Leitcode.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Leitcode extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Planet.php b/vendor/ZF2/library/Zend/Validator/Barcode/Planet.php
index 71eb79c492f..041df19ba89 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Planet.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Planet.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Planet extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Postnet.php b/vendor/ZF2/library/Zend/Validator/Barcode/Postnet.php
index a9a97d5cfd9..b11992672d0 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Postnet.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Postnet.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Postnet extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Royalmail.php b/vendor/ZF2/library/Zend/Validator/Barcode/Royalmail.php
index 78beea2d6c8..079c670fbe8 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Royalmail.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Royalmail.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Royalmail extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Sscc.php b/vendor/ZF2/library/Zend/Validator/Barcode/Sscc.php
index 12340343946..56dbbe102ce 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Sscc.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Sscc.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Sscc extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Upca.php b/vendor/ZF2/library/Zend/Validator/Barcode/Upca.php
index 72edb441621..461af71f0c5 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Upca.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Upca.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Upca extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Upce.php b/vendor/ZF2/library/Zend/Validator/Barcode/Upce.php
index f69dfc2ec3b..57dd4b6898d 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Upce.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Upce.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Barcode;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Upce extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Between.php b/vendor/ZF2/library/Zend/Validator/Between.php
index 9e2c3e78f45..069a4687bc7 100644
--- a/vendor/ZF2/library/Zend/Validator/Between.php
+++ b/vendor/ZF2/library/Zend/Validator/Between.php
@@ -15,7 +15,7 @@ use Zend\Stdlib\ArrayUtils;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Between extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Callback.php b/vendor/ZF2/library/Zend/Validator/Callback.php
index d1dd91cb252..e46e11e0b32 100644
--- a/vendor/ZF2/library/Zend/Validator/Callback.php
+++ b/vendor/ZF2/library/Zend/Validator/Callback.php
@@ -12,7 +12,7 @@ namespace Zend\Validator;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Callback extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/CreditCard.php b/vendor/ZF2/library/Zend/Validator/CreditCard.php
index 406a3b445e4..5f6e79d3ee2 100644
--- a/vendor/ZF2/library/Zend/Validator/CreditCard.php
+++ b/vendor/ZF2/library/Zend/Validator/CreditCard.php
@@ -15,7 +15,7 @@ use Zend\Stdlib\ArrayUtils;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class CreditCard extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Date.php b/vendor/ZF2/library/Zend/Validator/Date.php
index c2b12ca54ed..46fcd8956b0 100644
--- a/vendor/ZF2/library/Zend/Validator/Date.php
+++ b/vendor/ZF2/library/Zend/Validator/Date.php
@@ -15,7 +15,7 @@ use Traversable;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Date extends AbstractValidator
 {
@@ -128,7 +128,11 @@ class Date extends AbstractValidator
             // and still return a DateTime object
             $errors = DateTime::getLastErrors();
 
-            if (false === $date || $errors['warning_count'] > 0) {
+            if ($errors['warning_count'] > 0) {
+                $this->error(self::INVALID_DATE);
+                return false;
+            }
+            if ($date === false) {
                 $this->error(self::INVALID_DATE);
                 return false;
             }
diff --git a/vendor/ZF2/library/Zend/Validator/DateStep.php b/vendor/ZF2/library/Zend/Validator/DateStep.php
index 84b1b2a4d3a..5cf745e124c 100644
--- a/vendor/ZF2/library/Zend/Validator/DateStep.php
+++ b/vendor/ZF2/library/Zend/Validator/DateStep.php
@@ -19,20 +19,16 @@ use Zend\Validator\Exception;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
-class DateStep extends AbstractValidator
+class DateStep extends Date
 {
-    const INVALID      = 'dateStepInvalid';
-    const INVALID_DATE = 'dateStepInvalidDate';
     const NOT_STEP     = 'dateStepNotStep';
 
     /**
      * @var array
      */
     protected $messageTemplates = array(
-        self::INVALID      => "Invalid type given. String, integer, array or DateTime expected",
-        self::INVALID_DATE => "The input does not appear to be a valid date",
         self::NOT_STEP     => "The input is not a valid step"
     );
 
@@ -155,28 +151,6 @@ class DateStep extends AbstractValidator
         return $this->step;
     }
 
-    /**
-     * Returns the format option
-     *
-     * @return string
-     */
-    public function getFormat()
-    {
-        return $this->format;
-    }
-
-    /**
-     * Sets the format option
-     *
-     * @param  string $format
-     * @return DateStep
-     */
-    public function setFormat($format)
-    {
-        $this->format = $format;
-        return $this;
-    }
-
     /**
      * Returns the timezone option
      *
@@ -241,13 +215,7 @@ class DateStep extends AbstractValidator
      */
     public function isValid($value)
     {
-        if (!is_string($value)
-            && !is_int($value)
-            && !($value instanceof DateTime)
-        ) {
-            $this->error(self::INVALID);
-            return false;
-        }
+        parent::isValid($value);
 
         $this->setValue($value);
 
@@ -258,7 +226,6 @@ class DateStep extends AbstractValidator
         try {
             $valueDate = $this->convertToDateTime($value);
         } catch (Exception\InvalidArgumentException $ex) {
-            $this->error(self::INVALID_DATE);
             return false;
         }
 
@@ -281,7 +248,7 @@ class DateStep extends AbstractValidator
             foreach ($intervalParts as $key => $value) {
                 if (0 != $value) {
                     $intervalUnit = $key;
-                    $stepValue    = (int)$value;
+                    $stepValue    = (int) $value;
                     break;
                 }
             }
diff --git a/vendor/ZF2/library/Zend/Validator/Db/AbstractDb.php b/vendor/ZF2/library/Zend/Validator/Db/AbstractDb.php
index 476aac362ac..dcc7d566d8f 100644
--- a/vendor/ZF2/library/Zend/Validator/Db/AbstractDb.php
+++ b/vendor/ZF2/library/Zend/Validator/Db/AbstractDb.php
@@ -23,7 +23,7 @@ use Zend\Validator\Exception;
  * Class for Database record validation
  *
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 abstract class AbstractDb extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Db/NoRecordExists.php b/vendor/ZF2/library/Zend/Validator/Db/NoRecordExists.php
index ed42d1f34ba..b2a1ba9c1fd 100644
--- a/vendor/ZF2/library/Zend/Validator/Db/NoRecordExists.php
+++ b/vendor/ZF2/library/Zend/Validator/Db/NoRecordExists.php
@@ -16,7 +16,7 @@ use Zend\Validator\Exception;
  * Confirms a record does not exist in a table.
  *
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class NoRecordExists extends AbstractDb
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Db/RecordExists.php b/vendor/ZF2/library/Zend/Validator/Db/RecordExists.php
index 1a0d41ab61d..8a8a68d8a48 100644
--- a/vendor/ZF2/library/Zend/Validator/Db/RecordExists.php
+++ b/vendor/ZF2/library/Zend/Validator/Db/RecordExists.php
@@ -16,7 +16,7 @@ use Zend\Validator\Exception;
  * Confirms a record exists in a table.
  *
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class RecordExists extends AbstractDb
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Digits.php b/vendor/ZF2/library/Zend/Validator/Digits.php
index f95cf57ba9a..10043b2a004 100644
--- a/vendor/ZF2/library/Zend/Validator/Digits.php
+++ b/vendor/ZF2/library/Zend/Validator/Digits.php
@@ -14,7 +14,7 @@ use Zend\Filter\Digits as DigitsFilter;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Digits extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/EmailAddress.php b/vendor/ZF2/library/Zend/Validator/EmailAddress.php
index 67a31d9e7f4..03e2fa38f13 100644
--- a/vendor/ZF2/library/Zend/Validator/EmailAddress.php
+++ b/vendor/ZF2/library/Zend/Validator/EmailAddress.php
@@ -12,7 +12,7 @@ namespace Zend\Validator;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class EmailAddress extends AbstractValidator
 {
@@ -486,7 +486,7 @@ class EmailAddress extends AbstractValidator
     }
 
     /**
-     * Defined by Zend_Validate_Interface
+     * Defined by Zend\Validator\ValidatorInterface
      *
      * Returns true if and only if $value is a valid email address
      * according to RFC2822
diff --git a/vendor/ZF2/library/Zend/Validator/Exception/ExceptionInterface.php b/vendor/ZF2/library/Zend/Validator/Exception/ExceptionInterface.php
index 3bad3ac22c6..b73a1722de2 100644
--- a/vendor/ZF2/library/Zend/Validator/Exception/ExceptionInterface.php
+++ b/vendor/ZF2/library/Zend/Validator/Exception/ExceptionInterface.php
@@ -12,7 +12,7 @@ namespace Zend\Validator\Exception;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 interface ExceptionInterface
 {}
diff --git a/vendor/ZF2/library/Zend/Validator/Explode.php b/vendor/ZF2/library/Zend/Validator/Explode.php
index 56c8876c6cc..9d927b597ab 100644
--- a/vendor/ZF2/library/Zend/Validator/Explode.php
+++ b/vendor/ZF2/library/Zend/Validator/Explode.php
@@ -12,7 +12,7 @@ namespace Zend\Validator;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Explode extends AbstractValidator
 {
@@ -112,7 +112,7 @@ class Explode extends AbstractValidator
     }
 
     /**
-     * Defined by Zend_Validate_Interface
+     * Defined by Zend\Validator\ValidatorInterface
      *
      * Returns true if all values validate true
      *
diff --git a/vendor/ZF2/library/Zend/Validator/File/Count.php b/vendor/ZF2/library/Zend/Validator/File/Count.php
index dbc82dcf2c1..2737f086f96 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Count.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Count.php
@@ -17,7 +17,7 @@ use Zend\Validator\Exception;
  * Validator for counting all given files
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class Count extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/Crc32.php b/vendor/ZF2/library/Zend/Validator/File/Crc32.php
index cf55b005547..2103e15e11f 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Crc32.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Crc32.php
@@ -14,7 +14,7 @@ namespace Zend\Validator\File;
  * Validator for the crc32 hash of given files
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class Crc32 extends Hash
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/ExcludeExtension.php b/vendor/ZF2/library/Zend/Validator/File/ExcludeExtension.php
index 57938d94164..0ac8d6e38fd 100644
--- a/vendor/ZF2/library/Zend/Validator/File/ExcludeExtension.php
+++ b/vendor/ZF2/library/Zend/Validator/File/ExcludeExtension.php
@@ -14,7 +14,7 @@ namespace Zend\Validator\File;
  * Validator for the excluding file extensions
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class ExcludeExtension extends Extension
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/ExcludeMimeType.php b/vendor/ZF2/library/Zend/Validator/File/ExcludeMimeType.php
index 62c086ae164..a94124c58cf 100644
--- a/vendor/ZF2/library/Zend/Validator/File/ExcludeMimeType.php
+++ b/vendor/ZF2/library/Zend/Validator/File/ExcludeMimeType.php
@@ -16,7 +16,7 @@ use finfo;
  * Validator for the mime type of a file
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class ExcludeMimeType extends MimeType
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/Exists.php b/vendor/ZF2/library/Zend/Validator/File/Exists.php
index 7631df7e4da..52b47ed0d4c 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Exists.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Exists.php
@@ -17,7 +17,7 @@ use Zend\Validator\Exception;
  * Validator which checks if the file already exists in the directory
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class Exists extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/Extension.php b/vendor/ZF2/library/Zend/Validator/File/Extension.php
index 8b59d503f12..567d35f1db0 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Extension.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Extension.php
@@ -18,7 +18,7 @@ use Zend\Validator\AbstractValidator;
  * Validator for the file extension of a file
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class Extension extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/FilesSize.php b/vendor/ZF2/library/Zend/Validator/File/FilesSize.php
index 511e466eadc..a7be3735efa 100644
--- a/vendor/ZF2/library/Zend/Validator/File/FilesSize.php
+++ b/vendor/ZF2/library/Zend/Validator/File/FilesSize.php
@@ -19,7 +19,7 @@ use Zend\Validator\Exception;
  * Validator for the size of all files which will be validated in sum
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class FilesSize extends Size
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/Hash.php b/vendor/ZF2/library/Zend/Validator/File/Hash.php
index d51efe04d90..b7a56a3f56f 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Hash.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Hash.php
@@ -17,7 +17,7 @@ use Zend\Validator\Exception;
  * Validator for the hash of given files
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class Hash extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/ImageSize.php b/vendor/ZF2/library/Zend/Validator/File/ImageSize.php
index 70dfdc6b4d1..337b49dadad 100644
--- a/vendor/ZF2/library/Zend/Validator/File/ImageSize.php
+++ b/vendor/ZF2/library/Zend/Validator/File/ImageSize.php
@@ -18,7 +18,7 @@ use Zend\Validator\Exception;
  * Validator for the image size of a image file
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class ImageSize extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/IsCompressed.php b/vendor/ZF2/library/Zend/Validator/File/IsCompressed.php
index 19656492166..3710b375a4c 100644
--- a/vendor/ZF2/library/Zend/Validator/File/IsCompressed.php
+++ b/vendor/ZF2/library/Zend/Validator/File/IsCompressed.php
@@ -17,7 +17,7 @@ use Zend\Stdlib\ArrayUtils;
  * Validator which checks if the file already exists in the directory
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class IsCompressed extends MimeType
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/IsImage.php b/vendor/ZF2/library/Zend/Validator/File/IsImage.php
index 9acb63e3d7b..537ed44ed9c 100644
--- a/vendor/ZF2/library/Zend/Validator/File/IsImage.php
+++ b/vendor/ZF2/library/Zend/Validator/File/IsImage.php
@@ -17,7 +17,7 @@ use Zend\Stdlib\ArrayUtils;
  * Validator which checks if the file already exists in the directory
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class IsImage extends MimeType
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/Md5.php b/vendor/ZF2/library/Zend/Validator/File/Md5.php
index 38bbf4323b8..b32ba53ea15 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Md5.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Md5.php
@@ -14,7 +14,7 @@ namespace Zend\Validator\File;
  * Validator for the md5 hash of given files
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class Md5 extends Hash
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/MimeType.php b/vendor/ZF2/library/Zend/Validator/File/MimeType.php
index cc4ffff6428..1f1a536995a 100644
--- a/vendor/ZF2/library/Zend/Validator/File/MimeType.php
+++ b/vendor/ZF2/library/Zend/Validator/File/MimeType.php
@@ -20,7 +20,7 @@ use Zend\Validator\Exception;
  * Validator for the mime type of a file
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class MimeType extends AbstractValidator
 {
@@ -339,7 +339,7 @@ class MimeType extends AbstractValidator
     }
 
     /**
-     * Defined by Zend_Validate_Interface
+     * Defined by Zend\Validator\ValidatorInterface
      *
      * Returns true if the mimetype of the file matches the given ones. Also parts
      * of mimetypes can be checked. If you give for example "image" all image
diff --git a/vendor/ZF2/library/Zend/Validator/File/NotExists.php b/vendor/ZF2/library/Zend/Validator/File/NotExists.php
index 6ffc314807e..ca40f46b874 100644
--- a/vendor/ZF2/library/Zend/Validator/File/NotExists.php
+++ b/vendor/ZF2/library/Zend/Validator/File/NotExists.php
@@ -14,7 +14,7 @@ namespace Zend\Validator\File;
  * Validator which checks if the destination file does not exist
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class NotExists extends Exists
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/Sha1.php b/vendor/ZF2/library/Zend/Validator/File/Sha1.php
index c76a7a7e41d..72e37f16e39 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Sha1.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Sha1.php
@@ -10,13 +10,12 @@
 
 namespace Zend\Validator\File;
 
-use Zend\Validator\Exception;
 
 /**
  * Validator for the sha1 hash of given files
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class Sha1 extends Hash
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/Size.php b/vendor/ZF2/library/Zend/Validator/File/Size.php
index 858876a39a7..96aae168898 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Size.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Size.php
@@ -18,7 +18,7 @@ use Zend\Validator\Exception;
  * Validator for the maximum size of a file up to a max of 2GB
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class Size extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/Upload.php b/vendor/ZF2/library/Zend/Validator/File/Upload.php
index 59c3846fe39..dc9e55bf6de 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Upload.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Upload.php
@@ -17,7 +17,7 @@ use Zend\Validator\Exception;
  * Validator for the maximum size of a file up to a max of 2GB
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class Upload extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/WordCount.php b/vendor/ZF2/library/Zend/Validator/File/WordCount.php
index 48a0fc2cb5d..4587d9ce9d7 100644
--- a/vendor/ZF2/library/Zend/Validator/File/WordCount.php
+++ b/vendor/ZF2/library/Zend/Validator/File/WordCount.php
@@ -14,7 +14,7 @@ namespace Zend\Validator\File;
  * Validator for counting all words in a file
  *
  * @category  Zend
- * @package   Zend_Validate
+ * @package   Zend_Validator
  */
 class WordCount extends Count
 {
diff --git a/vendor/ZF2/library/Zend/Validator/GreaterThan.php b/vendor/ZF2/library/Zend/Validator/GreaterThan.php
index 38be082f796..31a3254c06c 100644
--- a/vendor/ZF2/library/Zend/Validator/GreaterThan.php
+++ b/vendor/ZF2/library/Zend/Validator/GreaterThan.php
@@ -15,7 +15,7 @@ use Zend\Stdlib\ArrayUtils;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class GreaterThan extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Hex.php b/vendor/ZF2/library/Zend/Validator/Hex.php
index 8aaf75deb81..320f655ad9e 100644
--- a/vendor/ZF2/library/Zend/Validator/Hex.php
+++ b/vendor/ZF2/library/Zend/Validator/Hex.php
@@ -12,7 +12,7 @@ namespace Zend\Validator;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Hex extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Hostname/Biz.php b/vendor/ZF2/library/Zend/Validator/Hostname/Biz.php
index 54b9ea50cc0..365f5a20b2e 100644
--- a/vendor/ZF2/library/Zend/Validator/Hostname/Biz.php
+++ b/vendor/ZF2/library/Zend/Validator/Hostname/Biz.php
@@ -14,7 +14,7 @@ namespace Zend\Validator\Hostname;
  * Resource file for biz idn validation
  *
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 return array(
     1  => '/^[\x{002d}0-9a-zäåæéöøü]{1,63}$/iu',
diff --git a/vendor/ZF2/library/Zend/Validator/Hostname/Cn.php b/vendor/ZF2/library/Zend/Validator/Hostname/Cn.php
index efb14b12615..8552817f157 100644
--- a/vendor/ZF2/library/Zend/Validator/Hostname/Cn.php
+++ b/vendor/ZF2/library/Zend/Validator/Hostname/Cn.php
@@ -14,7 +14,7 @@ namespace Zend\Validator\Hostname;
  * Resource file for chinese idn validation
  *
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 return array(
     1  => '/^[\x{002d}0-9a-z\x{3447}\x{3473}\x{359E}\x{360E}\x{361A}\x{3918}\x{396E}\x{39CF}\x{39D0}' .
diff --git a/vendor/ZF2/library/Zend/Validator/Hostname/Com.php b/vendor/ZF2/library/Zend/Validator/Hostname/Com.php
index 8fe41e0164e..9d7382d5e64 100644
--- a/vendor/ZF2/library/Zend/Validator/Hostname/Com.php
+++ b/vendor/ZF2/library/Zend/Validator/Hostname/Com.php
@@ -14,7 +14,7 @@ namespace Zend\Validator\Hostname;
  * Resource file for com and net idn validation
  *
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 return array(
     1  => '/^[\x{002d}0-9\x{0400}-\x{052f}]{1,63}$/iu',
diff --git a/vendor/ZF2/library/Zend/Validator/Hostname/Jp.php b/vendor/ZF2/library/Zend/Validator/Hostname/Jp.php
index 50a4856dbce..fb31f20644f 100644
--- a/vendor/ZF2/library/Zend/Validator/Hostname/Jp.php
+++ b/vendor/ZF2/library/Zend/Validator/Hostname/Jp.php
@@ -14,7 +14,7 @@ namespace Zend\Validator\Hostname;
  * Resource file for japanese idn validation
  *
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 return array(
     1  => '/^[\x{002d}0-9a-z\x{3005}-\x{3007}\x{3041}-\x{3093}\x{309D}\x{309E}' .
diff --git a/vendor/ZF2/library/Zend/Validator/Iban.php b/vendor/ZF2/library/Zend/Validator/Iban.php
index c7d9e4b716e..2eb30aebd25 100644
--- a/vendor/ZF2/library/Zend/Validator/Iban.php
+++ b/vendor/ZF2/library/Zend/Validator/Iban.php
@@ -19,7 +19,7 @@ use Zend\Validator\Exception;
  * Validates IBAN Numbers (International Bank Account Numbers)
  *
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Iban extends AbstractValidator
 {
@@ -226,7 +226,7 @@ class Iban extends AbstractValidator
             return false;
         }
 
-        $value = strtoupper($value);
+        $value = str_replace(' ', '', strtoupper($value));
         $this->setValue($value);
 
         $countryCode = $this->getCountryCode();
diff --git a/vendor/ZF2/library/Zend/Validator/Identical.php b/vendor/ZF2/library/Zend/Validator/Identical.php
index 20afe737ae5..56550bab1c8 100644
--- a/vendor/ZF2/library/Zend/Validator/Identical.php
+++ b/vendor/ZF2/library/Zend/Validator/Identical.php
@@ -15,7 +15,7 @@ use Zend\Stdlib\ArrayUtils;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Identical extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/InArray.php b/vendor/ZF2/library/Zend/Validator/InArray.php
index 8e89775e3e6..aee741d1df9 100644
--- a/vendor/ZF2/library/Zend/Validator/InArray.php
+++ b/vendor/ZF2/library/Zend/Validator/InArray.php
@@ -15,7 +15,7 @@ use RecursiveIteratorIterator;
 
 /**
  * @category Zend
- * @package  Zend_Validate
+ * @package  Zend_Validator
  */
 class InArray extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Ip.php b/vendor/ZF2/library/Zend/Validator/Ip.php
index c64573ede79..24bba30a14b 100644
--- a/vendor/ZF2/library/Zend/Validator/Ip.php
+++ b/vendor/ZF2/library/Zend/Validator/Ip.php
@@ -11,11 +11,10 @@
 namespace Zend\Validator;
 
 use Traversable;
-use Zend\Stdlib\ArrayUtils;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Ip extends AbstractValidator
 {
@@ -184,7 +183,7 @@ class Ip extends AbstractValidator
          */
         static $regex = '/^v([[:xdigit:]]+)\.[[:alnum:]\-\._~!\$&\'\(\)\*\+,;=:]+$/';
 
-        $result = (bool)preg_match($regex, $value, $matches);
+        $result = (bool) preg_match($regex, $value, $matches);
 
         /*
          * "As such, implementations must not provide the version flag for the
diff --git a/vendor/ZF2/library/Zend/Validator/Isbn.php b/vendor/ZF2/library/Zend/Validator/Isbn.php
index 1550083a9f9..2be59e7d504 100644
--- a/vendor/ZF2/library/Zend/Validator/Isbn.php
+++ b/vendor/ZF2/library/Zend/Validator/Isbn.php
@@ -12,7 +12,7 @@ namespace Zend\Validator;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Isbn extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/LessThan.php b/vendor/ZF2/library/Zend/Validator/LessThan.php
index c29a2c3781e..90bcb5f3211 100644
--- a/vendor/ZF2/library/Zend/Validator/LessThan.php
+++ b/vendor/ZF2/library/Zend/Validator/LessThan.php
@@ -15,7 +15,7 @@ use Zend\Stdlib\ArrayUtils;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class LessThan extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/NotEmpty.php b/vendor/ZF2/library/Zend/Validator/NotEmpty.php
index 1c4c379de5f..137cddfd008 100644
--- a/vendor/ZF2/library/Zend/Validator/NotEmpty.php
+++ b/vendor/ZF2/library/Zend/Validator/NotEmpty.php
@@ -15,7 +15,7 @@ use Zend\Stdlib\ArrayUtils;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class NotEmpty extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Regex.php b/vendor/ZF2/library/Zend/Validator/Regex.php
index e4ced1dddf2..c7f9a4ba7bf 100644
--- a/vendor/ZF2/library/Zend/Validator/Regex.php
+++ b/vendor/ZF2/library/Zend/Validator/Regex.php
@@ -16,7 +16,7 @@ use Zend\Stdlib\ErrorHandler;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Regex extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Sitemap/Changefreq.php b/vendor/ZF2/library/Zend/Validator/Sitemap/Changefreq.php
index 66c7c7c9965..c75958425af 100644
--- a/vendor/ZF2/library/Zend/Validator/Sitemap/Changefreq.php
+++ b/vendor/ZF2/library/Zend/Validator/Sitemap/Changefreq.php
@@ -18,7 +18,7 @@ use Zend\Validator\AbstractValidator;
  * @link       http://www.sitemaps.org/protocol.php Sitemaps XML format
  *
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  * @subpackage Sitemap
  */
 class Changefreq extends AbstractValidator
diff --git a/vendor/ZF2/library/Zend/Validator/Sitemap/Lastmod.php b/vendor/ZF2/library/Zend/Validator/Sitemap/Lastmod.php
index 8dd46046897..0339a5845e2 100644
--- a/vendor/ZF2/library/Zend/Validator/Sitemap/Lastmod.php
+++ b/vendor/ZF2/library/Zend/Validator/Sitemap/Lastmod.php
@@ -19,7 +19,7 @@ use Zend\Validator\AbstractValidator;
  * @link       http://www.sitemaps.org/protocol.php Sitemaps XML format
  *
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  * @subpackage Sitemap
  */
 class Lastmod extends AbstractValidator
diff --git a/vendor/ZF2/library/Zend/Validator/Sitemap/Loc.php b/vendor/ZF2/library/Zend/Validator/Sitemap/Loc.php
index 6a200477ee6..1ae91711c12 100644
--- a/vendor/ZF2/library/Zend/Validator/Sitemap/Loc.php
+++ b/vendor/ZF2/library/Zend/Validator/Sitemap/Loc.php
@@ -20,7 +20,7 @@ use Zend\Validator\AbstractValidator;
  *
  * @see        Zend\Uri\Uri
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  * @subpackage Sitemap
  */
 class Loc extends AbstractValidator
diff --git a/vendor/ZF2/library/Zend/Validator/Sitemap/Priority.php b/vendor/ZF2/library/Zend/Validator/Sitemap/Priority.php
index 113069c56ef..5a970d1c6c7 100644
--- a/vendor/ZF2/library/Zend/Validator/Sitemap/Priority.php
+++ b/vendor/ZF2/library/Zend/Validator/Sitemap/Priority.php
@@ -18,7 +18,7 @@ use Zend\Validator\AbstractValidator;
  * @link       http://www.sitemaps.org/protocol.php Sitemaps XML format
  *
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  * @subpackage Sitemap
  */
 class Priority extends AbstractValidator
diff --git a/vendor/ZF2/library/Zend/Validator/StaticValidator.php b/vendor/ZF2/library/Zend/Validator/StaticValidator.php
index f7ddaab944e..0d9f0b25b16 100644
--- a/vendor/ZF2/library/Zend/Validator/StaticValidator.php
+++ b/vendor/ZF2/library/Zend/Validator/StaticValidator.php
@@ -12,7 +12,7 @@ namespace Zend\Validator;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class StaticValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Step.php b/vendor/ZF2/library/Zend/Validator/Step.php
index e598607c523..6478ce98c9e 100644
--- a/vendor/ZF2/library/Zend/Validator/Step.php
+++ b/vendor/ZF2/library/Zend/Validator/Step.php
@@ -14,7 +14,7 @@ use Traversable;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Step extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/StringLength.php b/vendor/ZF2/library/Zend/Validator/StringLength.php
index 781182c19e7..1587c2458ea 100644
--- a/vendor/ZF2/library/Zend/Validator/StringLength.php
+++ b/vendor/ZF2/library/Zend/Validator/StringLength.php
@@ -12,7 +12,7 @@ namespace Zend\Validator;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class StringLength extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/Uri.php b/vendor/ZF2/library/Zend/Validator/Uri.php
index 59ea3b472b8..6cdc8c8e0fb 100644
--- a/vendor/ZF2/library/Zend/Validator/Uri.php
+++ b/vendor/ZF2/library/Zend/Validator/Uri.php
@@ -17,7 +17,7 @@ use Zend\Validator\Exception\InvalidArgumentException;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 class Uri extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/ValidatorInterface.php b/vendor/ZF2/library/Zend/Validator/ValidatorInterface.php
index 3179e6a7377..145f7535aa4 100644
--- a/vendor/ZF2/library/Zend/Validator/ValidatorInterface.php
+++ b/vendor/ZF2/library/Zend/Validator/ValidatorInterface.php
@@ -12,7 +12,7 @@ namespace Zend\Validator;
 
 /**
  * @category   Zend
- * @package    Zend_Validate
+ * @package    Zend_Validator
  */
 interface ValidatorInterface
 {
diff --git a/vendor/ZF2/library/Zend/Validator/ValidatorPluginManager.php b/vendor/ZF2/library/Zend/Validator/ValidatorPluginManager.php
index 056486d9de3..cbed58bd5ab 100644
--- a/vendor/ZF2/library/Zend/Validator/ValidatorPluginManager.php
+++ b/vendor/ZF2/library/Zend/Validator/ValidatorPluginManager.php
@@ -89,7 +89,7 @@ class ValidatorPluginManager extends AbstractPluginManager
         'greaterthan'              => 'Zend\Validator\GreaterThan',
         'hex'                      => 'Zend\Validator\Hex',
         'hostname'                 => 'Zend\Validator\Hostname',
-        'iban'                     => 'Zend\I18n\Validator\Iban',
+        'iban'                     => 'Zend\Validator\Iban',
         'identical'                => 'Zend\Validator\Identical',
         'inarray'                  => 'Zend\Validator\InArray',
         'int'                      => 'Zend\I18n\Validator\Int',
diff --git a/vendor/ZF2/library/Zend/Validator/composer.json b/vendor/ZF2/library/Zend/Validator/composer.json
index 015a02a2b04..e2a0bffed04 100644
--- a/vendor/ZF2/library/Zend/Validator/composer.json
+++ b/vendor/ZF2/library/Zend/Validator/composer.json
@@ -8,13 +8,14 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Validator": ""
+            "Zend\\Validator\\": ""
         }
     },
     "target-dir": "Zend/Validator",
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-i18n": "self.version",
+        "zendframework/zend-servicemanager": "self.version",
         "zendframework/zend-stdlib": "self.version"
     },
     "require-dev": {
diff --git a/vendor/ZF2/library/Zend/Version/Version.php b/vendor/ZF2/library/Zend/Version/Version.php
index 60da0af2e7a..e3fb44de34e 100644
--- a/vendor/ZF2/library/Zend/Version/Version.php
+++ b/vendor/ZF2/library/Zend/Version/Version.php
@@ -23,7 +23,7 @@ final class Version
     /**
      * Zend Framework version identification - see compareVersion()
      */
-    const VERSION = '2.0.2';
+    const VERSION = '2.0.3';
 
     /**
      * Github Service Identifier for version information is retreived from
@@ -31,7 +31,7 @@ final class Version
     const VERSION_SERVICE_GITHUB = 'GITHUB';
 
     /**
-     * Github Service Identifier for version information is retreived from
+     * Zend (framework.zend.com) Service Identifier for version information is retreived from
      */
     const VERSION_SERVICE_ZEND = 'ZEND';
 
diff --git a/vendor/ZF2/library/Zend/Version/composer.json b/vendor/ZF2/library/Zend/Version/composer.json
index a1326b2ada0..bb8c3dfd195 100644
--- a/vendor/ZF2/library/Zend/Version/composer.json
+++ b/vendor/ZF2/library/Zend/Version/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\Version": ""
+            "Zend\\Version\\": ""
         }
     },
     "target-dir": "Zend/Version",
diff --git a/vendor/ZF2/library/Zend/View/Helper/EscapeCss.php b/vendor/ZF2/library/Zend/View/Helper/EscapeCss.php
index 597d4486547..02afa312b31 100644
--- a/vendor/ZF2/library/Zend/View/Helper/EscapeCss.php
+++ b/vendor/ZF2/library/Zend/View/Helper/EscapeCss.php
@@ -10,7 +10,6 @@
 
 namespace Zend\View\Helper;
 
-use Zend\View\Exception;
 use Zend\View\Helper\Escaper;
 
 /**
diff --git a/vendor/ZF2/library/Zend/View/Helper/EscapeHtml.php b/vendor/ZF2/library/Zend/View/Helper/EscapeHtml.php
index 0ee00dcc60e..1763bb7088b 100644
--- a/vendor/ZF2/library/Zend/View/Helper/EscapeHtml.php
+++ b/vendor/ZF2/library/Zend/View/Helper/EscapeHtml.php
@@ -10,7 +10,6 @@
 
 namespace Zend\View\Helper;
 
-use Zend\View\Exception;
 use Zend\View\Helper\Escaper;
 
 /**
diff --git a/vendor/ZF2/library/Zend/View/Helper/EscapeHtmlAttr.php b/vendor/ZF2/library/Zend/View/Helper/EscapeHtmlAttr.php
index e674f089699..726a22153a3 100644
--- a/vendor/ZF2/library/Zend/View/Helper/EscapeHtmlAttr.php
+++ b/vendor/ZF2/library/Zend/View/Helper/EscapeHtmlAttr.php
@@ -10,7 +10,6 @@
 
 namespace Zend\View\Helper;
 
-use Zend\View\Exception;
 use Zend\View\Helper\Escaper;
 
 /**
diff --git a/vendor/ZF2/library/Zend/View/Helper/EscapeJs.php b/vendor/ZF2/library/Zend/View/Helper/EscapeJs.php
index c186e10945e..2771b71eef0 100644
--- a/vendor/ZF2/library/Zend/View/Helper/EscapeJs.php
+++ b/vendor/ZF2/library/Zend/View/Helper/EscapeJs.php
@@ -10,7 +10,6 @@
 
 namespace Zend\View\Helper;
 
-use Zend\View\Exception;
 use Zend\View\Helper\Escaper;
 
 /**
diff --git a/vendor/ZF2/library/Zend/View/Helper/EscapeUrl.php b/vendor/ZF2/library/Zend/View/Helper/EscapeUrl.php
index a687f133bad..0a1acbbd63b 100644
--- a/vendor/ZF2/library/Zend/View/Helper/EscapeUrl.php
+++ b/vendor/ZF2/library/Zend/View/Helper/EscapeUrl.php
@@ -10,7 +10,6 @@
 
 namespace Zend\View\Helper;
 
-use Zend\View\Exception;
 use Zend\View\Helper\Escaper;
 
 /**
diff --git a/vendor/ZF2/library/Zend/View/Helper/HeadLink.php b/vendor/ZF2/library/Zend/View/Helper/HeadLink.php
index 10f9c587c41..280011f955c 100644
--- a/vendor/ZF2/library/Zend/View/Helper/HeadLink.php
+++ b/vendor/ZF2/library/Zend/View/Helper/HeadLink.php
@@ -261,27 +261,27 @@ class HeadLink extends Placeholder\Container\AbstractStandalone
     public function itemToString(stdClass $item)
     {
         $attributes = (array) $item;
-        $link       = '<link ';
+        $link       = '<link';
 
         foreach ($this->itemKeys as $itemKey) {
             if (isset($attributes[$itemKey])) {
                 if (is_array($attributes[$itemKey])) {
                     foreach ($attributes[$itemKey] as $key => $value) {
-                        $link .= sprintf('%s="%s" ', $key, ($this->autoEscape) ? $this->escape($value) : $value);
+                        $link .= sprintf(' %s="%s"', $key, ($this->autoEscape) ? $this->escape($value) : $value);
                     }
                 } else {
-                    $link .= sprintf('%s="%s" ', $itemKey, ($this->autoEscape) ? $this->escape($attributes[$itemKey]) : $attributes[$itemKey]);
+                    $link .= sprintf(' %s="%s"', $itemKey, ($this->autoEscape) ? $this->escape($attributes[$itemKey]) : $attributes[$itemKey]);
                 }
             }
         }
 
         if (method_exists($this->view, 'plugin')) {
-            $link .= ($this->view->plugin('doctype')->isXhtml()) ? '/>' : '>';
+            $link .= ($this->view->plugin('doctype')->isXhtml()) ? ' />' : '>';
         } else {
-            $link .= '/>';
+            $link .= ' />';
         }
 
-        if (($link == '<link />') || ($link == '<link >')) {
+        if (($link == '<link />') || ($link == '<link>')) {
             return '';
         }
 
diff --git a/vendor/ZF2/library/Zend/View/Helper/HeadMeta.php b/vendor/ZF2/library/Zend/View/Helper/HeadMeta.php
index 925d92986dd..6811f7ddbfc 100644
--- a/vendor/ZF2/library/Zend/View/Helper/HeadMeta.php
+++ b/vendor/ZF2/library/Zend/View/Helper/HeadMeta.php
@@ -337,6 +337,12 @@ class HeadMeta extends Placeholder\Container\AbstractStandalone
             $modifiersString .= $key . '="' . $this->escape($value) . '" ';
         }
 
+        $modifiersString = rtrim($modifiersString);
+
+        if ('' != $modifiersString) {
+            $modifiersString = ' ' . $modifiersString;
+        }
+
         if (method_exists($this->view, 'plugin')) {
             if ($this->view->plugin('doctype')->isHtml5()
                 && $type == 'charset'
@@ -345,12 +351,12 @@ class HeadMeta extends Placeholder\Container\AbstractStandalone
                     ? '<meta %s="%s"/>'
                     : '<meta %s="%s">';
             } elseif ($this->view->plugin('doctype')->isXhtml()) {
-                $tpl = '<meta %s="%s" content="%s" %s/>';
+                $tpl = '<meta %s="%s" content="%s"%s />';
             } else {
-                $tpl = '<meta %s="%s" content="%s" %s>';
+                $tpl = '<meta %s="%s" content="%s"%s>';
             }
         } else {
-            $tpl = '<meta %s="%s" content="%s" %s/>';
+            $tpl = '<meta %s="%s" content="%s"%s />';
         }
 
         $meta = sprintf(
diff --git a/vendor/ZF2/library/Zend/View/Helper/Navigation/HelperInterface.php b/vendor/ZF2/library/Zend/View/Helper/Navigation/HelperInterface.php
index eb64181b13f..0870962d103 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Navigation/HelperInterface.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Navigation/HelperInterface.php
@@ -10,7 +10,6 @@
 
 namespace Zend\View\Helper\Navigation;
 
-use Zend\I18n\Translator\Translator;
 use Zend\Navigation;
 use Zend\Permissions\Acl;
 use Zend\View\Helper\HelperInterface as BaseHelperInterface;
diff --git a/vendor/ZF2/library/Zend/View/Model/ConsoleModel.php b/vendor/ZF2/library/Zend/View/Model/ConsoleModel.php
index e7af434a1ed..12f6044a171 100644
--- a/vendor/ZF2/library/Zend/View/Model/ConsoleModel.php
+++ b/vendor/ZF2/library/Zend/View/Model/ConsoleModel.php
@@ -21,8 +21,6 @@
 
 namespace Zend\View\Model;
 
-use Traversable;
-use Zend\Stdlib\ArrayUtils;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/View/Resolver/AggregateResolver.php b/vendor/ZF2/library/Zend/View/Resolver/AggregateResolver.php
index 65fcddae68f..3606b9bf585 100644
--- a/vendor/ZF2/library/Zend/View/Resolver/AggregateResolver.php
+++ b/vendor/ZF2/library/Zend/View/Resolver/AggregateResolver.php
@@ -13,7 +13,6 @@ namespace Zend\View\Resolver;
 use Countable;
 use IteratorAggregate;
 use Zend\Stdlib\PriorityQueue;
-use Zend\View\Exception;
 use Zend\View\Renderer\RendererInterface as Renderer;
 use Zend\View\Resolver\ResolverInterface as Resolver;
 
diff --git a/vendor/ZF2/library/Zend/View/Strategy/FeedStrategy.php b/vendor/ZF2/library/Zend/View/Strategy/FeedStrategy.php
index 27a79dc7721..c9fcc9ed556 100644
--- a/vendor/ZF2/library/Zend/View/Strategy/FeedStrategy.php
+++ b/vendor/ZF2/library/Zend/View/Strategy/FeedStrategy.php
@@ -14,7 +14,6 @@ use Zend\EventManager\EventManagerInterface;
 use Zend\EventManager\ListenerAggregateInterface;
 use Zend\Feed\Writer\Feed;
 use Zend\Http\Request as HttpRequest;
-use Zend\Http\Response as HttpResponse;
 use Zend\View\Model;
 use Zend\View\Renderer\FeedRenderer;
 use Zend\View\ViewEvent;
@@ -85,25 +84,20 @@ class FeedStrategy implements ListenerAggregateInterface
     {
         $model = $e->getModel();
 
-        if ($model instanceof Model\FeedModel) {
-            // FeedModel found
-            return $this->renderer;
-        }
-
         $request = $e->getRequest();
         if (!$request instanceof HttpRequest) {
             // Not an HTTP request; cannot autodetermine
-            return;
+            return ($model instanceof Model\FeedModel) ? $this->renderer : null;
         }
 
         $headers = $request->getHeaders();
         if (!$headers->has('accept')) {
-            return;
+            return ($model instanceof Model\FeedModel) ? $this->renderer : null;
         }
 
         $accept  = $headers->get('accept');
         if (($match = $accept->match('application/rss+xml, application/atom+xml')) == false) {
-            return;
+            return ($model instanceof Model\FeedModel) ? $this->renderer : null;
         }
 
         if ($match->getTypeString() == 'application/rss+xml') {
@@ -116,6 +110,7 @@ class FeedStrategy implements ListenerAggregateInterface
             return $this->renderer;
         }
 
+        return ($model instanceof Model\FeedModel) ? $this->renderer : null;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/View/Strategy/JsonStrategy.php b/vendor/ZF2/library/Zend/View/Strategy/JsonStrategy.php
index d4536e8d56a..539f08ed2c9 100644
--- a/vendor/ZF2/library/Zend/View/Strategy/JsonStrategy.php
+++ b/vendor/ZF2/library/Zend/View/Strategy/JsonStrategy.php
@@ -13,7 +13,6 @@ namespace Zend\View\Strategy;
 use Zend\EventManager\EventManagerInterface;
 use Zend\EventManager\ListenerAggregateInterface;
 use Zend\Http\Request as HttpRequest;
-use Zend\Http\Response as HttpResponse;
 use Zend\View\Model;
 use Zend\View\Renderer\JsonRenderer;
 use Zend\View\ViewEvent;
@@ -84,26 +83,20 @@ class JsonStrategy implements ListenerAggregateInterface
     {
         $model = $e->getModel();
 
-        if ($model instanceof Model\JsonModel) {
-            // JsonModel found
-            return $this->renderer;
-        }
-
         $request = $e->getRequest();
         if (!$request instanceof HttpRequest) {
             // Not an HTTP request; cannot autodetermine
-            return;
+            return ($model instanceof Model\JsonModel) ? $this->renderer : null;
         }
 
         $headers = $request->getHeaders();
         if (!$headers->has('accept')) {
-            return;
+            return ($model instanceof Model\JsonModel) ? $this->renderer : null;
         }
 
-
         $accept  = $headers->get('Accept');
         if (($match = $accept->match('application/json, application/javascript')) == false) {
-            return;
+            return ($model instanceof Model\JsonModel) ? $this->renderer : null;
         }
 
         if ($match->getTypeString() == 'application/json') {
@@ -118,6 +111,8 @@ class JsonStrategy implements ListenerAggregateInterface
             }
             return $this->renderer;
         }
+
+        return ($model instanceof Model\JsonModel) ? $this->renderer : null;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/View/Strategy/PhpRendererStrategy.php b/vendor/ZF2/library/Zend/View/Strategy/PhpRendererStrategy.php
index cc7f6f49672..fb5b9e4ebae 100644
--- a/vendor/ZF2/library/Zend/View/Strategy/PhpRendererStrategy.php
+++ b/vendor/ZF2/library/Zend/View/Strategy/PhpRendererStrategy.php
@@ -12,8 +12,6 @@ namespace Zend\View\Strategy;
 
 use Zend\EventManager\EventManagerInterface;
 use Zend\EventManager\ListenerAggregateInterface;
-use Zend\Http\Request as HttpRequest;
-use Zend\Http\Response as HttpResponse;
 use Zend\View\Renderer\PhpRenderer;
 use Zend\View\ViewEvent;
 
diff --git a/vendor/ZF2/library/Zend/View/View.php b/vendor/ZF2/library/Zend/View/View.php
index d2951b793e1..65f34b84a41 100644
--- a/vendor/ZF2/library/Zend/View/View.php
+++ b/vendor/ZF2/library/Zend/View/View.php
@@ -13,7 +13,6 @@ namespace Zend\View;
 use Zend\EventManager\EventManager;
 use Zend\EventManager\EventManagerAwareInterface;
 use Zend\EventManager\EventManagerInterface;
-use Zend\Mvc\MvcEvent;
 use Zend\Stdlib\RequestInterface as Request;
 use Zend\Stdlib\ResponseInterface as Response;
 use Zend\View\Model\ModelInterface as Model;
diff --git a/vendor/ZF2/library/Zend/View/composer.json b/vendor/ZF2/library/Zend/View/composer.json
index 538ad00648e..8f7d523b4e9 100644
--- a/vendor/ZF2/library/Zend/View/composer.json
+++ b/vendor/ZF2/library/Zend/View/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\View": ""
+            "Zend\\View\\": ""
         }
     },
     "target-dir": "Zend/View",
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Server.php b/vendor/ZF2/library/Zend/XmlRpc/Server.php
index fe19ea7c7a5..8ba0c3f602e 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Server.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Server.php
@@ -504,7 +504,7 @@ class Server extends AbstractServer
             return $this->sendArgumentsToAllMethods;
         }
 
-        $this->sendArgumentsToAllMethods = (bool)$flag;
+        $this->sendArgumentsToAllMethods = (bool) $flag;
         return $this;
     }
 
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Value/Boolean.php b/vendor/ZF2/library/Zend/XmlRpc/Value/Boolean.php
index 42aaa3baed3..1ba4d807030 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Value/Boolean.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Value/Boolean.php
@@ -29,7 +29,7 @@ class Boolean extends AbstractScalar
         $this->type = self::XMLRPC_TYPE_BOOLEAN;
         // Make sure the value is boolean and then convert it into a integer
         // The double conversion is because a bug in the ZendOptimizer in PHP version 5.0.4
-        $this->value = (int)(bool)$value;
+        $this->value = (int)(bool) $value;
     }
 
     /**
@@ -39,6 +39,6 @@ class Boolean extends AbstractScalar
      */
     public function getValue()
     {
-        return (bool)$this->value;
+        return (bool) $this->value;
     }
 }
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Value/DateTime.php b/vendor/ZF2/library/Zend/XmlRpc/Value/DateTime.php
index 38fa953c942..4c074adb0c7 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Value/DateTime.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Value/DateTime.php
@@ -49,7 +49,7 @@ class DateTime extends AbstractScalar
         if ($value instanceof \DateTime) {
             $this->value = $value->format($this->phpFormatString);
         } elseif (is_numeric($value)) { // The value is numeric, we make sure it is an integer
-            $this->value = date($this->phpFormatString, (int)$value);
+            $this->value = date($this->phpFormatString, (int) $value);
         } else {
             try {
                 $dateTime = new \DateTime($value);
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Value/Double.php b/vendor/ZF2/library/Zend/XmlRpc/Value/Double.php
index 367d1c46f9c..1fc610a97bc 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Value/Double.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Value/Double.php
@@ -26,9 +26,9 @@ class Double extends AbstractScalar
     public function __construct($value)
     {
         $this->type = self::XMLRPC_TYPE_DOUBLE;
-        $precision = (int)ini_get('precision');
+        $precision = (int) ini_get('precision');
         $formatString = '%1.' . $precision . 'F';
-        $this->value = rtrim(sprintf($formatString, (float)$value), '0');
+        $this->value = rtrim(sprintf($formatString, (float) $value), '0');
     }
 
     /**
@@ -38,6 +38,6 @@ class Double extends AbstractScalar
      */
     public function getValue()
     {
-        return (float)$this->value;
+        return (float) $this->value;
     }
 }
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Value/Integer.php b/vendor/ZF2/library/Zend/XmlRpc/Value/Integer.php
index 1f542cb1092..426d8afe18c 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Value/Integer.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Value/Integer.php
@@ -33,7 +33,7 @@ class Integer extends AbstractScalar
         }
 
         $this->type = self::XMLRPC_TYPE_INTEGER;
-        $this->value = (int)$value;    // Make sure this value is integer
+        $this->value = (int) $value;    // Make sure this value is integer
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Value/String.php b/vendor/ZF2/library/Zend/XmlRpc/Value/String.php
index e82d8d6edc2..f871ac632d8 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Value/String.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Value/String.php
@@ -27,7 +27,7 @@ class String extends AbstractScalar
         $this->type = self::XMLRPC_TYPE_STRING;
 
         // Make sure this value is string and all XML characters are encoded
-        $this->value = (string)$value;
+        $this->value = (string) $value;
     }
 
     /**
@@ -37,6 +37,6 @@ class String extends AbstractScalar
      */
     public function getValue()
     {
-        return (string)$this->value;
+        return (string) $this->value;
     }
 }
diff --git a/vendor/ZF2/library/Zend/XmlRpc/composer.json b/vendor/ZF2/library/Zend/XmlRpc/composer.json
index 012e334da0b..a0dea8e464c 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/composer.json
+++ b/vendor/ZF2/library/Zend/XmlRpc/composer.json
@@ -8,7 +8,7 @@
     ],
     "autoload": {
         "psr-0": {
-            "Zend\\XmlRpc": ""
+            "Zend\\XmlRpc\\": ""
         }
     },
     "target-dir": "Zend/XmlRpc",
diff --git a/vendor/ZF2/resources/languages/fr/Zend_Validate.php b/vendor/ZF2/resources/languages/fr/Zend_Validate.php
index 476acb8375c..9a041c508f7 100644
--- a/vendor/ZF2/resources/languages/fr/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/fr/Zend_Validate.php
@@ -81,7 +81,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 intervalle valide",
 
     // Zend_Validator_Db_AbstractDb
     "No record matching the input was found" => "Aucun enregistrement trouvé",
@@ -99,7 +99,7 @@ return array(
     "'%hostname%' does not appear to have any valid MX or A records for the email address" => "'%hostname%' ne semble pas avoir d'enregistrement MX valide pour l'adresse email",
     "'%hostname%' is not in a routable network segment. The email address should not be resolved from public network" => "'%hostname%' n'est pas dans un segment réseau routable. L'adresse email ne devrait pas être résolue depuis un réseau public.",
     "'%localPart%' can not be matched against dot-atom format" => "'%localPart%' ne correspond pas au format dot-atom",
-    "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' ne correspond pas au format quoted-string",
+    "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' ne correspond pas à une chaîne entre quotes",
     "'%localPart%' is not a valid local part for the email address" => "'%localPart%' n'est pas une partie locale valide pour l'adresse email",
     "The input exceeds the allowed length" => "L'entrée dépasse la taille autorisée",
 
@@ -178,7 +178,7 @@ 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_Upload
-    "File '%value%' exceeds the defined ini size" => "File '%value%' dépasse la taille défini dans le fichier INI",
+    "File '%value%' exceeds the defined ini size" => "Le fichier '%value%' dépasse la taille définie dans le fichier INI",
     "File '%value%' exceeds the defined form size" => "Le fichier '%value%' dépasse la taille définie dans le formulaire",
     "File '%value%' was only partially uploaded" => "Le fichier '%value%' n'a été que partiellement envoyé",
     "File '%value%' was not uploaded" => "Le fichier '%value%' n'a pas été envoyé",
@@ -250,11 +250,11 @@ return array(
     "There was an internal error while using the pattern '%pattern%'" => "Une erreur interne est survenue avec l'expression '%pattern%'",
 
     // Zend_Validator_Sitemap_Changefreq
-    "The input is not a valid sitemap changefreq" => "L'entrée n'est pas une valeur de fréquence de sitemap valide",
+    "The input is not a valid sitemap changefreq" => "L'entrée n'est pas une valeur de fréquence de changement de sitemap valide",
     "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
 
     // Zend_Validator_Sitemap_Lastmod
-    "The input is not a valid sitemap lastmod" => "L'entrée n'est pas une date de modification de sitemap valide",
+    "The input is not a valid sitemap lastmod" => "L'entrée n'est pas une date de dernière modification de sitemap valide",
     "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
 
     // Zend_Validator_Sitemap_Loc
@@ -267,11 +267,11 @@ return array(
 
     // Zend_Validator_Step
     "Invalid value given. Scalar expected" => "Type invalide. Scalaire attendu",
-    "The input is not a valid step" => "L'entrée n'est pas un multiple valide",
+    "The input is not a valid step" => "L'entrée n'est pas un intervalle valide",
 
     // Zend_Validator_StringLength
     "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
-    "The input is less than %min% characters long" => "L'entrée conteint moins de %min% caractères",
+    "The input is less than %min% characters long" => "L'entrée contient moins de %min% caractères",
     "The input is more than %max% characters long" => "L'entrée contient plus de %max% caractères",
 
     // Zend_Validator_Uri
diff --git a/vendor/ZF2/resources/languages/tr/Zend_Captcha.php b/vendor/ZF2/resources/languages/tr/Zend_Captcha.php
new file mode 100644
index 00000000000..946d902d911
--- /dev/null
+++ b/vendor/ZF2/resources/languages/tr/Zend_Captcha.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Translate
+ * @subpackage Resource
+ * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+
+/**
+ * TR-Revision: 28.Sept.2012
+ */
+return array(
+    // Zend_Captcha_ReCaptcha
+    "Missing captcha fields" => "Eksik captcha alanı",
+    "Failed to validate captcha" => "Captcha doğrulaması başarısız oldu",
+    "Captcha value is wrong: %value%" => "Captcha da ki karakterleri yanlış girdiniz: %value%",
+
+    // Zend_Captcha_Word
+    "Empty captcha value" => "BoÅŸ captcha boÅŸluÄŸu",
+    "Captcha ID field is missing" => "Captcha kimlik alanı eksik",
+    "Captcha value is wrong" => "Captcha değeri yanlış",
+);
diff --git a/vendor/ZF2/resources/languages/tr/Zend_Validate.php b/vendor/ZF2/resources/languages/tr/Zend_Validate.php
new file mode 100644
index 00000000000..953646b0874
--- /dev/null
+++ b/vendor/ZF2/resources/languages/tr/Zend_Validate.php
@@ -0,0 +1,279 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Translator
+ * @subpackage Resource
+ * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+
+/**
+ * EN-Revision: 28.Sept.2012
+ */
+return array(
+    // Zend_I18n_Validator_Alnum
+    "Invalid type given. String, integer or float expected" => "Geçersiz tür verildi, Dize, tamsayı ya da ondalık sayı bekleniyor",
+    "The input contains characters which are non alphabetic and no digits" => "Girdi, harf ve rakam olmayan karakterler içeriyor",
+    "The input is an empty string" => "Girdi boÅŸ bir dizedir",
+
+    // Zend_I18n_Validator_Alpha
+    "Invalid type given. String expected" => "Geçersiz tür verildi. Dize bekleniyor",
+    "The input contains non alphabetic characters" => "Girdi alfabetik olmayan karakterler içeriyor",
+    "The input is an empty string" => "Girdi boÅŸ bir dizedir",
+
+    // Zend_I18n_Validator_Float
+    "Invalid type given. String, integer or float expected" => "Geçersiz tür verildi, Dize, tamsayı ya da ondalık sayı bekleniyor",
+    "The input does not appear to be a float" => "Girdi ondalık bir sayı olarak görünmüyor",
+
+    // Zend_I18n_Validator_Int
+    "Invalid type given. String or integer expected" => "Geçersiz tür verildi. Dize veya tamsayı bekleniyor",
+    "The input does not appear to be an integer" => "Girdi bir tamsayı olarak görünmüyor",
+
+    // Zend_I18n_Validator_PostCode
+    "Invalid type given. String or integer expected" => "Geçersiz tür verildi. Dizge veya tamsayı bekleniyor",
+    "The input does not appear to be a postal code" => "Girdi bir posta kodu olarak görünmüyor",
+    "An exception has been raised while validating the input" => "Girdi doğrulanırken bir istisna meydana geldi",
+
+    // Zend_Validator_Barcode
+    "The input failed checksum validation" => "Girişin sağlama doğrulaması başarısız oldu",
+    "The input contains invalid characters" => "Girdi geçersiz karakterler içeriyor",
+    "The input should have a length of %length% characters" => "Girdi %length% karakter uzunluğunda olmalıdır",
+    "Invalid type given. String expected" => "Yanlış tür verildi. Dizge bekleniyor",
+
+    // Zend_Validator_Between
+    "The input is not between '%min%' and '%max%', inclusively" => "Girdi '%min%' ve '%max%' karakter arasında değil",
+    "The input is not strictly between '%min%' and '%max%'" => "Girdi tamamen '%min%' ve '%max%' karakter arasında değil",
+
+    // Zend_Validator_Callback
+    "The input is not valid" => "Girdi geçerli değil",
+    "An exception has been raised within the callback" => "Callback içinde bir istisna meydana gelmiştir",
+
+    // Zend_Validator_CreditCard
+    "The input seems to contain an invalid checksum" => "Girdi geçersiz bir sağlama toplamı içeriyor",
+    "The input must contain only digits" => "Girdi sadece rakam içermelidir",
+    "Invalid type given. String expected" => "Yanlış tür verildi. Dizge bekleniyor",
+    "The input contains an invalid amount of digits" => "Girdi geçersiz sayıda rakam içeriyor",
+    "The input is not from an allowed institute" => "Girdi izin verilen bir kuruluÅŸtan deÄŸil",
+    "The input seems to be an invalid creditcard number" => "Girdi geçersiz bir kredi kartı numarası gibi görünüyor",
+    "An exception has been raised while validating the input" => "Girdi doğrulanırken bir hata meydana geldi",
+
+    // Zend_Validator_Csrf
+    "The form submitted did not originate from the expected site" => "Gönderilen form beklenen site kaynaklı gibi görünmüyor",
+
+    // Zend_Validator_Date
+    "Invalid type given. String, integer, array or DateTime expected" => "Geçersiz tür verildi. Dizge, tamsayı, dizi veya ZamanSaat bekleniyor",
+    "The input does not appear to be a valid date" => "Girdi geçerli bir tarih olarak görünmüyor",
+    "The input does not fit the date format '%format%'" => "Girdi '%format%' tarih biçimine uymuyor",
+
+    // Zend_Validator_DateStep
+    "Invalid type given. String, integer, array or DateTime expected" => "Geçersiz tür verildi. Dizge, tamsayı, dizi veya ZamanSaat bekleniyor",
+    "The input does not appear to be a valid date" => "Girdi geçerli bir tarih olarak görünmüyor",
+    "The input is not a valid step" => "Girdi geçerli bir dilim değildir",
+
+    // Zend_Validator_Db_AbstractDb
+    "No record matching the input was found" => "Girdi ile eşleşen hiçbir kayıt bulunamadı",
+    "A record matching the input was found" => "Girdi ile eşleşen bir kayıt bulundu",
+
+    // Zend_Validator_Digits
+    "The input must contain only digits" => "Girdi sadece rakam içermelidir",
+    "The input is an empty string" => "Girdi boÅŸ bir dizedir",
+    "Invalid type given. String, integer or float expected" => "Geçersiz tür verildi, Dize, tamsayı ya da ondalık sayı bekleniyor",
+
+    // Zend_Validator_EmailAddress
+    "Invalid type given. String expected" => "Yanlış tür verildi. Dize bekleniyor",
+    "The input is not a valid email address. Use the basic format local-part@hostname" => "Girdi geçerli bir E-posta adresi değil. local-part@hostname formatını kullanın",
+    "'%hostname%' is not a valid hostname for the email address" => "'%hostname%' E-posta adresi için geçerli bir sağlayıcı değildir",
+    "'%hostname%' does not appear to have any valid MX or A records for the email address" => "'%hostname%', E-posta adresi için geçerli bir A veya MX kaydına sahip gibi görünmüyor",
+    "'%hostname%' is not in a routable network segment. The email address should not be resolved from public network" => "'%hostname%' yönlendirilebilir bir ağ katmanı değil. E-posta adresi açık bir ağdan çözümlenmemeli",
+    "'%localPart%' can not be matched against dot-atom format" => "'%localPart%' dot-atom formatıyla uyuşmuyor",
+    "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' tırnaklı-dizge formatıyla uyuşmuyor",
+    "'%localPart%' is not a valid local part for the email address" => "'%localPart%' e-posta için geçerli bir yerel parça değil",
+    "The input exceeds the allowed length" => "Girdi izin verilen uzunluğu aşıyor",
+
+    // Zend_Validator_Explode
+    "Invalid type given. String expected" => "Yanlış tür verildi. Dize bekleniyor",
+
+    // Zend_Validator_File_Count
+    "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Çok fazla dosya, en fazla '%max%' adete izin veriliyor fakat '%count%' adet verildi",
+    "Too few files, minimum '%min%' are expected but '%count%' are given" => "Çok faz dosya, en az '%min%' adet bekleniyor fakat '%count%' adet verildi",
+
+    // Zend_Validator_File_Crc32
+    "File '%value%' does not match the given crc32 hashes" => "'%value%' dosyası verilen crc32 hash'ları ile eşleşmiyor",
+    "A crc32 hash could not be evaluated for the given file" => "Bir crc32 hash'ı verilen dosya için değerlendirilemiyor",
+    "File '%value%' is not readable or does not exist" => "'%value%' dosyası okunamıyor ya da yok",
+
+    // Zend_Validator_File_ExcludeExtension
+    "File '%value%' has a false extension" => "'%value%' dosyası yanlış bir uzantıya sahip",
+    "File '%value%' is not readable or does not exist" => "'%value%' dosyası okunamıyor ya da yok",
+
+    // Zend_Validator_File_Exists
+    "File '%value%' does not exist" => "'%value%' dosyası yok",
+
+    // Zend_Validator_File_Extension
+    "File '%value%' has a false extension" => "'%value%' dosyası yanlış bir uzantıya sahip",
+    "File '%value%' is not readable or does not exist" => "'%value%' dosyası okunamıyor ya da yok",
+
+    // Zend_Validator_File_FilesSize
+    "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Tüm dosyaların toplam boyutu en fazla '%max%' olmalıdır fakat '%size%' tespit edildi",
+    "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Tüm dosyaların toplam boyutu en az '%min%' olmalıdır fakat '%size%' tespit edildi",
+    "One or more files can not be read" => "Bir ya da daha fazla dosya okunamıyor",
+
+    // Zend_Validator_File_Hash
+    "File '%value%' does not match the given hashes" => "'%value%' dosyası verilen hash ile uyuşmuyor",
+    "A hash could not be evaluated for the given file" => "Bir hash verilen dosya için değerlendirmeye alınamamıştır",
+    "File '%value%' is not readable or does not exist" => "'%value%' dosyası okunamıyor ya da yok",
+
+    // Zend_Validator_File_ImageSize
+    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "'%value%' resim dosyasının genişliği en fazla '%maxwidth%' olmalıdır fakat '%width%' algılandı",
+    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "'%value%' resim dosyasının genişliği en az '%minwidth%' olmalıdır fakat '%width%' algılandı",
+    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "'%value%' resim dosyasının yüksekliği en fazla '%maxheight%' olmalıdır fakat '%height%' algılandı",
+    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "'%value%' resim dosyasının yüksekliği en az '%minheight%' olmalıdır fakat '%height%' algılandı",
+    "The size of image '%value%' could not be detected" => "'%value%' resminin boyutları algılanamadı",
+    "File '%value%' is not readable or does not exist" => "'%value%' dosyası okunamıyor ya da yok",
+
+    // Zend_Validator_File_IsCompressed
+    "File '%value%' is not compressed, '%type%' detected" => "'%value%' dosyası sıkıştırılmış değil, '%type%' algılandı",
+    "The mimetype of file '%value%' could not be detected" => "'%value%' dosyasının mime-tipi algılanamadı",
+    "File '%value%' is not readable or does not exist" => "'%value%' dosyası okunamıyor ya da yok",
+
+    // Zend_Validator_File_IsImage
+    "File '%value%' is no image, '%type%' detected" => "'%value%' resim değil, '%type%' algılandı",
+    "The mimetype of file '%value%' could not be detected" => "'%value%' dosyasının mime-tipi algılanamadı",
+    "File '%value%' is not readable or does not exist" => "'%value%' dosyası okunamıyor ya da yok",
+
+    // Zend_Validator_File_Md5
+    "File '%value%' does not match the given md5 hashes" => "'%value%' dosyası verilen md5 hash'ları ile eşleşmiyor",
+    "A md5 hash could not be evaluated for the given file" => "Bir md5 hash'ı verilen dosya için eşleştirilemedi",
+    "File '%value%' is not readable or does not exist" => "'%value%' dosyası okunamıyor ya da yok",
+
+    // Zend_Validator_File_MimeType
+    "File '%value%' has a false mimetype of '%type%'" => "'%value%' dosyası yanlış mime-tipine sahip: '%type%'",
+    "The mimetype of file '%value%' could not be detected" => "'%value%' dosyasının mime-tipi algılanamadı",
+    "File '%value%' is not readable or does not exist" => "'%value%' dosyası okunamıyor ya da yok",
+
+    // Zend_Validator_File_NotExists
+    "File '%value%' exists" => "'%value%' dosyası var",
+
+    // Zend_Validator_File_Sha1
+    "File '%value%' does not match the given sha1 hashes" => "'%value%' dosyası verilen sha1 hash'ları ile eşleşmiyor",
+    "A sha1 hash could not be evaluated for the given file" => "Bir sha1 hash'ı verilen dosya için eşleştirilemedi",
+    "File '%value%' is not readable or does not exist" => "'%value%' dosyası okunamıyor ya da yok",
+
+    // Zend_Validator_File_Size
+    "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "'%value%' dosyası için izin verilen en büyük boyut '%max%' fakat '%size%' algılandı",
+    "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "'%value%' dosyası için izin verilen en az boyut '%min%' fakat '%size%' algılandı",
+    "File '%value%' is not readable or does not exist" => "'%value%' dosyası okunamıyor ya da yok",
+
+    // Zend_Validator_File_Upload
+    "File '%value%' exceeds the defined ini size" => "'%value%' dosyası tanımlanan ini boyutunu aşıyor",
+    "File '%value%' exceeds the defined form size" => "'%value%' dosyası tanımlanan form boyutunu aşıyor",
+    "File '%value%' was only partially uploaded" => "'%value%' dosyası kısmen yüklenmiştir",
+    "File '%value%' was not uploaded" => "'%value%' dosyası yüklenemedi",
+    "No temporary directory was found for file '%value%'" => "Geçici dizin '%value%' dosyası için bulunamamıştır",
+    "File '%value%' can't be written" => "'%value%' dosyasına yazılamıyor",
+    "A PHP extension returned an error while uploading the file '%value%'" => "Bir PHP uzantısı '%value%' dosyasını yüklerken bir hata verdi",
+    "File '%value%' was illegally uploaded. This could be a possible attack" => "'%value%' dosyası yasadışı bir biçimde yüklendi. Bu olası bir saldırı olabilir",
+    "File '%value%' was not found" => "'%value%' dosyası bulunamadı",
+    "Unknown error while uploading file '%value%'" => "'%value%' dosyasını yüklerken bilinmeyen bir hata ile karşılaşıldı",
+
+    // Zend_Validator_File_WordCount
+    "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Çok fazla kelime, en fazla '%max%' kelimeye izin veriliyor fakat '%count%' sayıldı",
+    "Too less words, minimum '%min%' are expected but '%count%' were counted" => "Çok az kelime, en az '%min%' kelimeye izin veriliyor fakat '%count%' sayıldı",
+    "File '%value%' is not readable or does not exist" => "'%value%' dosyası okunamıyor ya da yok",
+
+    // Zend_Validator_GreaterThan
+    "The input is not greater than '%min%'" => "Girdi '%min%' değerinden büyük değil",
+    "The input is not greater or equal than '%min%'" => "Girdi '%min%' değerinden büyük ya da eşit değil",
+
+    // Zend_Validator_Hex
+    "Invalid type given. String expected" => "Yanlış tür verildi. Dizge bekleniyor",
+    "The input contains non-hexadecimal characters" => "Giriş onaltılık olmayan karakterler içeriyor",
+
+    // Zend_Validator_Hostname
+    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "Girdi bir DNS host adı gibi görünüyor fakat verilen punycode gösteriminde deşifre edilemiyor",
+    "Invalid type given. String expected" => "Yanlış tür verildi. Dizge bekleniyor",
+    "The input appears to be a DNS hostname but contains a dash in an invalid position" => "Girdi bir DNS host adı gibi görünüyor fakat yanlış pozisyonda tire içeriyor",
+    "The input does not match the expected structure for a DNS hostname" => "Girdi bir DNS host adının beklenen yapısıyla eşleşmiyor",
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "Girdi DNS host adı gibi görünüyor fakat TLD '%tld%' şeması ile eşleştirilemiyor",
+    "The input does not appear to be a valid local network name" => "Girdi geçerli bir yerel ağ adı gibi görünmüyor",
+    "The input does not appear to be a valid URI hostname" => "Girdi geçerli bir URI host adı olarak görünmüyor",
+    "The input appears to be an IP address, but IP addresses are not allowed" => "Girdi bir IP adresi gibi görünüyor fakat IP adreslerine izin verilmiyor",
+    "The input appears to be a local network name but local network names are not allowed" => "Girdi bir yerel ağ adı gibi görünüyor fakat yerel ağ adlarına izin verilmiyor",
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "Girdi bir DNS host adı gibi görünüyor fakat TLD parçası ayıklanamıyor",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "Girdi bir DNS host adı gibi görünüyor fakat bilinen TLD listesiyle karşılaştırılamıyor",
+
+    // Zend_Validator_Iban
+    "Unknown country within the IBAN" => "IBAN içerisinde bilinmeyen ülke",
+    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Tekil Euro Ödeme Bölgesi (SEPA) dışındaki ülkeler desteklenmiyor",
+    "The input has a false IBAN format" => "Girdi yanlış IBAN formatında",
+    "The input has failed the IBAN check" => "Girdinin IBAN denetimi başarısız oldu",
+
+    // Zend_Validator_Identical
+    "The two given tokens do not match" => "Verilen iki belirteç eşleşmiyor",
+    "No token was provided to match against" => "Hiçbir eşleştirilecek belirteç sağlanmadı",
+
+    // Zend_Validator_InArray
+    "The input was not found in the haystack" => "Girdi samanlıkta bulunamadı",
+
+    // Zend_Validator_Ip
+    "Invalid type given. String expected" => "Yanlış tür verildi. Dizge bekleniyor",
+    "The input does not appear to be a valid IP address" => "Girdi geçerli bir IP adresi gibi görünmüyor",
+
+    // Zend_Validator_Isbn
+    "Invalid type given. String or integer expected" => "Geçersiz tür verildi. Dizge veya tamsayı bekleniyor",
+    "The input is not a valid ISBN number" => "Girdi geçerli bir ISBN numarası değil",
+
+    // Zend_Validator_LessThan
+    "The input is not less than '%max%'" => "Girdi '%max%' değerinden küçük değil",
+    "The input is not less or equal than '%max%'" => "Girdi '%max%' değerinden küçük ya da eşit değil",
+
+    // Zend_Validator_NotEmpty
+    "Value is required and can't be empty" => "DeÄŸer gerekli ve boÅŸ olamaz",
+    "Invalid type given. String, integer, float, boolean or array expected" => "Geçersiz tür verildi. Dizge, tamsayı, ondalık sayı, mantıksal veya dizi bekleniyor",
+
+    // Zend_Validator_Regex
+    "Invalid type given. String, integer or float expected" => "Geçersiz tür verildi, Dizge, tamsayı ya da ondalık sayı bekleniyor",
+    "The input does not match against pattern '%pattern%'" => "Girdi '%pattern%' deseniyle eÅŸleÅŸmiyor",
+    "There was an internal error while using the pattern '%pattern%'" => "'%pattern%' deseni kullanılırken bir iç hata ile karşılaşıldı",
+
+    // Zend_Validator_Sitemap_Changefreq
+    "The input is not a valid sitemap changefreq" => "Girdi geçerli bir site haritası changefreq'i olarak görünmüyor",
+    "Invalid type given. String expected" => "Yanlış tür verildi. Dizge bekleniyor",
+
+    // Zend_Validator_Sitemap_Lastmod
+    "The input is not a valid sitemap lastmod" => "Girdi geçerli bir site haritası lastmod'u olarak görünmüyor",
+    "Invalid type given. String expected" => "Yanlış tür verildi. Dizge bekleniyor",
+
+    // Zend_Validator_Sitemap_Loc
+    "The input is not a valid sitemap location" => "Girdi geçerli bir site haritası lokasyonu olarak görünmüyor",
+    "Invalid type given. String expected" => "Yanlış tür verildi. Dizge bekleniyor",
+
+    // Zend_Validator_Sitemap_Priority
+    "The input is not a valid sitemap priority" => "Girdi geçerli bir site haritası önceliği olarak görünmüyor",
+    "Invalid type given. Numeric string, integer or float expected" => "Geçersiz tür verildi. Sayısal dizge, tamsayı ya da ondalık sayı bekleniyor",
+
+    // Zend_Validator_Step
+    "Invalid value given. Scalar expected" => "Geçersiz değer verildi. Skalar bekleniyor",
+    "The input is not a valid step" => "Girdi geçerli bir aşama değildir",
+
+    // Zend_Validator_StringLength
+    "Invalid type given. String expected" => "Yanlış tür verildi. Dizge bekleniyor",
+    "The input is less than %min% characters long" => "Girdi %min% karakterden daha az",
+    "The input is more than %max% characters long" => "Girdi %max% karakterden daha fazla",
+
+    // Zend_Validator_Uri
+    "Invalid type given. String expected" => "Yanlış tür verildi. Dizge bekleniyor",
+    "The input does not appear to be a valid Uri" => "Girdi geçerli bir Uri olarak görünmüyor",
+);
-- 
GitLab