From d964ab8a7de0889fb0f9bb9a7df745ad55c4af02 Mon Sep 17 00:00:00 2001
From: Demian Katz <demian.katz@villanova.edu>
Date: Mon, 24 Sep 2012 11:54:40 -0400
Subject: [PATCH] Upgraded to Zend Framework 2.0.2 (skipped 2.0.1 due to
 routing bug); this resolves translation caching bug from 2.0.0.

---
 .../Zend/Authentication/Adapter/DbTable.php   |  13 +-
 .../Zend/Authentication/Adapter/Digest.php    |   6 +-
 .../Zend/Authentication/Adapter/Http.php      |  28 +-
 .../Adapter/Http/FileResolver.php             |   2 +-
 .../Zend/Authentication/Adapter/Ldap.php      |   9 +-
 .../Zend/Authentication/Storage/Session.php   |   1 -
 vendor/ZF2/library/Zend/Barcode/Barcode.php   |  10 +-
 .../Zend/Barcode/Object/AbstractObject.php    |  10 +-
 .../library/Zend/Barcode/Object/Code128.php   |   3 +-
 .../library/Zend/Barcode/Object/Code39.php    |   2 +-
 .../ZF2/library/Zend/Barcode/Object/Ean8.php  |   2 +
 .../ZF2/library/Zend/Barcode/Object/Error.php |   1 +
 .../ZF2/library/Zend/Barcode/Object/Upce.php  |   2 +
 .../Barcode/Renderer/AbstractRenderer.php     |   2 +
 .../library/Zend/Barcode/Renderer/Image.php   |  16 +-
 .../Barcode/Renderer/RendererInterface.php    |  16 +-
 .../ZF2/library/Zend/Barcode/Renderer/Svg.php |   7 +-
 .../Zend/Cache/Pattern/CallbackCache.php      |  14 +-
 .../Zend/Cache/Pattern/CaptureCache.php       |   7 +-
 .../library/Zend/Cache/Pattern/ClassCache.php |  10 +-
 .../Zend/Cache/Pattern/ObjectCache.php        |  10 +-
 .../Zend/Cache/Pattern/OutputCache.php        |   4 +-
 .../Zend/Cache/Pattern/PatternInterface.php   |   2 +-
 .../Zend/Cache/Pattern/PatternOptions.php     |  16 +-
 .../ZF2/library/Zend/Cache/PatternFactory.php |   2 +-
 .../Cache/Storage/Adapter/AbstractAdapter.php |   6 +-
 .../Storage/Adapter/AbstractZendServer.php    |   3 +-
 .../Cache/Storage/Adapter/AdapterOptions.php  |   1 +
 .../Zend/Cache/Storage/Adapter/Apc.php        |   7 +-
 .../Zend/Cache/Storage/Adapter/Dba.php        |   3 +-
 .../Zend/Cache/Storage/Adapter/DbaOptions.php |   2 +-
 .../Zend/Cache/Storage/Adapter/Filesystem.php |  17 +-
 .../Storage/Adapter/FilesystemIterator.php    |   2 +-
 .../Storage/Adapter/FilesystemOptions.php     |   3 +-
 .../Zend/Cache/Storage/Adapter/Memcached.php  |   4 +-
 .../Storage/Adapter/MemcachedOptions.php      |   2 +-
 .../Zend/Cache/Storage/Adapter/Memory.php     |   7 +-
 .../Cache/Storage/Adapter/MemoryOptions.php   |   1 +
 .../Zend/Cache/Storage/Adapter/WinCache.php   |   3 +-
 .../Cache/Storage/Adapter/ZendServerDisk.php  |   4 +-
 .../Cache/Storage/Adapter/ZendServerShm.php   |   2 +-
 .../Cache/Storage/AdapterPluginManager.php    |   4 -
 .../Zend/Cache/Storage/Capabilities.php       |  14 +-
 .../Zend/Cache/Storage/ExceptionEvent.php     |   8 +-
 .../Storage/Plugin/ClearExpiredByFactor.php   |   4 +-
 .../Cache/Storage/Plugin/PluginOptions.php    |   4 +-
 .../Zend/Cache/Storage/Plugin/Serializer.php  |   1 -
 .../Zend/Cache/Storage/StorageInterface.php   |   2 +
 .../library/Zend/Captcha/AbstractAdapter.php  |   1 +
 .../ZF2/library/Zend/Captcha/AbstractWord.php |   4 +-
 vendor/ZF2/library/Zend/Captcha/Factory.php   |   1 -
 vendor/ZF2/library/Zend/Captcha/Image.php     |  11 +-
 vendor/ZF2/library/Zend/Captcha/ReCaptcha.php |   1 +
 .../Parser/DoctrineAnnotationParser.php       |   1 +
 .../Parser/GenericAnnotationParser.php        |   2 +
 .../Zend/Code/Generator/ClassGenerator.php    |   3 +-
 .../Zend/Code/Generator/DocBlock/Tag.php      |   4 +-
 .../Zend/Code/Generator/FileGenerator.php     |   3 +-
 .../Zend/Code/Reflection/ClassReflection.php  |   1 -
 .../Reflection/DocBlock/Tag/PropertyTag.php   |   2 +-
 .../Zend/Code/Reflection/FileReflection.php   |   1 -
 .../library/Zend/Config/Processor/Token.php   |   2 +-
 vendor/ZF2/library/Zend/Config/Reader/Ini.php |   2 +-
 .../ZF2/library/Zend/Config/Reader/Yaml.php   |   2 +-
 .../Zend/Console/Adapter/AbstractAdapter.php  |   5 +-
 .../library/Zend/Console/Adapter/Posix.php    |   5 +-
 .../library/Zend/Console/Adapter/Windows.php  |   2 +-
 .../Zend/Console/Adapter/WindowsAnsicon.php   |   4 +-
 .../Zend/Console/Charset/Utf8Heavy.php        |   2 +-
 vendor/ZF2/library/Zend/Console/Console.php   |  23 ++
 vendor/ZF2/library/Zend/Console/Getopt.php    |   6 +-
 .../ZF2/library/Zend/Console/Prompt/Char.php  |   4 +-
 .../library/Zend/Console/Prompt/Confirm.php   |   4 +-
 .../library/Zend/Console/Prompt/Number.php    |   6 +-
 .../library/Zend/Console/Prompt/Select.php    |   2 +
 vendor/ZF2/library/Zend/Console/Request.php   |   7 +-
 .../Zend/Crypt/PublicKey/Rsa/PublicKey.php    |   6 +-
 .../Crypt/Symmetric/SymmetricInterface.php    |   1 -
 .../ZF2/library/Zend/Db/Adapter/Adapter.php   |   4 +
 .../Db/Adapter/Driver/Mysqli/Connection.php   |   3 +
 .../Zend/Db/Adapter/Driver/Mysqli/Mysqli.php  |   1 +
 .../Zend/Db/Adapter/Driver/Mysqli/Result.php  |   6 +-
 .../Db/Adapter/Driver/Mysqli/Statement.php    |   3 +
 .../Zend/Db/Adapter/Driver/Pdo/Connection.php |   2 +-
 .../Zend/Db/Adapter/Driver/Pdo/Pdo.php        |   5 +-
 .../Zend/Db/Adapter/Driver/Pdo/Result.php     |   2 +-
 .../Zend/Db/Adapter/Driver/Pdo/Statement.php  |   2 +
 .../Db/Adapter/Driver/Pgsql/Connection.php    |   1 +
 .../Zend/Db/Adapter/Driver/Pgsql/Pgsql.php    |   2 +
 .../Db/Adapter/Driver/Pgsql/Statement.php     |   5 +
 .../Db/Adapter/Driver/Sqlsrv/Connection.php   |   3 +
 .../Zend/Db/Adapter/Driver/Sqlsrv/Sqlsrv.php  |   4 +-
 .../Db/Adapter/Driver/Sqlsrv/Statement.php    |   7 +-
 .../Zend/Db/Adapter/ParameterContainer.php    |   7 +-
 .../Zend/Db/Adapter/StatementContainer.php    |   6 +-
 .../Adapter/StatementContainerInterface.php   |   1 +
 .../Metadata/Object/AbstractTableObject.php   |   2 +-
 .../Db/Metadata/Source/AbstractSource.php     |  18 +-
 .../Zend/Db/Metadata/Source/MysqlMetadata.php |   1 -
 .../Db/Metadata/Source/SqlServerMetadata.php  |   1 -
 .../Db/Metadata/Source/SqliteMetadata.php     |   1 -
 .../Zend/Db/ResultSet/HydratingResultSet.php  |   1 +
 .../library/Zend/Db/ResultSet/ResultSet.php   |   1 +
 .../library/Zend/Db/RowGateway/RowGateway.php |   1 +
 vendor/ZF2/library/Zend/Db/Sql/Delete.php     |   2 +-
 vendor/ZF2/library/Zend/Db/Sql/Expression.php |   2 +-
 .../Zend/Db/Sql/ExpressionInterface.php       |   1 -
 vendor/ZF2/library/Zend/Db/Sql/Insert.php     |  13 +-
 .../Zend/Db/Sql/Platform/AbstractPlatform.php |   3 +-
 .../ZF2/library/Zend/Db/Sql/Predicate/In.php  |   1 +
 .../Zend/Db/Sql/Predicate/Operator.php        |   8 +-
 .../Zend/Db/Sql/PreparableSqlInterface.php    |   2 +-
 vendor/ZF2/library/Zend/Db/Sql/Select.php     |  21 +-
 vendor/ZF2/library/Zend/Db/Sql/Update.php     |  12 +-
 .../Db/TableGateway/AbstractTableGateway.php  |   6 +-
 .../Feature/GlobalAdapterFeature.php          |   1 +
 .../Zend/Db/TableGateway/TableGateway.php     |   1 +
 vendor/ZF2/library/Zend/Debug/Debug.php       |  33 +-
 vendor/ZF2/library/Zend/Debug/composer.json   |   8 +-
 .../Zend/Di/Definition/ClassDefinition.php    |  20 +
 vendor/ZF2/library/Zend/Di/DefinitionList.php |  10 +-
 .../ZF2/library/Zend/Di/InstanceManager.php   |   2 +-
 vendor/ZF2/library/Zend/Dom/NodeList.php      |   8 +-
 vendor/ZF2/library/Zend/Dom/Query.php         |   5 +-
 vendor/ZF2/library/Zend/Escaper/Escaper.php   |  16 +-
 .../Zend/EventManager/EventManager.php        |   3 +-
 .../Zend/EventManager/SharedEventManager.php  |   2 +-
 .../Feed/Exception/ExceptionInterface.php     |   1 -
 .../Zend/Feed/PubSubHubbub/HttpResponse.php   |   1 -
 .../Zend/Feed/PubSubHubbub/PubSubHubbub.php   |  48 ++-
 .../Zend/Feed/PubSubHubbub/Publisher.php      |  18 +-
 .../library/Zend/Feed/Reader/AbstractFeed.php |   4 +-
 .../Zend/Feed/Reader/Entry/AbstractEntry.php  |   6 +-
 .../Zend/Feed/Reader/Entry/EntryInterface.php |   2 +-
 .../library/Zend/Feed/Reader/Entry/Rss.php    |  25 +-
 .../Feed/Reader/Extension/AbstractEntry.php   |   2 +-
 .../Feed/Reader/Extension/AbstractFeed.php    |   1 +
 .../Zend/Feed/Reader/Extension/Atom/Entry.php |   5 +-
 .../Feed/Reader/Extension/Content/Entry.php   |   4 +-
 .../Extension/CreativeCommons/Entry.php       |  17 +-
 .../Reader/Extension/CreativeCommons/Feed.php |  15 +-
 .../Reader/Extension/DublinCore/Entry.php     |   2 +-
 .../Reader/Extension/Syndication/Feed.php     |  18 +-
 .../Feed/Reader/Extension/Thread/Entry.php    |   1 -
 .../Zend/Feed/Reader/Feed/AbstractFeed.php    |   5 +-
 .../ZF2/library/Zend/Feed/Reader/Feed/Rss.php |   1 +
 .../ZF2/library/Zend/Feed/Reader/Reader.php   |  15 +-
 .../library/Zend/Feed/Writer/AbstractFeed.php |  21 +-
 vendor/ZF2/library/Zend/Feed/Writer/Entry.php |  32 +-
 .../Feed/Writer/Extension/ITunes/Entry.php    |   3 +-
 .../Feed/Writer/Extension/ITunes/Feed.php     |   2 +-
 .../Extension/Threading/Renderer/Entry.php    |   2 +-
 vendor/ZF2/library/Zend/Feed/Writer/Feed.php  |  10 +-
 .../library/Zend/Feed/Writer/FeedFactory.php  |   2 +
 .../Feed/Writer/Renderer/AbstractRenderer.php |   6 +-
 .../Writer/Renderer/Feed/AbstractAtom.php     |   4 +-
 .../Feed/Writer/Renderer/Feed/AtomSource.php  |   2 +-
 .../Zend/Feed/Writer/Renderer/Feed/Rss.php    |   7 +-
 vendor/ZF2/library/Zend/Feed/composer.json    |   1 +
 .../library/Zend/File/ClassFileLocator.php    |   1 +
 .../File/Transfer/Adapter/AbstractAdapter.php |   7 +-
 .../Zend/File/Transfer/Adapter/Http.php       |   9 +-
 .../library/Zend/File/Transfer/Transfer.php   |   1 +
 vendor/ZF2/library/Zend/Filter/Boolean.php    |   1 +
 vendor/ZF2/library/Zend/Filter/Callback.php   |   6 +-
 vendor/ZF2/library/Zend/Filter/Compress.php   |   4 +-
 .../ZF2/library/Zend/Filter/Compress/Bz2.php  |   4 +-
 .../ZF2/library/Zend/Filter/Compress/Gz.php   |   2 +
 .../ZF2/library/Zend/Filter/Compress/Rar.php  |   1 +
 .../ZF2/library/Zend/Filter/Compress/Tar.php  |   1 +
 .../ZF2/library/Zend/Filter/Compress/Zip.php  |   2 +
 vendor/ZF2/library/Zend/Filter/Encrypt.php    |   1 +
 .../Zend/Filter/Encrypt/BlockCipher.php       |   1 +
 .../library/Zend/Filter/Encrypt/Openssl.php   |   4 +-
 .../ZF2/library/Zend/Filter/FilterChain.php   |  24 +-
 vendor/ZF2/library/Zend/Filter/Inflector.php  |  11 +-
 vendor/ZF2/library/Zend/Filter/Null.php       |   2 +-
 vendor/ZF2/library/Zend/Filter/RealPath.php   |   3 +-
 .../ZF2/library/Zend/Filter/StringToLower.php |   2 +-
 .../ZF2/library/Zend/Filter/StringToUpper.php |   2 +-
 vendor/ZF2/library/Zend/Filter/StringTrim.php |   2 +-
 .../Zend/Filter/Word/DashToUnderscore.php     |   2 -
 .../Zend/Filter/Word/SeparatorToCamelCase.php |   4 +-
 .../Filter/Word/UnderscoreToSeparator.php     |   2 +-
 .../Form/Annotation/AnnotationBuilder.php     |   1 +
 .../ZF2/library/Zend/Form/Element/Captcha.php |   1 +
 vendor/ZF2/library/Zend/Form/Element/Csrf.php |  20 +-
 vendor/ZF2/library/Zend/Form/Element/Date.php |   3 +-
 .../library/Zend/Form/Element/DateTime.php    |   2 +-
 .../Zend/Form/Element/MultiCheckbox.php       |  13 +-
 .../ZF2/library/Zend/Form/Element/Select.php  |  62 +++-
 vendor/ZF2/library/Zend/Form/Fieldset.php     |   9 +-
 vendor/ZF2/library/Zend/Form/Form.php         |  24 +-
 .../Zend/Form/View/Helper/AbstractHelper.php  |   2 +-
 .../Form/View/Helper/Captcha/AbstractWord.php |   8 +-
 .../Zend/Form/View/Helper/Captcha/Dumb.php    |   1 +
 .../Zend/Form/View/Helper/Captcha/Figlet.php  |   1 +
 .../Zend/Form/View/Helper/Captcha/Image.php   |   1 +
 .../Form/View/Helper/Captcha/ReCaptcha.php    |   1 +
 .../Zend/Form/View/Helper/FormButton.php      |   3 +
 .../Zend/Form/View/Helper/FormCaptcha.php     |   1 -
 .../Zend/Form/View/Helper/FormCheckbox.php    |   3 +-
 .../Zend/Form/View/Helper/FormCollection.php  |  11 +-
 .../Zend/Form/View/Helper/FormElement.php     |   5 -
 .../Form/View/Helper/FormElementErrors.php    |   3 +-
 .../Zend/Form/View/Helper/FormImage.php       |   2 +-
 .../Zend/Form/View/Helper/FormInput.php       |   1 +
 .../Zend/Form/View/Helper/FormLabel.php       |   4 +-
 .../Form/View/Helper/FormMultiCheckbox.php    |  20 +-
 .../Zend/Form/View/Helper/FormReset.php       |   1 +
 .../library/Zend/Form/View/Helper/FormRow.php |  24 +-
 .../Zend/Form/View/Helper/FormSelect.php      |   7 +-
 .../Zend/Form/View/Helper/FormSubmit.php      |   1 +
 .../Zend/Form/View/Helper/FormTextarea.php    |   1 +
 vendor/ZF2/library/Zend/Form/composer.json    |   3 +-
 .../ZF2/library/Zend/Http/AbstractMessage.php |   2 +-
 vendor/ZF2/library/Zend/Http/Client.php       |  23 +-
 .../library/Zend/Http/Client/Adapter/Curl.php |   5 +-
 .../Zend/Http/Client/Adapter/Proxy.php        |   2 +
 .../Zend/Http/Client/Adapter/Socket.php       |   6 +-
 .../library/Zend/Http/Client/Adapter/Test.php |   4 +-
 .../ZF2/library/Zend/Http/Client/Cookies.php  |   6 +-
 vendor/ZF2/library/Zend/Http/ClientStatic.php |  10 +-
 vendor/ZF2/library/Zend/Http/Cookies.php      |  11 +-
 .../Zend/Http/Header/AbstractAccept.php       |  14 +-
 .../ZF2/library/Zend/Http/Header/Accept.php   |   4 +-
 .../FieldValuePart/AbstractFieldValuePart.php |   2 +-
 .../Zend/Http/Header/AcceptCharset.php        |   2 +-
 .../Zend/Http/Header/AcceptEncoding.php       |   3 +-
 .../Zend/Http/Header/AcceptLanguage.php       |   2 +-
 .../library/Zend/Http/Header/CacheControl.php |   4 +-
 .../Zend/Http/Header/GenericMultiHeader.php   |   2 +-
 .../library/Zend/Http/Header/SetCookie.php    |   7 +
 vendor/ZF2/library/Zend/Http/Headers.php      |  25 +-
 .../Zend/Http/PhpEnvironment/Response.php     |   2 +-
 vendor/ZF2/library/Zend/Http/Response.php     |   3 +-
 .../Zend/I18n/Translator/Plural/Parser.php    |   2 -
 .../Zend/I18n/Translator/Plural/Rule.php      |   3 +-
 .../Zend/I18n/Translator/Plural/Symbol.php    |   2 +
 .../Zend/I18n/Translator/Translator.php       |  10 +-
 .../ZF2/library/Zend/I18n/Validator/Alnum.php |   2 +-
 .../ZF2/library/Zend/I18n/Validator/Float.php |   6 +
 .../Zend/InputFilter/BaseInputFilter.php      |   5 +
 .../ZF2/library/Zend/InputFilter/Factory.php  |  18 +-
 .../Zend/InputFilter/InputFilterInterface.php |   3 +-
 vendor/ZF2/library/Zend/Json/Decoder.php      |  14 +-
 vendor/ZF2/library/Zend/Json/Encoder.php      |  26 +-
 vendor/ZF2/library/Zend/Json/Json.php         |  14 +-
 .../ZF2/library/Zend/Json/Server/Server.php   |   8 +-
 vendor/ZF2/library/Zend/Json/Server/Smd.php   |   7 +-
 .../library/Zend/Json/Server/Smd/Service.php  |  27 +-
 vendor/ZF2/library/Zend/Ldap/Collection.php   |  15 +-
 .../Zend/Ldap/Collection/DefaultIterator.php  |   1 -
 vendor/ZF2/library/Zend/Ldap/Dn.php           |  12 +-
 vendor/ZF2/library/Zend/Ldap/Ldap.php         |   3 +-
 vendor/ZF2/library/Zend/Ldap/Node.php         |  10 +-
 .../library/Zend/Loader/AutoloaderFactory.php |   3 +-
 .../Zend/Loader/ClassMapAutoloader.php        |   8 +-
 .../library/Zend/Loader/ModuleAutoloader.php  |   9 +-
 .../library/Zend/Loader/PluginClassLoader.php |   3 +-
 .../Zend/Loader/PluginClassLocator.php        |   3 +-
 .../ZF2/library/Zend/Loader/SplAutoloader.php |   4 +-
 .../Zend/Loader/StandardAutoloader.php        |   5 +-
 .../ZF2/library/Zend/Log/Filter/Validator.php |   1 +
 .../ZF2/library/Zend/Log/Formatter/Base.php   |   2 +-
 .../Zend/Log/Formatter/ErrorHandler.php       |  39 +-
 vendor/ZF2/library/Zend/Log/Formatter/Xml.php |  42 ++-
 vendor/ZF2/library/Zend/Log/Logger.php        |   6 +-
 .../ZF2/library/Zend/Log/LoggerInterface.php  |  34 +-
 .../Zend/Log/Writer/AbstractWriter.php        |  58 ++-
 vendor/ZF2/library/Zend/Log/Writer/Db.php     |   3 +-
 .../Zend/Log/Writer/FilterPluginManager.php   |   1 -
 vendor/ZF2/library/Zend/Log/Writer/Mail.php   |   2 +-
 .../ZF2/library/Zend/Log/Writer/MongoDB.php   |   1 +
 vendor/ZF2/library/Zend/Log/Writer/Stream.php |   8 +-
 vendor/ZF2/library/Zend/Log/Writer/Syslog.php |   2 +-
 .../library/Zend/Log/WriterPluginManager.php  |   1 -
 vendor/ZF2/library/Zend/Log/composer.json     |   1 +
 .../Zend/Mail/Header/GenericHeader.php        |   6 +-
 .../Zend/Mail/Header/GenericMultiHeader.php   |   2 +-
 .../library/Zend/Mail/Header/MessageId.php    |   1 +
 vendor/ZF2/library/Zend/Mail/Message.php      |   2 +-
 .../ZF2/library/Zend/Mail/Protocol/Imap.php   |   2 +-
 .../ZF2/library/Zend/Mail/Protocol/Smtp.php   |   2 +-
 vendor/ZF2/library/Zend/Mail/Storage/Imap.php |   1 -
 .../ZF2/library/Zend/Mail/Storage/Maildir.php |   2 +-
 .../library/Zend/Mail/Transport/Sendmail.php  |   7 +-
 .../ZF2/library/Zend/Mail/Transport/Smtp.php  |   1 +
 .../Math/BigInteger/AdapterPluginManager.php  |   1 -
 .../Zend/Math/Exception/DomainException.php   |   2 +-
 .../Math/Exception/ExceptionInterface.php     |   2 +-
 .../Zend/Math/Exception/RuntimeException.php  |   2 +-
 vendor/ZF2/library/Zend/Math/Rand.php         |   2 +-
 .../ZF2/library/Zend/Memory/MemoryManager.php |   3 +-
 .../Mime/Exception/ExceptionInterface.php     |   1 -
 vendor/ZF2/library/Zend/Mime/Message.php      |   6 +-
 vendor/ZF2/library/Zend/Mime/Mime.php         |  15 +-
 vendor/ZF2/library/Zend/Mime/Part.php         |  11 +-
 .../Feature/BootstrapListenerInterface.php    |   1 +
 .../Feature/ControllerProviderInterface.php   |   6 +-
 .../ModuleManager/Listener/ConfigListener.php |   9 +-
 .../Listener/ListenerOptions.php              |   6 +-
 .../Listener/LocatorRegistrationListener.php  |   9 +-
 .../Listener/OnBootstrapListener.php          |   3 +-
 .../Listener/ServiceListener.php              |   5 +-
 .../Listener/ServiceListenerInterface.php     |   1 +
 .../Zend/ModuleManager/ModuleEvent.php        |   2 +
 .../Zend/ModuleManager/ModuleManager.php      |   2 +
 .../ModuleManager/ModuleManagerInterface.php  |   1 -
 vendor/ZF2/library/Zend/Mvc/Application.php   |   1 -
 .../library/Zend/Mvc/ApplicationInterface.php |   8 +-
 .../Mvc/Controller/AbstractController.php     |   6 +-
 .../Zend/Mvc/Controller/Plugin/Forward.php    |   2 +-
 .../Mvc/Controller/Plugin/PostRedirectGet.php |   1 -
 .../Zend/Mvc/Controller/Plugin/Redirect.php   |   1 +
 .../Zend/Mvc/Controller/Plugin/Url.php        |   1 +
 .../Zend/Mvc/Controller/PluginManager.php     |  11 +-
 .../Zend/Mvc/Router/Console/Simple.php        |  48 +--
 .../Mvc/Router/Console/SimpleRouteStack.php   |   2 -
 .../library/Zend/Mvc/Router/Http/Segment.php  |   2 +-
 .../Zend/Mvc/Router/Http/TreeRouteStack.php   |  10 +-
 .../Zend/Mvc/Router/RouteStackInterface.php   |   1 -
 .../Service/AbstractPluginManagerFactory.php  |   1 +
 .../ControllerPluginManagerFactory.php        |   3 +-
 .../Zend/Mvc/Service/ModuleManagerFactory.php |   1 -
 .../Mvc/Service/ViewFeedRendererFactory.php   |   1 -
 .../Mvc/Service/ViewHelperManagerFactory.php  |   4 +-
 .../Mvc/Service/ViewJsonRendererFactory.php   |   1 -
 .../Zend/Mvc/Service/ViewManagerFactory.php   |   2 +-
 .../Zend/Mvc/Service/ViewResolverFactory.php  |   2 +-
 .../View/Console/CreateViewModelListener.php  |   1 -
 .../View/Console/DefaultRenderingStrategy.php |   1 -
 .../Mvc/View/Console/ExceptionStrategy.php    |   1 -
 .../View/Console/InjectViewModelListener.php  |   4 -
 .../View/Console/RouteNotFoundStrategy.php    |  20 +-
 .../Zend/Mvc/View/Console/ViewManager.php     |   4 +-
 .../Mvc/View/Http/RouteNotFoundStrategy.php   |  16 +-
 .../Zend/Mvc/View/Http/ViewManager.php        |   3 +-
 .../Zend/Navigation/Page/AbstractPage.php     |   7 +-
 .../ZF2/library/Zend/Navigation/Page/Mvc.php  |   5 +
 .../Zend/Paginator/Adapter/DbSelect.php       |   1 +
 .../ZF2/library/Zend/Paginator/Paginator.php  |   8 +-
 .../Paginator/ScrollingStylePluginManager.php |   1 -
 .../ZF2/library/Zend/Permissions/Acl/Acl.php  |   4 +-
 .../Zend/ProgressBar/Adapter/Console.php      |   1 +
 .../library/Zend/ProgressBar/ProgressBar.php  |   1 +
 .../Serializer/Adapter/AdapterInterface.php   |   2 +-
 .../Serializer/Adapter/AdapterOptions.php     |   2 +-
 .../library/Zend/Serializer/Adapter/Json.php  |   4 +-
 .../library/Zend/Serializer/Adapter/Wddx.php  |   1 +
 .../library/Zend/Serializer/Serializer.php    |   4 +-
 .../library/Zend/Server/AbstractServer.php    |   2 +-
 vendor/ZF2/library/Zend/Server/Definition.php |   6 +-
 .../library/Zend/Server/Method/Definition.php |   3 +
 .../library/Zend/Server/Method/Parameter.php  |  20 +-
 .../library/Zend/Server/Method/Prototype.php  |   2 +-
 .../Server/Reflection/AbstractFunction.php    |  29 +-
 .../Zend/Server/Reflection/Prototype.php      |   1 +
 .../Server/Reflection/ReflectionClass.php     |   4 +-
 .../Server/Reflection/ReflectionParameter.php |   5 +-
 .../Reflection/ReflectionReturnValue.php      |   2 +
 vendor/ZF2/library/Zend/Server/Server.php     |   2 +-
 .../ServiceManager/AbstractPluginManager.php  |   4 +-
 .../library/Zend/ServiceManager/Config.php    |   5 +-
 .../ServiceManager/Di/DiServiceFactory.php    |   2 +-
 .../Di/DiServiceInitializer.php               |   3 +-
 .../Zend/ServiceManager/ServiceManager.php    |  18 +-
 .../library/Zend/Session/AbstractManager.php  |   2 +-
 .../Zend/Session/Config/SessionConfig.php     |  14 +-
 .../Zend/Session/Config/StandardConfig.php    |   2 +-
 vendor/ZF2/library/Zend/Session/Container.php |   3 +-
 .../Exception/BadMethodCallException.php      |   2 +-
 .../Session/Exception/ExceptionInterface.php  |   2 +-
 .../Exception/InvalidArgumentException.php    |   2 +-
 .../Session/Exception/RuntimeException.php    |   2 +-
 .../library/Zend/Session/ManagerInterface.php |   2 +-
 .../Session/SaveHandler/DbTableGateway.php    |   4 +-
 .../SaveHandler/DbTableGatewayOptions.php     |   2 +-
 .../library/Zend/Session/SessionManager.php   |   2 +-
 .../Zend/Session/Storage/ArrayStorage.php     |   2 +-
 .../Zend/Session/Storage/StorageInterface.php |   2 +-
 .../Zend/Session/Validator/HttpUserAgent.php  |   2 +-
 .../library/Zend/Session/ValidatorChain.php   |   2 +-
 vendor/ZF2/library/Zend/Soap/AutoDiscover.php |  16 +-
 vendor/ZF2/library/Zend/Soap/Client.php       |   7 +-
 .../ZF2/library/Zend/Soap/Client/Common.php   |   2 +-
 vendor/ZF2/library/Zend/Soap/Server.php       |  15 +-
 .../Soap/Server/DocumentLiteralWrapper.php    |   4 +-
 vendor/ZF2/library/Zend/Soap/Wsdl.php         |  10 +-
 .../ArrayOfTypeComplex.php                    |   1 +
 .../ComplexTypeStrategyInterface.php          |   6 +-
 .../Wsdl/ComplexTypeStrategy/Composite.php    |   1 -
 .../DefaultComplexType.php                    |   3 +-
 .../library/Zend/Stdlib/AbstractOptions.php   |   3 +
 vendor/ZF2/library/Zend/Stdlib/ArrayUtils.php |   1 +
 .../library/Zend/Stdlib/CallbackHandler.php   |   4 +-
 .../Zend/Stdlib/Hydrator/Reflection.php       |   6 +-
 vendor/ZF2/library/Zend/Stdlib/Message.php    |   2 +
 .../ZF2/library/Zend/Stdlib/PriorityQueue.php |   1 +
 vendor/ZF2/library/Zend/Tag/Cloud.php         |   8 +-
 .../Tag/Cloud/Decorator/AbstractCloud.php     |  52 +--
 .../Tag/Cloud/Decorator/AbstractDecorator.php | 190 ++++++++++
 .../Zend/Tag/Cloud/Decorator/AbstractTag.php  |  52 +--
 .../Zend/Tag/Cloud/Decorator/HtmlCloud.php    |  46 +--
 .../Zend/Tag/Cloud/Decorator/HtmlTag.php      |  51 +--
 .../Zend/Tag/Cloud/DecoratorPluginManager.php |   1 -
 .../InvalidAttributeNameException.php         |  16 +
 .../Exception/InvalidElementNameException.php |  16 +
 vendor/ZF2/library/Zend/Tag/composer.json     |   5 +-
 vendor/ZF2/library/Zend/Text/MultiByte.php    |   1 +
 vendor/ZF2/library/Zend/Text/Table/Table.php  |   1 -
 vendor/ZF2/library/Zend/Uri/Mailto.php        |   4 +-
 vendor/ZF2/library/Zend/Uri/Uri.php           |  49 ++-
 vendor/ZF2/library/Zend/Uri/composer.json     |   3 +-
 .../Zend/Validator/Barcode/Codabar.php        |   1 -
 vendor/ZF2/library/Zend/Validator/Csrf.php    |   2 +-
 .../ZF2/library/Zend/Validator/DateStep.php   |   1 -
 .../library/Zend/Validator/Db/AbstractDb.php  |   2 +-
 vendor/ZF2/library/Zend/Validator/Iban.php    |   2 +-
 vendor/ZF2/library/Zend/Validator/Step.php    |  23 +-
 vendor/ZF2/library/Zend/Validator/Uri.php     |   4 +-
 .../library/Zend/Validator/ValidatorChain.php |  15 +
 vendor/ZF2/library/Zend/Version/Version.php   |  50 ++-
 .../ZF2/library/Zend/View/Helper/BasePath.php |   1 +
 vendor/ZF2/library/Zend/View/Helper/Cycle.php |   1 -
 .../View/Helper/Escaper/AbstractHelper.php    |   3 +-
 .../ZF2/library/Zend/View/Helper/HeadLink.php |  11 +-
 .../ZF2/library/Zend/View/Helper/HeadMeta.php |  18 +-
 .../library/Zend/View/Helper/HeadScript.php   |   5 +-
 .../library/Zend/View/Helper/HeadStyle.php    |  19 +-
 .../library/Zend/View/Helper/HeadTitle.php    |   2 +-
 .../ZF2/library/Zend/View/Helper/HtmlList.php |   1 +
 .../ZF2/library/Zend/View/Helper/Layout.php   |   1 +
 .../View/Helper/Navigation/AbstractHelper.php |   6 +-
 .../View/Helper/Navigation/Breadcrumbs.php    |   2 +-
 .../Zend/View/Helper/Navigation/Links.php     |   3 +-
 .../Zend/View/Helper/Navigation/Menu.php      |  27 +-
 .../Zend/View/Helper/Navigation/Sitemap.php   |  20 +-
 .../Zend/View/Helper/PaginationControl.php    |   2 +-
 .../Container/AbstractContainer.php           |   4 +-
 .../Container/AbstractStandalone.php          |  55 ++-
 .../Zend/View/Helper/RenderChildModel.php     |   1 +
 .../Zend/View/Helper/RenderToPlaceholder.php  |   6 +-
 .../library/Zend/View/HelperPluginManager.php |   2 +-
 .../Zend/View/Model/ModelInterface.php        |  10 +-
 .../ZF2/library/Zend/View/Model/ViewModel.php |   5 +-
 .../Zend/View/Renderer/ConsoleRenderer.php    |   2 +-
 .../Zend/View/Renderer/FeedRenderer.php       |   6 +-
 .../Zend/View/Renderer/JsonRenderer.php       |   9 +-
 .../Zend/View/Renderer/PhpRenderer.php        |  11 +-
 .../Zend/View/Resolver/AggregateResolver.php  |   4 +-
 .../View/Resolver/TemplateMapResolver.php     |   5 +-
 .../Zend/View/Resolver/TemplatePathStack.php  |   7 +-
 .../View/Strategy/PhpRendererStrategy.php     |   2 +-
 vendor/ZF2/library/Zend/View/Variables.php    |   2 +-
 vendor/ZF2/library/Zend/View/View.php         |   4 +-
 .../ZF2/library/Zend/XmlRpc/AbstractValue.php |   4 +
 .../XmlRpc/Client/ServerIntrospection.php     |   3 +-
 .../Zend/XmlRpc/Client/ServerProxy.php        |   4 +-
 .../Zend/XmlRpc/Generator/DomDocument.php     |   4 +-
 vendor/ZF2/library/Zend/XmlRpc/Request.php    |   1 +
 vendor/ZF2/library/Zend/XmlRpc/Response.php   |   1 +
 vendor/ZF2/library/Zend/XmlRpc/Server.php     |   1 +
 .../ZF2/library/Zend/XmlRpc/Server/Fault.php  |   3 +-
 .../ZF2/library/Zend/XmlRpc/Server/System.php |   2 +
 .../library/Zend/XmlRpc/Value/ArrayValue.php  |   1 -
 .../ZF2/library/Zend/XmlRpc/Value/Base64.php  |   2 +-
 .../library/Zend/XmlRpc/Value/DateTime.php    |   1 +
 .../ZF2/library/Zend/XmlRpc/Value/Integer.php |   1 +
 vendor/ZF2/library/Zend/XmlRpc/Value/Nil.php  |   1 -
 .../resources/languages/bg/Zend_Captcha.php   |  35 ++
 .../resources/languages/bg/Zend_Validate.php  | 279 ++++++++++++++
 .../resources/languages/en/Zend_Validate.php  | 264 +++++++-------
 .../resources/languages/es/Zend_Validate.php  |   1 -
 .../resources/languages/fr/Zend_Validate.php  | 344 ++++++++++++-----
 .../resources/languages/nl/Zend_Validate.php  | 345 +++++++++---------
 .../languages/pt_BR/Zend_Validate.php         |  85 ++---
 477 files changed, 3036 insertions(+), 1622 deletions(-)
 create mode 100644 vendor/ZF2/library/Zend/Tag/Cloud/Decorator/AbstractDecorator.php
 create mode 100644 vendor/ZF2/library/Zend/Tag/Exception/InvalidAttributeNameException.php
 create mode 100644 vendor/ZF2/library/Zend/Tag/Exception/InvalidElementNameException.php
 create mode 100644 vendor/ZF2/resources/languages/bg/Zend_Captcha.php
 create mode 100644 vendor/ZF2/resources/languages/bg/Zend_Validate.php

diff --git a/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php b/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php
index f53e3a0f7a0..71da1c63266 100644
--- a/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php
+++ b/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Authentication\Adapter;
 
+use stdClass;
 use Zend\Authentication\Result as AuthenticationResult;
 use Zend\Db\Adapter\Adapter as DbAdapter;
 use Zend\Db\ResultSet\ResultSet;
@@ -272,7 +273,7 @@ class DbTable implements AdapterInterface
             return false;
         }
 
-        $returnObject = new \stdClass();
+        $returnObject = new stdClass();
 
         if (null !== $returnColumns) {
 
@@ -294,14 +295,12 @@ class DbTable implements AdapterInterface
             }
             return $returnObject;
 
-        } else {
-
-            foreach ($this->resultRow as $resultColumn => $resultValue) {
-                $returnObject->{$resultColumn} = $resultValue;
-            }
-            return $returnObject;
+        }
 
+        foreach ($this->resultRow as $resultColumn => $resultValue) {
+            $returnObject->{$resultColumn} = $resultValue;
         }
+        return $returnObject;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Authentication/Adapter/Digest.php b/vendor/ZF2/library/Zend/Authentication/Adapter/Digest.php
index 332fce8c033..7ae7e73bdcc 100644
--- a/vendor/ZF2/library/Zend/Authentication/Adapter/Digest.php
+++ b/vendor/ZF2/library/Zend/Authentication/Adapter/Digest.php
@@ -189,7 +189,11 @@ class Digest implements AdapterInterface
             'messages' => array()
             );
 
-        while ($line = trim(fgets($fileHandle))) {
+        while (($line = fgets($fileHandle)) !== false) {
+            $line = trim($line);
+            if (empty($line)) {
+                break;
+            }
             if (substr($line, 0, $idLength) === $id) {
                 if ($this->_secureStringCompare(substr($line, -32), md5("$this->username:$this->realm:$this->password"))) {
                     $result['code'] = AuthenticationResult::SUCCESS;
diff --git a/vendor/ZF2/library/Zend/Authentication/Adapter/Http.php b/vendor/ZF2/library/Zend/Authentication/Adapter/Http.php
index d16c673cc67..1b5e18a76bd 100644
--- a/vendor/ZF2/library/Zend/Authentication/Adapter/Http.php
+++ b/vendor/ZF2/library/Zend/Authentication/Adapter/Http.php
@@ -589,9 +589,9 @@ class Http implements AdapterInterface
         if ($this->_secureStringCompare($digest, $data['response'])) {
             $identity = array('username'=>$data['username'], 'realm'=>$data['realm']);
             return new Authentication\Result(Authentication\Result::SUCCESS, $identity);
-        } else {
-            return $this->_challengeClient();
         }
+
+        return $this->_challengeClient();
     }
 
     /**
@@ -682,9 +682,9 @@ class Http implements AdapterInterface
         }
         if (!ctype_xdigit($temp[1])) {
             return false;
-        } else {
-            $data['nonce'] = $temp[1];
         }
+
+        $data['nonce'] = $temp[1];
         $temp = null;
 
         $ret = preg_match('/uri="([^"]+)"/', $header, $temp);
@@ -715,9 +715,9 @@ class Http implements AdapterInterface
         }
         if (32 != strlen($temp[1]) || !ctype_xdigit($temp[1])) {
             return false;
-        } else {
-            $data['response'] = $temp[1];
         }
+
+        $data['response'] = $temp[1];
         $temp = null;
 
         // The spec says this should default to MD5 if omitted. OK, so how does
@@ -739,9 +739,9 @@ class Http implements AdapterInterface
         }
         if (!ctype_print($temp[1])) {
             return false;
-        } else {
-            $data['cnonce'] = $temp[1];
         }
+
+        $data['cnonce'] = $temp[1];
         $temp = null;
 
         // If the server sent an opaque value, the client must send it back
@@ -767,9 +767,9 @@ class Http implements AdapterInterface
             if (!$this->ieNoOpaque &&
                 (32 != strlen($temp[1]) || !ctype_xdigit($temp[1]))) {
                 return false;
-            } else {
-                $data['opaque'] = $temp[1];
             }
+
+            $data['opaque'] = $temp[1];
             $temp = null;
         }
 
@@ -781,9 +781,9 @@ class Http implements AdapterInterface
         }
         if (!in_array($temp[1], $this->supportedQops)) {
             return false;
-        } else {
-            $data['qop'] = $temp[1];
         }
+
+        $data['qop'] = $temp[1];
         $temp = null;
 
         // Not optional in this implementation. The spec says this value
@@ -795,9 +795,9 @@ class Http implements AdapterInterface
         }
         if (8 != strlen($temp[1]) || !ctype_xdigit($temp[1])) {
             return false;
-        } else {
-            $data['nc'] = $temp[1];
         }
+
+        $data['nc'] = $temp[1];
         $temp = null;
 
         return $data;
diff --git a/vendor/ZF2/library/Zend/Authentication/Adapter/Http/FileResolver.php b/vendor/ZF2/library/Zend/Authentication/Adapter/Http/FileResolver.php
index 9abaa5a0956..63b82b1e77c 100644
--- a/vendor/ZF2/library/Zend/Authentication/Adapter/Http/FileResolver.php
+++ b/vendor/ZF2/library/Zend/Authentication/Adapter/Http/FileResolver.php
@@ -45,7 +45,7 @@ class FileResolver implements ResolverInterface
      *
      * @param  string $path
      * @return FileResolver Provides a fluent interface
-     * @throws Exception\ExceptionInterface
+     * @throws Exception\InvalidArgumentException if path is not readable
      */
     public function setFile($path)
     {
diff --git a/vendor/ZF2/library/Zend/Authentication/Adapter/Ldap.php b/vendor/ZF2/library/Zend/Authentication/Adapter/Ldap.php
index 4c874b36d5d..68ca09c6273 100644
--- a/vendor/ZF2/library/Zend/Authentication/Adapter/Ldap.php
+++ b/vendor/ZF2/library/Zend/Authentication/Adapter/Ldap.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Authentication\Adapter;
 
+use stdClass;
 use Zend\Authentication\Result as AuthenticationResult;
 use Zend\Ldap as ZendLdap;
 use Zend\Ldap\Exception\LdapException;
@@ -256,7 +257,7 @@ class Ldap implements AdapterInterface
         /* Iterate through each server and try to authenticate the supplied
          * credentials against it.
          */
-        foreach ($this->options as $name => $options) {
+        foreach ($this->options as $options) {
 
             if (!is_array($options)) {
                 throw new Exception\InvalidArgumentException('Adapter options array not an array');
@@ -438,9 +439,9 @@ class Ldap implements AdapterInterface
 
         if ($result === 1) {
             return true;
-        } else {
-            return 'Failed to verify group membership with ' . $group->toString();
         }
+
+        return 'Failed to verify group membership with ' . $group->toString();
     }
 
     /**
@@ -459,7 +460,7 @@ class Ldap implements AdapterInterface
             return false;
         }
 
-        $returnObject = new \stdClass();
+        $returnObject = new stdClass();
 
         $omitAttribs = array_map('strtolower', $omitAttribs);
 
diff --git a/vendor/ZF2/library/Zend/Authentication/Storage/Session.php b/vendor/ZF2/library/Zend/Authentication/Storage/Session.php
index 54973b2d3e5..4734a889763 100644
--- a/vendor/ZF2/library/Zend/Authentication/Storage/Session.php
+++ b/vendor/ZF2/library/Zend/Authentication/Storage/Session.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Authentication\Storage;
 
-use Zend\Authentication\Storage\StorageInterface as AuthenticationStorage;
 use Zend\Session\Container as SessionContainer;
 use Zend\Session\ManagerInterface as SessionManager;
 
diff --git a/vendor/ZF2/library/Zend/Barcode/Barcode.php b/vendor/ZF2/library/Zend/Barcode/Barcode.php
index 9e6defcceba..35911e80830 100644
--- a/vendor/ZF2/library/Zend/Barcode/Barcode.php
+++ b/vendor/ZF2/library/Zend/Barcode/Barcode.php
@@ -100,7 +100,7 @@ class Barcode
      * @param  mixed $rendererConfig  OPTIONAL; an array or Traversable object with renderer parameters.
      * @param  boolean $automaticRenderError  OPTIONAL; set the automatic rendering of exception
      * @return Barcode
-     * @throws Exception
+     * @throws Exception\ExceptionInterface
      */
     public static function factory($barcode,
                                    $renderer = 'image',
@@ -151,6 +151,7 @@ class Barcode
      *
      * @param mixed $barcode        String name of barcode class, or Traversable object, or barcode object.
      * @param mixed $barcodeConfig  OPTIONAL; an array or Traversable object with barcode parameters.
+     * @throws Exception\InvalidArgumentException
      * @return Object
      */
     public static function makeBarcode($barcode, $barcodeConfig = array())
@@ -204,7 +205,8 @@ class Barcode
      *
      * @param mixed $renderer           String name of renderer class, or Traversable object.
      * @param mixed $rendererConfig     OPTIONAL; an array or Traversable object with renderer parameters.
-     * @return Renderer
+     * @throws Exception\RendererCreationException
+     * @return Renderer\RendererInterface
      */
     public static function makeRenderer($renderer = 'image', $rendererConfig = array())
     {
@@ -254,7 +256,7 @@ class Barcode
      * Proxy to renderer render() method
      *
      * @param string | Object\ObjectInterface | array | Traversable $barcode
-     * @param string | Renderer $renderer
+     * @param string | Renderer\RendererInterface $renderer
      * @param array  | Traversable $barcodeConfig
      * @param array  | Traversable $rendererConfig
      */
@@ -270,7 +272,7 @@ class Barcode
      * Proxy to renderer draw() method
      *
      * @param string | Object\ObjectInterface | array | Traversable $barcode
-     * @param string | Renderer $renderer
+     * @param string | Renderer\RendererInterface $renderer
      * @param array | Traversable $barcodeConfig
      * @param array | Traversable $rendererConfig
      * @return mixed
diff --git a/vendor/ZF2/library/Zend/Barcode/Object/AbstractObject.php b/vendor/ZF2/library/Zend/Barcode/Object/AbstractObject.php
index 19c83d96ed6..2187ba518cc 100644
--- a/vendor/ZF2/library/Zend/Barcode/Object/AbstractObject.php
+++ b/vendor/ZF2/library/Zend/Barcode/Object/AbstractObject.php
@@ -174,27 +174,27 @@ abstract class AbstractObject implements ObjectInterface
 
     /**
      * Fix barcode length (numeric or string like 'even')
-     * @var $barcodeLength integer | string
+     * @var integer | string
      */
     protected $barcodeLength = null;
 
     /**
      * Activate automatic addition of leading zeros
      * if barcode length is fixed
-     * @var $addLeadingZeros boolean
+     * @var boolean
      */
     protected $addLeadingZeros = true;
 
     /**
      * Activation of mandatory checksum
      * to deactivate unauthorized modification
-     * @var $mandatoryChecksum boolean
+     * @var boolean
      */
     protected $mandatoryChecksum = false;
 
     /**
      * Character used to substitute checksum character for validation
-     * @var $substituteChecksumCharacter mixed
+     * @var mixed
      */
     protected $substituteChecksumCharacter = 0;
 
@@ -836,7 +836,7 @@ abstract class AbstractObject implements ObjectInterface
 
     /**
      * Checking of parameters after all settings
-     * @return void
+     * @return bool
      */
     public function checkParams()
     {
diff --git a/vendor/ZF2/library/Zend/Barcode/Object/Code128.php b/vendor/ZF2/library/Zend/Barcode/Object/Code128.php
index c50f751562a..eed0497d441 100644
--- a/vendor/ZF2/library/Zend/Barcode/Object/Code128.php
+++ b/vendor/ZF2/library/Zend/Barcode/Object/Code128.php
@@ -195,6 +195,7 @@ class Code128 extends AbstractObject
 
     /**
      * Convert string to barcode string
+     * @param string $string
      * @return array
      */
     protected function convertToBarcodeChars($string)
@@ -274,7 +275,7 @@ class Code128 extends AbstractObject
     /**
      * Set text to encode
      * @param string $value
-     * @return Zend_Barcode_Object
+     * @return Code128
      */
     public function setText($value)
     {
diff --git a/vendor/ZF2/library/Zend/Barcode/Object/Code39.php b/vendor/ZF2/library/Zend/Barcode/Object/Code39.php
index 6e0aea2a2d6..af3991cf4e9 100644
--- a/vendor/ZF2/library/Zend/Barcode/Object/Code39.php
+++ b/vendor/ZF2/library/Zend/Barcode/Object/Code39.php
@@ -93,7 +93,7 @@ class Code39 extends AbstractObject
     /**
      * Set text to encode
      * @param string $value
-     * @return Zend_Barcode_Object
+     * @return Code39
      */
     public function setText($value)
     {
diff --git a/vendor/ZF2/library/Zend/Barcode/Object/Ean8.php b/vendor/ZF2/library/Zend/Barcode/Object/Ean8.php
index cccc5492337..b37dda1d8cf 100644
--- a/vendor/ZF2/library/Zend/Barcode/Object/Ean8.php
+++ b/vendor/ZF2/library/Zend/Barcode/Object/Ean8.php
@@ -130,8 +130,10 @@ class Ean8 extends Ean13
     /**
      * Particular validation for Ean8 barcode objects
      * (to suppress checksum character substitution)
+     *
      * @param string $value
      * @param array  $options
+     * @throws Exception\BarcodeValidationException
      */
     protected function validateSpecificText($value, $options = array())
     {
diff --git a/vendor/ZF2/library/Zend/Barcode/Object/Error.php b/vendor/ZF2/library/Zend/Barcode/Object/Error.php
index 18aa46e3089..91c6192c7fc 100644
--- a/vendor/ZF2/library/Zend/Barcode/Object/Error.php
+++ b/vendor/ZF2/library/Zend/Barcode/Object/Error.php
@@ -30,6 +30,7 @@ class Error extends AbstractObject
 
     /**
      * Height is forced
+     * @param bool $recalculate
      * @return integer
      */
     public function getHeight($recalculate = false)
diff --git a/vendor/ZF2/library/Zend/Barcode/Object/Upce.php b/vendor/ZF2/library/Zend/Barcode/Object/Upce.php
index 5f7c53c16a9..b50088f4fb6 100644
--- a/vendor/ZF2/library/Zend/Barcode/Object/Upce.php
+++ b/vendor/ZF2/library/Zend/Barcode/Object/Upce.php
@@ -168,8 +168,10 @@ class Upce extends Ean13
     /**
      * Particular validation for Upce barcode objects
      * (to suppress checksum character substitution)
+     *
      * @param string $value
      * @param array  $options
+     * @throws Exception\BarcodeValidationException
      */
     protected function validateSpecificText($value, $options = array())
     {
diff --git a/vendor/ZF2/library/Zend/Barcode/Renderer/AbstractRenderer.php b/vendor/ZF2/library/Zend/Barcode/Renderer/AbstractRenderer.php
index 88eb8afe56f..4d1d34fb12a 100644
--- a/vendor/ZF2/library/Zend/Barcode/Renderer/AbstractRenderer.php
+++ b/vendor/ZF2/library/Zend/Barcode/Renderer/AbstractRenderer.php
@@ -390,6 +390,8 @@ abstract class AbstractRenderer implements RendererInterface
 
     /**
      * Draw the barcode in the rendering resource
+     *
+     * @throws BarcodeException\ExceptionInterface
      * @return mixed
      */
     public function draw()
diff --git a/vendor/ZF2/library/Zend/Barcode/Renderer/Image.php b/vendor/ZF2/library/Zend/Barcode/Renderer/Image.php
index f3930ffb1ee..3b9a58975a4 100644
--- a/vendor/ZF2/library/Zend/Barcode/Renderer/Image.php
+++ b/vendor/ZF2/library/Zend/Barcode/Renderer/Image.php
@@ -67,7 +67,9 @@ class Image extends AbstractRenderer
 
     /**
      * Constructor
+     *
      * @param array|\Traversable $options
+     * @throws RendererCreationException
      */
     public function __construct($options = null)
     {
@@ -80,9 +82,10 @@ class Image extends AbstractRenderer
 
     /**
      * Set height of the result image
+     *
      * @param null|integer $value
+     * @throws Exception\OutOfRangeException
      * @return Image
-     * @throw  Exception
      */
     public function setHeight($value)
     {
@@ -109,7 +112,8 @@ class Image extends AbstractRenderer
      * Set barcode width
      *
      * @param mixed $value
-     * @return void
+     * @throws Exception\OutOfRangeException
+     * @return self
      */
     public function setWidth($value)
     {
@@ -135,9 +139,9 @@ class Image extends AbstractRenderer
     /**
      * Set an image resource to draw the barcode inside
      *
-     * @param resource $value
+     * @param resource $image
      * @return Image
-     * @throw  Exception
+     * @throws Exception\InvalidArgumentException
      */
     public function setResource($image)
     {
@@ -154,8 +158,8 @@ class Image extends AbstractRenderer
      * Set the image type to produce (png, jpeg, gif)
      *
      * @param string $value
+     * @throws Exception\InvalidArgumentException
      * @return Image
-     * @throw  Exception
      */
     public function setImageType($value)
     {
@@ -260,6 +264,7 @@ class Image extends AbstractRenderer
     /**
      * Check barcode dimensions
      *
+     * @throws Exception\RuntimeException
      * @return void
      */
     protected function checkDimensions()
@@ -359,6 +364,7 @@ class Image extends AbstractRenderer
      * @param integer $color
      * @param string $alignment
      * @param float $orientation
+     * @throws Exception\RuntimeException
      */
     protected function drawText($text, $size, $position, $font, $color, $alignment = 'center', $orientation = 0)
     {
diff --git a/vendor/ZF2/library/Zend/Barcode/Renderer/RendererInterface.php b/vendor/ZF2/library/Zend/Barcode/Renderer/RendererInterface.php
index b38b15f6fcb..ea5ccdf67ff 100644
--- a/vendor/ZF2/library/Zend/Barcode/Renderer/RendererInterface.php
+++ b/vendor/ZF2/library/Zend/Barcode/Renderer/RendererInterface.php
@@ -30,7 +30,7 @@ interface RendererInterface
     /**
      * Set renderer state from options array
      * @param  array $options
-     * @return Renderer
+     * @return RendererInterface
      */
     public function setOptions($options);
 
@@ -38,7 +38,7 @@ interface RendererInterface
      * Set renderer namespace for autoloading
      *
      * @param string $namespace
-     * @return Renderer
+     * @return RendererInterface
      */
     public function setRendererNamespace($namespace);
 
@@ -58,7 +58,7 @@ interface RendererInterface
     /**
      * Manually adjust top position
      * @param integer $value
-     * @return Renderer
+     * @return RendererInterface
      */
     public function setTopOffset($value);
 
@@ -71,7 +71,7 @@ interface RendererInterface
     /**
      * Manually adjust left position
      * @param integer $value
-     * @return Renderer
+     * @return RendererInterface
      */
     public function setLeftOffset($value);
 
@@ -90,7 +90,7 @@ interface RendererInterface
     /**
      * Horizontal position of the barcode in the rendering resource
      * @param string $value
-     * @return Renderer
+     * @return RendererInterface
      */
     public function setHorizontalPosition($value);
 
@@ -103,7 +103,7 @@ interface RendererInterface
     /**
      * Vertical position of the barcode in the rendering resource
      * @param string $value
-     * @return Renderer
+     * @return RendererInterface
      */
     public function setVerticalPosition($value);
 
@@ -116,7 +116,7 @@ interface RendererInterface
     /**
      * Set the size of a module
      * @param float $value
-     * @return Renderer
+     * @return RendererInterface
      */
     public function setModuleSize($value);
 
@@ -135,7 +135,7 @@ interface RendererInterface
     /**
      * Set the barcode object
      * @param  ObjectInterface $barcode
-     * @return Renderer
+     * @return RendererInterface
      */
     public function setBarcode(ObjectInterface $barcode);
 
diff --git a/vendor/ZF2/library/Zend/Barcode/Renderer/Svg.php b/vendor/ZF2/library/Zend/Barcode/Renderer/Svg.php
index b8ff72260aa..1b19fc6b6ba 100644
--- a/vendor/ZF2/library/Zend/Barcode/Renderer/Svg.php
+++ b/vendor/ZF2/library/Zend/Barcode/Renderer/Svg.php
@@ -11,6 +11,7 @@
 namespace Zend\Barcode\Renderer;
 
 use DOMDocument;
+use DOMElement;
 use DOMText;
 
 /**
@@ -49,8 +50,8 @@ class Svg extends AbstractRenderer
     /**
      * Set height of the result image
      * @param null|integer $value
+     * @throws Exception\OutOfRangeException
      * @return Svg
-     * @throw  Exception
      */
     public function setHeight($value)
     {
@@ -77,7 +78,8 @@ class Svg extends AbstractRenderer
      * Set barcode width
      *
      * @param mixed $value
-     * @return void
+     * @throws Exception\OutOfRangeException
+     * @return self
      */
     public function setWidth($value)
     {
@@ -215,6 +217,7 @@ class Svg extends AbstractRenderer
     /**
      * Check barcode dimensions
      *
+     * @throws Exception\RuntimeException
      * @return void
      */
     protected function checkDimensions()
diff --git a/vendor/ZF2/library/Zend/Cache/Pattern/CallbackCache.php b/vendor/ZF2/library/Zend/Cache/Pattern/CallbackCache.php
index e5fe0b0fdb3..fe26293d79e 100644
--- a/vendor/ZF2/library/Zend/Cache/Pattern/CallbackCache.php
+++ b/vendor/ZF2/library/Zend/Cache/Pattern/CallbackCache.php
@@ -44,7 +44,8 @@ class CallbackCache extends AbstractPattern
      * @param  callable   $callback  A valid callback
      * @param  array      $args      Callback arguments
      * @return mixed Result
-     * @throws Exception
+     * @throws Exception\RuntimeException if invalid cached data
+     * @throws \Exception
      */
     public function call($callback, array $args = array())
     {
@@ -100,7 +101,8 @@ class CallbackCache extends AbstractPattern
      * @param  string $function  Function name to call
      * @param  array  $args      Function arguments
      * @return mixed
-     * @throws Exception
+     * @throws Exception\RuntimeException
+     * @throws \Exception
      */
     public function __call($function, array $args)
     {
@@ -114,7 +116,8 @@ class CallbackCache extends AbstractPattern
      * @param  callable   $callback  A valid callback
      * @param  array      $args      Callback arguments
      * @return string
-     * @throws Exception
+     * @throws Exception\RuntimeException
+     * @throws Exception\InvalidArgumentException
      */
     public function generateKey($callback, array $args = array())
     {
@@ -127,8 +130,9 @@ class CallbackCache extends AbstractPattern
      *
      * @param  callable   $callback  A valid callback
      * @param  array      $args      Callback arguments
+     * @throws Exception\RuntimeException if callback not serializable
+     * @throws Exception\InvalidArgumentException if invalid callback
      * @return string
-     * @throws Exception
      */
     protected function generateCallbackKey($callback, array $args)
     {
@@ -173,8 +177,8 @@ class CallbackCache extends AbstractPattern
      * Generate a unique key of the argument part.
      *
      * @param  array $args
+     * @throws Exception\RuntimeException
      * @return string
-     * @throws Exception
      */
     protected function generateArgumentsKey(array $args)
     {
diff --git a/vendor/ZF2/library/Zend/Cache/Pattern/CaptureCache.php b/vendor/ZF2/library/Zend/Cache/Pattern/CaptureCache.php
index b8b2fbce6b9..1d51337ccf2 100644
--- a/vendor/ZF2/library/Zend/Cache/Pattern/CaptureCache.php
+++ b/vendor/ZF2/library/Zend/Cache/Pattern/CaptureCache.php
@@ -49,7 +49,7 @@ class CaptureCache extends AbstractPattern
      *
      * @param string      $content
      * @param null|string $pageId
-     * @throws Exception\RuntimeException
+     * @throws Exception\LogicException
      */
     public function set($content, $pageId = null)
     {
@@ -74,6 +74,7 @@ class CaptureCache extends AbstractPattern
      *
      * @param  null|string $pageId
      * @return bool|string
+     * @throws Exception\LogicException
      * @throws Exception\RuntimeException
      */
     public function get($pageId = null)
@@ -108,6 +109,7 @@ class CaptureCache extends AbstractPattern
      * Checks if a cache with given id exists
      *
      * @param  null|string $pageId
+     * @throws Exception\LogicException
      * @return boolean
      */
     public function has($pageId = null)
@@ -132,6 +134,7 @@ class CaptureCache extends AbstractPattern
      * Remove from cache
      *
      * @param  null|string $pageId
+     * @throws Exception\LogicException
      * @throws Exception\RuntimeException
      * @return boolean
      */
@@ -169,6 +172,7 @@ class CaptureCache extends AbstractPattern
      * Clear cached pages matching glob pattern
      *
      * @param string $pattern
+     * @throws Exception\LogicException
      */
     public function clearByGlob($pattern = '**')
     {
@@ -191,6 +195,7 @@ class CaptureCache extends AbstractPattern
     /**
      * Determine the page to save from the request
      *
+     * @throws Exception\RuntimeException
      * @return string
      */
     protected function detectPageId()
diff --git a/vendor/ZF2/library/Zend/Cache/Pattern/ClassCache.php b/vendor/ZF2/library/Zend/Cache/Pattern/ClassCache.php
index 6bd7fbee940..3935c0088d6 100644
--- a/vendor/ZF2/library/Zend/Cache/Pattern/ClassCache.php
+++ b/vendor/ZF2/library/Zend/Cache/Pattern/ClassCache.php
@@ -44,7 +44,8 @@ class ClassCache extends CallbackCache
      * @param  string $method  Method name to call
      * @param  array  $args    Method arguments
      * @return mixed
-     * @throws Exception
+     * @throws Exception\RuntimeException
+     * @throws \Exception
      */
     public function call($method, array $args = array())
     {
@@ -78,7 +79,7 @@ class ClassCache extends CallbackCache
      * @param  string     $method  The method
      * @param  array      $args    Callback arguments
      * @return string
-     * @throws Exception
+     * @throws Exception\RuntimeException
      */
     public function generateKey($method, array $args = array())
     {
@@ -95,7 +96,7 @@ class ClassCache extends CallbackCache
      * @param  callable   $callback  A valid callback
      * @param  array      $args      Callback arguments
      * @return string
-     * @throws Exception
+     * @throws Exception\RuntimeException
      */
     protected function generateCallbackKey($callback, array $args)
     {
@@ -110,7 +111,8 @@ class ClassCache extends CallbackCache
      * @param  string $method  Method name to call
      * @param  array  $args    Method arguments
      * @return mixed
-     * @throws Exception
+     * @throws Exception\RuntimeException
+     * @throws \Exception
      */
     public function __call($method, array $args)
     {
diff --git a/vendor/ZF2/library/Zend/Cache/Pattern/ObjectCache.php b/vendor/ZF2/library/Zend/Cache/Pattern/ObjectCache.php
index e8ab316a7eb..bff731f501d 100644
--- a/vendor/ZF2/library/Zend/Cache/Pattern/ObjectCache.php
+++ b/vendor/ZF2/library/Zend/Cache/Pattern/ObjectCache.php
@@ -43,7 +43,8 @@ class ObjectCache extends CallbackCache
      * @param  string $method  Method name to call
      * @param  array  $args    Method arguments
      * @return mixed
-     * @throws Exception
+     * @throws Exception\RuntimeException
+     * @throws \Exception
      */
     public function call($method, array $args = array())
     {
@@ -158,7 +159,7 @@ class ObjectCache extends CallbackCache
      * @param  string     $method  The method
      * @param  array      $args    Callback arguments
      * @return string
-     * @throws Exception
+     * @throws Exception\RuntimeException
      */
     public function generateKey($method, array $args = array())
     {
@@ -175,7 +176,7 @@ class ObjectCache extends CallbackCache
      * @param  callable   $callback  A valid callback
      * @param  array      $args      Callback arguments
      * @return string
-     * @throws Exception
+     * @throws Exception\RuntimeException
      */
     protected function generateCallbackKey($callback, array $args = array())
     {
@@ -190,7 +191,8 @@ class ObjectCache extends CallbackCache
      * @param  string $method  Method name to call
      * @param  array  $args    Method arguments
      * @return mixed
-     * @throws Exception
+     * @throws Exception\RuntimeException
+     * @throws \Exception
      */
     public function __call($method, array $args)
     {
diff --git a/vendor/ZF2/library/Zend/Cache/Pattern/OutputCache.php b/vendor/ZF2/library/Zend/Cache/Pattern/OutputCache.php
index a55f09cf4e0..f9aac0a778e 100644
--- a/vendor/ZF2/library/Zend/Cache/Pattern/OutputCache.php
+++ b/vendor/ZF2/library/Zend/Cache/Pattern/OutputCache.php
@@ -50,8 +50,8 @@ class OutputCache extends AbstractPattern
      * else start buffering output until end() is called or the script ends.
      *
      * @param  string  $key Key
+     * @throws Exception\MissingKeyException if key is missing
      * @return boolean
-     * @throws Exception
      */
     public function start($key)
     {
@@ -76,8 +76,8 @@ class OutputCache extends AbstractPattern
      * Stops buffering output, write buffered data to cache using the given key on start()
      * and displays the buffer.
      *
+     * @throws Exception\RuntimeException if output cache not started or buffering not active
      * @return boolean TRUE on success, FALSE on failure writing to cache
-     * @throws Exception
      */
     public function end()
     {
diff --git a/vendor/ZF2/library/Zend/Cache/Pattern/PatternInterface.php b/vendor/ZF2/library/Zend/Cache/Pattern/PatternInterface.php
index 934ccbc53cf..af39a1e6716 100644
--- a/vendor/ZF2/library/Zend/Cache/Pattern/PatternInterface.php
+++ b/vendor/ZF2/library/Zend/Cache/Pattern/PatternInterface.php
@@ -21,7 +21,7 @@ interface PatternInterface
      * Set pattern options
      *
      * @param  PatternOptions $options
-     * @return Pattern
+     * @return PatternInterface
      */
     public function setOptions(PatternOptions $options);
 
diff --git a/vendor/ZF2/library/Zend/Cache/Pattern/PatternOptions.php b/vendor/ZF2/library/Zend/Cache/Pattern/PatternOptions.php
index 9478f1e8178..02b03ff7073 100644
--- a/vendor/ZF2/library/Zend/Cache/Pattern/PatternOptions.php
+++ b/vendor/ZF2/library/Zend/Cache/Pattern/PatternOptions.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Cache\Pattern;
 
+use Traversable;
 use Zend\Cache\Exception;
 use Zend\Cache\StorageFactory;
 use Zend\Cache\Storage\StorageInterface as Storage;
@@ -151,7 +152,7 @@ class PatternOptions extends AbstractOptions
      * Constructor
      *
      * @param  array|Traversable|null $options
-     * @return AbstractOptions
+     * @return PatternOptions
      * @throws Exception\InvalidArgumentException
      */
     public function __construct($options = null)
@@ -234,6 +235,7 @@ class PatternOptions extends AbstractOptions
      * - ClassCache
      *
      * @param  string $class
+     * @throws Exception\InvalidArgumentException
      * @return PatternOptions
      */
     public function setClass($class)
@@ -318,6 +320,7 @@ class PatternOptions extends AbstractOptions
      * Set directory permission
      *
      * @param  false|int $dirPermission
+     * @throws Exception\InvalidArgumentException
      * @return PatternOptions
      */
     public function setDirPermission($dirPermission)
@@ -358,6 +361,7 @@ class PatternOptions extends AbstractOptions
      * - CaptureCache
      *
      * @param  false|int $umask
+     * @throws Exception\InvalidArgumentException
      * @return PatternOptions
      */
     public function setUmask($umask)
@@ -429,6 +433,7 @@ class PatternOptions extends AbstractOptions
      * Set file permission
      *
      * @param  false|int $filePermission
+     * @throws Exception\InvalidArgumentException
      * @return PatternOptions
      */
     public function setFilePermission($filePermission)
@@ -491,7 +496,8 @@ class PatternOptions extends AbstractOptions
     /**
      * Set object to cache
      *
-     * @param  mixed $value
+     * @param  mixed $object
+     * @throws Exception\InvalidArgumentException
      * @return $this
      */
     public function setObject($object)
@@ -574,7 +580,7 @@ class PatternOptions extends AbstractOptions
      * Used by:
      * - ObjectCache
      *
-     * @param  mixed $value
+     * @param  mixed $objectKey
      * @return $this
      */
     public function setObjectKey($objectKey)
@@ -633,6 +639,7 @@ class PatternOptions extends AbstractOptions
      * - CaptureCache
      *
      * @param  string $publicDir
+     * @throws Exception\InvalidArgumentException
      * @return PatternOptions
      */
     public function setPublicDir($publicDir)
@@ -742,7 +749,8 @@ class PatternOptions extends AbstractOptions
      * Create a storage object from a given specification
      *
      * @param  array|string|Storage $storage
-     * @return StorageAdapter
+     * @throws Exception\InvalidArgumentException
+     * @return Storage
      */
     protected function storageFactory($storage)
     {
diff --git a/vendor/ZF2/library/Zend/Cache/PatternFactory.php b/vendor/ZF2/library/Zend/Cache/PatternFactory.php
index b39efc9fe5d..5a9de1bc924 100644
--- a/vendor/ZF2/library/Zend/Cache/PatternFactory.php
+++ b/vendor/ZF2/library/Zend/Cache/PatternFactory.php
@@ -32,7 +32,7 @@ class PatternFactory
      * @param  string|Pattern\PatternInterface $patternName
      * @param  array|Traversable|Pattern\PatternOptions $options
      * @return Pattern\PatternInterface
-     * @throws Exception\RuntimeException
+     * @throws Exception\InvalidArgumentException
      */
     public static function factory($patternName, $options = array())
     {
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AbstractAdapter.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AbstractAdapter.php
index f78755110c6..61a9500426b 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AbstractAdapter.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AbstractAdapter.php
@@ -22,6 +22,7 @@ use Zend\Cache\Storage\Plugin;
 use Zend\Cache\Storage\PostEvent;
 use Zend\Cache\Storage\StorageInterface;
 use Zend\EventManager\EventManager;
+use Zend\EventManager\EventManagerInterface;
 use Zend\EventManager\EventsCapableInterface;
 
 /**
@@ -537,7 +538,7 @@ abstract class AbstractAdapter implements StorageInterface, EventsCapableInterfa
     /**
      * Internal method to test multiple items.
      *
-     * @param  array $keys
+     * @param  array $normalizedKeys
      * @return array Array of found keys
      * @throws Exception\ExceptionInterface
      */
@@ -749,7 +750,6 @@ abstract class AbstractAdapter implements StorageInterface, EventsCapableInterfa
      * Internal method to store multiple items.
      *
      * @param  array $normalizedKeyValuePairs
-     * @param  array $normalizedOptions
      * @return array Array of not stored keys
      * @throws Exception\ExceptionInterface
      */
@@ -1233,7 +1233,7 @@ abstract class AbstractAdapter implements StorageInterface, EventsCapableInterfa
     /**
      * Internal method to remove multiple items.
      *
-     * @param  array $keys
+     * @param  array $normalizedKeys
      * @return array Array of not removed keys
      * @throws Exception\ExceptionInterface
      */
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AbstractZendServer.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AbstractZendServer.php
index b18991add5b..d5d9ffc921d 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AbstractZendServer.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AbstractZendServer.php
@@ -87,7 +87,6 @@ abstract class AbstractZendServer extends AbstractAdapter
      * Internal method to test if an item exists.
      *
      * @param  string $normalizedKey
-     * @param  array  $normalizedOptions
      * @return boolean
      * @throws Exception\ExceptionInterface
      */
@@ -101,7 +100,7 @@ abstract class AbstractZendServer extends AbstractAdapter
     /**
      * Internal method to test multiple items.
      *
-     * @param  array $keys
+     * @param  array $normalizedKeys
      * @return array Array of found keys
      * @throws Exception\ExceptionInterface
      */
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AdapterOptions.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AdapterOptions.php
index 70adb9d5b1e..f5c0896b413 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AdapterOptions.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/AdapterOptions.php
@@ -86,6 +86,7 @@ class AdapterOptions extends AbstractOptions
      * Set key pattern
      *
      * @param  null|string $keyPattern
+     * @throws Exception\InvalidArgumentException
      * @return AdapterOptions
      */
     public function setKeyPattern($keyPattern)
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Apc.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Apc.php
index 3785ecb4adc..939fb588d09 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Apc.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Apc.php
@@ -143,7 +143,6 @@ class Apc extends AbstractAdapter implements
         $options = $this->getOptions();
         $prefix  = $options->getNamespace() . $options->getNamespaceSeparator();
         $pattern = '/^' . preg_quote($prefix, '/') . '/';
-        $format  = 0;
 
         $baseIt = new BaseApcIterator('user', $pattern, 0, 1, \APC_LIST_ACTIVE);
         return new ApcIterator($this, $baseIt, $prefix);
@@ -166,7 +165,7 @@ class Apc extends AbstractAdapter implements
     /**
      * Remove items by given namespace
      *
-     * @param string $prefix
+     * @param string $namespace
      * @return boolean
      */
     public function clearByNamespace($namespace)
@@ -265,7 +264,7 @@ class Apc extends AbstractAdapter implements
     /**
      * Internal method to test multiple items.
      *
-     * @param  array $keys
+     * @param  array $normalizedKeys
      * @return array Array of found keys
      * @throws Exception\ExceptionInterface
      */
@@ -523,7 +522,7 @@ class Apc extends AbstractAdapter implements
     /**
      * Internal method to remove multiple items.
      *
-     * @param  array $keys
+     * @param  array $normalizedKeys
      * @return array Array of not removed keys
      * @throws Exception\ExceptionInterface
      */
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Dba.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Dba.php
index a85ac19a8f5..ef4f2cee874 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Dba.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Dba.php
@@ -11,6 +11,7 @@
 namespace Zend\Cache\Storage\Adapter;
 
 use stdClass;
+use Traversable;
 use Zend\Cache\Exception;
 use Zend\Cache\Storage\AvailableSpaceCapableInterface;
 use Zend\Cache\Storage\Capabilities;
@@ -209,7 +210,7 @@ class Dba extends AbstractAdapter implements
     /**
      * Remove items by given namespace
      *
-     * @param string $prefix
+     * @param string $namespace
      * @return boolean
      */
     public function clearByNamespace($namespace)
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/DbaOptions.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/DbaOptions.php
index bcf78379a81..5fe3340c235 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/DbaOptions.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/DbaOptions.php
@@ -99,7 +99,7 @@ class DbaOptions extends AdapterOptions
     /**
      *
      *
-     * @param unknown_type $mode
+     * @param string $mode
      * @return \Zend\Cache\Storage\Adapter\DbaOptions
      */
     public function setMode($mode)
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Filesystem.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Filesystem.php
index 505cf84a108..4f0f5f38544 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Filesystem.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Filesystem.php
@@ -103,6 +103,7 @@ class Filesystem extends AbstractAdapter implements
     /**
      * Flush the whole storage
      *
+     * @throws Exception\RuntimeException
      * @return boolean
      */
     public function flush()
@@ -179,6 +180,7 @@ class Filesystem extends AbstractAdapter implements
      * Remove items by given namespace
      *
      * @param string $namespace
+     * @throws Exception\RuntimeException
      * @return boolean
      */
     public function clearByNamespace($namespace)
@@ -191,8 +193,6 @@ class Filesystem extends AbstractAdapter implements
         . str_repeat(\DIRECTORY_SEPARATOR . $nsPrefix . '*', $options->getDirLevel())
         . \DIRECTORY_SEPARATOR . $nsPrefix . '*';
         $glob = new GlobIterator($path, $flags);
-        $time = time();
-        $ttl  = $options->getTtl();
 
         ErrorHandler::start();
         foreach ($glob as $pathname) {
@@ -212,6 +212,7 @@ class Filesystem extends AbstractAdapter implements
      * Remove items matching given prefix
      *
      * @param string $prefix
+     * @throws Exception\RuntimeException
      * @return boolean
      */
     public function clearByPrefix($prefix)
@@ -224,8 +225,6 @@ class Filesystem extends AbstractAdapter implements
             . str_repeat(\DIRECTORY_SEPARATOR . $nsPrefix . '*', $options->getDirLevel())
             . \DIRECTORY_SEPARATOR . $nsPrefix . $prefix . '*';
         $glob = new GlobIterator($path, $flags);
-        $time = time();
-        $ttl  = $options->getTtl();
 
         ErrorHandler::start();
         foreach ($glob as $pathname) {
@@ -314,8 +313,6 @@ class Filesystem extends AbstractAdapter implements
             . str_repeat(\DIRECTORY_SEPARATOR . $prefix . '*', $options->getDirLevel())
             . \DIRECTORY_SEPARATOR . $prefix . '*.tag';
         $glob = new GlobIterator($path, $flags);
-        $time = time();
-        $ttl  = $options->getTtl();
 
         foreach ($glob as $pathname) {
             $diff = array_diff($tags, explode("\n", $this->getFileContent($pathname)));
@@ -383,6 +380,7 @@ class Filesystem extends AbstractAdapter implements
     /**
      * Get total space in bytes
      *
+     * @throws Exception\RuntimeException
      * @return int|float
      */
     public function getTotalSpace()
@@ -419,6 +417,7 @@ class Filesystem extends AbstractAdapter implements
     /**
      * Get available space in bytes
      *
+     * @throws Exception\RuntimeException
      * @return int|float
      */
     public function getAvailableSpace()
@@ -610,7 +609,6 @@ class Filesystem extends AbstractAdapter implements
      * Internal method to test if an item exists.
      *
      * @param  string $normalizedKey
-     * @param  array  $normalizedOptions
      * @return boolean
      * @throws Exception\ExceptionInterface
      */
@@ -660,6 +658,7 @@ class Filesystem extends AbstractAdapter implements
      * Get metadatas
      *
      * @param array $keys
+     * @param array $options
      * @return array Associative array of keys and metadata
      */
     public function getMetadatas(array $keys, array $options = array())
@@ -879,7 +878,6 @@ class Filesystem extends AbstractAdapter implements
      */
     protected function internalSetItem(& $normalizedKey, & $value)
     {
-        $options  = $this->getOptions();
         $filespec = $this->getFileSpec($normalizedKey);
         $this->prepareDirectoryStructure($filespec);
 
@@ -898,7 +896,6 @@ class Filesystem extends AbstractAdapter implements
      */
     protected function internalSetItems(array & $normalizedKeyValuePairs)
     {
-        $baseOptions = $this->getOptions();
         $oldUmask    = null;
 
         // create an associated array of files and contents to write
@@ -1027,7 +1024,7 @@ class Filesystem extends AbstractAdapter implements
     /**
      * Internal method to reset lifetime of an item
      *
-     * @param  string $key
+     * @param  string $normalizedKey
      * @return boolean
      * @throws Exception\ExceptionInterface
      */
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/FilesystemIterator.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/FilesystemIterator.php
index 142b680f2db..b138b2d4b4f 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/FilesystemIterator.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/FilesystemIterator.php
@@ -74,7 +74,7 @@ class FilesystemIterator implements IteratorInterface
     /**
      * Get storage instance
      *
-     * @return StorageInterface
+     * @return Filesystem
      */
     public function getStorage()
     {
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/FilesystemOptions.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/FilesystemOptions.php
index 1914561c8d5..bc472f92cad 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/FilesystemOptions.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/FilesystemOptions.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Cache\Storage\Adapter;
 
+use Traversable;
 use Zend\Cache\Exception;
 
 /**
@@ -106,7 +107,7 @@ class FilesystemOptions extends AdapterOptions
      * Constructor
      *
      * @param  array|Traversable|null $options
-     * @return AbstractOptions
+     * @return FilesystemOptions
      * @throws Exception\InvalidArgumentException
      */
     public function __construct($options = null)
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memcached.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memcached.php
index cbd77d8c810..e3e7a1a1341 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memcached.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memcached.php
@@ -12,12 +12,10 @@ namespace Zend\Cache\Storage\Adapter;
 
 use ArrayObject;
 use Memcached as MemcachedResource;
-use MemcachedException;
 use stdClass;
 use Traversable;
 use Zend\Cache\Exception;
 use Zend\Cache\Storage\AvailableSpaceCapableInterface;
-use Zend\Cache\Storage\CallbackEvent;
 use Zend\Cache\Storage\Capabilities;
 use Zend\Cache\Storage\Event;
 use Zend\Cache\Storage\FlushableInterface;
@@ -303,7 +301,7 @@ class Memcached extends AbstractAdapter implements
             throw $this->getExceptionByResultCode($this->memcached->getResultCode());
         }
 
-        foreach ($result as $key => & $value) {
+        foreach ($result as & $value) {
             $value = array();
         }
 
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemcachedOptions.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemcachedOptions.php
index 89c627786bf..e857350233b 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemcachedOptions.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemcachedOptions.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Cache\Storage\Adapter;
 
-use Memcached as MemcachedResource;
 use Zend\Cache\Exception;
 use Zend\Validator\Hostname;
 
@@ -176,6 +175,7 @@ class MemcachedOptions extends AdapterOptions
     /**
      * Get libmemcached option
      *
+     * @param string|int $key
      * @return mixed
      * @link http://php.net/manual/memcached.constants.php
      */
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memory.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memory.php
index a779f735e9b..ba462e71773 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memory.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/Memory.php
@@ -115,7 +115,7 @@ class Memory extends AbstractAdapter implements
     /**
      * Get the storage iterator
      *
-     * @return MemoryIterator
+     * @return KeyListIterator
      */
     public function getIterator()
     {
@@ -346,9 +346,7 @@ class Memory extends AbstractAdapter implements
      * Internal method to test if an item exists.
      *
      * @param  string $normalizedKey
-     * @param  array  $normalizedOptions
      * @return boolean
-     * @throws Exception\ExceptionInterface
      */
     protected function internalHasItem(& $normalizedKey)
     {
@@ -370,9 +368,8 @@ class Memory extends AbstractAdapter implements
     /**
      * Internal method to test multiple items.
      *
-     * @param  array $keys
+     * @param array $normalizedKeys
      * @return array Array of found keys
-     * @throws Exception\ExceptionInterface
      */
     protected function internalHasItems(array & $normalizedKeys)
     {
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemoryOptions.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemoryOptions.php
index ce871fc12ad..21bb4cc9f94 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemoryOptions.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/MemoryOptions.php
@@ -80,6 +80,7 @@ class MemoryOptions extends AdapterOptions
      * Normalized a given value of memory limit into the number of bytes
      *
      * @param string|int $value
+     * @throws Exception\InvalidArgumentException
      * @return int
      */
     protected function normalizeMemoryLimit($value)
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/WinCache.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/WinCache.php
index aa78b4c1ce5..bfe8bf9af3f 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/WinCache.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/WinCache.php
@@ -12,6 +12,7 @@ namespace Zend\Cache\Storage\Adapter;
 
 use ArrayObject;
 use stdClass;
+use Traversable;
 use Zend\Cache\Exception;
 use Zend\Cache\Storage\AvailableSpaceCapableInterface;
 use Zend\Cache\Storage\Capabilities;
@@ -60,7 +61,7 @@ class WinCache extends AbstractAdapter implements
     /**
      * Set options.
      *
-     * @param  array|\Traversable|WinCacheOptions $options
+     * @param  array|Traversable|WinCacheOptions $options
      * @return WinCache
      * @see    getOptions()
      */
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerDisk.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerDisk.php
index e9fe81baa65..82c09feb5d8 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerDisk.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerDisk.php
@@ -41,7 +41,7 @@ class ZendServerDisk extends AbstractZendServer implements
      * Constructor
      *
      * @param  null|array|\Traversable|AdapterOptions $options
-     * @throws Exception\ExceptionInterface
+     * @throws Exception\ExtensionNotLoadedException
      */
     public function __construct($options = array())
     {
@@ -84,6 +84,7 @@ class ZendServerDisk extends AbstractZendServer implements
     /**
      * Get total space in bytes
      *
+     * @throws Exception\RuntimeException
      * @return int|float
      */
     public function getTotalSpace()
@@ -106,6 +107,7 @@ class ZendServerDisk extends AbstractZendServer implements
     /**
      * Get available space in bytes
      *
+     * @throws Exception\RuntimeException
      * @return int|float
      */
     public function getAvailableSpace()
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerShm.php b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerShm.php
index 63759e08529..d20b6c99555 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerShm.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Adapter/ZendServerShm.php
@@ -31,7 +31,7 @@ class ZendServerShm extends AbstractZendServer implements
      * Constructor
      *
      * @param  null|array|\Traversable|AdapterOptions $options
-     * @throws Exception\ExceptionInterface
+     * @throws Exception\ExtensionNotLoadedException
      */
     public function __construct($options = array())
     {
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/AdapterPluginManager.php b/vendor/ZF2/library/Zend/Cache/Storage/AdapterPluginManager.php
index c10305dd899..07613168b33 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/AdapterPluginManager.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/AdapterPluginManager.php
@@ -36,12 +36,8 @@ class AdapterPluginManager extends AbstractPluginManager
         'filesystem'     => 'Zend\Cache\Storage\Adapter\Filesystem',
         'memcached'      => 'Zend\Cache\Storage\Adapter\Memcached',
         'memory'         => 'Zend\Cache\Storage\Adapter\Memory',
-        'sysvshm'        => 'Zend\Cache\Storage\Adapter\SystemVShm',
-        'systemvshm'     => 'Zend\Cache\Storage\Adapter\SystemVShm',
-        'sqlite'         => 'Zend\Cache\Storage\Adapter\Sqlite',
         'dba'            => 'Zend\Cache\Storage\Adapter\Dba',
         'wincache'       => 'Zend\Cache\Storage\Adapter\WinCache',
-        'xcache'         => 'Zend\Cache\Storage\Adapter\XCache',
         'zendserverdisk' => 'Zend\Cache\Storage\Adapter\ZendServerDisk',
         'zendservershm'  => 'Zend\Cache\Storage\Adapter\ZendServerShm',
     );
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Capabilities.php b/vendor/ZF2/library/Zend/Cache/Storage/Capabilities.php
index 97dce76041c..7e83eb8f227 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Capabilities.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Capabilities.php
@@ -156,7 +156,7 @@ class Capabilities
     /**
      * Constructor
      *
-     * @param Adapter           $adapter
+     * @param StorageInterface  $storage
      * @param stdClass          $marker
      * @param array             $capabilities
      * @param null|Capabilities $baseCapabilities
@@ -179,7 +179,7 @@ class Capabilities
     /**
      * Get the storage adapter
      *
-     * @return Adapter
+     * @return StorageInterface
      */
     public function getAdapter()
     {
@@ -210,6 +210,7 @@ class Capabilities
      *
      * @param  stdClass $marker
      * @param  array $datatypes
+     * @throws Exception\InvalidArgumentException
      * @return Capabilities Fluent interface
      */
     public function setSupportedDatatypes(stdClass $marker, array $datatypes)
@@ -244,7 +245,7 @@ class Capabilities
         // add missing datatypes as not supported
         $missingTypes = array_diff($allTypes, array_keys($datatypes));
         foreach ($missingTypes as $type) {
-            $datatypes[type] = false;
+            $datatypes[$type] = false;
         }
 
         return $this->setCapability($marker, 'supportedDatatypes', $datatypes);
@@ -265,6 +266,7 @@ class Capabilities
      *
      * @param  stdClass $marker
      * @param  string[] $metadata
+     * @throws Exception\InvalidArgumentException
      * @return Capabilities Fluent interface
      */
     public function setSupportedMetadata(stdClass $marker, array $metadata)
@@ -292,6 +294,7 @@ class Capabilities
      *
      * @param  stdClass $marker
      * @param  int $minTtl
+     * @throws Exception\InvalidArgumentException
      * @return Capabilities Fluent interface
      */
     public function setMinTtl(stdClass $marker, $minTtl)
@@ -318,6 +321,7 @@ class Capabilities
      *
      * @param  stdClass $marker
      * @param  int $maxTtl
+     * @throws Exception\InvalidArgumentException
      * @return Capabilities Fluent interface
      */
     public function setMaxTtl(stdClass $marker, $maxTtl)
@@ -367,6 +371,7 @@ class Capabilities
      *
      * @param  stdClass $marker
      * @param  float $ttlPrecision
+     * @throws Exception\InvalidArgumentException
      * @return Capabilities Fluent interface
      */
     public function setTtlPrecision(stdClass $marker, $ttlPrecision)
@@ -437,6 +442,7 @@ class Capabilities
      *
      * @param  stdClass $marker
      * @param  int $maxKeyLength
+     * @throws Exception\InvalidArgumentException
      * @return Capabilities Fluent interface
      */
     public function setMaxKeyLength(stdClass $marker, $maxKeyLength)
@@ -514,7 +520,7 @@ class Capabilities
      * Change a capability
      *
      * @param  stdClass $marker
-     * @param  string $name
+     * @param  string $property
      * @param  mixed $value
      * @return Capabilities Fluent interface
      * @throws Exception\InvalidArgumentException
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/ExceptionEvent.php b/vendor/ZF2/library/Zend/Cache/Storage/ExceptionEvent.php
index d9ac2942d30..f2eaf99f9fc 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/ExceptionEvent.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/ExceptionEvent.php
@@ -39,11 +39,11 @@ class ExceptionEvent extends PostEvent
      *
      * Accept a target and its parameters.
      *
-     * @param  string      $name
-     * @param  Adapter     $storage
+     * @param  string $name
+     * @param  StorageInterface $storage
      * @param  ArrayObject $params
-     * @param  mixed       $result
-     * @param  Exception   $exception
+     * @param  mixed $result
+     * @param  Exception $exception
      */
     public function __construct($name, StorageInterface $storage, ArrayObject $params, & $result, Exception $exception)
     {
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/ClearExpiredByFactor.php b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/ClearExpiredByFactor.php
index 4b4d60a508b..0fdbec2ea50 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/ClearExpiredByFactor.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/ClearExpiredByFactor.php
@@ -36,7 +36,7 @@ class ClearExpiredByFactor extends AbstractPlugin
      *
      * @param  EventManagerInterface $events
      * @param  int                   $priority
-     * @return ClearByFactor
+     * @return ClearExpiredByFactor
      * @throws Exception\LogicException
      */
     public function attach(EventManagerInterface $events, $priority = 1)
@@ -62,7 +62,7 @@ class ClearExpiredByFactor extends AbstractPlugin
      * Detach
      *
      * @param  EventManagerInterface $events
-     * @return ClearByFactor
+     * @return ClearExpiredByFactor
      * @throws Exception\LogicException
      */
     public function detach(EventManagerInterface $events)
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/PluginOptions.php b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/PluginOptions.php
index 9ca1b41dcaa..5bf20b74ba5 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/PluginOptions.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/PluginOptions.php
@@ -105,7 +105,8 @@ class PluginOptions extends AbstractOptions
      * Used by:
      * - ExceptionHandler
      *
-     * @param  callable ExceptionCallback
+     * @param  callable $exceptionCallback
+     * @throws Exception\InvalidArgumentException
      * @return PluginOptions
      */
     public function setExceptionCallback($exceptionCallback)
@@ -187,6 +188,7 @@ class PluginOptions extends AbstractOptions
      * - Serializer
      *
      * @param  string|SerializerAdapter $serializer
+     * @throws Exception\InvalidArgumentException
      * @return Serializer
      */
     public function setSerializer($serializer)
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/Serializer.php b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/Serializer.php
index ec8c46ba8fd..c90d860770d 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/Plugin/Serializer.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/Plugin/Serializer.php
@@ -218,7 +218,6 @@ class Serializer extends AbstractPlugin
         }
 
         $failedKeys = $storage->setItems($keyValuePairs);
-        $result     = array();
         foreach ($failedKeys as $failedKey) {
             unset($keyValuePairs[$failedKey]);
         }
diff --git a/vendor/ZF2/library/Zend/Cache/Storage/StorageInterface.php b/vendor/ZF2/library/Zend/Cache/Storage/StorageInterface.php
index 8a5df0bcba6..3c4f5ec00e6 100644
--- a/vendor/ZF2/library/Zend/Cache/Storage/StorageInterface.php
+++ b/vendor/ZF2/library/Zend/Cache/Storage/StorageInterface.php
@@ -10,6 +10,8 @@
 
 namespace Zend\Cache\Storage;
 
+use Traversable;
+
 /**
  * @category   Zend
  * @package    Zend_Cache
diff --git a/vendor/ZF2/library/Zend/Captcha/AbstractAdapter.php b/vendor/ZF2/library/Zend/Captcha/AbstractAdapter.php
index a259d71f7c3..015db98d90f 100644
--- a/vendor/ZF2/library/Zend/Captcha/AbstractAdapter.php
+++ b/vendor/ZF2/library/Zend/Captcha/AbstractAdapter.php
@@ -101,6 +101,7 @@ abstract class AbstractAdapter extends AbstractValidator implements AdapterInter
      * Set object state from options array
      *
      * @param  array|Traversable $options
+     * @throws Exception\InvalidArgumentException
      * @return AbstractAdapter
      */
     public function setOptions($options = array())
diff --git a/vendor/ZF2/library/Zend/Captcha/AbstractWord.php b/vendor/ZF2/library/Zend/Captcha/AbstractWord.php
index 0d6f9dbe720..416103fa9fa 100644
--- a/vendor/ZF2/library/Zend/Captcha/AbstractWord.php
+++ b/vendor/ZF2/library/Zend/Captcha/AbstractWord.php
@@ -208,7 +208,7 @@ abstract class AbstractWord extends AbstractAdapter
     /**
      * Sets if session should be preserved on generate()
      *
-     * @param $keepSession Should session be kept on generate()?
+     * @param bool $keepSession Should session be kept on generate()?
      * @return AbstractWord
      */
     public function setKeepSession($keepSession)
@@ -242,6 +242,7 @@ abstract class AbstractWord extends AbstractAdapter
     /**
      * Get session object
      *
+     * @throws Exception\InvalidArgumentException
      * @return Container
      */
     public function getSession()
@@ -359,6 +360,7 @@ abstract class AbstractWord extends AbstractAdapter
      *
      * @see    Zend\Validator\ValidatorInterface::isValid()
      * @param  mixed $value
+     * @param  mixed $context
      * @return bool
      */
     public function isValid($value, $context = null)
diff --git a/vendor/ZF2/library/Zend/Captcha/Factory.php b/vendor/ZF2/library/Zend/Captcha/Factory.php
index 53df3c6b8ef..e9dbcac873d 100644
--- a/vendor/ZF2/library/Zend/Captcha/Factory.php
+++ b/vendor/ZF2/library/Zend/Captcha/Factory.php
@@ -88,4 +88,3 @@ abstract class Factory
         return $captcha;
     }
 }
-
diff --git a/vendor/ZF2/library/Zend/Captcha/Image.php b/vendor/ZF2/library/Zend/Captcha/Image.php
index f75de0935be..4fe5b88496e 100644
--- a/vendor/ZF2/library/Zend/Captcha/Image.php
+++ b/vendor/ZF2/library/Zend/Captcha/Image.php
@@ -123,6 +123,7 @@ class Image extends AbstractWord
      * Constructor
      *
      * @param  array|\Traversable $options
+     * @throws Exception\ExtensionNotLoadedException
      */
     public function __construct($options = null)
     {
@@ -474,6 +475,8 @@ class Image extends AbstractWord
      *
      * @param string $id Captcha ID
      * @param string $word Captcha word
+     * @throws Exception\NoFontProvidedException if no font was set
+     * @throws Exception\ImageNotLoadableException if start image cannot be loaded
      */
     protected function generateImage($id, $word)
     {
@@ -515,10 +518,10 @@ class Image extends AbstractWord
 
         // generate noise
         for ($i=0; $i < $this->dotNoiseLevel; $i++) {
-           imagefilledellipse($img, mt_rand(0,$w), mt_rand(0,$h), 2, 2, $text_color);
+           imagefilledellipse($img, mt_rand(0, $w), mt_rand(0, $h), 2, 2, $text_color);
         }
         for ($i=0; $i < $this->lineNoiseLevel; $i++) {
-           imageline($img, mt_rand(0,$w), mt_rand(0,$h), mt_rand(0,$w), mt_rand(0,$h), $text_color);
+           imageline($img, mt_rand(0, $w), mt_rand(0, $h), mt_rand(0, $w), mt_rand(0, $h), $text_color);
         }
 
         // transformed image
@@ -579,11 +582,11 @@ class Image extends AbstractWord
 
         // generate noise
         for ($i=0; $i<$this->dotNoiseLevel; $i++) {
-            imagefilledellipse($img2, mt_rand(0,$w), mt_rand(0,$h), 2, 2, $text_color);
+            imagefilledellipse($img2, mt_rand(0, $w), mt_rand(0, $h), 2, 2, $text_color);
         }
 
         for ($i=0; $i<$this->lineNoiseLevel; $i++) {
-           imageline($img2, mt_rand(0,$w), mt_rand(0,$h), mt_rand(0,$w), mt_rand(0,$h), $text_color);
+           imageline($img2, mt_rand(0, $w), mt_rand(0, $h), mt_rand(0, $w), mt_rand(0, $h), $text_color);
         }
 
         imagepng($img2, $img_file);
diff --git a/vendor/ZF2/library/Zend/Captcha/ReCaptcha.php b/vendor/ZF2/library/Zend/Captcha/ReCaptcha.php
index fca5d49ce4b..cc61a34bdd1 100644
--- a/vendor/ZF2/library/Zend/Captcha/ReCaptcha.php
+++ b/vendor/ZF2/library/Zend/Captcha/ReCaptcha.php
@@ -198,6 +198,7 @@ class ReCaptcha extends AbstractAdapter
      *
      * @see    \Zend\Validator\ValidatorInterface::isValid()
      * @param  mixed $value
+     * @param  mixed $context
      * @return boolean
      */
     public function isValid($value, $context = null)
diff --git a/vendor/ZF2/library/Zend/Code/Annotation/Parser/DoctrineAnnotationParser.php b/vendor/ZF2/library/Zend/Code/Annotation/Parser/DoctrineAnnotationParser.php
index e5656b73a27..9d62da10102 100644
--- a/vendor/ZF2/library/Zend/Code/Annotation/Parser/DoctrineAnnotationParser.php
+++ b/vendor/ZF2/library/Zend/Code/Annotation/Parser/DoctrineAnnotationParser.php
@@ -134,6 +134,7 @@ class DoctrineAnnotationParser implements ParserInterface
      *
      * @param  array|Traversable $annotations Array or traversable object of
      *         annotation class names
+     * @throws Exception\InvalidArgumentException
      * @return DoctrineAnnotationParser
      */
     public function registerAnnotations($annotations)
diff --git a/vendor/ZF2/library/Zend/Code/Annotation/Parser/GenericAnnotationParser.php b/vendor/ZF2/library/Zend/Code/Annotation/Parser/GenericAnnotationParser.php
index 9152a583b1e..b4aac6b0d4b 100644
--- a/vendor/ZF2/library/Zend/Code/Annotation/Parser/GenericAnnotationParser.php
+++ b/vendor/ZF2/library/Zend/Code/Annotation/Parser/GenericAnnotationParser.php
@@ -117,6 +117,7 @@ class GenericAnnotationParser implements ParserInterface
      * Register many annotations at once
      *
      * @param  array|Traversable $annotations
+     * @throws Exception\InvalidArgumentException
      * @return GenericAnnotationParser
      */
     public function registerAnnotations($annotations)
@@ -159,6 +160,7 @@ class GenericAnnotationParser implements ParserInterface
      *
      * @param  string $alias
      * @param  string $class May be either a registered annotation name or another alias
+     * @throws Exception\InvalidArgumentException
      * @return GenericAnnotationParser
      */
     public function setAlias($alias, $class)
diff --git a/vendor/ZF2/library/Zend/Code/Generator/ClassGenerator.php b/vendor/ZF2/library/Zend/Code/Generator/ClassGenerator.php
index 33f4df6f34a..c17b66a97bf 100644
--- a/vendor/ZF2/library/Zend/Code/Generator/ClassGenerator.php
+++ b/vendor/ZF2/library/Zend/Code/Generator/ClassGenerator.php
@@ -93,7 +93,8 @@ class ClassGenerator extends AbstractGenerator
         }
 
         /* @var \Zend\Code\Reflection\ClassReflection $parentClass */
-        if ($parentClass = $classReflection->getParentClass()) {
+        $parentClass = $classReflection->getParentClass();
+        if ($parentClass) {
             $cg->setExtendedClass($parentClass->getName());
             $interfaces = array_diff($classReflection->getInterfaces(), $parentClass->getInterfaces());
         } else {
diff --git a/vendor/ZF2/library/Zend/Code/Generator/DocBlock/Tag.php b/vendor/ZF2/library/Zend/Code/Generator/DocBlock/Tag.php
index d024adbfdfd..bdb4f8e7246 100644
--- a/vendor/ZF2/library/Zend/Code/Generator/DocBlock/Tag.php
+++ b/vendor/ZF2/library/Zend/Code/Generator/DocBlock/Tag.php
@@ -50,10 +50,10 @@ class Tag extends AbstractGenerator
      */
     public function __construct(array $options = array())
     {
-        if (key_exists('name', $options)) {
+        if (array_key_exists('name', $options)) {
             $this->setName($options['name']);
         }
-        if (key_exists('description', $options)) {
+        if (array_key_exists('description', $options)) {
             $this->setDescription($options['description']);
         }
     }
diff --git a/vendor/ZF2/library/Zend/Code/Generator/FileGenerator.php b/vendor/ZF2/library/Zend/Code/Generator/FileGenerator.php
index 874c4f05466..ead132215eb 100644
--- a/vendor/ZF2/library/Zend/Code/Generator/FileGenerator.php
+++ b/vendor/ZF2/library/Zend/Code/Generator/FileGenerator.php
@@ -516,7 +516,8 @@ class FileGenerator extends AbstractGenerator
         $output .= self::LINE_FEED;
 
         // namespace, if any
-        if ($namespace = $this->getNamespace()) {
+        $namespace = $this->getNamespace();
+        if ($namespace) {
             $output .= sprintf('namespace %s;%s', $namespace, str_repeat(self::LINE_FEED, 2));
         }
 
diff --git a/vendor/ZF2/library/Zend/Code/Reflection/ClassReflection.php b/vendor/ZF2/library/Zend/Code/Reflection/ClassReflection.php
index 904b35fc095..11900f45845 100644
--- a/vendor/ZF2/library/Zend/Code/Reflection/ClassReflection.php
+++ b/vendor/ZF2/library/Zend/Code/Reflection/ClassReflection.php
@@ -222,4 +222,3 @@ class ClassReflection extends ReflectionClass implements ReflectionInterface
     }
 
 }
-
diff --git a/vendor/ZF2/library/Zend/Code/Reflection/DocBlock/Tag/PropertyTag.php b/vendor/ZF2/library/Zend/Code/Reflection/DocBlock/Tag/PropertyTag.php
index 026b7a4b893..d65b51996b2 100644
--- a/vendor/ZF2/library/Zend/Code/Reflection/DocBlock/Tag/PropertyTag.php
+++ b/vendor/ZF2/library/Zend/Code/Reflection/DocBlock/Tag/PropertyTag.php
@@ -42,7 +42,7 @@ class PropertyTag implements TagInterface
     /**
      * Initializer
      *
-     * @param string $tagDocBlockLine
+     * @param string $tagDocblockLine
      */
     public function initialize($tagDocblockLine)
     {
diff --git a/vendor/ZF2/library/Zend/Code/Reflection/FileReflection.php b/vendor/ZF2/library/Zend/Code/Reflection/FileReflection.php
index 4b0c02e8006..15778d56251 100644
--- a/vendor/ZF2/library/Zend/Code/Reflection/FileReflection.php
+++ b/vendor/ZF2/library/Zend/Code/Reflection/FileReflection.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Code\Reflection;
 
-use Zend\Code\NameInformation;
 use Zend\Code\Scanner\CachingFileScanner;
 
 /**
diff --git a/vendor/ZF2/library/Zend/Config/Processor/Token.php b/vendor/ZF2/library/Zend/Config/Processor/Token.php
index 0ba34a76a92..af6204c4043 100644
--- a/vendor/ZF2/library/Zend/Config/Processor/Token.php
+++ b/vendor/ZF2/library/Zend/Config/Processor/Token.php
@@ -200,7 +200,7 @@ class Token implements ProcessorInterface
      *
      * @param  Config $config
      * @return Config
-     * @throws InvalidArgumentException
+     * @throws Exception\InvalidArgumentException
      */
     public function process(Config $config)
     {
diff --git a/vendor/ZF2/library/Zend/Config/Reader/Ini.php b/vendor/ZF2/library/Zend/Config/Reader/Ini.php
index fa431f691aa..3ef6bd449ea 100644
--- a/vendor/ZF2/library/Zend/Config/Reader/Ini.php
+++ b/vendor/ZF2/library/Zend/Config/Reader/Ini.php
@@ -63,7 +63,7 @@ class Ini implements ReaderInterface
      * @see    ReaderInterface::fromFile()
      * @param  string $filename
      * @return array
-     * @throws Exception\InvalidArgumentException
+     * @throws Exception\RuntimeException
      */
     public function fromFile($filename)
     {
diff --git a/vendor/ZF2/library/Zend/Config/Reader/Yaml.php b/vendor/ZF2/library/Zend/Config/Reader/Yaml.php
index c33ef295e4f..bf34303d0f8 100644
--- a/vendor/ZF2/library/Zend/Config/Reader/Yaml.php
+++ b/vendor/ZF2/library/Zend/Config/Reader/Yaml.php
@@ -56,7 +56,7 @@ class Yaml implements ReaderInterface
      *
      * @param  string|callable $yamlDecoder the decoder to set
      * @return Yaml
-     * @throws Exception\InvalidArgumentException
+     * @throws Exception\RuntimeException
      */
     public function setYamlDecoder($yamlDecoder)
     {
diff --git a/vendor/ZF2/library/Zend/Console/Adapter/AbstractAdapter.php b/vendor/ZF2/library/Zend/Console/Adapter/AbstractAdapter.php
index 5612209f7d6..174ededac39 100644
--- a/vendor/ZF2/library/Zend/Console/Adapter/AbstractAdapter.php
+++ b/vendor/ZF2/library/Zend/Console/Adapter/AbstractAdapter.php
@@ -101,7 +101,7 @@ abstract class AbstractAdapter implements AdapterInterface
         } elseif ($width == $consoleWidth) {
             $this->write($text, $color, $bgColor);
         } else {
-            $this->write($text. "\n", $color, $bgColor);
+            $this->write($text . "\n", $color, $bgColor);
         }
     }
 
@@ -136,6 +136,7 @@ abstract class AbstractAdapter implements AdapterInterface
      * @param int      $bgColor      (optional) Background color
      * @param null|int $fillColor    (optional) Foreground color of box fill
      * @param null|int $fillBgColor  (optional) Background color of box fill
+     * @throws Exception\BadMethodCallException if coordinates are invalid
      */
     public function writeBox(
         $x1,
@@ -608,7 +609,7 @@ abstract class AbstractAdapter implements AdapterInterface
         $f = fopen('php://stdin','r');
         do {
             $char = fread($f,1);
-        } while ($mask === null || stristr($mask,$char));
+        } while ($mask === null || stristr($mask, $char));
         fclose($f);
         return $char;
     }
diff --git a/vendor/ZF2/library/Zend/Console/Adapter/Posix.php b/vendor/ZF2/library/Zend/Console/Adapter/Posix.php
index a1508b43014..d73dcb5d77c 100644
--- a/vendor/ZF2/library/Zend/Console/Adapter/Posix.php
+++ b/vendor/ZF2/library/Zend/Console/Adapter/Posix.php
@@ -117,7 +117,7 @@ class Posix extends AbstractAdapter
         /**
          * Try to read console size from "tput" command
          */
-        $result = exec('tput cols',$output, $return);
+        $result = exec('tput cols', $output, $return);
         if (!$return && is_numeric($result)) {
             return $width = (int)$result;
         }
@@ -213,6 +213,7 @@ class Posix extends AbstractAdapter
      * @param  string   $string
      * @param  int      $color
      * @param  null|int $bgColor
+     * @throws Exception\BadMethodCallException
      * @return string
      */
     public function colorize($string, $color = null, $bgColor = null)
@@ -248,6 +249,7 @@ class Posix extends AbstractAdapter
      * Change current drawing color.
      *
      * @param int $color
+     * @throws Exception\BadMethodCallException
      */
     public function setColor($color)
     {
@@ -269,6 +271,7 @@ class Posix extends AbstractAdapter
      * Change current drawing background color
      *
      * @param int $bgColor
+     * @throws Exception\BadMethodCallException
      */
     public function setBgColor($bgColor)
     {
diff --git a/vendor/ZF2/library/Zend/Console/Adapter/Windows.php b/vendor/ZF2/library/Zend/Console/Adapter/Windows.php
index 12571d1688f..d8991ca96cd 100644
--- a/vendor/ZF2/library/Zend/Console/Adapter/Windows.php
+++ b/vendor/ZF2/library/Zend/Console/Adapter/Windows.php
@@ -363,7 +363,7 @@ class Windows extends Virtual
     public function readLine($maxLength = 2048)
     {
         $f    = fopen('php://stdin','r');
-        $line = rtrim(fread($f,$maxLength),"\r\n");
+        $line = rtrim(fread($f, $maxLength),"\r\n");
         fclose($f);
 
         return $line;
diff --git a/vendor/ZF2/library/Zend/Console/Adapter/WindowsAnsicon.php b/vendor/ZF2/library/Zend/Console/Adapter/WindowsAnsicon.php
index 7be8e4bbcdf..247bb81c07e 100644
--- a/vendor/ZF2/library/Zend/Console/Adapter/WindowsAnsicon.php
+++ b/vendor/ZF2/library/Zend/Console/Adapter/WindowsAnsicon.php
@@ -264,7 +264,7 @@ class WindowsAnsicon extends Posix
             $result = $return = null;
             exec(
                 'powershell -NonInteractive -NoProfile -NoLogo -OutputFormat Text -Command "'
-                    . '[int[]] $mask = '.join(',',$asciiMask).';'
+                    . '[int[]] $mask = '.join(',', $asciiMask).';'
                     . 'do {'
                         . '$key = $Host.UI.RawUI.ReadKey(\'NoEcho,IncludeKeyDown\').VirtualKeyCode;'
                     . '} while( !($mask -contains $key) );'
@@ -276,7 +276,7 @@ class WindowsAnsicon extends Posix
 
             $char = !empty($result) ? trim(implode('', $result)) : null;
 
-            if (!$return && $char && ($mask === null || in_array($char,$asciiMask))) {
+            if (!$return && $char && ($mask === null || in_array($char, $asciiMask))) {
                 // We have obtained an ASCII code, check if it is a carriage
                 // return and normalize it as needed
                 if ($char == 13) {
diff --git a/vendor/ZF2/library/Zend/Console/Charset/Utf8Heavy.php b/vendor/ZF2/library/Zend/Console/Charset/Utf8Heavy.php
index 183d8dd0e34..be50118f2fa 100644
--- a/vendor/ZF2/library/Zend/Console/Charset/Utf8Heavy.php
+++ b/vendor/ZF2/library/Zend/Console/Charset/Utf8Heavy.php
@@ -29,4 +29,4 @@ class Utf8Heavy extends Utf8
     const LINE_SINGLE_SW = "â”—";
     const LINE_SINGLE_CROSS = "â•‹";
 
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Console/Console.php b/vendor/ZF2/library/Zend/Console/Console.php
index e4eddf77066..fb6a37599f7 100644
--- a/vendor/ZF2/library/Zend/Console/Console.php
+++ b/vendor/ZF2/library/Zend/Console/Console.php
@@ -24,6 +24,13 @@ abstract class Console
      */
     protected static $instance;
 
+    /**
+     * Allow overriding whether or not we're in a console env. If set, and
+     * boolean, returns that value from isConsole().
+     * @var bool
+     */
+    protected static $isConsole;
+
     /**
      * Create and return Adapter\AdapterInterface instance.
      *
@@ -125,13 +132,29 @@ abstract class Console
     /**
      * Check if running in a console environment (CLI)
      *
+     * By default, returns value of PHP_SAPI global constant. If $isConsole is
+     * set, and a boolean value, that value will be returned.
+     *
      * @return bool
      */
     public static function isConsole()
     {
+        if (null !== static::$isConsole && is_bool(static::$isConsole)) {
+            return static::$isConsole;
+        }
         return PHP_SAPI == 'cli';
     }
 
+    /**
+     * Override the "is console environment" flag
+     *
+     * @param  null|bool $flag
+     */
+    public static function overrideIsConsole($flag)
+    {
+        static::$isConsole = $flag;
+    }
+
     /**
      * Try to detect best matching adapter
      * @return string|null
diff --git a/vendor/ZF2/library/Zend/Console/Getopt.php b/vendor/ZF2/library/Zend/Console/Getopt.php
index 273fd37269b..5308b7f06f7 100644
--- a/vendor/ZF2/library/Zend/Console/Getopt.php
+++ b/vendor/ZF2/library/Zend/Console/Getopt.php
@@ -212,6 +212,7 @@ class Getopt
      * @param  array $rules
      * @param  array $argv
      * @param  array $getoptConfig
+     * @throws Exception\InvalidArgumentException
      */
     public function __construct($rules, $argv = null, $getoptConfig = array())
     {
@@ -312,7 +313,7 @@ class Getopt
      * These are appended to those defined when the constructor was called.
      *
      * @param  array $argv
-     * @throws \Zend\Console\Exception\ExceptionInterface When not given an array as parameter
+     * @throws \Zend\Console\Exception\InvalidArgumentException When not given an array as parameter
      * @return \Zend\Console\Getopt Provides a fluent interface
      */
     public function addArguments($argv)
@@ -330,7 +331,7 @@ class Getopt
      * These replace any currently defined.
      *
      * @param  array $argv
-     * @throws \Zend\Console\Exception\ExceptionInterface When not given an array as parameter
+     * @throws \Zend\Console\Exception\InvalidArgumentException When not given an array as parameter
      * @return \Zend\Console\Getopt Provides a fluent interface
      */
     public function setArguments($argv)
@@ -802,6 +803,7 @@ class Getopt
      * or no one numeric option handlers is defined
      *
      * @param  int $value
+     * @throws Exception\RuntimeException
      * @return void
      */
     protected function _setNumericOptionValue($value)
diff --git a/vendor/ZF2/library/Zend/Console/Prompt/Char.php b/vendor/ZF2/library/Zend/Console/Prompt/Char.php
index 67ce8f5d3fd..156f00b3ee6 100644
--- a/vendor/ZF2/library/Zend/Console/Prompt/Char.php
+++ b/vendor/ZF2/library/Zend/Console/Prompt/Char.php
@@ -102,7 +102,7 @@ class Char extends AbstractPrompt
             $mask .= strtoupper($mask);  // uppercase and append
             $mask = str_split($mask);    // convert to array
             $mask = array_unique($mask); // remove duplicates
-            $mask = implode("",$mask);   // convert back to string
+            $mask = implode("", $mask);   // convert back to string
         }
 
         do {
@@ -121,7 +121,7 @@ class Char extends AbstractPrompt
             /**
              * Check if it is an allowed char
              */
-            if (stristr($this->allowedChars,$char) !== false) {
+            if (stristr($this->allowedChars, $char) !== false) {
                 if ($this->echo) {
                     echo trim($char)."\n";
                 } else {
diff --git a/vendor/ZF2/library/Zend/Console/Prompt/Confirm.php b/vendor/ZF2/library/Zend/Console/Prompt/Confirm.php
index 39bcb846b66..60edc3d8f50 100644
--- a/vendor/ZF2/library/Zend/Console/Prompt/Confirm.php
+++ b/vendor/ZF2/library/Zend/Console/Prompt/Confirm.php
@@ -85,7 +85,7 @@ class Confirm extends Char
     public function setNoChar($noChar)
     {
         $this->noChar = $noChar;
-        $this->setAllowedChars($this->yesChar.$this->noChar);
+        $this->setAllowedChars($this->yesChar . $this->noChar);
     }
 
     /**
@@ -102,7 +102,7 @@ class Confirm extends Char
     public function setYesChar($yesChar)
     {
         $this->yesChar = $yesChar;
-        $this->setAllowedChars($this->yesChar.$this->noChar);
+        $this->setAllowedChars($this->yesChar . $this->noChar);
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Console/Prompt/Number.php b/vendor/ZF2/library/Zend/Console/Prompt/Number.php
index c1544601c61..0377c1a2531 100644
--- a/vendor/ZF2/library/Zend/Console/Prompt/Number.php
+++ b/vendor/ZF2/library/Zend/Console/Prompt/Number.php
@@ -95,13 +95,13 @@ class Number extends Line
                 $this->getConsole()->writeLine("$number is not a number\n");
                 $valid = false;
             } elseif (!$this->allowFloat && (round($number) != $number) ) {
-                $this->getConsole()->writeLine("Please enter a non-floating number, i.e. ".round($number)."\n");
+                $this->getConsole()->writeLine("Please enter a non-floating number, i.e. " . round($number) . "\n");
                 $valid = false;
             } elseif ($this->max !== null && $number > $this->max) {
-                $this->getConsole()->writeLine("Please enter a number not greater than ".$this->max."\n");
+                $this->getConsole()->writeLine("Please enter a number not greater than " . $this->max . "\n");
                 $valid = false;
             } elseif ($this->min !== null && $number < $this->min) {
-                $this->getConsole()->writeLine("Please enter a number not smaller than ".$this->min."\n");
+                $this->getConsole()->writeLine("Please enter a number not smaller than " . $this->min . "\n");
                 $valid = false;
             }
         } while (!$valid);
diff --git a/vendor/ZF2/library/Zend/Console/Prompt/Select.php b/vendor/ZF2/library/Zend/Console/Prompt/Select.php
index 3fff3b5a6eb..efa46158a0c 100644
--- a/vendor/ZF2/library/Zend/Console/Prompt/Select.php
+++ b/vendor/ZF2/library/Zend/Console/Prompt/Select.php
@@ -41,6 +41,7 @@ class Select extends Char
      * @param array     $options        Allowed options
      * @param bool      $allowEmpty     Allow empty (no) selection?
      * @param bool      $echo           True to display selected option?
+     * @throws Exception\BadMethodCallException if no options available
      */
     public function __construct(
         $promptText = 'Please select one option',
@@ -121,6 +122,7 @@ class Select extends Char
      * Set allowed options
      *
      * @param array|\Traversable $options
+     * @throws Exception\BadMethodCallException
      */
     public function setOptions($options)
     {
diff --git a/vendor/ZF2/library/Zend/Console/Request.php b/vendor/ZF2/library/Zend/Console/Request.php
index 588cd9b37cb..3b577753e8d 100644
--- a/vendor/ZF2/library/Zend/Console/Request.php
+++ b/vendor/ZF2/library/Zend/Console/Request.php
@@ -12,7 +12,6 @@ namespace Zend\Console;
 
 use Zend\Stdlib\Message;
 use Zend\Stdlib\Parameters;
-use Zend\Stdlib\ParametersInterface;
 use Zend\Stdlib\RequestInterface;
 
 /**
@@ -39,7 +38,9 @@ class Request extends Message implements RequestInterface
     /**
      * Create a new CLI request
      *
-     * @param array|null $args     Console arguments. If not supplied, $_SERVER['argv'] will be used
+     * @param array|null $args Console arguments. If not supplied, $_SERVER['argv'] will be used
+     * @param array|null $env Environment data. If not supplied, $_ENV will be used
+     * @throws Exception\RuntimeException
      */
     public function __construct(array $args = null, array $env = null)
     {
@@ -162,7 +163,7 @@ class Request extends Message implements RequestInterface
      */
     public function toString()
     {
-        return trim(implode(' ',$this->params()->toArray()));
+        return trim(implode(' ', $this->params()->toArray()));
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Crypt/PublicKey/Rsa/PublicKey.php b/vendor/ZF2/library/Zend/Crypt/PublicKey/Rsa/PublicKey.php
index a220446902e..dae01d3dee6 100644
--- a/vendor/ZF2/library/Zend/Crypt/PublicKey/Rsa/PublicKey.php
+++ b/vendor/ZF2/library/Zend/Crypt/PublicKey/Rsa/PublicKey.php
@@ -74,8 +74,9 @@ class PublicKey extends AbstractKey
      * Encrypt using this key
      *
      * @param  string $data
-     * @return string
+     * @throws Exception\InvalidArgumentException
      * @throws Exception\RuntimeException
+     * @return string
      */
     public function encrypt($data)
     {
@@ -99,8 +100,9 @@ class PublicKey extends AbstractKey
      * Decrypt using this key
      *
      * @param  string $data
-     * @return string
+     * @throws Exception\InvalidArgumentException
      * @throws Exception\RuntimeException
+     * @return string
      */
     public function decrypt($data)
     {
diff --git a/vendor/ZF2/library/Zend/Crypt/Symmetric/SymmetricInterface.php b/vendor/ZF2/library/Zend/Crypt/Symmetric/SymmetricInterface.php
index 593bf608eab..2a00ea7d727 100644
--- a/vendor/ZF2/library/Zend/Crypt/Symmetric/SymmetricInterface.php
+++ b/vendor/ZF2/library/Zend/Crypt/Symmetric/SymmetricInterface.php
@@ -42,4 +42,3 @@ interface SymmetricInterface
 
     public function getSupportedModes();
 }
-
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Adapter.php b/vendor/ZF2/library/Zend/Db/Adapter/Adapter.php
index 4c61ccb403f..919403425ac 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Adapter.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Adapter.php
@@ -64,6 +64,7 @@ class Adapter
      * @param Driver\DriverInterface|array $driver
      * @param Platform\PlatformInterface $platform
      * @param ResultSet\ResultSetInterface $queryResultPrototype
+     * @throws Exception\InvalidArgumentException
      */
     public function __construct($driver, Platform\PlatformInterface $platform = null, ResultSet\ResultSetInterface $queryResultPrototype = null)
     {
@@ -126,6 +127,7 @@ class Adapter
      *
      * @param string $sql
      * @param string|array $parametersOrQueryMode
+     * @throws Exception\InvalidArgumentException
      * @return Driver\StatementInterface|ResultSet\ResultSet
      */
     public function query($sql, $parametersOrQueryMode = self::QUERY_MODE_PREPARE)
@@ -199,6 +201,7 @@ class Adapter
 
     /**
      * @param $name
+     * @throws Exception\InvalidArgumentException
      * @return Driver\DriverInterface|Platform\PlatformInterface
      */
     public function __get($name)
@@ -218,6 +221,7 @@ class Adapter
      * @param array $parameters
      * @return Driver\DriverInterface
      * @throws \InvalidArgumentException
+     * @throws Exception\InvalidArgumentException
      */
     protected function createDriverFromParameters(array $parameters)
     {
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 64a825f497d..9cb2e24a9c8 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php
@@ -137,6 +137,7 @@ class Connection implements ConnectionInterface
     /**
      * Connect
      *
+     * @throws Exception\RuntimeException
      * @return null
      */
     public function connect()
@@ -232,6 +233,7 @@ class Connection implements ConnectionInterface
     /**
      * Rollback
      *
+     * @throws Exception\RuntimeException
      * @return Connection
      */
     public function rollback()
@@ -252,6 +254,7 @@ class Connection implements ConnectionInterface
      * Execute
      *
      * @param  string $sql
+     * @throws Exception\InvalidQueryException
      * @return Result
      */
     public function execute($sql)
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 28b4c58e2f3..5af8020ae40 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Mysqli.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Mysqli.php
@@ -176,6 +176,7 @@ class Mysqli implements DriverInterface
 
     /**
      * @param resource $resource
+     * @param null|bool $isBuffered
      * @return Result
      */
     public function createResult($resource, $isBuffered = null)
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 c99d60db3b2..ab81db1f442 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Result.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Result.php
@@ -72,9 +72,11 @@ class Result implements \Iterator, ResultInterface
 
     /**
      * Initialize
+     *
      * @param mixed $resource
      * @param mixed $generatedValue
      * @param bool|null $isBuffered
+     * @throws Exception\InvalidArgumentException
      * @return Result
      */
     public function initialize($resource, $generatedValue, $isBuffered = null)
@@ -178,7 +180,7 @@ class Result implements \Iterator, ResultInterface
      * get data out.  These values have to be references:
      * @see http://php.net/manual/en/mysqli-stmt.bind-result.php
      *
-     * @throws \RuntimeException
+     * @throws Exception\RuntimeException
      * @return bool
      */
     protected function loadDataFromMysqliStatement()
@@ -296,6 +298,8 @@ class Result implements \Iterator, ResultInterface
 
     /**
      * Count
+     *
+     * @throws Exception\RuntimeException
      * @return integer
      */
     public function count()
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 60282ec6f08..14236c63e7f 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Statement.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Statement.php
@@ -168,6 +168,8 @@ class Statement implements StatementInterface
 
     /**
      * @param string $sql
+     * @throws Exception\InvalidQueryException
+     * @throws Exception\RuntimeException
      * @return Statement
      */
     public function prepare($sql = null)
@@ -195,6 +197,7 @@ class Statement implements StatementInterface
      * Execute
      *
      * @param  ParameterContainer $parameters
+     * @throws Exception\RuntimeException
      * @return mixed
      */
     public function execute($parameters = null)
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 6539ff04fad..76019a182bb 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Connection.php
@@ -294,7 +294,7 @@ class Connection implements ConnectionInterface
 
     /**
      * @return Connection
-     * @throws \Exception
+     * @throws Exception\RuntimeException
      */
     public function rollback()
     {
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 c6761210bb2..72d68f7eaaa 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Pdo.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Pdo.php
@@ -136,7 +136,7 @@ class Pdo implements DriverInterface, DriverFeatureInterface
 
     /**
      * @param $name
-     * @return bool
+     * @return AbstractFeature|false
      */
     public function getFeature($name)
     {
@@ -217,6 +217,7 @@ class Pdo implements DriverInterface, DriverFeatureInterface
 
     /**
      * @param resource $resource
+     * @param mixed $context
      * @return Result
      */
     public function createResult($resource, $context = null)
@@ -262,7 +263,7 @@ class Pdo implements DriverInterface, DriverFeatureInterface
      */
     public function getLastGeneratedValue()
     {
-        $this->connection->getLastGeneratedValue();
+        return $this->connection->getLastGeneratedValue();
     }
 
 }
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Result.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Result.php
index bb45ab8a0e3..fd241755233 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Result.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Result.php
@@ -11,7 +11,6 @@
 namespace Zend\Db\Adapter\Driver\Pdo;
 
 use Iterator;
-use PDO as PDOResource;
 use PDOStatement;
 use Zend\Db\Adapter\Driver\ResultInterface;
 use Zend\Db\Adapter\Exception;
@@ -151,6 +150,7 @@ class Result implements Iterator, ResultInterface
     }
 
     /**
+     * @throws Exception\RuntimeException
      * @return void
      */
     public function rewind()
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Statement.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Statement.php
index 08877e898ba..cba0ae79e94 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Statement.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Statement.php
@@ -154,6 +154,7 @@ class Statement implements StatementInterface
 
     /**
      * @param string $sql
+     * @throws Exception\RuntimeException
      */
     public function prepare($sql = null)
     {
@@ -185,6 +186,7 @@ class Statement implements StatementInterface
 
     /**
      * @param mixed $parameters
+     * @throws Exception\InvalidQueryException
      * @return Result
      */
     public function execute($parameters = null)
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 cfd93100d7d..a48e79f376d 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php
@@ -201,6 +201,7 @@ class Connection implements ConnectionInterface
 
     /**
      * @param  string $sql
+     * @throws Exception\InvalidQueryException
      * @return resource|\Zend\Db\ResultSet\ResultSetInterface
      */
     public function execute($sql)
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 7b74746be9a..50bc1304bfb 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Pgsql.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Pgsql.php
@@ -105,6 +105,7 @@ class Pgsql implements DriverInterface
     }
 
     /**
+     * @throws Exception\RuntimeException
      * @return bool
      */
     public function checkEnvironment()
@@ -149,6 +150,7 @@ class Pgsql implements DriverInterface
     }
 
     /**
+     * @param resource $resource
      * @return Result
      */
     public function createResult($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 b3dbcdfbec0..2ff8e0b0196 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Statement.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Statement.php
@@ -93,10 +93,12 @@ class Statement implements StatementInterface
 
     /**
      * @param string $sql
+     * @return Statement
      */
     public function setSql($sql)
     {
         $this->sql = $sql;
+        return $this;
     }
 
     /**
@@ -109,10 +111,12 @@ class Statement implements StatementInterface
 
     /**
      * @param ParameterContainer $parameterContainer
+     * @return Statement
      */
     public function setParameterContainer(ParameterContainer $parameterContainer)
     {
         $this->parameterContainer = $parameterContainer;
+        return $this;
     }
 
     /**
@@ -153,6 +157,7 @@ class Statement implements StatementInterface
 
     /**
      * @param  null $parameters
+     * @throws Exception\InvalidQueryException
      * @return Result
      */
     public function execute($parameters = null)
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Connection.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Connection.php
index e092f136394..0c8ec42e573 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Connection.php
@@ -112,6 +112,7 @@ class Connection implements ConnectionInterface
      * Set resource
      *
      * @param  resource $resource
+     * @throws Exception\InvalidArgumentException
      * @return Connection
      */
     public function setResource($resource)
@@ -134,6 +135,7 @@ class Connection implements ConnectionInterface
     /**
      * Connect
      *
+     * @throws Exception\RuntimeException
      * @return null
      */
     public function connect()
@@ -256,6 +258,7 @@ class Connection implements ConnectionInterface
      * Execute
      *
      * @param  string $sql
+     * @throws Exception\RuntimeException
      * @return mixed
      */
     public function execute($sql)
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 0b39b7db064..fe6cef695bb 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Sqlsrv.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Sqlsrv.php
@@ -107,6 +107,8 @@ class Sqlsrv implements DriverInterface
 
     /**
      * Check environment
+     *
+     * @throws Exception\RuntimeException
      * @return void
      */
     public function checkEnvironment()
@@ -125,7 +127,7 @@ class Sqlsrv implements DriverInterface
     }
 
     /**
-     * @param string $sql
+     * @param string|resource $sqlOrResource
      * @return Statement
      */
     public function createStatement($sqlOrResource = null)
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 a813f2890a9..d8c11afb7f4 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Statement.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Statement.php
@@ -48,7 +48,7 @@ class Statement implements StatementInterface
     protected $parameterReferences = array();
 
     /**
-     * @var Zend\Db\Adapter\ParameterContainer\ParameterContainer
+     * @var ParameterContainer
      */
     protected $parameterContainer = null;
 
@@ -82,7 +82,8 @@ class Statement implements StatementInterface
      * b) "SQL Server Statement" when a prepared statement has been already produced
      * (there will need to already be a bound param set if it applies to this query)
      *
-     * @param resource
+     * @param resource $resource
+     * @throws Exception\InvalidArgumentException
      * @return Statement
      */
     public function initialize($resource)
@@ -158,6 +159,7 @@ class Statement implements StatementInterface
 
     /**
      * @param string $sql
+     * @throws Exception\RuntimeException
      * @return Statement
      */
     public function prepare($sql = null)
@@ -190,6 +192,7 @@ class Statement implements StatementInterface
      * Execute
      *
      * @param  array|ParameterContainer $parameters
+     * @throws Exception\RuntimeException
      * @return Result
      */
     public function execute($parameters = null)
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/ParameterContainer.php b/vendor/ZF2/library/Zend/Db/Adapter/ParameterContainer.php
index 773aba62973..7b5be5f27c5 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/ParameterContainer.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/ParameterContainer.php
@@ -153,6 +153,7 @@ class ParameterContainer implements \Iterator, \ArrayAccess, \Countable
      * Offset get errata
      *
      * @param  string|integer $name
+     * @throws Exception\InvalidArgumentException
      * @return mixed
      */
     public function offsetGetErrata($name)
@@ -184,6 +185,7 @@ class ParameterContainer implements \Iterator, \ArrayAccess, \Countable
      * Offset unset errata
      *
      * @param string|integer $name
+     * @throws Exception\InvalidArgumentException
      */
     public function offsetUnsetErrata($name)
     {
@@ -285,7 +287,8 @@ class ParameterContainer implements \Iterator, \ArrayAccess, \Countable
     }
 
     /**
-     * @param array $array
+     * @param array|ParameterContainer $parameters
+     * @throws Exception\InvalidArgumentException
      * @return ParameterContainer
      */
     public function merge($parameters)
@@ -295,7 +298,7 @@ class ParameterContainer implements \Iterator, \ArrayAccess, \Countable
         }
 
         if (count($parameters) == 0) {
-            return;
+            return $this;
         }
 
         if ($parameters instanceof ParameterContainer) {
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/StatementContainer.php b/vendor/ZF2/library/Zend/Db/Adapter/StatementContainer.php
index e2703999a5f..a52dd49c429 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/StatementContainer.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/StatementContainer.php
@@ -58,6 +58,10 @@ class StatementContainer implements StatementContainerInterface
         return $this->sql;
     }
 
+    /**
+     * @param ParameterContainer $parameterContainer
+     * @return StatementContainer
+     */
     public function setParameterContainer(ParameterContainer $parameterContainer)
     {
         $this->parameterContainer = $parameterContainer;
@@ -71,4 +75,4 @@ class StatementContainer implements StatementContainerInterface
     {
         return $this->parameterContainer;
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/StatementContainerInterface.php b/vendor/ZF2/library/Zend/Db/Adapter/StatementContainerInterface.php
index 29423d0481f..275a6d461bf 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/StatementContainerInterface.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/StatementContainerInterface.php
@@ -32,6 +32,7 @@ interface StatementContainerInterface
 
     /**
      * @abstract
+     * @param ParameterContainer $parameterContainer
      * @return mixed
      */
     public function setParameterContainer(ParameterContainer $parameterContainer);
diff --git a/vendor/ZF2/library/Zend/Db/Metadata/Object/AbstractTableObject.php b/vendor/ZF2/library/Zend/Db/Metadata/Object/AbstractTableObject.php
index d1126d1f78b..d2a21074e35 100644
--- a/vendor/ZF2/library/Zend/Db/Metadata/Object/AbstractTableObject.php
+++ b/vendor/ZF2/library/Zend/Db/Metadata/Object/AbstractTableObject.php
@@ -96,7 +96,7 @@ abstract class AbstractTableObject
      */
     public function getConstraints()
     {
-        return $this->columns;
+        return $this->constraints;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Db/Metadata/Source/AbstractSource.php b/vendor/ZF2/library/Zend/Db/Metadata/Source/AbstractSource.php
index 4c48e47df57..84db8629efa 100644
--- a/vendor/ZF2/library/Zend/Db/Metadata/Source/AbstractSource.php
+++ b/vendor/ZF2/library/Zend/Db/Metadata/Source/AbstractSource.php
@@ -353,18 +353,18 @@ abstract class AbstractSource implements MetadataInterface
         $constraint = new Object\ConstraintObject($constraintName, $table, $schema);
 
         foreach (array(
-            'constraint_type'    => 'setType',
-            'match_option'       => 'setMatchOption',
-            'update_rule'        => 'setUpdateRule',
-            'delete_rule'        => 'setDeleteRule',
-            'columns'            => 'setColumns',
+            'constraint_type'         => 'setType',
+            'match_option'            => 'setMatchOption',
+            'update_rule'             => 'setUpdateRule',
+            'delete_rule'             => 'setDeleteRule',
+            'columns'                 => 'setColumns',
             'referenced_table_schema' => 'setReferencedTableSchema',
             'referenced_table_name'   => 'setReferencedTableName',
             'referenced_columns'      => 'setReferencedColumns',
-            'match_option'       => 'setMatchOption',
-            'update_rule'        => 'setUpdateRule',
-            'delete_rule'        => 'setDeleteRule',
-            'check_clause'       => 'setCheckClause',
+            'match_option'            => 'setMatchOption',
+            'update_rule'             => 'setUpdateRule',
+            'delete_rule'             => 'setDeleteRule',
+            'check_clause'            => 'setCheckClause',
         ) as $key => $setMethod) {
             if (isset($info[$key])) {
                 $constraint->{$setMethod}($info[$key]);
diff --git a/vendor/ZF2/library/Zend/Db/Metadata/Source/MysqlMetadata.php b/vendor/ZF2/library/Zend/Db/Metadata/Source/MysqlMetadata.php
index d5dd09323b2..46bd12cb306 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\MetadataInterface;
 use Zend\Db\Metadata\Object;
 
 /**
diff --git a/vendor/ZF2/library/Zend/Db/Metadata/Source/SqlServerMetadata.php b/vendor/ZF2/library/Zend/Db/Metadata/Source/SqlServerMetadata.php
index 34f62a018d9..aea2303e700 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\MetadataInterface;
 use Zend\Db\Metadata\Object;
 
 /**
diff --git a/vendor/ZF2/library/Zend/Db/Metadata/Source/SqliteMetadata.php b/vendor/ZF2/library/Zend/Db/Metadata/Source/SqliteMetadata.php
index dcbf6e1e742..9fd6cfb1514 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\MetadataInterface;
 use Zend\Db\Metadata\Object;
 use Zend\Db\ResultSet\ResultSetInterface;
 
diff --git a/vendor/ZF2/library/Zend/Db/ResultSet/HydratingResultSet.php b/vendor/ZF2/library/Zend/Db/ResultSet/HydratingResultSet.php
index f2edd52d4f0..785fd7ce3cb 100644
--- a/vendor/ZF2/library/Zend/Db/ResultSet/HydratingResultSet.php
+++ b/vendor/ZF2/library/Zend/Db/ResultSet/HydratingResultSet.php
@@ -47,6 +47,7 @@ class HydratingResultSet extends AbstractResultSet
      * Set the row object prototype
      *
      * @param  object $objectPrototype
+     * @throws Exception\InvalidArgumentException
      * @return ResultSet
      */
     public function setObjectPrototype($objectPrototype)
diff --git a/vendor/ZF2/library/Zend/Db/ResultSet/ResultSet.php b/vendor/ZF2/library/Zend/Db/ResultSet/ResultSet.php
index 23718f9e7c5..7aa065ec114 100644
--- a/vendor/ZF2/library/Zend/Db/ResultSet/ResultSet.php
+++ b/vendor/ZF2/library/Zend/Db/ResultSet/ResultSet.php
@@ -62,6 +62,7 @@ class ResultSet extends AbstractResultSet
      * Set the row object prototype
      *
      * @param  ArrayObject $arrayObjectPrototype
+     * @throws Exception\InvalidArgumentException
      * @return ResultSet
      */
     public function setArrayObjectPrototype($arrayObjectPrototype)
diff --git a/vendor/ZF2/library/Zend/Db/RowGateway/RowGateway.php b/vendor/ZF2/library/Zend/Db/RowGateway/RowGateway.php
index b4c6c340e22..5133c5791a3 100644
--- a/vendor/ZF2/library/Zend/Db/RowGateway/RowGateway.php
+++ b/vendor/ZF2/library/Zend/Db/RowGateway/RowGateway.php
@@ -27,6 +27,7 @@ class RowGateway extends AbstractRowGateway
      * @param string $primaryKeyColumn
      * @param string|\Zend\Db\Sql\TableIdentifier $table
      * @param Adapter|Sql $adapterOrSql
+     * @throws Exception\InvalidArgumentException
      */
     public function __construct($primaryKeyColumn, $table, $adapterOrSql = null)
     {
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Delete.php b/vendor/ZF2/library/Zend/Db/Sql/Delete.php
index abf4bcba2fb..d76d0b42010 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Delete.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Delete.php
@@ -99,7 +99,7 @@ class Delete extends AbstractSql implements SqlInterface, PreparableSqlInterface
     /**
      * Create where clause
      *
-     * @param  Where|Closure|string|array $predicate
+     * @param  Where|\Closure|string|array $predicate
      * @param  string $combination One of the OP_* constants from Predicate\PredicateSet
      * @return Delete
      */
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Expression.php b/vendor/ZF2/library/Zend/Db/Sql/Expression.php
index c5a44670c6a..4606f8fde42 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Expression.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Expression.php
@@ -114,7 +114,7 @@ class Expression implements ExpressionInterface
 
     /**
      * @return array
-     * @throws \RuntimeException
+     * @throws Exception\RuntimeException
      */
     public function getExpressionData()
     {
diff --git a/vendor/ZF2/library/Zend/Db/Sql/ExpressionInterface.php b/vendor/ZF2/library/Zend/Db/Sql/ExpressionInterface.php
index 37bca20b8a8..c8f41478a07 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/ExpressionInterface.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/ExpressionInterface.php
@@ -36,4 +36,3 @@ interface ExpressionInterface
      */
     public function getExpressionData();
 }
-
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Insert.php b/vendor/ZF2/library/Zend/Db/Sql/Insert.php
index e308956ccdb..7ce7294e600 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Insert.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Insert.php
@@ -92,6 +92,7 @@ class Insert extends AbstractSql implements SqlInterface, PreparableSqlInterface
      *
      * @param  array $values
      * @param  string $flag one of VALUES_MERGE or VALUES_SET; defaults to VALUES_SET
+     * @throws Exception\InvalidArgumentException
      * @return Insert
      */
     public function values(array $values, $flag = self::VALUES_SET)
@@ -104,7 +105,11 @@ class Insert extends AbstractSql implements SqlInterface, PreparableSqlInterface
         $firstKey = current($keys);
 
         if (is_string($firstKey)) {
-            $this->columns($keys);
+            if ($flag == self::VALUES_MERGE) {
+                $this->columns(array_merge($this->columns, $keys));
+            } else {
+                $this->columns($keys);
+            }
             $values = array_values($values);
         } elseif (is_int($firstKey)) {
             $values = array_values($values);
@@ -227,12 +232,13 @@ class Insert extends AbstractSql implements SqlInterface, PreparableSqlInterface
      * Proxies to values and columns
      *
      * @param  string $name
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     public function __unset($name)
     {
         if (($position = array_search($name, $this->columns)) === false) {
-            throw new \InvalidArgumentException('The key ' . $name . ' was not found in this objects column list');
+            throw new Exception\InvalidArgumentException('The key ' . $name . ' was not found in this objects column list');
         }
 
         unset($this->columns[$position]);
@@ -258,12 +264,13 @@ class Insert extends AbstractSql implements SqlInterface, PreparableSqlInterface
      * Retrieves value by column name
      *
      * @param  string $name
+     * @throws Exception\InvalidArgumentException
      * @return mixed
      */
     public function __get($name)
     {
         if (($position = array_search($name, $this->columns)) === false) {
-            throw new \InvalidArgumentException('The key ' . $name . ' was not found in this objects column list');
+            throw new Exception\InvalidArgumentException('The key ' . $name . ' was not found in this objects column list');
         }
         return $this->values[$position];
     }
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Platform/AbstractPlatform.php b/vendor/ZF2/library/Zend/Db/Sql/Platform/AbstractPlatform.php
index 79f9daf2ecd..5bc0c430f18 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Platform/AbstractPlatform.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Platform/AbstractPlatform.php
@@ -56,7 +56,8 @@ class AbstractPlatform implements PlatformDecoratorInterface, PreparableSqlInter
 
     /**
      * @param Adapter $adapter
-     * @param StatementContainerInterface $statement
+     * @param StatementContainerInterface $statementContainer
+     * @throws Exception\RuntimeException
      * @return void
      */
     public function prepareStatement(Adapter $adapter, StatementContainerInterface $statementContainer)
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Predicate/In.php b/vendor/ZF2/library/Zend/Db/Sql/Predicate/In.php
index 81cf78d809b..523b850a8cd 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Predicate/In.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Predicate/In.php
@@ -65,6 +65,7 @@ class In implements PredicateInterface
      * Set set of values for IN comparison
      *
      * @param  array $valueSet
+     * @throws Exception\InvalidArgumentException
      * @return In
      */
     public function setValueSet($valueSet)
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Predicate/Operator.php b/vendor/ZF2/library/Zend/Db/Sql/Predicate/Operator.php
index dc02399b263..f9670369dee 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Predicate/Operator.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Predicate/Operator.php
@@ -10,6 +10,8 @@
 
 namespace Zend\Db\Sql\Predicate;
 
+use Zend\Db\Sql\Exception;
+
 /**
  * @category   Zend
  * @package    Zend_Db
@@ -104,12 +106,13 @@ class Operator implements PredicateInterface
      * Set parameter type for left side of operator
      *
      * @param  string $type TYPE_IDENTIFIER or TYPE_VALUE {@see allowedTypes}
+     * @throws Exception\InvalidArgumentException
      * @return Operator
      */
     public function setLeftType($type)
     {
         if (!in_array($type, $this->allowedTypes)) {
-            throw new \InvalidArgumentException(sprintf(
+            throw new Exception\InvalidArgumentException(sprintf(
                 'Invalid type "%s" provided; must be of type "%s" or "%s"',
                 $type,
                 __CLASS__ . '::TYPE_IDENTIFIER',
@@ -178,12 +181,13 @@ class Operator implements PredicateInterface
      * Set parameter type for right side of operator
      *
      * @param  string $type TYPE_IDENTIFIER or TYPE_VALUE {@see allowedTypes}
+     * @throws Exception\InvalidArgumentException
      * @return Operator
      */
     public function setRightType($type)
     {
         if (!in_array($type, $this->allowedTypes)) {
-            throw new \InvalidArgumentException(sprintf(
+            throw new Exception\InvalidArgumentException(sprintf(
                 'Invalid type "%s" provided; must be of type "%s" or "%s"',
                 $type,
                 __CLASS__ . '::TYPE_IDENTIFIER',
diff --git a/vendor/ZF2/library/Zend/Db/Sql/PreparableSqlInterface.php b/vendor/ZF2/library/Zend/Db/Sql/PreparableSqlInterface.php
index 892f776f60c..14641db5755 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/PreparableSqlInterface.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/PreparableSqlInterface.php
@@ -23,7 +23,7 @@ interface PreparableSqlInterface
 
     /**
      * @param Adapter $adapter
-     * @param StatementContainerInterface
+     * @param StatementContainerInterface $statementContainer
      * @return void
      */
     public function prepareStatement(Adapter $adapter, StatementContainerInterface $statementContainer);
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Select.php b/vendor/ZF2/library/Zend/Db/Sql/Select.php
index 05b92600ffc..814bbb65b7a 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Select.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Select.php
@@ -22,6 +22,7 @@ use Zend\Db\Adapter\Platform\Sql92 as AdapterSql92Platform;
  * @subpackage Sql
  *
  * @property Where $where
+ * @property Having $having
  */
 class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
 {
@@ -154,6 +155,7 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
      * Create from clause
      *
      * @param  string|array|TableIdentifier $table
+     * @throws Exception\InvalidArgumentException
      * @return Select
      */
     public function from($table)
@@ -206,6 +208,7 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
      * @param  string $on
      * @param  string|array $columns
      * @param  string $type one of the JOIN_* constants
+     * @throws Exception\InvalidArgumentException
      * @return Select
      */
     public function join($name, $on, $columns = self::SQL_STAR, $type = self::JOIN_INNER)
@@ -393,6 +396,12 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
             case self::WHERE:
                 $this->where = new Where;
                 break;
+            case self::GROUP:
+                $this->group = null;
+                break;
+            case self::HAVING:
+                $this->having = new Having;
+                break;
             case self::LIMIT:
                 $this->limit = null;
                 break;
@@ -431,8 +440,8 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
     /**
      * Prepare statement
      *
-     * @param \Zend\Db\Adapter\Adapter $adapter
-     * @param \Zend\Db\Adapter\Driver\StatementInterface $statementContainer
+     * @param Adapter $adapter
+     * @param StatementContainerInterface $statementContainer
      * @return void
      */
     public function prepareStatement(Adapter $adapter, StatementContainerInterface $statementContainer)
@@ -736,9 +745,8 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
     /**
      * Variable overloading
      *
-     * Proxies to "where" only
-     *
      * @param  string $name
+     * @throws Exception\InvalidArgumentException
      * @return mixed
      */
     public function __get($name)
@@ -746,6 +754,8 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
         switch (strtolower($name)) {
             case 'where':
                 return $this->where;
+            case 'having':
+                return $this->having;
             default:
                 throw new Exception\InvalidArgumentException('Not a valid magic property for this object');
         }
@@ -760,6 +770,7 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
      */
     public function __clone()
     {
-        $this->where = clone $this->where;
+        $this->where  = clone $this->where;
+        $this->having = clone $this->having;
     }
 }
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Update.php b/vendor/ZF2/library/Zend/Db/Sql/Update.php
index 240e48b361e..c9320041116 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Update.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Update.php
@@ -90,12 +90,13 @@ class Update extends AbstractSql implements SqlInterface, PreparableSqlInterface
      *
      * @param  array $values Associative array of key values
      * @param  string $flag One of the VALUES_* constants
+     * @throws Exception\InvalidArgumentException
      * @return Update
      */
     public function set(array $values, $flag = self::VALUES_SET)
     {
         if ($values == null) {
-            throw new \InvalidArgumentException('set() expects an array of values');
+            throw new Exception\InvalidArgumentException('set() expects an array of values');
         }
 
         if ($flag == self::VALUES_SET) {
@@ -104,7 +105,7 @@ class Update extends AbstractSql implements SqlInterface, PreparableSqlInterface
 
         foreach ($values as $k => $v) {
             if (!is_string($k)) {
-                throw new \Exception('set() expects a string for the value key');
+                throw new Exception\InvalidArgumentException('set() expects a string for the value key');
             }
             $this->set[$k] = $v;
         }
@@ -117,12 +118,13 @@ class Update extends AbstractSql implements SqlInterface, PreparableSqlInterface
      *
      * @param  Where|\Closure|string|array $predicate
      * @param  string $combination One of the OP_* constants from Predicate\PredicateSet
+     * @throws Exception\InvalidArgumentException
      * @return Select
      */
     public function where($predicate, $combination = Predicate\PredicateSet::OP_AND)
     {
         if (is_null($predicate)) {
-            throw new \Zend\Db\Sql\Exception\InvalidArgumentException('Predicate cannot be null');
+            throw new Exception\InvalidArgumentException('Predicate cannot be null');
         }
 
         if ($predicate instanceof Where) {
@@ -185,8 +187,8 @@ class Update extends AbstractSql implements SqlInterface, PreparableSqlInterface
     /**
      * Prepare statement
      *
-     * @param \Zend\Db\Adapter\Adapter $adapter
-     * @param \Zend\Db\Adapter\Driver\StatementInterface $statementContainer
+     * @param Adapter $adapter
+     * @param StatementContainerInterface $statementContainer
      * @return void
      */
     public function prepareStatement(Adapter $adapter, StatementContainerInterface $statementContainer)
diff --git a/vendor/ZF2/library/Zend/Db/TableGateway/AbstractTableGateway.php b/vendor/ZF2/library/Zend/Db/TableGateway/AbstractTableGateway.php
index 0fa99c10961..5c71687cacf 100644
--- a/vendor/ZF2/library/Zend/Db/TableGateway/AbstractTableGateway.php
+++ b/vendor/ZF2/library/Zend/Db/TableGateway/AbstractTableGateway.php
@@ -84,6 +84,7 @@ abstract class AbstractTableGateway implements TableGatewayInterface
     /**
      * Initialize
      *
+     * @throws Exception\RuntimeException
      * @return null
      */
     public function initialize()
@@ -177,7 +178,7 @@ abstract class AbstractTableGateway implements TableGatewayInterface
     /**
      * Select
      *
-     * @param string|array|\Closure $where
+     * @param Where|\Closure|string|array $where
      * @return ResultSet
      */
     public function select($where = null)
@@ -361,7 +362,7 @@ abstract class AbstractTableGateway implements TableGatewayInterface
     /**
      * Delete
      *
-     * @param  Closure $where
+     * @param  Where|\Closure|string|array $where
      * @return int
      */
     public function delete($where)
@@ -428,6 +429,7 @@ abstract class AbstractTableGateway implements TableGatewayInterface
      * __get
      *
      * @param  string $property
+     * @throws Exception\InvalidArgumentException
      * @return mixed
      */
     public function __get($property)
diff --git a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/GlobalAdapterFeature.php b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/GlobalAdapterFeature.php
index b9b3ca14624..8a0a81798ac 100644
--- a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/GlobalAdapterFeature.php
+++ b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/GlobalAdapterFeature.php
@@ -44,6 +44,7 @@ class GlobalAdapterFeature extends AbstractFeature
     /**
      * Get static adapter
      *
+     * @throws Exception\RuntimeException
      * @return Adapter
      */
     public static function getStaticAdapter()
diff --git a/vendor/ZF2/library/Zend/Db/TableGateway/TableGateway.php b/vendor/ZF2/library/Zend/Db/TableGateway/TableGateway.php
index 0716ee1596f..469c33eaab9 100644
--- a/vendor/ZF2/library/Zend/Db/TableGateway/TableGateway.php
+++ b/vendor/ZF2/library/Zend/Db/TableGateway/TableGateway.php
@@ -32,6 +32,7 @@ class TableGateway extends AbstractTableGateway
      * @param Feature\AbstractFeature|Feature\FeatureSet|Feature\AbstractFeature[] $features
      * @param ResultSetInterface $resultSetPrototype
      * @param Sql $sql
+     * @throws Exception\InvalidArgumentException
      */
     public function __construct($table, Adapter $adapter, $features = null, ResultSetInterface $resultSetPrototype = null, Sql $sql = null)
     {
diff --git a/vendor/ZF2/library/Zend/Debug/Debug.php b/vendor/ZF2/library/Zend/Debug/Debug.php
index dd1472fba9f..5e4e242cb0c 100644
--- a/vendor/ZF2/library/Zend/Debug/Debug.php
+++ b/vendor/ZF2/library/Zend/Debug/Debug.php
@@ -10,6 +10,8 @@
 
 namespace Zend\Debug;
 
+use Zend\Escaper\Escaper;
+
 /**
  * Concrete class for generating debug dumps related to the output source.
  *
@@ -18,6 +20,10 @@ namespace Zend\Debug;
  */
 class Debug
 {
+    /**
+     * @var Escaper
+     */
+    protected static $escaper = null;
 
     /**
      * @var string
@@ -50,6 +56,31 @@ class Debug
         self::$sapi = $sapi;
     }
 
+    /**
+     * Set Escaper instance
+     *
+     * @param  Escaper $escaper
+     */
+    public static function setEscaper(Escaper $escaper)
+    {
+        static::$escaper = $escaper;
+    }
+
+    /**
+     * Get Escaper instance
+     *
+     * Lazy loads an instance if none provided.
+     *
+     * @return Escaper
+     */
+    public static function getEscaper()
+    {
+        if (null === static::$escaper) {
+            static::setEscaper(new Escaper());
+        }
+        return static::$escaper;
+    }
+
     /**
      * Debug helper function.  This is a wrapper for var_dump() that adds
      * the <pre /> tags, cleans up newlines and indents, and runs
@@ -78,7 +109,7 @@ class Debug
                     . PHP_EOL;
         } else {
             if (!extension_loaded('xdebug')) {
-                $output = htmlspecialchars($output, ENT_QUOTES);
+                $output = static::getEscaper()->escapeHtml($output);
             }
 
             $output = '<pre>'
diff --git a/vendor/ZF2/library/Zend/Debug/composer.json b/vendor/ZF2/library/Zend/Debug/composer.json
index 02b34458c47..de9d6bf8ccd 100644
--- a/vendor/ZF2/library/Zend/Debug/composer.json
+++ b/vendor/ZF2/library/Zend/Debug/composer.json
@@ -13,6 +13,10 @@
     },
     "target-dir": "Zend/Debug",
     "require": {
-        "php": ">=5.3.3"
+        "php": ">=5.3.3",
+        "zendframework/zend-escaper": "self.version"
+    },
+    "suggest": {
+        "ext/xdebug": "XDebug, for better backtrace output"
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Di/Definition/ClassDefinition.php b/vendor/ZF2/library/Zend/Di/Definition/ClassDefinition.php
index 58262eb5714..a3a5f007818 100644
--- a/vendor/ZF2/library/Zend/Di/Definition/ClassDefinition.php
+++ b/vendor/ZF2/library/Zend/Di/Definition/ClassDefinition.php
@@ -136,6 +136,9 @@ class ClassDefinition implements DefinitionInterface, PartialMarker
      */
     public function getClassSupertypes($class)
     {
+        if ($this->class !== $class) {
+            return array();
+        }
         return $this->supertypes;
     }
 
@@ -144,6 +147,9 @@ class ClassDefinition implements DefinitionInterface, PartialMarker
      */
     public function getInstantiator($class)
     {
+        if ($this->class !== $class) {
+            return null;
+        }
         return $this->instantiator;
     }
 
@@ -160,6 +166,9 @@ class ClassDefinition implements DefinitionInterface, PartialMarker
      */
     public function getMethods($class)
     {
+        if ($this->class !== $class) {
+            return array();
+        }
         return $this->methods;
     }
 
@@ -168,6 +177,10 @@ class ClassDefinition implements DefinitionInterface, PartialMarker
      */
     public function hasMethod($class, $method)
     {
+        if ($this->class !== $class) {
+            return null;
+        }
+
         if (is_array($this->methods)) {
             return array_key_exists($method, $this->methods);
         } else {
@@ -180,6 +193,9 @@ class ClassDefinition implements DefinitionInterface, PartialMarker
      */
     public function hasMethodParameters($class, $method)
     {
+        if ($this->class !== $class) {
+            return false;
+        }
         return (array_key_exists($method, $this->methodParameters));
     }
 
@@ -188,6 +204,10 @@ class ClassDefinition implements DefinitionInterface, PartialMarker
      */
     public function getMethodParameters($class, $method)
     {
+        if ($this->class !== $class) {
+            return null;
+        }
+
         if (array_key_exists($method, $this->methodParameters)) {
             return $this->methodParameters[$method];
         }
diff --git a/vendor/ZF2/library/Zend/Di/DefinitionList.php b/vendor/ZF2/library/Zend/Di/DefinitionList.php
index 47061f3b608..0ab0c411571 100644
--- a/vendor/ZF2/library/Zend/Di/DefinitionList.php
+++ b/vendor/ZF2/library/Zend/Di/DefinitionList.php
@@ -51,7 +51,7 @@ class DefinitionList extends SplDoublyLinkedList implements Definition\Definitio
 
     /**
      * @param  string       $type
-     * @return Definition[]
+     * @return Definition\DefinitionInterface[]
      */
     public function getDefinitionsByType($type)
     {
@@ -144,9 +144,13 @@ class DefinitionList extends SplDoublyLinkedList implements Definition\Definitio
         $supertypes = array();
         /** @var $definition Definition\DefinitionInterface */
         foreach ($this as $definition) {
-            $supertypes = array_merge($supertypes, $definition->getClassSupertypes($class));
+            if ($definition->hasClass($class)) {
+                $supertypes = array_merge($supertypes, $definition->getClassSupertypes($class));
+                if (!$definition instanceof Definition\PartialMarker) {
+                    return $supertypes;
+                }
+            }
         }
-        // @todo remove duplicates?
         return $supertypes;
     }
 
diff --git a/vendor/ZF2/library/Zend/Di/InstanceManager.php b/vendor/ZF2/library/Zend/Di/InstanceManager.php
index ede27888dd5..7618a8473e2 100644
--- a/vendor/ZF2/library/Zend/Di/InstanceManager.php
+++ b/vendor/ZF2/library/Zend/Di/InstanceManager.php
@@ -97,7 +97,7 @@ class InstanceManager /* implements InstanceManagerInterface */
     public function addSharedInstance($instance, $classOrAlias)
     {
         if (!is_object($instance)) {
-            throw new Exception\InvalidArgumentException('This method requires an object to be shared. Class or Alias given: '.$classOrAlias);
+            throw new Exception\InvalidArgumentException('This method requires an object to be shared. Class or Alias given: ' . $classOrAlias);
         }
 
         $this->sharedInstances[$classOrAlias] = $instance;
diff --git a/vendor/ZF2/library/Zend/Dom/NodeList.php b/vendor/ZF2/library/Zend/Dom/NodeList.php
index b420e0915bc..ecb3b824ea9 100644
--- a/vendor/ZF2/library/Zend/Dom/NodeList.php
+++ b/vendor/ZF2/library/Zend/Dom/NodeList.php
@@ -12,8 +12,8 @@ namespace Zend\Dom;
 
 use Countable;
 use DOMDocument;
-use DOMElement;
 use DOMNodeList;
+use DOMNode;
 use DOMXPath;
 use Iterator;
 
@@ -114,7 +114,7 @@ class NodeList implements Iterator, Countable
     /**
      * Iterator: rewind to first element
      *
-     * @return void
+     * @return DOMNode
      */
     public function rewind()
     {
@@ -138,7 +138,7 @@ class NodeList implements Iterator, Countable
     /**
      * Iterator: return current element
      *
-     * @return DOMElement
+     * @return DOMNode
      */
     public function current()
     {
@@ -158,7 +158,7 @@ class NodeList implements Iterator, Countable
     /**
      * Iterator: move to next element
      *
-     * @return void
+     * @return DOMNode
      */
     public function next()
     {
diff --git a/vendor/ZF2/library/Zend/Dom/Query.php b/vendor/ZF2/library/Zend/Dom/Query.php
index 207313070af..b135e3edb1f 100644
--- a/vendor/ZF2/library/Zend/Dom/Query.php
+++ b/vendor/ZF2/library/Zend/Dom/Query.php
@@ -67,7 +67,8 @@ class Query
     /**
      * Constructor
      *
-     * @param  null|string $document
+     * @param null|string $document
+     * @param null|string $encoding
      */
     public function __construct($document = null, $encoding = null)
     {
@@ -286,7 +287,7 @@ class Query
     /**
      * Register PHP Functions to use in internal DOMXPath
      *
-     * @param  mixed $restrict
+     * @param  bool $xpathPhpFunctions
      * @return void
      */
     public function registerXpathPhpFunctions($xpathPhpFunctions = true)
diff --git a/vendor/ZF2/library/Zend/Escaper/Escaper.php b/vendor/ZF2/library/Zend/Escaper/Escaper.php
index 399e4fd3be7..4e1dd7928ea 100644
--- a/vendor/ZF2/library/Zend/Escaper/Escaper.php
+++ b/vendor/ZF2/library/Zend/Escaper/Escaper.php
@@ -98,6 +98,7 @@ class Escaper
      * is set for htmlspecialchars() calls.
      *
      * @param string $encoding
+     * @throws Exception\InvalidArgumentException
      */
     public function __construct($encoding = null)
     {
@@ -268,9 +269,8 @@ class Escaper
          */
         if ($ord > 255) {
             return sprintf('&#x%04X;', $ord);
-        } else {
-            return sprintf('&#x%02X;', $ord);
         }
+        return sprintf('&#x%02X;', $ord);
     }
 
     /**
@@ -285,10 +285,9 @@ class Escaper
         $chr = $matches[0];
         if (strlen($chr) == 1) {
             return sprintf('\\x%02X', ord($chr));
-        } else {
-            $chr = $this->convertEncoding($chr, 'UTF-16BE', 'UTF-8');
-            return sprintf('\\u%04s', strtoupper(bin2hex($chr)));
         }
+        $chr = $this->convertEncoding($chr, 'UTF-16BE', 'UTF-8');
+        return sprintf('\\u%04s', strtoupper(bin2hex($chr)));
     }
 
     /**
@@ -315,6 +314,7 @@ class Escaper
      * class' constructor.
      *
      * @param string $string
+     * @throws Exception\RuntimeException
      * @return string
      */
     protected function toUtf8($string)
@@ -365,6 +365,9 @@ class Escaper
      * and exception where neither is available.
      *
      * @param string $string
+     * @param string $to
+     * @param array|string $from
+     * @throws Exception\RuntimeException
      * @return string
      */
     protected function convertEncoding($string, $to, $from)
@@ -384,8 +387,7 @@ class Escaper
 
         if ($result === false) {
             return ''; // return non-fatal blank string on encoding errors from users
-        } else {
-            return $result;
         }
+        return $result;
     }
 }
diff --git a/vendor/ZF2/library/Zend/EventManager/EventManager.php b/vendor/ZF2/library/Zend/EventManager/EventManager.php
index e2a2f35aedd..ddfb31fd5b7 100644
--- a/vendor/ZF2/library/Zend/EventManager/EventManager.php
+++ b/vendor/ZF2/library/Zend/EventManager/EventManager.php
@@ -12,7 +12,6 @@ namespace Zend\EventManager;
 
 use ArrayAccess;
 use ArrayObject;
-use SplPriorityQueue;
 use Traversable;
 use Zend\Stdlib\CallbackHandler;
 use Zend\Stdlib\PriorityQueue;
@@ -79,7 +78,7 @@ class EventManager implements EventManagerInterface
     /**
      * Set shared event manager
      *
-     * @param  SharedEventManagerInterface $connections
+     * @param SharedEventManagerInterface $sharedEventManager
      * @return EventManager
      */
     public function setSharedManager(SharedEventManagerInterface $sharedEventManager)
diff --git a/vendor/ZF2/library/Zend/EventManager/SharedEventManager.php b/vendor/ZF2/library/Zend/EventManager/SharedEventManager.php
index 9f101985499..90a2c32fb5a 100644
--- a/vendor/ZF2/library/Zend/EventManager/SharedEventManager.php
+++ b/vendor/ZF2/library/Zend/EventManager/SharedEventManager.php
@@ -59,7 +59,7 @@ class SharedEventManager implements SharedEventManagerInterface
      * @param  string $event
      * @param  callable $callback PHP Callback
      * @param  int $priority Priority at which listener should execute
-     * @return CallbackHander|array Either CallbackHandler or array of CallbackHandlers
+     * @return CallbackHandler|array Either CallbackHandler or array of CallbackHandlers
      */
     public function attach($id, $event, $callback, $priority = 1)
     {
diff --git a/vendor/ZF2/library/Zend/Feed/Exception/ExceptionInterface.php b/vendor/ZF2/library/Zend/Feed/Exception/ExceptionInterface.php
index d2ba7bfabbe..4bf31c454e1 100644
--- a/vendor/ZF2/library/Zend/Feed/Exception/ExceptionInterface.php
+++ b/vendor/ZF2/library/Zend/Feed/Exception/ExceptionInterface.php
@@ -16,4 +16,3 @@ namespace Zend\Feed\Exception;
  */
 interface ExceptionInterface
 {}
-
diff --git a/vendor/ZF2/library/Zend/Feed/PubSubHubbub/HttpResponse.php b/vendor/ZF2/library/Zend/Feed/PubSubHubbub/HttpResponse.php
index b4fde02edb9..d9803fbc93c 100644
--- a/vendor/ZF2/library/Zend/Feed/PubSubHubbub/HttpResponse.php
+++ b/vendor/ZF2/library/Zend/Feed/PubSubHubbub/HttpResponse.php
@@ -74,7 +74,6 @@ class HttpResponse
         }
         if (!$httpCodeSent) {
             header('HTTP/1.1 ' . $this->statusCode);
-            $httpCodeSent = true;
         }
     }
 
diff --git a/vendor/ZF2/library/Zend/Feed/PubSubHubbub/PubSubHubbub.php b/vendor/ZF2/library/Zend/Feed/PubSubHubbub/PubSubHubbub.php
index 114f563b805..5eadfc132c5 100644
--- a/vendor/ZF2/library/Zend/Feed/PubSubHubbub/PubSubHubbub.php
+++ b/vendor/ZF2/library/Zend/Feed/PubSubHubbub/PubSubHubbub.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Feed\PubSubHubbub;
 
+use Zend\Escaper\Escaper;
 use Zend\Feed\Reader;
 use Zend\Http;
 
@@ -32,10 +33,15 @@ class PubSubHubbub
     const SUBSCRIPTION_NOTVERIFIED = 'not_verified';
     const SUBSCRIPTION_TODELETE    = 'to_delete';
 
+    /**
+     * @var Escaper
+     */
+    protected static $escaper;
+
     /**
      * Singleton instance if required of the HTTP client
      *
-     * @var \Zend\Http\Client
+     * @var Http\Client
      */
     protected static $httpClient = null;
 
@@ -67,7 +73,7 @@ class PubSubHubbub
      * Allows the external environment to make Zend_Oauth use a specific
      * Client instance.
      *
-     * @param  \Zend\Http\Client $httpClient
+     * @param  Http\Client $httpClient
      * @return void
      */
     public static function setHttpClient(Http\Client $httpClient)
@@ -80,15 +86,15 @@ class PubSubHubbub
      * the instance is reset and cleared of previous parameters GET/POST.
      * Headers are NOT reset but handled by this component if applicable.
      *
-     * @return \Zend\Http\Client
+     * @return Http\Client
      */
     public static function getHttpClient()
     {
-        if (!isset(self::$httpClient)):
+        if (!isset(self::$httpClient)) {
             self::$httpClient = new Http\Client;
-        else:
+        } else {
             self::$httpClient->resetParameters();
-        endif;
+        }
         return self::$httpClient;
     }
 
@@ -103,6 +109,33 @@ class PubSubHubbub
         self::$httpClient = null;
     }
 
+    /**
+     * Set the Escaper instance
+     *
+     * If null, resets the instance
+     *
+     * @param  null|Escaper $escaper
+     */
+    public static function setEscaper(Escaper $escaper = null)
+    {
+        static::$escaper = $escaper;
+    }
+
+    /**
+     * Get the Escaper instance
+     *
+     * If none registered, lazy-loads an instance.
+     *
+     * @return Escaper
+     */
+    public static function getEscaper()
+    {
+        if (null === static::$escaper) {
+            static::setEscaper(new Escaper());
+        }
+        return static::$escaper;
+    }
+
     /**
      * RFC 3986 safe url encoding method
      *
@@ -111,7 +144,8 @@ class PubSubHubbub
      */
     public static function urlencode($string)
     {
-        $rawencoded = rawurlencode($string);
+        $escaper    = static::getEscaper();
+        $rawencoded = $escaper->escapeUrl($string);
         $rfcencoded = str_replace('%7E', '~', $rawencoded);
         return $rfcencoded;
     }
diff --git a/vendor/ZF2/library/Zend/Feed/PubSubHubbub/Publisher.php b/vendor/ZF2/library/Zend/Feed/PubSubHubbub/Publisher.php
index f5b60a2065c..59e8969dc89 100644
--- a/vendor/ZF2/library/Zend/Feed/PubSubHubbub/Publisher.php
+++ b/vendor/ZF2/library/Zend/Feed/PubSubHubbub/Publisher.php
@@ -108,8 +108,8 @@ class Publisher
     {
         if (empty($url) || !is_string($url) || !Uri\UriFactory::factory($url)->isValid()) {
             throw new Exception\InvalidArgumentException('Invalid parameter "url"'
-                .' of "' . $url . '" must be a non-empty string and a valid'
-                .'URL');
+                . ' of "' . $url . '" must be a non-empty string and a valid'
+                . 'URL');
         }
         $this->hubUrls[] = $url;
         return $this;
@@ -167,8 +167,8 @@ class Publisher
     {
         if (empty($url) || !is_string($url) || !Uri\UriFactory::factory($url)->isValid()) {
             throw new Exception\InvalidArgumentException('Invalid parameter "url"'
-                .' of "' . $url . '" must be a non-empty string and a valid'
-                .'URL');
+                . ' of "' . $url . '" must be a non-empty string and a valid'
+                . 'URL');
         }
         $this->updatedTopicUrls[] = $url;
         return $this;
@@ -227,8 +227,8 @@ class Publisher
     {
         if (empty($url) || !is_string($url) || !Uri\UriFactory::factory($url)->isValid()) {
             throw new Exception\InvalidArgumentException('Invalid parameter "url"'
-                .' of "' . $url . '" must be a non-empty string and a valid'
-                .'URL');
+                . ' of "' . $url . '" must be a non-empty string and a valid'
+                . 'URL');
         }
         $client = $this->_getHttpClient();
         $client->setUri($url);
@@ -289,7 +289,7 @@ class Publisher
         }
         if (empty($name) || !is_string($name)) {
             throw new Exception\InvalidArgumentException('Invalid parameter "name"'
-                .' of "' . $name . '" must be a non-empty string');
+                . ' of "' . $name . '" must be a non-empty string');
         }
         if ($value === null) {
             $this->removeParameter($name);
@@ -297,7 +297,7 @@ class Publisher
         }
         if (empty($value) || (!is_string($value) && $value !== null)) {
             throw new Exception\InvalidArgumentException('Invalid parameter "value"'
-                .' of "' . $value . '" must be a non-empty string');
+                . ' of "' . $value . '" must be a non-empty string');
         }
         $this->parameters[$name] = $value;
         return $this;
@@ -328,7 +328,7 @@ class Publisher
     {
         if (empty($name) || !is_string($name)) {
             throw new Exception\InvalidArgumentException('Invalid parameter "name"'
-                .' of "' . $name . '" must be a non-empty string');
+                . ' of "' . $name . '" must be a non-empty string');
         }
         if (array_key_exists($name, $this->parameters)) {
             unset($this->parameters[$name]);
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/AbstractFeed.php b/vendor/ZF2/library/Zend/Feed/Reader/AbstractFeed.php
index 167e2b7c62e..ecbead32359 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/AbstractFeed.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/AbstractFeed.php
@@ -72,7 +72,7 @@ abstract class AbstractFeed implements Feed\FeedInterface
     /**
      * Constructor
      *
-     * @param DomDocument The DOM object for the feed's XML
+     * @param DomDocument $domDocument The DOM object for the feed's XML
      * @param string $type Feed type
      */
     public function __construct(DOMDocument $domDocument, $type = null)
@@ -209,7 +209,7 @@ abstract class AbstractFeed implements Feed\FeedInterface
     /**
      * Return the current feed key
      *
-     * @return unknown
+     * @return int
      */
     public function key()
     {
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Entry/AbstractEntry.php b/vendor/ZF2/library/Zend/Feed/Reader/Entry/AbstractEntry.php
index 5a21d5e873a..db36d31b17c 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Entry/AbstractEntry.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Entry/AbstractEntry.php
@@ -39,7 +39,7 @@ abstract class AbstractEntry
     /**
      * Entry instance
      *
-     * @var Zend_Feed_Entry_Interface
+     * @var DOMElement
      */
     protected $entry = null;
 
@@ -160,7 +160,7 @@ abstract class AbstractEntry
      * Set the XPath query
      *
      * @param  DOMXPath $xpath
-     * @return Zend_Feed_Reader_Entry_EntryAbstract
+     * @return AbstractEntry
      */
     public function setXpath(DOMXPath $xpath)
     {
@@ -182,7 +182,7 @@ abstract class AbstractEntry
      * Return an Extension object with the matching name (postfixed with _Entry)
      *
      * @param string $name
-     * @return Zend_Feed_Reader_Extension_EntryAbstract
+     * @return Reader\Extension\AbstractEntry
      */
     public function getExtension($name)
     {
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Entry/EntryInterface.php b/vendor/ZF2/library/Zend/Feed/Reader/Entry/EntryInterface.php
index 4d0fc31d1c7..57a0b2eb653 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Entry/EntryInterface.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Entry/EntryInterface.php
@@ -64,7 +64,7 @@ interface EntryInterface
     /**
      * Get the entry enclosure
      *
-     * @return stdClass
+     * @return \stdClass
      */
     public function getEnclosure();
 
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Entry/Rss.php b/vendor/ZF2/library/Zend/Feed/Reader/Entry/Rss.php
index 586a5f6aa2f..deb3d9f16db 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Entry/Rss.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Entry/Rss.php
@@ -71,7 +71,7 @@ class Rss extends AbstractEntry implements EntryInterface
     /**
      * Get an author entry
      *
-     * @param DOMElement $element
+     * @param int $index
      * @return string
      */
     public function getAuthor($index = 0)
@@ -185,6 +185,7 @@ class Rss extends AbstractEntry implements EntryInterface
     /**
      * Get the entry's date of modification
      *
+     * @throws Exception\RuntimeException
      * @return string
      */
     public function getDateModified()
@@ -199,7 +200,7 @@ class Rss extends AbstractEntry implements EntryInterface
         if ($this->getType() !== Reader\Reader::TYPE_RSS_10
             && $this->getType() !== Reader\Reader::TYPE_RSS_090
         ) {
-            $dateModified = $this->xpath->evaluate('string('.$this->xpathQueryRss.'/pubDate)');
+            $dateModified = $this->xpath->evaluate('string(' . $this->xpathQueryRss . '/pubDate)');
             if ($dateModified) {
                 $dateModifiedParsed = strtotime($dateModified);
                 if ($dateModifiedParsed) {
@@ -259,9 +260,9 @@ class Rss extends AbstractEntry implements EntryInterface
         if ($this->getType() !== Reader\Reader::TYPE_RSS_10
             && $this->getType() !== Reader\Reader::TYPE_RSS_090
         ) {
-            $description = $this->xpath->evaluate('string('.$this->xpathQueryRss.'/description)');
+            $description = $this->xpath->evaluate('string(' . $this->xpathQueryRss . '/description)');
         } else {
-            $description = $this->xpath->evaluate('string('.$this->xpathQueryRdf.'/rss:description)');
+            $description = $this->xpath->evaluate('string(' . $this->xpathQueryRdf . '/rss:description)');
         }
 
         if (!$description) {
@@ -329,7 +330,7 @@ class Rss extends AbstractEntry implements EntryInterface
         if ($this->getType() !== Reader\Reader::TYPE_RSS_10
             && $this->getType() !== Reader\Reader::TYPE_RSS_090
         ) {
-            $id = $this->xpath->evaluate('string('.$this->xpathQueryRss.'/guid)');
+            $id = $this->xpath->evaluate('string(' . $this->xpathQueryRss . '/guid)');
         }
 
         if (!$id) {
@@ -389,9 +390,9 @@ class Rss extends AbstractEntry implements EntryInterface
 
         if ($this->getType() !== Reader\Reader::TYPE_RSS_10 &&
             $this->getType() !== Reader\Reader::TYPE_RSS_090) {
-            $list = $this->xpath->query($this->xpathQueryRss.'//link');
+            $list = $this->xpath->query($this->xpathQueryRss . '//link');
         } else {
-            $list = $this->xpath->query($this->xpathQueryRdf.'//rss:link');
+            $list = $this->xpath->query($this->xpathQueryRdf . '//rss:link');
         }
 
         if (!$list->length) {
@@ -420,9 +421,9 @@ class Rss extends AbstractEntry implements EntryInterface
 
         if ($this->getType() !== Reader\Reader::TYPE_RSS_10 &&
             $this->getType() !== Reader\Reader::TYPE_RSS_090) {
-            $list = $this->xpath->query($this->xpathQueryRss.'//category');
+            $list = $this->xpath->query($this->xpathQueryRss . '//category');
         } else {
-            $list = $this->xpath->query($this->xpathQueryRdf.'//rss:category');
+            $list = $this->xpath->query($this->xpathQueryRdf . '//rss:category');
         }
 
         if ($list->length) {
@@ -473,9 +474,9 @@ class Rss extends AbstractEntry implements EntryInterface
         if ($this->getType() !== Reader\Reader::TYPE_RSS_10
             && $this->getType() !== Reader\Reader::TYPE_RSS_090
         ) {
-            $title = $this->xpath->evaluate('string('.$this->xpathQueryRss.'/title)');
+            $title = $this->xpath->evaluate('string(' . $this->xpathQueryRss . '/title)');
         } else {
-            $title = $this->xpath->evaluate('string('.$this->xpathQueryRdf.'/rss:title)');
+            $title = $this->xpath->evaluate('string(' . $this->xpathQueryRdf . '/rss:title)');
         }
 
         if (!$title) {
@@ -541,7 +542,7 @@ class Rss extends AbstractEntry implements EntryInterface
         if ($this->getType() !== Reader\Reader::TYPE_RSS_10
             && $this->getType() !== Reader\Reader::TYPE_RSS_090
         ) {
-            $commentlink = $this->xpath->evaluate('string('.$this->xpathQueryRss.'/comments)');
+            $commentlink = $this->xpath->evaluate('string(' . $this->xpathQueryRss . '/comments)');
         }
 
         if (!$commentlink) {
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Extension/AbstractEntry.php b/vendor/ZF2/library/Zend/Feed/Reader/Extension/AbstractEntry.php
index e60d2de6603..c040f0bd780 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Extension/AbstractEntry.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Extension/AbstractEntry.php
@@ -38,7 +38,7 @@ abstract class AbstractEntry
     /**
      * Entry instance
      *
-     * @var Zend_Feed_Entry_Abstract
+     * @var DOMElement
      */
     protected $entry = null;
 
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Extension/AbstractFeed.php b/vendor/ZF2/library/Zend/Feed/Reader/Extension/AbstractFeed.php
index 3770fc83a54..557e114e88a 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Extension/AbstractFeed.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Extension/AbstractFeed.php
@@ -166,6 +166,7 @@ abstract class AbstractFeed
     /**
      * Set the XPath prefix
      *
+     * @param string $prefix
      * @return void
      */
     public function setXpathPrefix($prefix)
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Extension/Atom/Entry.php b/vendor/ZF2/library/Zend/Feed/Reader/Extension/Atom/Entry.php
index 5e0dbd2c4d7..044d2d56625 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Extension/Atom/Entry.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Extension/Atom/Entry.php
@@ -453,6 +453,7 @@ class Entry extends Extension\AbstractEntry
     /**
      * Returns a URI pointing to a feed of all comments for this entry
      *
+     * @param string $type
      * @return string
      */
     public function getCommentFeedLink($type = 'atom')
@@ -464,7 +465,7 @@ class Entry extends Extension\AbstractEntry
         $link = null;
 
         $list = $this->getXpath()->query(
-            $this->getXpathPrefix() . '//atom:link[@rel="replies" and @type="application/'.$type.'+xml"]/@href'
+            $this->getXpathPrefix() . '//atom:link[@rel="replies" and @type="application/' . $type.'+xml"]/@href'
         );
 
         if ($list->length) {
@@ -612,6 +613,8 @@ class Entry extends Extension\AbstractEntry
 
     /**
      * Detect the presence of any Atom namespaces in use
+     *
+     * @return string
      */
     protected function getAtomType()
     {
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Extension/Content/Entry.php b/vendor/ZF2/library/Zend/Feed/Reader/Extension/Content/Entry.php
index bdcb8d65ae0..09baf12d68a 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Extension/Content/Entry.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Extension/Content/Entry.php
@@ -25,9 +25,9 @@ class Entry extends Extension\AbstractEntry
         if ($this->getType() !== Reader\Reader::TYPE_RSS_10
             && $this->getType() !== Reader\Reader::TYPE_RSS_090
         ) {
-            $content = $this->xpath->evaluate('string('.$this->getXpathPrefix().'/content:encoded)');
+            $content = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/content:encoded)');
         } else {
-            $content = $this->xpath->evaluate('string('.$this->getXpathPrefix().'/content:encoded)');
+            $content = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/content:encoded)');
         }
         return $content;
     }
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Extension/CreativeCommons/Entry.php b/vendor/ZF2/library/Zend/Feed/Reader/Extension/CreativeCommons/Entry.php
index 551d5f90e90..261421d1ee3 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Extension/CreativeCommons/Entry.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Extension/CreativeCommons/Entry.php
@@ -22,6 +22,7 @@ class Entry extends Extension\AbstractEntry
     /**
      * Get the entry license
      *
+     * @param int $index
      * @return string|null
      */
     public function getLicense($index = 0)
@@ -43,12 +44,12 @@ class Entry extends Extension\AbstractEntry
     public function getLicenses()
     {
         $name = 'licenses';
-        if (array_key_exists($name, $this->_data)) {
-            return $this->_data[$name];
+        if (array_key_exists($name, $this->data)) {
+            return $this->data[$name];
         }
 
         $licenses = array();
-        $list = $this->_xpath->evaluate($this->getXpathPrefix() . '//cc:license');
+        $list = $this->xpath->evaluate($this->getXpathPrefix() . '//cc:license');
 
         if ($list->length) {
             foreach ($list as $license) {
@@ -58,22 +59,22 @@ class Entry extends Extension\AbstractEntry
             $licenses = array_unique($licenses);
         } else {
             $cc = new Feed(
-                $this->_domDocument, $this->_data['type'], $this->_xpath
+                $this->domDocument, $this->data['type'], $this->xpath
             );
             $licenses = $cc->getLicenses();
         }
 
-        $this->_data[$name] = $licenses;
+        $this->data[$name] = $licenses;
 
-        return $this->_data[$name];
+        return $this->data[$name];
     }
 
     /**
      * Register Creative Commons namespaces
      *
      */
-    protected function _registerNamespaces()
+    protected function registerNamespaces()
     {
-        $this->_xpath->registerNamespace('cc', 'http://backend.userland.com/creativeCommonsRssModule');
+        $this->xpath->registerNamespace('cc', 'http://backend.userland.com/creativeCommonsRssModule');
     }
 }
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Extension/CreativeCommons/Feed.php b/vendor/ZF2/library/Zend/Feed/Reader/Extension/CreativeCommons/Feed.php
index dc443fa218b..95b668d210b 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Extension/CreativeCommons/Feed.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Extension/CreativeCommons/Feed.php
@@ -22,6 +22,7 @@ class Feed extends Extension\AbstractFeed
     /**
      * Get the entry license
      *
+     * @param int $index
      * @return string|null
      */
     public function getLicense($index = 0)
@@ -43,12 +44,12 @@ class Feed extends Extension\AbstractFeed
     public function getLicenses()
     {
         $name = 'licenses';
-        if (array_key_exists($name, $this->_data)) {
-            return $this->_data[$name];
+        if (array_key_exists($name, $this->data)) {
+            return $this->data[$name];
         }
 
         $licenses = array();
-        $list = $this->_xpath->evaluate('channel/cc:license');
+        $list = $this->xpath->evaluate('channel/cc:license');
 
         if ($list->length) {
             foreach ($list as $license) {
@@ -58,9 +59,9 @@ class Feed extends Extension\AbstractFeed
             $licenses = array_unique($licenses);
         }
 
-        $this->_data[$name] = $licenses;
+        $this->data[$name] = $licenses;
 
-        return $this->_data[$name];
+        return $this->data[$name];
     }
 
     /**
@@ -68,8 +69,8 @@ class Feed extends Extension\AbstractFeed
      *
      * @return void
      */
-    protected function _registerNamespaces()
+    protected function registerNamespaces()
     {
-        $this->_xpath->registerNamespace('cc', 'http://backend.userland.com/creativeCommonsRssModule');
+        $this->xpath->registerNamespace('cc', 'http://backend.userland.com/creativeCommonsRssModule');
     }
 }
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 beb04c42d6f..f446c25d12b 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Extension/DublinCore/Entry.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Extension/DublinCore/Entry.php
@@ -25,7 +25,7 @@ class Entry extends Extension\AbstractEntry
     /**
      * Get an author entry
      *
-     * @param DOMElement $element
+     * @param int $index
      * @return string
      */
     public function getAuthor($index = 0)
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Extension/Syndication/Feed.php b/vendor/ZF2/library/Zend/Feed/Reader/Extension/Syndication/Feed.php
index 2e88d0ab905..219f55d0b6c 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Extension/Syndication/Feed.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Extension/Syndication/Feed.php
@@ -32,7 +32,7 @@ class Feed extends \Zend\Feed\Reader\Extension\AbstractFeed
         $period = $this->_getData($name);
 
         if ($period === null) {
-            $this->_data[$name] = 'daily';
+            $this->data[$name] = 'daily';
             return 'daily'; //Default specified by spec
         }
 
@@ -59,7 +59,7 @@ class Feed extends \Zend\Feed\Reader\Extension\AbstractFeed
         $freq = $this->_getData($name, 'number');
 
         if (!$freq || $freq < 1) {
-            $this->_data[$name] = 1;
+            $this->data[$name] = 1;
             return 1;
         }
 
@@ -76,7 +76,7 @@ class Feed extends \Zend\Feed\Reader\Extension\AbstractFeed
         $freq = $this->_getData($name, 'number');
 
         if (!$freq || $freq < 1) {
-            $this->_data[$name] = 1;
+            $this->data[$name] = 1;
             $freq = 1;
         }
 
@@ -125,17 +125,17 @@ class Feed extends \Zend\Feed\Reader\Extension\AbstractFeed
      */
     private function _getData($name, $type = 'string')
     {
-        if (array_key_exists($name, $this->_data)) {
-            return $this->_data[$name];
+        if (array_key_exists($name, $this->data)) {
+            return $this->data[$name];
         }
 
-        $data = $this->_xpath->evaluate($type . '(' . $this->getXpathPrefix() . '/syn10:' . $name . ')');
+        $data = $this->xpath->evaluate($type . '(' . $this->getXpathPrefix() . '/syn10:' . $name . ')');
 
         if (!$data) {
             $data = null;
         }
 
-        $this->_data[$name] = $data;
+        $this->data[$name] = $data;
 
         return $data;
     }
@@ -145,8 +145,8 @@ class Feed extends \Zend\Feed\Reader\Extension\AbstractFeed
      *
      * @return void
      */
-    protected function _registerNamespaces()
+    protected function registerNamespaces()
     {
-        $this->_xpath->registerNamespace('syn10', 'http://purl.org/rss/1.0/modules/syndication/');
+        $this->xpath->registerNamespace('syn10', 'http://purl.org/rss/1.0/modules/syndication/');
     }
 }
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Extension/Thread/Entry.php b/vendor/ZF2/library/Zend/Feed/Reader/Extension/Thread/Entry.php
index 604154fdb01..81012b464e1 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Extension/Thread/Entry.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Extension/Thread/Entry.php
@@ -44,7 +44,6 @@ class Entry extends Extension\AbstractEntry
      * Get the entry data specified by name
      *
      * @param  string $name
-     * @param  string $type
      * @return mixed|null
      */
     protected function getData($name)
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Feed/AbstractFeed.php b/vendor/ZF2/library/Zend/Feed/Reader/Feed/AbstractFeed.php
index 73b42f002c0..fe6435dad6a 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Feed/AbstractFeed.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Feed/AbstractFeed.php
@@ -11,6 +11,7 @@
 namespace Zend\Feed\Reader\Feed;
 
 use DOMDocument;
+use DOMElement;
 use DOMXPath;
 use Zend\Feed\Reader;
 use Zend\Feed\Reader\Exception;
@@ -73,7 +74,7 @@ abstract class AbstractFeed implements FeedInterface
     /**
      * Constructor
      *
-     * @param DOMDocument The DOM object for the feed's XML
+     * @param DOMDocument $domDocument The DOM object for the feed's XML
      * @param string $type Feed type
      */
     public function __construct(DOMDocument $domDocument, $type = null)
@@ -210,7 +211,7 @@ abstract class AbstractFeed implements FeedInterface
     /**
      * Return the current feed key
      *
-     * @return unknown
+     * @return int
      */
     public function key()
     {
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Feed/Rss.php b/vendor/ZF2/library/Zend/Feed/Reader/Feed/Rss.php
index b0b1e0b958e..656d7c376dd 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Feed/Rss.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Feed/Rss.php
@@ -253,6 +253,7 @@ class Rss extends AbstractFeed
     /**
      * Get the feed lastBuild date
      *
+     * @throws Exception\RuntimeException
      * @return DateTime
      */
     public function getLastBuildDate()
diff --git a/vendor/ZF2/library/Zend/Feed/Reader/Reader.php b/vendor/ZF2/library/Zend/Feed/Reader/Reader.php
index 2edc6851d70..5be5eee0164 100644
--- a/vendor/ZF2/library/Zend/Feed/Reader/Reader.php
+++ b/vendor/ZF2/library/Zend/Feed/Reader/Reader.php
@@ -183,13 +183,13 @@ class Reader
     }
 
     /**
-     * Import a feed by providing a URL
+     * Import a feed by providing a URI
      *
-     * @param  string $url The URL to the feed
+     * @param  string $uri The URI to the feed
      * @param  string $etag OPTIONAL Last received ETag for this resource
      * @param  string $lastModified OPTIONAL Last-Modified value for this resource
      * @return Reader
-     * @throws Exception\ExceptionInterface
+     * @throws Exception\RuntimeException
      */
     public static function import($uri, $etag = null, $lastModified = null)
     {
@@ -207,10 +207,10 @@ class Reader
             $data = $cache->getItem($cacheId);
             if ($data) {
                 if ($etag === null) {
-                    $etag = $cache->getItem($cacheId.'_etag');
+                    $etag = $cache->getItem($cacheId . '_etag');
                 }
                 if ($lastModified === null) {
-                    $lastModified = $cache->getItem($cacheId.'_lastmodified');;
+                    $lastModified = $cache->getItem($cacheId . '_lastmodified');
                 }
                 if ($etag) {
                     $headers->addHeaderLine('If-None-Match', $etag);
@@ -264,6 +264,7 @@ class Reader
      *
      * @param  string $string
      * @return Feed\FeedInterface
+     * @throws Exception\InvalidArgumentException
      * @throws Exception\RuntimeException
      */
     public static function importString($string)
@@ -372,8 +373,10 @@ class Reader
      * Detect the feed type of the provided feed
      *
      * @param  Feed\AbstractFeed|DOMDocument|string $feed
+     * @param  bool $specOnly
      * @return string
-     * @throws Exception\ExceptionInterface
+     * @throws Exception\InvalidArgumentException
+     * @throws Exception\RuntimeException
      */
     public static function detectType($feed, $specOnly = false)
     {
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/AbstractFeed.php b/vendor/ZF2/library/Zend/Feed/Writer/AbstractFeed.php
index faea8933638..36f984ec3b1 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/AbstractFeed.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/AbstractFeed.php
@@ -36,7 +36,7 @@ class AbstractFeed
     protected $type = null;
 
     /**
-     * @var $_extensions
+     * @var $extensions
      */
     protected $extensions;
 
@@ -109,7 +109,7 @@ class AbstractFeed
     /**
      * Set the copyright entry
      *
-     * @return string|null
+     * @param string $copyright
      * @throws Exception\InvalidArgumentException
      */
     public function setCopyright($copyright)
@@ -180,7 +180,7 @@ class AbstractFeed
     /**
      * Set the feed description
      *
-     * @return string|null
+     * @param string $description
      * @throws Exception\InvalidArgumentException
      */
     public function setDescription($description)
@@ -194,8 +194,11 @@ class AbstractFeed
     /**
      * Set the feed generator entry
      *
-     * @return string|null
+     * @param array|string $name
+     * @param null|string $version
+     * @param null|string $uri
      * @throws Exception\InvalidArgumentException
+     * @return string|null
      */
     public function setGenerator($name, $version = null, $uri = null)
     {
@@ -310,7 +313,7 @@ class AbstractFeed
     /**
      * Set the feed language
      *
-     * @return string|null
+     * @param string $language
      * @throws Exception\InvalidArgumentException
      */
     public function setLanguage($language)
@@ -338,7 +341,8 @@ class AbstractFeed
     /**
      * Set a link to an XML feed for any feed type/version
      *
-     * @return string|null
+     * @param string $link
+     * @param string $type
      * @throws Exception\InvalidArgumentException
      */
     public function setFeedLink($link, $type)
@@ -355,7 +359,7 @@ class AbstractFeed
     /**
      * Set the feed title
      *
-     * @return string|null
+     * @param string $title
      * @throws Exception\InvalidArgumentException
      */
     public function setTitle($title)
@@ -428,7 +432,7 @@ class AbstractFeed
     /**
      * Add a feed category
      *
-     * @param string $category
+     * @param array $category
      * @throws Exception\InvalidArgumentException
      */
     public function addCategory(array $category)
@@ -769,6 +773,7 @@ class AbstractFeed
     /**
      * Load extensions from Zend_Feed_Writer
      *
+     * @throws Exception\RuntimeException
      * @return void
      */
     protected function _loadExtensions()
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Entry.php b/vendor/ZF2/library/Zend/Feed/Writer/Entry.php
index 11925d7c218..21c0bbe995b 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Entry.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Entry.php
@@ -112,7 +112,7 @@ class Entry
     /**
      * Set the feed character encoding
      *
-     * @return string|null
+     * @param string $encoding
      * @throws Exception\InvalidArgumentException
      */
     public function setEncoding($encoding)
@@ -139,7 +139,7 @@ class Entry
     /**
      * Set the copyright entry
      *
-     * @return string|null
+     * @param string $copyright
      * @throws Exception\InvalidArgumentException
      */
     public function setCopyright($copyright)
@@ -153,7 +153,7 @@ class Entry
     /**
      * Set the entry's content
      *
-     * @return string|null
+     * @param string $content
      * @throws Exception\InvalidArgumentException
      */
     public function setContent($content)
@@ -167,7 +167,7 @@ class Entry
     /**
      * Set the feed creation date
      *
-     * @return string|null|DateTime
+     * @param string|null|DateTime $date
      * @throws Exception\InvalidArgumentException
      */
     public function setDateCreated($date = null)
@@ -185,7 +185,7 @@ class Entry
     /**
      * Set the feed modification date
      *
-     * @return string|null|DateTime
+     * @param string|null|DateTime $date
      * @throws Exception\InvalidArgumentException
      */
     public function setDateModified($date = null)
@@ -203,7 +203,7 @@ class Entry
     /**
      * Set the feed description
      *
-     * @return string|null
+     * @param string $description
      * @throws Exception\InvalidArgumentException
      */
     public function setDescription($description)
@@ -217,7 +217,7 @@ class Entry
     /**
      * Set the feed ID
      *
-     * @return string|null
+     * @param string $id
      * @throws Exception\InvalidArgumentException
      */
     public function setId($id)
@@ -231,7 +231,7 @@ class Entry
     /**
      * Set a link to the HTML source of this entry
      *
-     * @return string|null
+     * @param string $link
      * @throws Exception\InvalidArgumentException
      */
     public function setLink($link)
@@ -245,13 +245,13 @@ class Entry
     /**
      * Set the number of comments associated with this entry
      *
-     * @return string|null
+     * @param int $count
      * @throws Exception\InvalidArgumentException
      */
     public function setCommentCount($count)
     {
-        if (empty($count) || !is_numeric($count) || (int) $count < 0) {
-            throw new Exception\InvalidArgumentException('Invalid parameter: "count" must be a non-empty integer number');
+        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;
     }
@@ -259,7 +259,7 @@ class Entry
     /**
      * Set a link to a HTML page containing comments associated with this entry
      *
-     * @return string|null
+     * @param string $link
      * @throws Exception\InvalidArgumentException
      */
     public function setCommentLink($link)
@@ -273,7 +273,7 @@ class Entry
     /**
      * Set a link to an XML feed for any comments associated with this entry
      *
-     * @return string|null
+     * @param array $link
      * @throws Exception\InvalidArgumentException
      */
     public function setCommentFeedLink(array $link)
@@ -296,7 +296,7 @@ class Entry
      * Each link is an array with keys "uri" and "type", where type is one of:
      * "atom", "rss" or "rdf".
      *
-     * @return string|null
+     * @param array $links
      */
     public function setCommentFeedLinks(array $links)
     {
@@ -308,7 +308,7 @@ class Entry
     /**
      * Set the feed title
      *
-     * @return string|null
+     * @param string $title
      * @throws Exception\InvalidArgumentException
      */
     public function setTitle($title)
@@ -493,7 +493,7 @@ class Entry
     /**
      * Add a entry category
      *
-     * @param string $category
+     * @param array $category
      * @throws Exception\InvalidArgumentException
      */
     public function addCategory(array $category)
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Extension/ITunes/Entry.php b/vendor/ZF2/library/Zend/Feed/Writer/Extension/ITunes/Entry.php
index ce6c400a7ef..d6b9ce9cb7e 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Extension/ITunes/Entry.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Extension/ITunes/Entry.php
@@ -37,7 +37,7 @@ class Entry
      * Set feed encoding
      *
      * @param  string $enc
-     * @return Zend_Feed_Writer_Extension_ITunes_Entry
+     * @return Entry
      */
     public function setEncoding($enc)
     {
@@ -209,6 +209,7 @@ class Entry
      *
      * @param  string $method
      * @param  array $params
+     * @throws Writer\Exception\BadMethodCallException
      * @return mixed
      */
     public function __call($method, array $params)
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Extension/ITunes/Feed.php b/vendor/ZF2/library/Zend/Feed/Writer/Extension/ITunes/Feed.php
index 33a3684b6c2..25d1d7bfece 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Extension/ITunes/Feed.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Extension/ITunes/Feed.php
@@ -264,7 +264,7 @@ class Feed
     /**
      * Add feed owner
      *
-     * @param  string $value
+     * @param  array $value
      * @return Feed
      * @throws Writer\Exception\InvalidArgumentException
      */
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Extension/Threading/Renderer/Entry.php b/vendor/ZF2/library/Zend/Feed/Writer/Extension/Threading/Renderer/Entry.php
index 62015e6b353..c146434dc46 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Extension/Threading/Renderer/Entry.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Extension/Threading/Renderer/Entry.php
@@ -100,7 +100,7 @@ class Entry extends Extension\AbstractRenderer
         foreach ($links as $link) {
             $flink = $this->dom->createElement('link');
             $flink->setAttribute('rel', 'replies');
-            $flink->setAttribute('type', 'application/'. $link['type'] .'+xml');
+            $flink->setAttribute('type', 'application/' . $link['type'] . '+xml');
             $flink->setAttribute('href', $link['uri']);
             $count = $this->getDataContainer()->getCommentCount();
             if ($count !== null) {
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Feed.php b/vendor/ZF2/library/Zend/Feed/Writer/Feed.php
index b0100ffaf1a..3afc5507b14 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Feed.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Feed.php
@@ -37,7 +37,7 @@ class Feed extends AbstractFeed implements Iterator, Countable
     protected $entriesKey = 0;
 
     /**
-     * Creates a new Zend_Feed_Writer_Entry data container for use. This is NOT
+     * Creates a new Zend\Feed\Writer\Entry data container for use. This is NOT
      * added to the current feed automatically, but is necessary to create a
      * container with some initial values preset based on the current feed data.
      *
@@ -66,7 +66,7 @@ class Feed extends AbstractFeed implements Iterator, Countable
     }
 
     /**
-     * Creates a new Zend_Feed_Writer_Deleted data container for use. This is NOT
+     * Creates a new Zend\Feed\Writer\Deleted data container for use. This is NOT
      * added to the current feed automatically, but is necessary to create a
      * container with some initial values preset based on the current feed data.
      *
@@ -102,10 +102,10 @@ class Feed extends AbstractFeed implements Iterator, Countable
      */
     public function removeEntry($index)
     {
-        if (isset($this->entries[$index])) {
-            unset($this->entries[$index]);
+        if (!isset($this->entries[$index])) {
+            throw new Exception\InvalidArgumentException('Undefined index: ' . $index . '. Entry does not exist.');
         }
-        throw new Exception\InvalidArgumentException('Undefined index: ' . $index . '. Entry does not exist.');
+        unset($this->entries[$index]);
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/FeedFactory.php b/vendor/ZF2/library/Zend/Feed/Writer/FeedFactory.php
index 2abc8bc3c0b..899895e2905 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/FeedFactory.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/FeedFactory.php
@@ -23,6 +23,7 @@ abstract class FeedFactory
      * Create and return a Feed based on data provided.
      *
      * @param  array|\Traversable $data
+     * @throws Exception\InvalidArgumentException
      * @return Feed
      */
     public static function factory($data)
@@ -88,6 +89,7 @@ abstract class FeedFactory
      *
      * @param  array|Traversable $entries
      * @param  Feed $feed
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     protected static function createEntries($entries, Feed $feed)
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Renderer/AbstractRenderer.php b/vendor/ZF2/library/Zend/Feed/Writer/Renderer/AbstractRenderer.php
index 7704ecdec11..d914fdbdcfb 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Renderer/AbstractRenderer.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Renderer/AbstractRenderer.php
@@ -27,7 +27,7 @@ class AbstractRenderer
     protected $extensions = array();
 
     /**
-     * @var mixed
+     * @var Writer\AbstractFeed
      */
     protected $container = null;
 
@@ -69,7 +69,7 @@ class AbstractRenderer
     /**
      * Constructor
      *
-     * @param  mixed $container
+     * @param Writer\AbstractFeed $container
      */
     public function __construct($container)
     {
@@ -111,7 +111,7 @@ class AbstractRenderer
     /**
      * Get data container of items being rendered
      *
-     * @return mixed
+     * @return Writer\AbstractFeed
      */
     public function getDataContainer()
     {
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Renderer/Feed/AbstractAtom.php b/vendor/ZF2/library/Zend/Feed/Writer/Renderer/Feed/AbstractAtom.php
index 10d8b55103e..c8012a06e04 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Renderer/Feed/AbstractAtom.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Renderer/Feed/AbstractAtom.php
@@ -26,9 +26,9 @@ class AbstractAtom extends Renderer\AbstractRenderer
     /**
      * Constructor
      *
-     * @param  Zend_Feed_Writer_Feed $container
+     * @param  Writer\AbstractFeed $container
      */
-    public function __construct ($container)
+    public function __construct($container)
     {
         parent::__construct($container);
     }
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Renderer/Feed/AtomSource.php b/vendor/ZF2/library/Zend/Feed/Writer/Renderer/Feed/AtomSource.php
index b71fa1e7d07..34d519ce055 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Renderer/Feed/AtomSource.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Renderer/Feed/AtomSource.php
@@ -25,7 +25,7 @@ class AtomSource extends AbstractAtom implements Renderer\RendererInterface
     /**
      * Constructor
      *
-     * @param  Zend_Feed_Writer_Feed_Source $container
+     * @param  Writer\Source $container
      */
     public function __construct (Writer\Source $container)
     {
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Renderer/Feed/Rss.php b/vendor/ZF2/library/Zend/Feed/Writer/Renderer/Feed/Rss.php
index aa4563972bf..7b0c4b69a45 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Renderer/Feed/Rss.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Renderer/Feed/Rss.php
@@ -27,7 +27,7 @@ class Rss extends Renderer\AbstractRenderer implements Renderer\RendererInterfac
     /**
      * Constructor
      *
-     * @param  Zend_Feed_Writer_Feed $container
+     * @param  Writer\Feed $container
      */
     public function __construct (Writer\Feed $container)
     {
@@ -37,13 +37,10 @@ class Rss extends Renderer\AbstractRenderer implements Renderer\RendererInterfac
     /**
      * Render RSS feed
      *
-     * @return Zend_Feed_Writer_Renderer_Feed_Rss
+     * @return self
      */
     public function render()
     {
-        if (!$this->container->getEncoding()) {
-            $this->container->setEncoding('UTF-8');
-        }
         $this->dom = new DOMDocument('1.0', $this->container->getEncoding());
         $this->dom->formatOutput = true;
         $this->dom->substituteEntities = false;
diff --git a/vendor/ZF2/library/Zend/Feed/composer.json b/vendor/ZF2/library/Zend/Feed/composer.json
index 61e61a53bf3..d98958ee8e9 100644
--- a/vendor/ZF2/library/Zend/Feed/composer.json
+++ b/vendor/ZF2/library/Zend/Feed/composer.json
@@ -14,6 +14,7 @@
     "target-dir": "Zend/Feed",
     "require": {
         "php": ">=5.3.3",
+        "zendframework/zend-escaper": "self.version",
         "zendframework/zend-stdlib": "self.version"
     },
     "suggest": {
diff --git a/vendor/ZF2/library/Zend/File/ClassFileLocator.php b/vendor/ZF2/library/Zend/File/ClassFileLocator.php
index 5ad4b73b67b..17667000219 100644
--- a/vendor/ZF2/library/Zend/File/ClassFileLocator.php
+++ b/vendor/ZF2/library/Zend/File/ClassFileLocator.php
@@ -32,6 +32,7 @@ class ClassFileLocator extends FilterIterator
      * instance.
      *
      * @param  string|DirectoryIterator $dirOrIterator
+     * @throws Exception\InvalidArgumentException
      */
     public function __construct($dirOrIterator = '.')
     {
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php b/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php
index 1961b9e0d66..537e1bacdfd 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php
@@ -583,7 +583,7 @@ abstract class AbstractAdapter implements TranslatorAwareInterface
         $translator      = $this->getTranslator();
         $this->messages = array();
         $break           = false;
-        foreach ($check as $key => $content) {
+        foreach ($check as $content) {
             if (array_key_exists('validators', $content) &&
                 in_array('Zend\Validator\File\Count', $content['validators'])) {
                 $validator = $this->validators['Zend\Validator\File\Count'];
@@ -885,8 +885,8 @@ abstract class AbstractAdapter implements TranslatorAwareInterface
     /**
      * Retrieves the filename of transferred files.
      *
-     * @param  string  $fileelement (Optional) Element to return the filename for
-     * @param  boolean $path        (Optional) Should the path also be returned ?
+     * @param  string  $file (Optional) Element to return the filename for
+     * @param  boolean $path (Optional) Should the path also be returned ?
      * @return string|array
      */
     public function getFileName($file = null, $path = true)
@@ -967,6 +967,7 @@ abstract class AbstractAdapter implements TranslatorAwareInterface
      * Retrieve destination directory value
      *
      * @param  null|string|array $files
+     * @throws Exception\InvalidArgumentException
      * @return null|string|array
      */
     public function getDestination($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 b922f4782dd..d389cd92929 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php
@@ -30,6 +30,7 @@ class Http extends AbstractAdapter
      * Constructor for Http File Transfers
      *
      * @param array $options OPTIONAL Options to set
+     * @throws Exception\PhpEnvironmentException if file uploads are not allowed
      */
     public function __construct($options = array())
     {
@@ -71,9 +72,8 @@ class Http extends AbstractAdapter
     }
 
     /**
-     * Remove an individual validator
+     * Clear the validators
      *
-     * @param  string $name
      * @return AbstractAdapter
      */
     public function clearValidators()
@@ -206,7 +206,7 @@ class Http extends AbstractAdapter
     /**
      * Checks if the file was already sent
      *
-     * @param  string|array $file Files to check
+     * @param  string|array $files Files to check
      * @return boolean
      * @throws Exception\BadMethodCallException Not implemented
      */
@@ -262,7 +262,7 @@ class Http extends AbstractAdapter
     /**
      * Has a file been uploaded ?
      *
-     * @param  array|string|null $file
+     * @param  array|string|null $files
      * @return boolean
      */
     public function isUploaded($files = null)
@@ -287,6 +287,7 @@ class Http extends AbstractAdapter
      * @param  string|array $id The upload to get the progress for
      * @return array|null
      * @throws Exception\PhpEnvironmentException whether APC nor UploadProgress extension installed
+     * @throws Exception\RuntimeException
      */
     public static function getProgress($id = null)
     {
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Transfer.php b/vendor/ZF2/library/Zend/File/Transfer/Transfer.php
index e75239c195d..89907c32e28 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Transfer.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Transfer.php
@@ -91,6 +91,7 @@ class Transfer
      *
      * @param  string $method  Method to call
      * @param  array  $options Options for this method
+     * @throws Exception\BadMethodCallException if unknown method
      * @return mixed
      */
     public function __call($method, array $options)
diff --git a/vendor/ZF2/library/Zend/Filter/Boolean.php b/vendor/ZF2/library/Zend/Filter/Boolean.php
index 0462b9c6629..9b61ca1a03c 100644
--- a/vendor/ZF2/library/Zend/Filter/Boolean.php
+++ b/vendor/ZF2/library/Zend/Filter/Boolean.php
@@ -162,6 +162,7 @@ class Boolean extends AbstractFilter
 
     /**
      * @param  array|Traversable $translations
+     * @throws Exception\InvalidArgumentException
      * @return Boolean
      */
     public function setTranslations($translations)
diff --git a/vendor/ZF2/library/Zend/Filter/Callback.php b/vendor/ZF2/library/Zend/Filter/Callback.php
index 650850ea4e5..644523ad521 100644
--- a/vendor/ZF2/library/Zend/Filter/Callback.php
+++ b/vendor/ZF2/library/Zend/Filter/Callback.php
@@ -27,7 +27,8 @@ class Callback extends AbstractFilter
     );
 
     /**
-     * @param array|Traversable $options
+     * @param callable|array|Traversable $callbackOrOptions
+     * @param array $callbackParams
      */
     public function __construct($callbackOrOptions, $callbackParams = array())
     {
@@ -43,7 +44,8 @@ class Callback extends AbstractFilter
      * Sets a new callback for this filter
      *
      * @param  callable $callback
-     * @return Callback
+     * @throws Exception\InvalidArgumentException
+     * @return self
      */
     public function setCallback($callback)
     {
diff --git a/vendor/ZF2/library/Zend/Filter/Compress.php b/vendor/ZF2/library/Zend/Filter/Compress.php
index 2de28e4bd06..3f7e4f1e2ac 100644
--- a/vendor/ZF2/library/Zend/Filter/Compress.php
+++ b/vendor/ZF2/library/Zend/Filter/Compress.php
@@ -54,6 +54,7 @@ class Compress extends AbstractFilter
      * Set filter setate
      *
      * @param  array $options
+     * @throws Exception\InvalidArgumentException if options is not an array or Traversable
      * @return Compress
      */
     public function setOptions($options)
@@ -81,8 +82,9 @@ class Compress extends AbstractFilter
     /**
      * Returns the current adapter, instantiating it if necessary
      *
-     * @return string
+     * @throws Exception\RuntimeException
      * @throws Exception\InvalidArgumentException
+     * @return Compress\CompressionAlgorithmInterface
      */
     public function getAdapter()
     {
diff --git a/vendor/ZF2/library/Zend/Filter/Compress/Bz2.php b/vendor/ZF2/library/Zend/Filter/Compress/Bz2.php
index a53b6a32eb8..4d98190013c 100644
--- a/vendor/ZF2/library/Zend/Filter/Compress/Bz2.php
+++ b/vendor/ZF2/library/Zend/Filter/Compress/Bz2.php
@@ -38,6 +38,7 @@ class Bz2 extends AbstractCompressionAlgorithm
      * Class constructor
      *
      * @param null|array|\Traversable $options (Optional) Options to set
+     * @throws Exception\ExtensionNotLoadedException if bz2 extension not loaded
      */
     public function __construct($options = null)
     {
@@ -60,7 +61,8 @@ class Bz2 extends AbstractCompressionAlgorithm
     /**
      * Sets a new blocksize
      *
-     * @param  integer $level
+     * @param  integer $blocksize
+     * @throws Exception\InvalidArgumentException
      * @return Bz2
      */
     public function setBlocksize($blocksize)
diff --git a/vendor/ZF2/library/Zend/Filter/Compress/Gz.php b/vendor/ZF2/library/Zend/Filter/Compress/Gz.php
index ea006852eb2..123cab56d09 100644
--- a/vendor/ZF2/library/Zend/Filter/Compress/Gz.php
+++ b/vendor/ZF2/library/Zend/Filter/Compress/Gz.php
@@ -40,6 +40,7 @@ class Gz extends AbstractCompressionAlgorithm
      * Class constructor
      *
      * @param null|array|\Traversable $options (Optional) Options to set
+     * @throws Exception\ExtensionNotLoadedException if zlib extension not loaded
      */
     public function __construct($options = null)
     {
@@ -63,6 +64,7 @@ class Gz extends AbstractCompressionAlgorithm
      * Sets a new compression level
      *
      * @param integer $level
+     * @throws Exception\InvalidArgumentException
      * @return Gz
      */
     public function setLevel($level)
diff --git a/vendor/ZF2/library/Zend/Filter/Compress/Rar.php b/vendor/ZF2/library/Zend/Filter/Compress/Rar.php
index 8de2d4b8501..a3f42d99834 100644
--- a/vendor/ZF2/library/Zend/Filter/Compress/Rar.php
+++ b/vendor/ZF2/library/Zend/Filter/Compress/Rar.php
@@ -42,6 +42,7 @@ class Rar extends AbstractCompressionAlgorithm
      * Class constructor
      *
      * @param array $options (Optional) Options to set
+     * @throws Exception\ExtensionNotLoadedException if rar extension not loaded
      */
     public function __construct($options = null)
     {
diff --git a/vendor/ZF2/library/Zend/Filter/Compress/Tar.php b/vendor/ZF2/library/Zend/Filter/Compress/Tar.php
index d5701ea2009..baa704915c1 100644
--- a/vendor/ZF2/library/Zend/Filter/Compress/Tar.php
+++ b/vendor/ZF2/library/Zend/Filter/Compress/Tar.php
@@ -42,6 +42,7 @@ class Tar extends AbstractCompressionAlgorithm
      * Class constructor
      *
      * @param array $options (Optional) Options to set
+     * @throws Exception\ExtensionNotLoadedException if Archive_Tar component not available
      */
     public function __construct($options = null)
     {
diff --git a/vendor/ZF2/library/Zend/Filter/Compress/Zip.php b/vendor/ZF2/library/Zend/Filter/Compress/Zip.php
index fe1bc2da590..3ea706ab854 100644
--- a/vendor/ZF2/library/Zend/Filter/Compress/Zip.php
+++ b/vendor/ZF2/library/Zend/Filter/Compress/Zip.php
@@ -40,6 +40,7 @@ class Zip extends AbstractCompressionAlgorithm
      * Class constructor
      *
      * @param  null|array|\Traversable $options (Optional) Options to set
+     * @throws Exception\ExtensionNotLoadedException if zip extension not loaded
      */
     public function __construct($options = null)
     {
@@ -87,6 +88,7 @@ class Zip extends AbstractCompressionAlgorithm
      * Sets the target to use
      *
      * @param  string $target
+     * @throws Exception\InvalidArgumentException
      * @return Zip
      */
     public function setTarget($target)
diff --git a/vendor/ZF2/library/Zend/Filter/Encrypt.php b/vendor/ZF2/library/Zend/Filter/Encrypt.php
index 6a0af26215b..48800ea1755 100644
--- a/vendor/ZF2/library/Zend/Filter/Encrypt.php
+++ b/vendor/ZF2/library/Zend/Filter/Encrypt.php
@@ -55,6 +55,7 @@ class Encrypt extends AbstractFilter
      *
      * @param  string|array $options (Optional) Encryption options
      * @return Encrypt
+     * @throws Exception\DomainException
      * @throws Exception\InvalidArgumentException
      */
     public function setAdapter($options = null)
diff --git a/vendor/ZF2/library/Zend/Filter/Encrypt/BlockCipher.php b/vendor/ZF2/library/Zend/Filter/Encrypt/BlockCipher.php
index 8b10e7918b1..63993695443 100644
--- a/vendor/ZF2/library/Zend/Filter/Encrypt/BlockCipher.php
+++ b/vendor/ZF2/library/Zend/Filter/Encrypt/BlockCipher.php
@@ -214,6 +214,7 @@ class BlockCipher implements EncryptionAlgorithmInterface
      * Encrypts $value with the defined settings
      *
      * @param  string $value The content to encrypt
+     * @throws Exception\InvalidArgumentException
      * @return string The encrypted content
      */
     public function encrypt($value)
diff --git a/vendor/ZF2/library/Zend/Filter/Encrypt/Openssl.php b/vendor/ZF2/library/Zend/Filter/Encrypt/Openssl.php
index f915e27518e..07116ece4cb 100644
--- a/vendor/ZF2/library/Zend/Filter/Encrypt/Openssl.php
+++ b/vendor/ZF2/library/Zend/Filter/Encrypt/Openssl.php
@@ -242,7 +242,7 @@ class Openssl implements EncryptionAlgorithmInterface
     /**
      * Sets envelope keys
      *
-     * @param  string|array $options Envelope keys
+     * @param  string|array $key Envelope keys
      * @return \Zend\Filter\Encrypt\Openssl
      */
     public function setEnvelopeKey($key)
@@ -416,7 +416,7 @@ class Openssl implements EncryptionAlgorithmInterface
             throw new Exception\RuntimeException('Please give an envelope key for decryption with Openssl');
         }
 
-        foreach ($this->keys['private'] as $key => $cert) {
+        foreach ($this->keys['private'] as $cert) {
             $keys = openssl_pkey_get_private($cert, $this->getPassphrase());
         }
 
diff --git a/vendor/ZF2/library/Zend/Filter/FilterChain.php b/vendor/ZF2/library/Zend/Filter/FilterChain.php
index e9a0ac1656b..857bb6cfbe1 100644
--- a/vendor/ZF2/library/Zend/Filter/FilterChain.php
+++ b/vendor/ZF2/library/Zend/Filter/FilterChain.php
@@ -128,7 +128,7 @@ class FilterChain extends AbstractFilter implements Countable
      *
      * @param  mixed $name
      * @param  array $options
-     * @return Filter
+     * @return FilterInterface
      */
     public function plugin($name, array $options = array())
     {
@@ -141,6 +141,7 @@ class FilterChain extends AbstractFilter implements Countable
      *
      * @param  callable|FilterInterface $callback A Filter implementation or valid PHP callback
      * @param  int $priority Priority at which to enqueue filter; defaults to 1000 (higher executes earlier)
+     * @throws Exception\InvalidArgumentException
      * @return FilterChain
      */
     public function attach($callback, $priority = self::DEFAULT_PRIORITY)
@@ -224,4 +225,25 @@ class FilterChain extends AbstractFilter implements Countable
 
         return $valueFiltered;
     }
+
+    /**
+     * Clone filters
+     */
+    public function __clone()
+    {
+        $this->filters = clone $this->filters;
+    }
+
+    /**
+     * Prepare filter chain for serialization
+     *
+     * Plugin manager (property 'plugins') cannot
+     * be serialized. On wakeup the property remains unset
+     * and next invokation to getPluginManager() sets
+     * the default plugin manager instance (FilterPluginManager).
+     */
+    public function __sleep()
+    {
+        return array('filters');
+    }
 }
diff --git a/vendor/ZF2/library/Zend/Filter/Inflector.php b/vendor/ZF2/library/Zend/Filter/Inflector.php
index 1f6829c543a..7ddb499eee9 100644
--- a/vendor/ZF2/library/Zend/Filter/Inflector.php
+++ b/vendor/ZF2/library/Zend/Filter/Inflector.php
@@ -151,7 +151,7 @@ class Inflector extends AbstractFilter
      * Set Whether or not the inflector should throw an exception when a replacement
      * identifier is still found within an inflected target.
      *
-     * @param bool $throwTargetExceptions
+     * @param bool $throwTargetExceptionsOn
      * @return Inflector
      */
     public function setThrowTargetExceptionsOn($throwTargetExceptionsOn)
@@ -407,6 +407,7 @@ class Inflector extends AbstractFilter
      * Inflect
      *
      * @param  string|array $source
+     * @throws Exception\RuntimeException
      * @return string
      */
     public function filter($source)
@@ -423,23 +424,23 @@ class Inflector extends AbstractFilter
             if (isset($source[$ruleName])) {
                 if (is_string($ruleValue)) {
                     // overriding the set rule
-                    $processedParts['#'.$pregQuotedTargetReplacementIdentifier.$ruleName.'#'] = str_replace('\\', '\\\\', $source[$ruleName]);
+                    $processedParts['#' . $pregQuotedTargetReplacementIdentifier . $ruleName . '#'] = str_replace('\\', '\\\\', $source[$ruleName]);
                 } elseif (is_array($ruleValue)) {
                     $processedPart = $source[$ruleName];
                     foreach ($ruleValue as $ruleFilter) {
                         $processedPart = $ruleFilter($processedPart);
                     }
-                    $processedParts['#'.$pregQuotedTargetReplacementIdentifier.$ruleName.'#'] = str_replace('\\', '\\\\', $processedPart);
+                    $processedParts['#' . $pregQuotedTargetReplacementIdentifier . $ruleName . '#'] = str_replace('\\', '\\\\', $processedPart);
                 }
             } elseif (is_string($ruleValue)) {
-                $processedParts['#'.$pregQuotedTargetReplacementIdentifier.$ruleName.'#'] = str_replace('\\', '\\\\', $ruleValue);
+                $processedParts['#' . $pregQuotedTargetReplacementIdentifier . $ruleName . '#'] = str_replace('\\', '\\\\', $ruleValue);
             }
         }
 
         // all of the values of processedParts would have been str_replace('\\', '\\\\', ..)'d to disable preg_replace backreferences
         $inflectedTarget = preg_replace(array_keys($processedParts), array_values($processedParts), $this->target);
 
-        if ($this->throwTargetExceptionsOn && (preg_match('#(?='.$pregQuotedTargetReplacementIdentifier.'[A-Za-z]{1})#', $inflectedTarget) == true)) {
+        if ($this->throwTargetExceptionsOn && (preg_match('#(?=' . $pregQuotedTargetReplacementIdentifier.'[A-Za-z]{1})#', $inflectedTarget) == true)) {
             throw new Exception\RuntimeException('A replacement identifier ' . $this->targetReplacementIdentifier . ' was found inside the inflected target, perhaps a rule was not satisfied with a target source?  Unsatisfied inflected target: ' . $inflectedTarget);
         }
 
diff --git a/vendor/ZF2/library/Zend/Filter/Null.php b/vendor/ZF2/library/Zend/Filter/Null.php
index b9e6e6a07d8..31728e6a0a4 100644
--- a/vendor/ZF2/library/Zend/Filter/Null.php
+++ b/vendor/ZF2/library/Zend/Filter/Null.php
@@ -50,7 +50,7 @@ class Null extends AbstractFilter
     /**
      * Constructor
      *
-     * @param string|array|Traversable $options OPTIONAL
+     * @param string|array|Traversable $typeOrOptions OPTIONAL
      */
     public function __construct($typeOrOptions = null)
     {
diff --git a/vendor/ZF2/library/Zend/Filter/RealPath.php b/vendor/ZF2/library/Zend/Filter/RealPath.php
index 4dc78bd98dc..e00693d586c 100644
--- a/vendor/ZF2/library/Zend/Filter/RealPath.php
+++ b/vendor/ZF2/library/Zend/Filter/RealPath.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Filter;
 
+use Traversable;
 use Zend\Stdlib\ErrorHandler;
 
 /**
@@ -28,7 +29,7 @@ class RealPath extends AbstractFilter
     /**
      * Class constructor
      *
-     * @param boolean|\Traversable $options Options to set
+     * @param boolean|Traversable $existsOrOptions Options to set
      */
     public function __construct($existsOrOptions = true)
     {
diff --git a/vendor/ZF2/library/Zend/Filter/StringToLower.php b/vendor/ZF2/library/Zend/Filter/StringToLower.php
index 32d2feb2b27..ec98e2e9c6d 100644
--- a/vendor/ZF2/library/Zend/Filter/StringToLower.php
+++ b/vendor/ZF2/library/Zend/Filter/StringToLower.php
@@ -28,7 +28,7 @@ class StringToLower extends AbstractUnicode
     /**
      * Constructor
      *
-     * @param string|array|Traversable $options OPTIONAL
+     * @param string|array|Traversable $encodingOrOptions OPTIONAL
      */
     public function __construct($encodingOrOptions = null)
     {
diff --git a/vendor/ZF2/library/Zend/Filter/StringToUpper.php b/vendor/ZF2/library/Zend/Filter/StringToUpper.php
index e830be58eda..7471ecb0817 100644
--- a/vendor/ZF2/library/Zend/Filter/StringToUpper.php
+++ b/vendor/ZF2/library/Zend/Filter/StringToUpper.php
@@ -28,7 +28,7 @@ class StringToUpper extends AbstractUnicode
     /**
      * Constructor
      *
-     * @param string|array|Traversable $options OPTIONAL
+     * @param string|array|Traversable $encodingOrOptions OPTIONAL
      */
     public function __construct($encodingOrOptions = null)
     {
diff --git a/vendor/ZF2/library/Zend/Filter/StringTrim.php b/vendor/ZF2/library/Zend/Filter/StringTrim.php
index 0dbfb7bbf3d..10be795ef47 100644
--- a/vendor/ZF2/library/Zend/Filter/StringTrim.php
+++ b/vendor/ZF2/library/Zend/Filter/StringTrim.php
@@ -29,7 +29,7 @@ class StringTrim extends AbstractFilter
     /**
      * Sets filter options
      *
-     * @param  string|array|Traversable $options
+     * @param  string|array|Traversable $charlistOrOptions
      */
     public function __construct($charlistOrOptions = null)
     {
diff --git a/vendor/ZF2/library/Zend/Filter/Word/DashToUnderscore.php b/vendor/ZF2/library/Zend/Filter/Word/DashToUnderscore.php
index f41f604dd7e..c98c375e277 100644
--- a/vendor/ZF2/library/Zend/Filter/Word/DashToUnderscore.php
+++ b/vendor/ZF2/library/Zend/Filter/Word/DashToUnderscore.php
@@ -18,8 +18,6 @@ class DashToUnderscore extends SeparatorToSeparator
 {
     /**
      * Constructor
-     *
-     * @param  string $separator Space by default
      */
     public function __construct()
     {
diff --git a/vendor/ZF2/library/Zend/Filter/Word/SeparatorToCamelCase.php b/vendor/ZF2/library/Zend/Filter/Word/SeparatorToCamelCase.php
index c332e9e618a..27cfcbc8284 100644
--- a/vendor/ZF2/library/Zend/Filter/Word/SeparatorToCamelCase.php
+++ b/vendor/ZF2/library/Zend/Filter/Word/SeparatorToCamelCase.php
@@ -28,14 +28,14 @@ class SeparatorToCamelCase extends AbstractSeparator
         $pregQuotedSeparator = preg_quote($this->separator, '#');
 
         if (self::hasPcreUnicodeSupport()) {
-            parent::setPattern(array('#('.$pregQuotedSeparator.')(\p{L}{1})#eu','#(^\p{Ll}{1})#eu'));
+            parent::setPattern(array('#(' . $pregQuotedSeparator.')(\p{L}{1})#eu','#(^\p{Ll}{1})#eu'));
             if (!extension_loaded('mbstring')) {
                 parent::setReplacement(array("strtoupper('\\2')","strtoupper('\\1')"));
             } else {
                 parent::setReplacement(array("mb_strtoupper('\\2', 'UTF-8')","mb_strtoupper('\\1', 'UTF-8')"));
             }
         } else {
-            parent::setPattern(array('#('.$pregQuotedSeparator.')([A-Za-z]{1})#e','#(^[A-Za-z]{1})#e'));
+            parent::setPattern(array('#(' . $pregQuotedSeparator.')([A-Za-z]{1})#e','#(^[A-Za-z]{1})#e'));
             parent::setReplacement(array("strtoupper('\\2')","strtoupper('\\1')"));
         }
 
diff --git a/vendor/ZF2/library/Zend/Filter/Word/UnderscoreToSeparator.php b/vendor/ZF2/library/Zend/Filter/Word/UnderscoreToSeparator.php
index 645d17a31e3..52590994dac 100644
--- a/vendor/ZF2/library/Zend/Filter/Word/UnderscoreToSeparator.php
+++ b/vendor/ZF2/library/Zend/Filter/Word/UnderscoreToSeparator.php
@@ -19,7 +19,7 @@ class UnderscoreToSeparator extends SeparatorToSeparator
     /**
      * Constructor
      *
-     * @param  string $separator Space by default
+     * @param  string $replacementSeparator Space by default
      */
     public function __construct($replacementSeparator = ' ')
     {
diff --git a/vendor/ZF2/library/Zend/Form/Annotation/AnnotationBuilder.php b/vendor/ZF2/library/Zend/Form/Annotation/AnnotationBuilder.php
index b88581df42f..849b603d432 100644
--- a/vendor/ZF2/library/Zend/Form/Annotation/AnnotationBuilder.php
+++ b/vendor/ZF2/library/Zend/Form/Annotation/AnnotationBuilder.php
@@ -180,6 +180,7 @@ class AnnotationBuilder implements EventManagerAwareInterface
      * specifications for a form, its elements, and its input filter.
      *
      * @param  string|object $entity Either an instance or a valid class name for an entity
+     * @throws Exception\InvalidArgumentException if $entity is not an object or class name
      * @return ArrayObject
      */
     public function getFormSpecification($entity)
diff --git a/vendor/ZF2/library/Zend/Form/Element/Captcha.php b/vendor/ZF2/library/Zend/Form/Element/Captcha.php
index f8951dd2728..b22506cc3d1 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Captcha.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Captcha.php
@@ -50,6 +50,7 @@ class Captcha extends Element implements InputProviderInterface
      * Set captcha
      *
      * @param  array|ZendCaptcha\AdapterInterface $captcha
+     * @throws Exception\InvalidArgumentException
      * @return Captcha
      */
     public function setCaptcha($captcha)
diff --git a/vendor/ZF2/library/Zend/Form/Element/Csrf.php b/vendor/ZF2/library/Zend/Form/Element/Csrf.php
index 6685ede30f8..bbc6626c94d 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Csrf.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Csrf.php
@@ -42,6 +42,24 @@ class Csrf extends Element implements InputProviderInterface, ElementPrepareAwar
      */
     protected $csrfValidator;
 
+    /**
+     * Accepted options for Csrf:
+     * - csrf_options: an array used in the Csrf
+     *
+     * @param array|\Traversable $options
+     * @return Csrf
+     */
+    public function setOptions($options)
+    {
+        parent::setOptions($options);
+
+        if (isset($options['csrf_options'])) {
+            $this->setCsrfValidatorOptions($options['csrf_options']);
+        }
+
+        return $this;
+    }
+
     /**
      * @return array
      */
@@ -90,7 +108,7 @@ class Csrf extends Element implements InputProviderInterface, ElementPrepareAwar
      *
      * Retrieves the hash from the validator
      *
-     * @return void
+     * @return string
      */
     public function getValue()
     {
diff --git a/vendor/ZF2/library/Zend/Form/Element/Date.php b/vendor/ZF2/library/Zend/Form/Element/Date.php
index 23acb9c633c..4ee17c590c5 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Date.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Date.php
@@ -11,6 +11,7 @@
 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;
@@ -21,7 +22,7 @@ use Zend\Validator\ValidatorInterface;
  * @package    Zend_Form
  * @subpackage Element
  */
-class Date extends DateTime
+class Date extends DateTimeElement
 {
     /**
      * Seed attributes
diff --git a/vendor/ZF2/library/Zend/Form/Element/DateTime.php b/vendor/ZF2/library/Zend/Form/Element/DateTime.php
index f26f21151c1..f3a2aca35e6 100644
--- a/vendor/ZF2/library/Zend/Form/Element/DateTime.php
+++ b/vendor/ZF2/library/Zend/Form/Element/DateTime.php
@@ -75,7 +75,7 @@ class DateTime extends Element implements InputProviderInterface
     /**
      * Set value for format
      *
-     * @param  string format
+     * @param  string $format
      * @return DateTime
      */
     public function setFormat($format)
diff --git a/vendor/ZF2/library/Zend/Form/Element/MultiCheckbox.php b/vendor/ZF2/library/Zend/Form/Element/MultiCheckbox.php
index 620df92337f..a0ccf7a39c0 100644
--- a/vendor/ZF2/library/Zend/Form/Element/MultiCheckbox.php
+++ b/vendor/ZF2/library/Zend/Form/Element/MultiCheckbox.php
@@ -10,6 +10,8 @@
 
 namespace Zend\Form\Element;
 
+use Zend\Form\ElementInterface;
+use Zend\Form\Exception\InvalidArgumentException;
 use Zend\Validator\Explode as ExplodeValidator;
 use Zend\Validator\InArray as InArrayValidator;
 use Zend\Validator\ValidatorInterface;
@@ -60,6 +62,13 @@ class MultiCheckbox extends Checkbox
     public function setValueOptions(array $options)
     {
         $this->valueOptions = $options;
+
+        // Update InArray validator haystack
+        if (!is_null($this->validator)) {
+            $validator = $this->validator->getValidator();
+            $validator->setHaystack($this->getValueOptionsValues());
+        }
+
         return $this;
     }
 
@@ -71,7 +80,7 @@ class MultiCheckbox extends Checkbox
      *
      * @param  array|\Traversable $options
      * @return MultiCheckbox|ElementInterface
-     * @throws Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setOptions($options)
     {
@@ -149,7 +158,7 @@ class MultiCheckbox extends Checkbox
      * Sets the value that should be selected.
      *
      * @param mixed $value The value to set.
-     * @return Element
+     * @return MultiCheckbox
      */
     public function setValue($value)
     {
diff --git a/vendor/ZF2/library/Zend/Form/Element/Select.php b/vendor/ZF2/library/Zend/Form/Element/Select.php
index 3700874f14c..a6850ffac42 100644
--- a/vendor/ZF2/library/Zend/Form/Element/Select.php
+++ b/vendor/ZF2/library/Zend/Form/Element/Select.php
@@ -23,6 +23,8 @@ namespace Zend\Form\Element;
 
 use Traversable;
 use Zend\Form\Element;
+use Zend\Form\ElementInterface;
+use Zend\Form\Exception\InvalidArgumentException;
 use Zend\InputFilter\InputProviderInterface;
 use Zend\Validator\Explode as ExplodeValidator;
 use Zend\Validator\InArray as InArrayValidator;
@@ -51,6 +53,13 @@ class Select extends Element implements InputProviderInterface
      */
     protected $validator;
 
+    /**
+     * Create an empty option (option with label but no value). If set to null, no option is created
+     *
+     * @var bool
+     */
+    protected $emptyOption = null;
+
     /**
      * @var array
      */
@@ -71,6 +80,13 @@ class Select extends Element implements InputProviderInterface
     public function setValueOptions(array $options)
     {
         $this->valueOptions = $options;
+
+        // Update InArrayValidator validator haystack
+        if (!is_null($this->validator)) {
+            $validator = $this->validator instanceof InArrayValidator ? $this->validator : $this->validator->getValidator();
+            $validator->setHaystack($this->getValueOptionsValues());
+        }
+
         return $this;
     }
 
@@ -79,10 +95,11 @@ class Select extends Element implements InputProviderInterface
      * - label: label to associate with the element
      * - label_attributes: attributes to use when the label is rendered
      * - value_options: list of values and labels for the select options
+     * _ empty_option: should an empty option be prepended to the options ?
      *
      * @param  array|\Traversable $options
      * @return Select|ElementInterface
-     * @throws Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setOptions($options)
     {
@@ -96,6 +113,10 @@ class Select extends Element implements InputProviderInterface
             $this->setValueOptions($this->options['options']);
         }
 
+        if (isset($this->options['empty_option'])) {
+            $this->setEmptyOption($this->options['empty_option']);
+        }
+
         return $this;
     }
 
@@ -117,6 +138,28 @@ class Select extends Element implements InputProviderInterface
         return parent::setAttribute($key, $value);
     }
 
+    /**
+     * Set the string for an empty option (can be empty string). If set to null, no option will be added
+     *
+     * @param  string|null $emptyOption
+     * @return Select
+     */
+    public function setEmptyOption($emptyOption)
+    {
+        $this->emptyOption = $emptyOption;
+        return $this;
+    }
+
+    /**
+     * Return the string for the empty option (null if none)
+     *
+     * @return string|null
+     */
+    public function getEmptyOption()
+    {
+        return $this->emptyOption;
+    }
+
     /**
      * Get validator
      *
@@ -172,12 +215,23 @@ class Select extends Element implements InputProviderInterface
      */
     protected function getValueOptionsValues()
     {
-        $values = array();
+        $values  = array();
         $options = $this->getValueOptions();
         foreach ($options as $key => $optionSpec) {
-            $value = (is_array($optionSpec)) ? $optionSpec['value'] : $key;
-            $values[] = $value;
+            if (is_array($optionSpec) && array_key_exists('options', $optionSpec)) {
+                foreach ($optionSpec['options'] as $nestedKey => $nestedOptionSpec) {
+                    $values[] = $this->getOptionValue($nestedKey, $nestedOptionSpec);
+                }
+                continue;
+            }
+
+            $values[] = $this->getOptionValue($key, $optionSpec);
         }
         return $values;
     }
+
+    protected function getOptionValue($key, $optionSpec)
+    {
+        return is_array($optionSpec) ? $optionSpec['value'] : $key;
+    }
 }
diff --git a/vendor/ZF2/library/Zend/Form/Fieldset.php b/vendor/ZF2/library/Zend/Form/Fieldset.php
index d2aa425784c..23440457716 100644
--- a/vendor/ZF2/library/Zend/Form/Fieldset.php
+++ b/vendor/ZF2/library/Zend/Form/Fieldset.php
@@ -73,14 +73,13 @@ class Fieldset extends Element implements FieldsetInterface
     protected $useAsBaseFieldset = false;
 
     /**
-     * Constructor
-     *
-     * @param null|string|int $name Optional name for the element
+     * @param  null|int|string  $name    Optional name for the element
+     * @param  array            $options Optional options for the element
      */
-    public function __construct($name = null)
+    public function __construct($name = null, $options = array())
     {
         $this->iterator = new PriorityQueue();
-        parent::__construct($name);
+        parent::__construct($name, $options);
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Form/Form.php b/vendor/ZF2/library/Zend/Form/Form.php
index 3ae915b7a26..cfd05fd0d6c 100644
--- a/vendor/ZF2/library/Zend/Form/Form.php
+++ b/vendor/ZF2/library/Zend/Form/Form.php
@@ -137,6 +137,12 @@ 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()) {
@@ -483,7 +489,7 @@ class Form extends Fieldset implements FormInterface
         $argv = func_get_args();
         $this->hasValidated = false;
 
-        if (1 < $argc) {
+        if ($argc > 1) {
             $this->validationGroup = $argv;
             return $this;
         }
@@ -622,15 +628,19 @@ class Form extends Fieldset implements FormInterface
         $formFactory  = $this->getFormFactory();
         $inputFactory = $formFactory->getInputFilterFactory();
         foreach ($fieldset->getElements() as $element) {
+            $name = $element->getName();
+
             if (!$element instanceof InputProviderInterface) {
-                // only interested in the element if it provides input information
-                continue;
+                if ($inputFilter->has($name)) {
+                    continue;
+                }
+                // Create a new empty default input for this element
+                $spec = array('name' => $name, 'required' => false);
+            } else {
+                // Create an input based on the specification returned from the element
+                $spec  = $element->getInputSpecification();
             }
 
-            $name = $element->getName();
-
-            // Create an input based on the specification returned from the element
-            $spec  = $element->getInputSpecification();
             $input = $inputFactory->createInput($spec);
             $inputFilter->add($input, $name);
         }
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/AbstractHelper.php b/vendor/ZF2/library/Zend/Form/View/Helper/AbstractHelper.php
index 3998c05a8d5..5f259947a5e 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/AbstractHelper.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/AbstractHelper.php
@@ -178,7 +178,7 @@ abstract class AbstractHelper extends BaseAbstractHelper
     /**
      * Set value for character encoding
      *
-     * @param  string encoding
+     * @param  string $encoding
      * @return AbstractHelper
      */
     public function setEncoding($encoding)
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 9f36be9f0dc..30c127a46ab 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/AbstractWord.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/AbstractWord.php
@@ -44,8 +44,9 @@ abstract class AbstractWord extends FormInput
     /**
      * Set value for captchaPosition
      *
-     * @param  mixed captchaPosition
-     * @return $this
+     * @param mixed $captchaPosition
+     * @throws Exception\InvalidArgumentException
+     * @return self
      */
     public function setCaptchaPosition($captchaPosition)
     {
@@ -77,7 +78,7 @@ abstract class AbstractWord extends FormInput
      * Set separator string for captcha and inputs
      *
      * @param  string $separator
-     * @return Word
+     * @return AbstractWord
      */
     public function setSeparator($separator)
     {
@@ -105,6 +106,7 @@ abstract class AbstractWord extends FormInput
      * More specific renderers will consume this and render it.
      *
      * @param  ElementInterface $element
+     * @throws Exception\DomainException
      * @return string
      */
     protected function renderCaptchaInputs(ElementInterface $element)
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/Dumb.php b/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/Dumb.php
index e1aa52a6e7d..ead7f6496da 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/Dumb.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/Dumb.php
@@ -25,6 +25,7 @@ class Dumb extends AbstractWord
      * Render the captcha
      *
      * @param  ElementInterface $element
+     * @throws Exception\DomainException
      * @return string
      */
     public function render(ElementInterface $element)
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/Figlet.php b/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/Figlet.php
index e9d7ecb22d0..8f2519da8c8 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/Figlet.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/Figlet.php
@@ -25,6 +25,7 @@ class Figlet extends AbstractWord
      * Render the captcha
      *
      * @param  ElementInterface $element
+     * @throws Exception\DomainException
      * @return string
      */
     public function render(ElementInterface $element)
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/Image.php b/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/Image.php
index 2913baa0227..1ccc5a1a379 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/Image.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/Image.php
@@ -25,6 +25,7 @@ class Image extends AbstractWord
      * Render the captcha
      *
      * @param  ElementInterface $element
+     * @throws Exception\DomainException
      * @return string
      */
     public function render(ElementInterface $element)
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 9b99e03e525..f4c3f9ad911 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/ReCaptcha.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/Captcha/ReCaptcha.php
@@ -27,6 +27,7 @@ class ReCaptcha extends FormInput
      * Render ReCaptcha form elements
      *
      * @param  ElementInterface $element
+     * @throws Exception\DomainException
      * @return string
      */
     public function render(ElementInterface $element)
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormButton.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormButton.php
index 100a9136102..d9035cddaf3 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormButton.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormButton.php
@@ -54,6 +54,8 @@ class FormButton extends FormInput
      * Generate an opening button tag
      *
      * @param  null|array|ElementInterface $attributesOrElement
+     * @throws Exception\InvalidArgumentException
+     * @throws Exception\DomainException
      * @return string
      */
     public function openTag($attributesOrElement = null)
@@ -111,6 +113,7 @@ class FormButton extends FormInput
      *
      * @param  ElementInterface $element
      * @param  null|string $buttonContent
+     * @throws Exception\DomainException
      * @return string
      */
     public function render(ElementInterface $element, $buttonContent = null)
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormCaptcha.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormCaptcha.php
index 1f73e543240..a18f0165993 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormCaptcha.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormCaptcha.php
@@ -13,7 +13,6 @@ namespace Zend\Form\View\Helper;
 use Zend\Captcha\AdapterInterface as CaptchaAdapter;
 use Zend\Form\ElementInterface;
 use Zend\Form\Exception;
-use Zend\View\Helper\AbstractHelper as BaseAbstractHelper;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormCheckbox.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormCheckbox.php
index 89377bc9368..d00dec9f988 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormCheckbox.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormCheckbox.php
@@ -26,7 +26,8 @@ class FormCheckbox extends FormInput
      * Render a form <input> element from the provided $element
      *
      * @param  ElementInterface $element
-     * @throws \Zend\Form\Exception\DomainException
+     * @throws Exception\InvalidArgumentException
+     * @throws Exception\DomainException
      * @return string
      */
     public function render(ElementInterface $element)
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormCollection.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormCollection.php
index 09aa818463b..c376a24f608 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormCollection.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormCollection.php
@@ -148,7 +148,7 @@ class FormCollection extends AbstractHelper
      */
     public function shouldWrap()
     {
-        return $this->shouldWrap();
+        return $this->shouldWrap;
     }
 
     /**
@@ -174,9 +174,10 @@ class FormCollection extends AbstractHelper
     }
 
     /**
-     * Retrieve the FormRow helper
+     * Retrieve the element helper.
      *
-     * @return FormRow
+     * @throws RuntimeException
+     * @return AbstractHelper
      */
     protected function getElementHelper()
     {
@@ -197,9 +198,9 @@ class FormCollection extends AbstractHelper
     }
 
     /**
-     * Sets the row helper that should be used by this collection.
+     * Sets the element helper that should be used by this collection.
      *
-     * @param FormRow $rowHelper The row helper to use.
+     * @param AbstractHelper $elementHelper The element helper to use.
      * @return FormCollection
      */
     public function setElementHelper(AbstractHelper $elementHelper)
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormElement.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormElement.php
index aa9ff017ffe..ab1d46c1aa3 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormElement.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormElement.php
@@ -175,11 +175,6 @@ class FormElement extends BaseAbstractHelper
             return $helper($element);
         }
 
-        if ('time' == $type) {
-            $helper = $renderer->plugin('form_time');
-            return $helper($element);
-        }
-
         if ('url' == $type) {
             $helper = $renderer->plugin('form_url');
             return $helper($element);
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormElementErrors.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormElementErrors.php
index 18818fe316f..f8b1c408ed5 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormElementErrors.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormElementErrors.php
@@ -103,7 +103,7 @@ class FormElementErrors extends AbstractHelper
     /**
      * Set the attributes that will go on the message open format
      *
-     * @param array key value pairs of attributes
+     * @param array $attributes key value pairs of attributes
      * @return FormElementErrors
      */
     public function setAttributes(array $attributes)
@@ -127,6 +127,7 @@ class FormElementErrors extends AbstractHelper
      *
      * @param  ElementInterface $element
      * @param  array $attributes
+     * @throws Exception\DomainException
      * @return string
      */
     public function render(ElementInterface $element, array $attributes = array())
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormImage.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormImage.php
index 9eb00d128ba..7c69164b3ee 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormImage.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormImage.php
@@ -39,7 +39,6 @@ class FormImage extends FormInput
         'height'         => true,
         'src'            => true,
         'type'           => true,
-        'value'          => true,
         'width'          => true,
     );
 
@@ -47,6 +46,7 @@ class FormImage extends FormInput
      * Render a form <input> element from the provided $element
      *
      * @param  ElementInterface $element
+     * @throws Exception\DomainException
      * @return string
      */
     public function render(ElementInterface $element)
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormInput.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormInput.php
index bbf0904bb36..edef72f4fd7 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormInput.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormInput.php
@@ -94,6 +94,7 @@ class FormInput extends AbstractHelper
      * Render a form <input> element from the provided $element
      *
      * @param  ElementInterface $element
+     * @throws Exception\DomainException
      * @return string
      */
     public function render(ElementInterface $element)
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormLabel.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormLabel.php
index efa21b18391..44774be95f5 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormLabel.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormLabel.php
@@ -11,7 +11,6 @@
 namespace Zend\Form\View\Helper;
 
 use Zend\I18n\Translator\Translator;
-use Zend\I18n\Translator\TranslatorAwareInterface;
 use Zend\Form\ElementInterface;
 use Zend\Form\Exception;
 
@@ -39,6 +38,8 @@ class FormLabel extends AbstractHelper
      * Generate an opening label tag
      *
      * @param  null|array|ElementInterface $attributesOrElement
+     * @throws Exception\InvalidArgumentException
+     * @throws Exception\DomainException
      * @return string
      */
     public function openTag($attributesOrElement = null)
@@ -98,6 +99,7 @@ class FormLabel extends AbstractHelper
      * @param  ElementInterface $element
      * @param  null|string $labelContent
      * @param  string $position
+     * @throws Exception\DomainException
      * @return string|FormLabel
      */
     public function __invoke(ElementInterface $element = null, $labelContent = null, $position = null)
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormMultiCheckbox.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormMultiCheckbox.php
index 25a5c44a70a..95a8adcfac6 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormMultiCheckbox.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormMultiCheckbox.php
@@ -63,7 +63,8 @@ class FormMultiCheckbox extends FormInput
     /**
      * Set value for labelPosition
      *
-     * @param  mixed labelPosition
+     * @param  mixed $labelPosition
+     * @throws Exception\InvalidArgumentException
      * @return $this
      */
     public function setLabelPosition($labelPosition)
@@ -187,6 +188,8 @@ class FormMultiCheckbox extends FormInput
      * Render a form <input> element from the provided $element
      *
      * @param  ElementInterface $element
+     * @throws Exception\InvalidArgumentException
+     * @throws Exception\DomainException
      * @return string
      */
     public function render(ElementInterface $element)
@@ -199,12 +202,6 @@ class FormMultiCheckbox extends FormInput
         }
 
         $name = static::getName($element);
-        if ($name === null || $name === '') {
-            throw new Exception\DomainException(sprintf(
-                '%s requires that the element has an assigned name; none discovered',
-                __METHOD__
-            ));
-        }
 
         $options = $element->getValueOptions();
         if (empty($options)) {
@@ -450,6 +447,13 @@ class FormMultiCheckbox extends FormInput
      */
     protected static function getName(ElementInterface $element)
     {
-        return $element->getName() . '[]';
+        $name = $element->getName();
+        if ($name === null || $name === '') {
+            throw new Exception\DomainException(sprintf(
+                '%s requires that the element has an assigned name; none discovered',
+                __METHOD__
+            ));
+        }
+        return $name . '[]';
     }
 }
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormReset.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormReset.php
index afbed05de96..3f64c4295e5 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormReset.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormReset.php
@@ -47,6 +47,7 @@ class FormReset extends FormInput
      * Determine input type to use
      *
      * @param  ElementInterface $element
+     * @throws Exception\DomainException
      * @return string
      */
     protected function getType(ElementInterface $element)
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormRow.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormRow.php
index 7c3d0e5689f..6109416e0a0 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormRow.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormRow.php
@@ -88,7 +88,14 @@ class FormRow extends AbstractHelper
 
         $elementString = $elementHelper->render($element);
 
-        if (!empty($label)) {
+        if (isset($label) && '' !== $label) {
+            // Translate the label
+            if (null !== ($translator = $this->getTranslator())) {
+                $label = $translator->translate(
+                    $label, $this->getTranslatorTextDomain()
+                );
+            }
+
             $label = $escapeHtmlHelper($label);
             $labelAttributes = $element->getLabelAttributes();
 
@@ -114,13 +121,17 @@ class FormRow extends AbstractHelper
                     $labelClose = $labelHelper->closeTag();
                 }
 
+                if ($label !== '') {
+                    $label = '<span>' . $label . '</span>';
+                }
+
                 switch ($this->labelPosition) {
                     case self::LABEL_PREPEND:
-                        $markup = $labelOpen . '<span>' . $label . '</span>'. $elementString . $labelClose;
+                        $markup = $labelOpen . $label . $elementString . $labelClose;
                         break;
                     case self::LABEL_APPEND:
                     default:
-                        $markup = $labelOpen . $elementString . '<span>' . $label . '</span>' . $labelClose;
+                        $markup = $labelOpen . $elementString . $label . $labelClose;
                         break;
                 }
 
@@ -281,6 +292,13 @@ class FormRow extends AbstractHelper
             $this->labelHelper = new FormLabel();
         }
 
+        if ($this->hasTranslator()) {
+            $this->labelHelper->setTranslator(
+                $this->getTranslator(),
+                $this->getTranslatorTextDomain()
+            );
+        }
+
         return $this->labelHelper;
     }
 
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormSelect.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormSelect.php
index 15314649526..457be9136f4 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormSelect.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormSelect.php
@@ -57,6 +57,8 @@ class FormSelect extends AbstractHelper
      * Render a form <select> element from the provided $element
      *
      * @param  ElementInterface $element
+     * @throws Exception\InvalidArgumentException
+     * @throws Exception\DomainException
      * @return string
      */
     public function render(ElementInterface $element)
@@ -76,7 +78,6 @@ class FormSelect extends AbstractHelper
             ));
         }
 
-
         $options = $element->getValueOptions();
         if (empty($options)) {
             throw new Exception\DomainException(sprintf(
@@ -85,6 +86,10 @@ class FormSelect extends AbstractHelper
             ));
         }
 
+        if (($emptyOption = $element->getEmptyOption()) !== null) {
+            $options = array('' => $emptyOption) + $options;
+        }
+
         $attributes = $element->getAttributes();
         $value      = $this->validateMultiValue($element->getValue(), $attributes);
 
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormSubmit.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormSubmit.php
index 396465abc05..80771d0de85 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormSubmit.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormSubmit.php
@@ -52,6 +52,7 @@ class FormSubmit extends FormInput
      * Determine input type to use
      *
      * @param  ElementInterface $element
+     * @throws Exception\DomainException
      * @return string
      */
     protected function getType(ElementInterface $element)
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormTextarea.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormTextarea.php
index 1381fabcfc3..30ebd5296bc 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormTextarea.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormTextarea.php
@@ -44,6 +44,7 @@ class FormTextarea extends AbstractHelper
      * Render a form <textarea> element from the provided $element
      *
      * @param  ElementInterface $element
+     * @throws Exception\DomainException
      * @return string
      */
     public function render(ElementInterface $element)
diff --git a/vendor/ZF2/library/Zend/Form/composer.json b/vendor/ZF2/library/Zend/Form/composer.json
index 5e185de5b96..61d0f4618e0 100644
--- a/vendor/ZF2/library/Zend/Form/composer.json
+++ b/vendor/ZF2/library/Zend/Form/composer.json
@@ -13,7 +13,8 @@
     },
     "target-dir": "Zend/Form",
     "require": {
-        "php": ">=5.3.3"
+        "php": ">=5.3.3",
+        "zendframework/zend-inputfilter": "self.version"
     },
     "require-dev": {
         "zendframework/zendservice-recaptcha": "*"
diff --git a/vendor/ZF2/library/Zend/Http/AbstractMessage.php b/vendor/ZF2/library/Zend/Http/AbstractMessage.php
index ddfb47993ac..25754ed70f8 100644
--- a/vendor/ZF2/library/Zend/Http/AbstractMessage.php
+++ b/vendor/ZF2/library/Zend/Http/AbstractMessage.php
@@ -105,4 +105,4 @@ abstract class AbstractMessage extends Message
     {
         return $this->toString();
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Http/Client.php b/vendor/ZF2/library/Zend/Http/Client.php
index 1881aa089dc..5d5bb43797f 100644
--- a/vendor/ZF2/library/Zend/Http/Client.php
+++ b/vendor/ZF2/library/Zend/Http/Client.php
@@ -319,7 +319,7 @@ class Client implements Stdlib\DispatchableInterface
     /**
      * Get uri (from the request)
      *
-     * @return Zend\Uri\Http
+     * @return Http
      */
     public function getUri()
     {
@@ -449,13 +449,14 @@ class Client implements Stdlib\DispatchableInterface
      *
      * @param array|ArrayIterator|Header\SetCookie|string $cookie
      * @param string  $value
-     * @param string  $version
-     * @param string  $maxAge
-     * @param string  $domain
      * @param string  $expire
      * @param string  $path
+     * @param string  $domain
      * @param boolean $secure
      * @param boolean $httponly
+     * @param string  $maxAge
+     * @param string  $version
+     * @throws Exception\InvalidArgumentException
      * @return Client
      */
     public function addCookie($cookie, $value = null, $expire = null, $path = null, $domain = null, $secure = false, $httponly = true, $maxAge = null, $version = null)
@@ -483,6 +484,7 @@ class Client implements Stdlib\DispatchableInterface
      * Set an array of cookies
      *
      * @param  array $cookies
+     * @throws Exception\InvalidArgumentException
      * @return Client
      */
     public function setCookies($cookies)
@@ -510,6 +512,7 @@ class Client implements Stdlib\DispatchableInterface
      * Set the headers (for the request)
      *
      * @param  Headers|array $headers
+     * @throws Exception\InvalidArgumentException
      * @return Client
      */
     public function setHeaders($headers)
@@ -585,6 +588,7 @@ class Client implements Stdlib\DispatchableInterface
     /**
      * Create temporary stream
      *
+     * @throws Exception\RuntimeException
      * @return resource
      */
     protected function openTempStream()
@@ -619,6 +623,7 @@ class Client implements Stdlib\DispatchableInterface
      * @param string $user
      * @param string $password
      * @param string $type
+     * @throws Exception\InvalidArgumentException
      * @return Client
      */
     public function setAuth($user, $password, $type = self::AUTH_BASIC)
@@ -648,6 +653,8 @@ class Client implements Stdlib\DispatchableInterface
      * @param string $password
      * @param string $type
      * @param array $digest
+     * @param null|string $entityBody
+     * @throws Exception\InvalidArgumentException
      * @return string|boolean
      */
     protected function calcAuthDigest($user, $password, $type = self::AUTH_BASIC, $digest = array(), $entityBody = null)
@@ -737,6 +744,7 @@ class Client implements Stdlib\DispatchableInterface
      * @param  Request $request
      * @return Response
      * @throws Exception\RuntimeException
+     * @throws Client\Exception\RuntimeException
      */
     public function send(Request $request = null)
     {
@@ -970,8 +978,8 @@ class Client implements Stdlib\DispatchableInterface
     /**
      * Prepare Cookies
      *
-     * @param   string $uri
      * @param   string $domain
+     * @param   string $path
      * @param   boolean $secure
      * @return  Header\Cookie|boolean
      */
@@ -1002,6 +1010,9 @@ class Client implements Stdlib\DispatchableInterface
     /**
      * Prepare the request headers
      *
+     * @param resource|string $body
+     * @param Http $uri
+     * @throws Exception\RuntimeException
      * @return array
      */
     protected function prepareHeaders($body, $uri)
@@ -1125,7 +1136,7 @@ class Client implements Stdlib\DispatchableInterface
                 }
 
                 // Encode files
-                foreach ($this->getRequest()->getFiles()->toArray() as $key => $file) {
+                foreach ($this->getRequest()->getFiles()->toArray() as $file) {
                     $fhead = array('Content-Type' => $file['ctype']);
                     $body .= $this->encodeFormData($boundary, $file['formname'], $file['data'], $file['filename'], $fhead);
                 }
diff --git a/vendor/ZF2/library/Zend/Http/Client/Adapter/Curl.php b/vendor/ZF2/library/Zend/Http/Client/Adapter/Curl.php
index fe133e24c1a..222598cf245 100644
--- a/vendor/ZF2/library/Zend/Http/Client/Adapter/Curl.php
+++ b/vendor/ZF2/library/Zend/Http/Client/Adapter/Curl.php
@@ -125,7 +125,7 @@ class Curl implements HttpAdapter, StreamInterface
         }
 
         if (isset($options['proxyuser']) && isset($options['proxypass'])) {
-            $this->setCurlOption(CURLOPT_PROXYUSERPWD, $options['proxyuser'].":".$options['proxypass']);
+            $this->setCurlOption(CURLOPT_PROXYUSERPWD, $options['proxyuser'] . ":" . $options['proxypass']);
             unset($options['proxyuser'], $options['proxypass']);
         }
 
@@ -213,7 +213,7 @@ class Curl implements HttpAdapter, StreamInterface
         if (!$this->curl) {
             $this->close();
 
-            throw new AdapterException\RuntimeException('Unable to Connect to ' .  $host . ':' . $port);
+            throw new AdapterException\RuntimeException('Unable to Connect to ' . $host . ':' . $port);
         }
 
         if ($secure !== false) {
@@ -240,6 +240,7 @@ class Curl implements HttpAdapter, StreamInterface
      * @param  string        $body
      * @return string        $request
      * @throws AdapterException\RuntimeException If connection fails, connected to wrong host, no PUT file defined, unsupported method, or unsupported cURL option
+     * @throws AdapterException\InvalidArgumentException if $method is currently not supported
      */
     public function write($method, $uri, $httpVersion = 1.1, $headers = array(), $body = '')
     {
diff --git a/vendor/ZF2/library/Zend/Http/Client/Adapter/Proxy.php b/vendor/ZF2/library/Zend/Http/Client/Adapter/Proxy.php
index de82c642fe6..195718bdae7 100644
--- a/vendor/ZF2/library/Zend/Http/Client/Adapter/Proxy.php
+++ b/vendor/ZF2/library/Zend/Http/Client/Adapter/Proxy.php
@@ -96,6 +96,7 @@ class Proxy extends Socket
      * @param string        $http_ver
      * @param array         $headers
      * @param string        $body
+     * @throws AdapterException\RuntimeException
      * @return string Request as string
      */
     public function write($method, $uri, $http_ver = '1.1', $headers = array(), $body = '')
@@ -179,6 +180,7 @@ class Proxy extends Socket
      * @param integer $port
      * @param string  $http_ver
      * @param array   $headers
+     * @throws AdapterException\RuntimeException
      */
     protected function connectHandshake($host, $port = 443, $http_ver = '1.1', array &$headers = array())
     {
diff --git a/vendor/ZF2/library/Zend/Http/Client/Adapter/Socket.php b/vendor/ZF2/library/Zend/Http/Client/Adapter/Socket.php
index 0f407520eb7..764171891a9 100644
--- a/vendor/ZF2/library/Zend/Http/Client/Adapter/Socket.php
+++ b/vendor/ZF2/library/Zend/Http/Client/Adapter/Socket.php
@@ -102,6 +102,7 @@ class Socket implements HttpAdapter, StreamInterface
      * Set the configuration array for the adapter
      *
      * @param  array|Traversable $options
+     * @throws AdapterException\InvalidArgumentException
      */
     public function setOptions($options = array())
     {
@@ -140,6 +141,7 @@ class Socket implements HttpAdapter, StreamInterface
      * @since  Zend Framework 1.9
      *
      * @param  mixed $context Stream context or array of context options
+     * @throws Exception\InvalidArgumentException
      * @return Socket
      */
     public function setStreamContext($context)
@@ -252,7 +254,7 @@ class Socket implements HttpAdapter, StreamInterface
                         'Unable to connect to %s:%d%s',
                         $host,
                         $port,
-                        ($error ? '. Error #' . $error->getCode() . ': ' . $error->getMessage() : '')
+                        ($error ? ' . Error #' . $error->getCode() . ': ' . $error->getMessage() : '')
                     ),
                     0,
                     $error
@@ -319,6 +321,7 @@ class Socket implements HttpAdapter, StreamInterface
      * @param string        $http_ver
      * @param array         $headers
      * @param string        $body
+     * @throws AdapterException\RuntimeException
      * @return string Request as string
      */
     public function write($method, $uri, $http_ver = '1.1', $headers = array(), $body = '')
@@ -373,6 +376,7 @@ class Socket implements HttpAdapter, StreamInterface
     /**
      * Read response from server
      *
+     * @throws AdapterException\RuntimeException
      * @return string
      */
     public function read()
diff --git a/vendor/ZF2/library/Zend/Http/Client/Adapter/Test.php b/vendor/ZF2/library/Zend/Http/Client/Adapter/Test.php
index c3cec6dd76d..de8aaf389af 100644
--- a/vendor/ZF2/library/Zend/Http/Client/Adapter/Test.php
+++ b/vendor/ZF2/library/Zend/Http/Client/Adapter/Test.php
@@ -80,6 +80,7 @@ class Test implements AdapterInterface
      * Set the configuration array for the adapter
      *
      * @param  array|Traversable $options
+     * @throws Exception\InvalidArgumentException
      */
     public function setOptions($options = array())
     {
@@ -189,7 +190,7 @@ class Test implements AdapterInterface
     /**
      * Add another response to the response buffer.
      *
-     * @param string \Zend\Http\Response|$response
+     * @param string|Response $response
      */
     public function addResponse($response)
     {
@@ -205,6 +206,7 @@ class Test implements AdapterInterface
      * response will be returned on the next call to read().
      *
      * @param integer $index
+     * @throws Exception\OutOfRangeException
      */
     public function setResponseIndex($index)
     {
diff --git a/vendor/ZF2/library/Zend/Http/Client/Cookies.php b/vendor/ZF2/library/Zend/Http/Client/Cookies.php
index cc1cb1dfe55..8b22c14e5cd 100644
--- a/vendor/ZF2/library/Zend/Http/Client/Cookies.php
+++ b/vendor/ZF2/library/Zend/Http/Client/Cookies.php
@@ -13,7 +13,6 @@ namespace Zend\Http\Client;
 use ArrayIterator;
 use Zend\Http\Header\Cookie;
 use Zend\Http\Response;
-use Zend\Stdlib\ParametersInterface;
 use Zend\Uri;
 
 /**
@@ -96,6 +95,7 @@ class Cookies
      *
      * @param Cookie|string $cookie
      * @param Uri\Uri|string    $ref_uri Optional reference URI (for domain, path, secure)
+     * @throws Exception\InvalidArgumentException if invalid $cookie value
      */
     public function addCookie($cookie, $ref_uri = null)
     {
@@ -159,6 +159,7 @@ class Cookies
      * @param boolean $matchSessionCookies Whether to send session cookies
      * @param int $ret_as Whether to return cookies as objects of \Zend\Http\Header\Cookie or as strings
      * @param int $now Override the current time when checking for expiry time
+     * @throws Exception\InvalidArgumentException if invalid URI
      * @return array|string
      */
     public function getMatchingCookies($uri, $matchSessionCookies = true,
@@ -198,6 +199,7 @@ class Cookies
      * @param Uri\Uri|string $uri The uri (domain and path) to match
      * @param string $cookie_name The cookie's name
      * @param int $ret_as Whether to return cookies as objects of \Zend\Http\Header\Cookie or as strings
+     * @throws Exception\InvalidArgumentException if invalid URI specified or invalid $ret_as value
      * @return Cookie|string
      */
     public function getCookie($uri, $cookie_name, $ret_as = self::COOKIE_OBJECT)
@@ -302,7 +304,7 @@ class Cookies
     /**
      * Return a subset of a domain-matching cookies that also match a specified path
      *
-     * @param array $dom_array
+     * @param array $domains
      * @param string $path
      * @return array
      */
diff --git a/vendor/ZF2/library/Zend/Http/ClientStatic.php b/vendor/ZF2/library/Zend/Http/ClientStatic.php
index 43b2a5e8a52..18f0d31b8e3 100644
--- a/vendor/ZF2/library/Zend/Http/ClientStatic.php
+++ b/vendor/ZF2/library/Zend/Http/ClientStatic.php
@@ -26,7 +26,7 @@ class ClientStatic
     /**
      * Get the static HTTP client
      *
-     * @return Zend\Http\Client
+     * @return Client
      */
     protected static function getStaticClient()
     {
@@ -42,9 +42,10 @@ class ClientStatic
      * @param  string $url
      * @param  array $query
      * @param  array $headers
+     * @param  mixed $body
      * @return Response|boolean
      */
-    public static function get($url, $query=array(), $headers=array(), $body=null)
+    public static function get($url, $query = array(), $headers = array(), $body = null)
     {
         if (empty($url)) {
             return false;
@@ -68,15 +69,18 @@ class ClientStatic
 
         return self::getStaticClient()->send($request);
     }
+
     /**
      * HTTP POST METHOD (static)
      *
      * @param  string $url
      * @param  array $params
      * @param  array $headers
+     * @param  mixed $body
+     * @throws Exception\InvalidArgumentException
      * @return Response|boolean
      */
-    public static function post($url, $params, $headers=array(), $body=null)
+    public static function post($url, $params, $headers = array(), $body = null)
     {
         if (empty($url)) {
             return false;
diff --git a/vendor/ZF2/library/Zend/Http/Cookies.php b/vendor/ZF2/library/Zend/Http/Cookies.php
index 5af04e5a67f..8fbde32474f 100644
--- a/vendor/ZF2/library/Zend/Http/Cookies.php
+++ b/vendor/ZF2/library/Zend/Http/Cookies.php
@@ -38,12 +38,12 @@ use Zend\Uri;
 class Cookies extends Headers
 {
     /**
-     * @var Headers
+     * @var \Zend\Http\Headers
      */
     protected $headers = null;
 
     /**
-     * @var $_rawCookies
+     * @var array
      */
     protected $rawCookies;
 
@@ -73,6 +73,7 @@ class Cookies extends Headers
      *
      * @param Cookie|string $cookie
      * @param Uri\Uri|string    $ref_uri Optional reference URI (for domain, path, secure)
+     * @throws Exception\InvalidArgumentException
      */
     public function addCookie(Cookie $cookie, $ref_uri = null)
     {
@@ -136,6 +137,7 @@ class Cookies extends Headers
      * @param boolean $matchSessionCookies Whether to send session cookies
      * @param int $ret_as Whether to return cookies as objects of \Zend\Http\Header\Cookie or as strings
      * @param int $now Override the current time when checking for expiry time
+     * @throws Exception\InvalidArgumentException if invalid URI specified
      * @return array|string
      */
     public function getMatchingCookies($uri, $matchSessionCookies = true,
@@ -175,6 +177,7 @@ class Cookies extends Headers
      * @param Uri\Uri|string $uri The uri (domain and path) to match
      * @param string $cookie_name The cookie's name
      * @param int $ret_as Whether to return cookies as objects of \Zend\Http\Header\Cookie or as strings
+     * @throws Exception\InvalidArgumentException if invalid URI specified or invalid $ret_as value
      * @return Cookie|string
      */
     public function getCookie($uri, $cookie_name, $ret_as = self::COOKIE_OBJECT)
@@ -279,7 +282,7 @@ class Cookies extends Headers
     /**
      * Return a subset of a domain-matching cookies that also match a specified path
      *
-     * @param array $dom_array
+     * @param array $domains
      * @param string $path
      * @return array
      */
@@ -309,7 +312,7 @@ class Cookies extends Headers
      * of the cookie.
      *
      * @param Response $response HTTP Response object
-     * @param Uri\Uri|string $uri The requested URI
+     * @param Uri\Uri|string $ref_uri The requested URI
      * @return Cookies
      * @todo Add the $uri functionality.
      */
diff --git a/vendor/ZF2/library/Zend/Http/Header/AbstractAccept.php b/vendor/ZF2/library/Zend/Http/Header/AbstractAccept.php
index cb572317549..ebbc7996f37 100644
--- a/vendor/ZF2/library/Zend/Http/Header/AbstractAccept.php
+++ b/vendor/ZF2/library/Zend/Http/Header/AbstractAccept.php
@@ -10,6 +10,8 @@
 
 namespace Zend\Http\Header;
 
+use stdClass;
+
 /**
  * Abstract Accept Header
  *
@@ -118,7 +120,7 @@ abstract class AbstractAccept implements HeaderInterface
      * Parse the accept params belonging to a media range
      *
      * @param string $fieldValuePart
-     * @return StdClass
+     * @return stdClass
      */
     protected function parseFieldValuePart($fieldValuePart)
     {
@@ -184,6 +186,7 @@ abstract class AbstractAccept implements HeaderInterface
     /**
      * Get field value
      *
+     * @param array|null $values
      * @return string
      */
     public function getFieldValue($values = null)
@@ -207,9 +210,9 @@ abstract class AbstractAccept implements HeaderInterface
      * Assemble and escape the field value parameters based on RFC 2616 section 2.1
      *
      * @todo someone should review this thoroughly
-     * @param string value
+     * @param string $value
      * @param string $key
-     * @return void
+     * @return string
      */
     protected function assembleAcceptParam(&$value, $key)
     {
@@ -236,6 +239,7 @@ abstract class AbstractAccept implements HeaderInterface
      * @param  string $type
      * @param  int|float $priority
      * @param  array (optional) $params
+     * @throws Exception\InvalidArgumentException
      * @return Accept
      */
     protected function addType($type, $priority = 1, array $params = array())
@@ -275,7 +279,7 @@ abstract class AbstractAccept implements HeaderInterface
     /**
      * Does the header have the requested type?
      *
-     * @param  string $type
+     * @param  array|string $matchAgainst
      * @return bool
      */
     protected function hasType($matchAgainst)
@@ -367,7 +371,7 @@ abstract class AbstractAccept implements HeaderInterface
     /**
      * Add a key/value combination to the internal queue
      *
-     * @param unknown_type $value
+     * @param stdClass $value
      * @return number
      */
     protected function addFieldValuePartToQueue($value)
diff --git a/vendor/ZF2/library/Zend/Http/Header/Accept.php b/vendor/ZF2/library/Zend/Http/Header/Accept.php
index e11b62e3343..71c8bc7acb1 100644
--- a/vendor/ZF2/library/Zend/Http/Header/Accept.php
+++ b/vendor/ZF2/library/Zend/Http/Header/Accept.php
@@ -48,7 +48,7 @@ class Accept extends AbstractAccept
      *
      * @param  string $type
      * @param  int|float $priority
-     * @param  int $level
+     * @param  array $params
      * @return Accept
      */
     public function addMediaType($type, $priority = 1, array $params = array())
@@ -70,7 +70,7 @@ class Accept extends AbstractAccept
     /**
      * Parse the keys contained in the header line
      *
-     * @param string mediaType
+     * @param string $fieldValuePart
      * @return \Zend\Http\Header\Accept\FieldValuePart\CharsetFieldValuePart
      * @see \Zend\Http\Header\AbstractAccept::parseFieldValuePart()
      */
diff --git a/vendor/ZF2/library/Zend/Http/Header/Accept/FieldValuePart/AbstractFieldValuePart.php b/vendor/ZF2/library/Zend/Http/Header/Accept/FieldValuePart/AbstractFieldValuePart.php
index 706a6b71556..79baaafbd92 100644
--- a/vendor/ZF2/library/Zend/Http/Header/Accept/FieldValuePart/AbstractFieldValuePart.php
+++ b/vendor/ZF2/library/Zend/Http/Header/Accept/FieldValuePart/AbstractFieldValuePart.php
@@ -62,7 +62,7 @@ abstract class AbstractFieldValuePart
     }
 
     /**
-     * @return StdClass $params
+     * @return \stdClass $params
      */
     public function getParams()
     {
diff --git a/vendor/ZF2/library/Zend/Http/Header/AcceptCharset.php b/vendor/ZF2/library/Zend/Http/Header/AcceptCharset.php
index 20a6ccedbed..0df8f4a70a7 100644
--- a/vendor/ZF2/library/Zend/Http/Header/AcceptCharset.php
+++ b/vendor/ZF2/library/Zend/Http/Header/AcceptCharset.php
@@ -68,7 +68,7 @@ class AcceptCharset extends AbstractAccept
     /**
      * Parse the keys contained in the header line
      *
-     * @param string mediaType
+     * @param string $fieldValuePart
      * @return \Zend\Http\Header\Accept\FieldValuePart\CharsetFieldValuePart
      * @see \Zend\Http\Header\AbstractAccept::parseFieldValuePart()
      */
diff --git a/vendor/ZF2/library/Zend/Http/Header/AcceptEncoding.php b/vendor/ZF2/library/Zend/Http/Header/AcceptEncoding.php
index eb79680e5f5..229514ade15 100644
--- a/vendor/ZF2/library/Zend/Http/Header/AcceptEncoding.php
+++ b/vendor/ZF2/library/Zend/Http/Header/AcceptEncoding.php
@@ -69,7 +69,7 @@ class AcceptEncoding extends AbstractAccept
     /**
      * Parse the keys contained in the header line
      *
-     * @param string mediaType
+     * @param string $fieldValuePart
      * @return \Zend\Http\Header\Accept\FieldValuePart\EncodingFieldValuePart
      * @see \Zend\Http\Header\AbstractAccept::parseFieldValuePart()
      */
@@ -80,4 +80,3 @@ class AcceptEncoding extends AbstractAccept
         return new FieldValuePart\EncodingFieldValuePart($internalValues);
     }
 }
-
diff --git a/vendor/ZF2/library/Zend/Http/Header/AcceptLanguage.php b/vendor/ZF2/library/Zend/Http/Header/AcceptLanguage.php
index 8e91a66d6ac..79f3d5180b3 100644
--- a/vendor/ZF2/library/Zend/Http/Header/AcceptLanguage.php
+++ b/vendor/ZF2/library/Zend/Http/Header/AcceptLanguage.php
@@ -70,7 +70,7 @@ class AcceptLanguage extends AbstractAccept
     /**
      * Parse the keys contained in the header line
      *
-     * @param string mediaType
+     * @param string $fieldValuePart
      * @return \Zend\Http\Header\Accept\FieldValuePart\LanguageFieldValuePart
      * @see \Zend\Http\Header\AbstractAccept::parseFieldValuePart()
      */
diff --git a/vendor/ZF2/library/Zend/Http/Header/CacheControl.php b/vendor/ZF2/library/Zend/Http/Header/CacheControl.php
index 24e5a275ca6..34ecdd59d07 100644
--- a/vendor/ZF2/library/Zend/Http/Header/CacheControl.php
+++ b/vendor/ZF2/library/Zend/Http/Header/CacheControl.php
@@ -131,7 +131,7 @@ class CacheControl implements HeaderInterface
                 $parts[] = $key;
             } else {
                 if (preg_match('#[^a-zA-Z0-9._-]#', $value)) {
-                    $value = '"'.$value.'"';
+                    $value = '"' . $value.'"';
                 }
                 $parts[] = "$key=$value";
             }
@@ -228,7 +228,7 @@ class CacheControl implements HeaderInterface
     protected static function match($tokens, &$string, &$lastMatch)
     {
         foreach ($tokens as $i => $token) {
-            if (preg_match('/^'.$token.'/', $string, $matches)) {
+            if (preg_match('/^' . $token . '/', $string, $matches)) {
                 $lastMatch = $matches[0];
                 $string = substr($string, strlen($matches[0]));
                 return $i;
diff --git a/vendor/ZF2/library/Zend/Http/Header/GenericMultiHeader.php b/vendor/ZF2/library/Zend/Http/Header/GenericMultiHeader.php
index 844279bc7d7..e5524282cf6 100644
--- a/vendor/ZF2/library/Zend/Http/Header/GenericMultiHeader.php
+++ b/vendor/ZF2/library/Zend/Http/Header/GenericMultiHeader.php
@@ -38,6 +38,6 @@ class GenericMultiHeader extends GenericHeader implements MultipleHeaderInterfac
             }
             $values[] = $header->getFieldValue();
         }
-        return $name. ': ' . implode(',', $values) . "\r\n";
+        return $name . ': ' . implode(',', $values) . "\r\n";
     }
 }
diff --git a/vendor/ZF2/library/Zend/Http/Header/SetCookie.php b/vendor/ZF2/library/Zend/Http/Header/SetCookie.php
index 4c55022b92d..bb31a02fb13 100644
--- a/vendor/ZF2/library/Zend/Http/Header/SetCookie.php
+++ b/vendor/ZF2/library/Zend/Http/Header/SetCookie.php
@@ -10,6 +10,8 @@
 
 namespace Zend\Http\Header;
 
+use Closure;
+
 /**
  * @throws Exception\InvalidArgumentException
  * @see http://www.ietf.org/rfc/rfc2109.txt
@@ -270,6 +272,7 @@ class SetCookie implements MultipleHeaderInterface
 
     /**
      * @param string $name
+     * @throws Exception\InvalidArgumentException
      * @return SetCookie
      */
     public function setName($name)
@@ -310,6 +313,7 @@ class SetCookie implements MultipleHeaderInterface
      * Set version
      *
      * @param integer $version
+     * @throws Exception\InvalidArgumentException
      */
     public function setVersion($version)
     {
@@ -333,6 +337,7 @@ class SetCookie implements MultipleHeaderInterface
      * Set Max-Age
      *
      * @param integer $maxAge
+     * @throws Exception\InvalidArgumentException
      */
     public function setMaxAge($maxAge)
     {
@@ -354,6 +359,7 @@ class SetCookie implements MultipleHeaderInterface
 
     /**
      * @param int $expires
+     * @throws Exception\InvalidArgumentException
      * @return SetCookie
      */
     public function setExpires($expires)
@@ -370,6 +376,7 @@ class SetCookie implements MultipleHeaderInterface
     }
 
     /**
+     * @param bool $inSeconds
      * @return int
      */
     public function getExpires($inSeconds = false)
diff --git a/vendor/ZF2/library/Zend/Http/Headers.php b/vendor/ZF2/library/Zend/Http/Headers.php
index d293f0a908f..3ac50a6e228 100644
--- a/vendor/ZF2/library/Zend/Http/Headers.php
+++ b/vendor/ZF2/library/Zend/Http/Headers.php
@@ -264,17 +264,17 @@ class Headers implements Countable, Iterator
                 $headers[] = $this->headers[$index];
             }
             return new ArrayIterator($headers);
-        } else {
-            $index = array_search($key, $this->headersKeys);
-            if ($index === false) {
-                return false;
-            }
-            if (is_array($this->headers[$index])) {
-                return $this->lazyLoadHeader($index);
-            } else {
-                return $this->headers[$index];
-            }
         }
+
+        $index = array_search($key, $this->headersKeys);
+        if ($index === false) {
+            return false;
+        }
+
+        if (is_array($this->headers[$index])) {
+            return $this->lazyLoadHeader($index);
+        }
+        return $this->headers[$index];
     }
 
     /**
@@ -441,11 +441,10 @@ class Headers implements Countable, Iterator
                 $this->headers[]     = $header;
             }
             return $current;
-        } else {
-            $this->headers[$index] = $current = $headers;
-            return $current;
         }
 
+        $this->headers[$index] = $current = $headers;
+        return $current;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Http/PhpEnvironment/Response.php b/vendor/ZF2/library/Zend/Http/PhpEnvironment/Response.php
index c8ed4e8f336..e1c9c49eb72 100644
--- a/vendor/ZF2/library/Zend/Http/PhpEnvironment/Response.php
+++ b/vendor/ZF2/library/Zend/Http/PhpEnvironment/Response.php
@@ -101,4 +101,4 @@ class Response extends HttpResponse
              ->sendContent();
         return $this;
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Http/Response.php b/vendor/ZF2/library/Zend/Http/Response.php
index 9ab7636af91..539af7f7e26 100644
--- a/vendor/ZF2/library/Zend/Http/Response.php
+++ b/vendor/ZF2/library/Zend/Http/Response.php
@@ -511,8 +511,7 @@ class Response extends AbstractMessage implements ResponseInterface
 
         if ($zlibHeader[1] % 31 == 0) {
             return gzuncompress($body);
-        } else {
-            return gzinflate($body);
         }
+        return gzinflate($body);
     }
 }
diff --git a/vendor/ZF2/library/Zend/I18n/Translator/Plural/Parser.php b/vendor/ZF2/library/Zend/I18n/Translator/Plural/Parser.php
index d54c68c1e44..7ee947188c1 100644
--- a/vendor/ZF2/library/Zend/I18n/Translator/Plural/Parser.php
+++ b/vendor/ZF2/library/Zend/I18n/Translator/Plural/Parser.php
@@ -286,8 +286,6 @@ class Parser
      */
     protected function getNextToken()
     {
-        $token = array();
-
         while ($this->string[$this->currentPos] === ' ' || $this->string[$this->currentPos] === "\t") {
             $this->currentPos++;
         }
diff --git a/vendor/ZF2/library/Zend/I18n/Translator/Plural/Rule.php b/vendor/ZF2/library/Zend/I18n/Translator/Plural/Rule.php
index dc2bd908b8b..05becd5123b 100644
--- a/vendor/ZF2/library/Zend/I18n/Translator/Plural/Rule.php
+++ b/vendor/ZF2/library/Zend/I18n/Translator/Plural/Rule.php
@@ -47,7 +47,7 @@ class Rule
      *
      * @param  integer $numPlurals
      * @param  array   $ast
-     * @return void
+     * @return Rule
      */
     protected function __construct($numPlurals, array $ast)
     {
@@ -177,6 +177,7 @@ class Rule
      * Create a new rule from a string.
      *
      * @param  string $string
+     * @throws Exception\ParseException
      * @return Rule
      */
     public static function fromString($string)
diff --git a/vendor/ZF2/library/Zend/I18n/Translator/Plural/Symbol.php b/vendor/ZF2/library/Zend/I18n/Translator/Plural/Symbol.php
index f1699269b38..65b01a08846 100644
--- a/vendor/ZF2/library/Zend/I18n/Translator/Plural/Symbol.php
+++ b/vendor/ZF2/library/Zend/I18n/Translator/Plural/Symbol.php
@@ -131,6 +131,7 @@ class Symbol
     /**
      * Get null denotation.
      *
+     * @throws Exception\ParseException
      * @return Symbol
      */
     public function getNullDenotation()
@@ -150,6 +151,7 @@ class Symbol
      * Get left denotation.
      *
      * @param  Symbol $left
+     * @throws Exception\ParseException
      * @return Symbol
      */
     public function getLeftDenotation($left)
diff --git a/vendor/ZF2/library/Zend/I18n/Translator/Translator.php b/vendor/ZF2/library/Zend/I18n/Translator/Translator.php
index f679fe24619..8e35c5ec9c9 100644
--- a/vendor/ZF2/library/Zend/I18n/Translator/Translator.php
+++ b/vendor/ZF2/library/Zend/I18n/Translator/Translator.php
@@ -487,6 +487,7 @@ class Translator
      *
      * @param  string $textDomain
      * @param  string $locale
+     * @throws Exception\RuntimeException
      * @return void
      */
     protected function loadMessages($textDomain, $locale)
@@ -514,7 +515,7 @@ class Translator
                 }
 
                 $this->messages[$textDomain][$locale] = $loader->load($locale, $textDomain);
-                return;
+                goto cache;
             }
         }
 
@@ -531,12 +532,12 @@ class Translator
                     }
 
                     $this->messages[$textDomain][$locale] = $loader->load($locale, $filename);
-                    return;
+                    goto cache;
                 }
             }
         }
 
-        // Load concrete files, may override those loaded from patterns
+        // Try to load from concrete files
         foreach (array($locale, '*') as $currentLocale) {
             if (!isset($this->files[$textDomain][$currentLocale])) {
                 continue;
@@ -552,10 +553,11 @@ class Translator
             $this->messages[$textDomain][$locale] = $loader->load($locale, $file['filename']);
 
             unset($this->files[$textDomain][$currentLocale]);
-            return;
+            goto cache;
         }
 
         // Cache the loaded text domain
+        cache:
         if ($cache !== null) {
             $cache->setItem($cacheId, $this->messages[$textDomain][$locale]);
         }
diff --git a/vendor/ZF2/library/Zend/I18n/Validator/Alnum.php b/vendor/ZF2/library/Zend/I18n/Validator/Alnum.php
index deb8bcb7c26..ad1dc3d1e1f 100644
--- a/vendor/ZF2/library/Zend/I18n/Validator/Alnum.php
+++ b/vendor/ZF2/library/Zend/I18n/Validator/Alnum.php
@@ -53,7 +53,7 @@ class Alnum extends AbstractValidator
     /**
      * Sets default option values for this instance
      *
-     * @param array|\Traversable $options
+     * @param bool $allowWhiteSpace
      */
     public function __construct($allowWhiteSpace = false)
     {
diff --git a/vendor/ZF2/library/Zend/I18n/Validator/Float.php b/vendor/ZF2/library/Zend/I18n/Validator/Float.php
index db16805fb54..010a7d8446f 100644
--- a/vendor/ZF2/library/Zend/I18n/Validator/Float.php
+++ b/vendor/ZF2/library/Zend/I18n/Validator/Float.php
@@ -123,6 +123,12 @@ class Float extends AbstractValidator
         $valueFiltered = str_replace($groupingSep, '', $value);
         $valueFiltered = str_replace($decimalSep, '.', $valueFiltered);
 
+        while (strpos($valueFiltered, '.') !== false
+               && (substr($valueFiltered, -1) == '0' || substr($valueFiltered, -1) == '.')
+        ) {
+            $valueFiltered = substr($valueFiltered, 0, strlen($valueFiltered) - 1);
+        }
+
         if (strval($parsedFloat) !== $valueFiltered) {
             $this->error(self::NOT_FLOAT);
             return false;
diff --git a/vendor/ZF2/library/Zend/InputFilter/BaseInputFilter.php b/vendor/ZF2/library/Zend/InputFilter/BaseInputFilter.php
index 7941c431355..4297873e424 100644
--- a/vendor/ZF2/library/Zend/InputFilter/BaseInputFilter.php
+++ b/vendor/ZF2/library/Zend/InputFilter/BaseInputFilter.php
@@ -78,6 +78,7 @@ class BaseInputFilter implements InputFilterInterface
      * Retrieve a named input
      *
      * @param  string $name
+     * @throws Exception\InvalidArgumentException
      * @return InputInterface|InputFilterInterface
      */
     public function get($name)
@@ -119,6 +120,7 @@ class BaseInputFilter implements InputFilterInterface
      * Set data to use when validating and filtering
      *
      * @param  array|Traversable $data
+     * @throws Exception\InvalidArgumentException
      * @return InputFilterInterface
      */
     public function setData($data)
@@ -141,6 +143,7 @@ class BaseInputFilter implements InputFilterInterface
     /**
      * Is the data set valid?
      *
+     * @throws Exception\RuntimeException
      * @return bool
      */
     public function isValid()
@@ -286,6 +289,7 @@ class BaseInputFilter implements InputFilterInterface
      * Retrieve a value from a named input
      *
      * @param  string $name
+     * @throws Exception\InvalidArgumentException
      * @return mixed
      */
     public function getValue($name)
@@ -329,6 +333,7 @@ class BaseInputFilter implements InputFilterInterface
      * Retrieve a raw (unfiltered) value from a named input
      *
      * @param  string $name
+     * @throws Exception\InvalidArgumentException
      * @return mixed
      */
     public function getRawValue($name)
diff --git a/vendor/ZF2/library/Zend/InputFilter/Factory.php b/vendor/ZF2/library/Zend/InputFilter/Factory.php
index 9aaad0e1ae1..0deb56b2873 100644
--- a/vendor/ZF2/library/Zend/InputFilter/Factory.php
+++ b/vendor/ZF2/library/Zend/InputFilter/Factory.php
@@ -93,6 +93,8 @@ class Factory
      * Factory for input objects
      *
      * @param  array|Traversable $inputSpecification
+     * @throws Exception\InvalidArgumentException
+     * @throws Exception\RuntimeException
      * @return InputInterface|InputFilterInterface
      */
     public function createInput($inputSpecification)
@@ -197,6 +199,8 @@ class Factory
      * Factory for input filters
      *
      * @param  array|Traversable $inputFilterSpecification
+     * @throws Exception\InvalidArgumentException
+     * @throws Exception\RuntimeException
      * @return InputFilterInterface
      */
     public function createInputFilter($inputFilterSpecification)
@@ -228,13 +232,19 @@ class Factory
         if (!$inputFilter instanceof InputFilterInterface) {
             throw new Exception\RuntimeException(sprintf(
                 'InputFilter factory expects the "type" to be a class implementing %s; received "%s"',
-                'Zend\InputFilter\InputFilterInterface',
-                $class
-            ));
+                'Zend\InputFilter\InputFilterInterface', $class));
         }
 
         foreach ($inputFilterSpecification as $key => $value) {
-            $input = $this->createInput($value);
+
+            if (($value instanceof InputInterface)
+                || ($value instanceof InputFilterInterface)
+            ) {
+                $input = $value;
+            } else {
+                $input = $this->createInput($value);
+            }
+
             $inputFilter->add($input, $key);
         }
 
diff --git a/vendor/ZF2/library/Zend/InputFilter/InputFilterInterface.php b/vendor/ZF2/library/Zend/InputFilter/InputFilterInterface.php
index e413bb536bf..703c65a1de1 100644
--- a/vendor/ZF2/library/Zend/InputFilter/InputFilterInterface.php
+++ b/vendor/ZF2/library/Zend/InputFilter/InputFilterInterface.php
@@ -11,6 +11,7 @@
 namespace Zend\InputFilter;
 
 use Countable;
+use Traversable;
 
 /**
  * @category   Zend
@@ -23,7 +24,7 @@ interface InputFilterInterface extends Countable
     /**
      * Add an input to the input filter
      *
-     * @param  InputInterface|InputFilterInterface $input
+     * @param  InputInterface|InputFilterInterface|array $input
      * @param  null|string $name Name used to retrieve this input
      * @return InputFilterInterface
      */
diff --git a/vendor/ZF2/library/Zend/Json/Decoder.php b/vendor/ZF2/library/Zend/Json/Decoder.php
index 7241e7e9221..74961923fdc 100644
--- a/vendor/ZF2/library/Zend/Json/Decoder.php
+++ b/vendor/ZF2/library/Zend/Json/Decoder.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Json;
 
+use stdClass;
 use Zend\Json\Exception\InvalidArgumentException;
 use Zend\Json\Exception\RuntimeException;
 
@@ -85,6 +86,7 @@ class Decoder
      * @param int $decodeType How objects should be decoded -- see
      * {@link Zend_Json::TYPE_ARRAY} and {@link Zend_Json::TYPE_OBJECT} for
      * valid values
+     * @throws InvalidArgumentException
      * @return void
      */
     protected function __construct($source, $decodeType)
@@ -176,8 +178,8 @@ class Decoder
      * {@link $decodeType}. If invalid $decodeType present, returns as an
      * array.
      *
-     * @return array|StdClass
-     * @throws Zend\Json\Exception\RuntimeException
+     * @return array|stdClass
+     * @throws RuntimeException
      */
     protected function _decodeObject()
     {
@@ -214,7 +216,7 @@ class Decoder
         switch ($this->decodeType) {
             case Json::TYPE_OBJECT:
                 // Create new StdClass and populate with $members
-                $result = new \stdClass();
+                $result = new stdClass();
                 foreach ($members as $key => $value) {
                     if ($key === '') {
                         $key = '_empty_';
@@ -237,7 +239,7 @@ class Decoder
      *    [element, element2,...,elementN]
      *
      * @return array
-     * @throws Zend\Json\Exception\RuntimeException
+     * @throws RuntimeException
      */
     protected function _decodeArray()
     {
@@ -288,7 +290,7 @@ class Decoder
      * Retrieves the next token from the source stream
      *
      * @return int Token constant value specified in class definition
-     * @throws Zend\Json\Exception\RuntimeException
+     * @throws RuntimeException
      */
     protected function _getNextToken()
     {
@@ -447,7 +449,7 @@ class Decoder
      *
      * @link   http://solarphp.com/
      * @link   http://svn.solarphp.com/core/trunk/Solar/Json.php
-     * @param  string $value
+     * @param  string $chrs
      * @return string
      */
     public static function decodeUnicodeString($chrs)
diff --git a/vendor/ZF2/library/Zend/Json/Encoder.php b/vendor/ZF2/library/Zend/Json/Encoder.php
index 10b4ed81c5f..3c206f46fec 100644
--- a/vendor/ZF2/library/Zend/Json/Encoder.php
+++ b/vendor/ZF2/library/Zend/Json/Encoder.php
@@ -12,6 +12,7 @@ namespace Zend\Json;
 
 use Iterator;
 use IteratorAggregate;
+use ReflectionClass;
 use Zend\Json\Exception\InvalidArgumentException;
 use Zend\Json\Exception\RecursionException;
 
@@ -49,7 +50,7 @@ class Encoder
      *
      * @param boolean $cycleCheck Whether or not to check for recursion when encoding
      * @param array $options Additional options used during encoding
-     * @return void
+     * @return Encoder
      */
     protected function __construct($cycleCheck = false, $options = array())
     {
@@ -94,7 +95,6 @@ class Encoder
     }
 
 
-
     /**
      * Encode an object to JSON by encoding each of the public properties
      *
@@ -104,8 +104,8 @@ class Encoder
      *
      * @param $value object
      * @return string
-     * @throws Zend\Json\Exception\RecursionException If recursive checks are enabled
-     *                                                and the object has been serialized previously
+     * @throws RecursionException If recursive checks are enabled and the
+     *                            object has been serialized previously
      */
     protected function _encodeObject(&$value)
     {
@@ -131,7 +131,7 @@ class Encoder
         $props = '';
 
         if (method_exists($value, 'toJson')) {
-            $props =',' . preg_replace("/^\{(.*)\}$/","\\1",$value->toJson());
+            $props =',' . preg_replace("/^\{(.*)\}$/","\\1", $value->toJson());
         } else {
             if ($value instanceof IteratorAggregate) {
                 $propCollection = $value->getIterator();
@@ -247,7 +247,7 @@ class Encoder
     /**
      * JSON encode a string value by escaping characters as necessary
      *
-     * @param $value string
+     * @param string $string
      * @return string
      */
     protected function _encodeString(&$string)
@@ -272,10 +272,10 @@ class Encoder
      * Encode the constants associated with the ReflectionClass
      * parameter. The encoding format is based on the class2 format
      *
-     * @param $cls ReflectionClass
+     * @param ReflectionClass $cls
      * @return string Encoded constant block in class2 format
      */
-    private static function _encodeConstants(\ReflectionClass $cls)
+    private static function _encodeConstants(ReflectionClass $cls)
     {
         $result    = "constants : {";
         $constants = $cls->getConstants();
@@ -297,11 +297,11 @@ class Encoder
      * Encode the public methods of the ReflectionClass in the
      * class2 format
      *
-     * @param $cls ReflectionClass
+     * @param ReflectionClass $cls
      * @return string Encoded method fragment
      *
      */
-    private static function _encodeMethods(\ReflectionClass $cls)
+    private static function _encodeMethods(ReflectionClass $cls)
     {
         $methods = $cls->getMethods();
         $result = 'methods:{';
@@ -361,11 +361,11 @@ class Encoder
      * Encode the public properties of the ReflectionClass in the class2
      * format.
      *
-     * @param $cls ReflectionClass
+     * @param ReflectionClass $cls
      * @return string Encode properties list
      *
      */
-    private static function _encodeVariables(\ReflectionClass $cls)
+    private static function _encodeVariables(ReflectionClass $cls)
     {
         $properties = $cls->getProperties();
         $propValues = get_class_vars($cls->getName());
@@ -398,7 +398,7 @@ class Encoder
      * @param $package string Optional package name appended to JavaScript
      * proxy class name
      * @return string The class2 (JavaScript) encoding of the class
-     * @throws Zend\Json\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public static function encodeClass($className, $package = '')
     {
diff --git a/vendor/ZF2/library/Zend/Json/Json.php b/vendor/ZF2/library/Zend/Json/Json.php
index 65b9e74b62a..ef76d817e45 100644
--- a/vendor/ZF2/library/Zend/Json/Json.php
+++ b/vendor/ZF2/library/Zend/Json/Json.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Json;
 
+use SimpleXMLElement;
 use Zend\Json\Exception\RecursionException;
 use Zend\Json\Exception\RuntimeException;
 
@@ -51,7 +52,7 @@ class Json
      * @param int $objectDecodeType Optional; flag indicating how to decode
      * objects. See {@link Zend_Json_Decoder::decode()} for details.
      * @return mixed
-     * @throws Zend\Json\Exception\RuntimeException
+     * @throws RuntimeException
      */
     public static function decode($encodedValue, $objectDecodeType = self::TYPE_OBJECT)
     {
@@ -192,7 +193,7 @@ class Json
      * if it matches, we return a new Zend_Json_Expr instead of a text node
      *
      * @param SimpleXMLElement $simpleXmlElementObject
-     * @return Zend_Json_Expr|string
+     * @return Expr|string
      */
     protected static function _getXmlValue($simpleXmlElementObject)
     {
@@ -201,10 +202,10 @@ class Json
         $match     = preg_match($pattern, $simpleXmlElementObject, $matchings);
         if ($match) {
             return new Expr($matchings[1]);
-        } else {
-            return (trim(strval($simpleXmlElementObject)));
         }
+        return (trim(strval($simpleXmlElementObject)));
     }
+
     /**
      * _processXml - Contains the logic for xml2json
      *
@@ -219,11 +220,10 @@ class Json
      * calling a recursive (protected static) function in this class. Once all
      * the XML elements are stored in the PHP array, it is returned to the caller.
      *
-     * Throws a Zend\Json\RecursionException if the XML tree is deeper than the allowed limit.
-     *
      * @param SimpleXMLElement $simpleXmlElementObject
      * @param boolean $ignoreXmlAttributes
      * @param integer $recursionDepth
+     * @throws Exception\RecursionException if the XML tree is deeper than the allowed limit.
      * @return array
      */
     protected static function _processXml($simpleXmlElementObject, $ignoreXmlAttributes, $recursionDepth = 0)
@@ -259,7 +259,7 @@ class Json
         $childArray = array();
         foreach ($children as $child) {
             $childname = $child->getName();
-            $element   = self::_processXml($child,$ignoreXmlAttributes,$recursionDepth + 1);
+            $element   = self::_processXml($child, $ignoreXmlAttributes, $recursionDepth + 1);
             if (array_key_exists($childname, $childArray)) {
                 if (empty($subChild[$childname])) {
                     $childArray[$childname] = array($childArray[$childname]);
diff --git a/vendor/ZF2/library/Zend/Json/Server/Server.php b/vendor/ZF2/library/Zend/Json/Server/Server.php
index ec4516e0fc6..3660311940a 100644
--- a/vendor/ZF2/library/Zend/Json/Server/Server.php
+++ b/vendor/ZF2/library/Zend/Json/Server/Server.php
@@ -72,6 +72,7 @@ class Server extends AbstractServer
      *
      * @param  string|array|callable $function   Valid PHP callback
      * @param  string                $namespace  Ignored
+     * @throws Exception\InvalidArgumentException if function invalid or not callable
      * @return Server
      */
     public function addFunction($function, $namespace = '')
@@ -145,7 +146,8 @@ class Server extends AbstractServer
      *
      * @param  string $fault
      * @param  int $code
-     * @return false
+     * @param  mixed $data
+     * @return Error
      */
     public function fault($fault = null, $code = 404, $data = null)
     {
@@ -158,6 +160,7 @@ class Server extends AbstractServer
      * Handle request
      *
      * @param  Request $request
+     * @throws Exception\InvalidArgumentException
      * @return null|Response
      */
     public function handle($request = false)
@@ -188,6 +191,7 @@ class Server extends AbstractServer
      * Load function definitions
      *
      * @param  array|Definition $definition
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     public function loadFunctions($definition)
@@ -462,7 +466,7 @@ class Server extends AbstractServer
         if (null === $this->smdMethods) {
             $this->smdMethods = array();
             $methods = get_class_methods('Zend\\Json\\Server\\Smd');
-            foreach ($methods as $key => $method) {
+            foreach ($methods as $method) {
                 if (!preg_match('/^(set|get)/', $method)) {
                     continue;
                 }
diff --git a/vendor/ZF2/library/Zend/Json/Server/Smd.php b/vendor/ZF2/library/Zend/Json/Server/Smd.php
index f1b9981bf19..88a7801feab 100644
--- a/vendor/ZF2/library/Zend/Json/Server/Smd.php
+++ b/vendor/ZF2/library/Zend/Json/Server/Smd.php
@@ -114,6 +114,7 @@ class Smd
      * Set transport
      *
      * @param  string $transport
+     * @throws Exception\InvalidArgumentException
      * @return \Zend\Json\Server\Smd
      */
     public function setTransport($transport)
@@ -139,6 +140,7 @@ class Smd
      * Set envelope
      *
      * @param  string $envelopeType
+     * @throws Exception\InvalidArgumentException
      * @return Smd
      */
     public function setEnvelope($envelopeType)
@@ -165,6 +167,7 @@ class Smd
      * Set content type
      *
      * @param  string $type
+     * @throws Exception\InvalidArgumentException
      * @return \Zend\Json\Server\Smd
      */
     public function setContentType($type)
@@ -211,7 +214,7 @@ class Smd
     /**
      * Set service ID
      *
-     * @param  string $Id
+     * @param  string $id
      * @return Smd
      */
     public function setId($id)
@@ -278,6 +281,8 @@ class Smd
      * Add Service
      *
      * @param Smd\Service|array $service
+     * @throws Exception\RuntimeException
+     * @throws Exception\InvalidArgumentException
      * @return Smd
      */
     public function addService($service)
diff --git a/vendor/ZF2/library/Zend/Json/Server/Smd/Service.php b/vendor/ZF2/library/Zend/Json/Server/Smd/Service.php
index 010942425d0..cb6f99cbf88 100644
--- a/vendor/ZF2/library/Zend/Json/Server/Smd/Service.php
+++ b/vendor/ZF2/library/Zend/Json/Server/Smd/Service.php
@@ -107,7 +107,7 @@ class Service
      * Constructor
      *
      * @param  string|array $spec
-     * @throws Zend\Json\Server\Exception\InvalidArgumentException if no name provided
+     * @throws InvalidArgumentException if no name provided
      */
     public function __construct($spec)
     {
@@ -126,7 +126,7 @@ class Service
      * Set object state
      *
      * @param  array $options
-     * @return Zend\Json\Server\Smd\Service
+     * @return Service
      */
     public function setOptions(array $options)
     {
@@ -147,8 +147,8 @@ class Service
      * Set service name
      *
      * @param  string $name
-     * @return Zend\Json\Server\Smd\Service
-     * @throws Zend\Json\Server\Exception\InvalidArgumentException
+     * @return Service
+     * @throws InvalidArgumentException
      */
     public function setName($name)
     {
@@ -176,7 +176,8 @@ class Service
      * Currently limited to POST
      *
      * @param  string $transport
-     * @return Zend\Json\Server\Smd\Service
+     * @throws InvalidArgumentException
+     * @return Service
      */
     public function setTransport($transport)
     {
@@ -202,7 +203,7 @@ class Service
      * Set service target
      *
      * @param  string $target
-     * @return Zend\Json\Server\Smd\Service
+     * @return Service
      */
     public function setTarget($target)
     {
@@ -224,7 +225,8 @@ class Service
      * Set envelope type
      *
      * @param  string $envelopeType
-     * @return Zend\Json\Server\Smd\Service
+     * @throws InvalidArgumentException
+     * @return Service
      */
     public function setEnvelope($envelopeType)
     {
@@ -252,7 +254,8 @@ class Service
      * @param  string|array $type
      * @param  array $options
      * @param  int|null $order
-     * @return Zend\Json\Server\Smd\Service
+     * @throws InvalidArgumentException
+     * @return Service
      */
     public function addParam($type, array $options = array(), $order = null)
     {
@@ -294,7 +297,7 @@ class Service
      * Each param should be an array, and should include the key 'type'.
      *
      * @param  array $params
-     * @return Zend\Json\Server\Smd\Service
+     * @return Service
      */
     public function addParams(array $params)
     {
@@ -317,7 +320,7 @@ class Service
      * Overwrite all parameters
      *
      * @param  array $params
-     * @return Zend\Json\Server\Smd\Service
+     * @return Service
      */
     public function setParams(array $params)
     {
@@ -355,7 +358,8 @@ class Service
      * Set return type
      *
      * @param  string|array $type
-     * @return Zend\Json\Server\Smd\Service
+     * @throws InvalidArgumentException
+     * @return Service
      */
     public function setReturn($type)
     {
@@ -389,7 +393,6 @@ class Service
      */
     public function toArray()
     {
-        $name       = $this->getName();
         $envelope   = $this->getEnvelope();
         $target     = $this->getTarget();
         $transport  = $this->getTransport();
diff --git a/vendor/ZF2/library/Zend/Ldap/Collection.php b/vendor/ZF2/library/Zend/Ldap/Collection.php
index 3f5b12aa480..68434c949fd 100644
--- a/vendor/ZF2/library/Zend/Ldap/Collection.php
+++ b/vendor/ZF2/library/Zend/Ldap/Collection.php
@@ -88,9 +88,8 @@ class Collection implements \Iterator, \Countable
         if ($this->count() > 0) {
             $this->rewind();
             return $this->current();
-        } else {
-            return null;
         }
+        return null;
     }
 
     /**
@@ -135,9 +134,8 @@ class Collection implements \Iterator, \Countable
                 $this->cache[$this->current] = $this->createEntry($current);
             }
             return $this->cache[$this->current];
-        } else {
-            return null;
         }
+        return null;
     }
 
     /**
@@ -163,9 +161,8 @@ class Collection implements \Iterator, \Countable
                 $this->rewind();
             }
             return $this->iterator->key();
-        } else {
-            return null;
         }
+        return null;
     }
 
     /**
@@ -181,9 +178,8 @@ class Collection implements \Iterator, \Countable
                 $this->rewind();
             }
             return $this->current;
-        } else {
-            return null;
         }
+        return null;
     }
 
     /**
@@ -221,8 +217,7 @@ class Collection implements \Iterator, \Countable
     {
         if (isset($this->cache[$this->current])) {
             return true;
-        } else {
-            return $this->iterator->valid();
         }
+        return $this->iterator->valid();
     }
 }
diff --git a/vendor/ZF2/library/Zend/Ldap/Collection/DefaultIterator.php b/vendor/ZF2/library/Zend/Ldap/Collection/DefaultIterator.php
index 7e2afbd4871..9f342888ff6 100644
--- a/vendor/ZF2/library/Zend/Ldap/Collection/DefaultIterator.php
+++ b/vendor/ZF2/library/Zend/Ldap/Collection/DefaultIterator.php
@@ -281,7 +281,6 @@ class DefaultIterator implements \Iterator, \Countable
      * Implements Iterator
      *
      * @throws \Zend\Ldap\Exception\LdapException
-     * @return
      */
     public function next()
     {
diff --git a/vendor/ZF2/library/Zend/Ldap/Dn.php b/vendor/ZF2/library/Zend/Ldap/Dn.php
index 008f2e15c4c..0a0234f13b0 100644
--- a/vendor/ZF2/library/Zend/Ldap/Dn.php
+++ b/vendor/ZF2/library/Zend/Ldap/Dn.php
@@ -57,9 +57,8 @@ class Dn implements \ArrayAccess
             return self::fromArray($dn, $caseFold);
         } elseif (is_string($dn)) {
             return self::fromString($dn, $caseFold);
-        } else {
-            throw new Exception\LdapException(null, 'Invalid argument type for $dn');
         }
+        throw new Exception\LdapException(null, 'Invalid argument type for $dn');
     }
 
     /**
@@ -168,9 +167,8 @@ class Dn implements \ArrayAccess
         }
         if ($length === 1) {
             return self::caseFoldRdn($this->dn[$index], $caseFold);
-        } else {
-            return self::caseFoldDn(array_slice($this->dn, $index, $length, false), $caseFold);
         }
+        return self::caseFoldDn(array_slice($this->dn, $index, $length, false), $caseFold);
     }
 
     /**
@@ -325,9 +323,8 @@ class Dn implements \ArrayAccess
 
         if ($caseFold === self::ATTR_CASEFOLD_NONE) {
             return $this->dn;
-        } else {
-            return self::caseFoldDn($this->dn, $caseFold);
         }
+        return self::caseFoldDn($this->dn, $caseFold);
     }
 
     /**
@@ -387,9 +384,8 @@ class Dn implements \ArrayAccess
         $offset = (int)$offset;
         if ($offset < 0 || $offset >= count($this->dn)) {
             return false;
-        } else {
-            return true;
         }
+        return true;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Ldap/Ldap.php b/vendor/ZF2/library/Zend/Ldap/Ldap.php
index f3d99774062..afb9b572c82 100644
--- a/vendor/ZF2/library/Zend/Ldap/Ldap.php
+++ b/vendor/ZF2/library/Zend/Ldap/Ldap.php
@@ -982,9 +982,8 @@ class Ldap
         } catch (Exception\LdapException $e) {
             if ($e->getCode() === Exception\LdapException::LDAP_NO_SUCH_OBJECT) {
                 return 0;
-            } else {
-                throw $e;
             }
+            throw $e;
         }
 
         return $result->count();
diff --git a/vendor/ZF2/library/Zend/Ldap/Node.php b/vendor/ZF2/library/Zend/Ldap/Node.php
index b3ab434dff5..887c7a0693a 100644
--- a/vendor/ZF2/library/Zend/Ldap/Node.php
+++ b/vendor/ZF2/library/Zend/Ldap/Node.php
@@ -395,9 +395,9 @@ class Node extends Node\AbstractNode implements \Iterator, \RecursiveIterator
             return false;
         } elseif ($this->newDn !== null) {
             return ($this->dn != $this->newDn);
-        } else {
-            return false;
         }
+
+        return false;
     }
 
     /**
@@ -995,12 +995,10 @@ class Node extends Node\AbstractNode implements \Iterator, \RecursiveIterator
         if (!is_array($this->children)) {
             if ($this->isAttached()) {
                 return ($this->countChildren() > 0);
-            } else {
-                return false;
             }
-        } else {
-            return (count($this->children) > 0);
+            return false;
         }
+        return (count($this->children) > 0);
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Loader/AutoloaderFactory.php b/vendor/ZF2/library/Zend/Loader/AutoloaderFactory.php
index 583ecf239c2..0b92fa0df44 100644
--- a/vendor/ZF2/library/Zend/Loader/AutoloaderFactory.php
+++ b/vendor/ZF2/library/Zend/Loader/AutoloaderFactory.php
@@ -11,6 +11,7 @@
 namespace Zend\Loader;
 
 use ReflectionClass;
+use Traversable;
 
 require_once __DIR__ . '/SplAutoloader.php';
 
@@ -74,7 +75,7 @@ abstract class AutoloaderFactory
             return;
         }
 
-        if (!is_array($options) && !($options instanceof \Traversable)) {
+        if (!is_array($options) && !($options instanceof Traversable)) {
             require_once __DIR__ . '/Exception/InvalidArgumentException.php';
             throw new Exception\InvalidArgumentException(
                 'Options provided must be an array or Traversable'
diff --git a/vendor/ZF2/library/Zend/Loader/ClassMapAutoloader.php b/vendor/ZF2/library/Zend/Loader/ClassMapAutoloader.php
index b8f61bf5904..0547f765651 100644
--- a/vendor/ZF2/library/Zend/Loader/ClassMapAutoloader.php
+++ b/vendor/ZF2/library/Zend/Loader/ClassMapAutoloader.php
@@ -10,6 +10,8 @@
 
 namespace Zend\Loader;
 
+use Traversable;
+
 // Grab SplAutoloader interface
 require_once __DIR__ . '/SplAutoloader.php';
 
@@ -40,7 +42,7 @@ class ClassMapAutoloader implements SplAutoloader
      *
      * Create a new instance, and optionally configure the autoloader.
      *
-     * @param  null|array|\Traversable $options
+     * @param  null|array|Traversable $options
      */
     public function __construct($options = null)
     {
@@ -73,6 +75,7 @@ class ClassMapAutoloader implements SplAutoloader
      * classname/file pairs.
      *
      * @param  string|array $map
+     * @throws Exception\InvalidArgumentException
      * @return ClassMapAutoloader
      */
     public function registerAutoloadMap($map)
@@ -105,11 +108,12 @@ class ClassMapAutoloader implements SplAutoloader
      * Register many autoload maps at once
      *
      * @param  array $locations
+     * @throws Exception\InvalidArgumentException
      * @return ClassMapAutoloader
      */
     public function registerAutoloadMaps($locations)
     {
-        if (!is_array($locations) && !($locations instanceof \Traversable)) {
+        if (!is_array($locations) && !($locations instanceof Traversable)) {
             require_once __DIR__ . '/Exception/InvalidArgumentException.php';
             throw new Exception\InvalidArgumentException('Map list must be an array or implement Traversable');
         }
diff --git a/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php b/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php
index 5a37280fa34..b97b301ece7 100644
--- a/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php
+++ b/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php
@@ -262,7 +262,8 @@ class ModuleAutoloader implements SplAutoloader
      * registerPaths
      *
      * @param array|Traversable $paths
-     * @return ModuleLoader
+     * @throws \InvalidArgumentException
+     * @return ModuleAutoloader
      */
     public function registerPaths($paths)
     {
@@ -289,8 +290,9 @@ class ModuleAutoloader implements SplAutoloader
      * registerPath
      *
      * @param string $path
-     * @param string $moduleName
-     * @return ModuleLoader
+     * @param bool|string $moduleName
+     * @throws \InvalidArgumentException
+     * @return ModuleAutoloader
      */
     public function registerPath($path, $moduleName = false)
     {
@@ -339,6 +341,7 @@ class ModuleAutoloader implements SplAutoloader
      * Normalize a path for insertion in the stack
      *
      * @param  string $path
+     * @param  bool   $trailingSlash Whether trailing slash should be included
      * @return string
      */
     public static function normalizePath($path, $trailingSlash = true)
diff --git a/vendor/ZF2/library/Zend/Loader/PluginClassLoader.php b/vendor/ZF2/library/Zend/Loader/PluginClassLoader.php
index 2cd353a13e0..58238c06ac0 100644
--- a/vendor/ZF2/library/Zend/Loader/PluginClassLoader.php
+++ b/vendor/ZF2/library/Zend/Loader/PluginClassLoader.php
@@ -58,6 +58,7 @@ class PluginClassLoader implements PluginClassLocator
      * A null value will clear the static map.
      *
      * @param  null|array|Traversable $map
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     public static function addStaticMap($map)
@@ -211,7 +212,7 @@ class PluginClassLoader implements PluginClassLocator
      * Returns an instance of ArrayIterator, containing a map of
      * all plugins
      *
-     * @return Iterator
+     * @return ArrayIterator
      */
     public function getIterator()
     {
diff --git a/vendor/ZF2/library/Zend/Loader/PluginClassLocator.php b/vendor/ZF2/library/Zend/Loader/PluginClassLocator.php
index 07401e3d5f4..6e35359397b 100644
--- a/vendor/ZF2/library/Zend/Loader/PluginClassLocator.php
+++ b/vendor/ZF2/library/Zend/Loader/PluginClassLocator.php
@@ -10,6 +10,8 @@
 
 namespace Zend\Loader;
 
+use Traversable;
+
 /**
  * Plugin class locator interface
  *
@@ -42,4 +44,3 @@ interface PluginClassLocator extends ShortNameLocator, \IteratorAggregate
      */
     public function getRegisteredPlugins();
 }
-
diff --git a/vendor/ZF2/library/Zend/Loader/SplAutoloader.php b/vendor/ZF2/library/Zend/Loader/SplAutoloader.php
index e9fb09f7724..e243d12daa2 100644
--- a/vendor/ZF2/library/Zend/Loader/SplAutoloader.php
+++ b/vendor/ZF2/library/Zend/Loader/SplAutoloader.php
@@ -10,6 +10,8 @@
 
 namespace Zend\Loader;
 
+use Traversable;
+
 if (interface_exists('Zend\Loader\SplAutoloader')) return;
 
 /**
@@ -25,7 +27,7 @@ interface SplAutoloader
      *
      * Allow configuration of the autoloader via the constructor.
      *
-     * @param  null|array|\Traversable $options
+     * @param  null|array|Traversable $options
      */
     public function __construct($options = null);
 
diff --git a/vendor/ZF2/library/Zend/Loader/StandardAutoloader.php b/vendor/ZF2/library/Zend/Loader/StandardAutoloader.php
index 92672ecfc5d..dda46f0ae12 100644
--- a/vendor/ZF2/library/Zend/Loader/StandardAutoloader.php
+++ b/vendor/ZF2/library/Zend/Loader/StandardAutoloader.php
@@ -77,6 +77,7 @@ class StandardAutoloader implements SplAutoloader
      * </code>
      *
      * @param  array|\Traversable $options
+     * @throws Exception\InvalidArgumentException
      * @return StandardAutoloader
      */
     public function setOptions($options)
@@ -144,7 +145,7 @@ class StandardAutoloader implements SplAutoloader
      */
     public function registerNamespace($namespace, $directory)
     {
-        $namespace = rtrim($namespace, self::NS_SEPARATOR). self::NS_SEPARATOR;
+        $namespace = rtrim($namespace, self::NS_SEPARATOR) . self::NS_SEPARATOR;
         $this->namespaces[$namespace] = $this->normalizeDirectory($directory);
         return $this;
     }
@@ -153,6 +154,7 @@ class StandardAutoloader implements SplAutoloader
      * Register many namespace/directory pairs at once
      *
      * @param  array $namespaces
+     * @throws Exception\InvalidArgumentException
      * @return StandardAutoloader
      */
     public function registerNamespaces($namespaces)
@@ -186,6 +188,7 @@ class StandardAutoloader implements SplAutoloader
      * Register many namespace/directory pairs at once
      *
      * @param  array $prefixes
+     * @throws Exception\InvalidArgumentException
      * @return StandardAutoloader
      */
     public function registerPrefixes($prefixes)
diff --git a/vendor/ZF2/library/Zend/Log/Filter/Validator.php b/vendor/ZF2/library/Zend/Log/Filter/Validator.php
index af140e8599d..8e9089888cf 100644
--- a/vendor/ZF2/library/Zend/Log/Filter/Validator.php
+++ b/vendor/ZF2/library/Zend/Log/Filter/Validator.php
@@ -32,6 +32,7 @@ class Validator implements FilterInterface
      * Filter out any log messages not matching the validator
      *
      * @param  ZendValidator|array|Traversable $validator
+     * @throws Exception\InvalidArgumentException
      * @return Validator
      */
     public function __construct($validator)
diff --git a/vendor/ZF2/library/Zend/Log/Formatter/Base.php b/vendor/ZF2/library/Zend/Log/Formatter/Base.php
index 162b95ce39d..950fdcd9372 100644
--- a/vendor/ZF2/library/Zend/Log/Formatter/Base.php
+++ b/vendor/ZF2/library/Zend/Log/Formatter/Base.php
@@ -111,4 +111,4 @@ class Base implements FormatterInterface
         $this->dateTimeFormat = (string) $dateTimeFormat;
         return $this;
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Log/Formatter/ErrorHandler.php b/vendor/ZF2/library/Zend/Log/Formatter/ErrorHandler.php
index 72f6a304abd..2bca2ea6a8e 100644
--- a/vendor/ZF2/library/Zend/Log/Formatter/ErrorHandler.php
+++ b/vendor/ZF2/library/Zend/Log/Formatter/ErrorHandler.php
@@ -36,16 +36,41 @@ class ErrorHandler extends Simple
             $event['timestamp'] = $event['timestamp']->format($this->getDateTimeFormat());
         }
 
-        foreach ($event as $name => $value) {
-            if (is_array($value)) {
-                foreach ($value as $sname => $svalue) {
-                    $output = str_replace("%{$name}[{$sname}]%", $svalue, $output);
+        foreach ($this->buildReplacementsFromArray($event) as $name => $value) {
+            $output = str_replace("%$name%", $value, $output);
+        }
+
+        return $output;
+    }
+
+    /**
+     * Flatten the multi-dimensional $event array into a single dimensional
+     * array
+     *
+     * @param array $event
+     * @param string $key
+     * @return array
+     */
+    protected function buildReplacementsFromArray ($event, $key = null)
+    {
+        $result = array();
+        foreach ($event as $index => $value) {
+            $nextIndex = $key === null ? $index : $key . '[' . $index . ']';
+            if ($value === null) {
+                continue;
+            }
+            if (! is_array($value)) {
+                if ($key === null) {
+                    $result[$nextIndex] = $value;
+                } else {
+                    if (! is_object($value) || method_exists($value, "__toString")) {
+                        $result[$nextIndex] = $value;
+                    }
                 }
             } else {
-                $output = str_replace("%$name%", $value, $output);
+                $result = array_merge($result, $this->buildReplacementsFromArray($value, $nextIndex));
             }
         }
-
-        return $output;
+        return $result;
     }
 }
diff --git a/vendor/ZF2/library/Zend/Log/Formatter/Xml.php b/vendor/ZF2/library/Zend/Log/Formatter/Xml.php
index 64bb6da200a..c28d849e7b4 100644
--- a/vendor/ZF2/library/Zend/Log/Formatter/Xml.php
+++ b/vendor/ZF2/library/Zend/Log/Formatter/Xml.php
@@ -14,6 +14,7 @@ use DateTime;
 use DOMDocument;
 use DOMElement;
 use Traversable;
+use Zend\Escaper\Escaper;
 use Zend\Stdlib\ArrayUtils;
 
 /**
@@ -38,6 +39,11 @@ class Xml implements FormatterInterface
      */
     protected $encoding;
 
+    /**
+     * @var Escaper instance
+     */
+    protected $escaper;
+
     /**
      * Format specifier for DateTime objects in event data (default: ISO 8601)
      *
@@ -121,6 +127,33 @@ class Xml implements FormatterInterface
         return $this;
     }
 
+    /**
+     * Set Escaper instance
+     *
+     * @param  Escaper $escaper
+     * @return Xml
+     */
+    public function setEscaper(Escaper $escaper)
+    {
+        $this->escaper = $escaper;
+        return $this;
+    }
+
+    /**
+     * Get Escaper instance
+     *
+     * Lazy-loads an instance with the current encoding if none registered.
+     *
+     * @return Escaper
+     */
+    public function getEscaper()
+    {
+        if (null === $this->escaper) {
+            $this->setEscaper(new Escaper($this->getEncoding()));
+        }
+        return $this->escaper;
+    }
+
     /**
      * Formats data into a single line to be written by the writer.
      *
@@ -142,9 +175,10 @@ class Xml implements FormatterInterface
             }
         }
 
-        $enc = $this->getEncoding();
-        $dom = new DOMDocument('1.0', $enc);
-        $elt = $dom->appendChild(new DOMElement($this->rootElement));
+        $enc     = $this->getEncoding();
+        $escaper = $this->getEscaper();
+        $dom     = new DOMDocument('1.0', $enc);
+        $elt     = $dom->appendChild(new DOMElement($this->rootElement));
 
         foreach ($dataToInsert as $key => $value) {
             if (empty($value)
@@ -152,7 +186,7 @@ class Xml implements FormatterInterface
                 || (is_object($value) && method_exists($value,'__toString'))
             ) {
                 if ($key == "message") {
-                    $value = htmlspecialchars($value, ENT_COMPAT, $enc);
+                    $value = $escaper->escapeHtml($value);
                 } elseif ($key == "extra" && empty($value)) {
                     continue;
                 }
diff --git a/vendor/ZF2/library/Zend/Log/Logger.php b/vendor/ZF2/library/Zend/Log/Logger.php
index e6b54814050..384bedad224 100644
--- a/vendor/ZF2/library/Zend/Log/Logger.php
+++ b/vendor/ZF2/library/Zend/Log/Logger.php
@@ -147,7 +147,7 @@ class Logger implements LoggerInterface
      *
      * @param string $name
      * @param array|null $options
-     * @return Writer
+     * @return Writer\WriterInterface
      */
     public function writerPlugin($name, array $options = null)
     {
@@ -157,8 +157,9 @@ class Logger implements LoggerInterface
     /**
      * Add a writer to a logger
      *
-     * @param  string|Writer $writer
+     * @param  string|Writer\WriterInterface $writer
      * @param  int $priority
+     * @param  array|null $options
      * @return Logger
      * @throws Exception\InvalidArgumentException
      */
@@ -214,6 +215,7 @@ class Logger implements LoggerInterface
      * @return Logger
      * @throws Exception\InvalidArgumentException if message can't be cast to string
      * @throws Exception\InvalidArgumentException if extra can't be iterated over
+     * @throws Exception\RuntimeException if no log writer specified
      */
     public function log($priority, $message, $extra = array())
     {
diff --git a/vendor/ZF2/library/Zend/Log/LoggerInterface.php b/vendor/ZF2/library/Zend/Log/LoggerInterface.php
index 267b56640fb..d32ceabf530 100644
--- a/vendor/ZF2/library/Zend/Log/LoggerInterface.php
+++ b/vendor/ZF2/library/Zend/Log/LoggerInterface.php
@@ -10,6 +10,8 @@
 
 namespace Zend\Log;
 
+use Traversable;
+
 /**
  * @category   Zend
  * @package    Zend_Log
@@ -18,57 +20,57 @@ interface LoggerInterface
 {
     /**
      * @param string $message
-     * @param array|\Traversable $extra
-     * @return Loggabble
+     * @param array|Traversable $extra
+     * @return LoggerInterface
      */
     public function emerg($message, $extra = array());
 
     /**
      * @param string $message
-     * @param array|\Traversable $extra
-     * @return Loggabble
+     * @param array|Traversable $extra
+     * @return LoggerInterface
      */
     public function alert($message, $extra = array());
 
     /**
      * @param string $message
-     * @param array|\Traversable $extra
-     * @return Loggabble
+     * @param array|Traversable $extra
+     * @return LoggerInterface
      */
     public function crit($message, $extra = array());
 
     /**
      * @param string $message
-     * @param array|\Traversable $extra
-     * @return Loggabble
+     * @param array|Traversable $extra
+     * @return LoggerInterface
      */
     public function err($message, $extra = array());
 
     /**
      * @param string $message
-     * @param array|\Traversable $extra
-     * @return Loggabble
+     * @param array|Traversable $extra
+     * @return LoggerInterface
      */
     public function warn($message, $extra = array());
 
     /**
      * @param string $message
-     * @param array|\Traversable $extra
-     * @return Loggabble
+     * @param array|Traversable $extra
+     * @return LoggerInterface
      */
     public function notice($message, $extra = array());
 
     /**
      * @param string $message
-     * @param array|\Traversable $extra
-     * @return Loggabble
+     * @param array|Traversable $extra
+     * @return LoggerInterface
      */
     public function info($message, $extra = array());
 
     /**
      * @param string $message
-     * @param array|\Traversable $extra
-     * @return Loggabble
+     * @param array|Traversable $extra
+     * @return LoggerInterface
      */
     public function debug($message, $extra = array());
 }
diff --git a/vendor/ZF2/library/Zend/Log/Writer/AbstractWriter.php b/vendor/ZF2/library/Zend/Log/Writer/AbstractWriter.php
index dd59f398d13..d1fa2db4634 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/AbstractWriter.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/AbstractWriter.php
@@ -13,6 +13,7 @@ namespace Zend\Log\Writer;
 use Zend\Log\Exception;
 use Zend\Log\Filter;
 use Zend\Log\Formatter\FormatterInterface as Formatter;
+use Zend\Stdlib\ErrorHandler;
 
 /**
  * @category   Zend
@@ -31,7 +32,7 @@ abstract class AbstractWriter implements WriterInterface
     /**
      * Filter chain
      *
-     * @var array
+     * @var Filter\FilterInterface[]
      */
     protected $filters = array();
 
@@ -42,10 +43,25 @@ abstract class AbstractWriter implements WriterInterface
      */
     protected $formatter;
 
+    /**
+     * Use Zend\Stdlib\ErrorHandler to report errors during calls to write
+     *
+     * @var bool
+     */
+    protected $convertWriteErrorsToExceptions = true;
+
+    /**
+     * Error level passed to Zend\Stdlib\ErrorHandler::start for errors reported during calls to write
+     *
+     * @var bool
+     */
+    protected $errorsToExceptionsConversionLevel = E_WARNING;
+
     /**
      * Add a filter specific to this writer.
      *
      * @param  int|string|Filter\FilterInterface $filter
+     * @param  array|null $options
      * @return AbstractWriter
      * @throws Exception\InvalidArgumentException
      */
@@ -87,7 +103,7 @@ abstract class AbstractWriter implements WriterInterface
      * Set filter plugin manager
      *
      * @param  string|FilterPluginManager $plugins
-     * @return Logger
+     * @return self
      * @throws Exception\InvalidArgumentException
      */
     public function setFilterPluginManager($plugins)
@@ -112,7 +128,7 @@ abstract class AbstractWriter implements WriterInterface
      *
      * @param string $name
      * @param array|null $options
-     * @return Writer
+     * @return Filter\FilterInterface
      */
     public function filterPlugin($name, array $options = null)
     {
@@ -133,8 +149,30 @@ abstract class AbstractWriter implements WriterInterface
             }
         }
 
-        // exception occurs on error
-        $this->doWrite($event);
+        $errorHandlerStarted = false;
+
+        if ($this->convertWriteErrorsToExceptions && !ErrorHandler::started()) {
+            ErrorHandler::start($this->errorsToExceptionsConversionLevel);
+            $errorHandlerStarted = true;
+        }
+
+        try {
+            $this->doWrite($event);
+        } catch (\Exception $e) {
+            if ($errorHandlerStarted) {
+                ErrorHandler::stop();
+                $errorHandlerStarted = false;
+            }
+            throw $e;
+        }
+
+        if ($errorHandlerStarted) {
+            $error = ErrorHandler::stop();
+            $errorHandlerStarted = false;
+            if ($error) {
+                throw new Exception\RuntimeException("Unable to write", 0, $error);
+            }
+        }
     }
 
     /**
@@ -149,6 +187,16 @@ abstract class AbstractWriter implements WriterInterface
         return $this;
     }
 
+    /**
+     * Set convert write errors to exception flag
+     *
+     * @param bool $ignoreWriteErrors
+     */
+    public function setConvertWriteErrorsToExceptions($convertErrors)
+    {
+        $this->convertWriteErrorsToExceptions = $convertErrors;
+    }
+
     /**
      * Perform shutdown activities such as closing open resources
      *
diff --git a/vendor/ZF2/library/Zend/Log/Writer/Db.php b/vendor/ZF2/library/Zend/Log/Writer/Db.php
index 0d35606e465..bc0c398791e 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/Db.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/Db.php
@@ -60,8 +60,7 @@ class Db extends AbstractWriter
      * @param string $tableName
      * @param array $columnMap
      * @param string $separator
-     * @return Db
-     * @throw Exception\InvalidArgumentException
+     * @throws Exception\InvalidArgumentException
      */
     public function __construct($db, $tableName = null, array $columnMap = null, $separator = null)
     {
diff --git a/vendor/ZF2/library/Zend/Log/Writer/FilterPluginManager.php b/vendor/ZF2/library/Zend/Log/Writer/FilterPluginManager.php
index 83cd8135f36..55b927aa6ee 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/FilterPluginManager.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/FilterPluginManager.php
@@ -11,7 +11,6 @@
 namespace Zend\Log\Writer;
 
 use Zend\ServiceManager\AbstractPluginManager;
-use Zend\ServiceManager\ConfigurationInterface;
 use Zend\Log\Filter;
 use Zend\Log\Exception;
 
diff --git a/vendor/ZF2/library/Zend/Log/Writer/Mail.php b/vendor/ZF2/library/Zend/Log/Writer/Mail.php
index d34a74105a8..becc6184b1c 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/Mail.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/Mail.php
@@ -76,7 +76,7 @@ class Mail extends AbstractWriter
      *
      * @param  MailMessage|array|Traversable $mail
      * @param  Transport\TransportInterface $transport Optional
-     * @return Mail
+     * @throws Exception\InvalidArgumentException
      */
     public function __construct($mail, Transport\TransportInterface $transport = null)
     {
diff --git a/vendor/ZF2/library/Zend/Log/Writer/MongoDB.php b/vendor/ZF2/library/Zend/Log/Writer/MongoDB.php
index f9cae3dc2e4..c6fbe40d729 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/MongoDB.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/MongoDB.php
@@ -50,6 +50,7 @@ class MongoDB extends AbstractWriter
      * @param string|MongoDB $database
      * @param string $collection
      * @param array $saveOptions
+     * @throws Exception\InvalidArgumentException
      */
     public function __construct($mongo, $database, $collection, array $saveOptions = array())
     {
diff --git a/vendor/ZF2/library/Zend/Log/Writer/Stream.php b/vendor/ZF2/library/Zend/Log/Writer/Stream.php
index c5db6d1acc8..96e71aa0b61 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/Stream.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/Stream.php
@@ -109,13 +109,7 @@ class Stream extends AbstractWriter
     protected function doWrite(array $event)
     {
         $line = $this->formatter->format($event) . $this->logSeparator;
-
-        ErrorHandler::start(E_WARNING);
-        $result = fwrite($this->stream, $line);
-        $error  = ErrorHandler::stop();
-        if (false === $result) {
-            throw new Exception\RuntimeException("Unable to write to stream", 0, $error);
-        }
+        fwrite($this->stream, $line);
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Log/Writer/Syslog.php b/vendor/ZF2/library/Zend/Log/Writer/Syslog.php
index aebf4fdcc3f..2326a2edb25 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/Syslog.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/Syslog.php
@@ -90,7 +90,7 @@ class Syslog extends AbstractWriter
     public function __construct(array $params = array())
     {
         if (isset($params['application'])) {
-            $this->application = $params['application'];
+            $this->appName = $params['application'];
         }
 
         $runInitializeSyslog = true;
diff --git a/vendor/ZF2/library/Zend/Log/WriterPluginManager.php b/vendor/ZF2/library/Zend/Log/WriterPluginManager.php
index 53558237ce9..68ee6281fca 100644
--- a/vendor/ZF2/library/Zend/Log/WriterPluginManager.php
+++ b/vendor/ZF2/library/Zend/Log/WriterPluginManager.php
@@ -11,7 +11,6 @@
 namespace Zend\Log;
 
 use Zend\ServiceManager\AbstractPluginManager;
-use Zend\ServiceManager\ConfigurationInterface;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/Log/composer.json b/vendor/ZF2/library/Zend/Log/composer.json
index 34c1fabc674..004d24beaf3 100644
--- a/vendor/ZF2/library/Zend/Log/composer.json
+++ b/vendor/ZF2/library/Zend/Log/composer.json
@@ -20,6 +20,7 @@
     "suggest": {
         "ext-mongo": "*",
         "zendframework/zend-db": "Zend\\Db component",
+        "zendframework/zend-escaper": "Zend\\Escaper component, for use in the XML formatter",
         "zendframework/zend-mail": "Zend\\Mail component",
         "zendframework/zend-validator": "Zend\\Validator component"
     }
diff --git a/vendor/ZF2/library/Zend/Mail/Header/GenericHeader.php b/vendor/ZF2/library/Zend/Mail/Header/GenericHeader.php
index 6a2aa82633a..241fa62f9f7 100644
--- a/vendor/ZF2/library/Zend/Mail/Header/GenericHeader.php
+++ b/vendor/ZF2/library/Zend/Mail/Header/GenericHeader.php
@@ -37,11 +37,11 @@ class GenericHeader implements HeaderInterface, UnstructuredInterface
     public static function fromString($headerLine)
     {
         $decodedLine = iconv_mime_decode($headerLine, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8');
-        $parts = explode(': ', $decodedLine, 2);
+        $parts = explode(':', $decodedLine, 2);
         if (count($parts) != 2) {
             throw new Exception\InvalidArgumentException('Header must match with the format "name: value"');
         }
-        $header = new static($parts[0], $parts[1]);
+        $header = new static($parts[0], ltrim($parts[1]));
         if ($decodedLine != $headerLine) {
             $header->setEncoding('UTF-8');
         }
@@ -140,6 +140,6 @@ class GenericHeader implements HeaderInterface, UnstructuredInterface
         $name  = $this->getFieldName();
         $value = $this->getFieldValue(HeaderInterface::FORMAT_ENCODED);
 
-        return $name. ': ' . $value;
+        return $name . ': ' . $value;
     }
 }
diff --git a/vendor/ZF2/library/Zend/Mail/Header/GenericMultiHeader.php b/vendor/ZF2/library/Zend/Mail/Header/GenericMultiHeader.php
index 033a079e47d..c197e7264e3 100644
--- a/vendor/ZF2/library/Zend/Mail/Header/GenericMultiHeader.php
+++ b/vendor/ZF2/library/Zend/Mail/Header/GenericMultiHeader.php
@@ -65,6 +65,6 @@ class GenericMultiHeader extends GenericHeader implements MultipleHeadersInterfa
             }
             $values[] = $header->getFieldValue(HeaderInterface::FORMAT_ENCODED);
         }
-        return $name. ': ' . implode(',', $values);
+        return $name . ': ' . implode(',', $values);
     }
 }
diff --git a/vendor/ZF2/library/Zend/Mail/Header/MessageId.php b/vendor/ZF2/library/Zend/Mail/Header/MessageId.php
index 49d1751bac3..d8c8edcef79 100644
--- a/vendor/ZF2/library/Zend/Mail/Header/MessageId.php
+++ b/vendor/ZF2/library/Zend/Mail/Header/MessageId.php
@@ -69,6 +69,7 @@ class MessageId implements HeaderInterface
     /**
      * Set the message id
      *
+     * @param string|null $id
      * @return MessageId
      */
     public function setId($id = null)
diff --git a/vendor/ZF2/library/Zend/Mail/Message.php b/vendor/ZF2/library/Zend/Mail/Message.php
index 54fe95f5898..f70597afe30 100644
--- a/vendor/ZF2/library/Zend/Mail/Message.php
+++ b/vendor/ZF2/library/Zend/Mail/Message.php
@@ -354,7 +354,7 @@ class Message
             return null;
         }
         $header = $headers->get('subject');
-        return $header->getFieldValue(Header\HeaderInterface::FORMAT_ENCODED);
+        return $header->getFieldValue();
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Mail/Protocol/Imap.php b/vendor/ZF2/library/Zend/Mail/Protocol/Imap.php
index 23caa519d58..5a89afe0205 100644
--- a/vendor/ZF2/library/Zend/Mail/Protocol/Imap.php
+++ b/vendor/ZF2/library/Zend/Mail/Protocol/Imap.php
@@ -379,7 +379,7 @@ class Imap
     public function escapeList($list)
     {
         $result = array();
-        foreach ($list as $k => $v) {
+        foreach ($list as $v) {
             if (!is_array($v)) {
 //              $result[] = $this->escapeString($v);
                 $result[] = $v;
diff --git a/vendor/ZF2/library/Zend/Mail/Protocol/Smtp.php b/vendor/ZF2/library/Zend/Mail/Protocol/Smtp.php
index e5f23f1614b..3422b1cf21e 100644
--- a/vendor/ZF2/library/Zend/Mail/Protocol/Smtp.php
+++ b/vendor/ZF2/library/Zend/Mail/Protocol/Smtp.php
@@ -166,7 +166,7 @@ class Smtp extends AbstractProtocol
      */
     public function connect()
     {
-        return $this->_connect($this->transport . '://' . $this->host . ':'. $this->port);
+        return $this->_connect($this->transport . '://' . $this->host . ':' . $this->port);
     }
 
 
diff --git a/vendor/ZF2/library/Zend/Mail/Storage/Imap.php b/vendor/ZF2/library/Zend/Mail/Storage/Imap.php
index bc3a288e4fc..3778d74a670 100644
--- a/vendor/ZF2/library/Zend/Mail/Storage/Imap.php
+++ b/vendor/ZF2/library/Zend/Mail/Storage/Imap.php
@@ -512,4 +512,3 @@ class Imap extends AbstractStorage implements Folder\FolderInterface, Writable\W
         }
     }
 }
-
diff --git a/vendor/ZF2/library/Zend/Mail/Storage/Maildir.php b/vendor/ZF2/library/Zend/Mail/Storage/Maildir.php
index 8c569c0c905..3c24f14790c 100644
--- a/vendor/ZF2/library/Zend/Mail/Storage/Maildir.php
+++ b/vendor/ZF2/library/Zend/Mail/Storage/Maildir.php
@@ -302,7 +302,7 @@ class Maildir extends AbstractStorage
 
             ErrorHandler::start(E_NOTICE);
             list($uniq, $info) = explode(':', $entry, 2);
-            list(,$size) = explode(',', $uniq, 2);
+            list(, $size) = explode(',', $uniq, 2);
             ErrorHandler::stop();
             if ($size && $size[0] == 'S' && $size[1] == '=') {
                 $size = substr($size, 2);
diff --git a/vendor/ZF2/library/Zend/Mail/Transport/Sendmail.php b/vendor/ZF2/library/Zend/Mail/Transport/Sendmail.php
index 7143152af51..c69be2b2915 100644
--- a/vendor/ZF2/library/Zend/Mail/Transport/Sendmail.php
+++ b/vendor/ZF2/library/Zend/Mail/Transport/Sendmail.php
@@ -179,7 +179,12 @@ class Sendmail implements TransportInterface
      */
     protected function prepareSubject(Mail\Message $message)
     {
-        return $message->getSubject();
+        $headers = $message->getHeaders();
+        if (!$headers->has('subject')) {
+            return null;
+        }
+        $header = $headers->get('subject');
+        return $header->getFieldValue(HeaderInterface::FORMAT_ENCODED);
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Mail/Transport/Smtp.php b/vendor/ZF2/library/Zend/Mail/Transport/Smtp.php
index 15d4b48f7ee..5ce7998daf3 100644
--- a/vendor/ZF2/library/Zend/Mail/Transport/Smtp.php
+++ b/vendor/ZF2/library/Zend/Mail/Transport/Smtp.php
@@ -199,6 +199,7 @@ class Smtp implements TransportInterface
      * developer to add a custom adapter if required before mail is sent.
      *
      * @param Message $message
+     * @throws Exception\RuntimeException
      */
     public function send(Message $message)
     {
diff --git a/vendor/ZF2/library/Zend/Math/BigInteger/AdapterPluginManager.php b/vendor/ZF2/library/Zend/Math/BigInteger/AdapterPluginManager.php
index 543eac25962..c21e41ca14e 100644
--- a/vendor/ZF2/library/Zend/Math/BigInteger/AdapterPluginManager.php
+++ b/vendor/ZF2/library/Zend/Math/BigInteger/AdapterPluginManager.php
@@ -58,4 +58,3 @@ class AdapterPluginManager extends AbstractPluginManager
         ));
     }
 }
-
diff --git a/vendor/ZF2/library/Zend/Math/Exception/DomainException.php b/vendor/ZF2/library/Zend/Math/Exception/DomainException.php
index da1518577f8..4a5cbe665bd 100644
--- a/vendor/ZF2/library/Zend/Math/Exception/DomainException.php
+++ b/vendor/ZF2/library/Zend/Math/Exception/DomainException.php
@@ -18,4 +18,4 @@ namespace Zend\Math\Exception;
  * @subpackage Exception
  */
 class DomainException extends \DomainException implements ExceptionInterface
-{}
\ No newline at end of file
+{}
diff --git a/vendor/ZF2/library/Zend/Math/Exception/ExceptionInterface.php b/vendor/ZF2/library/Zend/Math/Exception/ExceptionInterface.php
index d4bdcb58301..846b2a709fc 100644
--- a/vendor/ZF2/library/Zend/Math/Exception/ExceptionInterface.php
+++ b/vendor/ZF2/library/Zend/Math/Exception/ExceptionInterface.php
@@ -15,4 +15,4 @@ namespace Zend\Math\Exception;
  * @package    Zend_Math
  */
 interface ExceptionInterface
-{}
\ No newline at end of file
+{}
diff --git a/vendor/ZF2/library/Zend/Math/Exception/RuntimeException.php b/vendor/ZF2/library/Zend/Math/Exception/RuntimeException.php
index a6422765ce1..5a6dfbcd8f4 100644
--- a/vendor/ZF2/library/Zend/Math/Exception/RuntimeException.php
+++ b/vendor/ZF2/library/Zend/Math/Exception/RuntimeException.php
@@ -19,4 +19,4 @@ namespace Zend\Math\Exception;
  */
 class RuntimeException extends \RuntimeException implements
     ExceptionInterface
-{}
\ No newline at end of file
+{}
diff --git a/vendor/ZF2/library/Zend/Math/Rand.php b/vendor/ZF2/library/Zend/Math/Rand.php
index 77bc12a700e..8136edc90ba 100644
--- a/vendor/ZF2/library/Zend/Math/Rand.php
+++ b/vendor/ZF2/library/Zend/Math/Rand.php
@@ -173,4 +173,4 @@ abstract class Rand
 
         return $result;
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Memory/MemoryManager.php b/vendor/ZF2/library/Zend/Memory/MemoryManager.php
index 5bca0787ea1..e7d9618ec9f 100644
--- a/vendor/ZF2/library/Zend/Memory/MemoryManager.php
+++ b/vendor/ZF2/library/Zend/Memory/MemoryManager.php
@@ -10,7 +10,6 @@
 
 namespace Zend\Memory;
 
-use Zend\Cache\Storage\ClearByNamespaceInterface;
 use Zend\Cache\Storage\ClearByNamespaceInterface as ClearByNamespaceCacheStorage;
 use Zend\Cache\Storage\FlushableInterface as FlushableCacheStorage;
 use Zend\Cache\Storage\StorageInterface as CacheStorage;
@@ -362,7 +361,7 @@ class MemoryManager
     /**
      * Check and swap objects if necessary
      *
-     * @throws Zend_MemoryException
+     * @throws Exception\RuntimeException
      */
     private function _swapCheck()
     {
diff --git a/vendor/ZF2/library/Zend/Mime/Exception/ExceptionInterface.php b/vendor/ZF2/library/Zend/Mime/Exception/ExceptionInterface.php
index 6258d548d90..fbb812acab7 100644
--- a/vendor/ZF2/library/Zend/Mime/Exception/ExceptionInterface.php
+++ b/vendor/ZF2/library/Zend/Mime/Exception/ExceptionInterface.php
@@ -16,4 +16,3 @@ namespace Zend\Mime\Exception;
  */
 interface ExceptionInterface
 {}
-
diff --git a/vendor/ZF2/library/Zend/Mime/Message.php b/vendor/ZF2/library/Zend/Mime/Message.php
index adf525a038a..65d733caf76 100644
--- a/vendor/ZF2/library/Zend/Mime/Message.php
+++ b/vendor/ZF2/library/Zend/Mime/Message.php
@@ -149,6 +149,7 @@ class Message
      * Get the headers of a given part as a string
      *
      * @param int $partnum
+     * @param string $EOL
      * @return string
      */
     public function getPartHeaders($partnum, $EOL = Mime::LINEEND)
@@ -160,6 +161,7 @@ class Message
      * Get the (encoded) content of a given part as a string
      *
      * @param int $partnum
+     * @param string $EOL
      * @return string
      */
     public function getPartContent($partnum, $EOL = Mime::LINEEND)
@@ -174,6 +176,7 @@ class Message
      *
      * @param string $body
      * @param string $boundary
+     * @throws Exception\RuntimeException
      * @return array
      */
     protected static function _disassembleMime($body, $boundary)
@@ -183,7 +186,7 @@ class Message
         // find every mime part limiter and cut out the
         // string before it.
         // the part before the first boundary string is discarded:
-        $p = strpos($body, '--'.$boundary."\n", $start);
+        $p = strpos($body, '--' . $boundary."\n", $start);
         if ($p === false) {
             // no parts found!
             return array();
@@ -215,6 +218,7 @@ class Message
      * @param string $message
      * @param string $boundary
      * @param string $EOL EOL string; defaults to {@link Zend_Mime::LINEEND}
+     * @throws Exception\RuntimeException
      * @return \Zend\Mime\Message
      */
     public static function createFromMessage($message, $boundary, $EOL = Mime::LINEEND)
diff --git a/vendor/ZF2/library/Zend/Mime/Mime.php b/vendor/ZF2/library/Zend/Mime/Mime.php
index 19189027f5b..1e587dbd865 100644
--- a/vendor/ZF2/library/Zend/Mime/Mime.php
+++ b/vendor/ZF2/library/Zend/Mime/Mime.php
@@ -107,7 +107,7 @@ class Mime
      *
      * @param string $str
      * @param int $lineLength Defaults to {@link LINELENGTH}
-     * @param int $lineEnd Defaults to {@link LINEEND}
+     * @param string $lineEnd Defaults to {@link LINEEND}
      * @return string
      */
     public static function encodeQuotedPrintable($str,
@@ -168,7 +168,7 @@ class Mime
      * @param string $str
      * @param string $charset
      * @param int $lineLength Defaults to {@link LINELENGTH}
-     * @param int $lineEnd Defaults to {@link LINEEND}
+     * @param string $lineEnd Defaults to {@link LINEEND}
      * @return string
      */
     public static function encodeQuotedPrintableHeader($str, $charset,
@@ -198,7 +198,7 @@ class Mime
             if ($token == '=20') {
                 // only if we have a single char token or space, we can append the
                 // tempstring it to the current line or start a new line if necessary.
-                if (strlen($lines[$currentLine].$tmp) > $lineLength) {
+                if (strlen($lines[$currentLine] . $tmp) > $lineLength) {
                     $lines[$currentLine+1] = $tmp;
                 } else {
                     $lines[$currentLine] .= $tmp;
@@ -213,7 +213,7 @@ class Mime
 
         // assemble the lines together by pre- and appending delimiters, charset, encoding.
         for ($i = 0; $i < count($lines); $i++) {
-            $lines[$i] = " ".$prefix.$lines[$i]."?=";
+            $lines[$i] = " " . $prefix . $lines[$i] . "?=";
         }
         $str = trim(implode($lineEnd, $lines));
         return $str;
@@ -241,7 +241,7 @@ class Mime
      * @param string $str
      * @param string $charset
      * @param int $lineLength Defaults to {@link LINELENGTH}
-     * @param int $lineEnd Defaults to {@link LINEEND}
+     * @param string $lineEnd Defaults to {@link LINEEND}
      * @return string
      */
     public static function encodeBase64Header($str,
@@ -265,7 +265,7 @@ class Mime
      *
      * @param string $str
      * @param int $lineLength Defaults to {@link LINELENGTH}
-     * @param int $lineEnd Defaults to {@link LINEEND}
+     * @param string $lineEnd Defaults to {@link LINEEND}
      * @return string
      */
     public static function encodeBase64($str,
@@ -330,7 +330,7 @@ class Mime
     /**
      * Return a MIME boundary line
      *
-     * @param mixed $EOL Defaults to {@link LINEEND}
+     * @param string $EOL Defaults to {@link LINEEND}
      * @access public
      * @return string
      */
@@ -342,6 +342,7 @@ class Mime
     /**
      * Return MIME ending
      *
+     * @param string $EOL Defaults to {@link LINEEND}
      * @access public
      * @return string
      */
diff --git a/vendor/ZF2/library/Zend/Mime/Part.php b/vendor/ZF2/library/Zend/Mime/Part.php
index c77ef85d5e9..a3f01f56e53 100644
--- a/vendor/ZF2/library/Zend/Mime/Part.php
+++ b/vendor/ZF2/library/Zend/Mime/Part.php
@@ -117,15 +117,15 @@ class Part
     /**
      * Get the Content of the current Mime Part in the given encoding.
      *
-     * @return String
+     * @param string $EOL
+     * @return string
      */
     public function getContent($EOL = Mime::LINEEND)
     {
         if ($this->isStream) {
             return stream_get_contents($this->getEncodedStream());
-        } else {
-            return Mime::encode($this->content, $this->encoding, $EOL);
         }
+        return Mime::encode($this->content, $this->encoding, $EOL);
     }
 
     /**
@@ -136,15 +136,15 @@ class Part
     {
         if ($this->isStream) {
             return stream_get_contents($this->content);
-        } else {
-            return $this->content;
         }
+        return $this->content;
     }
 
     /**
      * Create and return the array of headers for this MIME part
      *
      * @access public
+     * @param string $EOL
      * @return array
      */
     public function getHeadersArray($EOL = Mime::LINEEND)
@@ -197,6 +197,7 @@ class Part
     /**
      * Return the headers for this part as a string
      *
+     * @param string $EOL
      * @return String
      */
     public function getHeaders($EOL = Mime::LINEEND)
diff --git a/vendor/ZF2/library/Zend/ModuleManager/Feature/BootstrapListenerInterface.php b/vendor/ZF2/library/Zend/ModuleManager/Feature/BootstrapListenerInterface.php
index 2330413f1ad..fe47010d49c 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/Feature/BootstrapListenerInterface.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/Feature/BootstrapListenerInterface.php
@@ -24,6 +24,7 @@ interface BootstrapListenerInterface
     /**
      * Listen to the bootstrap event
      *
+     * @param EventInterface $e
      * @return array
      */
     public function onBootstrap(EventInterface $e);
diff --git a/vendor/ZF2/library/Zend/ModuleManager/Feature/ControllerProviderInterface.php b/vendor/ZF2/library/Zend/ModuleManager/Feature/ControllerProviderInterface.php
index 0a1cf6446f1..f63de181af3 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/Feature/ControllerProviderInterface.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/Feature/ControllerProviderInterface.php
@@ -18,10 +18,10 @@ namespace Zend\ModuleManager\Feature;
 interface ControllerProviderInterface
 {
     /**
-     * Expected to return \Zend\ServiceManager\Configuration object or array to
-     * seed such an object.
+     * Expected to return \Zend\ServiceManager\Config object or array to seed
+     * such an object.
      *
-     * @return array|\Zend\ServiceManager\Configuration
+     * @return array|\Zend\ServiceManager\Config
      */
     public function getControllerConfig();
 }
diff --git a/vendor/ZF2/library/Zend/ModuleManager/Listener/ConfigListener.php b/vendor/ZF2/library/Zend/ModuleManager/Listener/ConfigListener.php
index 632c7cad855..f02d284848f 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/Listener/ConfigListener.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/Listener/ConfigListener.php
@@ -166,7 +166,7 @@ class ConfigListener extends AbstractListener implements
 
         // Merge all of the collected configs
         $this->mergedConfig = $this->getOptions()->getExtraConfig() ?: array();
-        foreach ($this->configs as $key => $config) {
+        foreach ($this->configs as $config) {
             $this->mergedConfig = ArrayUtils::merge($this->mergedConfig, $config);
         }
 
@@ -264,7 +264,7 @@ class ConfigListener extends AbstractListener implements
     /**
      * Add a static path of config files to merge after loading modules
      *
-     * @param  string $globPath
+     * @param  string $staticPath
      * @return ConfigListener
      */
     public function addConfigStaticPath($staticPath)
@@ -276,7 +276,9 @@ class ConfigListener extends AbstractListener implements
     /**
      * Add an array of paths of config files to merge after loading modules
      *
-     * @param  mixed $paths
+     * @param  Traversable|array $paths
+     * @param string $type
+     * @throws Exception\InvalidArgumentException
      * @return ConfigListener
      */
     protected function addConfigPaths($paths, $type)
@@ -304,6 +306,7 @@ class ConfigListener extends AbstractListener implements
      *
      * @param  string $path
      * @param  string $type
+     * @throws Exception\InvalidArgumentException
      * @return ConfigListener
      */
     protected function addConfigPath($path, $type)
diff --git a/vendor/ZF2/library/Zend/ModuleManager/Listener/ListenerOptions.php b/vendor/ZF2/library/Zend/ModuleManager/Listener/ListenerOptions.php
index 761fbb8bd41..c3f01fa0f1a 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/Listener/ListenerOptions.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/Listener/ListenerOptions.php
@@ -71,6 +71,7 @@ class ListenerOptions extends AbstractOptions
      * Set an array of paths where modules reside
      *
      * @param  array|Traversable $modulePaths
+     * @throws Exception\InvalidArgumentException
      * @return ListenerOptions
      */
     public function setModulePaths($modulePaths)
@@ -111,6 +112,7 @@ class ListenerOptions extends AbstractOptions
      * Set the glob patterns to use for loading additional config files
      *
      * @param array|Traversable $configGlobPaths
+     * @throws Exception\InvalidArgumentException
      * @return ListenerOptions
      */
     public function setConfigGlobPaths($configGlobPaths)
@@ -131,6 +133,7 @@ class ListenerOptions extends AbstractOptions
      * Set the static paths to use for loading additional config files
      *
      * @param array|Traversable $configStaticPaths
+     * @throws Exception\InvalidArgumentException
      * @return ListenerOptions
      */
     public function setConfigStaticPaths($configStaticPaths)
@@ -162,6 +165,7 @@ class ListenerOptions extends AbstractOptions
      * for unit testing purposes.
      *
      * @param array|Traversable $extraConfig
+     * @throws Exception\InvalidArgumentException
      * @return ListenerOptions
      */
     public function setExtraConfig($extraConfig)
@@ -232,7 +236,7 @@ class ListenerOptions extends AbstractOptions
      */
     public function getConfigCacheFile()
     {
-        return $this->getCacheDir() . '/module-config-cache.'.$this->getConfigCacheKey().'.php';
+        return $this->getCacheDir() . '/module-config-cache.' . $this->getConfigCacheKey().'.php';
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/ModuleManager/Listener/LocatorRegistrationListener.php b/vendor/ZF2/library/Zend/ModuleManager/Listener/LocatorRegistrationListener.php
index def065caddf..42e19c272e2 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/Listener/LocatorRegistrationListener.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/Listener/LocatorRegistrationListener.php
@@ -15,6 +15,7 @@ use Zend\EventManager\EventManagerInterface;
 use Zend\EventManager\ListenerAggregateInterface;
 use Zend\ModuleManager\Feature\LocatorRegisteredInterface;
 use Zend\ModuleManager\ModuleEvent;
+use Zend\Mvc\MvcEvent;
 
 /**
  * Locator registration listener
@@ -66,8 +67,12 @@ class LocatorRegistrationListener extends AbstractListener implements
         $moduleManager = $e->getTarget();
         $events        = $moduleManager->getEventManager()->getSharedManager();
 
+        if (!$events) {
+            return;
+        }
+
         // Shared instance for module manager
-        $events->attach('Zend\Mvc\Application', 'bootstrap', function ($e) use ($moduleManager) {
+        $events->attach('Zend\Mvc\Application', MvcEvent::EVENT_BOOTSTRAP, function ($e) use ($moduleManager) {
             $moduleClassName = get_class($moduleManager);
             $application     = $e->getApplication();
             $services        = $application->getServiceManager();
@@ -81,7 +86,7 @@ class LocatorRegistrationListener extends AbstractListener implements
         }
 
         // Attach to the bootstrap event if there are modules we need to process
-        $events->attach('Zend\Mvc\Application', 'bootstrap', array($this, 'onBootstrap'), 1000);
+        $events->attach('Zend\Mvc\Application', MvcEvent::EVENT_BOOTSTRAP, array($this, 'onBootstrap'), 1000);
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/ModuleManager/Listener/OnBootstrapListener.php b/vendor/ZF2/library/Zend/ModuleManager/Listener/OnBootstrapListener.php
index 4e96b335065..8640cf31259 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/Listener/OnBootstrapListener.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/Listener/OnBootstrapListener.php
@@ -12,6 +12,7 @@ namespace Zend\ModuleManager\Listener;
 
 use Zend\ModuleManager\Feature\BootstrapListenerInterface;
 use Zend\ModuleManager\ModuleEvent;
+use Zend\Mvc\MvcEvent;
 
 /**
  * Autoloader listener
@@ -39,6 +40,6 @@ class OnBootstrapListener extends AbstractListener
         $moduleManager = $e->getTarget();
         $events        = $moduleManager->getEventManager();
         $sharedEvents  = $events->getSharedManager();
-        $sharedEvents->attach('Zend\Mvc\Application', 'bootstrap', array($module, 'onBootstrap'));
+        $sharedEvents->attach('Zend\Mvc\Application', MvcEvent::EVENT_BOOTSTRAP, array($module, 'onBootstrap'));
     }
 }
diff --git a/vendor/ZF2/library/Zend/ModuleManager/Listener/ServiceListener.php b/vendor/ZF2/library/Zend/ModuleManager/Listener/ServiceListener.php
index d2529ddedeb..8983f05e16c 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/Listener/ServiceListener.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/Listener/ServiceListener.php
@@ -12,7 +12,6 @@ namespace Zend\ModuleManager\Listener;
 
 use Traversable;
 use Zend\EventManager\EventManagerInterface;
-use Zend\ModuleManager\Feature\ServiceProviderInterface;
 use Zend\ModuleManager\ModuleEvent;
 use Zend\ServiceManager\Config as ServiceConfig;
 use Zend\ServiceManager\ServiceManager;
@@ -49,6 +48,7 @@ class ServiceListener implements ServiceListenerInterface
 
     /**
      * @param ServiceManager $serviceManager
+     * @param null|array $configuration
      */
     public function __construct(ServiceManager $serviceManager, $configuration = null)
     {
@@ -75,6 +75,7 @@ class ServiceListener implements ServiceListenerInterface
      * @param  string                $key             Configuration key
      * @param  string                $moduleInterface FQCN as string
      * @param  string                $method          Method name
+     * @throws Exception\RuntimeException
      * @return ServiceListener
      */
     public function addServiceManager($serviceManager, $key, $moduleInterface, $method)
@@ -187,6 +188,7 @@ class ServiceListener implements ServiceListenerInterface
      * used to configure the service manager.
      *
      * @param  ModuleEvent $e
+     * @throws Exception\RuntimeException
      * @return void
      */
     public function onLoadModulesPost(ModuleEvent $e)
@@ -235,6 +237,7 @@ class ServiceListener implements ServiceListenerInterface
      * the internal service configuration.
      *
      * @param  ServiceConfig|string $config Instance of ServiceConfig or class name
+     * @throws Exception\RuntimeException
      * @return array
      */
     protected function serviceConfigToArray($config)
diff --git a/vendor/ZF2/library/Zend/ModuleManager/Listener/ServiceListenerInterface.php b/vendor/ZF2/library/Zend/ModuleManager/Listener/ServiceListenerInterface.php
index 3ded20d1670..9a94ab9cd94 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/Listener/ServiceListenerInterface.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/Listener/ServiceListenerInterface.php
@@ -11,6 +11,7 @@
 namespace Zend\ModuleManager\Listener;
 
 use Zend\EventManager\ListenerAggregateInterface;
+use Zend\ServiceManager\ServiceManager;
 
 /**
  * @category   Zend
diff --git a/vendor/ZF2/library/Zend/ModuleManager/ModuleEvent.php b/vendor/ZF2/library/Zend/ModuleManager/ModuleEvent.php
index 09aec3efef8..838fa2a4da3 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/ModuleEvent.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/ModuleEvent.php
@@ -58,6 +58,7 @@ class ModuleEvent extends Event
      * Set the name of a given module
      *
      * @param  string $moduleName
+     * @throws Exception\InvalidArgumentException
      * @return ModuleEvent
      */
     public function setModuleName($moduleName)
@@ -88,6 +89,7 @@ class ModuleEvent extends Event
      * Set module object to compose in this event
      *
      * @param  object $module
+     * @throws Exception\InvalidArgumentException
      * @return ModuleEvent
      */
     public function setModule($module)
diff --git a/vendor/ZF2/library/Zend/ModuleManager/ModuleManager.php b/vendor/ZF2/library/Zend/ModuleManager/ModuleManager.php
index 1b3ddf624ee..cfef84fc93b 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/ModuleManager.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/ModuleManager.php
@@ -113,6 +113,7 @@ class ModuleManager implements ModuleManagerInterface
      * Load a specific module by name.
      *
      * @param    string $moduleName
+     * @throws   Exception\RuntimeException
      * @triggers loadModule.resolve
      * @triggers loadModule
      * @return   mixed Module's Module class
@@ -192,6 +193,7 @@ class ModuleManager implements ModuleManagerInterface
      * Set an array or Traversable of module names that this module manager should load.
      *
      * @param  mixed $modules array or Traversable of module names
+     * @throws Exception\InvalidArgumentException
      * @return ModuleManager
      */
     public function setModules($modules)
diff --git a/vendor/ZF2/library/Zend/ModuleManager/ModuleManagerInterface.php b/vendor/ZF2/library/Zend/ModuleManager/ModuleManagerInterface.php
index ec3fe7b40e0..fe32b0f1e84 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/ModuleManagerInterface.php
+++ b/vendor/ZF2/library/Zend/ModuleManager/ModuleManagerInterface.php
@@ -11,7 +11,6 @@
 namespace Zend\ModuleManager;
 
 use Zend\EventManager\EventManagerAwareInterface;
-use Zend\EventManager\EventsCapableInterface;
 
 /**
  * Module manager interface
diff --git a/vendor/ZF2/library/Zend/Mvc/Application.php b/vendor/ZF2/library/Zend/Mvc/Application.php
index e63fd33c667..83a4b2d22a9 100644
--- a/vendor/ZF2/library/Zend/Mvc/Application.php
+++ b/vendor/ZF2/library/Zend/Mvc/Application.php
@@ -12,7 +12,6 @@ namespace Zend\Mvc;
 
 use Zend\EventManager\EventManagerAwareInterface;
 use Zend\EventManager\EventManagerInterface;
-use Zend\ModuleManager\ModuleManagerInterface;
 use Zend\ServiceManager\ServiceManager;
 use Zend\Stdlib\RequestInterface;
 use Zend\Stdlib\ResponseInterface;
diff --git a/vendor/ZF2/library/Zend/Mvc/ApplicationInterface.php b/vendor/ZF2/library/Zend/Mvc/ApplicationInterface.php
index a68dbeb28e5..48f702b0518 100644
--- a/vendor/ZF2/library/Zend/Mvc/ApplicationInterface.php
+++ b/vendor/ZF2/library/Zend/Mvc/ApplicationInterface.php
@@ -11,6 +11,8 @@
 namespace Zend\Mvc;
 
 use Zend\EventManager\EventsCapableInterface;
+use Zend\Http\Request;
+use Zend\Http\Response;
 
 /**
  * @category   Zend
@@ -28,21 +30,21 @@ interface ApplicationInterface extends EventsCapableInterface
     /**
      * Get the request object
      *
-     * @return Request
+     * @return \Zend\Stdlib\RequestInterface
      */
     public function getRequest();
 
     /**
      * Get the response object
      *
-     * @return Response
+     * @return \Zend\Stdlib\ResponseInterface
      */
     public function getResponse();
 
     /**
      * Run the application
      *
-     * @return \Zend\Http\Response
+     * @return Response
      */
     public function run();
 }
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/AbstractController.php b/vendor/ZF2/library/Zend/Mvc/Controller/AbstractController.php
index d0bd6524ea0..1344dc27d76 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/AbstractController.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/AbstractController.php
@@ -253,15 +253,13 @@ abstract class AbstractController implements
      * Set plugin manager
      *
      * @param  string|PluginManager $plugins
-     * @return RestfulController
+     * @return AbstractController
      * @throws Exception\InvalidArgumentException
      */
     public function setPluginManager(PluginManager $plugins)
     {
         $this->plugins = $plugins;
-        if (method_exists($plugins, 'setController')) {
-            $this->plugins->setController($this);
-        }
+        $this->plugins->setController($this);
 
         return $this;
     }
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Forward.php b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Forward.php
index ca2ac3545a0..39a7f9df40a 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Forward.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Forward.php
@@ -136,7 +136,7 @@ class Forward extends AbstractPlugin
         }
 
         // Allow passing parameters to seed the RouteMatch with
-        if ($params) {
+        if ($params !== null) {
             $event->setRouteMatch(new RouteMatch($params));
         }
 
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/PostRedirectGet.php b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/PostRedirectGet.php
index c34d462616d..83e88508178 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/PostRedirectGet.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/PostRedirectGet.php
@@ -78,4 +78,3 @@ class PostRedirectGet extends AbstractPlugin
         }
     }
 }
-
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Redirect.php b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Redirect.php
index b77dd2c9b2a..9f4ca9ec809 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Redirect.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Redirect.php
@@ -34,6 +34,7 @@ class Redirect extends AbstractPlugin
      * @param  string $route RouteInterface name
      * @param  array $params Parameters to use in url generation, if any
      * @param  array $options RouteInterface-specific options to use in url generation, if any
+     * @param  bool $reuseMatchedParams Whether to reuse matched parameters
      * @return Response
      * @throws Exception\DomainException if composed controller does not implement InjectApplicationEventInterface, or
      *         router cannot be found in controller event
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Url.php b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Url.php
index 9757fd7af00..1cad69a463c 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Url.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Url.php
@@ -34,6 +34,7 @@ class Url extends AbstractPlugin
      * @return string
      * @throws Exception\DomainException if composed controller does not implement InjectApplicationEventInterface, or
      *         router cannot be found in controller event
+     * @throws Exception\RuntimeException if no RouteMatch instance or no matched route name present
      */
     public function fromRoute($route = null, array $params = array(), $options = array(), $reuseMatchedParams = false)
     {
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/PluginManager.php b/vendor/ZF2/library/Zend/Mvc/Controller/PluginManager.php
index be48e5aeb82..5ef7cb0131a 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/PluginManager.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/PluginManager.php
@@ -80,13 +80,14 @@ class PluginManager extends AbstractPluginManager
      * as the first controller, the reference to the controller inside the
      * plugin is lost.
      *
-     * @param  string $cName
-     * @param  array $params
+     * @param  string $name
+     * @param  mixed  $options
+     * @param  bool   $usePeeringServiceManagers
      * @return mixed
      */
-    public function get($name, $usePeeringServiceManagers = true)
+    public function get($name, $options = array(), $usePeeringServiceManagers = true)
     {
-        $plugin = parent::get($name, $usePeeringServiceManagers);
+        $plugin = parent::get($name, $options, $usePeeringServiceManagers);
         $this->injectController($plugin);
         return $plugin;
     }
@@ -142,7 +143,7 @@ class PluginManager extends AbstractPluginManager
      * Any plugin is considered valid in this context.
      *
      * @param  mixed $plugin
-     * @return true
+     * @return void
      * @throws Exception\InvalidPluginException
      */
     public function validatePlugin($plugin)
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Console/Simple.php b/vendor/ZF2/library/Zend/Mvc/Router/Console/Simple.php
index ab2a25f5aac..30ff1b04d23 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Console/Simple.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Console/Simple.php
@@ -118,7 +118,7 @@ class Simple implements RouteInterface
                     'filters' => $filters
                 ));
             } else {
-                throw new InvalidArgumentException('Cannot use '.gettype($filters).' as filters for '.__CLASS__);
+                throw new InvalidArgumentException('Cannot use ' . gettype($filters) . ' as filters for ' . __CLASS__);
             }
         }
 
@@ -131,7 +131,7 @@ class Simple implements RouteInterface
                     $this->validators->addValidator($v);
                 }
             } else {
-                throw new InvalidArgumentException('Cannot use '.gettype($validators).' as validators for '.__CLASS__);
+                throw new InvalidArgumentException('Cannot use ' . gettype($validators) . ' as validators for ' . __CLASS__);
             }
         }
 
@@ -292,14 +292,14 @@ class Simple implements RouteInterface
             )
             ) {
                 // extract available options
-                $options = preg_split('/ *\| */',trim($m['options']),0,PREG_SPLIT_NO_EMPTY);
+                $options = preg_split('/ *\| */', trim($m['options']), 0, PREG_SPLIT_NO_EMPTY);
 
                 // remove dupes
                 array_unique($options);
 
                 // prepare item
                 $item = array(
-                    'name'          => isset($m['groupName']) ? $m['groupName'] : 'unnamedGroup'.$unnamedGroupCounter++,
+                    'name'          => isset($m['groupName']) ? $m['groupName'] : 'unnamedGroup' . $unnamedGroupCounter++,
                     'literal'       => true,
                     'required'      => false,
                     'positional'    => true,
@@ -331,14 +331,14 @@ class Simple implements RouteInterface
                 /sx', $def, $m, 0, $pos
             )) {
                 // extract available options
-                $options = preg_split('/ *\| */',trim($m['options']),0,PREG_SPLIT_NO_EMPTY);
+                $options = preg_split('/ *\| */', trim($m['options']), 0, PREG_SPLIT_NO_EMPTY);
 
                 // remove dupes
                 array_unique($options);
 
                 // prepare item
                 $item = array(
-                    'name'          => isset($m['groupName']) ? $m['groupName']:'unnamedGroupAt'.$unnamedGroupCounter++,
+                    'name'          => isset($m['groupName']) ? $m['groupName']:'unnamedGroupAt' . $unnamedGroupCounter++,
                     'literal'       => true,
                     'required'      => true,
                     'positional'    => true,
@@ -369,17 +369,17 @@ class Simple implements RouteInterface
                 /sx', $def, $m, 0, $pos
             )) {
                 // extract available options
-                $options = preg_split('/ *\| */',trim($m['options']),0,PREG_SPLIT_NO_EMPTY);
+                $options = preg_split('/ *\| */', trim($m['options']), 0, PREG_SPLIT_NO_EMPTY);
 
                 // remove dupes
                 array_unique($options);
 
                 // remove prefix
-                array_walk($options,function(&$val,$key) {$val = ltrim($val,'-');});
+                array_walk($options, function(&$val, $key) {$val = ltrim($val, '-');});
 
                 // prepare item
                 $item = array(
-                    'name'          => isset($m['groupName']) ? $m['groupName']:'unnamedGroupAt'.$unnamedGroupCounter++,
+                    'name'          => isset($m['groupName']) ? $m['groupName']:'unnamedGroupAt' . $unnamedGroupCounter++,
                     'literal'       => false,
                     'required'      => true,
                     'positional'    => false,
@@ -410,17 +410,17 @@ class Simple implements RouteInterface
                 /sx', $def, $m, 0, $pos
             )) {
                 // extract available options
-                $options = preg_split('/ *\| */',trim($m['options']),0,PREG_SPLIT_NO_EMPTY);
+                $options = preg_split('/ *\| */', trim($m['options']), 0, PREG_SPLIT_NO_EMPTY);
 
                 // remove dupes
                 array_unique($options);
 
                 // remove prefix
-                array_walk($options,function(&$val,$key) {$val = ltrim($val,'-');});
+                array_walk($options, function(&$val, $key) {$val = ltrim($val, '-');});
 
                 // prepare item
                 $item = array(
-                    'name'          => isset($m['groupName']) ? $m['groupName']:'unnamedGroupAt'.$unnamedGroupCounter++,
+                    'name'          => isset($m['groupName']) ? $m['groupName']:'unnamedGroupAt' . $unnamedGroupCounter++,
                     'literal'       => false,
                     'required'      => false,
                     'positional'    => false,
@@ -558,7 +558,7 @@ class Simple implements RouteInterface
             if (isset($part['alternatives'])) {
                 // an alternative of flags
                 $regex = '/^\-+(?<name>';
-                $regex .= join('|',$part['alternatives']);
+                $regex .= join('|', $part['alternatives']);
 
                 if ($part['hasValue']) {
                     $regex .= ')(?:\=(?<value>.*?)$)?$/';
@@ -570,16 +570,16 @@ class Simple implements RouteInterface
                 if ($part['short'] === true) {
                     // short variant
                     if ($part['hasValue']) {
-                        $regex = '/^\-'.$part['name'].'(?:\=(?<value>.*?)$)?$/';
+                        $regex = '/^\-' . $part['name'] . '(?:\=(?<value>.*?)$)?$/';
                     } else {
-                        $regex = '/^\-'.$part['name'].'$/';
+                        $regex = '/^\-' . $part['name'] . '$/';
                     }
                 } elseif ($part['short'] === false) {
                     // long variant
                     if ($part['hasValue']) {
-                        $regex = '/^\-{2,}'.$part['name'].'(?:\=(?<value>.*?)$)?$/';
+                        $regex = '/^\-{2,}' . $part['name'] . '(?:\=(?<value>.*?)$)?$/';
                     } else {
-                        $regex = '/^\-{2,}'.$part['name'].'$/';
+                        $regex = '/^\-{2,}' . $part['name'] . '$/';
                     }
                 }
             }
@@ -589,12 +589,12 @@ class Simple implements RouteInterface
              */
             $value = $param = null;
             for ($x=0;$x<count($params);$x++) {
-                if (preg_match($regex,$params[$x],$m)) {
+                if (preg_match($regex, $params[$x], $m)) {
                     // found param
                     $param = $params[$x];
 
                     // prevent further scanning of this param
-                    array_splice($params,$x,1);
+                    array_splice($params, $x, 1);
 
                     if (isset($m['value'])) {
                         $value = $m['value'];
@@ -642,7 +642,7 @@ class Simple implements RouteInterface
                     $value = $params[$x];
 
                     // prevent further scanning of this param
-                    array_splice($params,$x,1);
+                    array_splice($params, $x, 1);
                 } else {
                     // there are no more params available
                     return;
@@ -654,7 +654,7 @@ class Simple implements RouteInterface
              */
             if ($part['hasValue'] && isset($this->constraints[$part['name']])) {
                 if (
-                    !preg_match($this->constraints[$part['name']],$value)
+                    !preg_match($this->constraints[$part['name']], $value)
                 ) {
                     // constraint failed
                     return;
@@ -698,7 +698,7 @@ class Simple implements RouteInterface
          * Scan for left-out flags that should result in a mismatch
          */
         foreach ($params as $param) {
-            if (preg_match('#^\-+#',$param)) {
+            if (preg_match('#^\-+#', $param)) {
                 return; // there is an unrecognized flag
             }
         }
@@ -728,7 +728,7 @@ class Simple implements RouteInterface
              */
             if ($part['literal']) {
                 if (
-                    (isset($part['alternatives']) && !in_array($value,$part['alternatives'])) ||
+                    (isset($part['alternatives']) && !in_array($value, $part['alternatives'])) ||
                     (!isset($part['alternatives']) && $value != $part['name'])
                 ) {
                     return;
@@ -740,7 +740,7 @@ class Simple implements RouteInterface
              */
             if ($part['hasValue'] && isset($this->constraints[$part['name']])) {
                 if (
-                    !preg_match($this->constraints[$part['name']],$value)
+                    !preg_match($this->constraints[$part['name']], $value)
                 ) {
                     // constraint failed
                     return;
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php b/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php
index be4299040d0..bc6c570598f 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php
@@ -12,8 +12,6 @@ namespace Zend\Mvc\Router\Console;
 
 use Traversable;
 use Zend\Mvc\Router\Exception;
-use Zend\Mvc\Router\Console\RouteInterface;
-use Zend\Mvc\Router\RouteInterface as BaseRoute;
 use Zend\Mvc\Router\SimpleRouteStack as BaseSimpleRouteStack;
 use Zend\Stdlib\ArrayUtils;
 use Zend\Stdlib\RequestInterface as Request;
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php
index 6c64a96e792..93acafd6a62 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php
@@ -273,7 +273,7 @@ class Segment implements RouteInterface
                     $skippable    = true;
                     $optionalPart = $this->buildPath($part[1], $mergedParams, true, $hasChild);
 
-                    if ($optionalPart !== null) {
+                    if ($optionalPart !== '') {
                         $path .= $optionalPart;
                         $skip  = false;
                     }
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/TreeRouteStack.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/TreeRouteStack.php
index 293d72f3ec7..05648775917 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/TreeRouteStack.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/TreeRouteStack.php
@@ -12,8 +12,6 @@ namespace Zend\Mvc\Router\Http;
 
 use Traversable;
 use Zend\Mvc\Router\Exception;
-use Zend\Mvc\Router\Http\RouteInterface;
-use Zend\Mvc\Router\RouteInterface as BaseRoute;
 use Zend\Mvc\Router\SimpleRouteStack;
 use Zend\Stdlib\ArrayUtils;
 use Zend\Stdlib\RequestInterface as Request;
@@ -124,9 +122,9 @@ class TreeRouteStack extends SimpleRouteStack
     }
 
     /**
-     * match(): defined by BaseRoute interface.
+     * match(): defined by \Zend\Mvc\Router\RouteInterface
      *
-     * @see    BaseRoute::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @return RouteMatch
      */
@@ -171,9 +169,9 @@ class TreeRouteStack extends SimpleRouteStack
     }
 
     /**
-     * assemble(): defined by RouteInterface interface.
+     * assemble(): defined by \Zend\Mvc\Router\RouteInterface interface.
      *
-     * @see    BaseRoute::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/RouteStackInterface.php b/vendor/ZF2/library/Zend/Mvc/Router/RouteStackInterface.php
index a816cd94836..30248493b20 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/RouteStackInterface.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/RouteStackInterface.php
@@ -49,4 +49,3 @@ interface RouteStackInterface extends RouteInterface
      */
     public function setRoutes($routes);
 }
-
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/AbstractPluginManagerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/AbstractPluginManagerFactory.php
index 6fada16abb8..90972d09886 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/AbstractPluginManagerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/AbstractPluginManagerFactory.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Mvc\Service;
 
+use Zend\ServiceManager\AbstractPluginManager;
 use Zend\ServiceManager\Di\DiAbstractServiceFactory;
 use Zend\ServiceManager\Di\DiServiceInitializer;
 use Zend\ServiceManager\FactoryInterface;
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ControllerPluginManagerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/ControllerPluginManagerFactory.php
index 44f9df1f399..cf60f7f4b95 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ControllerPluginManagerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ControllerPluginManagerFactory.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Mvc\Service;
 
+use Zend\Mvc\Controller\PluginManager;
 use Zend\ServiceManager\ServiceLocatorInterface;
 
 /**
@@ -25,7 +26,7 @@ class ControllerPluginManagerFactory extends AbstractPluginManagerFactory
      * Create and return the MVC controller plugin manager
      *
      * @param  ServiceLocatorInterface $serviceLocator
-     * @return ControllerPluginManager
+     * @return PluginManager
      */
     public function createService(ServiceLocatorInterface $serviceLocator)
     {
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ModuleManagerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/ModuleManagerFactory.php
index de6ead652d2..b640dc9f74c 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ModuleManagerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ModuleManagerFactory.php
@@ -12,7 +12,6 @@ namespace Zend\Mvc\Service;
 
 use Zend\ModuleManager\Listener\DefaultListenerAggregate;
 use Zend\ModuleManager\Listener\ListenerOptions;
-use Zend\ModuleManager\Listener\ServiceListener;
 use Zend\ModuleManager\ModuleEvent;
 use Zend\ModuleManager\ModuleManager;
 use Zend\ServiceManager\FactoryInterface;
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ViewFeedRendererFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/ViewFeedRendererFactory.php
index a6ab805c3ee..49a917279a1 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ViewFeedRendererFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ViewFeedRendererFactory.php
@@ -33,4 +33,3 @@ class ViewFeedRendererFactory implements FactoryInterface
         return $feedRenderer;
     }
 }
-
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ViewHelperManagerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/ViewHelperManagerFactory.php
index 70fcdd0841e..20fe1c03245 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ViewHelperManagerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ViewHelperManagerFactory.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Mvc\Service;
 
+use Zend\Console\Console;
 use Zend\Mvc\Exception;
 use Zend\Mvc\Router\RouteMatch;
 use Zend\ServiceManager\ConfigInterface;
@@ -67,7 +68,8 @@ class ViewHelperManagerFactory extends AbstractPluginManagerFactory
         // Configure URL view helper with router
         $plugins->setFactory('url', function($sm) use($serviceLocator) {
             $helper = new ViewHelper\Url;
-            $helper->setRouter($serviceLocator->get('Router'));
+            $router = Console::isConsole() ? 'HttpRouter' : 'Router';
+            $helper->setRouter($serviceLocator->get($router));
 
             $match = $serviceLocator->get('application')
                         ->getMvcEvent()
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ViewJsonRendererFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/ViewJsonRendererFactory.php
index a2978ef6ade..348aa2d1211 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ViewJsonRendererFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ViewJsonRendererFactory.php
@@ -33,4 +33,3 @@ class ViewJsonRendererFactory implements FactoryInterface
         return $jsonRenderer;
     }
 }
-
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ViewManagerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/ViewManagerFactory.php
index d328f10a616..0f9330fd72b 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ViewManagerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ViewManagerFactory.php
@@ -27,7 +27,7 @@ class ViewManagerFactory implements FactoryInterface
      * Create and return a request instance, according to current environment.
      *
      * @param  ServiceLocatorInterface $serviceLocator
-     * @return \Zend\Stdlib\Message
+     * @return HttpViewManager
      */
     public function createService(ServiceLocatorInterface $serviceLocator)
     {
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ViewResolverFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/ViewResolverFactory.php
index 85b6133794f..f9b331447b1 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ViewResolverFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ViewResolverFactory.php
@@ -28,7 +28,7 @@ class ViewResolverFactory implements FactoryInterface
      * map resolver and path stack resolver
      *
      * @param  ServiceLocatorInterface $serviceLocator
-     * @return ViewResolverAggregateResolver
+     * @return ViewResolver\AggregateResolver
      */
     public function createService(ServiceLocatorInterface $serviceLocator)
     {
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Console/CreateViewModelListener.php b/vendor/ZF2/library/Zend/Mvc/View/Console/CreateViewModelListener.php
index 9ee2d573277..a3851517216 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Console/CreateViewModelListener.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Console/CreateViewModelListener.php
@@ -24,7 +24,6 @@ namespace Zend\Mvc\View\Console;
 use Zend\EventManager\EventManagerInterface as Events;
 use Zend\EventManager\ListenerAggregateInterface;
 use Zend\Mvc\MvcEvent;
-use Zend\Mvc\View\Http\CreateViewModelListener as HttpCreateViewModelListener;
 use Zend\Stdlib\ArrayUtils;
 use Zend\View\Model\ConsoleModel;
 
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Console/DefaultRenderingStrategy.php b/vendor/ZF2/library/Zend/Mvc/View/Console/DefaultRenderingStrategy.php
index 1711ee49df6..494856a6006 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Console/DefaultRenderingStrategy.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Console/DefaultRenderingStrategy.php
@@ -15,7 +15,6 @@ use Zend\EventManager\ListenerAggregateInterface;
 use Zend\Mvc\MvcEvent;
 use Zend\Stdlib\ResponseInterface as Response;
 use Zend\Console\Response as ConsoleResponse;
-use Zend\Console\Request as ConsoleRequest;
 use Zend\View\Model\ConsoleModel as ConsoleViewModel;
 use Zend\View\Model\ModelInterface as ViewModel;
 use Zend\View\View;
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Console/ExceptionStrategy.php b/vendor/ZF2/library/Zend/Mvc/View/Console/ExceptionStrategy.php
index 4a3fc35cc7b..202eaf2ba19 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Console/ExceptionStrategy.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Console/ExceptionStrategy.php
@@ -12,7 +12,6 @@ namespace Zend\Mvc\View\Console;
 
 use Zend\EventManager\EventManagerInterface;
 use Zend\EventManager\ListenerAggregateInterface;
-use Zend\Console\Response as ConsoleResponse;
 use Zend\Mvc\Application;
 use Zend\Mvc\MvcEvent;
 use Zend\Stdlib\ResponseInterface as Response;
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Console/InjectViewModelListener.php b/vendor/ZF2/library/Zend/Mvc/View/Console/InjectViewModelListener.php
index c6a30457d5a..58ce97fdb7a 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Console/InjectViewModelListener.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Console/InjectViewModelListener.php
@@ -10,11 +10,7 @@
 
 namespace Zend\Mvc\View\Console;
 
-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;
 use Zend\Mvc\View\Http\InjectViewModelListener as HttpInjectViewModelListener;
 
 class InjectViewModelListener extends HttpInjectViewModelListener implements ListenerAggregateInterface
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Console/RouteNotFoundStrategy.php b/vendor/ZF2/library/Zend/Mvc/View/Console/RouteNotFoundStrategy.php
index ef4d776855a..292617b3ae0 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Console/RouteNotFoundStrategy.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Console/RouteNotFoundStrategy.php
@@ -103,7 +103,7 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
                     $response = new ConsoleResponse();
                     $e->setResponse($response);
                 }
-                $response->setMetadata('error',$error);
+                $response->setMetadata('error', $error);
                 break;
             default:
                 return;
@@ -200,13 +200,13 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
          * Handle an application with no defined banners
          */
         if (!count($banners)) {
-            return "Zend Framework ".Version::VERSION." application.\nUsage:\n";
+            return "Zend Framework " . Version::VERSION . " application.\nUsage:\n";
         }
 
         /**
          * Join the banners by a newline character
          */
-        return join("\n",$banners);
+        return join("\n", $banners);
     }
 
     /**
@@ -263,7 +263,7 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
         foreach ($usageInfo as $moduleName => $usage) {
             if (is_string($usage)) {
                 // It's a plain string - output as is
-                $result .= $usage."\n";
+                $result .= $usage . "\n";
             } elseif (is_array($usage)) {
                 // It's an array, analyze it
                 foreach ($usage as $a => $b) {
@@ -273,7 +273,7 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
                          */
                         if (($tableCols !== 2 || $tableType != 1) && $table !== false) {
                             // render last table
-                            $result .= $this->renderTable($table, $tableCols,$console->getWidth());
+                            $result .= $this->renderTable($table, $tableCols, $console->getWidth());
                             $table = false;
 
                              // add extra newline for clarity
@@ -313,17 +313,17 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
                         }
 
                         $tableType = 0;
-                        $result .= $b."\n";
+                        $result .= $b . "\n";
                     }
                 }
             } else {
-                throw new RuntimeException('Cannot understand usage info for module '.$moduleName);
+                throw new RuntimeException('Cannot understand usage info for module ' . $moduleName);
             }
         }
 
         // Finish last table
         if ($table !== false) {
-            $result .= $this->renderTable($table, $tableCols,$console->getWidth());
+            $result .= $this->renderTable($table, $tableCols, $console->getWidth());
         }
 
         return $result;
@@ -345,7 +345,7 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
         // If there is only 1 column, just concatenate it
         if ($cols == 1) {
             foreach ($data as $row) {
-                $result .= $row[0]."\n";
+                $result .= $row[0] . "\n";
             }
             return $result;
         }
@@ -369,7 +369,7 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
         }
         if ($width >= $consoleWidth - 10) {
             foreach ($data as $row) {
-                $result .= join("    ",$row)."\n";
+                $result .= join("    ", $row) . "\n";
             }
             return $result;
         }
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Console/ViewManager.php b/vendor/ZF2/library/Zend/Mvc/View/Console/ViewManager.php
index b119f41951a..63b730a8d6c 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Console/ViewManager.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Console/ViewManager.php
@@ -10,16 +10,14 @@
 
 namespace Zend\Mvc\View\Console;
 
+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\HelperPluginManager as ViewHelperManager;
-use Zend\View\Renderer\PhpRenderer as ViewPhpRenderer;
 use Zend\View\Resolver as ViewResolver;
-use Zend\View\Strategy\PhpRendererStrategy;
 use Zend\View\View;
 
 /**
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Http/RouteNotFoundStrategy.php b/vendor/ZF2/library/Zend/Mvc/View/Http/RouteNotFoundStrategy.php
index dcc0ea20478..d799e03c106 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Http/RouteNotFoundStrategy.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Http/RouteNotFoundStrategy.php
@@ -205,8 +205,20 @@ class RouteNotFoundStrategy implements ListenerAggregateInterface
             return;
         }
 
-        $model = new ViewModel();
-        $model->setVariable('message', 'Page not found.');
+        if (!$vars instanceof ViewModel) {
+            $model = new ViewModel();
+            if (is_string($vars)) {
+                $model->setVariable('message', $vars);
+            } else {
+                $model->setVariable('message', 'Page not found.');
+            }
+        } else {
+            $model = $vars;
+            if ($model->getVariable('message') === null) {
+                $model->setVariable('message', 'Page not found.');
+            }
+        }
+
         $model->setTemplate($this->getNotFoundTemplate());
 
         // If displaying reasons, inject the reason
diff --git a/vendor/ZF2/library/Zend/Mvc/View/Http/ViewManager.php b/vendor/ZF2/library/Zend/Mvc/View/Http/ViewManager.php
index c983fec002f..38eed62cbc5 100644
--- a/vendor/ZF2/library/Zend/Mvc/View/Http/ViewManager.php
+++ b/vendor/ZF2/library/Zend/Mvc/View/Http/ViewManager.php
@@ -14,7 +14,6 @@ use ArrayAccess;
 use Traversable;
 use Zend\EventManager\EventManagerInterface;
 use Zend\EventManager\ListenerAggregateInterface;
-use Zend\Mvc\ApplicationInterface;
 use Zend\Mvc\Exception;
 use Zend\Mvc\MvcEvent;
 use Zend\Mvc\Router\RouteMatch;
@@ -174,7 +173,7 @@ class ViewManager implements ListenerAggregateInterface
     /**
      * Instantiates and configures the renderer's resolver
      *
-     * @return ViewAggregateResolver
+     * @return ViewResolver\ResolverInterface
      */
     public function getResolver()
     {
diff --git a/vendor/ZF2/library/Zend/Navigation/Page/AbstractPage.php b/vendor/ZF2/library/Zend/Navigation/Page/AbstractPage.php
index e053ac7487c..d9d5db43001 100644
--- a/vendor/ZF2/library/Zend/Navigation/Page/AbstractPage.php
+++ b/vendor/ZF2/library/Zend/Navigation/Page/AbstractPage.php
@@ -238,7 +238,7 @@ abstract class AbstractPage extends AbstractContainer
      *
      * @param  array|Traversable $options [optional] page options. Default is
      *                                    null, which should set defaults.
-     * @throws Exception if invalid options are given
+     * @throws Exception\InvalidArgumentException if invalid options are given
      */
     public function __construct($options = null)
     {
@@ -475,6 +475,8 @@ abstract class AbstractPage extends AbstractContainer
      *
      * @param  array|Traversable $relations  [optional] an associative array of
      *                           forward links to other pages
+     * @throws Exception\InvalidArgumentException if $relations is not an array
+     *                                            or Traversable object
      * @return AbstractPage fluent interface, returns self
      */
     public function setRel($relations = null)
@@ -539,6 +541,8 @@ abstract class AbstractPage extends AbstractContainer
      * @param  array|Traversable $relations [optional] an associative array of
      *                                      reverse links to other pages
      *
+     * @throws Exception\InvalidArgumentException if $relations it not an array
+     *                                            or Traversable object
      * @return AbstractPage fluent interface, returns self
      */
     public function setRev($relations = null)
@@ -811,6 +815,7 @@ abstract class AbstractPage extends AbstractContainer
      *
      * @param  AbstractContainer $parent [optional] new parent to set.
      *                           Default is null which will set no parent.
+     * @throws Exception\InvalidArgumentException
      * @return AbstractPage fluent interface, returns self
      */
     public function setParent(AbstractContainer $parent = null)
diff --git a/vendor/ZF2/library/Zend/Navigation/Page/Mvc.php b/vendor/ZF2/library/Zend/Navigation/Page/Mvc.php
index 27f36b57fb8..0dad3e16c0d 100644
--- a/vendor/ZF2/library/Zend/Navigation/Page/Mvc.php
+++ b/vendor/ZF2/library/Zend/Navigation/Page/Mvc.php
@@ -13,6 +13,7 @@ namespace Zend\Navigation\Page;
 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;
 
 /**
@@ -110,6 +111,10 @@ class Mvc extends AbstractPage
             if ($this->routeMatch instanceof RouteMatch) {
                 $reqParams  = $this->routeMatch->getParams();
 
+                if (isset($reqParams[ModuleRouteListener::ORIGINAL_CONTROLLER])) {
+                    $reqParams['controller'] = $reqParams[ModuleRouteListener::ORIGINAL_CONTROLLER];
+                }
+
                 $myParams   = $this->params;
                 if (null !== $this->controller) {
                     $myParams['controller'] = $this->controller;
diff --git a/vendor/ZF2/library/Zend/Paginator/Adapter/DbSelect.php b/vendor/ZF2/library/Zend/Paginator/Adapter/DbSelect.php
index 4875fea8910..7fcaede604a 100644
--- a/vendor/ZF2/library/Zend/Paginator/Adapter/DbSelect.php
+++ b/vendor/ZF2/library/Zend/Paginator/Adapter/DbSelect.php
@@ -54,6 +54,7 @@ class DbSelect implements AdapterInterface
      * @param Select $select The select query
      * @param Adapter|Sql $adapterOrSqlObject DB adapter or Sql object
      * @param null|ResultSetInterface $resultSetPrototype
+     * @throws Exception\InvalidArgumentException
      */
     public function __construct(Select $select, $adapterOrSqlObject, ResultSetInterface $resultSetPrototype = null)
     {
diff --git a/vendor/ZF2/library/Zend/Paginator/Paginator.php b/vendor/ZF2/library/Zend/Paginator/Paginator.php
index b6b245fc345..931e14b1d21 100644
--- a/vendor/ZF2/library/Zend/Paginator/Paginator.php
+++ b/vendor/ZF2/library/Zend/Paginator/Paginator.php
@@ -18,6 +18,7 @@ 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;
 use Zend\Paginator\Adapter\AdapterInterface;
@@ -826,11 +827,10 @@ class Paginator implements Countable, IteratorAggregate
     {
         $currentItems = $this->getCurrentItems();
 
-        if ($currentItems instanceof DbAbstractRowset) {
+        if ($currentItems instanceof AbstractResultSet) {
             return Json::encode($currentItems->toArray());
-        } else {
-            return Json::encode($currentItems);
         }
+        return Json::encode($currentItems);
     }
 
     /**
@@ -892,7 +892,7 @@ class Paginator implements Countable, IteratorAggregate
      * Creates the page collection.
      *
      * @param  string $scrollingStyle Scrolling style
-     * @return stdClass
+     * @return \stdClass
      */
     protected function _createPages($scrollingStyle = null)
     {
diff --git a/vendor/ZF2/library/Zend/Paginator/ScrollingStylePluginManager.php b/vendor/ZF2/library/Zend/Paginator/ScrollingStylePluginManager.php
index 18a4e0f7c7f..e6d9c72d5d1 100644
--- a/vendor/ZF2/library/Zend/Paginator/ScrollingStylePluginManager.php
+++ b/vendor/ZF2/library/Zend/Paginator/ScrollingStylePluginManager.php
@@ -59,4 +59,3 @@ class ScrollingStylePluginManager extends AbstractPluginManager
         ));
     }
 }
-
diff --git a/vendor/ZF2/library/Zend/Permissions/Acl/Acl.php b/vendor/ZF2/library/Zend/Permissions/Acl/Acl.php
index 7da33f7b9df..30eab0cdbb4 100644
--- a/vendor/ZF2/library/Zend/Permissions/Acl/Acl.php
+++ b/vendor/ZF2/library/Zend/Permissions/Acl/Acl.php
@@ -839,7 +839,7 @@ class Acl
         }
 
         $dfs['visited'][$role->getRoleId()] = true;
-        foreach ($this->getRoleRegistry()->getParents($role) as $roleParentId => $roleParent) {
+        foreach ($this->getRoleRegistry()->getParents($role) as $roleParent) {
             $dfs['stack'][] = $roleParent;
         }
 
@@ -925,7 +925,7 @@ class Acl
         }
 
         $dfs['visited'][$role->getRoleId()] = true;
-        foreach ($this->getRoleRegistry()->getParents($role) as $roleParentId => $roleParent) {
+        foreach ($this->getRoleRegistry()->getParents($role) as $roleParent) {
             $dfs['stack'][] = $roleParent;
         }
 
diff --git a/vendor/ZF2/library/Zend/ProgressBar/Adapter/Console.php b/vendor/ZF2/library/Zend/ProgressBar/Adapter/Console.php
index 6b834ad92c6..e3798092891 100644
--- a/vendor/ZF2/library/Zend/ProgressBar/Adapter/Console.php
+++ b/vendor/ZF2/library/Zend/ProgressBar/Adapter/Console.php
@@ -166,6 +166,7 @@ class Console extends AbstractAdapter
      * Set a different output-stream
      *
      * @param  string $resource
+     * @throws Exception\RuntimeException
      * @return \Zend\ProgressBar\Adapter\Console
      */
     public function setOutputStream($resource)
diff --git a/vendor/ZF2/library/Zend/ProgressBar/ProgressBar.php b/vendor/ZF2/library/Zend/ProgressBar/ProgressBar.php
index 08bb4ebf514..da7682241b0 100644
--- a/vendor/ZF2/library/Zend/ProgressBar/ProgressBar.php
+++ b/vendor/ZF2/library/Zend/ProgressBar/ProgressBar.php
@@ -176,6 +176,7 @@ class ProgressBar
     /**
      * Update the progressbar to the next value
      *
+     * @param  int $diff
      * @param  string $text
      * @return void
      */
diff --git a/vendor/ZF2/library/Zend/Serializer/Adapter/AdapterInterface.php b/vendor/ZF2/library/Zend/Serializer/Adapter/AdapterInterface.php
index 9a788baaba2..038c777eb8f 100644
--- a/vendor/ZF2/library/Zend/Serializer/Adapter/AdapterInterface.php
+++ b/vendor/ZF2/library/Zend/Serializer/Adapter/AdapterInterface.php
@@ -34,4 +34,4 @@ interface AdapterInterface
      * @throws \Zend\Serializer\Exception\ExceptionInterface
      */
     public function unserialize($serialized);
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Serializer/Adapter/AdapterOptions.php b/vendor/ZF2/library/Zend/Serializer/Adapter/AdapterOptions.php
index 8ae73b564c8..8d603fc5b31 100644
--- a/vendor/ZF2/library/Zend/Serializer/Adapter/AdapterOptions.php
+++ b/vendor/ZF2/library/Zend/Serializer/Adapter/AdapterOptions.php
@@ -18,4 +18,4 @@ use Zend\Stdlib\AbstractOptions;
  * @subpackage Adapter
  */
 class AdapterOptions extends AbstractOptions
-{}
\ No newline at end of file
+{}
diff --git a/vendor/ZF2/library/Zend/Serializer/Adapter/Json.php b/vendor/ZF2/library/Zend/Serializer/Adapter/Json.php
index fe18539405e..8620033c322 100644
--- a/vendor/ZF2/library/Zend/Serializer/Adapter/Json.php
+++ b/vendor/ZF2/library/Zend/Serializer/Adapter/Json.php
@@ -71,7 +71,7 @@ class Json extends AbstractAdapter
             'objectDecodeType'     => $options->getObjectDecodeType(),
         );
 
-        try  {
+        try {
             return ZendJson::encode($value, $cycleCheck, $opts);
         } catch (\InvalidArgumentException $e) {
             throw new Exception\InvalidArgumentException('Serialization failed: ' . $e->getMessage(), 0, $e);
@@ -100,4 +100,4 @@ class Json extends AbstractAdapter
 
         return $ret;
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Serializer/Adapter/Wddx.php b/vendor/ZF2/library/Zend/Serializer/Adapter/Wddx.php
index afbdb83a762..b92d0ba09e2 100644
--- a/vendor/ZF2/library/Zend/Serializer/Adapter/Wddx.php
+++ b/vendor/ZF2/library/Zend/Serializer/Adapter/Wddx.php
@@ -105,6 +105,7 @@ class Wddx extends AbstractAdapter
      * @param  string $wddx
      * @return mixed
      * @throws Exception\RuntimeException on wddx error
+     * @throws Exception\InvalidArgumentException if invalid xml
      */
     public function unserialize($wddx)
     {
diff --git a/vendor/ZF2/library/Zend/Serializer/Serializer.php b/vendor/ZF2/library/Zend/Serializer/Serializer.php
index 823f349958c..af49627296c 100644
--- a/vendor/ZF2/library/Zend/Serializer/Serializer.php
+++ b/vendor/ZF2/library/Zend/Serializer/Serializer.php
@@ -87,7 +87,7 @@ class Serializer
      * Change the default adapter.
      *
      * @param string|Adapter $adapter
-     * @param array|\Traversable|null $options
+     * @param array|\Traversable|null $adapterOptions
      */
     public static function setDefaultAdapter($adapter, $adapterOptions = null)
     {
@@ -148,4 +148,4 @@ class Serializer
 
         return $adapter->unserialize($serialized);
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Server/AbstractServer.php b/vendor/ZF2/library/Zend/Server/AbstractServer.php
index 8e25ede2182..c951dc9c443 100644
--- a/vendor/ZF2/library/Zend/Server/AbstractServer.php
+++ b/vendor/ZF2/library/Zend/Server/AbstractServer.php
@@ -80,7 +80,7 @@ abstract class AbstractServer implements Server
      * @param  Reflection\AbstractFunction $reflection
      * @param  null|string|object $class
      * @return Method\Definition
-     * @throws Exception on duplicate entry
+     * @throws Exception\RuntimeException on duplicate entry
      */
     protected function _buildSignature(Reflection\AbstractFunction $reflection, $class = null)
     {
diff --git a/vendor/ZF2/library/Zend/Server/Definition.php b/vendor/ZF2/library/Zend/Server/Definition.php
index bff6d99ffc0..fa3864be119 100644
--- a/vendor/ZF2/library/Zend/Server/Definition.php
+++ b/vendor/ZF2/library/Zend/Server/Definition.php
@@ -44,7 +44,7 @@ class Definition implements \Countable, \Iterator
      * Set flag indicating whether or not overwriting existing methods is allowed
      *
      * @param mixed $flag
-     * @return void
+     * @return \Zend\Server\Definition
      */
     public function setOverwriteExistingMethods($flag)
     {
@@ -201,7 +201,7 @@ class Definition implements \Countable, \Iterator
     /**
      * Iterator: current item
      *
-     * @return mixed
+     * @return Method\Definition
      */
     public function current()
     {
@@ -221,7 +221,7 @@ class Definition implements \Countable, \Iterator
     /**
      * Iterator: advance to next method
      *
-     * @return void
+     * @return Method\Definition
      */
     public function next()
     {
diff --git a/vendor/ZF2/library/Zend/Server/Method/Definition.php b/vendor/ZF2/library/Zend/Server/Method/Definition.php
index d5cc213fbaf..1fc62d02039 100644
--- a/vendor/ZF2/library/Zend/Server/Method/Definition.php
+++ b/vendor/ZF2/library/Zend/Server/Method/Definition.php
@@ -106,6 +106,7 @@ class Definition
      * Set method callback
      *
      * @param  array|\Zend\Server\Method\Callback $callback
+     * @throws Server\Exception\InvalidArgumentException
      * @return \Zend\Server\Method\Definition
      */
     public function setCallback($callback)
@@ -133,6 +134,7 @@ class Definition
      * Add prototype to method definition
      *
      * @param  array|\Zend\Server\Method\Prototype $prototype
+     * @throws Server\Exception\InvalidArgumentException
      * @return \Zend\Server\Method\Definition
      */
     public function addPrototype($prototype)
@@ -209,6 +211,7 @@ class Definition
      * Set object to use with method calls
      *
      * @param  object $object
+     * @throws Server\Exception\InvalidArgumentException
      * @return \Zend\Server\Method\Definition
      */
     public function setObject($object)
diff --git a/vendor/ZF2/library/Zend/Server/Method/Parameter.php b/vendor/ZF2/library/Zend/Server/Method/Parameter.php
index 5406757035b..bcecbc0211f 100644
--- a/vendor/ZF2/library/Zend/Server/Method/Parameter.php
+++ b/vendor/ZF2/library/Zend/Server/Method/Parameter.php
@@ -20,27 +20,37 @@ namespace Zend\Server\Method;
 class Parameter
 {
     /**
-     * @var mixed Default parameter value
+     * Default parameter value
+     *
+     * @var mixed
      */
     protected $defaultValue;
 
     /**
-     * @var string Parameter description
+     * Parameter description
+     *
+     * @var string
      */
     protected $description = '';
 
     /**
-     * @var string Parameter variable name
+     * Parameter variable name
+     *
+     * @var string
      */
     protected $name;
 
     /**
-     * @var bool Is parameter optional?
+     * Is parameter optional?
+     *
+     * @var bool
      */
     protected $optional = false;
 
     /**
-     * @var string Parameter type
+     * Parameter type
+     *
+     * @var string
      */
     protected $type = 'mixed';
 
diff --git a/vendor/ZF2/library/Zend/Server/Method/Prototype.php b/vendor/ZF2/library/Zend/Server/Method/Prototype.php
index a632a28ec4b..00a1e017276 100644
--- a/vendor/ZF2/library/Zend/Server/Method/Prototype.php
+++ b/vendor/ZF2/library/Zend/Server/Method/Prototype.php
@@ -93,7 +93,7 @@ class Prototype
     /**
      * Add parameters
      *
-     * @param  array $parameter
+     * @param  array $parameters
      * @return \Zend\Server\Method\Prototype
      */
     public function addParameters(array $parameters)
diff --git a/vendor/ZF2/library/Zend/Server/Reflection/AbstractFunction.php b/vendor/ZF2/library/Zend/Server/Reflection/AbstractFunction.php
index b474a883ed9..1a9c44f8359 100644
--- a/vendor/ZF2/library/Zend/Server/Reflection/AbstractFunction.php
+++ b/vendor/ZF2/library/Zend/Server/Reflection/AbstractFunction.php
@@ -79,7 +79,11 @@ abstract class AbstractFunction
     /**
      * Constructor
      *
-     * @param ReflectionFunction $r
+     * @param \Reflector $r
+     * @param null|string $namespace
+     * @param null|array $argv
+     * @throws Exception\InvalidArgumentException
+     * @throws Exception\RuntimeException
      */
     public function __construct(\Reflector $r, $namespace = null, $argv = array())
     {
@@ -166,7 +170,7 @@ abstract class AbstractFunction
      *
      * @param array $return Array of return types
      * @param string $returnDesc Return value description
-     * @param array $params Array of arguments (each an array of types)
+     * @param array $paramTypes Array of arguments (each an array of types)
      * @param array $paramDesc Array of parameter descriptions
      * @return array
      */
@@ -226,7 +230,7 @@ abstract class AbstractFunction
      * comment. Determines method signatures using a combination of
      * ReflectionFunction and parsing of DocBlock @param and @return values.
      *
-     * @param ReflectionFunction $function
+     * @throws Exception\RuntimeException
      * @return array
      */
     protected function _reflect()
@@ -264,7 +268,7 @@ abstract class AbstractFunction
             // Get param types and description
             if (preg_match_all('/@param\s+([^\s]+)/m', $docBlock, $matches)) {
                 $paramTypesTmp = $matches[1];
-                if (preg_match_all('/@param\s+\S+\s+(\$\S+)\s+(.*?)(@|\*\/)/s', $docBlock, $matches)) {
+                if (preg_match_all('/@param\s+\S+\s+(\$\S+)\s+(.*?)(?=@|\*\/)/s', $docBlock, $matches)) {
                     $paramDesc = $matches[2];
                     foreach ($paramDesc as $key => $value) {
                         $value = preg_replace('/\s?\*\s/m', '', $value);
@@ -276,6 +280,16 @@ abstract class AbstractFunction
         } else {
             $helpText = $function->getName();
             $return   = 'void';
+
+            // Try and auto-determine type, based on reflection
+            $paramTypesTmp = array();
+            foreach ($parameters as $i => $param) {
+                $paramType = 'mixed';
+                if ($param->isArray()) {
+                    $paramType = 'array';
+                }
+                $paramTypesTmp[$i] = $paramType;
+            }
         }
 
         // Set method description
@@ -329,6 +343,7 @@ abstract class AbstractFunction
      *
      * @param string $method
      * @param array $args
+     * @throws Exception\BadMethodCallException
      * @return mixed
      */
     public function __call($method, $args)
@@ -337,7 +352,7 @@ abstract class AbstractFunction
             return call_user_func_array(array($this->reflection, $method), $args);
         }
 
-        throw new Exception\BadMethodCallException('Invalid reflection method ("' .$method. '")');
+        throw new Exception\BadMethodCallException('Invalid reflection method ("' . $method . '")');
     }
 
     /**
@@ -376,6 +391,7 @@ abstract class AbstractFunction
      * Set method's namespace
      *
      * @param string $namespace
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     public function setNamespace($namespace)
@@ -406,6 +422,7 @@ abstract class AbstractFunction
      * Set the description
      *
      * @param string $string
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     public function setDescription($string)
@@ -420,7 +437,7 @@ abstract class AbstractFunction
     /**
      * Retrieve the description
      *
-     * @return void
+     * @return string
      */
     public function getDescription()
     {
diff --git a/vendor/ZF2/library/Zend/Server/Reflection/Prototype.php b/vendor/ZF2/library/Zend/Server/Reflection/Prototype.php
index 9feb3f012ca..8c363f279fa 100644
--- a/vendor/ZF2/library/Zend/Server/Reflection/Prototype.php
+++ b/vendor/ZF2/library/Zend/Server/Reflection/Prototype.php
@@ -26,6 +26,7 @@ class Prototype
      *
      * @param ReflectionReturnValue $return
      * @param array $params
+     * @throws Exception\InvalidArgumentException
      */
     public function __construct(ReflectionReturnValue $return, $params = null)
     {
diff --git a/vendor/ZF2/library/Zend/Server/Reflection/ReflectionClass.php b/vendor/ZF2/library/Zend/Server/Reflection/ReflectionClass.php
index 8cb9dc98b24..d6e1d0c813b 100644
--- a/vendor/ZF2/library/Zend/Server/Reflection/ReflectionClass.php
+++ b/vendor/ZF2/library/Zend/Server/Reflection/ReflectionClass.php
@@ -53,7 +53,7 @@ class ReflectionClass
      * Create array of dispatchable methods, each a
      * {@link Zend\Server\Reflection\ReflectionMethod}. Sets reflection object property.
      *
-     * @param ReflectionClass $reflection
+     * @param \ReflectionClass $reflection
      * @param string $namespace
      * @param mixed $argv
      */
@@ -80,6 +80,7 @@ class ReflectionClass
      *
      * @param string $method
      * @param array $args
+     * @throws Exception\BadMethodCallException
      * @return mixed
      */
     public function __call($method, $args)
@@ -148,6 +149,7 @@ class ReflectionClass
      * Set namespace for this class
      *
      * @param string $namespace
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     public function setNamespace($namespace)
diff --git a/vendor/ZF2/library/Zend/Server/Reflection/ReflectionParameter.php b/vendor/ZF2/library/Zend/Server/Reflection/ReflectionParameter.php
index 9d356d02d83..647172a458e 100644
--- a/vendor/ZF2/library/Zend/Server/Reflection/ReflectionParameter.php
+++ b/vendor/ZF2/library/Zend/Server/Reflection/ReflectionParameter.php
@@ -47,7 +47,7 @@ class ReflectionParameter
     /**
      * Constructor
      *
-     * @param ReflectionParameter $r
+     * @param \ReflectionParameter $r
      * @param string $type Parameter type
      * @param string $description Parameter description
      */
@@ -63,6 +63,7 @@ class ReflectionParameter
      *
      * @param string $method
      * @param array $args
+     * @throws Exception\BadMethodCallException
      * @return mixed
      */
     public function __call($method, $args)
@@ -88,6 +89,7 @@ class ReflectionParameter
      * Set parameter type
      *
      * @param string|null $type
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     public function setType($type)
@@ -113,6 +115,7 @@ class ReflectionParameter
      * Set parameter description
      *
      * @param string|null $description
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     public function setDescription($description)
diff --git a/vendor/ZF2/library/Zend/Server/Reflection/ReflectionReturnValue.php b/vendor/ZF2/library/Zend/Server/Reflection/ReflectionReturnValue.php
index 40b4d9385d8..ef7fc68f280 100644
--- a/vendor/ZF2/library/Zend/Server/Reflection/ReflectionReturnValue.php
+++ b/vendor/ZF2/library/Zend/Server/Reflection/ReflectionReturnValue.php
@@ -59,6 +59,7 @@ class ReflectionReturnValue
      * Set parameter type
      *
      * @param string|null $type
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     public function setType($type)
@@ -84,6 +85,7 @@ class ReflectionReturnValue
      * Set parameter description
      *
      * @param string|null $description
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     public function setDescription($description)
diff --git a/vendor/ZF2/library/Zend/Server/Server.php b/vendor/ZF2/library/Zend/Server/Server.php
index a25886ecf8e..f25a05ca224 100644
--- a/vendor/ZF2/library/Zend/Server/Server.php
+++ b/vendor/ZF2/library/Zend/Server/Server.php
@@ -90,7 +90,7 @@ interface Server
      *
      * Used for persistence; loads a construct as returned by {@link getFunctions()}.
      *
-     * @param  array $array
+     * @param  array $definition
      * @return void
      */
     public function loadFunctions($definition);
diff --git a/vendor/ZF2/library/Zend/ServiceManager/AbstractPluginManager.php b/vendor/ZF2/library/Zend/ServiceManager/AbstractPluginManager.php
index be9b476fb5f..54da31343fb 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/AbstractPluginManager.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/AbstractPluginManager.php
@@ -40,7 +40,9 @@ abstract class AbstractPluginManager extends ServiceManager implements ServiceLo
     protected $autoAddInvokableClass = true;
 
     /**
-     * @var mixed Options to use when creating an instance
+     * Options to use when creating an instance
+     *
+     * @var mixed
      */
     protected $creationOptions = null;
 
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Config.php b/vendor/ZF2/library/Zend/ServiceManager/Config.php
index 3518e4cde2f..63fcbf4253b 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Config.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Config.php
@@ -61,8 +61,9 @@ class Config implements ConfigInterface
 
     public function configureServiceManager(ServiceManager $serviceManager)
     {
-        $allowOverride = $this->getAllowOverride();
-        isset($allowOverride) ? $serviceManager->setAllowOverride($allowOverride) : null;
+        if (($allowOverride = $this->getAllowOverride()) !== null) {
+            $serviceManager->setAllowOverride($allowOverride);
+        }
 
         foreach ($this->getFactories() as $name => $factory) {
             $serviceManager->setFactory($name, $factory);
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceFactory.php b/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceFactory.php
index 4a341aba5f2..08dc75678fc 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceFactory.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceFactory.php
@@ -87,7 +87,7 @@ class DiServiceFactory extends Di implements FactoryInterface
      * @param string $name
      * @param array $params
      * @return object
-     * @throws Exception\InvalidServiceNameException
+     * @throws Exception\ServiceNotFoundException
      */
     public function get($name, array $params = array())
     {
diff --git a/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceInitializer.php b/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceInitializer.php
index 3480703c1d7..fc0373b1122 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceInitializer.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/Di/DiServiceInitializer.php
@@ -11,7 +11,6 @@
 namespace Zend\ServiceManager\Di;
 
 use Zend\Di\Di;
-use Zend\Di\Exception\ClassNotFoundException as DiClassNotFoundException;
 use Zend\ServiceManager\Exception;
 use Zend\ServiceManager\InitializerInterface;
 use Zend\ServiceManager\ServiceLocatorInterface;
@@ -47,6 +46,8 @@ class DiServiceInitializer extends Di implements InitializerInterface
 
     /**
      * @param $instance
+     * @param ServiceLocatorInterface $serviceLocator
+     * @throws \Exception
      */
     public function initialize($instance, ServiceLocatorInterface $serviceLocator)
     {
diff --git a/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php b/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php
index fea0e16f41d..0d1bea254f2 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php
@@ -10,6 +10,7 @@
 
 namespace Zend\ServiceManager;
 
+use Closure;
 use ReflectionClass;
 
 class ServiceManager implements ServiceLocatorInterface
@@ -40,7 +41,7 @@ class ServiceManager implements ServiceLocatorInterface
     protected $invokableClasses = array();
 
     /**
-     * @var string|callable|Closure|InstanceFactoryInterface[]
+     * @var string|callable|Closure|FactoryInterface[]
      */
     protected $factories = array();
 
@@ -231,8 +232,9 @@ class ServiceManager implements ServiceLocatorInterface
     /**
      * @param  string                           $name
      * @param  string|FactoryInterface|callable $factory
-     * @param  bool                          $shared
+     * @param  bool                             $shared
      * @return ServiceManager
+     * @throws Exception\InvalidArgumentException
      * @throws Exception\InvalidServiceNameException
      */
     public function setFactory($name, $factory, $shared = true)
@@ -299,6 +301,7 @@ class ServiceManager implements ServiceLocatorInterface
 
     /**
      * @param  callable|InitializerInterface $initializer
+     * @param  bool                          $topOfStack
      * @return ServiceManager
      * @throws Exception\InvalidArgumentException
      */
@@ -375,8 +378,9 @@ class ServiceManager implements ServiceLocatorInterface
     /**
      * Retrieve a registered instance
      *
-     * @param  string  $cName
+     * @param  string  $name
      * @param  bool    $usePeeringServiceManagers
+     * @throws Exception\ServiceNotFoundException
      * @return object|array
      */
     public function get($name, $usePeeringServiceManagers = true)
@@ -436,8 +440,8 @@ class ServiceManager implements ServiceLocatorInterface
     /**
      * @param  string|array $name
      * @return false|object
+     * @throws Exception\ServiceNotFoundException
      * @throws Exception\ServiceNotCreatedException
-     * @throws Exception\InvalidServiceNameException
      */
     public function create($name)
     {
@@ -488,6 +492,7 @@ class ServiceManager implements ServiceLocatorInterface
      * Determine if we can create an instance.
      *
      * @param  string|array $name
+     * @param  bool         $checkAbstractFactories
      * @return bool
      */
     public function canCreate($name, $checkAbstractFactories = true)
@@ -666,6 +671,7 @@ class ServiceManager implements ServiceLocatorInterface
      * @param  string   $cName
      * @param  string   $rName
      * @throws Exception\ServiceNotCreatedException
+     * @throws Exception\ServiceNotFoundException
      * @throws Exception\CircularDependencyFoundException
      * @return object
      */
@@ -730,7 +736,7 @@ class ServiceManager implements ServiceLocatorInterface
      * Allows to override the canonical names lookup map with predefined
      * values.
      *
-     * @return array $canonicalNames
+     * @param array $canonicalNames
      * @return ServiceManager
      */
     public function setCanonicalNames($canonicalNames)
@@ -762,7 +768,7 @@ class ServiceManager implements ServiceLocatorInterface
      * @param  string $canonicalName
      * @param  string $requestedName
      * @return null|\stdClass
-     * @throws Exception\ServiceNotCreatedException If resolved class does not exist
+     * @throws Exception\ServiceNotFoundException If resolved class does not exist
      */
     protected function createFromInvokable($canonicalName, $requestedName)
     {
diff --git a/vendor/ZF2/library/Zend/Session/AbstractManager.php b/vendor/ZF2/library/Zend/Session/AbstractManager.php
index 934d8dadea6..14c66fcac6c 100644
--- a/vendor/ZF2/library/Zend/Session/AbstractManager.php
+++ b/vendor/ZF2/library/Zend/Session/AbstractManager.php
@@ -177,4 +177,4 @@ abstract class AbstractManager implements Manager
     {
         return $this->saveHandler;
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Session/Config/SessionConfig.php b/vendor/ZF2/library/Zend/Session/Config/SessionConfig.php
index 2b4d6afb834..f6440ef9e74 100644
--- a/vendor/ZF2/library/Zend/Session/Config/SessionConfig.php
+++ b/vendor/ZF2/library/Zend/Session/Config/SessionConfig.php
@@ -76,7 +76,7 @@ class SessionConfig extends StandardConfig
      *
      * @param  string $storageName
      * @param  mixed $storageValue
-     * @return SessionConfiguration
+     * @return SessionConfig
      */
     public function setStorageOption($storageName, $storageValue)
     {
@@ -129,7 +129,7 @@ class SessionConfig extends StandardConfig
      * Set session.save_handler
      *
      * @param  string $phpSaveHandler
-     * @return SessionConfiguration
+     * @return SessionConfig
      * @throws Exception\InvalidArgumentException
      */
     public function setPhpSaveHandler($phpSaveHandler)
@@ -152,7 +152,7 @@ class SessionConfig extends StandardConfig
      * Set session.serialize_handler
      *
      * @param  string $serializeHandler
-     * @return SessionConfiguration
+     * @return SessionConfig
      * @throws Exception\InvalidArgumentException
      */
     public function setSerializeHandler($serializeHandler)
@@ -176,7 +176,7 @@ class SessionConfig extends StandardConfig
      * Set cache limiter
      *
      * @param $cacheLimiter
-     * @return SessionConfiguration
+     * @return SessionConfig
      * @throws Exception\InvalidArgumentException
      */
     public function setCacheLimiter($cacheLimiter)
@@ -194,14 +194,14 @@ class SessionConfig extends StandardConfig
      * Set session.hash_function
      *
      * @param  string|int $hashFunction
-     * @return SessionConfiguration
+     * @return SessionConfig
      * @throws Exception\InvalidArgumentException
      */
     public function setHashFunction($hashFunction)
     {
         $hashFunction = (string) $hashFunction;
         $validHashFunctions = $this->getHashFunctions();
-        if (!in_array($hashFunction, $this->getHashFunctions(), true)) {
+        if (!in_array($hashFunction, $validHashFunctions, true)) {
             throw new Exception\InvalidArgumentException('Invalid hash function provided');
         }
 
@@ -214,7 +214,7 @@ class SessionConfig extends StandardConfig
      * Set session.hash_bits_per_character
      *
      * @param  int $hashBitsPerCharacter
-     * @return SessionConfiguration
+     * @return SessionConfig
      * @throws Exception\InvalidArgumentException
      */
     public function setHashBitsPerCharacter($hashBitsPerCharacter)
diff --git a/vendor/ZF2/library/Zend/Session/Config/StandardConfig.php b/vendor/ZF2/library/Zend/Session/Config/StandardConfig.php
index 86a2e734c67..48c0ffb3f67 100644
--- a/vendor/ZF2/library/Zend/Session/Config/StandardConfig.php
+++ b/vendor/ZF2/library/Zend/Session/Config/StandardConfig.php
@@ -812,4 +812,4 @@ class StandardConfig implements ConfigInterface
             ));
         }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Session/Container.php b/vendor/ZF2/library/Zend/Session/Container.php
index a603664e3ae..ada6f7f27af 100644
--- a/vendor/ZF2/library/Zend/Session/Container.php
+++ b/vendor/ZF2/library/Zend/Session/Container.php
@@ -507,6 +507,7 @@ class Container extends ArrayObject
      *
      * @param  int $hops
      * @param  null|string|array $vars
+     * @throws Exception\InvalidArgumentException
      * @return Container
      */
     public function setExpirationHops($hops, $vars = null)
@@ -550,4 +551,4 @@ class Container extends ArrayObject
         );
         return $this;
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Session/Exception/BadMethodCallException.php b/vendor/ZF2/library/Zend/Session/Exception/BadMethodCallException.php
index 102d0ac9f59..0c73f487ef8 100644
--- a/vendor/ZF2/library/Zend/Session/Exception/BadMethodCallException.php
+++ b/vendor/ZF2/library/Zend/Session/Exception/BadMethodCallException.php
@@ -12,4 +12,4 @@ namespace Zend\Session\Exception;
 
 class BadMethodCallException extends \BadMethodCallException implements
     ExceptionInterface
-{}
\ No newline at end of file
+{}
diff --git a/vendor/ZF2/library/Zend/Session/Exception/ExceptionInterface.php b/vendor/ZF2/library/Zend/Session/Exception/ExceptionInterface.php
index f454c3e59b9..41f3e1f5808 100644
--- a/vendor/ZF2/library/Zend/Session/Exception/ExceptionInterface.php
+++ b/vendor/ZF2/library/Zend/Session/Exception/ExceptionInterface.php
@@ -17,4 +17,4 @@ namespace Zend\Session\Exception;
  * @package    Zend_Session
  */
 interface ExceptionInterface
-{}
\ No newline at end of file
+{}
diff --git a/vendor/ZF2/library/Zend/Session/Exception/InvalidArgumentException.php b/vendor/ZF2/library/Zend/Session/Exception/InvalidArgumentException.php
index d8ddd39b6eb..a8e87c424eb 100644
--- a/vendor/ZF2/library/Zend/Session/Exception/InvalidArgumentException.php
+++ b/vendor/ZF2/library/Zend/Session/Exception/InvalidArgumentException.php
@@ -12,4 +12,4 @@ namespace Zend\Session\Exception;
 
 class InvalidArgumentException extends \InvalidArgumentException implements
     ExceptionInterface
-{}
\ No newline at end of file
+{}
diff --git a/vendor/ZF2/library/Zend/Session/Exception/RuntimeException.php b/vendor/ZF2/library/Zend/Session/Exception/RuntimeException.php
index 8856e03da69..1b3e4ae4192 100644
--- a/vendor/ZF2/library/Zend/Session/Exception/RuntimeException.php
+++ b/vendor/ZF2/library/Zend/Session/Exception/RuntimeException.php
@@ -11,4 +11,4 @@
 namespace Zend\Session\Exception;
 
 class RuntimeException extends \RuntimeException implements ExceptionInterface
-{}
\ No newline at end of file
+{}
diff --git a/vendor/ZF2/library/Zend/Session/ManagerInterface.php b/vendor/ZF2/library/Zend/Session/ManagerInterface.php
index f44707392b7..66d0922c4e5 100644
--- a/vendor/ZF2/library/Zend/Session/ManagerInterface.php
+++ b/vendor/ZF2/library/Zend/Session/ManagerInterface.php
@@ -51,4 +51,4 @@ interface ManagerInterface
     public function setValidatorChain(EventManagerInterface $chain);
     public function getValidatorChain();
     public function isValid();
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Session/SaveHandler/DbTableGateway.php b/vendor/ZF2/library/Zend/Session/SaveHandler/DbTableGateway.php
index e0126a9ab95..13115261eef 100644
--- a/vendor/ZF2/library/Zend/Session/SaveHandler/DbTableGateway.php
+++ b/vendor/ZF2/library/Zend/Session/SaveHandler/DbTableGateway.php
@@ -44,7 +44,7 @@ class DbTableGateway implements SaveHandlerInterface
 
     /**
      * Zend Db Table Gateway
-     * @var Zend\Db\TableGateway\TableGateway
+     * @var TableGateway
      */
     protected $tableGateway;
 
@@ -176,4 +176,4 @@ class DbTableGateway implements SaveHandlerInterface
             time()
         ));
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Session/SaveHandler/DbTableGatewayOptions.php b/vendor/ZF2/library/Zend/Session/SaveHandler/DbTableGatewayOptions.php
index c70221a16d9..80332518010 100644
--- a/vendor/ZF2/library/Zend/Session/SaveHandler/DbTableGatewayOptions.php
+++ b/vendor/ZF2/library/Zend/Session/SaveHandler/DbTableGatewayOptions.php
@@ -187,4 +187,4 @@ class DbTableGatewayOptions extends AbstractOptions
     {
         return $this->modifiedColumn;
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Session/SessionManager.php b/vendor/ZF2/library/Zend/Session/SessionManager.php
index 8aba0458279..b7c26094e5e 100644
--- a/vendor/ZF2/library/Zend/Session/SessionManager.php
+++ b/vendor/ZF2/library/Zend/Session/SessionManager.php
@@ -399,4 +399,4 @@ class SessionManager extends AbstractManager
             array($saveHandler, 'gc')
         );
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Session/Storage/ArrayStorage.php b/vendor/ZF2/library/Zend/Session/Storage/ArrayStorage.php
index 6c1ffb53eeb..d94cfe66ce3 100644
--- a/vendor/ZF2/library/Zend/Session/Storage/ArrayStorage.php
+++ b/vendor/ZF2/library/Zend/Session/Storage/ArrayStorage.php
@@ -336,4 +336,4 @@ class ArrayStorage extends ArrayObject implements StorageInterface
         }
         return $values;
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Session/Storage/StorageInterface.php b/vendor/ZF2/library/Zend/Session/Storage/StorageInterface.php
index a0b95e28134..0bc76f7590d 100644
--- a/vendor/ZF2/library/Zend/Session/Storage/StorageInterface.php
+++ b/vendor/ZF2/library/Zend/Session/Storage/StorageInterface.php
@@ -42,4 +42,4 @@ interface StorageInterface extends Traversable, ArrayAccess, Serializable, Count
 
     public function fromArray(array $array);
     public function toArray();
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Session/Validator/HttpUserAgent.php b/vendor/ZF2/library/Zend/Session/Validator/HttpUserAgent.php
index 489e7300d76..ced045b41d2 100644
--- a/vendor/ZF2/library/Zend/Session/Validator/HttpUserAgent.php
+++ b/vendor/ZF2/library/Zend/Session/Validator/HttpUserAgent.php
@@ -74,4 +74,4 @@ class HttpUserAgent implements ValidatorInterface
     {
         return __CLASS__;
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Session/ValidatorChain.php b/vendor/ZF2/library/Zend/Session/ValidatorChain.php
index 5b78ba280ee..15b3afc0a60 100644
--- a/vendor/ZF2/library/Zend/Session/ValidatorChain.php
+++ b/vendor/ZF2/library/Zend/Session/ValidatorChain.php
@@ -86,4 +86,4 @@ class ValidatorChain extends EventManager
     {
         return $this->storage;
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Soap/AutoDiscover.php b/vendor/ZF2/library/Zend/Soap/AutoDiscover.php
index c8d4f1709bd..b6af97ff305 100644
--- a/vendor/ZF2/library/Zend/Soap/AutoDiscover.php
+++ b/vendor/ZF2/library/Zend/Soap/AutoDiscover.php
@@ -106,6 +106,7 @@ class AutoDiscover
      * @param ComplexTypeStrategy $strategy
      * @param string|Uri\Uri $endpointUri
      * @param string $wsdlClass
+     * @param array $classMap
      */
     public function __construct(ComplexTypeStrategy $strategy = null, $endpointUri=null, $wsdlClass=null, array $classMap = array())
     {
@@ -343,7 +344,7 @@ class AutoDiscover
     /**
      * Generate the WSDL for a service class.
      *
-     * @return Zend\Soap\Wsdl
+     * @return Wsdl
      */
     protected function _generateClass()
     {
@@ -353,7 +354,7 @@ class AutoDiscover
     /**
      * Generate the WSDL for a set of functions.
      *
-     * @return Zend\Soap\Wsdl
+     * @return Wsdl
      */
     protected function _generateFunctions()
     {
@@ -368,7 +369,8 @@ class AutoDiscover
     /**
      * Generate the WSDL for a set of reflection method instances.
      *
-     * @return Zend\Soap\Wsdl
+     * @param array $reflectionMethods
+     * @return Wsdl
      */
     protected function _generateWsdl(array $reflectionMethods)
     {
@@ -381,7 +383,7 @@ class AutoDiscover
         $wsdl->addSchemaTypeSection();
 
         $port = $wsdl->addPortType($serviceName . 'Port');
-        $binding = $wsdl->addBinding($serviceName . 'Binding', 'tns:' .$serviceName. 'Port');
+        $binding = $wsdl->addBinding($serviceName . 'Binding', 'tns:' . $serviceName . 'Port');
 
         $wsdl->addSoapBinding($binding, $this->bindingStyle['style'], $this->bindingStyle['transport']);
         $wsdl->addService($serviceName . 'Service', $serviceName . 'Port', 'tns:' . $serviceName . 'Binding', $uri);
@@ -400,6 +402,7 @@ class AutoDiscover
      * @param $wsdl \Zend\Soap\Wsdl WSDL document
      * @param $port object wsdl:portType
      * @param $binding object wsdl:binding
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     protected function _addFunctionToWsdl($function, $wsdl, $port, $binding)
@@ -492,7 +495,7 @@ class AutoDiscover
         // When using the RPC style, make sure the operation style includes a 'namespace' attribute (WS-I Basic Profile 1.1 R2717)
         $operationBodyStyle = $this->operationBodyStyle;
         if ($this->bindingStyle['style'] == 'rpc' && !isset($operationBodyStyle['namespace'])) {
-            $operationBodyStyle['namespace'] = ''.$uri;
+            $operationBodyStyle['namespace'] = '' . $uri;
         }
 
         // Add the binding operation
@@ -507,7 +510,8 @@ class AutoDiscover
     /**
      * Generate the WSDL file from the configured input.
      *
-     * @return Zend_Wsdl
+     * @throws Exception\RuntimeException
+     * @return Wsdl
      */
     public function generate()
     {
diff --git a/vendor/ZF2/library/Zend/Soap/Client.php b/vendor/ZF2/library/Zend/Soap/Client.php
index e500425020c..5d137fc2bec 100644
--- a/vendor/ZF2/library/Zend/Soap/Client.php
+++ b/vendor/ZF2/library/Zend/Soap/Client.php
@@ -349,7 +349,7 @@ class Client implements ServerClient
      */
     public function setClassmap(array $classmap)
     {
-        foreach ($classmap as $type => $class) {
+        foreach ($classmap as $class) {
             if (!class_exists($class)) {
                 throw new Exception\InvalidArgumentException('Invalid class in class map');
             }
@@ -666,7 +666,7 @@ class Client implements ServerClient
     /**
      * Set proxy password
      *
-     * @param  string $proxyLogin
+     * @param  string $proxyPassword
      * @return \Zend\Soap\Client
      */
     public function setProxyPassword($proxyPassword)
@@ -774,6 +774,7 @@ class Client implements ServerClient
     /**
      * Set Stream Context
      *
+     * @param resource $context
      * @return \Zend\Soap\Client
      */
     public function setStreamContext($context)
@@ -1140,7 +1141,7 @@ class Client implements ServerClient
     }
 
     /**
-     * @param SoapClient $soapClient
+     * @param \SoapClient $soapClient
      * @return \Zend\Soap\Client
      */
     public function setSoapClient(\SoapClient $soapClient)
diff --git a/vendor/ZF2/library/Zend/Soap/Client/Common.php b/vendor/ZF2/library/Zend/Soap/Client/Common.php
index 6678c7dfecd..779264da757 100644
--- a/vendor/ZF2/library/Zend/Soap/Client/Common.php
+++ b/vendor/ZF2/library/Zend/Soap/Client/Common.php
@@ -29,7 +29,7 @@ class Common extends \SoapClient
     /**
      * Common Soap Client constructor
      *
-     * @param callable $doRequestMethod
+     * @param callable $doRequestCallback
      * @param string $wsdl
      * @param array $options
      */
diff --git a/vendor/ZF2/library/Zend/Soap/Server.php b/vendor/ZF2/library/Zend/Soap/Server.php
index 8a609a1b355..cf06c03fe6c 100644
--- a/vendor/ZF2/library/Zend/Soap/Server.php
+++ b/vendor/ZF2/library/Zend/Soap/Server.php
@@ -385,7 +385,7 @@ class Server implements \Zend\Server\Server
         if (!is_array($classmap)) {
             throw new Exception\InvalidArgumentException('Classmap must be an array');
         }
-        foreach ($classmap as $type => $class) {
+        foreach ($classmap as $class) {
             if (!class_exists($class)) {
                 throw new Exception\InvalidArgumentException('Invalid class in class map');
             }
@@ -557,6 +557,7 @@ class Server implements \Zend\Server\Server
      * Accepts an instanciated object to use when handling requests.
      *
      * @param object $object
+     * @throws Exception\InvalidArgumentException
      * @return Server
      */
     public function setObject($object)
@@ -599,7 +600,7 @@ class Server implements \Zend\Server\Server
     /**
      * Unimplemented: Load server definition
      *
-     * @param array $array
+     * @param array $definition
      * @return void
      * @throws Exception\RuntimeException Unimplemented
      */
@@ -612,6 +613,7 @@ class Server implements \Zend\Server\Server
      * Set server persistence
      *
      * @param int $mode
+     * @throws Exception\InvalidArgumentException
      * @return Server
      */
     public function setPersistence($mode)
@@ -645,6 +647,7 @@ class Server implements \Zend\Server\Server
      * - string; if so, verifies XML
      *
      * @param DOMDocument|DOMNode|SimpleXMLElement|stdClass|string $request
+     * @throws Exception\InvalidArgumentException
      * @return Server
      */
     protected function _setRequest($request)
@@ -733,7 +736,7 @@ class Server implements \Zend\Server\Server
      * SoapServer object, and then registers any functions or class with it, as
      * well as persistence.
      *
-     * @return SoapServer
+     * @return \SoapServer
      */
     protected function _getSoap()
     {
@@ -891,9 +894,9 @@ class Server implements \Zend\Server\Server
      * {@Link registerFaultException()}.
      *
      * @link   http://www.w3.org/TR/soap12-part1/#faultcodes
-     * @param  string|Exception $fault
+     * @param  string|\Exception $fault
      * @param  string $code SOAP Fault Codes
-     * @return SoapFault
+     * @return \SoapFault
      */
     public function fault($fault = null, $code = "Receiver")
     {
@@ -932,7 +935,7 @@ class Server implements \Zend\Server\Server
      * @param int $errline
      * @param array $errcontext
      * @return void
-     * @throws SoapFault
+     * @throws \SoapFault
      */
     public function handlePhpErrors($errno, $errstr, $errfile = null, $errline = null, array $errcontext = null)
     {
diff --git a/vendor/ZF2/library/Zend/Soap/Server/DocumentLiteralWrapper.php b/vendor/ZF2/library/Zend/Soap/Server/DocumentLiteralWrapper.php
index 5320afa568f..750942840c3 100644
--- a/vendor/ZF2/library/Zend/Soap/Server/DocumentLiteralWrapper.php
+++ b/vendor/ZF2/library/Zend/Soap/Server/DocumentLiteralWrapper.php
@@ -118,6 +118,7 @@ class DocumentLiteralWrapper
      *
      * @param string $method
      * @param object $document
+     * @throws UnexpectedValueException
      * @return array
      */
     protected function _parseArguments($method, $document)
@@ -143,7 +144,7 @@ class DocumentLiteralWrapper
 
     protected function _getResultMessage($method, $ret)
     {
-        return array($method.'Result' => $ret);
+        return array($method . 'Result' => $ret);
     }
 
     protected function _assertServiceDelegateHasMethod($method)
@@ -165,4 +166,3 @@ class DocumentLiteralWrapper
         }
     }
 }
-
diff --git a/vendor/ZF2/library/Zend/Soap/Wsdl.php b/vendor/ZF2/library/Zend/Soap/Wsdl.php
index 2c93674f417..5f11825a2d7 100644
--- a/vendor/ZF2/library/Zend/Soap/Wsdl.php
+++ b/vendor/ZF2/library/Zend/Soap/Wsdl.php
@@ -67,7 +67,9 @@ class Wsdl
      *
      * @param string  $name Name of the Web Service being Described
      * @param string|Uri $uri URI where the WSDL will be available
-     * @param ComplexTypeStrategy $strategy
+     * @param null|ComplexTypeStrategy $strategy Strategy for detection of complex types
+     * @param null|array $classMap Map of PHP Class names to WSDL QNames
+     * @throws Exception\RuntimeException
      */
     public function __construct($name, $uri, ComplexTypeStrategy $strategy = null, array $classMap = array())
     {
@@ -265,7 +267,7 @@ class Wsdl
      * Add a {@link http://www.w3.org/TR/wsdl#_bindings binding} element to WSDL
      *
      * @param string $name Name of the Binding
-     * @param string $type name of the portType to bind
+     * @param string $portType name of the portType to bind
      * @return object The new binding's XML_Tree_Node for use with {@link function addBindingOperation} and {@link function addDocumentation}
      */
     public function addBinding($name, $portType)
@@ -519,9 +521,8 @@ class Wsdl
         if (!$filename) {
             echo $this->toXML();
             return true;
-        } else {
-            return file_put_contents($filename, $this->toXML());
         }
+        return file_put_contents($filename, $this->toXML());
     }
 
     /**
@@ -626,6 +627,7 @@ class Wsdl
      * Parse an xsd:element represented as an array into a DOMElement.
      *
      * @param array $element an xsd:element represented as an array
+     * @throws Exception\RuntimeException if $element is not an array
      * @return DOMElement parsed element
      */
     private function _parseElement($element)
diff --git a/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/ArrayOfTypeComplex.php b/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/ArrayOfTypeComplex.php
index fecaa012651..116ae818ca4 100644
--- a/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/ArrayOfTypeComplex.php
+++ b/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/ArrayOfTypeComplex.php
@@ -25,6 +25,7 @@ class ArrayOfTypeComplex extends DefaultComplexType
      * Add an ArrayOfType based on the xsd:complexType syntax if type[] is detected in return value doc comment.
      *
      * @param string $type
+     * @throws Exception\InvalidArgumentException
      * @return string tns:xsd-type
      */
     public function addComplexType($type)
diff --git a/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/ComplexTypeStrategyInterface.php b/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/ComplexTypeStrategyInterface.php
index 91cd069a520..1b6c1880817 100644
--- a/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/ComplexTypeStrategyInterface.php
+++ b/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/ComplexTypeStrategyInterface.php
@@ -10,6 +10,8 @@
 
 namespace Zend\Soap\Wsdl\ComplexTypeStrategy;
 
+use Zend\Soap\Wsdl;
+
 /**
  * Interface strategies that generate an XSD-Schema for complex data types in WSDL files.
  *
@@ -22,9 +24,9 @@ interface ComplexTypeStrategyInterface
     /**
      * Method accepts the current WSDL context file.
      *
-     * @param <type> $context
+     * @param Wsdl $context
      */
-    public function setContext(\Zend\Soap\Wsdl $context);
+    public function setContext(Wsdl $context);
 
     /**
      * Create a complex type based on a strategy
diff --git a/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/Composite.php b/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/Composite.php
index cd473f5af8a..5f4db6dbf22 100644
--- a/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/Composite.php
+++ b/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/Composite.php
@@ -79,7 +79,6 @@ class Composite implements ComplexTypeStrategy
      * Return default strategy of this composite
      *
      * @throws  Exception\InvalidArgumentException
-     * @param  string $type
      * @return ComplexTypeStrategy
      */
     public function getDefaultStrategy()
diff --git a/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/DefaultComplexType.php b/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/DefaultComplexType.php
index 8adca6db6c8..f8bcc61f203 100644
--- a/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/DefaultComplexType.php
+++ b/vendor/ZF2/library/Zend/Soap/Wsdl/ComplexTypeStrategy/DefaultComplexType.php
@@ -25,6 +25,7 @@ class DefaultComplexType extends AbstractComplexTypeStrategy
      * Add a complex type by recursivly using all the class properties fetched via Reflection.
      *
      * @param  string $type Name of the class to be specified
+     * @throws Exception\InvalidArgumentException if class does not exist
      * @return string XSD Type for the given PHP type
      */
     public function addComplexType($type)
@@ -50,8 +51,6 @@ class DefaultComplexType extends AbstractComplexTypeStrategy
         $this->getContext()->addType($type, $soapType);
 
 
-        $defaultProperties = $class->getDefaultProperties();
-
         $defaultProperties = $class->getDefaultProperties();
 
         $complexType = $dom->createElement('xsd:complexType');
diff --git a/vendor/ZF2/library/Zend/Stdlib/AbstractOptions.php b/vendor/ZF2/library/Zend/Stdlib/AbstractOptions.php
index 594cc41d041..86e69c3d51c 100644
--- a/vendor/ZF2/library/Zend/Stdlib/AbstractOptions.php
+++ b/vendor/ZF2/library/Zend/Stdlib/AbstractOptions.php
@@ -40,6 +40,7 @@ abstract class AbstractOptions implements ParameterObjectInterface
 
     /**
      * @param  array|Traversable $options
+     * @throws Exception\InvalidArgumentException
      * @return void
      */
     public function setFromArray($options)
@@ -80,6 +81,7 @@ abstract class AbstractOptions implements ParameterObjectInterface
      * @see ParameterObject::__set()
      * @param string $key
      * @param mixed $value
+     * @throws Exception\BadMethodCallException
      * @return void
      */
     public function __set($key, $value)
@@ -100,6 +102,7 @@ abstract class AbstractOptions implements ParameterObjectInterface
     /**
      * @see ParameterObject::__get()
      * @param string $key
+     * @throws Exception\BadMethodCallException
      * @return mixed
      */
     public function __get($key)
diff --git a/vendor/ZF2/library/Zend/Stdlib/ArrayUtils.php b/vendor/ZF2/library/Zend/Stdlib/ArrayUtils.php
index 866b784f668..1ec57dabdc1 100644
--- a/vendor/ZF2/library/Zend/Stdlib/ArrayUtils.php
+++ b/vendor/ZF2/library/Zend/Stdlib/ArrayUtils.php
@@ -172,6 +172,7 @@ abstract class ArrayUtils
      *
      * @param  array|Traversable  $iterator     The array or Traversable object to convert
      * @param  bool               $recursive    Recursively check all nested structures
+     * @throws Exception\InvalidArgumentException if $iterator is not an array or a Traversable object
      * @return array
      */
     public static function iteratorToArray($iterator, $recursive = true)
diff --git a/vendor/ZF2/library/Zend/Stdlib/CallbackHandler.php b/vendor/ZF2/library/Zend/Stdlib/CallbackHandler.php
index bf9c47e89e4..7e1f19df711 100644
--- a/vendor/ZF2/library/Zend/Stdlib/CallbackHandler.php
+++ b/vendor/ZF2/library/Zend/Stdlib/CallbackHandler.php
@@ -52,9 +52,8 @@ class CallbackHandler
     /**
      * Constructor
      *
-     * @param  string                       $event    Event to which slot is subscribed
      * @param  string|array|object|callable $callback PHP callback
-     * @param  array                        $options  Options used by the callback handler (e.g., priority)
+     * @param  array                        $metadata  Callback metadata
      */
     public function __construct($callback, array $metadata = array())
     {
@@ -73,6 +72,7 @@ class CallbackHandler
      * to registering the callback.
      *
      * @param  callable $callback
+     * @throws Exception\InvalidCallbackException
      * @return void
      */
     protected function registerCallback($callback)
diff --git a/vendor/ZF2/library/Zend/Stdlib/Hydrator/Reflection.php b/vendor/ZF2/library/Zend/Stdlib/Hydrator/Reflection.php
index be3d90d4705..ecb74fe4266 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Hydrator/Reflection.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Hydrator/Reflection.php
@@ -12,7 +12,6 @@ namespace Zend\Stdlib\Hydrator;
 
 use ReflectionClass;
 use Zend\Stdlib\Exception;
-use Zend\Stdlib\Hydrator\HydratorInterface;
 
 class Reflection extends AbstractHydrator
 {
@@ -64,7 +63,8 @@ class Reflection extends AbstractHydrator
      * class has not been loaded.
      *
      * @static
-     * @param string|object $object
+     * @param string|object $input
+     * @throws Exception\InvalidArgumentException
      * @return array
      */
     protected static function getReflProperties($input)
@@ -79,7 +79,7 @@ class Reflection extends AbstractHydrator
             $reflClass      = new ReflectionClass($input);
             $reflProperties = $reflClass->getProperties();
 
-            foreach ($reflProperties as $key => $property) {
+            foreach ($reflProperties as $property) {
                 $property->setAccessible(true);
                 self::$reflProperties[$input][$property->getName()] = $property;
             }
diff --git a/vendor/ZF2/library/Zend/Stdlib/Message.php b/vendor/ZF2/library/Zend/Stdlib/Message.php
index e5e8f088af8..f8ec758ab98 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Message.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Message.php
@@ -32,6 +32,7 @@ class Message implements MessageInterface
      *
      * @param  string|int|array|Traversable $spec
      * @param  mixed $value
+     * @throws Exception\InvalidArgumentException
      * @return Message
      */
     public function setMetadata($spec, $value = null)
@@ -57,6 +58,7 @@ class Message implements MessageInterface
      *
      * @param  null|string|int $key
      * @param  null|mixed $default
+     * @throws Exception\InvalidArgumentException
      * @return mixed
      */
     public function getMetadata($key = null, $default = null)
diff --git a/vendor/ZF2/library/Zend/Stdlib/PriorityQueue.php b/vendor/ZF2/library/Zend/Stdlib/PriorityQueue.php
index 372233f0967..ecb8fbd317b 100644
--- a/vendor/ZF2/library/Zend/Stdlib/PriorityQueue.php
+++ b/vendor/ZF2/library/Zend/Stdlib/PriorityQueue.php
@@ -272,6 +272,7 @@ class PriorityQueue implements Countable, IteratorAggregate, Serializable
     /**
      * Get the inner priority queue instance
      *
+     * @throws \DomainException
      * @return SplPriorityQueue
      */
     protected function getQueue()
diff --git a/vendor/ZF2/library/Zend/Tag/Cloud.php b/vendor/ZF2/library/Zend/Tag/Cloud.php
index 4d097923cff..74a53fade0a 100644
--- a/vendor/ZF2/library/Zend/Tag/Cloud.php
+++ b/vendor/ZF2/library/Zend/Tag/Cloud.php
@@ -22,14 +22,14 @@ class Cloud
     /**
      * DecoratorInterface for the cloud
      *
-     * @var Cloud
+     * @var Cloud\Decorator\AbstractCloud
      */
     protected $cloudDecorator = null;
 
     /**
      * DecoratorInterface for the tags
      *
-     * @var Tag
+     * @var Cloud\Decorator\AbstractTag
      */
     protected $tagDecorator = null;
 
@@ -208,7 +208,7 @@ class Cloud
     /**
      * Get the decorator for the cloud
      *
-     * @return Cloud
+     * @return Cloud\Decorator\AbstractCloud
      */
     public function getCloudDecorator()
     {
@@ -255,7 +255,7 @@ class Cloud
     /**
      * Get the decorator for the tags
      *
-     * @return Tag
+     * @return Cloud\Decorator\AbstractTag
      */
     public function getTagDecorator()
     {
diff --git a/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/AbstractCloud.php b/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/AbstractCloud.php
index 956d2f07686..3c02ca1ad1a 100644
--- a/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/AbstractCloud.php
+++ b/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/AbstractCloud.php
@@ -10,62 +10,12 @@
 
 namespace Zend\Tag\Cloud\Decorator;
 
-use Traversable;
-use Zend\Stdlib\ArrayUtils;
-use Zend\Tag\Cloud\Decorator\DecoratorInterface as Decorator;
-
 /**
  * Abstract class for cloud decorators
  *
  * @category  Zend
  * @package   Zend_Tag
  */
-abstract class AbstractCloud implements Decorator
+abstract class AbstractCloud extends AbstractDecorator
 {
-    /**
-     * Option keys to skip when calling setOptions()
-     *
-     * @var array
-     */
-    protected $skipOptions = array(
-        'options',
-        'config',
-    );
-
-    /**
-     * Create a new cloud decorator with options
-     *
-     * @param  array|Traversable $options
-     */
-    public function __construct($options = null)
-    {
-        if ($options instanceof Traversable) {
-            $options = ArrayUtils::iteratorToArray($options);
-        }
-        if (is_array($options)) {
-            $this->setOptions($options);
-        }
-    }
-
-    /**
-     * Set options from array
-     *
-     * @param  array $options Configuration for the decorator
-     * @return AbstractCloud
-     */
-    public function setOptions(array $options)
-    {
-        foreach ($options as $key => $value) {
-            if (in_array(strtolower($key), $this->skipOptions)) {
-                continue;
-            }
-
-            $method = 'set' . $key;
-            if (method_exists($this, $method)) {
-                $this->$method($value);
-            }
-        }
-
-        return $this;
-    }
 }
diff --git a/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/AbstractDecorator.php b/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/AbstractDecorator.php
new file mode 100644
index 00000000000..b26109e722a
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/AbstractDecorator.php
@@ -0,0 +1,190 @@
+<?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_Tag
+ */
+
+namespace Zend\Tag\Cloud\Decorator;
+
+use Traversable;
+use Zend\Escaper\Escaper;
+use Zend\Stdlib\ArrayUtils;
+use Zend\Tag\Cloud\Decorator\DecoratorInterface as Decorator;
+use Zend\Tag\Exception;
+
+/**
+ * Abstract class for decorators
+ *
+ * @category  Zend
+ * @package   Zend_Tag
+ */
+abstract class AbstractDecorator implements Decorator
+{
+    /**
+     * @var string Encoding to use
+     */
+    protected $encoding = 'UTF-8';
+
+    /**
+     * @var Escaper
+     */
+    protected $escaper;
+
+    /**
+     * Option keys to skip when calling setOptions()
+     *
+     * @var array
+     */
+    protected $skipOptions = array(
+        'options',
+        'config',
+    );
+
+    /**
+     * Create a new decorator with options
+     *
+     * @param  array|Traversable $options
+     */
+    public function __construct($options = null)
+    {
+        if ($options instanceof Traversable) {
+            $options = ArrayUtils::iteratorToArray($options);
+        }
+        if (is_array($options)) {
+            $this->setOptions($options);
+        }
+    }
+
+    /**
+     * Set options from array
+     *
+     * @param  array $options Configuration for the decorator
+     * @return AbstractTag
+     */
+    public function setOptions(array $options)
+    {
+        foreach ($options as $key => $value) {
+            if (in_array(strtolower($key), $this->skipOptions)) {
+                continue;
+            }
+
+            $method = 'set' . $key;
+            if (method_exists($this, $method)) {
+                $this->$method($value);
+            }
+        }
+
+        return $this;
+    }
+
+    /**
+     * Get encoding
+     *
+     * @return string
+     */
+    public function getEncoding()
+    {
+        return $this->encoding;
+    }
+
+    /**
+     * Set encoding
+     *
+     * @param string
+     * @return HTMLCloud
+     */
+    public function setEncoding($value)
+    {
+        $this->encoding = (string) $value;
+        return $this;
+    }
+
+    /**
+     * Set Escaper instance
+     *
+     * @param  Escaper $escaper
+     * @return HtmlCloud
+     */
+    public function setEscaper($escaper)
+    {
+        $this->escaper = $escaper;
+        return $this;
+    }
+
+    /**
+     * Retrieve Escaper instance
+     *
+     * If none registered, instantiates and registers one using current encoding.
+     *
+     * @return Escaper
+     */
+    public function getEscaper()
+    {
+        if (null === $this->escaper) {
+            $this->setEscaper(new Escaper($this->getEncoding()));
+        }
+        return $this->escaper;
+    }
+
+    /**
+     * Validate an HTML element name
+     *
+     * @param  string $name
+     * @throws Exception\InvalidElementNameException
+     */
+    protected function validateElementName($name)
+    {
+        if (!preg_match('/^[a-z0-9]+$/i', $name)) {
+            throw new Exception\InvalidElementNameException(sprintf(
+                '%s: Invalid element name "%s" provided; please provide valid HTML element names',
+                __METHOD__,
+                $this->getEscaper()->escapeHtml($name)
+            ));
+        }
+    }
+
+    /**
+     * Validate an HTML attribute name
+     *
+     * @param  string $name
+     * @throws Exception\InvalidAttributeNameException
+     */
+    protected function validateAttributeName($name)
+    {
+        if (!preg_match('/^[a-z_:][-a-z0-9_:.]*$/i', $name)) {
+            throw new Exception\InvalidAttributeNameException(sprintf(
+                '%s: Invalid HTML attribute name "%s" provided; please provide valid HTML attribute names',
+                __METHOD__,
+                $this->getEscaper()->escapeHtml($name)
+            ));
+        }
+    }
+
+    protected function wrapTag($html)
+    {
+        $escaper = $this->getEscaper();
+        foreach ($this->getHTMLTags() as $key => $data) {
+            if (is_array($data)) {
+                $attributes = '';
+                $htmlTag    = $key;
+                $this->validateElementName($htmlTag);
+
+                foreach ($data as $param => $value) {
+                    $this->validateAttributeName($param);
+                    $attributes .= ' ' . $param . '="' . $escaper->escapeHtmlAttr($value) . '"';
+                }
+            } else {
+                $attributes = '';
+                $htmlTag    = $data;
+                $this->validateElementName($htmlTag);
+            }
+
+            $html = sprintf('<%1$s%3$s>%2$s</%1$s>', $htmlTag, $html, $attributes);
+        }
+        return $html;
+    }
+}
diff --git a/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/AbstractTag.php b/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/AbstractTag.php
index ffd410b0e09..1db779289c0 100644
--- a/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/AbstractTag.php
+++ b/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/AbstractTag.php
@@ -10,62 +10,12 @@
 
 namespace Zend\Tag\Cloud\Decorator;
 
-use Traversable;
-use Zend\Stdlib\ArrayUtils;
-use Zend\Tag\Cloud\Decorator\DecoratorInterface as Decorator;
-
 /**
  * Abstract class for tag decorators
  *
  * @category  Zend
  * @package   Zend_Tag
  */
-abstract class AbstractTag implements Decorator
+abstract class AbstractTag extends AbstractDecorator
 {
-    /**
-     * Option keys to skip when calling setOptions()
-     *
-     * @var array
-     */
-    protected $skipOptions = array(
-        'options',
-        'config',
-    );
-
-    /**
-     * Create a new cloud decorator with options
-     *
-     * @param  array|Traversable $options
-     */
-    public function __construct($options = null)
-    {
-        if ($options instanceof Traversable) {
-            $options = ArrayUtils::iteratorToArray($options);
-        }
-        if (is_array($options)) {
-            $this->setOptions($options);
-        }
-    }
-
-    /**
-     * Set options from array
-     *
-     * @param  array $options Configuration for the decorator
-     * @return AbstractTag
-     */
-    public function setOptions(array $options)
-    {
-        foreach ($options as $key => $value) {
-            if (in_array(strtolower($key), $this->skipOptions)) {
-                continue;
-            }
-
-            $method = 'set' . $key;
-            if (method_exists($this, $method)) {
-                $this->$method($value);
-            }
-        }
-
-        return $this;
-    }
 }
diff --git a/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/HtmlCloud.php b/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/HtmlCloud.php
index b0429469563..f352033dee9 100644
--- a/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/HtmlCloud.php
+++ b/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/HtmlCloud.php
@@ -18,11 +18,6 @@ namespace Zend\Tag\Cloud\Decorator;
  */
 class HtmlCloud extends AbstractCloud
 {
-    /**
-     * @var string Encoding to use
-     */
-    protected $encoding = 'UTF-8';
-
     /**
      * List of HTML tags
      *
@@ -39,28 +34,6 @@ class HtmlCloud extends AbstractCloud
      */
     protected $separator = ' ';
 
-    /**
-     * Get encoding
-     *
-     * @return string
-     */
-    public function getEncoding()
-    {
-        return $this->encoding;
-    }
-
-    /**
-     * Set encoding
-     *
-     * @param string
-     * @return HTMLCloud
-     */
-    public function setEncoding($value)
-    {
-        $this->encoding = (string) $value;
-        return $this;
-    }
-
     /**
      * Set the HTML tags surrounding all tags
      *
@@ -121,24 +94,7 @@ class HtmlCloud extends AbstractCloud
             ));
         }
         $cloudHTML = implode($this->getSeparator(), $tags);
-
-        $enc = $this->getEncoding();
-        foreach ($this->getHTMLTags() as $key => $data) {
-            if (is_array($data)) {
-                $htmlTag    = $key;
-                $attributes = '';
-
-                foreach ($data as $param => $value) {
-                    $attributes .= ' ' . $param . '="' . htmlspecialchars($value, ENT_COMPAT, $enc) . '"';
-                }
-            } else {
-                $htmlTag    = $data;
-                $attributes = '';
-            }
-
-            $cloudHTML = sprintf('<%1$s%3$s>%2$s</%1$s>', $htmlTag, $cloudHTML, $attributes);
-        }
-
+        $cloudHTML = $this->wrapTag($cloudHTML);
         return $cloudHTML;
     }
 }
diff --git a/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/HtmlTag.php b/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/HtmlTag.php
index de8b9a2e4d2..70327af0c95 100644
--- a/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/HtmlTag.php
+++ b/vendor/ZF2/library/Zend/Tag/Cloud/Decorator/HtmlTag.php
@@ -29,11 +29,6 @@ class HtmlTag extends AbstractTag
      */
     protected $classList = null;
 
-    /**
-     * @var string Encoding to utilize
-     */
-    protected $encoding = 'UTF-8';
-
     /**
      * Unit for the fontsize
      *
@@ -107,28 +102,6 @@ class HtmlTag extends AbstractTag
         return $this->classList;
     }
 
-    /**
-     * Get encoding
-     *
-     * @return string
-     */
-    public function getEncoding()
-    {
-         return $this->encoding;
-    }
-
-    /**
-     * Set encoding
-     *
-     * @param  string $value
-     * @return HTMLTag
-     */
-    public function setEncoding($value)
-    {
-        $this->encoding = (string) $value;
-        return $this;
-    }
-
     /**
      * Set the font size unit
      *
@@ -259,32 +232,16 @@ class HtmlTag extends AbstractTag
 
         $result = array();
 
-        $enc = $this->getEncoding();
+        $escaper = $this->getEscaper();
         foreach ($tags as $tag) {
             if (null === ($classList = $this->getClassList())) {
                 $attribute = sprintf('style="font-size: %d%s;"', $tag->getParam('weightValue'), $this->getFontSizeUnit());
             } else {
-                $attribute = sprintf('class="%s"', htmlspecialchars($tag->getParam('weightValue'), ENT_COMPAT, $enc));
-            }
-
-            $tagHTML = sprintf('<a href="%s" %s>%s</a>', htmlSpecialChars($tag->getParam('url'), ENT_COMPAT, $enc), $attribute, $tag->getTitle());
-
-            foreach ($this->getHTMLTags() as $key => $data) {
-                if (is_array($data)) {
-                    $htmlTag    = $key;
-                    $attributes = '';
-
-                    foreach ($data as $param => $value) {
-                        $attributes .= ' ' . $param . '="' . htmlspecialchars($value, ENT_COMPAT, $enc) . '"';
-                    }
-                } else {
-                    $htmlTag    = $data;
-                    $attributes = '';
-                }
-
-                $tagHTML = sprintf('<%1$s%3$s>%2$s</%1$s>', $htmlTag, $tagHTML, $attributes);
+                $attribute = sprintf('class="%s"', $escaper->escapeHtmlAttr($tag->getParam('weightValue')));
             }
 
+            $tagHTML  = sprintf('<a href="%s" %s>%s</a>', $escaper->escapeHtml($tag->getParam('url')), $attribute, $escaper->escapeHtml($tag->getTitle()));
+            $tagHTML  = $this->wrapTag($tagHTML);
             $result[] = $tagHTML;
         }
 
diff --git a/vendor/ZF2/library/Zend/Tag/Cloud/DecoratorPluginManager.php b/vendor/ZF2/library/Zend/Tag/Cloud/DecoratorPluginManager.php
index 1ae7a710431..d885f53659e 100644
--- a/vendor/ZF2/library/Zend/Tag/Cloud/DecoratorPluginManager.php
+++ b/vendor/ZF2/library/Zend/Tag/Cloud/DecoratorPluginManager.php
@@ -61,4 +61,3 @@ class DecoratorPluginManager extends AbstractPluginManager
         ));
     }
 }
-
diff --git a/vendor/ZF2/library/Zend/Tag/Exception/InvalidAttributeNameException.php b/vendor/ZF2/library/Zend/Tag/Exception/InvalidAttributeNameException.php
new file mode 100644
index 00000000000..41288292adc
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Tag/Exception/InvalidAttributeNameException.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ * @package   Zend_Tag
+ */
+
+namespace Zend\Tag\Exception;
+
+use DomainException;
+
+class InvalidAttributeNameException extends DomainException implements ExceptionInterface
+{}
diff --git a/vendor/ZF2/library/Zend/Tag/Exception/InvalidElementNameException.php b/vendor/ZF2/library/Zend/Tag/Exception/InvalidElementNameException.php
new file mode 100644
index 00000000000..0adce5e805c
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Tag/Exception/InvalidElementNameException.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ * @package   Zend_Tag
+ */
+
+namespace Zend\Tag\Exception;
+
+use DomainException;
+
+class InvalidElementNameException extends DomainException implements ExceptionInterface
+{}
diff --git a/vendor/ZF2/library/Zend/Tag/composer.json b/vendor/ZF2/library/Zend/Tag/composer.json
index 7e9e99662b6..8014f15a679 100644
--- a/vendor/ZF2/library/Zend/Tag/composer.json
+++ b/vendor/ZF2/library/Zend/Tag/composer.json
@@ -13,6 +13,7 @@
     },
     "target-dir": "Zend/Tag",
     "require": {
-        "php": ">=5.3.3"
+        "php": ">=5.3.3",
+        "zendframework/zend-escaper": "self.version"
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Text/MultiByte.php b/vendor/ZF2/library/Zend/Text/MultiByte.php
index 37cdc7f810e..b3b4128ecc2 100644
--- a/vendor/ZF2/library/Zend/Text/MultiByte.php
+++ b/vendor/ZF2/library/Zend/Text/MultiByte.php
@@ -26,6 +26,7 @@ class MultiByte
      * @param  string  $break
      * @param  boolean $cut
      * @param  string  $charset
+     * @throws Exception\InvalidArgumentException
      * @return string
      */
     public static function wordWrap($string, $width = 75, $break = "\n", $cut = false, $charset = 'utf-8')
diff --git a/vendor/ZF2/library/Zend/Text/Table/Table.php b/vendor/ZF2/library/Zend/Text/Table/Table.php
index c99657b0c8b..c0a14545536 100644
--- a/vendor/ZF2/library/Zend/Text/Table/Table.php
+++ b/vendor/ZF2/library/Zend/Text/Table/Table.php
@@ -107,7 +107,6 @@ class Table
     /**
      * Create a basic table object
      *
-     * @param  array             $columns Widths List of all column widths
      * @param  array|Traversable $options Configuration options
      * @throws Exception\UnexpectedValueException When no columns widths were set
      */
diff --git a/vendor/ZF2/library/Zend/Uri/Mailto.php b/vendor/ZF2/library/Zend/Uri/Mailto.php
index 5ae8bc818b1..f6f0d3126cc 100644
--- a/vendor/ZF2/library/Zend/Uri/Mailto.php
+++ b/vendor/ZF2/library/Zend/Uri/Mailto.php
@@ -86,7 +86,7 @@ class Mailto extends Uri
     /**
      * Set validator to use when validating email address
      *
-     * @param  Validator $validator
+     * @param  ValidatorInterface $validator
      * @return Mailto
      */
     public function setValidator(ValidatorInterface $validator)
@@ -101,7 +101,7 @@ class Mailto extends Uri
      * If none is currently set, an EmailValidator instance with default options
      * will be used.
      *
-     * @return Validator
+     * @return ValidatorInterface
      */
     public function getValidator()
     {
diff --git a/vendor/ZF2/library/Zend/Uri/Uri.php b/vendor/ZF2/library/Zend/Uri/Uri.php
index fe0a50c9cba..08e24063aa6 100644
--- a/vendor/ZF2/library/Zend/Uri/Uri.php
+++ b/vendor/ZF2/library/Zend/Uri/Uri.php
@@ -10,6 +10,7 @@
 
 namespace Zend\Uri;
 
+use Zend\Escaper\Escaper;
 use Zend\Validator;
 
 /**
@@ -23,7 +24,7 @@ class Uri implements UriInterface
     /**
      * Character classes defined in RFC-3986
      */
-    const CHAR_UNRESERVED = '\w\-\.~';
+    const CHAR_UNRESERVED = 'a-zA-Z0-9_\-\.~';
     const CHAR_GEN_DELIMS = ':\/\?#\[\]@';
     const CHAR_SUB_DELIMS = '!\$&\'\(\)\*\+,;=';
     const CHAR_RESERVED   = ':\/\?#\[\]@!\$&\'\(\)\*\+,;=';
@@ -125,6 +126,11 @@ class Uri implements UriInterface
      */
     protected static $defaultPorts = array();
 
+    /**
+     * @var Escaper
+     */
+    protected static $escaper;
+
     /**
      * Create a new URI object
      *
@@ -152,6 +158,31 @@ class Uri implements UriInterface
         }
     }
 
+    /**
+     * Set Escaper instance
+     *
+     * @param  Escaper $escaper
+     */
+    public static function setEscaper(Escaper $escaper)
+    {
+        static::$escaper = $escaper;
+    }
+
+    /**
+     * Retrieve Escaper instance
+     *
+     * Lazy-loads one if none provided
+     *
+     * @return Escaper
+     */
+    public static function getEscaper()
+    {
+        if (null === static::$escaper) {
+            static::setEscaper(new Escaper());
+        }
+        return static::$escaper;
+    }
+
     /**
      * Check if the URI is valid
      *
@@ -935,8 +966,9 @@ class Uri implements UriInterface
         }
 
         $regex   = '/(?:[^' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . '%:]|%(?![A-Fa-f0-9]{2}))/';
-        $replace = function($match) {
-            return rawurlencode($match[0]);
+        $escaper = static::getEscaper();
+        $replace = function ($match) use ($escaper) {
+            return $escaper->escapeUrl($match[0]);
         };
 
         return preg_replace_callback($regex, $replace, $userInfo);
@@ -949,6 +981,7 @@ class Uri implements UriInterface
      * part with percent-encoded representation
      *
      * @param  string $path
+     * @throws Exception\InvalidArgumentException
      * @return string
      */
     public static function encodePath($path)
@@ -961,8 +994,9 @@ class Uri implements UriInterface
         }
 
         $regex   = '/(?:[^' . self::CHAR_UNRESERVED . ':@&=\+\$,\/;%]+|%(?![A-Fa-f0-9]{2}))/';
-        $replace = function($match) {
-            return rawurlencode($match[0]);
+        $escaper = static::getEscaper();
+        $replace = function ($match) use ($escaper) {
+            return $escaper->escapeUrl($match[0]);
         };
 
         return preg_replace_callback($regex, $replace, $path);
@@ -989,8 +1023,9 @@ class Uri implements UriInterface
         }
 
         $regex   = '/(?:[^' . self::CHAR_UNRESERVED . self::CHAR_SUB_DELIMS . '%:@\/\?]+|%(?![A-Fa-f0-9]{2}))/';
-        $replace = function($match) {
-            return rawurlencode($match[0]);
+        $escaper = static::getEscaper();
+        $replace = function ($match) use ($escaper) {
+            return $escaper->escapeUrl($match[0]);
         };
 
         return preg_replace_callback($regex, $replace, $input);
diff --git a/vendor/ZF2/library/Zend/Uri/composer.json b/vendor/ZF2/library/Zend/Uri/composer.json
index 52fd0a34967..ae5e2cbcf3c 100644
--- a/vendor/ZF2/library/Zend/Uri/composer.json
+++ b/vendor/ZF2/library/Zend/Uri/composer.json
@@ -14,6 +14,7 @@
     "target-dir": "Zend/Uri",
     "require": {
         "php": ">=5.3.3",
+        "zendframework/zend-escaper": "self.version",
         "zendframework/zend-validator": "self.version"
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Codabar.php b/vendor/ZF2/library/Zend/Validator/Barcode/Codabar.php
index 0d980991e8c..2c52064fdac 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Codabar.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Codabar.php
@@ -32,7 +32,6 @@ class Codabar extends AbstractAdapter
      */
     public function hasValidCharacters($value)
     {
-        $first = $value[0];
         if (strpbrk($value, 'ABCD')) {
             $first = $value[0];
             if (!strpbrk($first, 'ABCD')) {
diff --git a/vendor/ZF2/library/Zend/Validator/Csrf.php b/vendor/ZF2/library/Zend/Validator/Csrf.php
index 1fbac7ff5ec..61e1300c9aa 100644
--- a/vendor/ZF2/library/Zend/Validator/Csrf.php
+++ b/vendor/ZF2/library/Zend/Validator/Csrf.php
@@ -76,7 +76,7 @@ class Csrf extends AbstractValidator
      */
     public function __construct($options = array())
     {
-        parent::__construct();
+        parent::__construct($options);
 
         if ($options instanceof Traversable) {
             $options = ArrayUtils::iteratorToArray($options);
diff --git a/vendor/ZF2/library/Zend/Validator/DateStep.php b/vendor/ZF2/library/Zend/Validator/DateStep.php
index 33c365056ed..84b1b2a4d3a 100644
--- a/vendor/ZF2/library/Zend/Validator/DateStep.php
+++ b/vendor/ZF2/library/Zend/Validator/DateStep.php
@@ -11,7 +11,6 @@
 namespace Zend\Validator;
 
 use DateInterval;
-use DatePeriod;
 use DateTime;
 use DateTimeZone;
 use Traversable;
diff --git a/vendor/ZF2/library/Zend/Validator/Db/AbstractDb.php b/vendor/ZF2/library/Zend/Validator/Db/AbstractDb.php
index 9b71e97c511..476aac362ac 100644
--- a/vendor/ZF2/library/Zend/Validator/Db/AbstractDb.php
+++ b/vendor/ZF2/library/Zend/Validator/Db/AbstractDb.php
@@ -94,7 +94,7 @@ abstract class AbstractDb extends AbstractValidator
      */
     public function __construct($options = null)
     {
-        parent::__construct();
+        parent::__construct($options);
 
         if ($options instanceof DbSelect) {
             $this->setSelect($options);
diff --git a/vendor/ZF2/library/Zend/Validator/Iban.php b/vendor/ZF2/library/Zend/Validator/Iban.php
index a6131b474dc..c7d9e4b716e 100644
--- a/vendor/ZF2/library/Zend/Validator/Iban.php
+++ b/vendor/ZF2/library/Zend/Validator/Iban.php
@@ -222,7 +222,7 @@ class Iban extends AbstractValidator
     public function isValid($value)
     {
         if (!is_string($value)) {
-            $this->error(self::INVALID);
+            $this->error(self::FALSEFORMAT);
             return false;
         }
 
diff --git a/vendor/ZF2/library/Zend/Validator/Step.php b/vendor/ZF2/library/Zend/Validator/Step.php
index 5679fd11093..e598607c523 100644
--- a/vendor/ZF2/library/Zend/Validator/Step.php
+++ b/vendor/ZF2/library/Zend/Validator/Step.php
@@ -127,11 +127,32 @@ class Step extends AbstractValidator
 
         $this->setValue($value);
 
-        if (fmod($value - $this->baseValue, $this->step) !== 0.0) {
+        $fmod = $this->fmod($value - $this->baseValue, $this->step);
+
+        if ($fmod !== 0.0 && $fmod !== $this->step) {
             $this->error(self::NOT_STEP);
             return false;
         }
 
         return true;
     }
+
+    /**
+     * replaces the internal fmod function which give wrong results on many cases
+     *
+     * @param float $x
+     * @param float $y
+     * @return float
+     */
+    protected function fmod($x, $y)
+    {
+        if ($y == 0.0) {
+            return 1.0;
+        }
+
+        //find the maximum precision from both input params to give accurate results
+        $precision = strlen(substr($x, strpos($x, '.')+1)) + strlen(substr($y, strpos($y, '.')+1));
+
+        return round($x - $y * floor($x / $y), $precision);
+    }
 }
diff --git a/vendor/ZF2/library/Zend/Validator/Uri.php b/vendor/ZF2/library/Zend/Validator/Uri.php
index 136cc5d6913..59ea3b472b8 100644
--- a/vendor/ZF2/library/Zend/Validator/Uri.php
+++ b/vendor/ZF2/library/Zend/Validator/Uri.php
@@ -83,6 +83,7 @@ class Uri extends AbstractValidator
     }
 
     /**
+     * @throws InvalidArgumentException
      * @return UriHandler
      */
     public function getUriHandler()
@@ -104,6 +105,7 @@ class Uri extends AbstractValidator
 
     /**
      * @param  UriHandler $uriHandler
+     * @throws InvalidArgumentException
      * @return Uri
      */
     public function setUriHandler($uriHandler)
@@ -129,7 +131,7 @@ class Uri extends AbstractValidator
     /**
      * Sets the allowAbsolute option
      *
-     * @param  boolean $allowWhiteSpace
+     * @param  boolean $allowAbsolute
      * @return Uri
      */
     public function setAllowAbsolute($allowAbsolute)
diff --git a/vendor/ZF2/library/Zend/Validator/ValidatorChain.php b/vendor/ZF2/library/Zend/Validator/ValidatorChain.php
index d6ca6cbcb29..51d4ebf7080 100644
--- a/vendor/ZF2/library/Zend/Validator/ValidatorChain.php
+++ b/vendor/ZF2/library/Zend/Validator/ValidatorChain.php
@@ -230,4 +230,19 @@ class ValidatorChain implements
     {
         return $this->isValid($value);
     }
+
+    /**
+     * Prepare validator chain for serialization
+     *
+     * Plugin manager (property 'plugins') cannot
+     * be serialized. On wakeup the property remains unset
+     * and next invokation to getPluginManager() sets
+     * the default plugin manager instance (ValidatorPluginManager).
+     *
+     * @return array
+     */
+    public function __sleep()
+    {
+        return array('validators','messages');
+    }
 }
diff --git a/vendor/ZF2/library/Zend/Version/Version.php b/vendor/ZF2/library/Zend/Version/Version.php
index ac00afb48bd..60da0af2e7a 100644
--- a/vendor/ZF2/library/Zend/Version/Version.php
+++ b/vendor/ZF2/library/Zend/Version/Version.php
@@ -23,7 +23,17 @@ final class Version
     /**
      * Zend Framework version identification - see compareVersion()
      */
-    const VERSION = '2.0.0';
+    const VERSION = '2.0.2';
+
+    /**
+     * Github Service Identifier for version information is retreived from
+     */
+    const VERSION_SERVICE_GITHUB = 'GITHUB';
+
+    /**
+     * Github Service Identifier for version information is retreived from
+     */
+    const VERSION_SERVICE_ZEND = 'ZEND';
 
     /**
      * The latest stable version Zend Framework available
@@ -52,32 +62,46 @@ final class Version
     /**
      * Fetches the version of the latest stable release.
      *
-     * This uses the GitHub API (v3) and only returns refs that begin with
+     * By Default, this uses the GitHub API (v3) and only returns refs that begin with
      * 'tags/release-'. Because GitHub returns the refs in alphabetical order,
      * we need to reduce the array to a single value, comparing the version
      * numbers with version_compare().
      *
+     * If $service is set to VERSION_SERVICE_ZEND this will fall back to calling the
+     * classic style of version retreival.
+     *
+     *
      * @see http://developer.github.com/v3/git/refs/#get-all-references
      * @link https://api.github.com/repos/zendframework/zf2/git/refs/tags/release-
+     * @link http://framework.zend.com/api/zf-version?v=2
+     * @param string $service Version Service with which to retrieve the version
      * @return string
      */
-    public static function getLatest()
+    public static function getLatest($service = self::VERSION_SERVICE_GITHUB)
     {
         if (null === self::$latestVersion) {
             self::$latestVersion = 'not available';
-            $url  = 'https://api.github.com/repos/zendframework/zf2/git/refs/tags/release-';
+            if ($service == self::VERSION_SERVICE_GITHUB) {
+                $url  = 'https://api.github.com/repos/zendframework/zf2/git/refs/tags/release-';
 
-            $apiResponse = Json::decode(file_get_contents($url), Json::TYPE_ARRAY);
+                $apiResponse = Json::decode(file_get_contents($url), Json::TYPE_ARRAY);
 
-            // Simplify the API response into a simple array of version numbers
-            $tags = array_map(function($tag) {
-                return substr($tag['ref'], 18); // Reliable because we're filtering on 'refs/tags/release-'
-            }, $apiResponse);
+                // Simplify the API response into a simple array of version numbers
+                $tags = array_map(function($tag) {
+                    return substr($tag['ref'], 18); // Reliable because we're filtering on 'refs/tags/release-'
+                }, $apiResponse);
 
-            // Fetch the latest version number from the array
-            self::$latestVersion = array_reduce($tags, function($a, $b) {
-                return version_compare($a, $b, '>') ? $a : $b;
-            });
+                // Fetch the latest version number from the array
+                self::$latestVersion = array_reduce($tags, function($a, $b) {
+                    return version_compare($a, $b, '>') ? $a : $b;
+                });
+            } elseif($service == self::VERSION_SERVICE_ZEND) {
+                $handle = fopen('http://framework.zend.com/api/zf-version?v=2', 'r');
+                if (false !== $handle) {
+                    self::$_latestVersion = stream_get_contents($handle);
+                    fclose($handle);
+                }
+            }
         }
 
         return self::$latestVersion;
diff --git a/vendor/ZF2/library/Zend/View/Helper/BasePath.php b/vendor/ZF2/library/Zend/View/Helper/BasePath.php
index 87400447459..61a0acd022e 100644
--- a/vendor/ZF2/library/Zend/View/Helper/BasePath.php
+++ b/vendor/ZF2/library/Zend/View/Helper/BasePath.php
@@ -33,6 +33,7 @@ class BasePath extends AbstractHelper
      * $file is appended to the base path for simplicity.
      *
      * @param  string|null $file
+     * @throws Exception\RuntimeException
      * @return string
      */
     public function __invoke($file = null)
diff --git a/vendor/ZF2/library/Zend/View/Helper/Cycle.php b/vendor/ZF2/library/Zend/View/Helper/Cycle.php
index 1df8efcb141..375dc3923ba 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Cycle.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Cycle.php
@@ -99,7 +99,6 @@ class Cycle extends AbstractHelper implements \Iterator
     /**
      * Gets actual name of cycle
      *
-     * @param $name
      * @return string
      */
     public function getName()
diff --git a/vendor/ZF2/library/Zend/View/Helper/Escaper/AbstractHelper.php b/vendor/ZF2/library/Zend/View/Helper/Escaper/AbstractHelper.php
index 453cbb509a6..01017c6195a 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Escaper/AbstractHelper.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Escaper/AbstractHelper.php
@@ -60,7 +60,8 @@ abstract class AbstractHelper extends Helper\AbstractHelper
      * Set the encoding to use for escape operations
      *
      * @param  string $encoding
-     * @return AbstractEscaper
+     * @throws Exception\InvalidArgumentException
+     * @return AbstractHelper
      */
     public function setEncoding($encoding)
     {
diff --git a/vendor/ZF2/library/Zend/View/Helper/HeadLink.php b/vendor/ZF2/library/Zend/View/Helper/HeadLink.php
index 0fcc1371d7f..10f9c587c41 100644
--- a/vendor/ZF2/library/Zend/View/Helper/HeadLink.php
+++ b/vendor/ZF2/library/Zend/View/Helper/HeadLink.php
@@ -10,6 +10,7 @@
 
 namespace Zend\View\Helper;
 
+use stdClass;
 use Zend\View;
 use Zend\View\Exception;
 
@@ -52,6 +53,8 @@ class HeadLink extends Placeholder\Container\AbstractStandalone
      * Returns current object instance. Optionally, allows passing array of
      * values to build link.
      *
+     * @param array $attributes
+     * @param string $placement
      * @return \Zend\View\Helper\HeadLink
      */
     public function __invoke(array $attributes = null, $placement = Placeholder\Container\AbstractContainer::APPEND)
@@ -161,7 +164,7 @@ class HeadLink extends Placeholder\Container\AbstractStandalone
      */
     protected function isValid($value)
     {
-        if (!$value instanceof \stdClass) {
+        if (!$value instanceof stdClass) {
             return false;
         }
 
@@ -216,7 +219,7 @@ class HeadLink extends Placeholder\Container\AbstractStandalone
      * prepend()
      *
      * @param  array $value
-     * @return Zend_Layout_ViewHelper_HeadLink
+     * @return HeadLink
      * @throws Exception\InvalidArgumentException
      */
     public function prepend($value)
@@ -234,7 +237,7 @@ class HeadLink extends Placeholder\Container\AbstractStandalone
      * set()
      *
      * @param  array $value
-     * @return Zend_Layout_ViewHelper_HeadLink
+     * @return HeadLink
      * @throws Exception\InvalidArgumentException
      */
     public function set($value)
@@ -255,7 +258,7 @@ class HeadLink extends Placeholder\Container\AbstractStandalone
      * @param  stdClass $item
      * @return string
      */
-    public function itemToString(\stdClass $item)
+    public function itemToString(stdClass $item)
     {
         $attributes = (array) $item;
         $link       = '<link ';
diff --git a/vendor/ZF2/library/Zend/View/Helper/HeadMeta.php b/vendor/ZF2/library/Zend/View/Helper/HeadMeta.php
index bc6e1acbf44..925d92986dd 100644
--- a/vendor/ZF2/library/Zend/View/Helper/HeadMeta.php
+++ b/vendor/ZF2/library/Zend/View/Helper/HeadMeta.php
@@ -10,6 +10,7 @@
 
 namespace Zend\View\Helper;
 
+use stdClass;
 use Zend\View;
 use Zend\View\Exception;
 
@@ -80,7 +81,7 @@ class HeadMeta extends Placeholder\Container\AbstractStandalone
     /**
      * Normalize type attribute of meta
      *
-     * @param $type type in CamelCase
+     * @param string $type type in CamelCase
      * @return string
      * @throws Exception\DomainException
      */
@@ -171,7 +172,7 @@ class HeadMeta extends Placeholder\Container\AbstractStandalone
      */
     public function setCharset($charset)
     {
-        $item = new \stdClass;
+        $item = new stdClass;
         $item->type = 'charset';
         $item->charset = $charset;
         $item->content = null;
@@ -188,7 +189,7 @@ class HeadMeta extends Placeholder\Container\AbstractStandalone
      */
     protected function isValid($item)
     {
-        if ((!$item instanceof \stdClass)
+        if ((!$item instanceof stdClass)
             || !isset($item->type)
             || !isset($item->modifiers))
         {
@@ -307,14 +308,11 @@ class HeadMeta extends Placeholder\Container\AbstractStandalone
     /**
      * Build meta HTML string
      *
-     * @param  string $type
-     * @param  string $typeValue
-     * @param  string $content
-     * @param  array $modifiers
-     * @return string
+     * @param  stdClass $item
      * @throws Exception\InvalidArgumentException
+     * @return string
      */
-    public function itemToString(\stdClass $item)
+    public function itemToString(stdClass $item)
     {
         if (!in_array($item->type, $this->typeKeys)) {
             throw new Exception\InvalidArgumentException(sprintf(
@@ -409,7 +407,7 @@ class HeadMeta extends Placeholder\Container\AbstractStandalone
      */
     public function createData($type, $typeValue, $content, array $modifiers)
     {
-        $data            = new \stdClass;
+        $data            = new stdClass;
         $data->type      = $type;
         $data->$type     = $typeValue;
         $data->content   = $content;
diff --git a/vendor/ZF2/library/Zend/View/Helper/HeadScript.php b/vendor/ZF2/library/Zend/View/Helper/HeadScript.php
index 12db060cc67..baf15d84c36 100644
--- a/vendor/ZF2/library/Zend/View/Helper/HeadScript.php
+++ b/vendor/ZF2/library/Zend/View/Helper/HeadScript.php
@@ -10,6 +10,7 @@
 
 namespace Zend\View\Helper;
 
+use stdClass;
 use Zend\View;
 use Zend\View\Exception;
 
@@ -275,7 +276,7 @@ class HeadScript extends Placeholder\Container\AbstractStandalone
      */
     protected function isValid($value)
     {
-        if ((!$value instanceof \stdClass)
+        if ((!$value instanceof stdClass)
             || !isset($value->type)
             || (!isset($value->source) && !isset($value->attributes)))
         {
@@ -485,7 +486,7 @@ class HeadScript extends Placeholder\Container\AbstractStandalone
      */
     public function createData($type, array $attributes, $content = null)
     {
-        $data             = new \stdClass();
+        $data             = new stdClass();
         $data->type       = $type;
         $data->attributes = $attributes;
         $data->source     = $content;
diff --git a/vendor/ZF2/library/Zend/View/Helper/HeadStyle.php b/vendor/ZF2/library/Zend/View/Helper/HeadStyle.php
index 61812342491..369dd99fc7a 100644
--- a/vendor/ZF2/library/Zend/View/Helper/HeadStyle.php
+++ b/vendor/ZF2/library/Zend/View/Helper/HeadStyle.php
@@ -10,6 +10,7 @@
 
 namespace Zend\View\Helper;
 
+use stdClass;
 use Zend\View;
 use Zend\View\Exception;
 
@@ -162,12 +163,11 @@ class HeadStyle extends Placeholder\Container\AbstractStandalone
      * Determine if a value is a valid style tag
      *
      * @param  mixed $value
-     * @param  string $method
      * @return boolean
      */
     protected function isValid($value)
     {
-        if ((!$value instanceof \stdClass)
+        if ((!$value instanceof stdClass)
             || !isset($value->content)
             || !isset($value->attributes))
         {
@@ -251,8 +251,8 @@ class HeadStyle extends Placeholder\Container\AbstractStandalone
     /**
      * Start capture action
      *
-     * @param  mixed $captureType
-     * @param  string $typeOrAttrs
+     * @param string $type
+     * @param string $attrs
      * @return void
      * @throws Exception\RuntimeException
      */
@@ -301,7 +301,7 @@ class HeadStyle extends Placeholder\Container\AbstractStandalone
      * @param  string $indent Indentation to use
      * @return string
      */
-    public function itemToString(\stdClass $item, $indent)
+    public function itemToString(stdClass $item, $indent)
     {
         $attrString = '';
         if (!empty($item->attributes)) {
@@ -311,6 +311,7 @@ class HeadStyle extends Placeholder\Container\AbstractStandalone
             ) {
                 $enc = $this->view->getEncoding();
             }
+            $escaper = $this->getEscaper($enc);
             foreach ($item->attributes as $key => $value) {
                 if (!in_array($key, $this->optionalAttributes)) {
                     continue;
@@ -333,12 +334,12 @@ class HeadStyle extends Placeholder\Container\AbstractStandalone
                         $value = substr($value, 0, -1);
                     }
                 }
-                $attrString .= sprintf(' %s="%s"', $key, htmlspecialchars($value, ENT_COMPAT, $enc));
+                $attrString .= sprintf(' %s="%s"', $key, $escaper->escapeHtmlAttr($value));
             }
         }
 
-        $escapeStart = $indent . '<!--'. PHP_EOL;
-        $escapeEnd = $indent . '-->'. PHP_EOL;
+        $escapeStart = $indent . '<!--' . PHP_EOL;
+        $escapeEnd = $indent . '-->' . PHP_EOL;
         if (isset($item->attributes['conditional'])
             && !empty($item->attributes['conditional'])
             && is_string($item->attributes['conditional'])
@@ -399,7 +400,7 @@ class HeadStyle extends Placeholder\Container\AbstractStandalone
             $attributes['media'] = implode(',', $attributes['media']);
         }
 
-        $data = new \stdClass();
+        $data = new stdClass();
         $data->content    = $content;
         $data->attributes = $attributes;
 
diff --git a/vendor/ZF2/library/Zend/View/Helper/HeadTitle.php b/vendor/ZF2/library/Zend/View/Helper/HeadTitle.php
index 5be3a1d0ae8..4b2099d0bbd 100644
--- a/vendor/ZF2/library/Zend/View/Helper/HeadTitle.php
+++ b/vendor/ZF2/library/Zend/View/Helper/HeadTitle.php
@@ -90,7 +90,7 @@ class HeadTitle extends Placeholder\Container\AbstractStandalone implements
      * Set a default order to add titles
      *
      * @param string $setType
-     * @return void
+     * @return HeadTitle
      * @throws Exception\DomainException
      */
     public function setDefaultAttachOrder($setType)
diff --git a/vendor/ZF2/library/Zend/View/Helper/HtmlList.php b/vendor/ZF2/library/Zend/View/Helper/HtmlList.php
index 3b0cba3422b..b71e17de835 100644
--- a/vendor/ZF2/library/Zend/View/Helper/HtmlList.php
+++ b/vendor/ZF2/library/Zend/View/Helper/HtmlList.php
@@ -25,6 +25,7 @@ class HtmlList extends AbstractHtmlElement
      * @param array   $items   Array with the elements of the list
      * @param boolean $ordered Specifies ordered/unordered list; default unordered
      * @param array   $attribs Attributes for the ol/ul tag.
+     * @param boolean $escape Escape the items.
      * @return string The list XHTML.
      */
     public function __invoke(array $items, $ordered = false, $attribs = false, $escape = true)
diff --git a/vendor/ZF2/library/Zend/View/Helper/Layout.php b/vendor/ZF2/library/Zend/View/Helper/Layout.php
index e9787e41f19..bacac7c3f58 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Layout.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Layout.php
@@ -70,6 +70,7 @@ class Layout extends AbstractHelper
     /**
      * Get the root view model
      *
+     * @throws Exception\RuntimeException
      * @return null|Model
      */
     protected function getRoot()
diff --git a/vendor/ZF2/library/Zend/View/Helper/Navigation/AbstractHelper.php b/vendor/ZF2/library/Zend/View/Helper/Navigation/AbstractHelper.php
index ce87945fdb5..65203d96124 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Navigation/AbstractHelper.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Navigation/AbstractHelper.php
@@ -83,7 +83,7 @@ abstract class AbstractHelper extends View\Helper\AbstractHtmlElement implements
     /**
      * ACL role to use when iterating pages
      *
-     * @var string|Acl\Role
+     * @var string|Acl\Role\RoleInterface
      */
     protected $role;
 
@@ -127,7 +127,7 @@ abstract class AbstractHelper extends View\Helper\AbstractHtmlElement implements
      * Default ACL role to use when iterating pages if not explicitly set in the
      * instance by calling {@link setRole()}
      *
-     * @var string|Acl\Role
+     * @var string|Acl\Role\RoleInterface
      */
     protected static $defaultRole;
 
@@ -485,7 +485,7 @@ abstract class AbstractHelper extends View\Helper\AbstractHtmlElement implements
      *                                          {@link getMinDepth()}. A
      *                                          null value means no minimum
      *                                          depth required.
-     * @param  int|null             $minDepth   [optional] maximum depth
+     * @param  int|null             $maxDepth   [optional] maximum depth
      *                                          a page can have to be
      *                                          valid. Default is to use
      *                                          {@link getMaxDepth()}. A
diff --git a/vendor/ZF2/library/Zend/View/Helper/Navigation/Breadcrumbs.php b/vendor/ZF2/library/Zend/View/Helper/Navigation/Breadcrumbs.php
index 3e05a71364d..84c8bd608e9 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Navigation/Breadcrumbs.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Navigation/Breadcrumbs.php
@@ -56,7 +56,7 @@ class Breadcrumbs extends AbstractHelper
      * Helper entry point
      *
      * @param  string|AbstractContainer $container container to operate on
-     * @return Navigation
+     * @return Breadcrumbs
      */
     public function __invoke($container = null)
     {
diff --git a/vendor/ZF2/library/Zend/View/Helper/Navigation/Links.php b/vendor/ZF2/library/Zend/View/Helper/Navigation/Links.php
index 667370a0d19..71f1479c36a 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Navigation/Links.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Navigation/Links.php
@@ -208,6 +208,7 @@ class Links extends AbstractHelper
      * </code>
      *
      * @param  AbstractPage $page  page to find links for
+     * @param null|int $flag
      * @return array related pages
      */
     public function findAllRelations(AbstractPage $page, $flag = null)
@@ -728,7 +729,7 @@ class Links extends AbstractHelper
      *
      * Implements {@link HelperInterface::render()}.
      *
-     * @param  AbstractContainer string|$container [optional] container to render.
+     * @param  AbstractContainer|string|null $container [optional] container to render.
      *                                         Default is to render the
      *                                         container registered in the
      *                                         helper.
diff --git a/vendor/ZF2/library/Zend/View/Helper/Navigation/Menu.php b/vendor/ZF2/library/Zend/View/Helper/Navigation/Menu.php
index de8ab1490f7..0b66be67c00 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Navigation/Menu.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Navigation/Menu.php
@@ -314,13 +314,13 @@ class Menu extends AbstractHelper
      * Renders the deepest active menu within [$minDepth, $maxDepth], (called
      * from {@link renderMenu()})
      *
-     * @param  AbstractContainer         $container  container to render
-     * @param  array                     $active     active page and depth
-     * @param  string                    $ulClass    CSS class for first UL
-     * @param  string                    $indent     initial indentation
-     * @param  int|null                  $minDepth   minimum depth
-     * @param  int|null                  $maxDepth   maximum depth
-     * @return string                                rendered menu
+     * @param  AbstractContainer         $container    container to render
+     * @param  string                    $ulClass      CSS class for first UL
+     * @param  string                    $indent       initial indentation
+     * @param  int|null                  $minDepth     minimum depth
+     * @param  int|null                  $maxDepth     maximum depth
+     * @param  bool                      $escapeLabels Whether or not to escape the labels
+     * @return string                                  rendered menu
      */
     protected function renderDeepestMenu(AbstractContainer $container,
                                          $ulClass,
@@ -367,12 +367,13 @@ class Menu extends AbstractHelper
     /**
      * Renders a normal menu (called from {@link renderMenu()})
      *
-     * @param  AbstractContainer                 $container   container to render
-     * @param  string                    $ulClass     CSS class for first UL
-     * @param  string                    $indent      initial indentation
-     * @param  int|null                  $minDepth    minimum depth
-     * @param  int|null                  $maxDepth    maximum depth
-     * @param  bool                      $onlyActive  render only active branch?
+     * @param  AbstractContainer         $container    container to render
+     * @param  string                    $ulClass      CSS class for first UL
+     * @param  string                    $indent       initial indentation
+     * @param  int|null                  $minDepth     minimum depth
+     * @param  int|null                  $maxDepth     maximum depth
+     * @param  bool                      $onlyActive   render only active branch?
+     * @param  bool                      $escapeLabels Whether or not to escape the labels
      * @return string
      */
     protected function renderNormalMenu(AbstractContainer $container,
diff --git a/vendor/ZF2/library/Zend/View/Helper/Navigation/Sitemap.php b/vendor/ZF2/library/Zend/View/Helper/Navigation/Sitemap.php
index a4e85a94d5a..f55d4d5ccad 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Navigation/Sitemap.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Navigation/Sitemap.php
@@ -90,7 +90,7 @@ class Sitemap extends AbstractHelper
      * Helper entry point
      *
      * @param  string|AbstractContainer $container container to operate on
-     * @return Navigation
+     * @return Sitemap
      */
     public function __invoke($container = null)
     {
@@ -242,14 +242,8 @@ class Sitemap extends AbstractHelper
      */
     protected function xmlEscape($string)
     {
-        $enc = 'UTF-8';
-        if ($this->view instanceof View\Renderer\RendererInterface
-            && method_exists($this->view, 'getEncoding')
-        ) {
-            $enc = $this->view->getEncoding();
-        }
-
-        return htmlspecialchars($string, ENT_QUOTES, $enc, false);
+        $escaper = $this->view->plugin('escapeHtml');
+        return $escaper($string);
     }
 
     // Public methods:
@@ -444,10 +438,10 @@ class Sitemap extends AbstractHelper
      *
      * Implements {@link HelperInterface::render()}.
      *
-     * @param  link|AbstractContainer $container [optional] container to render. Default is
-     *                              to render the container registered in the
-     *                              helper.
-     * @return string               helper output
+     * @param  AbstractContainer $container [optional] container to render. Default is
+     *                           to render the container registered in the
+     *                           helper.
+     * @return string            helper output
      */
     public function render($container = null)
     {
diff --git a/vendor/ZF2/library/Zend/View/Helper/PaginationControl.php b/vendor/ZF2/library/Zend/View/Helper/PaginationControl.php
index 0bf6093a125..ec9c93affed 100644
--- a/vendor/ZF2/library/Zend/View/Helper/PaginationControl.php
+++ b/vendor/ZF2/library/Zend/View/Helper/PaginationControl.php
@@ -67,7 +67,7 @@ class PaginationControl extends AbstractHelper
     /**
      * Sets the default Scrolling Style
      *
-     * @param type $style string 'all' | 'elastic' | 'sliding' | 'jumping'
+     * @param string $style string 'all' | 'elastic' | 'sliding' | 'jumping'
      */
     public static function setDefaultScrollingStyle($style)
     {
diff --git a/vendor/ZF2/library/Zend/View/Helper/Placeholder/Container/AbstractContainer.php b/vendor/ZF2/library/Zend/View/Helper/Placeholder/Container/AbstractContainer.php
index bb4f190f851..37d52e701dd 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Placeholder/Container/AbstractContainer.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Placeholder/Container/AbstractContainer.php
@@ -241,7 +241,8 @@ abstract class AbstractContainer extends \ArrayObject
     /**
      * Start capturing content to push into placeholder
      *
-     * @param  int $type How to capture content into placeholder; append, prepend, or set
+     * @param  string $type How to capture content into placeholder; append, prepend, or set
+     * @param  mixed $key Key to which to capture content
      * @return void
      * @throws Exception\RuntimeException if nested captures detected
      */
@@ -337,6 +338,7 @@ abstract class AbstractContainer extends \ArrayObject
     /**
      * Render the placeholder
      *
+     * @param null|int|string $indent
      * @return string
      */
     public function toString($indent = null)
diff --git a/vendor/ZF2/library/Zend/View/Helper/Placeholder/Container/AbstractStandalone.php b/vendor/ZF2/library/Zend/View/Helper/Placeholder/Container/AbstractStandalone.php
index 105cb022515..8633e850a68 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Placeholder/Container/AbstractStandalone.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Placeholder/Container/AbstractStandalone.php
@@ -10,8 +10,10 @@
 
 namespace Zend\View\Helper\Placeholder\Container;
 
+use Zend\Escaper\Escaper;
 use Zend\View\Exception;
 use Zend\View\Helper\Placeholder\Registry;
+use Zend\View\Renderer\RendererInterface;
 
 /**
  * Base class for targeted placeholder helpers
@@ -28,6 +30,11 @@ abstract class AbstractStandalone
      */
     protected $container;
 
+    /**
+     * @var Escaper[]
+     */
+    protected $escapers = array();
+
     /**
      * @var \Zend\View\Helper\Placeholder\Registry
      */
@@ -42,7 +49,7 @@ abstract class AbstractStandalone
     /**
      * Flag whether to automatically escape output, must also be
      * enforced in the child class if __toString/toString is overridden
-     * @var book
+     * @var bool
      */
     protected $autoEscape = true;
 
@@ -78,6 +85,35 @@ abstract class AbstractStandalone
         return $this;
     }
 
+    /**
+     * Set Escaper instance
+     *
+     * @param  Escaper $escaper
+     * @return AbstractStandalone
+     */
+    public function setEscaper(Escaper $escaper)
+    {
+        $encoding = $escaper->getEncoding();
+        $this->escapers[$encoding] = $escaper;
+        return $this;
+    }
+
+    /**
+     * Get Escaper instance
+     *
+     * Lazy-loads one if none available
+     *
+     * @return mixed
+     */
+    public function getEscaper($enc = 'UTF-8')
+    {
+        $enc = strtolower($enc);
+        if (!isset($this->escapers[$enc])) {
+            $this->setEscaper(new Escaper($enc));
+        }
+        return $this->escapers[$enc];
+    }
+
     /**
      * Set whether or not auto escaping should be used
      *
@@ -108,23 +144,16 @@ abstract class AbstractStandalone
      */
     protected function escape($string)
     {
-        $enc = 'UTF-8';
-        if ($this->view instanceof \Zend\View\Renderer\RendererInterface
+        if ($this->view instanceof RendererInterface
             && method_exists($this->view, 'getEncoding')
         ) {
-            $enc = $this->view->getEncoding();
+            $enc     = $this->view->getEncoding();
             $escaper = $this->view->plugin('escapeHtml');
             return $escaper((string) $string);
         }
-        /**
-         * bump this out to a protected method to kill the instance penalty!
-         */
-        $escaper = new \Zend\Escaper\Escaper($enc);
+
+        $escaper = $this->getEscaper();
         return $escaper->escapeHtml((string) $string);
-        /**
-         * Replaced to ensure consistent escaping
-         */
-        //return htmlspecialchars((string) $string, ENT_COMPAT, $enc);
     }
 
     /**
@@ -308,7 +337,7 @@ abstract class AbstractStandalone
     /**
      * IteratorAggregate: get Iterator
      *
-     * @return Iterator
+     * @return \Iterator
      */
     public function getIterator()
     {
diff --git a/vendor/ZF2/library/Zend/View/Helper/RenderChildModel.php b/vendor/ZF2/library/Zend/View/Helper/RenderChildModel.php
index f597922beeb..8d4f8778abf 100644
--- a/vendor/ZF2/library/Zend/View/Helper/RenderChildModel.php
+++ b/vendor/ZF2/library/Zend/View/Helper/RenderChildModel.php
@@ -95,6 +95,7 @@ class RenderChildModel extends AbstractHelper
     /**
      * Get the current view model
      *
+     * @throws Exception\RuntimeException
      * @return null|Model
      */
     protected function getCurrent()
diff --git a/vendor/ZF2/library/Zend/View/Helper/RenderToPlaceholder.php b/vendor/ZF2/library/Zend/View/Helper/RenderToPlaceholder.php
index 1be01f1e9c6..34a4b0f3b1a 100644
--- a/vendor/ZF2/library/Zend/View/Helper/RenderToPlaceholder.php
+++ b/vendor/ZF2/library/Zend/View/Helper/RenderToPlaceholder.php
@@ -10,6 +10,8 @@
 
 namespace Zend\View\Helper;
 
+use Zend\View\Model\ModelInterface;
+
 /**
  * Renders a template and stores the rendered output as a placeholder
  * variable for later use.
@@ -23,8 +25,8 @@ class RenderToPlaceholder extends AbstractHelper
      * Renders a template and stores the rendered output as a placeholder
      * variable for later use.
      *
-     * @param $script The template script to render
-     * @param $placeholder The placeholder variable name in which to store the rendered output
+     * @param string|ModelInterface $script The template script to render
+     * @param string $placeholder The placeholder variable name in which to store the rendered output
      * @return void
      */
     public function __invoke($script, $placeholder)
diff --git a/vendor/ZF2/library/Zend/View/HelperPluginManager.php b/vendor/ZF2/library/Zend/View/HelperPluginManager.php
index 1c52945c833..517c07a3dc9 100644
--- a/vendor/ZF2/library/Zend/View/HelperPluginManager.php
+++ b/vendor/ZF2/library/Zend/View/HelperPluginManager.php
@@ -17,7 +17,7 @@ use Zend\ServiceManager\ConfigInterface;
 /**
  * Plugin manager implementation for view helpers
  *
- * Enforces that heleprs retrieved are instances of
+ * Enforces that helpers retrieved are instances of
  * Helper\HelperInterface. Additionally, it registers a number of default
  * helpers.
  *
diff --git a/vendor/ZF2/library/Zend/View/Model/ModelInterface.php b/vendor/ZF2/library/Zend/View/Model/ModelInterface.php
index 99548c636c3..fe359e0de8b 100644
--- a/vendor/ZF2/library/Zend/View/Model/ModelInterface.php
+++ b/vendor/ZF2/library/Zend/View/Model/ModelInterface.php
@@ -10,8 +10,10 @@
 
 namespace Zend\View\Model;
 
+use ArrayAccess;
 use Countable;
 use IteratorAggregate;
+use Traversable;
 
 /**
  * Interface describing a view model.
@@ -39,7 +41,7 @@ interface ModelInterface extends Countable, IteratorAggregate
     /**
      * Set renderer options/hints en masse
      *
-     * @param  array|\Traversable $name
+     * @param  array|Traversable $options
      * @return ModelInterface
      */
     public function setOptions($options);
@@ -47,7 +49,7 @@ interface ModelInterface extends Countable, IteratorAggregate
     /**
      * Get renderer options/hints
      *
-     * @return array|\Traversable
+     * @return array|Traversable
      */
     public function getOptions();
 
@@ -72,7 +74,7 @@ interface ModelInterface extends Countable, IteratorAggregate
     /**
      * Set view variables en masse
      *
-     * @param  array|\ArrayAccess $variables
+     * @param  array|ArrayAccess $variables
      * @return ModelInterface
      */
     public function setVariables($variables);
@@ -80,7 +82,7 @@ interface ModelInterface extends Countable, IteratorAggregate
     /**
      * Get view variables
      *
-     * @return array|\ArrayAccess
+     * @return array|ArrayAccess
      */
     public function getVariables();
 
diff --git a/vendor/ZF2/library/Zend/View/Model/ViewModel.php b/vendor/ZF2/library/Zend/View/Model/ViewModel.php
index 2b8029e53bf..c5fb3f9c2cc 100644
--- a/vendor/ZF2/library/Zend/View/Model/ViewModel.php
+++ b/vendor/ZF2/library/Zend/View/Model/ViewModel.php
@@ -220,7 +220,7 @@ class ViewModel implements ModelInterface
     public function getVariable($name, $default = null)
     {
         $name = (string)$name;
-        if (array_key_exists($name,$this->variables)) {
+        if (array_key_exists($name, $this->variables)) {
             return $this->variables[$name];
         } else {
             return $default;
@@ -245,8 +245,9 @@ class ViewModel implements ModelInterface
      *
      * Can be an array or a Traversable + ArrayAccess object.
      *
-     * @param  array|ArrayAccess&Traversable $variables
+     * @param  array|ArrayAccess|Traversable $variables
      * @param  bool $overwrite Whether or not to overwrite the internal container with $variables
+     * @throws Exception\InvalidArgumentException
      * @return ViewModel
      */
     public function setVariables($variables, $overwrite = false)
diff --git a/vendor/ZF2/library/Zend/View/Renderer/ConsoleRenderer.php b/vendor/ZF2/library/Zend/View/Renderer/ConsoleRenderer.php
index d4070ef9363..377ce119605 100644
--- a/vendor/ZF2/library/Zend/View/Renderer/ConsoleRenderer.php
+++ b/vendor/ZF2/library/Zend/View/Renderer/ConsoleRenderer.php
@@ -27,7 +27,7 @@ use Zend\View\Resolver\ResolverInterface;
 class ConsoleRenderer implements RendererInterface, TreeRendererInterface
 {
     /**
-     * @var Zend\Filter\FilterChain
+     * @var FilterChain
      */
     protected $__filterChain;
 
diff --git a/vendor/ZF2/library/Zend/View/Renderer/FeedRenderer.php b/vendor/ZF2/library/Zend/View/Renderer/FeedRenderer.php
index f4f36256246..f534667b801 100644
--- a/vendor/ZF2/library/Zend/View/Renderer/FeedRenderer.php
+++ b/vendor/ZF2/library/Zend/View/Renderer/FeedRenderer.php
@@ -64,8 +64,9 @@ class FeedRenderer implements RendererInterface
      * Renders values as JSON
      *
      * @todo   Determine what use case exists for accepting only $nameOrModel
-     * @param  string|Model $name The script/resource process, or a view model
-     * @param  null|array|\ArrayAccess Values to use during rendering
+     * @param  string|Model $nameOrModel The script/resource process, or a view model
+     * @param  null|array|\ArrayAccess $values Values to use during rendering
+     * @throws Exception\InvalidArgumentException
      * @return string The script output.
      */
     public function render($nameOrModel, $values = null)
@@ -113,6 +114,7 @@ class FeedRenderer implements RendererInterface
      * Set feed type ('rss' or 'atom')
      *
      * @param  string $feedType
+     * @throws Exception\InvalidArgumentException
      * @return FeedRenderer
      */
     public function setFeedType($feedType)
diff --git a/vendor/ZF2/library/Zend/View/Renderer/JsonRenderer.php b/vendor/ZF2/library/Zend/View/Renderer/JsonRenderer.php
index 97a91f548b5..0f9fe4caeee 100644
--- a/vendor/ZF2/library/Zend/View/Renderer/JsonRenderer.php
+++ b/vendor/ZF2/library/Zend/View/Renderer/JsonRenderer.php
@@ -124,8 +124,9 @@ class JsonRenderer implements Renderer, TreeRendererInterface
      * Renders values as JSON
      *
      * @todo   Determine what use case exists for accepting both $nameOrModel and $values
-     * @param  string|Model $name The script/resource process, or a view model
-     * @param  null|array|\ArrayAccess Values to use during rendering
+     * @param  string|Model $nameOrModel The script/resource process, or a view model
+     * @param  null|array|\ArrayAccess $values Values to use during rendering
+     * @throws Exception\DomainException
      * @return string The script output.
      */
     public function render($nameOrModel, $values = null)
@@ -141,7 +142,7 @@ class JsonRenderer implements Renderer, TreeRendererInterface
             }
 
             if ($this->hasJsonpCallback()) {
-                $values = $this->jsonpCallback.'('.$values.');';
+                $values = $this->jsonpCallback . '(' . $values . ');';
             }
             return $values;
         }
@@ -159,7 +160,7 @@ class JsonRenderer implements Renderer, TreeRendererInterface
             }
 
             if ($this->hasJsonpCallback()) {
-                $return = $this->jsonpCallback.'('.$return.');';
+                $return = $this->jsonpCallback . '(' . $return . ');';
             }
             return $return;
         }
diff --git a/vendor/ZF2/library/Zend/View/Renderer/PhpRenderer.php b/vendor/ZF2/library/Zend/View/Renderer/PhpRenderer.php
index f861f4db9a9..13249ccfaea 100644
--- a/vendor/ZF2/library/Zend/View/Renderer/PhpRenderer.php
+++ b/vendor/ZF2/library/Zend/View/Renderer/PhpRenderer.php
@@ -11,9 +11,11 @@
 namespace Zend\View\Renderer;
 
 use ArrayAccess;
+use Traversable;
 use Zend\Filter\FilterChain;
 use Zend\View\Exception;
 use Zend\View\HelperPluginManager;
+use Zend\View\Helper\AbstractHelper;
 use Zend\View\Model\ModelInterface as Model;
 use Zend\View\Renderer\RendererInterface as Renderer;
 use Zend\View\Resolver\ResolverInterface as Resolver;
@@ -77,7 +79,7 @@ class PhpRenderer implements Renderer, TreeRendererInterface
     private $__helpers;
 
     /**
-     * @var Zend\Filter\FilterChain
+     * @var FilterChain
      */
     private $__filterChain;
 
@@ -324,9 +326,9 @@ class PhpRenderer implements Renderer, TreeRendererInterface
     /**
      * Get plugin instance
      *
-     * @param  string     $plugin  Name of plugin to return
+     * @param  string     $name Name of plugin to return
      * @param  null|array $options Options to pass to plugin constructor (if not already instantiated)
-     * @return Helper
+     * @return AbstractHelper
      */
     public function plugin($name, array $options = null)
     {
@@ -387,7 +389,7 @@ class PhpRenderer implements Renderer, TreeRendererInterface
      *                                   ViewModel. The ViewModel must have the
      *                                   template as an option in order to be
      *                                   valid.
-     * @param  null|array|Traversable Values to use when rendering. If none
+     * @param  null|array|Traversable $values Values to use when rendering. If none
      *                                provided, uses those in the composed
      *                                variables container.
      * @return string The script output.
@@ -395,6 +397,7 @@ class PhpRenderer implements Renderer, TreeRendererInterface
      *                                   contain a template option.
      * @throws Exception\InvalidArgumentException if the values passed are not
      *                                            an array or ArrayAccess object
+     * @throws Exception\RuntimeException if the template cannot be rendered
      */
     public function render($nameOrModel, $values = null)
     {
diff --git a/vendor/ZF2/library/Zend/View/Resolver/AggregateResolver.php b/vendor/ZF2/library/Zend/View/Resolver/AggregateResolver.php
index 40d10bfbb40..65fcddae68f 100644
--- a/vendor/ZF2/library/Zend/View/Resolver/AggregateResolver.php
+++ b/vendor/ZF2/library/Zend/View/Resolver/AggregateResolver.php
@@ -57,7 +57,7 @@ class AggregateResolver implements Countable, IteratorAggregate, ResolverInterfa
     /**
      * Return count of attached resolvers
      *
-     * @return void
+     * @return int
      */
     public function count()
     {
@@ -67,7 +67,7 @@ class AggregateResolver implements Countable, IteratorAggregate, ResolverInterfa
     /**
      * IteratorAggregate: return internal iterator
      *
-     * @return Traversable
+     * @return PriorityQueue
      */
     public function getIterator()
     {
diff --git a/vendor/ZF2/library/Zend/View/Resolver/TemplateMapResolver.php b/vendor/ZF2/library/Zend/View/Resolver/TemplateMapResolver.php
index 7231c86f2c0..81afd468b13 100644
--- a/vendor/ZF2/library/Zend/View/Resolver/TemplateMapResolver.php
+++ b/vendor/ZF2/library/Zend/View/Resolver/TemplateMapResolver.php
@@ -57,6 +57,7 @@ class TemplateMapResolver implements IteratorAggregate, ResolverInterface
      * Maps should be arrays or Traversable objects with name => path pairs
      *
      * @param  array|Traversable $map
+     * @throws Exception\InvalidArgumentException
      * @return TemplateMapResolver
      */
     public function setMap($map)
@@ -82,7 +83,8 @@ class TemplateMapResolver implements IteratorAggregate, ResolverInterface
      *
      * @param  string|array|Traversable $nameOrMap
      * @param  null|string $path
-     * @return TemplateResolver
+     * @throws Exception\InvalidArgumentException
+     * @return TemplateMapResolver
      */
     public function add($nameOrMap, $path = null)
     {
@@ -114,6 +116,7 @@ class TemplateMapResolver implements IteratorAggregate, ResolverInterface
      * Merge internal map with provided map
      *
      * @param  array|Traversable $map
+     * @throws Exception\InvalidArgumentException
      * @return TemplateMapResolver
      */
     public function merge($map)
diff --git a/vendor/ZF2/library/Zend/View/Resolver/TemplatePathStack.php b/vendor/ZF2/library/Zend/View/Resolver/TemplatePathStack.php
index 49667a1000a..a1add192937 100644
--- a/vendor/ZF2/library/Zend/View/Resolver/TemplatePathStack.php
+++ b/vendor/ZF2/library/Zend/View/Resolver/TemplatePathStack.php
@@ -11,6 +11,7 @@
 namespace Zend\View\Resolver;
 
 use SplFileInfo;
+use Traversable;
 use Zend\Stdlib\SplStack;
 use Zend\View\Exception;
 use Zend\View\Renderer\RendererInterface as Renderer;
@@ -85,13 +86,13 @@ class TemplatePathStack implements ResolverInterface
     /**
      * Configure object
      *
-     * @param  array|\Traversable $options
+     * @param  array|Traversable $options
      * @return void
      * @throws Exception\InvalidArgumentException
      */
     public function setOptions($options)
     {
-        if (!is_array($options) && !$options instanceof \Traversable) {
+        if (!is_array($options) && !$options instanceof Traversable) {
             throw new Exception\InvalidArgumentException(sprintf(
                 'Expected array or Traversable object; received "%s"',
                 (is_object($options) ? get_class($options) : gettype($options))
@@ -281,7 +282,7 @@ class TemplatePathStack implements ResolverInterface
      * @param  string $name
      * @param  null|Renderer $renderer
      * @return string
-     * @throws Exception\RuntimeException
+     * @throws Exception\DomainException
      */
     public function resolve($name, Renderer $renderer = null)
     {
diff --git a/vendor/ZF2/library/Zend/View/Strategy/PhpRendererStrategy.php b/vendor/ZF2/library/Zend/View/Strategy/PhpRendererStrategy.php
index 2839af7cea7..cc7f6f49672 100644
--- a/vendor/ZF2/library/Zend/View/Strategy/PhpRendererStrategy.php
+++ b/vendor/ZF2/library/Zend/View/Strategy/PhpRendererStrategy.php
@@ -64,7 +64,7 @@ class PhpRendererStrategy implements ListenerAggregateInterface
     /**
      * Set list of possible content placeholders
      *
-     * @param  array contentPlaceholders
+     * @param  array $contentPlaceholders
      * @return PhpRendererStrategy
      */
     public function setContentPlaceholders(array $contentPlaceholders)
diff --git a/vendor/ZF2/library/Zend/View/Variables.php b/vendor/ZF2/library/Zend/View/Variables.php
index 22393eb3778..c0bc579d687 100644
--- a/vendor/ZF2/library/Zend/View/Variables.php
+++ b/vendor/ZF2/library/Zend/View/Variables.php
@@ -130,7 +130,7 @@ class Variables extends ArrayObject
      * Otherwise, returns _escaped_ version of the value.
      *
      * @param  mixed $key
-     * @return void
+     * @return mixed
      */
     public function offsetGet($key)
     {
diff --git a/vendor/ZF2/library/Zend/View/View.php b/vendor/ZF2/library/Zend/View/View.php
index 0e377127240..d2951b793e1 100644
--- a/vendor/ZF2/library/Zend/View/View.php
+++ b/vendor/ZF2/library/Zend/View/View.php
@@ -168,6 +168,7 @@ class View implements EventManagerAwareInterface
      * @triggers renderer(ViewEvent)
      * @triggers response(ViewEvent)
      * @param  Model $model
+     * @throws Exception\RuntimeException
      * @return void
      */
     public function render(Model $model)
@@ -218,6 +219,7 @@ class View implements EventManagerAwareInterface
      * Loop through children, rendering each
      *
      * @param  Model $model
+     * @throws Exception\DomainException
      * @return void
      */
     protected function renderChildren(Model $model)
@@ -233,7 +235,7 @@ class View implements EventManagerAwareInterface
             if (!empty($capture)) {
                 if ($child->isAppend()) {
                     $oldResult=$model->{$capture};
-                    $model->setVariable($capture, $oldResult.$result);
+                    $model->setVariable($capture, $oldResult . $result);
                 } else {
                     $model->setVariable($capture, $result);
                 }
diff --git a/vendor/ZF2/library/Zend/XmlRpc/AbstractValue.php b/vendor/ZF2/library/Zend/XmlRpc/AbstractValue.php
index 337e0bdb98c..4186a4af354 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/AbstractValue.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/AbstractValue.php
@@ -174,6 +174,7 @@ abstract class AbstractValue
      *
      * @param  mixed $value
      * @param  Zend\XmlRpc\Value::constant $type
+     * @throws Exception\ValueException
      * @return AbstractValue
      */
     public static function getXmlRpcValue($value, $type = self::AUTO_DETECT_TYPE)
@@ -233,6 +234,7 @@ abstract class AbstractValue
      *
      * @static
      * @param mixed $value
+     * @throws Exception\InvalidArgumentException
      * @return string
      */
     public static function getXmlRpcTypeByValue($value)
@@ -271,6 +273,7 @@ abstract class AbstractValue
      *
      * @param mixed $value The PHP variable for conversion
      *
+     * @throws Exception\InvalidArgumentException
      * @return AbstractValue
      * @static
      */
@@ -326,6 +329,7 @@ abstract class AbstractValue
      * @param string|\SimpleXMLElement $xml A SimpleXMLElement object represent the XML string
      * It can be also a valid XML string for conversion
      *
+     * @throws Exception\ValueException
      * @return \Zend\XmlRpc\AbstractValue
      * @static
      */
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Client/ServerIntrospection.php b/vendor/ZF2/library/Zend/XmlRpc/Client/ServerIntrospection.php
index 8d759d756c0..d1df1a34755 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Client/ServerIntrospection.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Client/ServerIntrospection.php
@@ -65,6 +65,7 @@ class ServerIntrospection
      * can significantly improve performance if present.
      *
      * @param  array $methods
+     * @throws Exception\IntrospectException
      * @return array array(array(return, param, param, param...))
      */
     public function getSignatureForEachMethodByMulticall($methods = null)
@@ -126,6 +127,7 @@ class ServerIntrospection
      * Call system.methodSignature() for the given method
      *
      * @param  array  $method
+     * @throws Exception\IntrospectException
      * @return array  array(array(return, param, param, param...))
      */
     public function getMethodSignature($method)
@@ -141,7 +143,6 @@ class ServerIntrospection
     /**
      * Call system.listMethods()
      *
-     * @param  array  $method
      * @return array  array(method, method, method...)
      */
     public function listMethods()
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Client/ServerProxy.php b/vendor/ZF2/library/Zend/XmlRpc/Client/ServerProxy.php
index eedec51165b..e6ddd1e59e3 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Client/ServerProxy.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Client/ServerProxy.php
@@ -56,7 +56,7 @@ class ServerProxy
     /**
      * Get the next successive namespace
      *
-     * @param string $name
+     * @param string $namespace
      * @return \Zend\XmlRpc\Client\ServerProxy
      */
     public function __get($namespace)
@@ -72,7 +72,7 @@ class ServerProxy
     /**
      * Call a method in this namespace.
      *
-     * @param  string $methodN
+     * @param  string $method
      * @param  array $args
      * @return mixed
      */
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Generator/DomDocument.php b/vendor/ZF2/library/Zend/XmlRpc/Generator/DomDocument.php
index ecc3f090701..7921b70cd79 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Generator/DomDocument.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Generator/DomDocument.php
@@ -20,12 +20,12 @@ namespace Zend\XmlRpc\Generator;
 class DomDocument extends AbstractGenerator
 {
     /**
-     * @var DOMDocument
+     * @var \DOMDocument
      */
     protected $dom;
 
     /**
-     * @var DOMNode
+     * @var \DOMNode
      */
     protected $currentElement;
 
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Request.php b/vendor/ZF2/library/Zend/XmlRpc/Request.php
index 3bb49306ed9..379c821dbd8 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Request.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Request.php
@@ -272,6 +272,7 @@ class Request
      * Load XML and parse into request components
      *
      * @param string $request
+     * @throws Exception\ValueException if invalid XML
      * @return boolean True on success, false if an error occurred.
      */
     public function loadXml($request)
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Response.php b/vendor/ZF2/library/Zend/XmlRpc/Response.php
index 28a4347cbcc..2ee96af0fd0 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Response.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Response.php
@@ -143,6 +143,7 @@ class Response
      * is a fault response.
      *
      * @param string $response
+     * @throws Exception\ValueException if invalid XML
      * @return boolean True if a valid XMLRPC response, false if a fault
      * response or invalid input
      */
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Server.php b/vendor/ZF2/library/Zend/XmlRpc/Server.php
index 67d16fe96c4..fe19ea7c7a5 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Server.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Server.php
@@ -434,6 +434,7 @@ class Server extends AbstractServer
      * Set the class to use for the response
      *
      * @param  string $class
+     * @throws Server\Exception\InvalidArgumentException if invalid response class
      * @return boolean True if class was set, false if not
      */
     public function setResponseClass($class)
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Server/Fault.php b/vendor/ZF2/library/Zend/XmlRpc/Server/Fault.php
index 8cb76821115..7ce41210232 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Server/Fault.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Server/Fault.php
@@ -57,7 +57,6 @@ class Fault extends \Zend\XmlRpc\Fault
         $this->exception = $e;
         $code             = 404;
         $message          = 'Unknown error';
-        $exceptionClass   = get_class($e);
 
         foreach (array_keys(self::$faultExceptionClasses) as $class) {
             if ($e instanceof $class) {
@@ -174,7 +173,7 @@ class Fault extends \Zend\XmlRpc\Fault
      * Retrieve the exception
      *
      * @access public
-     * @return Exception
+     * @return \Exception
      */
     public function getException()
     {
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Server/System.php b/vendor/ZF2/library/Zend/XmlRpc/Server/System.php
index 1702caee54e..b260708791f 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Server/System.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Server/System.php
@@ -51,6 +51,7 @@ class System
      * Display help message for an XMLRPC method
      *
      * @param string $method
+     * @throws Exception\InvalidArgumentException
      * @return string
      */
     public function methodHelp($method)
@@ -67,6 +68,7 @@ class System
      * Return a method signature
      *
      * @param string $method
+     * @throws Exception\InvalidArgumentException
      * @return array
      */
     public function methodSignature($method)
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Value/ArrayValue.php b/vendor/ZF2/library/Zend/XmlRpc/Value/ArrayValue.php
index 1457ede10ba..5d95ee27a26 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Value/ArrayValue.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Value/ArrayValue.php
@@ -51,4 +51,3 @@ class ArrayValue extends AbstractCollection
                   ->closeElement('value');
     }
 }
-
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Value/Base64.php b/vendor/ZF2/library/Zend/XmlRpc/Value/Base64.php
index 35a077e79cc..fed0a55c627 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Value/Base64.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Value/Base64.php
@@ -23,7 +23,7 @@ class Base64 extends AbstractScalar
      * We keep this value in base64 encoding
      *
      * @param string $value
-     * @param bool $already_encoded If set, it means that the given string is already base64 encoded
+     * @param bool $alreadyEncoded If set, it means that the given string is already base64 encoded
      */
     public function __construct($value, $alreadyEncoded = false)
     {
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Value/DateTime.php b/vendor/ZF2/library/Zend/XmlRpc/Value/DateTime.php
index cc01a189e1a..38fa953c942 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Value/DateTime.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Value/DateTime.php
@@ -40,6 +40,7 @@ class DateTime extends AbstractScalar
      *
      * @param mixed $value Integer of the unix timestamp or any string that can be parsed
      *                     to a unix timestamp using the PHP strtotime() function
+     * @throws Exception\ValueException if unable to create a DateTime object from $value
      */
     public function __construct($value)
     {
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Value/Integer.php b/vendor/ZF2/library/Zend/XmlRpc/Value/Integer.php
index 2a19d18acba..1f542cb1092 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Value/Integer.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Value/Integer.php
@@ -24,6 +24,7 @@ class Integer extends AbstractScalar
      * Set the value of an integer native type
      *
      * @param int $value
+     * @throws Exception\ValueException
      */
     public function __construct($value)
     {
diff --git a/vendor/ZF2/library/Zend/XmlRpc/Value/Nil.php b/vendor/ZF2/library/Zend/XmlRpc/Value/Nil.php
index 49a42c1127e..0af0530f6fa 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/Value/Nil.php
+++ b/vendor/ZF2/library/Zend/XmlRpc/Value/Nil.php
@@ -38,4 +38,3 @@ class Nil extends AbstractScalar
         return null;
     }
 }
-
diff --git a/vendor/ZF2/resources/languages/bg/Zend_Captcha.php b/vendor/ZF2/resources/languages/bg/Zend_Captcha.php
new file mode 100644
index 00000000000..9a2dd61e74f
--- /dev/null
+++ b/vendor/ZF2/resources/languages/bg/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
+ */
+
+/**
+ * EN-Revision: 30.Jul.2011
+ */
+return array(
+    // Zend_Captcha_ReCaptcha
+    "Missing captcha fields" => "Непопълнена стойност на капча",
+    "Failed to validate captcha" => "Не може да валидира капча",
+    "Captcha value is wrong: %value%" => "Стойността на капча е грешна: %value%",
+
+    // Zend_Captcha_Word
+    "Empty captcha value" => "Непопълнена стойност на капча",
+    "Captcha ID field is missing" => "Липсващо капча ID поле",
+    "Captcha value is wrong" => "Стойността на капча е грешна",
+);
diff --git a/vendor/ZF2/resources/languages/bg/Zend_Validate.php b/vendor/ZF2/resources/languages/bg/Zend_Validate.php
new file mode 100644
index 00000000000..a92257cab1f
--- /dev/null
+++ b/vendor/ZF2/resources/languages/bg/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
+ */
+
+/**
+ * BG-Revision: 09.Sept.2012
+ */
+return array(
+    // Zend_I18n_Validator_Alnum
+    "Invalid type given. String, integer or float expected" => "Зададен е невалиден тип данни. Очаква се стринг, цяло или реално число",
+    "The input contains characters which are non alphabetic and no digits" => "Въведени са символи, които не са букви или числа",
+    "The input is an empty string" => "Въведен е празен стринг",
+
+    // Zend_I18n_Validator_Alpha
+    "Invalid type given. String expected" => "Зададен е невалиден тип данни. Очаква се стринг",
+    "The input contains non alphabetic characters" => "Въведени са символи, които не са букви",
+    "The input is an empty string" => "Въведен е празен стринг",
+
+    // Zend_I18n_Validator_Float
+    "Invalid type given. String, integer or float expected" => "Зададен е невалиден тип данни. Очаква се цяло или реално число",
+    "The input does not appear to be a float" => "Не е въведено реално число",
+
+    // Zend_I18n_Validator_Int
+    "Invalid type given. String or integer expected" => "Зададен е невалиден тип данни. Очаква се цяло число",
+    "The input does not appear to be an integer" => "Не е въведено цяло число",
+
+    // Zend_I18n_Validator_PostCode
+    "Invalid type given. String or integer expected" => "Зададен е невалиден тип данни. Очаква се стринг или цяло число",
+    "The input does not appear to be a postal code" => "Не е въведен валиден пощенски код",
+    "An exception has been raised while validating the input" => "По време на валидацията беше върнато изключение",
+
+    // Zend_Validator_Barcode
+    "The input failed checksum validation" => "Въведената стойност не успя на премине валидацията на контролната сума",
+    "The input contains invalid characters" => "Въведената стойност съдържа невалидни символи",
+    "The input should have a length of %length% characters" => "Въведената стойност трябва да има дължина от %length% символа",
+    "Invalid type given. String expected" => "Зададен е невалиден тип данни. Очаква се стринг",
+
+    // Zend_Validator_Between
+    "The input is not between '%min%' and '%max%', inclusively" => "Въведената стойност не е между '%min%' и '%max%' включително",
+    "The input is not strictly between '%min%' and '%max%'" => "Въведената стойност не е точно между '%min%' и '%max%'",
+
+    // Zend_Validator_Callback
+    "The input is not valid" => "Въведена е невалидна стойност",
+    "An exception has been raised within the callback" => "По време на заявката беше върнато ново изключение",
+
+    // Zend_Validator_CreditCard
+    "The input seems to contain an invalid checksum" => "Въведената стойност съдържа невалидна контролна сума",
+    "The input must contain only digits" => "Въведената стойност трябва да съдържа само цифри",
+    "Invalid type given. String expected" => "Зададен е навалиден тип данни. Очаква се стринг",
+    "The input contains an invalid amount of digits" => "Въведената стойност съдържа невалиден брой цифри",
+    "The input is not from an allowed institute" => "Въведената стойност не е разрешена организация",
+    "The input seems to be an invalid creditcard number" => "Въведената стойност не е валиден номер на кредитна карта",
+    "An exception has been raised while validating the input" => "По време на валидацията беше върнато ново изключение",
+
+    // Zend_Validator_Csrf
+    "The form submitted did not originate from the expected site" => "Формата не е изпратена от очаквания сайт",
+
+    // Zend_Validator_Date
+    "Invalid type given. String, integer, array or DateTime expected" => "Зададен е невалиден тип данни. Очаква се стринг, цяло число или DateTime",
+    "The input does not appear to be a valid date" => "Въведена стойност не е валидна дата",
+    "The input does not fit the date format '%format%'" => "Въведена стойност не е дата във формат '%format%'",
+
+    // Zend_Validator_DateStep
+    "Invalid type given. String, integer, array or DateTime expected" => "Зададен е невалиден тип данни. Очаква се стринг, цяло число или DateTime",
+    "The input does not appear to be a valid date" => "Въведена стойност не е валидна дата",
+    "The input is not a valid step" => "Въведена стойност не е валидна стъпка",
+
+    // Zend_Validator_Db_AbstractDb
+    "No record matching the input was found" => "Не беше открит запис съвпадащ с въведената стойност",
+    "A record matching the input was found" => "Беше открит запис съвпадащ с въведената стойност",
+
+    // Zend_Validator_Digits
+    "The input must contain only digits" => "Въведената стойност трябва да съдържа само цифри",
+    "The input is an empty string" => "Въведената стойност е празен стринг",
+    "Invalid type given. String, integer or float expected" => "Зададен е невалиден тип данни. Очаква се стринг, цяло или реално число",
+
+    // Zend_Validator_EmailAddress
+    "Invalid type given. String expected" => "Зададен е навалиден тип данни. Очаква се стринг",
+    "The input is not a valid email address. Use the basic format local-part@hostname" => "Въведената стойност не е валиден email адрес в базовия формат local-part@hostname",
+    "'%hostname%' is not a valid hostname for the email address" => "'%hostname%' не е валидно име на хост за въведения email адрес",
+    "'%hostname%' does not appear to have any valid MX or A records for the email address" => "'%hostname%' няма валиден MX запис за въведения email адрес",
+    "'%hostname%' is not in a routable network segment. The email address should not be resolved from public network" => "'%hostname%' не е рутируем мрежов сегмент. Въведения email адрес не трябва да бъде достъпен от публични мрежи",
+    "'%localPart%' can not be matched against dot-atom format" => "'%localPart%' не може да бъде сравнен с dot-atom формат",
+    "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' не може да бъде сравнен с quoted-string формат",
+    "'%localPart%' is not a valid local part for the email address" => "'%localPart%' не е валидна локална част от въведения email адрес",
+    "The input exceeds the allowed length" => "Въведената стойност надвишава разрешение размер",
+
+    // Zend_Validator_Explode
+    "Invalid type given. String expected" => "Зададен е навалиден тип данни. Очаква се стринг",
+
+    // Zend_Validator_File_Count
+    "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Твърде много файлове, максимум '%max%' са разрешени, но '%count%' са зададени",
+    "Too few files, minimum '%min%' are expected but '%count%' are given" => "Твърде малко файлове, минимум '%min%' са очаквани, но '%count%' са зададени",
+
+    // Zend_Validator_File_Crc32
+    "File '%value%' does not match the given crc32 hashes" => "Файлът '%value%' не съвпада с дадения crc32 хаш",
+    "A crc32 hash could not be evaluated for the given file" => "Този crc32 хаш не може да оцени зададения файл",
+    "File '%value%' is not readable or does not exist" => "Файлът '%value%' не може да бъде прочетен или не съществува",
+
+    // Zend_Validator_File_ExcludeExtension
+    "File '%value%' has a false extension" => "Файлът '%value%' има грешно разширение",
+    "File '%value%' is not readable or does not exist" => "Файлът '%value%' не може да бъде прочетен или не съществува",
+
+    // Zend_Validator_File_Exists
+    "File '%value%' does not exist" => "Файлът '%value%' не съществува",
+
+    // Zend_Validator_File_Extension
+    "File '%value%' has a false extension" => "Файлът '%value%' е с грешно разширение",
+    "File '%value%' is not readable or does not exist" => "Файлът '%value%' е нечетим или не съществува",
+
+    // Zend_Validator_File_FilesSize
+    "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Файлове трябва да имат общ размер от максимум '%max%', но в момента той е '%size%'",
+    "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Файлове трябва да имат общ размер от минимум '%min%', но в момента той е '%size%'",
+    "One or more files can not be read" => "Един или повече файлове не могат да бъдат прочетени",
+
+    // Zend_Validator_File_Hash
+    "File '%value%' does not match the given hashes" => "Файлът '%value%' не съвпада с зададения хаш",
+    "A hash could not be evaluated for the given file" => "Този хаш не може да оцени дадения файл",
+    "File '%value%' is not readable or does not exist" => "Файлът '%value%' не може да бъде прочетен или не съществува",
+
+    // Zend_Validator_File_ImageSize
+    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "Максималната ширина на изображението '%value%' трябва да бъде '%maxwidth%', но в момента е '%width%'",
+    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "Минималната ширина на изображението '%value%' трябва да бъде '%minwidth%', но в момента е '%width%'",
+    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "Максималната височина на изображението '%value%' трябва да бъде '%maxheight%', но в момента е '%height%'",
+    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "Минималната височина на изображението '%value%' трябва да бъде '%minheight%', но в момента е '%height%'",
+    "The size of image '%value%' could not be detected" => "Размера на изображението '%value%' не може да бъде открит",
+    "File '%value%' is not readable or does not exist" => "Файлът '%value%' не може да бъде прочетен или не съществува",
+
+    // Zend_Validator_File_IsCompressed
+    "File '%value%' is not compressed, '%type%' detected" => "Файлът '%value%' не е компресиран, неговия формат е '%type%'",
+    "The mimetype of file '%value%' could not be detected" => "Не може да бъде открит маймтайп формата на '%value%'",
+    "File '%value%' is not readable or does not exist" => "Файлът '%value%' не може да бъде прочетен или не съществува",
+
+    // Zend_Validator_File_IsImage
+    "File '%value%' is no image, '%type%' detected" => "Файлът '%value%' не е изображение, неговия формат е '%type%'",
+    "The mimetype of file '%value%' could not be detected" => "Не може да бъде открит маймтайп формата на '%value%'",
+    "File '%value%' is not readable or does not exist" => "Файлът '%value%' не може да бъде прочетен или не съществува",
+
+    // Zend_Validator_File_Md5
+    "File '%value%' does not match the given md5 hashes" => "Файлът '%value%' не съвпада с дадения md5 хаш",
+    "A md5 hash could not be evaluated for the given file" => "Този md5 хаш не може да оцени дадения файл",
+    "File '%value%' is not readable or does not exist" => "Файлът '%value%' не може да бъде прочетен или не съществува",
+
+    // Zend_Validator_File_MimeType
+    "File '%value%' has a false mimetype of '%type%'" => "Файлът '%value%' има грешен маймтайп - '%type%'",
+    "The mimetype of file '%value%' could not be detected" => "Не може да бъде открит маймтайп формата на '%value%'",
+    "File '%value%' is not readable or does not exist" => "Файлът '%value%' не може да бъде прочетен или не съществува",
+
+    // Zend_Validator_File_NotExists
+    "File '%value%' exists" => "Файлът '%value%' съществува",
+
+    // Zend_Validator_File_Sha1
+    "File '%value%' does not match the given sha1 hashes" => "Файлът '%value%' не съвпада с зададения sha1 хаш",
+    "A sha1 hash could not be evaluated for the given file" => "Този sha1 хаш не може да оцени дадения файл",
+    "File '%value%' is not readable or does not exist" => "Файлът '%value%' не може да бъде прочетен или не съществува",
+
+    // Zend_Validator_File_Size
+    "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "Максималния разрешен размер на файла '%value%' е '%max%', но в момента той е '%size%'",
+    "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "Минималния разрешен размер на файла '%value%' е '%min%', но в момента той е '%size%'",
+    "File '%value%' is not readable or does not exist" => "Файлът '%value%' не може да бъде прочетен или не съществува",
+
+    // Zend_Validator_File_Upload
+    "File '%value%' exceeds the defined ini size" => "Файлът '%value%' надвишава зададения размер в ini файла",
+    "File '%value%' exceeds the defined form size" => "Файлът '%value%' надвишава зададения във формата размер",
+    "File '%value%' was only partially uploaded" => "Файлът '%value%' беше качен само частично",
+    "File '%value%' was not uploaded" => "Файлът '%value%' не беше качен",
+    "No temporary directory was found for file '%value%'" => "Не беше открита временна директория за файла '%value%'",
+    "File '%value%' can't be written" => "Файлът '%value%' не може да бъде записан",
+    "A PHP extension returned an error while uploading the file '%value%'" => "PHP изключение беше върнато по време на качването на файла '%value%'",
+    "File '%value%' was illegally uploaded. This could be a possible attack" => "Файлът '%value%' беше качен без позволение. Това може да бъде потенциална атака",
+    "File '%value%' was not found" => "Файлът '%value%' не беше открит",
+    "Unknown error while uploading file '%value%'" => "Възникна грешка при качването на файла '%value%'",
+
+    // Zend_Validator_File_WordCount
+    "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Твърде много думи, очакват се максимум '%max%', но '%count%' бяха открити",
+    "Too less words, minimum '%min%' are expected but '%count%' were counted" => "Твърде малко думи, очакват се минимум '%min%' но само '%count%' бяха открити",
+    "File '%value%' is not readable or does not exist" => "Файлът '%value%' не може да бъде прочетен или не съществува",
+
+    // Zend_Validator_GreaterThan
+    "The input is not greater than '%min%'" => "Въведената стойност не е по-голяма от '%min%'",
+    "The input is not greater or equal than '%min%'" => "Въведената стойност не е по-голяма или равна на '%min%'",
+
+    // Zend_Validator_Hex
+    "Invalid type given. String expected" => "Зададен е невалиден тип данни. Очаква се стринг",
+    "The input contains non-hexadecimal characters" => "Въведената стойност не съдържа само шестнадесетични символи",
+
+    // Zend_Validator_Hostname
+    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "Въведената стойност е DNS хост име, но зададения пюникод не може да бъде декодиран",
+    "Invalid type given. String expected" => "Зададен е невалиден тип данни. Очаква се стринг",
+    "The input appears to be a DNS hostname but contains a dash in an invalid position" => "Въведената стойност е DNS хост име, но съдържа тире на непозволено място",
+    "The input does not match the expected structure for a DNS hostname" => "Въведената стойност не съвпада с очакваната структура за DNS хост име",
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "Въведената стойност е DNS хост име, но не съвпада със схемата на TLD '%tld%'",
+    "The input does not appear to be a valid local network name" => "Въведената стойност не е валидно локално мрежово име",
+    "The input does not appear to be a valid URI hostname" => "Въведената стойност не е валидно URI хост име",
+    "The input appears to be an IP address, but IP addresses are not allowed" => "Въведената стойност е IP адрес, но IP адреси не са разрешени",
+    "The input appears to be a local network name but local network names are not allowed" => "Въведената стойност е валидно локално мрежово име, но локалните мрежови имена не са позволени",
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "Въведената стойност е DNS хост име, но не може да се определи TLD часта",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "Въведената стойност е DNS хост име, но не присъства в листа с известни TLD",
+
+    // Zend_Validator_Iban
+    "Unknown country within the IBAN" => "IBAN-а съдържа непозната държава",
+    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Държави извън Single Euro Payments Area (SEPA) не се поддържат",
+    "The input has a false IBAN format" => "Въведената стойност е в грешен IBAN формат",
+    "The input has failed the IBAN check" => "Въведен е невалиден IBAN",
+
+    // Zend_Validator_Identical
+    "The two given tokens do not match" => "Двете зададени стойности не съвпадат",
+    "No token was provided to match against" => "Не е зададена стойност за сравнение",
+
+    // Zend_Validator_InArray
+    "The input was not found in the haystack" => "Въведената стойност не беше открита",
+
+    // Zend_Validator_Ip
+    "Invalid type given. String expected" => "Зададен е невалиден тип данни. Очаква се стринг",
+    "The input does not appear to be a valid IP address" => "Въведената стойност не е валиден IP адрес",
+
+    // Zend_Validator_Isbn
+    "Invalid type given. String or integer expected" => "Зададен е невалиден тип данни. Очаква се стринг или цяло число",
+    "The input is not a valid ISBN number" => "Въведената стойност не е валиден ISBN номер",
+
+    // Zend_Validator_LessThan
+    "The input is not less than '%max%'" => "Въведената стойност не е по-малка от '%max%'",
+    "The input is not less or equal than '%max%'" => "Въведената стойност не е по-малка или равна на '%max%'",
+
+    // Zend_Validator_NotEmpty
+    "Value is required and can't be empty" => "Очакваната стойност не може да бъде празна",
+    "Invalid type given. String, integer, float, boolean or array expected" => "Зададен е невалиден тип данни. Очаква се стринг, цяло или реално число, булева стойност или масив",
+
+    // Zend_Validator_Regex
+    "Invalid type given. String, integer or float expected" => "Зададен е невалиден тип данни. Очаква се стринг, цяло или реално число",
+    "The input does not match against pattern '%pattern%'" => "Въведената стойност не съвпада с шаблона '%pattern%'",
+    "There was an internal error while using the pattern '%pattern%'" => "Получена е системна грешка докато се ползва шаблона '%pattern%'",
+
+    // Zend_Validator_Sitemap_Changefreq
+    "The input is not a valid sitemap changefreq" => "Въведена е невалидна стойност за changefreq",
+    "Invalid type given. String expected" => "Зададен е невалиден тип данни. Очаква се стринг",
+
+    // Zend_Validator_Sitemap_Lastmod
+    "The input is not a valid sitemap lastmod" => "Въведена е невалидна стойност за lastmod",
+    "Invalid type given. String expected" => "Зададен е невалиден тип данни. Очаква се стринг",
+
+    // Zend_Validator_Sitemap_Loc
+    "The input is not a valid sitemap location" => "Въведена е невалидна стойност за location",
+    "Invalid type given. String expected" => "Зададен е невалиден тип данни. Очаква се стринг",
+
+    // Zend_Validator_Sitemap_Priority
+    "The input is not a valid sitemap priority" => "Въведена е невалидна стойност за priority",
+    "Invalid type given. Numeric string, integer or float expected" => "Зададен е невалиден тип данни. Очаква се стринг, цяло или реално число",
+
+    // Zend_Validator_Step
+    "Invalid value given. Scalar expected" => "Зададен е невалиден тип данни. Очаква се скаларен тип",
+    "The input is not a valid step" => "Въведената стойност не е валидна стъпка",
+
+    // Zend_Validator_StringLength
+    "Invalid type given. String expected" => "Зададен е невалиден тип данни. Очаква се стринг",
+    "The input is less than %min% characters long" => "Въведената стойност е по-малкa от %min% символа",
+    "The input is more than %max% characters long" => "Въведената стойност е по-голяма от %max% символа",
+
+    // Zend_Validator_Uri
+    "Invalid type given. String expected" => "Зададен е невалиден тип данни. Очаква се стринг",
+    "The input does not appear to be a valid Uri" => "Въведената стойност не е валиден URI",
+);
diff --git a/vendor/ZF2/resources/languages/en/Zend_Validate.php b/vendor/ZF2/resources/languages/en/Zend_Validate.php
index badf47a2632..7215cfdf8fe 100644
--- a/vendor/ZF2/resources/languages/en/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/en/Zend_Validate.php
@@ -20,107 +20,122 @@
  */
 
 /**
- * EN-Revision: 25.Jul.2011
+ * EN-Revision: 09.Sept.2012
  */
 return array(
-    // Zend_Validate_Alnum
+    // Zend_I18n_Validator_Alnum
     "Invalid type given. String, integer or float expected" => "Invalid type given. String, integer or float expected",
-    "'%value%' contains characters which are non alphabetic and no digits" => "'%value%' contains characters which are non alphabetic and no digits",
-    "'%value%' is an empty string" => "'%value%' is an empty string",
+    "The input contains characters which are non alphabetic and no digits" => "The input contains characters which are non alphabetic and no digits",
+    "The input is an empty string" => "The input is an empty string",
 
-    // Zend_Validate_Alpha
+    // Zend_I18n_Validator_Alpha
     "Invalid type given. String expected" => "Invalid type given. String expected",
-    "'%value%' contains non alphabetic characters" => "'%value%' contains non alphabetic characters",
-    "'%value%' is an empty string" => "'%value%' is an empty string",
+    "The input contains non alphabetic characters" => "The input contains non alphabetic characters",
+    "The input is an empty string" => "The input is an empty string",
 
-    // Zend_Validate_Barcode
-    "'%value%' failed checksum validation" => "'%value%' failed checksum validation",
-    "'%value%' contains invalid characters" => "'%value%' contains invalid characters",
-    "'%value%' should have a length of %length% characters" => "'%value%' should have a length of %length% characters",
-    "Invalid type given. String expected" => "Invalid type given. String expected",
-
-    // Zend_Validate_Between
-    "'%value%' is not between '%min%' and '%max%', inclusively" => "'%value%' is not between '%min%' and '%max%', inclusively",
-    "'%value%' is not strictly between '%min%' and '%max%'" => "'%value%' is not strictly between '%min%' and '%max%'",
+    // Zend_I18n_Validator_Float
+    "Invalid type given. String, integer or float expected" => "Invalid type given. String, integer or float expected",
+    "The input does not appear to be a float" => "The input does not appear to be a float",
 
-    // Zend_Validate_Callback
-    "'%value%' is not valid" => "'%value%' is not valid",
-    "An exception has been raised within the callback" => "An exception has been raised within the callback",
+    // Zend_I18n_Validator_Int
+    "Invalid type given. String or integer expected" => "Invalid type given. String or integer expected",
+    "The input does not appear to be an integer" => "The input does not appear to be an integer",
 
-    // Zend_Validate_Ccnum
-    "'%value%' must contain between 13 and 19 digits" => "'%value%' must contain between 13 and 19 digits",
-    "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "Luhn algorithm (mod-10 checksum) failed on '%value%'",
+    // Zend_I18n_Validator_PostCode
+    "Invalid type given. String or integer expected" => "Invalid type given. String or integer expected",
+    "The input does not appear to be a postal code" => "The input does not appear to be a postal code",
+    "An exception has been raised while validating the input" => "An exception has been raised while validating the input",
 
-    // Zend_Validate_CreditCard
-    "'%value%' seems to contain an invalid checksum" => "'%value%' seems to contain an invalid checksum",
-    "'%value%' must contain only digits" => "'%value%' must contain only digits",
+    // Zend_Validator_Barcode
+    "The input failed checksum validation" => "The input failed checksum validation",
+    "The input contains invalid characters" => "The input contains invalid characters",
+    "The input should have a length of %length% characters" => "The input should have a length of %length% characters",
     "Invalid type given. String expected" => "Invalid type given. String expected",
-    "'%value%' contains an invalid amount of digits" => "'%value%' contains an invalid amount of digits",
-    "'%value%' is not from an allowed institute" => "'%value%' is not from an allowed institute",
-    "'%value%' seems to be an invalid creditcard number" => "'%value%' seems to be an invalid creditcard number",
-    "An exception has been raised while validating '%value%'" => "An exception has been raised while validating '%value%'",
 
-    // Zend_Validate_Date
-    "Invalid type given. String, integer, array or Zend_Date expected" => "Invalid type given. String, integer, array or Zend_Date expected",
-    "'%value%' does not appear to be a valid date" => "'%value%' does not appear to be a valid date",
-    "'%value%' does not fit the date format '%format%'" => "'%value%' does not fit the date format '%format%'",
+    // Zend_Validator_Between
+    "The input is not between '%min%' and '%max%', inclusively" => "The input is not between '%min%' and '%max%', inclusively",
+    "The input is not strictly between '%min%' and '%max%'" => "The input is not strictly between '%min%' and '%max%'",
 
-    // Zend_Validate_Db_Abstract
-    "No record matching '%value%' was found" => "No record matching '%value%' was found",
-    "A record matching '%value%' was found" => "A record matching '%value%' was found",
+    // Zend_Validator_Callback
+    "The input is not valid" => "The input is not valid",
+    "An exception has been raised within the callback" => "An exception has been raised within the callback",
 
-    // Zend_Validate_Digits
+    // Zend_Validator_CreditCard
+    "The input seems to contain an invalid checksum" => "The input seems to contain an invalid checksum",
+    "The input must contain only digits" => "The input must contain only digits",
+    "Invalid type given. String expected" => "Invalid type given. String expected",
+    "The input contains an invalid amount of digits" => "The input contains an invalid amount of digits",
+    "The input is not from an allowed institute" => "The input is not from an allowed institute",
+    "The input seems to be an invalid creditcard number" => "The input seems to be an invalid creditcard number",
+    "An exception has been raised while validating the input" => "An exception has been raised while validating the input",
+
+    // Zend_Validator_Csrf
+    "The form submitted did not originate from the expected site" => "The form submitted did not originate from the expected site",
+
+    // Zend_Validator_Date
+    "Invalid type given. String, integer, array or DateTime expected" => "Invalid type given. String, integer, array or DateTime expected",
+    "The input does not appear to be a valid date" => "The input does not appear to be a valid date",
+    "The input does not fit the date format '%format%'" => "The input does not fit the date format '%format%'",
+
+    // Zend_Validator_DateStep
+    "Invalid type given. String, integer, array or DateTime expected" => "Invalid type given. String, integer, array or DateTime expected",
+    "The input does not appear to be a valid date" => "The input does not appear to be a valid date",
+    "The input is not a valid step" => "The input is not a valid step",
+
+    // Zend_Validator_Db_AbstractDb
+    "No record matching the input was found" => "No record matching the input was found",
+    "A record matching the input was found" => "A record matching the input was found",
+
+    // Zend_Validator_Digits
+    "The input must contain only digits" => "The input must contain only digits",
+    "The input is an empty string" => "The input is an empty string",
     "Invalid type given. String, integer or float expected" => "Invalid type given. String, integer or float expected",
-    "'%value%' must contain only digits" => "'%value%' must contain only digits",
-    "'%value%' is an empty string" => "'%value%' is an empty string",
 
-    // Zend_Validate_EmailAddress
+    // Zend_Validator_EmailAddress
     "Invalid type given. String expected" => "Invalid type given. String expected",
-    "'%value%' is not a valid email address in the basic format local-part@hostname" => "'%value%' is not a valid email address in the basic format local-part@hostname",
-    "'%hostname%' is not a valid hostname for email address '%value%'" => "'%hostname%' is not a valid hostname for email address '%value%'",
-    "'%hostname%' does not appear to have a valid MX record for the email address '%value%'" => "'%hostname%' does not appear to have a valid MX record for the email address '%value%'",
-    "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network" => "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network",
+    "The input is not a valid email address. Use the basic format local-part@hostname" => "The input is not a valid email address. Use the basic format local-part@hostname",
+    "'%hostname%' is not a valid hostname for the email address" => "'%hostname%' is not a valid hostname for the email address",
+    "'%hostname%' does not appear to have any valid MX or A records for the email address" => "'%hostname%' does not appear to have any valid MX or A records for the email address",
+    "'%hostname%' is not in a routable network segment. The email address should not be resolved from public network" => "'%hostname%' is not in a routable network segment. The email address should not be resolved from public network",
     "'%localPart%' can not be matched against dot-atom format" => "'%localPart%' can not be matched against dot-atom format",
     "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' can not be matched against quoted-string format",
-    "'%localPart%' is not a valid local part for email address '%value%'" => "'%localPart%' is not a valid local part for email address '%value%'",
-    "'%value%' exceeds the allowed length" => "'%value%' exceeds the allowed length",
+    "'%localPart%' is not a valid local part for the email address" => "'%localPart%' is not a valid local part for the email address",
+    "The input exceeds the allowed length" => "The input exceeds the allowed length",
+
+    // Zend_Validator_Explode
+    "Invalid type given. String expected" => "Invalid type given. String expected",
 
-    // Zend_Validate_File_Count
+    // Zend_Validator_File_Count
     "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Too many files, maximum '%max%' are allowed but '%count%' are given",
     "Too few files, minimum '%min%' are expected but '%count%' are given" => "Too few files, minimum '%min%' are expected but '%count%' are given",
 
-    // Zend_Validate_File_Crc32
+    // Zend_Validator_File_Crc32
     "File '%value%' does not match the given crc32 hashes" => "File '%value%' does not match the given crc32 hashes",
     "A crc32 hash could not be evaluated for the given file" => "A crc32 hash could not be evaluated for the given file",
     "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
 
-    // Zend_Validate_File_ExcludeExtension
+    // Zend_Validator_File_ExcludeExtension
     "File '%value%' has a false extension" => "File '%value%' has a false extension",
     "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
 
-    // Zend_Validate_File_ExcludeMimeType
-    "File '%value%' has a false mimetype of '%type%'" => "File '%value%' has a false mimetype of '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "The mimetype of file '%value%' could not be detected",
-    "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
-
-    // Zend_Validate_File_Exists
+    // Zend_Validator_File_Exists
     "File '%value%' does not exist" => "File '%value%' does not exist",
 
-    // Zend_Validate_File_Extension
+    // Zend_Validator_File_Extension
     "File '%value%' has a false extension" => "File '%value%' has a false extension",
     "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
 
-    // Zend_Validate_File_FilesSize
+    // Zend_Validator_File_FilesSize
     "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "All files in sum should have a maximum size of '%max%' but '%size%' were detected",
     "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "All files in sum should have a minimum size of '%min%' but '%size%' were detected",
     "One or more files can not be read" => "One or more files can not be read",
 
-    // Zend_Validate_File_Hash
+    // Zend_Validator_File_Hash
     "File '%value%' does not match the given hashes" => "File '%value%' does not match the given hashes",
     "A hash could not be evaluated for the given file" => "A hash could not be evaluated for the given file",
     "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
 
-    // Zend_Validate_File_ImageSize
+    // Zend_Validator_File_ImageSize
     "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected",
     "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected",
     "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected",
@@ -128,40 +143,40 @@ return array(
     "The size of image '%value%' could not be detected" => "The size of image '%value%' could not be detected",
     "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
 
-    // Zend_Validate_File_IsCompressed
+    // Zend_Validator_File_IsCompressed
     "File '%value%' is not compressed, '%type%' detected" => "File '%value%' is not compressed, '%type%' detected",
     "The mimetype of file '%value%' could not be detected" => "The mimetype of file '%value%' could not be detected",
     "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
 
-    // Zend_Validate_File_IsImage
+    // Zend_Validator_File_IsImage
     "File '%value%' is no image, '%type%' detected" => "File '%value%' is no image, '%type%' detected",
     "The mimetype of file '%value%' could not be detected" => "The mimetype of file '%value%' could not be detected",
     "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
 
-    // Zend_Validate_File_Md5
+    // Zend_Validator_File_Md5
     "File '%value%' does not match the given md5 hashes" => "File '%value%' does not match the given md5 hashes",
     "A md5 hash could not be evaluated for the given file" => "A md5 hash could not be evaluated for the given file",
     "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
 
-    // Zend_Validate_File_MimeType
+    // Zend_Validator_File_MimeType
     "File '%value%' has a false mimetype of '%type%'" => "File '%value%' has a false mimetype of '%type%'",
     "The mimetype of file '%value%' could not be detected" => "The mimetype of file '%value%' could not be detected",
     "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
 
-    // Zend_Validate_File_NotExists
+    // Zend_Validator_File_NotExists
     "File '%value%' exists" => "File '%value%' exists",
 
-    // Zend_Validate_File_Sha1
+    // Zend_Validator_File_Sha1
     "File '%value%' does not match the given sha1 hashes" => "File '%value%' does not match the given sha1 hashes",
     "A sha1 hash could not be evaluated for the given file" => "A sha1 hash could not be evaluated for the given file",
     "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
 
-    // Zend_Validate_File_Size
+    // Zend_Validator_File_Size
     "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected",
     "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "Minimum expected size for file '%value%' is '%min%' but '%size%' detected",
     "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
 
-    // Zend_Validate_File_Upload
+    // Zend_Validator_File_Upload
     "File '%value%' exceeds the defined ini size" => "File '%value%' exceeds the defined ini size",
     "File '%value%' exceeds the defined form size" => "File '%value%' exceeds the defined form size",
     "File '%value%' was only partially uploaded" => "File '%value%' was only partially uploaded",
@@ -173,93 +188,92 @@ return array(
     "File '%value%' was not found" => "File '%value%' was not found",
     "Unknown error while uploading file '%value%'" => "Unknown error while uploading file '%value%'",
 
-    // Zend_Validate_File_WordCount
+    // Zend_Validator_File_WordCount
     "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Too much words, maximum '%max%' are allowed but '%count%' were counted",
     "Too less words, minimum '%min%' are expected but '%count%' were counted" => "Too less words, minimum '%min%' are expected but '%count%' were counted",
     "File '%value%' is not readable or does not exist" => "File '%value%' is not readable or does not exist",
 
-    // Zend_Validate_Float
-    "Invalid type given. String, integer or float expected" => "Invalid type given. String, integer or float expected",
-    "'%value%' does not appear to be a float" => "'%value%' does not appear to be a float",
-
-    // Zend_Validate_GreaterThan
-    "'%value%' is not greater than '%min%'" => "'%value%' is not greater than '%min%'",
+    // Zend_Validator_GreaterThan
+    "The input is not greater than '%min%'" => "The input is not greater than '%min%'",
+    "The input is not greater or equal than '%min%'" => "The input is not greater or equal than '%min%'",
 
-    // Zend_Validate_Hex
+    // Zend_Validator_Hex
     "Invalid type given. String expected" => "Invalid type given. String expected",
-    "'%value%' has not only hexadecimal digit characters" => "'%value%' has not only hexadecimal digit characters",
+    "The input contains non-hexadecimal characters" => "The input contains non-hexadecimal characters",
 
-    // Zend_Validate_Hostname
+    // Zend_Validator_Hostname
+    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "The input appears to be a DNS hostname but the given punycode notation cannot be decoded",
     "Invalid type given. String expected" => "Invalid type given. String expected",
-    "'%value%' appears to be an IP address, but IP addresses are not allowed" => "'%value%' appears to be an IP address, but IP addresses are not allowed",
-    "'%value%' appears to be a DNS hostname but cannot match TLD against known list" => "'%value%' appears to be a DNS hostname but cannot match TLD against known list",
-    "'%value%' appears to be a DNS hostname but contains a dash in an invalid position" => "'%value%' appears to be a DNS hostname but contains a dash in an invalid position",
-    "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'",
-    "'%value%' appears to be a DNS hostname but cannot extract TLD part" => "'%value%' appears to be a DNS hostname but cannot extract TLD part",
-    "'%value%' does not match the expected structure for a DNS hostname" => "'%value%' does not match the expected structure for a DNS hostname",
-    "'%value%' does not appear to be a valid local network name" => "'%value%' does not appear to be a valid local network name",
-    "'%value%' appears to be a local network name but local network names are not allowed" => "'%value%' appears to be a local network name but local network names are not allowed",
-    "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded" => "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded",
-    "'%value%' does not appear to be a valid URI hostname" => "'%value%' does not appear to be a valid URI hostname",
-
-    // Zend_Validate_Iban
-    "Unknown country within the IBAN '%value%'" => "Unknown country within the IBAN '%value%'",
-    "'%value%' has a false IBAN format" => "'%value%' has a false IBAN format",
-    "'%value%' has failed the IBAN check" => "'%value%' has failed the IBAN check",
-
-    // Zend_Validate_Identical
+    "The input appears to be a DNS hostname but contains a dash in an invalid position" => "The input appears to be a DNS hostname but contains a dash in an invalid position",
+    "The input does not match the expected structure for a DNS hostname" => "The input does not match the expected structure for a DNS hostname",
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'",
+    "The input does not appear to be a valid local network name" => "The input does not appear to be a valid local network name",
+    "The input does not appear to be a valid URI hostname" => "The input does not appear to be a valid URI hostname",
+    "The input appears to be an IP address, but IP addresses are not allowed" => "The input appears to be an IP address, but IP addresses are not allowed",
+    "The input appears to be a local network name but local network names are not allowed" => "The input appears to be a local network name but local network names are not allowed",
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "The input appears to be a DNS hostname but cannot extract TLD part",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "The input appears to be a DNS hostname but cannot match TLD against known list",
+
+    // Zend_Validator_Iban
+    "Unknown country within the IBAN" => "Unknown country within the IBAN",
+    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Countries outside the Single Euro Payments Area (SEPA) are not supported",
+    "The input has a false IBAN format" => "The input has a false IBAN format",
+    "The input has failed the IBAN check" => "The input has failed the IBAN check",
+
+    // Zend_Validator_Identical
     "The two given tokens do not match" => "The two given tokens do not match",
     "No token was provided to match against" => "No token was provided to match against",
 
-    // Zend_Validate_InArray
-    "'%value%' was not found in the haystack" => "'%value%' was not found in the haystack",
+    // Zend_Validator_InArray
+    "The input was not found in the haystack" => "The input was not found in the haystack",
 
-    // Zend_Validate_Int
-    "Invalid type given. String or integer expected" => "Invalid type given. String or integer expected",
-    "'%value%' does not appear to be an integer" => "'%value%' does not appear to be an integer",
-
-    // Zend_Validate_Ip
+    // Zend_Validator_Ip
     "Invalid type given. String expected" => "Invalid type given. String expected",
-    "'%value%' does not appear to be a valid IP address" => "'%value%' does not appear to be a valid IP address",
+    "The input does not appear to be a valid IP address" => "The input does not appear to be a valid IP address",
 
-    // Zend_Validate_Isbn
+    // Zend_Validator_Isbn
     "Invalid type given. String or integer expected" => "Invalid type given. String or integer expected",
-    "'%value%' is not a valid ISBN number" => "'%value%' is not a valid ISBN number",
+    "The input is not a valid ISBN number" => "The input is not a valid ISBN number",
 
-    // Zend_Validate_LessThan
-    "'%value%' is not less than '%max%'" => "'%value%' is not less than '%max%'",
+    // Zend_Validator_LessThan
+    "The input is not less than '%max%'" => "The input is not less than '%max%'",
+    "The input is not less or equal than '%max%'" => "The input is not less or equal than '%max%'",
 
-    // Zend_Validate_NotEmpty
-    "Invalid type given. String, integer, float, boolean or array expected" => "Invalid type given. String, integer, float, boolean or array expected",
+    // Zend_Validator_NotEmpty
     "Value is required and can't be empty" => "Value is required and can't be empty",
+    "Invalid type given. String, integer, float, boolean or array expected" => "Invalid type given. String, integer, float, boolean or array expected",
 
-    // Zend_Validate_PostCode
-    "Invalid type given. String or integer expected" => "Invalid type given. String or integer expected",
-    "'%value%' does not appear to be a postal code" => "'%value%' does not appear to be a postal code",
-
-    // Zend_Validate_Regex
+    // Zend_Validator_Regex
     "Invalid type given. String, integer or float expected" => "Invalid type given. String, integer or float expected",
-    "'%value%' does not match against pattern '%pattern%'" => "'%value%' does not match against pattern '%pattern%'",
+    "The input does not match against pattern '%pattern%'" => "The input does not match against pattern '%pattern%'",
     "There was an internal error while using the pattern '%pattern%'" => "There was an internal error while using the pattern '%pattern%'",
 
-    // Zend_Validate_Sitemap_Changefreq
-    "'%value%' is not a valid sitemap changefreq" => "'%value%' is not a valid sitemap changefreq",
+    // Zend_Validator_Sitemap_Changefreq
+    "The input is not a valid sitemap changefreq" => "The input is not a valid sitemap changefreq",
     "Invalid type given. String expected" => "Invalid type given. String expected",
 
-    // Zend_Validate_Sitemap_Lastmod
-    "'%value%' is not a valid sitemap lastmod" => "'%value%' is not a valid sitemap lastmod",
+    // Zend_Validator_Sitemap_Lastmod
+    "The input is not a valid sitemap lastmod" => "The input is not a valid sitemap lastmod",
     "Invalid type given. String expected" => "Invalid type given. String expected",
 
-    // Zend_Validate_Sitemap_Loc
-    "'%value%' is not a valid sitemap location" => "'%value%' is not a valid sitemap location",
+    // Zend_Validator_Sitemap_Loc
+    "The input is not a valid sitemap location" => "The input is not a valid sitemap location",
     "Invalid type given. String expected" => "Invalid type given. String expected",
 
-    // Zend_Validate_Sitemap_Priority
-    "'%value%' is not a valid sitemap priority" => "'%value%' is not a valid sitemap priority",
+    // Zend_Validator_Sitemap_Priority
+    "The input is not a valid sitemap priority" => "The input is not a valid sitemap priority",
     "Invalid type given. Numeric string, integer or float expected" => "Invalid type given. Numeric string, integer or float expected",
 
-    // Zend_Validate_StringLength
+    // Zend_Validator_Step
+    "Invalid value given. Scalar expected" => "Invalid value given. Scalar expected",
+    "The input is not a valid step" => "The input is not a valid step",
+
+    // Zend_Validator_StringLength
+    "Invalid type given. String expected" => "Invalid type given. String expected",
+    "The input is less than %min% characters long" => "The input is less than %min% characters long",
+    "The input is more than %max% characters long" => "The input is more than %max% characters long",
+
+    // Zend_Validator_Uri
     "Invalid type given. String expected" => "Invalid type given. String expected",
-    "'%value%' is less than %min% characters long" => "'%value%' is less than %min% characters long",
-    "'%value%' is more than %max% characters long" => "'%value%' is more than %max% characters long",
+    "The input does not appear to be a valid Uri" => "The input does not appear to be a valid Uri",
 );
diff --git a/vendor/ZF2/resources/languages/es/Zend_Validate.php b/vendor/ZF2/resources/languages/es/Zend_Validate.php
index 5e892c99e14..202aa528625 100644
--- a/vendor/ZF2/resources/languages/es/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/es/Zend_Validate.php
@@ -262,4 +262,3 @@ return array(
     "'%value%' is less than %min% characters long" => "'%value%' tiene menos de '%min%' caracteres",
     "'%value%' is more than %max% characters long" => "'%value%' tiene más de '%max%' caracteres",
 );
-
diff --git a/vendor/ZF2/resources/languages/fr/Zend_Validate.php b/vendor/ZF2/resources/languages/fr/Zend_Validate.php
index 05cd25a19ea..476acb8375c 100644
--- a/vendor/ZF2/resources/languages/fr/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/fr/Zend_Validate.php
@@ -19,116 +19,262 @@
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
 
+
 /**
- * EN-Revision: 22668
+ * FR-Revision: 09.Sept.2012
  */
 return array(
-    "'%hostname%' does not appear to have a valid MX record for the email address '%value%'" => "'%hostname%' ne semble pas avoir d'enregistrement MX valide pour l'adresse email '%value%'",
-    "'%hostname%' is not a valid hostname for email address '%value%'" => "'%hostname%' n'est pas un nom d'hôte valide pour l'adresse email '%value%'",
-    "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network" => "'%hostname%' n'est pas dans un segment réseau routable. L'adresse email '%value%' ne devrait pas être résolue depuis un réseau public.",
+    // Zend_I18n_Validator_Alnum
+    "Invalid type given. String, integer or float expected" => "Type invalide. Chaîne, entier ou flottant attendu",
+    "The input contains characters which are non alphabetic and no digits" => "L'entrée contient des caractères non alphabétiques et non numériques",
+    "The input is an empty string" => "L'entrée est une chaîne vide",
+
+    // Zend_I18n_Validator_Alpha
+    "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
+    "The input contains non alphabetic characters" => "L'entrée contient des caractères non alphabétiques",
+    "The input is an empty string" => "L'entrée est une chaîne vide",
+
+    // Zend_I18n_Validator_Float
+    "Invalid type given. String, integer or float expected" => "Type invalide. Chaîne, entier ou flottant attendu",
+    "The input does not appear to be a float" => "L'entrée n'est pas un nombre flottant",
+
+    // Zend_I18n_Validator_Int
+    "Invalid type given. String or integer expected" => "Type invalide. Chaîne ou entier attendu",
+    "The input does not appear to be an integer" => "L'entrée n'est pas un entier",
+
+    // Zend_I18n_Validator_PostCode
+    "Invalid type given. String or integer expected" => "Type invalid. Chaîne ou entier attendu",
+    "The input does not appear to be a postal code" => "L'entrée ne semble pas être un code postal valide",
+    "An exception has been raised while validating the input" => "Une exception a été levée lors de la validation de l'entrée",
+
+    // Zend_Validator_Barcode
+    "The input failed checksum validation" => "L'entrée n'a pas passé la validation de la somme de contrôle",
+    "The input contains invalid characters" => "L'entrée contient des caractères invalides",
+    "The input should have a length of %length% characters" => "L'entrée devrait contenir %length% caractères",
+    "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
+
+    // Zend_Validator_Between
+    "The input is not between '%min%' and '%max%', inclusively" => "L'entrée n'est pas comprise entre '%min%' et '%max%', inclusivement",
+    "The input is not strictly between '%min%' and '%max%'" => "L'entrée n'est pas strictement comprise entre '%min%' et '%max%'",
+
+    // Zend_Validator_Callback
+    "The input is not valid" => "L'entrée n'est pas valide",
+    "An exception has been raised within the callback" => "Une exception a été levée dans la fonction de rappel",
+
+    // Zend_Validator_CreditCard
+    "The input seems to contain an invalid checksum" => "L'entrée semble contenir une somme de contrôle invalide",
+    "The input must contain only digits" => "L'entrée ne doit contenir que des chiffres",
+    "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
+    "The input contains an invalid amount of digits" => "L'entrée contient un nombre invalide de chiffres",
+    "The input is not from an allowed institute" => "L'entrée ne provient pas d'une institution autorisée",
+    "The input seems to be an invalid creditcard number" => "L'entrée semble être un numéro de carte bancaire invalide",
+    "An exception has been raised while validating the input" => "Une exception a été levée lors de la validation de l'entrée",
+
+    // Zend_Validator_Csrf
+    "The form submitted did not originate from the expected site" => "Le formulaire ne provient pas du site attendu",
+
+    // Zend_Validator_Date
+    "Invalid type given. String, integer, array or DateTime expected" => "Type 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 does not fit the date format '%format%'" => "L'entrée ne correspond pas au format '%format%'",
+
+    // 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",
+
+    // Zend_Validator_Db_AbstractDb
+    "No record matching the input was found" => "Aucun enregistrement trouvé",
+    "A record matching the input was found" => "Un enregistrement a été trouvé",
+
+    // Zend_Validator_Digits
+    "The input must contain only digits" => "L'entrée ne doit contenir que des chiffres",
+    "The input is an empty string" => "L'entrée est une chaîne vide",
+    "Invalid type given. String, integer or float expected" => "Type invalide. Chaîne, entier ou flottant attendu",
+
+    // Zend_Validator_EmailAddress
+    "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
+    "The input is not a valid email address. Use the basic format local-part@hostname" => "L'entrée n'est pas une adresse email valide. Utilisez le format local-part@hostname",
+    "'%hostname%' is not a valid hostname for the email address" => "'%hostname%' n'est pas un nom d'hôte valide pour l'adresse email",
+    "'%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%' is not a valid local part for email address '%value%'" => "'%localPart%' n'est pas une partie locale valide pour l'adresse email '%value%'",
-    "'%value%' appears to be a DNS hostname but cannot extract TLD part" => "'%value%' semble être un nom d'hôte DNS mais l'extension TLD ne peut être extraite",
-    "'%value%' appears to be a DNS hostname but cannot match TLD against known list" => "'%value%' semble être un nom d'hôte DNS mais son extension TLD semble inconnue",
-    "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "'%value%' semble être un nom d'hôte DNS valide mais ne correspond pas au schéma de l'extension TLD '%tld%'",
-    "'%value%' appears to be a DNS hostname but contains a dash in an invalid position" => "'%value%' semble être un nom d'hôte DNS mais il contient un tiret à une position invalide",
-    "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded" => "'%value%' semble être un DNS valide mais le code n'a pu être décodé",
-    "'%value%' appears to be a local network name but local network names are not allowed" => "'%value%' semble être un nom réseau local mais les noms locaux sont interdits",
-    "'%value%' appears to be an IP address, but IP addresses are not allowed" => "'%value%' semble être une IP valide mais celles-ci ne sont pas autorisées",
-    "'%value%' contains an invalid amount of digits" => "'%value%' contient un nombre incorrect de chiffres",
-    "'%value%' contains characters which are non alphabetic and no digits" => "'%value%' contient des caractères non alphabétiques et non numériques",
-    "'%value%' contains invalid characters" => "'%value%' contient des caractères invalides",
-    "'%value%' contains non alphabetic characters" => "'%value%' contient des caractères non alphabétiques",
-    "'%value%' does not appear to be a float" => "'%value%' ne semble pas être de type flottant",
-    "'%value%' does not appear to be a postal code" => "'%value%' ne semble pas être un code postal valide",
-    "'%value%' does not appear to be a valid IP address" => "'%value%' n'est pas une IP valide",
-    "'%value%' does not appear to be a valid date" => "'%value%' ne semble pas être une date valide",
-    "'%value%' does not appear to be a valid local network name" => "'%value%' ne semble pas être une adresse réseau local valide",
-    "'%value%' does not appear to be an integer" => "'%value%' n'est pas un entier",
-    "'%value%' does not fit the date format '%format%'" => "'%value%' ne correspond pas au format de date '%format%'",
-    "'%value%' does not match against pattern '%pattern%'" => "'%value%' n'a pas de correspondance avec le motif '%pattern%'",
-    "'%value%' does not match the expected structure for a DNS hostname" => "'%value%' ne correspond pas à la structure d'un nom d'hôte DNS valide",
-    "'%value%' exceeds the allowed length" => "'%value%' excède la taille autorisée",
-    "'%value%' failed checksum validation" => "'%value%' ne passe pas la validation de somme de contrôle",
-    "'%value%' has a false IBAN format" => "'%value%' n'a pas un format IBAN valide",
-    "'%value%' has failed the IBAN check" => "'%value%' n'a pas passé la validation IBAN",
-    "'%value%' has not only hexadecimal digit characters" => "'%value%' ne contient pas uniquement des caractères héxadécimaux",
-    "'%value%' is an empty string" => "'%value%' est une chaîne vide",
-    "'%value%' is less than %min% characters long" => "La taille de '%value%' est inférieure à %min% caractères",
-    "'%value%' is more than %max% characters long" => "La taille de '%value%' est supérieure à %max% caractères",
-    "'%value%' is not a valid ISBN number" => "'%value%' n'est pas un ISBN valide",
-    "'%value%' is not a valid email address in the basic format local-part@hostname" => "'%value%' n'est pas un email valide dans le format local-part@hostname",
-    "'%value%' is not a valid sitemap changefreq" => "'%value%' n'est pas une valeur de fréquence de sitemap valide",
-    "'%value%' is not a valid sitemap lastmod" => "'%value%' n'est pas une date de modification de sitemap valide",
-    "'%value%' is not a valid sitemap location" => "'%value%' n'est pas un emplacement valide pour une sitemap",
-    "'%value%' is not a valid sitemap priority" => "'%value%' n'est pas une priorité sitemap valide",
-    "'%value%' is not between '%min%' and '%max%', inclusively" => "'%value%' n'est pas comprise entre '%min%' et '%max%', inclusivement",
-    "'%value%' is not from an allowed institute" => "'%value%' ne provient pas d'une institution autorisée",
-    "'%value%' is not greater than '%min%'" => "'%value%' n'est pas plus grand que '%min%'",
-    "'%value%' is not less than '%max%'" => "'%value%' n'est pas plus petit que '%max%'",
-    "'%value%' is not strictly between '%min%' and '%max%'" => "'%value%' n'est pas strictement comprise entre '%min%' et '%max%'",
-    "'%value%' is not valid" => "'%value%' n'est pas valide",
-    "'%value%' must contain between 13 and 19 digits" => "'%value%' doit contenir entre 13 et 19 chiffres",
-    "'%value%' must contain only digits" => "'%value%' ne doit contenir que des chiffres",
-    "'%value%' seems to be an invalid creditcard number" => "'%value%' ne semble pas être une carte de crédit valide",
-    "'%value%' seems to contain an invalid checksum" => "'%value%' semble contenir un somme de vérification invalide",
-    "'%value%' should have a length of %length% characters" => "'%value%' devrait avoir une taille de %length% caractères",
-    "'%value%' was not found in the haystack" => "'%value%' ne fait pas partie des valeurs attendues",
-    "A PHP extension returned an error while uploading the file '%value%'" => "Une extension PHP a retourné une erreur lors de l'envoi du fichier '%value%'",
-    "A crc32 hash could not be evaluated for the given file" => "La somme de contrôle crc32 n'a pas pu être évaluée pour le fichier",
+    "'%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",
+
+    // Zend_Validator_Explode
+    "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
+
+    // Zend_Validator_File_Count
+    "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Trop de fichiers. '%max%' sont autorisés au maximum, mais '%count%' reçu(s)",
+    "Too few files, minimum '%min%' are expected but '%count%' are given" => "Trop peu de fichiers. '%min%' sont attendus, mais '%count%' reçu(s)",
+
+    // Zend_Validator_File_Crc32
+    "File '%value%' does not match the given crc32 hashes" => "Le fichier '%value%' ne correspond pas aux sommes de contrôle CRC32 données",
+    "A crc32 hash could not be evaluated for the given file" => "Une somme de contrôle CRC32 n'a pas pu être calculée pour le fichier",
+    "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
+
+    // Zend_Validator_File_ExcludeExtension
+    "File '%value%' has a false extension" => "Le fichier '%value%' a une mauvaise extension",
+    "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
+
+    // Zend_Validator_File_Exists
+    "File '%value%' does not exist" => "Le fichier '%value%' n'existe pas",
+
+    // Zend_Validator_File_Extension
+    "File '%value%' has a false extension" => "Le fichier '%value%' a une mauvaise extension",
+    "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
+
+    // Zend_Validator_File_FilesSize
+    "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Tous les fichiers devraient avoir une taille maximale de '%max%' mais une taille de '%size%' a été détectée",
+    "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Tous les fichiers devraient avoir une taille minimale de '%max%' mais une taille de '%size%' a été détectée",
+    "One or more files can not be read" => "Un ou plusieurs fichiers ne peut pas être lu",
+
+    // Zend_Validator_File_Hash
+    "File '%value%' does not match the given hashes" => "Le fichier '%value%' ne correspond pas aux sommes de contrôle données",
     "A hash could not be evaluated for the given file" => "Une somme de contrôle n'a pas pu être calculée pour le fichier",
+    "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
+
+    // Zend_Validator_File_ImageSize
+    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "La largeur maximale pour l'image '%value%' devrait être '%maxwidth%', mais '%width%' détecté",
+    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "La largeur minimale pour l'image '%value%' devrait être '%minwidth%', mais '%width%' détecté",
+    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "La hauteur maximale pour l'image '%value%' devrait être '%maxheight%', mais '%height%' détecté",
+    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "La hauteur maximale pour l'image '%value%' devrait être '%minheight%', mais '%height%' détecté",
+    "The size of image '%value%' could not be detected" => "La taille de l'image '%value%' n'a pas pu être détectée",
+    "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
+
+    // Zend_Validator_File_IsCompressed
+    "File '%value%' is not compressed, '%type%' detected" => "Le fichier '%value%' n'est pas compressé, '%type%' détecté",
+    "The mimetype of file '%value%' could not be detected" => "Le type MIME du fichier '%value%' n'a pas pu être détecté",
+    "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
+
+    // Zend_Validator_File_IsImage
+    "File '%value%' is no image, '%type%' detected" => "Le fichier '%value%' n'est pas une image, '%type%' détecté",
+    "The mimetype of file '%value%' could not be detected" => "Le type MIME du fichier '%value%' n'a pas pu être détecté",
+    "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
+
+    // Zend_Validator_File_Md5
+    "File '%value%' does not match the given md5 hashes" => "Le fichier '%value%' ne correspond pas aux sommes de contrôle MD5 données",
     "A md5 hash could not be evaluated for the given file" => "Une somme de contrôle MD5 n'a pas pu être calculée pour le fichier",
-    "A record matching '%value%' was found" => "Un enregistrement a été trouvé pour '%value%'",
-    "A sha1 hash could not be evaluated for the given file" => "La valeur de somme de contrôle SHA-1 n'a pas pu être calculée pour le fichier",
-    "An exception has been raised within the callback" => "Une exception a été levée par la fonction de rappel",
-    "An exception has been raised while validating '%value%'" => "Une exception a été levée lors de la validation de '%value%'",
-    "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Tous les fichiers devraient avoir une taille maximale de '%max%' mais une taille de '%size%' a été détectée",
-    "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Tous les fichiers devraient avoir une taille minimale de '%min%' mais une taille de '%size%' a été détectée",
-    "File '%value%' can't be written" => "Le fichier '%value%' ne peut être écrit",
-    "File '%value%' does not exist" => "Le fichier '%value%' n'existe pas",
-    "File '%value%' does not match the given crc32 hashes" => "Le fichier '%value%' ne correspond pas à la somme de contrôle crc32",
-    "File '%value%' does not match the given hashes" => "Le fichier '%value%' ne correspond pas à la somme de contrôle",
-    "File '%value%' does not match the given md5 hashes" => "Le fichier '%value%' ne correspond pas à la somme de contrôle MD5",
-    "File '%value%' does not match the given sha1 hashes" => "Le fichier '%value%' ne correspond pas à la somme de contrôle SHA-1",
-    "File '%value%' exceeds the defined form size" => "Le fichier '%value%' excède la taille requise par le formulaire",
-    "File '%value%' exceeds the defined ini size" => "Le fichier '%value%' excède la taille requise par le fichier ini",
-    "File '%value%' exists" => "Le fichier '%value%' existe déja",
-    "File '%value%' has a false extension" => "Le fichier '%value%' n'a pas la bonne extension",
-    "File '%value%' has a false mimetype of '%type%'" => "Le fichier '%value%' a un mauvais type MIME : '%type%'",
-    "File '%value%' is no image, '%type%' detected" => "Le fichier '%value%' n'est pas une image : '%type%' détecté",
-    "File '%value%' is not compressed, '%type%' detected" => "Le fichier '%value%' n'est pas compressé : '%type%' détecté",
     "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
-    "File '%value%' was illegally uploaded. This could be a possible attack" => "Fichier '%value%' mal envoyé. Ceci peut être possiblement une attaque",
-    "File '%value%' was not found" => "Fichier '%value%' introuvable",
-    "File '%value%' was not uploaded" => "Le fichier '%value%' n'a pas été envoyé",
+
+    // Zend_Validator_File_MimeType
+    "File '%value%' has a false mimetype of '%type%'" => "Le fichier '%value%' a un faux type MIME : '%type%'",
+    "The mimetype of file '%value%' could not be detected" => "Le type MIME du fichier '%value%' n'a pas pu être détecté",
+    "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
+
+    // Zend_Validator_File_NotExists
+    "File '%value%' exists" => "Le fichier '%value%' existe",
+
+    // Zend_Validator_File_Sha1
+    "File '%value%' does not match the given sha1 hashes" => "Le fichier '%value%' ne correspond pas aux sommes de contrôle SHA1 données",
+    "A sha1 hash could not be evaluated for the given file" => "Une somme de contrôle SHA1 n'a pas pu être calculée pour le fichier",
+    "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
+
+    // Zend_Validator_File_Size
+    "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "La taille de fichier maximale pour '%value%' est '%max%', mais '%size%' détectée",
+    "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "La taille de fichier minimale pour '%value%' est '%min%', mais '%size%' détectée",
+    "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 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é",
-    "Invalid type given. Numeric string, integer or float expected" => "Type invalide. Chaîne numérique, entier ou flottant attendu",
+    "File '%value%' was not uploaded" => "Le fichier '%value%' n'a pas été envoyé",
+    "No temporary directory was found for file '%value%'" => "Le dossier temporaire n'a pas été trouvé pour le fichier '%value%'",
+    "File '%value%' can't be written" => "Impossible d'écrire dans le fichier '%value%'",
+    "A PHP extension returned an error while uploading the file '%value%'" => "Une extension PHP a retourné une erreur en envoyant le fichier '%value%'",
+    "File '%value%' was illegally uploaded. This could be a possible attack" => "Le fichier '%value%' a été envoyé illégalement. Il peut s'agir d'une attaque",
+    "File '%value%' was not found" => "Le fichier '%value%' n'a pas été trouvé",
+    "Unknown error while uploading file '%value%'" => "Erreur inconnue lors de l'envoi du fichier '%value%'",
+
+    // Zend_Validator_File_WordCount
+    "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Trop de mots. '%max%' sont autorisés, '%count%' comptés",
+    "Too less words, minimum '%min%' are expected but '%count%' were counted" => "Pas assez de mots. '%min%' sont attendus, '%count%' comptés",
+    "File '%value%' is not readable or does not exist" => "Le fichier '%value%' n'est pas lisible ou n'existe pas",
+
+    // Zend_Validator_GreaterThan
+    "The input is not greater than '%min%'" => "L'entrée n'est pas supérieure à '%min%'",
+    "The input is not greater or equal than '%min%'" => "L'entrée n'est pas supérieure ou égale à '%min%'",
+
+    // Zend_Validator_Hex
+    "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
+    "The input contains non-hexadecimal characters" => "L'entrée contient des caractères non-hexadécimaux",
+
+    // Zend_Validator_Hostname
+    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "L'entrée semble être un DNS valide mais le code n'a pu être décodé",
     "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
+    "The input appears to be a DNS hostname but contains a dash in an invalid position" => "L'entrée semble être un nom d'hôte DNS mais il contient un tiret à une position invalide",
+    "The input does not match the expected structure for a DNS hostname" => "L'entrée ne correspond pas à la structure attendue d'un nom d'hôte DNS",
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "L'entrée semble être un nom d'hôte DNS valide mais ne correspond pas au schéma de l'extension TLD '%tld%'",
+    "The input does not appear to be a valid local network name" => "L'entrée ne semble pas être un nom de réseau local valide",
+    "The input does not appear to be a valid URI hostname" => "L'entrée ne semble pas être une URI de nom d'hôte valide",
+    "The input appears to be an IP address, but IP addresses are not allowed" => "L'entrée semble être une adresse IP valide, mais les adresses IP ne sont pas autorisées",
+    "The input appears to be a local network name but local network names are not allowed" => "L'entrée semble être un nom de réseau local, mais les réseaux locaux ne sont pas autorisés",
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "L'entrée semble être un nom d'hôte DNS mais l'extension TLD ne peut être extraite",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "L'entrée semble être un nom d'hôte DNS mais son extension TLD semble inconnue",
+
+    // Zend_Validator_Iban
+    "Unknown country within the IBAN" => "Pays inconnu pour l'IBAN",
+    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Les pays en dehors du Single Euro Payments Area (SEPA) ne sont pas supportés",
+    "The input has a false IBAN format" => "L'entrée n'a pas un format IBAN valide",
+    "The input has failed the IBAN check" => "L'entrée n'a pas passé la validation IBAN",
+
+    // Zend_Validator_Identical
+    "The two given tokens do not match" => "Les deux jetons passés ne correspondent pas",
+    "No token was provided to match against" => "Aucun jeton de correspondance n'a été donné",
+
+    // Zend_Validator_InArray
+    "The input was not found in the haystack" => "L'entrée ne fait pas partie des valeurs attendues",
+
+    // Zend_Validator_Ip
+    "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
+    "The input does not appear to be a valid IP address" => "L'entrée ne semble pas être une adresse IP valide",
+
+    // Zend_Validator_Isbn
     "Invalid type given. String or integer expected" => "Type invalide. Chaîne ou entier attendu",
-    "Invalid type given. String, integer, array or Zend_Date expected" => "Type invalide. Chaîne, entier, tableau ou Zend_Date attendu",
+    "The input is not a valid ISBN number" => "L'entrée n'est pas un nombre ISBN valide",
+
+    // Zend_Validator_LessThan
+    "The input is not less than '%max%'" => "L'entrée n'est pas inférieure à '%max%'",
+    "The input is not less or equal than '%max%'" => "L'entrée n'est pas inférieure ou égale à '%max%'",
+
+    // Zend_Validator_NotEmpty
+    "Value is required and can't be empty" => "Une valeur est requise et ne peut être vide",
     "Invalid type given. String, integer, float, boolean or array expected" => "Type invalide. Chaîne, entier, flottant, booléen ou tableau attendu",
+
+    // Zend_Validator_Regex
     "Invalid type given. String, integer or float expected" => "Type invalide. Chaîne, entier ou flottant attendu",
-    "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "L'algorithme Luhn (somme de contrôle mod-10) a échoué pour '%value%'",
-    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "La hauteur maximale de l'image '%value%' devrait être '%maxheight%' mais '%height%' a été détectée",
-    "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "La taille maximale requise pour le fichier '%value%' est de '%max%' mais '%size%' a été détecté",
-    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "La largeur maximale de l'image '%value%' devrait être '%maxwidth%' mais '%width%' a été détectée",
-    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "La hauteur minimale de l'image '%value%' devrait être '%minheight%' mais '%height%' a été détectée",
-    "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "La taille minimale requise pour le fichier '%value%' est de '%min%' mais '%size%' a été détecté",
-    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "La largeur minimale de l'image '%value%' devrait être '%minwidth%' mais '%width%' a été détectée",
-    "No record matching '%value%' was found" => "Aucun enregistrement trouvé pour '%value%'",
-    "No temporary directory was found for file '%value%'" => "Pas de dossier temporaire trouvé pour le fichier '%value%'",
-    "No token was provided to match against" => "Aucun jeton de correspondance n'a été donné",
-    "One or more files can not be read" => "Un ou plusieurs fichiers n'est pas lisible",
-    "The mimetype of file '%value%' could not be detected" => "Le type MIME du fichier '%value%' n'a pu être détecté",
-    "The size of image '%value%' could not be detected" => "La taille de l'image '%value%' n'a pas pu être détectée",
-    "The two given tokens do not match" => "Les deux jetons passés ne correspondent pas",
-    "There was an internal error while using the pattern '%pattern%'" => "Il y a eu une erreur interne lors de l'utilisation du motif '%pattern%'",
-    "Too few files, minimum '%min%' are expected but '%count%' are given" => "Trop peu de fichiers : un minimum de '%min%' est autorisé mais '%count%' ont été fournis",
-    "Too less words, minimum '%min%' are expected but '%count%' were counted" => "Trop peu de mots, un minimum de '%min%' est requis, '%count%' ont été fournis",
-    "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Trop de fichiers : un maximum de'%max%' est autorisé mais '%count%' ont été fournis",
-    "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Trop de mots, un maximum de '%max%' est requis, '%count%' ont été fournis",
-    "Unknown country within the IBAN '%value%'" => "Pays inconnu pour l'IBAN '%value%'",
-    "Unknown error while uploading file '%value%'" => "Erreur inconnue lors de l'envoi du fichier '%value%'",
-    "Value is required and can't be empty" => "Cette valeur est obligatoire et ne peut être vide",
+    "The input does not match against pattern '%pattern%'" => "L'entrée n'est pas valide avec l'expression '%pattern%'",
+    "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",
+    "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",
+    "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
+
+    // Zend_Validator_Sitemap_Loc
+    "The input is not a valid sitemap location" => "L'entrée n'est pas un emplacement de sitemap valide",
+    "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
+
+    // Zend_Validator_Sitemap_Priority
+    "The input is not a valid sitemap priority" => "L'entrée n'est pas une priorité de sitemap valide",
+    "Invalid type given. Numeric string, integer or float expected" => "Type invalide. Chaîne numérique, entier ou flottant attendu",
+
+    // 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",
+
+    // 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 more than %max% characters long" => "L'entrée contient plus de %max% caractères",
+
+    // Zend_Validator_Uri
+    "Invalid type given. String expected" => "Type invalide. Chaîne attendue",
+    "The input does not appear to be a valid Uri" => "L'entrée ne semble pas être une URI valide",
 );
diff --git a/vendor/ZF2/resources/languages/nl/Zend_Validate.php b/vendor/ZF2/resources/languages/nl/Zend_Validate.php
index 9a4b8cbf1f8..8f8c94a2ef4 100644
--- a/vendor/ZF2/resources/languages/nl/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/nl/Zend_Validate.php
@@ -20,148 +20,163 @@
  */
 
 /**
- * EN-Revision: 22076
+ * NL-Revision: 09.Sept.2012
  */
 return array(
-    // Zend_Validate_Alnum
-    "Invalid type given, value should be float, string, or integer" => "Ongeldig type opgegeven, waarde moet een float, string of integer zijn",
-    "'%value%' contains characters which are non alphabetic and no digits" => "'%value%' bevat tekens welke alfabetisch, noch numeriek zijn",
-    "'%value%' is an empty string" => "'%value%' is een lege string",
-
-    // Zend_Validate_Alpha
-    "Invalid type given, value should be a string" => "Ongeldig type opgegeven, waarde moet een string zijn",
-    "'%value%' contains non alphabetic characters" => "'%value%' bevat tekens welke niet alfabetisch zijn",
-    "'%value%' is an empty string" => "'%value%' is een lege string",
-
-    // Zend_Validate_Barcode
-    "'%value%' failed checksum validation" => "'%value%' slaagde niet in de checksum validatie",
-    "'%value%' contains invalid characters" => "'%value%' bevat ongeldige tekens",
-    "'%value%' should have a length of %length% characters" => "'%value%' moet een lengte hebben van %length% tekens",
-    "Invalid type given, value should be string" => "Ongeldig type opgegeven, waarde moet een string zijn",
-
-    // Zend_Validate_Between
-    "'%value%' is not between '%min%' and '%max%', inclusively" => "'%value%' is niet tussen of gelijk aan '%min%' en '%max%'",
-    "'%value%' is not strictly between '%min%' and '%max%'" => "'%value%' is niet tussen '%min%' en '%max%'",
-
-    // Zend_Validate_Callback
-    "'%value%' is not valid" => "'%value%' is ongeldig",
-    "Failure within the callback, exception returned" => "Fout opgetreden in de callback, exceptie teruggegeven",
-
-    // Zend_Validate_Ccnum
-    "'%value%' must contain between 13 and 19 digits" => "'%value%' moet 13 tot 19 cijfers bevatten",
-    "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "Het Luhn algoritme (mod-10 checksum) is niet gelukt op '%value%'",
-
-    // Zend_Validate_CreditCard
-    "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "Het Luhn algoritme (mod-10 checksum) is niet geslaagd op '%value%'",
-    "'%value%' must contain only digits" => "'%value%' kan alleen cijfers bevatten",
-    "Invalid type given, value should be a string" => "Ongeldig type opgegeven, waarde moet een string zijn",
-    "'%value%' contains an invalid amount of digits" => "'%value%' bevat een ongeldige hoeveelheid cijfers",
-    "'%value%' is not from an allowed institute" => "'%value%' is niet afkomstig van een toegestaan instituut",
-    "Validation of '%value%' has been failed by the service" => "Validatie door de service van '%value%' is mislukt",
-    "The service returned a failure while validating '%value%'" => "De service heeft een foutmelding teruggegeven bij het valideren van '%value%'",
-
-    // Zend_Validate_Date
-    "Invalid type given, value should be string, integer, array or Zend_Date" => "Ongeldig type opgegeven, waarde moet een string, integer, array of Zend_Date zijn",
-    "'%value%' does not appear to be a valid date" => "'%value%' lijkt geen geldige datum te zijn",
-    "'%value%' does not fit the date format '%format%'" => "'%value%' past niet in het datumformaat '%format%'",
-
-    // Zend_Validate_Db_Abstract
-    "No record matching %value% was found" => "Er kon geen record gevonden wat overeenkomt met %value%",
-    "A record matching %value% was found" => "Een record wat overeenkomt met %value% is gevonden",
-
-    // Zend_Validate_Digits
-    "Invalid type given, value should be string, integer or float" => "Ongeldig type opgegeven, waarde moet een string, integer of float zijn",
-    "'%value%' contains characters which are not digits; but only digits are allowed" => "'%value%' bevat niet enkel numerieke karakters",
-    "'%value%' is an empty string" => "'%value%' is een lege string",
-
-    // Zend_Validate_EmailAddress
-    "Invalid type given, value should be a string" => "Ongeldig type opgegeven, waarde moet een string zijn",
-    "'%value%' is not a valid email address in the basic format local-part@hostname" => "'%value%' is geen geldig e-mail adres in het basis formaat lokaal-gedeelte@hostname",
-    "'%hostname%' is not a valid hostname for email address '%value%'" => "'%hostname%' is geen geldige hostnaam voor e-mail adres '%value%'",
-    "'%hostname%' does not appear to have a valid MX record for the email address '%value%'" => "'%hostname%' lijkt geen geldig MX record te hebben voor e-mail adres '%value%'",
-    "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network." => "'%hostname%' bevindt zich niet in een routeerbaar netwerk segment. Het e-mail adres '%value%' zou niet naar mogen worden verwezen vanaf een publiek netwerk.",
+    // Zend_I18n_Validator_Alnum
+    "Invalid type given. String, integer or float expected" => "Ongeldig type opgegeven, waarde moet een float, string of integer zijn",
+    "The input contains characters which are non alphabetic and no digits" => "De input bevat tekens welke alfabetisch, noch numeriek zijn",
+    "The input is an empty string" => "De input is een lege string",
+
+    // Zend_I18n_Validator_Alpha
+    "Invalid type given. String expected" => "Ongeldig type opgegeven, waarde moet een string zijn",
+    "The input contains non alphabetic characters" => "De input bevat tekens welke niet alfabetisch zijn",
+    "The input is an empty string" => "De input is een lege string",
+
+    // Zend_I18n_Validator_Float
+    "Invalid type given. String, integer or float expected" => "Invalid type given. String, integer or float expected",
+    "The input does not appear to be a float" => "The input does not appear to be a float",
+
+    // Zend_I18n_Validator_Int
+    "Invalid type given. String or integer expected" => "Invalid type given. String or integer expected",
+    "The input does not appear to be an integer" => "The input does not appear to be an integer",
+
+    // Zend_I18n_Validator_PostCode
+    "Invalid type given. String or integer expected" => "Ongeldig type opgegeven, waarde moet een string of integer zijn",
+    "The input does not appear to be a postal code" => "De input lijkt geen geldige postcode te zijn",
+    "An exception has been raised while validating the input" => "Er is een interne fout opgetreden tijdens het valideren van de input",
+
+    // Zend_Validator_Barcode
+    "The input failed checksum validation" => "De input slaagde niet in de checksum validatie",
+    "The input contains invalid characters" => "De input bevat ongeldige tekens",
+    "The input should have a length of %length% characters" => "De input moet een lengte hebben van %length% tekens",
+    "Invalid type given. String expected" => "Ongeldig type opgegeven, waarde moet een string zijn",
+
+    // Zend_Validator_Between
+    "The input is not between '%min%' and '%max%', inclusively" => "De input is niet tussen of gelijk aan '%min%' en '%max%'",
+    "The input is not strictly between '%min%' and '%max%'" => "De input is niet tussen '%min%' en '%max%'",
+
+    // Zend_Validator_Callback
+    "The input is not valid" => "De input is ongeldig",
+    "An exception has been raised within the callback" => "Fout opgetreden in de callback, exceptie teruggegeven",
+
+    // Zend_Validator_CreditCard
+    "The input seems to contain an invalid checksum" => "De input bevat een ongeldige checksum",
+    "The input must contain only digits" => "De input kan alleen cijfers bevatten",
+    "Invalid type given. String expected" => "Ongeldig type opgegeven, waarde moet een string zijn",
+    "The input contains an invalid amount of digits" => "De input bevat een ongeldige hoeveelheid cijfers",
+    "The input is not from an allowed institute" => "De input is niet afkomstig van een toegestaan instituut",
+    "The input seems to be an invalid creditcard number" => "De input is een ongeldig creditcard nummer",
+    "An exception has been raised while validating the input" => "Er is een interne fout opgetreden tijdens het valideren van de input",
+
+    // Zend_Validator_Csrf
+    "The form submitted did not originate from the expected site" => "Het verzonden formulier kwam niet van de verwachte website",
+
+    // Zend_Validator_Date
+    "Invalid type given. String, integer, array or DateTime expected" => "Ongeldig type opgegeven, waarde moet een string, integer, array of DateTime zijn",
+    "The input does not appear to be a valid date" => "De input lijkt geen geldige datum te zijn",
+    "The input does not fit the date format '%format%'" => "De input past niet in het datumformaat '%format%'",
+
+    // Zend_Validator_DateStep
+    "Invalid type given. String, integer, array or DateTime expected" => "Ongeldig type opgegeven, waarde moet een string, integer, array of DateTime zijn",
+    "The input does not appear to be a valid date" => "De input lijkt geen geldige datum te zijn",
+    "The input is not a valid step" => "De input is geen geldige stap",
+
+    // Zend_Validator_Db_AbstractDb
+    "No record matching the input was found" => "Er kon geen overeenkomstig record gevonden worden",
+    "A record matching the input was found" => "Een record wat overeenkomt met de input is gevonden",
+
+    // Zend_Validator_Digits
+    "The input must contain only digits" => "De input bevat niet enkel numerieke karakters",
+    "The input is an empty string" => "De input is een lege string",
+    "Invalid type given. String, integer or float expected" => "Ongeldig type opgegeven, waarde moet een string, integer of float zijn",
+
+    // Zend_Validator_EmailAddress
+    "Invalid type given. String expected" => "Ongeldig type opgegeven, waarde moet een string zijn",
+    "The input is not a valid email address. Use the basic format local-part@hostname" => "De input is geen geldig e-mail adres in het basis formaat lokaal-gedeelte@hostname",
+    "'%hostname%' is not a valid hostname for the email address" => "'%hostname%' is geen geldige hostnaam voor het e-mail adres",
+    "'%hostname%' does not appear to have any valid MX or A records for the email address" => "'%hostname%' lijkt geen geldig MX of A record te hebben voor het e-mail adres",
+    "'%hostname%' is not in a routable network segment. The email address should not be resolved from public network" => "'%hostname%' bevindt zich niet in een routeerbaar netwerk segment. Het e-mail adres zou niet naar mogen worden verwezen vanaf een publiek netwerk",
     "'%localPart%' can not be matched against dot-atom format" => "'%localPart%' kan niet worden gematched met het dot-atom formaat",
     "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' kan niet worden gematched met het quoted-string formaat",
-    "'%localPart%' is not a valid local part for email address '%value%'" => "'%localPart%' is geen geldig lokaal gedeelte voor e-mail adres '%value%'",
-    "'%value%' exceeds the allowed length" => "'%value%' overschrijdt de toegestane lengte",
+    "'%localPart%' is not a valid local part for the email address" => "'%localPart%' is geen geldig lokaal gedeelte voor het e-mail adres",
+    "The input exceeds the allowed length" => "De input overschrijdt de toegestane lengte",
 
-    // Zend_Validate_File_Count
+    // Zend_Validator_Explode
+    "Invalid type given. String expected" => "Ongeldig type opgegeven, waarde moet een string zijn",
+
+    // Zend_Validator_File_Count
     "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Te veel bestanden, maximaal '%max%' zijn toegestaan, maar '%count%' werd opgegeven",
     "Too few files, minimum '%min%' are expected but '%count%' are given" => "Te weinig bestanden, er worden er minimaal '%min%' verwacht, maar er waren er  '%count%' opgegeven",
 
-    // Zend_Validate_File_Crc32
+    // Zend_Validator_File_Crc32
     "File '%value%' does not match the given crc32 hashes" => "File '%value%' matcht niet met de opgegeven crc32 hashes",
     "A crc32 hash could not be evaluated for the given file" => "Fout tijdens het genereren van een crc32 hash van het opgegeven bestand",
-    "File '%value%' could not be found" => "Het bestand '%value%' kon niet worden gevonden",
+    "File '%value%' is not readable or does not exist" => "Het bestand '%value%' kon niet worden gevonden",
 
-    // Zend_Validate_File_ExcludeExtension
+    // Zend_Validator_File_ExcludeExtension
     "File '%value%' has a false extension" => "Het bestand '%value%' heeft een ongeldige extensie",
-    "File '%value%' could not be found" => "Het bestand '%value%' kon niet worden gevonden",
-
-    // Zend_Validate_File_ExcludeMimeType
-    "File '%value%' has a false mimetype of '%type%'" => "Het bestand '%value%' heeft een ongeldig mimetype: '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "Het mimetype van bestand '%value%' kon niet worden gedetecteerd",
-    "File '%value%' can not be read" => "Het bestand '%value%' kon niet worden gelezen",
+    "File '%value%' is not readable or does not exist" => "Het bestand '%value%' kon niet worden gevonden",
 
-    // Zend_Validate_File_Exists
+    // Zend_Validator_File_Exists
     "File '%value%' does not exist" => "Bestand '%value%' bestaat niet",
 
-    // Zend_Validate_File_Extension
+    // Zend_Validator_File_Extension
     "File '%value%' has a false extension" => "Het bestand '%value%' heeft een ongeldige extensie",
-    "File '%value%' could not be found" => "Het bestand '%value%' kon niet worden gevonden",
+    "File '%value%' is not readable or does not exist" => "Het bestand '%value%' kon niet worden gevonden",
 
-    // Zend_Validate_File_FilesSize
+    // Zend_Validator_File_FilesSize
     "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Alle bestanden tesamen hebben een maximale grootte van '%max%' maar '%size%' was gedetecteerd",
     "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Alle bestanden tesamen hebben een minimum grotte van '%min%' maar '%size%' was gedetecteerd",
-    "One or more files can not be read" => "Eén of meer bestanden konden niet worden gelezen",
+    "One or more files can not be read" => "One or more files can not be read",
 
-    // Zend_Validate_File_Hash
+    // Zend_Validator_File_Hash
     "File '%value%' does not match the given hashes" => "Het bestand '%value%' matcht niet met de opgegeven hashes",
     "A hash could not be evaluated for the given file" => "Een hash kon niet worden gegenereerd voor het opgegeven bestand",
-    "File '%value%' could not be found" => "Het bestand '%value%' kon niet worden gevonden",
+    "File '%value%' is not readable or does not exist" => "Het bestand '%value%' kon niet worden gevonden",
 
-    // Zend_Validate_File_ImageSize
+    // Zend_Validator_File_ImageSize
     "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "Maximum breedte voor afbeelding '%value%' is '%maxwidth%' maar '%width%' werd gedetecteerd",
     "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "Minimum breedte voor afbeelding '%value%' is '%minwidth%' maar '%width%' werd gedetecteerd",
     "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "Maximum hoogte voor afbeelding '%value%' is '%maxheight%' maar '%height%' werd gedetecteerd",
     "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "Minimum hoogte voor afbeelding '%value%' is '%minheight%' maar '%height%' werd gedetecteerd",
     "The size of image '%value%' could not be detected" => "De grootte van afbeelding '%value%' kon niet worden gedetecteerd",
-    "File '%value%' can not be read" => "Het bestand '%value%' kan niet worden gelezen",
+    "File '%value%' is not readable or does not exist" => "Het bestand '%value%' kon niet worden gevonden",
 
-    // Zend_Validate_File_IsCompressed
+    // Zend_Validator_File_IsCompressed
     "File '%value%' is not compressed, '%type%' detected" => "Het bestand '%value%' is niet gecomprimeerd, '%type%' gedetecteerd",
     "The mimetype of file '%value%' could not be detected" => "Het mimetype van bestand '%value%' kon niet worden gedetecteerd",
-    "File '%value%' can not be read" => "Bestand '%value%' kan niet worden gelezen",
+    "File '%value%' is not readable or does not exist" => "Het bestand '%value%' kon niet worden gevonden",
 
-    // Zend_Validate_File_IsImage
+    // Zend_Validator_File_IsImage
     "File '%value%' is no image, '%type%' detected" => "Het bestand '%value%' is geen afbeelding, '%type%' gedetecteerd",
     "The mimetype of file '%value%' could not be detected" => "Het mimetype van bestand '%value%' kon niet worden gedetecteerd",
-    "File '%value%' can not be read" => "Het bestand '%value%' kon niet worden gelezen",
+    "File '%value%' is not readable or does not exist" => "Het bestand '%value%' kon niet worden gevonden",
 
-    // Zend_Validate_File_Md5
+    // Zend_Validator_File_Md5
     "File '%value%' does not match the given md5 hashes" => "Het bestand '%value%' matcht niet met de opgegeven md5-hashes",
     "A md5 hash could not be evaluated for the given file" => "Een md5-hash kon niet gegenereerd worden voor het opgegeven bestand",
-    "File '%value%' could not be found" => "Het bestand '%value%' kon niet worden gevonden",
+    "File '%value%' is not readable or does not exist" => "Het bestand '%value%' kon niet worden gevonden",
 
-    // Zend_Validate_File_MimeType
+    // Zend_Validator_File_MimeType
     "File '%value%' has a false mimetype of '%type%'" => "Het bestand '%value%' heeft een ongeldig mimetype: '%type%'",
     "The mimetype of file '%value%' could not be detected" => "Het mimetype van bestand '%value%' kon niet worden gedetecteerd",
-    "File '%value%' can not be read" => "Het bestand '%value%' kon niet worden gelezen",
+    "File '%value%' is not readable or does not exist" => "Het bestand '%value%' kon niet worden gevonden",
 
-    // Zend_Validate_File_NotExists
+    // Zend_Validator_File_NotExists
     "File '%value%' exists" => "Het bestand '%value%' bestaat",
 
-    // Zend_Validate_File_Sha1
+    // Zend_Validator_File_Sha1
     "File '%value%' does not match the given sha1 hashes" => "Het bestand '%value%' matcht niet met de opgegeven sha1-hashes",
     "A sha1 hash could not be evaluated for the given file" => "Een sha1-hash kon niet worden gegenereerd voor het opgegeven bestand",
-    "File '%value%' could not be found" => "Het bestand '%value%' kon niet worden gevonden",
+    "File '%value%' is not readable or does not exist" => "Het bestand '%value%' kon niet worden gevonden",
 
-    // Zend_Validate_File_Size
+    // Zend_Validator_File_Size
     "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "Maximum grootte voor bestand '%value%' is '%max%' maar '%size%' werd gedetecteerd",
     "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "Minimum grootte voor bestand '%value%' is '%min%' maar '%size%' werd gedetecteerd",
-    "File '%value%' could not be found" => "Het bestand '%value%' kon niet worden gevonden",
+    "File '%value%' is not readable or does not exist" => "Het bestand '%value%' kon niet worden gevonden",
 
-    // Zend_Validate_File_Upload
+    // Zend_Validator_File_Upload
     "File '%value%' exceeds the defined ini size" => "Het bestand '%value%' overschrijdt de ini grootte",
     "File '%value%' exceeds the defined form size" => "Het bestand '%value%' overschrijdt de formulier grootte",
     "File '%value%' was only partially uploaded" => "Het bestand '%value%' was slechts gedeeltelijk geüpload",
@@ -173,92 +188,92 @@ return array(
     "File '%value%' was not found" => "Het bestand '%value%' kon niet worden gevonden",
     "Unknown error while uploading file '%value%'" => "Er is een onbekende fout opgetreden tijdens het uploaden van '%value%'",
 
-    // Zend_Validate_File_WordCount
+    // Zend_Validator_File_WordCount
     "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Te veel woorden, er is een maximum van '%max%', maar er waren '%count%' geteld",
-    "Too less words, minimum '%min%' are expected but '%count%' were counted" => "Te weinig worden, er is een minimum van '%min%' maar er waren '%count%' geteld",
-    "File '%value%' could not be found" => "Het bestand '%value%' kon niet worden gevonden",
-
-    // Zend_Validate_Float
-    "Invalid type given, value should be float, string, or integer" => "Ongeldig type opgegeven, waarde moet een float, string, of integer zijn",
-    "'%value%' does not appear to be a float" => "'%value%' lijkt geen float te zijn",
-
-    // Zend_Validate_GreaterThan
-    "'%value%' is not greater than '%min%'" => "'%value%' is niet groter dan '%min%'",
-
-    // Zend_Validate_Hex
-    "Invalid type given, value should be a string" => "Ongeldig type gegeven, waarde moet een string zijn",
-    "'%value%' has not only hexadecimal digit characters" => "'%value%' bestaat niet enkel uit acht hexadecimale cijfers",
-
-    // Zend_Validate_Hostname
-    "Invalid type given, value should be a string" => "Ongeldig type gegeven, waarde moet een string zijn",
-    "'%value%' appears to be an IP address, but IP addresses are not allowed" => "'%value%' lijkt een IP adres te zijn, maar IP adressen zijn niet toegestaan",
-    "'%value%' appears to be a DNS hostname but cannot match TLD against known list" => "'%value%' lijkt een DNS hostnaam te zijn, maar het TLD bestaat niet in de lijst met bekende TLD's",
-    "'%value%' appears to be a DNS hostname but contains a dash in an invalid position" => "'%value%' lijkt een DNS hostnaam te zijn, maar bevat een streep op een ongeldige plek",
-    "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "'%value%' lijkt een DNS hostnaam te zijn, maar past niet in het hostnaam-schema voor TLD '%tld%'",
-    "'%value%' appears to be a DNS hostname but cannot extract TLD part" => "'%value%' lijkt een DNS hostnaam te zijn, maar kan niet het TLD gedeelte bepalen",
-    "'%value%' does not match the expected structure for a DNS hostname" => "'%value%' matcht niet met de verwachte structuur voor een DNS hostnaam",
-    "'%value%' does not appear to be a valid local network name" => "'%value%' lijkt geen geldige lokale netwerknaam te zijn",
-    "'%value%' appears to be a local network name but local network names are not allowed" => "'%value%' lijkt een lokale netwerknaam te zijn, welke niet zijn toegestaan",
-    "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded" => "'%value%' lijkt een geldige DNS hostnaam te zijn, maar de opgegeven punnycode notatie kan niet worden gedecodeerd",
-
-    // Zend_Validate_Iban
-    "Unknown country within the IBAN '%value%'" => "Onbekend land in de IBAN '%value%'",
-    "'%value%' has a false IBAN format" => "'%value%' heeft een ongeldig IBAN formaat",
-    "'%value%' has failed the IBAN check" => "'%value%' is geen geldige IBAN",
-
-    // Zend_Validate_Identical
+    "Too less words, minimum '%min%' are expected but '%count%' were counted" => "Te weinig worden, er is een minimum van '%min%' maar er waren '%count%' getelc",
+    "File '%value%' is not readable or does not exist" => "Het bestand '%value%' kon niet worden gevonden",
+
+    // Zend_Validator_GreaterThan
+    "The input is not greater than '%min%'" => "De input is niet groter dan '%min%'",
+    "The input is not greater or equal than '%min%'" => "De input is niet groter dan of gelijk aan '%min%'",
+
+    // Zend_Validator_Hex
+    "Invalid type given. String expected" => "Ongeldig type gegeven, waarde moet een string zijn",
+    "The input contains non-hexadecimal characters" => "De input bestaat niet enkel uit hexadecimale cijfers",
+
+    // Zend_Validator_Hostname
+    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "De input lijkt een geldige DNS hostnaam te zijn, maar de opgegeven punnycode notatie kan niet worden gedecodeerd",
+    "Invalid type given. String expected" => "Ongeldig type gegeven, waarde moet een string zijn",
+    "The input appears to be a DNS hostname but contains a dash in an invalid position" => "De input lijkt een DNS hostnaam te zijn, maar bevat een streep op een ongeldige plek",
+    "The input does not match the expected structure for a DNS hostname" => "De input matcht niet met de verwachte structuur voor een DNS hostnaam",
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "De input lijkt een DNS hostnaam te zijn, maar past niet in het hostnaam-schema voor TLD '%tld%'",
+    "The input does not appear to be a valid local network name" => "De input lijkt geen geldige lokale netwerknaam te zijn",
+    "The input does not appear to be a valid URI hostname" => "De input blijkt geen geldige URI hostnaam te bevatten",
+    "The input appears to be an IP address, but IP addresses are not allowed" => "De input lijkt een IP adres te zijn, maar IP adressen zijn niet toegestaan",
+    "The input appears to be a local network name but local network names are not allowed" => "De input lijkt een lokale netwerknaam te zijn, welke niet zijn toegestaan",
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "De input lijkt een DNS hostnaam te zijn, maar kan niet het TLD gedeelte bepalen",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "De input lijkt een DNS hostnaam te zijn, maar het TLD bestaat niet in de lijst met bekende TLD's",
+
+    // Zend_Validator_Iban
+    "Unknown country within the IBAN" => "Onbekend land in de IBAN",
+    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Landen buiten Single Euro Payments Area (SEPA) worden niet ondersteund",
+    "The input has a false IBAN format" => "De input heeft een ongeldig IBAN formaat",
+    "The input has failed the IBAN check" => "De input is geen geldige IBAN",
+
+    // Zend_Validator_Identical
     "The two given tokens do not match" => "De twee tokens komen niet overeen",
     "No token was provided to match against" => "Er is geen token opgegeven om mee te matchen",
 
-    // Zend_Validate_InArray
-    "'%value%' was not found in the haystack" => "'%value%' kon niet worden gevonden in lijst met beschikbare waardes",
+    // Zend_Validator_InArray
+    "The input was not found in the haystack" => "De input kon niet worden gevonden in lijst met beschikbare waardes",
 
-    // Zend_Validate_Int
-    "Invalid type given, value should be string or integer" => "Ongeldig type opgegeven, waarde moet een string of integer zijn",
-    "'%value%' does not appear to be an integer" => "'%value%' lijkt geen integer te zijn",
+    // Zend_Validator_Ip
+    "Invalid type given. String expected" => "Ongeldig type gegeven, waarde moet een string zijn",
+    "The input does not appear to be a valid IP address" => "De input lijkt geen geldig IP adres te zijn",
 
-    // Zend_Validate_Ip
-    "Invalid type given, value should be a string" => "Ongeldig type gegeven, waarde moet een string zijn",
-    "'%value%' does not appear to be a valid IP address" => "'%value%' lijkt geen geldig IP adres te zijn",
+    // Zend_Validator_Isbn
+    "Invalid type given. String or integer expected" => "Ongeldig type opgegeven, waarde moet een string of integer zijn",
+    "The input is not a valid ISBN number" => "De input is geen geldig ISBN nummer",
 
-    // Zend_Validate_Isbn
-    "Invalid type given, value should be string or integer" => "Ongeldig type opgegeven, waarde moet een string of integer zijn",
-    "'%value%' is not a valid ISBN number" => "'%value%' is geen geldig ISBN nummer",
+    // Zend_Validator_LessThan
+    "The input is not less than '%max%'" => "De input is niet minder dan '%max%'",
+    "The input is not less or equal than '%max%'" => "De input is niet minder dan of gelijk aan '%max%'",
 
-    // Zend_Validate_LessThan
-    "'%value%' is not less than '%max%'" => "'%value%' is niet minder dan '%max%'",
-
-    // Zend_Validate_NotEmpty
-    "Invalid type given, value should be float, string, array, boolean or integer" => "Ongeldig type opgegeven, waarde dient een float, string, array, boolean of integer te zijn",
+    // Zend_Validator_NotEmpty
     "Value is required and can't be empty" => "Waarde is vereist en kan niet leeg worden gelaten",
+    "Invalid type given. String, integer, float, boolean or array expected" => "Ongeldig type opgegeven, waarde dient een float, string, array, boolean of integer te zijn",
 
-    // Zend_Validate_PostCode
-    "Invalid type given. The value should be a string or a integer" => "Ongeldig type opgegeven, waarde moet een string of integer zijn",
-    "'%value%' does not appear to be a postal code" => "'%value%' lijkt geen geldige postcode te zijn",
-
-    // Zend_Validate_Regex
-    "Invalid type given, value should be string, integer or float" => "Ongeldig type opgegeven, waarde dient een string, integer of float te zijn",
-    "'%value%' does not match against pattern '%pattern%'" => "'%value%' matcht niet met het patroon '%pattern%'",
+    // Zend_Validator_Regex
+    "Invalid type given. String, integer or float expected" => "Ongeldig type opgegeven, waarde dient een string, integer of float te zijn",
+    "The input does not match against pattern '%pattern%'" => "De input matcht niet met het patroon '%pattern%'",
     "There was an internal error while using the pattern '%pattern%'" => "Er is een interne fout opgetreden tijdens het gebruik van het patroon '%pattern%'",
 
-    // Zend_Validate_Sitemap_Changefreq
-    "'%value%' is not a valid sitemap changefreq" => "'%value%' is geen geldige sitemap changefreq",
-    "Invalid type given, the value should be a string" => "Ongeldig type opgegeven, waarde dient een string te zijn",
+    // Zend_Validator_Sitemap_Changefreq
+    "The input is not a valid sitemap changefreq" => "De input is geen geldige sitemap changefreq",
+    "Invalid type given. String expected" => "Ongeldig type opgegeven, waarde dient een string te zijn",
+
+    // Zend_Validator_Sitemap_Lastmod
+    "The input is not a valid sitemap lastmod" => "De input is geen geldige sitemap lastmod",
+    "Invalid type given. String expected" => "Ongeldig type opgegeven, waarde dient een string te zijn",
+
+    // Zend_Validator_Sitemap_Loc
+    "The input is not a valid sitemap location" => "De input is geen geldige sitemap locatie",
+    "Invalid type given. String expected" => "Ongeldig type opgegeven, waarde dient een string te zijn",
 
-    // Zend_Validate_Sitemap_Lastmod
-    "'%value%' is not a valid sitemap lastmod" => "'%value%' is geen geldige sitemap lastmod",
-    "Invalid type given, the value should be a string" => "Ongeldig type opgegeven, waarde dient een string te zijn",
+    // Zend_Validator_Sitemap_Priority
+    "The input is not a valid sitemap priority" => "De input is geen geldige sitemap prioriteit",
+    "Invalid type given. Numeric string, integer or float expected" => "Ongeldig type opgegeven, waarde dient een numerieke string, integer of float te zijn",
 
-    // Zend_Validate_Sitemap_Loc
-    "'%value%' is not a valid sitemap location" => "'%value%' is geen geldige sitemap locatie",
-    "Invalid type given, the value should be a string" => "Ongeldig type opgegeven, waarde dient een string te zijn",
+    // Zend_Validator_Step
+    "Invalid value given. Scalar expected" => "Ongeldige waarde opgegeven, waarde dient een scalar te zijn",
+    "The input is not a valid step" => "De input is geen geldige stap",
 
-    // Zend_Validate_Sitemap_Priority
-    "'%value%' is not a valid sitemap priority" => "'%value%' is geen geldige sitemap prioriteit",
-    "Invalid type given, the value should be a integer, a float or a numeric string" => "Ongeldig type opgegeven, waarde dient een integer, float of een numerieke string te zijn",
+    // Zend_Validator_StringLength
+    "Invalid type given. String expected" => "Ongeldig type opgegeven, waarde dient een string te zijn",
+    "The input is less than %min% characters long" => "De input is minder dan %min% tekens lang",
+    "The input is more than %max% characters long" => "De input is meer dan %max% tekens lang",
 
-    // Zend_Validate_StringLength
-    "Invalid type given, value should be a string" => "Ongeldig type opgegeven, waarde dient een string te zijn",
-    "'%value%' is less than %min% characters long" => "'%value%' is minder dan %min% tekens lang",
-    "'%value%' is more than %max% characters long" => "'%value%' is meer dan %max% tekens lang",
+    // Zend_Validator_Uri
+    "Invalid type given. String expected" => "Ongeldig type opgegeven, waarde dient een string te zijn",
+    "The input does not appear to be a valid Uri" => "De input blijkt geen geldige Uri te zijn",
 );
diff --git a/vendor/ZF2/resources/languages/pt_BR/Zend_Validate.php b/vendor/ZF2/resources/languages/pt_BR/Zend_Validate.php
index 7b52036fc9c..4a1853b92b4 100644
--- a/vendor/ZF2/resources/languages/pt_BR/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/pt_BR/Zend_Validate.php
@@ -20,16 +20,16 @@
  */
 
 /**
- * EN-Revision: 22075
+ * EN-Revision: 25.Jul.2011
  */
 return array(
     // Zend_Validate_Alnum
-    "Invalid type given, value should be float, string, or integer" => "O tipo especificado é inválido, o valor deve ser float, string, ou inteiro",
+    "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser float, string, ou inteiro",
     "'%value%' contains characters which are non alphabetic and no digits" => "'%value%' contém caracteres que não são alfabéticos e nem dígitos",
     "'%value%' is an empty string" => "'%value%' é uma string vazia",
 
     // Zend_Validate_Alpha
-    "Invalid type given, value should be a string" => "O tipo especificado é inválido, o valor deve ser uma string",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
     "'%value%' contains non alphabetic characters" => "'%value%' contém caracteres não alfabéticos",
     "'%value%' is an empty string" => "'%value%' é uma string vazia",
 
@@ -37,7 +37,7 @@ return array(
     "'%value%' failed checksum validation" => "'%value%' falhou na validação do checksum",
     "'%value%' contains invalid characters" => "'%value%' contém caracteres inválidos",
     "'%value%' should have a length of %length% characters" => "'%value%' tem um comprimento de %length% caracteres",
-    "Invalid type given, value should be string" => "O tipo especificado é inválido, o valor deve ser string",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser string",
 
     // Zend_Validate_Between
     "'%value%' is not between '%min%' and '%max%', inclusively" => "'%value%' não está entre '%min%' e '%max%', inclusivamente",
@@ -45,37 +45,37 @@ return array(
 
     // Zend_Validate_Callback
     "'%value%' is not valid" => "'%value%' não é válido",
-    "Failure within the callback, exception returned" => "Falha na chamada de retorno, exceção retornada",
+    "An exception has been raised within the callback" => "Falha na chamada de retorno, exceção retornada",
 
     // Zend_Validate_Ccnum
     "'%value%' must contain between 13 and 19 digits" => "'%value%' deve conter entre 13 e 19 dígitos",
     "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "O algoritmo de Luhn (checksum de módulo 10) falhou em '%value%'",
 
     // Zend_Validate_CreditCard
-    "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "O algoritmo de Luhn (checksum de módulo 10) falhou em '%value%'",
+    "'%value%' seems to contain an invalid checksum" => "'%value%' contém um checksum inválido",
     "'%value%' must contain only digits" => "'%value%' deve conter apenas dígitos",
-    "Invalid type given, value should be a string" => "O tipo especificado é inválido, o valor deve ser uma string",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
     "'%value%' contains an invalid amount of digits" => "'%value%' contém uma quantidade inválida de dígitos",
     "'%value%' is not from an allowed institute" => "'%value%' não vem de uma instituição autorizada",
-    "Validation of '%value%' has been failed by the service" => "A validação de '%value%' falhou por causa do serviço",
-    "The service returned a failure while validating '%value%'" => "O serviço devolveu um erro enquanto validava '%value%'",
+    "'%value%' seems to be an invalid creditcard number" => "'%value%' é um número de cartão de crédito inválido",
+    "An exception has been raised while validating '%value%'" => "O serviço devolveu um erro enquanto validava '%value%'",
 
     // Zend_Validate_Date
-    "Invalid type given, value should be string, integer, array or Zend_Date" => "O tipo especificado é inválido, o valor deve ser string, inteiro, matriz ou Zend_Date",
+    "Invalid type given. String, integer, array or Zend_Date expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro, matriz ou Zend_Date",
     "'%value%' does not appear to be a valid date" => "'%value%' não parece ser uma data válida",
     "'%value%' does not fit the date format '%format%'" => "'%value%' não se encaixa no formato de data '%format%'",
 
     // Zend_Validate_Db_Abstract
-    "No record matching %value% was found" => "Não foram encontrados registros para %value%",
-    "A record matching %value% was found" => "Um registro foi encontrado para %value%",
+    "No record matching '%value%' was found" => "Não foram encontrados registros para '%value%'",
+    "A record matching '%value%' was found" => "Um registro foi encontrado para '%value%'",
 
     // Zend_Validate_Digits
-    "Invalid type given, value should be string, integer or float" => "O tipo especificado é inválido, o valor deve ser string, inteiro ou float",
-    "'%value%' contains characters which are not digits; but only digits are allowed" => "'%value%' contém caracteres que não são dígitos, mas apenas dígitos são permitidos",
+    "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro ou float",
+    "'%value%' must contain only digits" => "'%value%' devem conter apenas dígitos",
     "'%value%' is an empty string" => "'%value%' é uma string vazia",
 
     // Zend_Validate_EmailAddress
-    "Invalid type given, value should be a string" => "O tipo especificado é inválido, o valor deve ser uma string",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
     "'%value%' is not a valid email address in the basic format local-part@hostname" => "'%value%' não é um endereço de e-mail válido no formato local-part@hostname",
     "'%hostname%' is not a valid hostname for email address '%value%'" => "'%hostname%' não é um nome de host válido para o endereço de e-mail '%value%'",
     "'%hostname%' does not appear to have a valid MX record for the email address '%value%'" => "'%hostname%' não parece ter um registro MX válido para o endereço de e-mail '%value%'",
@@ -92,23 +92,23 @@ return array(
     // Zend_Validate_File_Crc32
     "File '%value%' does not match the given crc32 hashes" => "O arquivo '%value%' não corresponde ao hash crc32 fornecido",
     "A crc32 hash could not be evaluated for the given file" => "Não foi possível avaliar um hash crc32 para o arquivo fornecido",
-    "File '%value%' could not be found" => "O arquivo '%value%' não pôde ser encontrado",
+    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
     // Zend_Validate_File_ExcludeExtension
     "File '%value%' has a false extension" => "O arquivo '%value%' possui a extensão incorreta",
-    "File '%value%' could not be found" => "O arquivo '%value%' não pôde ser encontrado",
+    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
     // Zend_Validate_File_ExcludeMimeType
     "File '%value%' has a false mimetype of '%type%'" => "O arquivo '%value%' tem o mimetype incorreto: '%type%'",
     "The mimetype of file '%value%' could not be detected" => "O mimetype do arquivo '%value%' não pôde ser detectado",
-    "File '%value%' can not be read" => "O arquivo '%value%' não pôde ser lido",
+    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
     // Zend_Validate_File_Exists
     "File '%value%' does not exist" => "O arquivo '%value%' não existe",
 
     // Zend_Validate_File_Extension
     "File '%value%' has a false extension" => "O arquivo '%value%' possui a extensão incorreta",
-    "File '%value%' could not be found" => "O arquivo '%value%' não pôde ser encontrado",
+    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
     // Zend_Validate_File_FilesSize
     "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Todos os arquivos devem ter um tamanho máximo de '%max%', mas um tamanho de '%size%' foi detectado",
@@ -118,7 +118,7 @@ return array(
     // Zend_Validate_File_Hash
     "File '%value%' does not match the given hashes" => "O arquivo '%value%' não corresponde ao hash fornecido",
     "A hash could not be evaluated for the given file" => "Não foi possível avaliar um hash para o arquivo fornecido",
-    "File '%value%' could not be found" => "O arquivo '%value%' não pôde ser encontrado",
+    "File '%value%' is not readable or does not exist"  => "O arquivo '%value%' não pode ser encontrado ou não existe",
 
     // Zend_Validate_File_ImageSize
     "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "A largura máxima permitida para a imagem '%value%' deve ser '%maxwidth%', mas '%width%' foi detectada",
@@ -126,27 +126,27 @@ return array(
     "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "A altura máxima permitida para a imagem '%value%' deve ser '%maxheight%', mas '%height%' foi detectada",
     "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "A altura mínima esperada para a imagem '%value%' deve ser '%minheight%', mas '%height%' foi detectada",
     "The size of image '%value%' could not be detected" => "O tamanho da imagem '%value%' não pôde ser detectado",
-    "File '%value%' can not be read" => "O arquivo '%value%' não pôde ser lido",
+    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
     // Zend_Validate_File_IsCompressed
     "File '%value%' is not compressed, '%type%' detected" => "O arquivo '%value%' não está compactado: '%type%' detectado",
     "The mimetype of file '%value%' could not be detected" => "O mimetype do arquivo '%value%' não pôde ser detectado",
-    "File '%value%' can not be read" => "O arquivo '%value%' não pôde ser lido",
+    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
     // Zend_Validate_File_IsImage
     "File '%value%' is no image, '%type%' detected" => "O arquivo '%value%' não é uma imagem: '%type%' detectado",
     "The mimetype of file '%value%' could not be detected" => "O mimetype do arquivo '%value%' não pôde ser detectado",
-    "File '%value%' can not be read" => "O arquivo '%value%' não pôde ser lido",
+    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
     // Zend_Validate_File_Md5
     "File '%value%' does not match the given md5 hashes" => "O arquivo '%value%' não corresponde ao hash md5 fornecido",
     "A md5 hash could not be evaluated for the given file" => "Não foi possível avaliar um hash md5 para o arquivo fornecido",
-    "File '%value%' could not be found" => "O arquivo '%value%' não pôde ser encontrado",
+    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
     // Zend_Validate_File_MimeType
     "File '%value%' has a false mimetype of '%type%'" => "O arquivo '%value%' tem o mimetype incorreto: '%type%'",
     "The mimetype of file '%value%' could not be detected" => "O mimetype do arquivo '%value%' não pôde ser detectado",
-    "File '%value%' can not be read" => "O arquivo '%value%' não pôde ser lido",
+    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
     // Zend_Validate_File_NotExists
     "File '%value%' exists" => "O arquivo '%value%' existe",
@@ -154,12 +154,12 @@ return array(
     // Zend_Validate_File_Sha1
     "File '%value%' does not match the given sha1 hashes" => "O arquivo '%value%' não corresponde ao hash sha1 fornecido",
     "A sha1 hash could not be evaluated for the given file" => "Não foi possível avaliar um hash sha1 para o arquivo fornecido",
-    "File '%value%' could not be found" => "O arquivo '%value%' não pôde ser encontrado",
+    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
     // Zend_Validate_File_Size
     "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "O tamanho máximo permitido para o arquivo '%value%' é '%max%', mas '%size%' foram detectados",
     "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "O tamanho mínimo esperado para o arquivo '%value%' é '%min%', mas '%size%' foram detectados",
-    "File '%value%' could not be found" => "O arquivo '%value%' não pôde ser encontrado",
+    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
     // Zend_Validate_File_Upload
     "File '%value%' exceeds the defined ini size" => "O arquivo '%value%' excede o tamanho definido na configuração",
@@ -176,21 +176,21 @@ return array(
     // Zend_Validate_File_WordCount
     "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Há muitas palavras, são permitidas no máximo '%max%', mas '%count%' foram contadas",
     "Too less words, minimum '%min%' are expected but '%count%' were counted" => "Há poucas palavras, são esperadas no mínimo '%min%', mas '%count%' foram contadas",
-    "File '%value%' could not be found" => "O arquivo '%value%' não pôde ser encontrado",
+    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
     // Zend_Validate_Float
-    "Invalid type given, value should be float, string, or integer" => "O tipo especificado é inválido, o valor deve ser float, string, ou inteiro",
+    "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser float, string, ou inteiro",
     "'%value%' does not appear to be a float" => "'%value%' não parece ser um float",
 
     // Zend_Validate_GreaterThan
     "'%value%' is not greater than '%min%'" => "'%value%' não é maior que '%min%'",
 
     // Zend_Validate_Hex
-    "Invalid type given, value should be a string" => "O tipo especificado é inválido, o valor deve ser uma string",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
     "'%value%' has not only hexadecimal digit characters" => "'%value%' não contém somente caracteres hexadecimais",
 
     // Zend_Validate_Hostname
-    "Invalid type given, value should be a string" => "O tipo especificado é inválido, o valor deve ser uma string",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
     "'%value%' appears to be an IP address, but IP addresses are not allowed" => "'%value%' parece ser um endereço de IP, mas endereços de IP não são permitidos",
     "'%value%' appears to be a DNS hostname but cannot match TLD against known list" => "'%value%' parece ser um hostname de DNS, mas o TLD não corresponde a nenhum TLD conhecido",
     "'%value%' appears to be a DNS hostname but contains a dash in an invalid position" => "'%value%' parece ser um hostname de DNS, mas contém um traço em uma posição inválida",
@@ -200,6 +200,7 @@ return array(
     "'%value%' does not appear to be a valid local network name" => "'%value%' não parece ser um nome de rede local válido",
     "'%value%' appears to be a local network name but local network names are not allowed" => "'%value%' parece ser um nome de rede local, mas os nomes de rede local não são permitidos",
     "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded" => "'%value%' parece ser um hostname de DNS, mas a notação punycode fornecida não pode ser decodificada",
+    "'%value%' does not appear to be a valid URI hostname" => "'%value%' não parece ser um URI hostname válido",
 
     // Zend_Validate_Iban
     "Unknown country within the IBAN '%value%'" => "País desconhecido para o IBAN '%value%'",
@@ -214,51 +215,51 @@ return array(
     "'%value%' was not found in the haystack" => "'%value%' não faz parte dos valores esperados",
 
     // Zend_Validate_Int
-    "Invalid type given, value should be string or integer" => "O tipo especificado é inválido, o valor deve ser string ou inteiro",
+    "Invalid type given. String or integer expected" => "O tipo especificado é inválido, o valor deve ser string ou inteiro",
     "'%value%' does not appear to be an integer" => "'%value%' não parece ser um número inteiro",
 
     // Zend_Validate_Ip
-    "Invalid type given, value should be a string" => "O tipo especificado é inválido, o valor deve ser uma string",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
     "'%value%' does not appear to be a valid IP address" => "'%value%' não parece ser um endereço de IP válido",
 
     // Zend_Validate_Isbn
-    "Invalid type given, value should be string or integer" => "O tipo especificado é inválido, o valor deve ser string ou inteiro",
+    "Invalid type given. String or integer expected" => "O tipo especificado é inválido, o valor deve ser string ou inteiro",
     "'%value%' is not a valid ISBN number" => "'%value%' não é um número ISBN válido",
 
     // Zend_Validate_LessThan
     "'%value%' is not less than '%max%'" => "'%value%' não é menor que '%max%'",
 
     // Zend_Validate_NotEmpty
-    "Invalid type given, value should be float, string, array, boolean or integer" => "O tipo especificado é inválido, o valor deve ser float, string, matriz, booleano ou inteiro",
+    "Invalid type given. String, integer, float, boolean or array expected" => "O tipo especificado é inválido, o valor deve ser float, string, matriz, booleano ou inteiro",
     "Value is required and can't be empty" => "O valor é obrigatório e não pode estar vazio",
 
     // Zend_Validate_PostCode
-    "Invalid type given. The value should be a string or a integer" => "O tipo especificado é inválido. O valor deve ser uma string ou um inteiro",
+    "Invalid type given. String or integer expected" => "O tipo especificado é inválido. O valor deve ser uma string ou um inteiro",
     "'%value%' does not appear to be a postal code" => "'%value%' não parece ser um código postal",
 
     // Zend_Validate_Regex
-    "Invalid type given, value should be string, integer or float" => "O tipo especificado é inválido, o valor deve ser string, inteiro ou float",
+    "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro ou float",
     "'%value%' does not match against pattern '%pattern%'" => "'%value%' não corresponde ao padrão '%pattern%'",
     "There was an internal error while using the pattern '%pattern%'" => "Houve um erro interno durante o uso do padrão '%pattern%'",
 
     // Zend_Validate_Sitemap_Changefreq
     "'%value%' is not a valid sitemap changefreq" => "'%value%' não é um changefreq de sitemap válido",
-    "Invalid type given, the value should be a string" => "O tipo especificado é inválido, o valor deve ser uma string",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
 
     // Zend_Validate_Sitemap_Lastmod
     "'%value%' is not a valid sitemap lastmod" => "'%value%' não é um lastmod de sitemap válido",
-    "Invalid type given, the value should be a string" => "O tipo especificado é inválido, o valor deve ser uma string",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
 
     // Zend_Validate_Sitemap_Loc
     "'%value%' is not a valid sitemap location" => "'%value%' não é uma localização de sitemap válida",
-    "Invalid type given, the value should be a string" => "O tipo especificado é inválido, o valor deve ser uma string",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
 
     // Zend_Validate_Sitemap_Priority
     "'%value%' is not a valid sitemap priority" => "'%value%' não é uma prioridade de sitemap válida",
-    "Invalid type given, the value should be a integer, a float or a numeric string" => "O tipo especificado é inválido, o valor deve ser um inteiro, um float ou uma string numérica",
+    "Invalid type given. Numeric string, integer or float expected" => "O tipo especificado é inválido, o valor deve ser um inteiro, um float ou uma string numérica",
 
     // Zend_Validate_StringLength
-    "Invalid type given, value should be a string" => "O tipo especificado é inválido, o valor deve ser uma string",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
     "'%value%' is less than %min% characters long" => "O tamanho de '%value%' é inferior a %min% caracteres",
     "'%value%' is more than %max% characters long" => "O tamanho de '%value%' é superior a %max% caracteres",
 );
-- 
GitLab