diff --git a/composer.json b/composer.json
index b1fd7892dd16173b7c75dd42a39494606db12f74..ca9defae21a3bfe70000d1aa3f8bf2aa718b1003 100644
--- a/composer.json
+++ b/composer.json
@@ -58,7 +58,7 @@
         "pear-pear.php.net/validate_ispn": "*",
         "serialssolutions/summon": "dev-master",
         "symfony/yaml": "*",
-        "zendframework/zendframework": "2.2.2",
+        "zendframework/zendframework": "2.2.4",
         "zendframework/zendrest": "2.*",
         "zendframework/zendservice-amazon": "2.*"
     }
diff --git a/composer.lock b/composer.lock
index 41ae5fc549844955c29adf83da888bdce1ae4447..41b2d83167108363f3c11defdc3412319f0c466a 100644
--- a/composer.lock
+++ b/composer.lock
@@ -3,7 +3,7 @@
         "This file locks the dependencies of your project to a known state",
         "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file"
     ],
-    "hash": "491fdb42e52e4e1f5c562c15af39febf",
+    "hash": "10db919570986743f7e37b8dfec2723a",
     "packages": [
         {
             "name": "johnwohlers/sip2",
@@ -368,17 +368,17 @@
         },
         {
             "name": "zendframework/zendframework",
-            "version": "2.2.2",
+            "version": "2.2.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/zendframework/zf2.git",
-                "reference": "7469e0ca45e55f6179cea109e7d4e210ba9b2b10"
+                "reference": "5b03d868755c181fc9b5dc56c1f8c26e73ca0bed"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://packages.zendframework.com/composer/zendframework-zendframework-7469e0ca45e55f6179cea109e7d4e210ba9b2b10-zip-bb08c0.zip",
-                "reference": "2.2.2",
-                "shasum": "3f6fc92c3c428f37f9ef2fde78c58551ca718dfd"
+                "url": "https://packages.zendframework.com/composer/zendframework-zendframework-5b03d868755c181fc9b5dc56c1f8c26e73ca0bed-zip-8b1552.zip",
+                "reference": "2.2.4",
+                "shasum": "f12b12d23c937b8cbd246c6fa56c07fb1df34cb0"
             },
             "require": {
                 "php": ">=5.3.3"
@@ -478,10 +478,10 @@
                 "zf2"
             ],
             "support": {
-                "source": "https://github.com/zendframework/zf2/tree/release-2.2.2",
+                "source": "https://github.com/zendframework/zf2/tree/release-2.2.4",
                 "issues": "https://github.com/zendframework/zf2/issues"
             },
-            "time": "2013-07-24 14:02:19"
+            "time": "2013-08-26 15:09:04"
         },
         {
             "name": "zendframework/zendrest",
diff --git a/vendor/autoload.php b/vendor/autoload.php
index d965d44fd94a5fa1325c355a06340c38f552e466..a661aedc9c223bc8741e847837560586528a42f8 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer' . '/autoload_real.php';
 
-return ComposerAutoloaderInitd4dc7abf7910770a4d1ce5bcecd7c1d7::getLoader();
+return ComposerAutoloaderInitaec65b43a735a3fce340c9d3be33819e::getLoader();
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index eb58b54db49ac25ba146d94d8f69a642071e637c..a1b29e5bff3a06362c7b118cf6f288c907353320 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php generated by Composer
 
-class ComposerAutoloaderInitd4dc7abf7910770a4d1ce5bcecd7c1d7
+class ComposerAutoloaderInitaec65b43a735a3fce340c9d3be33819e
 {
     private static $loader;
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitd4dc7abf7910770a4d1ce5bcecd7c1d7
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInitd4dc7abf7910770a4d1ce5bcecd7c1d7', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInitaec65b43a735a3fce340c9d3be33819e', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInitd4dc7abf7910770a4d1ce5bcecd7c1d7', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInitaec65b43a735a3fce340c9d3be33819e', 'loadClassLoader'));
 
         $vendorDir = dirname(__DIR__);
         $baseDir = dirname($vendorDir);
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index eff2f1151c2264d289b63a71c3a60ab485d0d397..50fb2fa6b91a136e5fc77b23ae25ee24a04384e7 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -494,18 +494,18 @@
     },
     {
         "name": "zendframework/zendframework",
-        "version": "2.2.2",
-        "version_normalized": "2.2.2.0",
+        "version": "2.2.4",
+        "version_normalized": "2.2.4.0",
         "source": {
             "type": "git",
             "url": "https://github.com/zendframework/zf2.git",
-            "reference": "7469e0ca45e55f6179cea109e7d4e210ba9b2b10"
+            "reference": "5b03d868755c181fc9b5dc56c1f8c26e73ca0bed"
         },
         "dist": {
             "type": "zip",
-            "url": "https://packages.zendframework.com/composer/zendframework-zendframework-7469e0ca45e55f6179cea109e7d4e210ba9b2b10-zip-bb08c0.zip",
-            "reference": "2.2.2",
-            "shasum": "3f6fc92c3c428f37f9ef2fde78c58551ca718dfd"
+            "url": "https://packages.zendframework.com/composer/zendframework-zendframework-5b03d868755c181fc9b5dc56c1f8c26e73ca0bed-zip-8b1552.zip",
+            "reference": "2.2.4",
+            "shasum": "f12b12d23c937b8cbd246c6fa56c07fb1df34cb0"
         },
         "require": {
             "php": ">=5.3.3"
@@ -578,7 +578,7 @@
             "zendframework/zendpdf": "ZendPdf for creating PDF representations of barcodes",
             "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha for rendering ReCaptchas in Zend\\Captcha and/or Zend\\Form"
         },
-        "time": "2013-07-24 14:02:19",
+        "time": "2013-08-26 15:09:04",
         "bin": [
             "bin/classmap_generator.php",
             "bin/pluginmap_generator.php",
@@ -607,7 +607,7 @@
             "zf2"
         ],
         "support": {
-            "source": "https://github.com/zendframework/zf2/tree/release-2.2.2",
+            "source": "https://github.com/zendframework/zf2/tree/release-2.2.4",
             "issues": "https://github.com/zendframework/zf2/issues"
         }
     }
diff --git a/vendor/zendframework/zendframework/CHANGELOG.md b/vendor/zendframework/zendframework/CHANGELOG.md
index 3e95fe2a857967b423e68fdfbf14475b37b73705..72b55e2a29e2529bb8dcdfb286e72a6f317fe27b 100644
--- a/vendor/zendframework/zendframework/CHANGELOG.md
+++ b/vendor/zendframework/zendframework/CHANGELOG.md
@@ -1,5 +1,40 @@
 # CHANGELOG
 
+## 2.2.4 (2013-08-26)
+
+- [5008: deprecated feature in classmap generator](https://github.com/zendframework/zf2/issues/5008)
+- [5015: Allow set Form::setPreferFormInputFilter via options](https://github.com/zendframework/zf2/issues/5015)
+- [5028: Fix forms regression introduced in 2.2.3](https://github.com/zendframework/zf2/issues/5028)
+
+## 2.2.3 (2013-08-21):
+
+- [4851: allow usage of validator and filter plugin managers in input filter factory if form manager injected](https://github.com/zendframework/zf2/issues/4851)
+- [4868: Tests for issue with unexpected injection.](https://github.com/zendframework/zf2/issues/4868)
+- [4877: Validator\File tests throwing errors in custom PHP 5.3.10 distributions](https://github.com/zendframework/zf2/issues/4877)
+- [4878: Form element title attribute test](https://github.com/zendframework/zf2/issues/4878)
+- [4881: Update Validator translations](https://github.com/zendframework/zf2/issues/4881)
+- [4883: Update Zend_Validate.php](https://github.com/zendframework/zf2/issues/4883)
+- [4893: Resolves warning raised when version is not matched.](https://github.com/zendframework/zf2/issues/4893)
+- [4895: Small fix for ZendTest\Form\FormTest method name](https://github.com/zendframework/zf2/issues/4895)
+- [4897: Support file stream](https://github.com/zendframework/zf2/issues/4897)
+- [4905: Update Statement.php](https://github.com/zendframework/zf2/issues/4905)
+- [4909: renamed test class according to psr-0](https://github.com/zendframework/zf2/issues/4909)
+- [4915: Dependency suggest for MVC plugins](https://github.com/zendframework/zf2/issues/4915)
+- [4919: Notices being triggered when hydrating classes with no properties with the reflection hydrator](https://github.com/zendframework/zf2/issues/4919)
+- [4920: Redundant conditional](https://github.com/zendframework/zf2/issues/4920)
+- [4922: remove unused $typeFormats property at Zend/Code/Generator/DocBlock/Tag.php](https://github.com/zendframework/zf2/issues/4922)
+- [4925: HttpClient: adapter always reachable through getter if specified on contructor](https://github.com/zendframework/zf2/issues/4925)
+- [4929: Add Zend\Uri as a suggest because it is required by the Uri & Sitemap\Loc validator](https://github.com/zendframework/zf2/issues/4929)
+- [4934: Mime\Message: createFromString: decode transfer encoding](https://github.com/zendframework/zf2/issues/4934)
+- [4957: Undefined variable: class in Zend/ModuleManager/Listener/ServiceListener.php](https://github.com/zendframework/zf2/issues/4957)
+- [4966: Fix issue #4952](https://github.com/zendframework/zf2/issues/4966)
+- [4976: Applied trim and strtolower to Gravatar email per Gravatar docs: https://en.gravatar.com/site/implement/hash/](https://github.com/zendframework/zf2/issues/4976)
+- [4978: added missing docblock for "@link", "@copyright", and "@license" and fix wrong namespace according PSR-0](https://github.com/zendframework/zf2/issues/4978)
+- [4981: Revise docblocks in Zend\Session\ContainerAbstractServiceFactory](https://github.com/zendframework/zf2/issues/4981)
+- [4988: [Zend-Code\ Fix Code Generation for non namespace classes](https://github.com/zendframework/zf2/issues/4988)
+- [4990: [Zend-Code\ Make sure that a use is only added once in ClassGenerator](https://github.com/zendframework/zf2/issues/4990)
+- [4996: BaseInputFilter->add deasn't work (Form Validation breaks since 2.2)](https://github.com/zendframework/zf2/issues/4996)
+
 ## 2.2.2 (2013-07-24):
 
 - [4105: Method "headLink" does not exist](https://github.com/zendframework/zf2/issues/4105)
diff --git a/vendor/zendframework/zendframework/README.md b/vendor/zendframework/zendframework/README.md
index 58121ad7b552f2e511973f86aba3ee761742f502..f985d4b07ecd4c26d056a3c7540cafb6553ecf5c 100644
--- a/vendor/zendframework/zendframework/README.md
+++ b/vendor/zendframework/zendframework/README.md
@@ -5,13 +5,23 @@ Develop: [![Build Status](https://secure.travis-ci.org/zendframework/zf2.png?bra
 
 ## RELEASE INFORMATION
 
-*Zend Framework 2.2.2*
+*Zend Framework 2.2.4*
 
-This is the second maintenance release for the 2.2 series.
+This is the fourth maintenance release for the 2.2 series.
 
-24 Jul 2013
+26 Aug 2013
 
-### UPDATES IN 2.2.2
+### UPDATES IN 2.2.4
+
+This release fixes a regression introduced in 2.2.3 to the Form component.
+
+Basically, a fix included in 2.2.3 created a situation that enforced the
+`preferFormInputFilter` flag; prior to 2.2.3, the code acted as if it the flag
+was enabled, but as a side effect of several bugs.
+
+2.2.4 enables the flag by default, which restores the previous behavior, while
+retaining the fixes to 2.2.3. Additionally, the flag may now be set via form
+options passed either to a factory or to the `setOptions()` method.
 
 Please see [CHANGELOG.md](CHANGELOG.md).
 
diff --git a/vendor/zendframework/zendframework/bin/classmap_generator.php b/vendor/zendframework/zendframework/bin/classmap_generator.php
index ea3f8d6031097a4076d764e6165ec1e15fab7901..bfd5eb8ff6ff81ecc45288a4e1bb52b2beeaf5dc 100755
--- a/vendor/zendframework/zendframework/bin/classmap_generator.php
+++ b/vendor/zendframework/zendframework/bin/classmap_generator.php
@@ -228,7 +228,13 @@ foreach ($matches as $match) {
     $maxWidth = max($maxWidth, strlen($match[1]));
 }
 
-$content = preg_replace('(\n\s+([^=]+)=>)e', "'\n    \\1' . str_repeat(' ', " . $maxWidth . " - strlen('\\1')) . '=>'", $content);
+$content = preg_replace_callback(
+    '(\n\s+([^=]+)=>)',
+    function ($match) use ($maxWidth) {
+        return "\n  " . $match[1] . str_repeat(" ", $maxWidth - strlen($match[1])) . '=>';
+    },
+    $content
+);
 
 // Make the file end by EOL
 $content = rtrim($content, "\n") . "\n";
diff --git a/vendor/zendframework/zendframework/library/Zend/Code/Generator/ClassGenerator.php b/vendor/zendframework/zendframework/library/Zend/Code/Generator/ClassGenerator.php
index 80eedaa915124d2f7018713b796226deae647b39..1d3dc6232de9c1cd477f2c542a01d8a543e360fb 100644
--- a/vendor/zendframework/zendframework/library/Zend/Code/Generator/ClassGenerator.php
+++ b/vendor/zendframework/zendframework/library/Zend/Code/Generator/ClassGenerator.php
@@ -118,7 +118,8 @@ class ClassGenerator extends AbstractGenerator
 
         $methods = array();
         foreach ($classReflection->getMethods() as $reflectionMethod) {
-            if ($reflectionMethod->getDeclaringClass()->getName() == $cg->getNamespaceName() . "\\" . $cg->getName()) {
+            $className = ($cg->getNamespaceName())? $cg->getNamespaceName() . "\\" . $cg->getName() : $cg->getName();
+            if ($reflectionMethod->getDeclaringClass()->getName() == $className) {
                 $methods[] = MethodGenerator::fromReflection($reflectionMethod);
             }
         }
@@ -490,7 +491,7 @@ class ClassGenerator extends AbstractGenerator
             $use .= ' as ' . $useAlias;
         }
 
-        $this->uses[] = $use;
+        $this->uses[$use] = $use;
         return $this;
     }
 
@@ -524,7 +525,7 @@ class ClassGenerator extends AbstractGenerator
      */
     public function getUses()
     {
-        return $this->uses;
+        return array_values($this->uses);
     }
 
     /**
diff --git a/vendor/zendframework/zendframework/library/Zend/Code/Generator/DocBlock/Tag.php b/vendor/zendframework/zendframework/library/Zend/Code/Generator/DocBlock/Tag.php
index 4b0c2ace34382e8b1707022c080fa565d87f014e..e5426bf8feff03a1a990fc82b513539ffc060591 100644
--- a/vendor/zendframework/zendframework/library/Zend/Code/Generator/DocBlock/Tag.php
+++ b/vendor/zendframework/zendframework/library/Zend/Code/Generator/DocBlock/Tag.php
@@ -16,24 +16,6 @@ use Zend\Code\Reflection\DocBlock\Tag\TagInterface as ReflectionDocBlockTag;
 
 class Tag extends AbstractGenerator
 {
-    /**
-     * @var array
-     */
-    protected static $typeFormats = array(
-        array(
-            'param',
-            '@param <type> <variable> <description>'
-        ),
-        array(
-            'return',
-            '@return <type> <description>'
-        ),
-        array(
-            'tag',
-            '@<name> <description>'
-        )
-    );
-
     /**
      * @var string
      */
diff --git a/vendor/zendframework/zendframework/library/Zend/Code/Generator/ParameterGenerator.php b/vendor/zendframework/zendframework/library/Zend/Code/Generator/ParameterGenerator.php
index f85d7d4c944efd5151a1b627685a2419dd322389..f9269fee47c4197f50bfdda085d63909643d4026 100644
--- a/vendor/zendframework/zendframework/library/Zend/Code/Generator/ParameterGenerator.php
+++ b/vendor/zendframework/zendframework/library/Zend/Code/Generator/ParameterGenerator.php
@@ -64,8 +64,12 @@ class ParameterGenerator extends AbstractGenerator
                 $parameterType = $typeClass->getName();
                 $currentNamespace = $reflectionParameter->getDeclaringClass()->getNamespaceName();
 
-                if (substr($parameterType, 0, strlen($currentNamespace)) == $currentNamespace) {
-                    $parameterType = substr($parameterType, strlen($currentNamespace)+1);
+                if (!empty($currentNamespace)) {
+                    if (substr($parameterType, 0, strlen($currentNamespace)) == $currentNamespace) {
+                        $parameterType = substr($parameterType, strlen($currentNamespace) + 1);
+                    }
+                } else {
+                    $parameterType = '\\' . trim($parameterType, '\\');
                 }
 
                 $param->setType($parameterType);
diff --git a/vendor/zendframework/zendframework/library/Zend/Config/Factory.php b/vendor/zendframework/zendframework/library/Zend/Config/Factory.php
index 39b162a4bc0de692cf5a18a40fd655bb82d01525..d00a6abcd8713d46685876e1c5ef213565174976 100644
--- a/vendor/zendframework/zendframework/library/Zend/Config/Factory.php
+++ b/vendor/zendframework/zendframework/library/Zend/Config/Factory.php
@@ -142,8 +142,8 @@ class Factory
             );
         }
 
-        $extension          = substr(strrchr($filename, '.'), 1);
-        $directory          = dirname($filename);
+        $extension = substr(strrchr($filename, '.'), 1);
+        $directory = dirname($filename);
 
         if (!is_dir($directory)) {
             throw new Exception\RuntimeException(
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Mysqli/Statement.php b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Mysqli/Statement.php
index 2ca9f4302ebf2f465e00ed3c83fc742c4e234e54..a3184f6c2520294da687add2f8e7022d74b3b820 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Mysqli/Statement.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Driver/Mysqli/Statement.php
@@ -204,7 +204,7 @@ class Statement implements StatementInterface, Profiler\ProfilerAwareInterface
 
         $sql = ($sql) ?: $this->sql;
 
-        $this->resource = $this->mysqli->prepare($this->sql);
+        $this->resource = $this->mysqli->prepare($sql);
         if (!$this->resource instanceof \mysqli_stmt) {
             throw new Exception\InvalidQueryException(
                 'Statement couldn\'t be produced with sql: ' . $sql,
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Profiler/Profiler.php b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Profiler/Profiler.php
index 504f82268d02684f7b2deda3b820339398476fb3..8a0c6d2b32ecfb9848ed57a518c064f56bbea92f 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Profiler/Profiler.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Profiler/Profiler.php
@@ -1,4 +1,11 @@
 <?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
 
 namespace Zend\Db\Adapter\Profiler;
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Profiler/ProfilerAwareInterface.php b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Profiler/ProfilerAwareInterface.php
index 189e1c568c2b8c257e05e421919f92e639b0feb0..e55c1e45a822100753dbf60c32821cbbce1daf61 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Profiler/ProfilerAwareInterface.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Profiler/ProfilerAwareInterface.php
@@ -1,4 +1,11 @@
 <?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
 
 namespace Zend\Db\Adapter\Profiler;
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Profiler/ProfilerInterface.php b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Profiler/ProfilerInterface.php
index 7016c814a38eb60f658ce31179ef090d047dcada..65e71b756dbf07bb9207d0461f3f483fa0b3bfde 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Profiler/ProfilerInterface.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Profiler/ProfilerInterface.php
@@ -1,4 +1,11 @@
 <?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
 
 namespace Zend\Db\Adapter\Profiler;
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Sql/Literal.php b/vendor/zendframework/zendframework/library/Zend/Db/Sql/Literal.php
index 48722b1bcb73ef139b76649d03e36529df8c547e..5b12adf758d6dcec0a8f3d9dc976060ed054f5e6 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/Sql/Literal.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Sql/Literal.php
@@ -1,4 +1,11 @@
 <?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
 
 namespace Zend\Db\Sql;
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/Literal.php b/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/Literal.php
index 0734003b0b134dc52f8a6d37cc005db5bae71bf5..b50dc6fe18419854244d56d5155722643172a5bf 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/Literal.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Sql/Predicate/Literal.php
@@ -1,4 +1,11 @@
 <?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
 
 namespace Zend\Db\Sql\Predicate;
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Di/Di.php b/vendor/zendframework/zendframework/library/Zend/Di/Di.php
index d7700196b1e41490044d4e3a31e1bee0fa464747..aa440dcd959be2c4b2094c3d2626a039113c0a34 100644
--- a/vendor/zendframework/zendframework/library/Zend/Di/Di.php
+++ b/vendor/zendframework/zendframework/library/Zend/Di/Di.php
@@ -600,6 +600,17 @@ class Di implements DependencyInjectionInterface
 
         if ($requestedClass != $class && $this->instanceManager->hasConfig($requestedClass)) {
             $iConfig['requestedClass'] = $this->instanceManager->getConfig($requestedClass);
+
+            if (array_key_exists('parameters', $iConfig['requestedClass'])) {
+                $newParameters = array();
+
+                foreach($iConfig['requestedClass']['parameters'] as $name=>$parameter) {
+                    $newParameters[$requestedClass.'::'.$method.'::'.$name] = $parameter;
+                }
+
+                $iConfig['requestedClass']['parameters'] = $newParameters;
+            }
+
             if ($requestedAlias) {
                 $iConfig['requestedAlias'] = $this->instanceManager->getConfig($requestedAlias);
             }
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/Form.php b/vendor/zendframework/zendframework/library/Zend/Form/Form.php
index b79658ffdb7e051e228ae0451b8a637380bf68ce..0145b58b13a385037076f6851915c700de8cff2c 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/Form.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/Form.php
@@ -106,7 +106,7 @@ class Form extends Fieldset implements FormInterface
      *
      * @var bool
      */
-    protected $preferFormInputFilter = false;
+    protected $preferFormInputFilter = true;
 
     /**
      * Are the form elements/fieldsets wrapped by the form name ?
@@ -122,6 +122,26 @@ class Form extends Fieldset implements FormInterface
      */
     protected $validationGroup;
 
+
+    /**
+     * Set options for a form. Accepted options are:
+     * - prefer_form_input_filter: is form input filter is preferred?
+     *
+     * @param  array|Traversable $options
+     * @return Element|ElementInterface
+     * @throws Exception\InvalidArgumentException
+     */
+    public function setOptions($options)
+    {
+        parent::setOptions($options);
+
+        if (isset($options['prefer_form_input_filter'])) {
+            $this->setPreferFormInputFilter($options['prefer_form_input_filter']);
+        }
+
+        return $this;
+    }
+
     /**
      * Add an element or fieldset
      *
@@ -717,13 +737,6 @@ class Form extends Fieldset implements FormInterface
         $formFactory  = $this->getFormFactory();
         $inputFactory = $formFactory->getInputFilterFactory();
 
-        if ($fieldset === $this && $fieldset instanceof InputFilterProviderInterface) {
-            foreach ($fieldset->getInputFilterSpecification() as $name => $spec) {
-                $input = $inputFactory->createInput($spec);
-                $inputFilter->add($input, $name);
-            }
-        }
-
         if ($fieldset instanceof Collection && $fieldset->getTargetElement() instanceof FieldsetInterface) {
             $elements = $fieldset->getTargetElement()->getElements();
         } else {
@@ -752,6 +765,13 @@ class Form extends Fieldset implements FormInterface
                 $input = $inputFactory->createInput($spec);
                 $inputFilter->add($input, $name);
             }
+
+            if ($fieldset instanceof InputFilterProviderInterface) {
+                foreach ($fieldset->getInputFilterSpecification() as $name => $spec) {
+                    $input = $inputFactory->createInput($spec);
+                    $inputFilter->add($input, $name);
+                }
+            }
         }
 
         foreach ($fieldset->getFieldsets() as $childFieldset) {
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/FormElementManager.php b/vendor/zendframework/zendframework/library/Zend/Form/FormElementManager.php
index fc7561f7b12d8997455defba70a990fed796cb0e..679c89b344267cee750e9eab44e7fc39a5999176 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/FormElementManager.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/FormElementManager.php
@@ -123,4 +123,62 @@ class FormElementManager extends AbstractPluginManager
             (is_object($plugin) ? get_class($plugin) : gettype($plugin))
         ));
     }
+
+    /**
+     * Retrieve a service from the manager by name
+     *
+     * Allows passing an array of options to use when creating the instance.
+     * createFromInvokable() will use these and pass them to the instance
+     * constructor if not null and a non-empty array.
+     *
+     * @param  string $name
+     * @param  string|array $options
+     * @param  bool $usePeeringServiceManagers
+     * @return object
+     */
+    public function get($name, $options = array(), $usePeeringServiceManagers = true)
+    {
+        if (is_string($options)) {
+            $options = array('name' => $options);
+        }
+        return parent::get($name, $options, $usePeeringServiceManagers);
+    }
+
+    /**
+     * Attempt to create an instance via an invokable class
+     *
+     * Overrides parent implementation by passing $creationOptions to the
+     * constructor, if non-null.
+     *
+     * @param  string $canonicalName
+     * @param  string $requestedName
+     * @return null|\stdClass
+     * @throws Exception\ServiceNotCreatedException If resolved class does not exist
+     */
+    protected function createFromInvokable($canonicalName, $requestedName)
+    {
+        $invokable = $this->invokableClasses[$canonicalName];
+
+        if (null === $this->creationOptions
+            || (is_array($this->creationOptions) && empty($this->creationOptions))
+        ) {
+            $instance = new $invokable();
+        } else {
+            if (isset($this->creationOptions['name'])) {
+                $name = $this->creationOptions['name'];
+            } else {
+                $name = $requestedName;
+            }
+
+            if (isset($this->creationOptions['options'])) {
+                $options = $this->creationOptions['options'];
+            } else {
+                $options = $this->creationOptions;
+            }
+
+            $instance = new $invokable($name, $options);
+        }
+
+        return $instance;
+    }
 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/AbstractHelper.php b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/AbstractHelper.php
index cfeba98aa79fb755f7a976624e783c6c7a9915f4..373d0a2cd734e6875cfbf318f03d2b73306851af 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/AbstractHelper.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/AbstractHelper.php
@@ -42,7 +42,8 @@ abstract class AbstractHelper extends BaseAbstractHelper
      * @var array
      */
     protected $translatableAttributes = array(
-        'placeholder' => true
+        'placeholder' => true,
+        'title' => true,
     );
 
     /**
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Client.php b/vendor/zendframework/zendframework/library/Zend/Http/Client.php
index 6af9539b018b59fe49b632e6509d9a0f99240edc..be3790477ec212a48758602d75ec09d4e401a608 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Client.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Client.php
@@ -205,6 +205,10 @@ class Client implements Stdlib\DispatchableInterface
      */
     public function getAdapter()
     {
+        if (! $this->adapter) {
+            $this->setAdapter($this->config['adapter']);
+        }
+
         return $this->adapter;
     }
 
@@ -812,10 +816,7 @@ class Client implements Stdlib\DispatchableInterface
         $this->redirectCounter = 0;
         $response = null;
 
-        // Make sure the adapter is loaded
-        if ($this->adapter == null) {
-            $this->setAdapter($this->config['adapter']);
-        }
+        $adapter = $this->getAdapter();
 
         // Send the first request. If redirected, continue.
         do {
@@ -868,7 +869,7 @@ class Client implements Stdlib\DispatchableInterface
             }
 
             // check that adapter supports streaming before using it
-            if (is_resource($body) && !($this->adapter instanceof Client\Adapter\StreamInterface)) {
+            if (is_resource($body) && !($adapter instanceof Client\Adapter\StreamInterface)) {
                 throw new Client\Exception\RuntimeException('Adapter does not support streaming');
             }
 
@@ -896,7 +897,7 @@ class Client implements Stdlib\DispatchableInterface
                     rewind($stream);
                 }
                 // cleanup the adapter
-                $this->adapter->setOutputStream(null);
+                $adapter->setOutputStream(null);
                 $response = Response\Stream::fromStream($response, $stream);
                 $response->setStreamName($this->streamName);
                 if (!is_string($this->config['outputstream'])) {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Client/Adapter/Curl.php b/vendor/zendframework/zendframework/library/Zend/Http/Client/Adapter/Curl.php
index 08d82271138f8caf42f267f117318fc14bb1b73b..4f911db583f77b29af09aff6737e2a357a1daa39 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Client/Adapter/Curl.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Client/Adapter/Curl.php
@@ -278,17 +278,15 @@ class Curl implements HttpAdapter, StreamInterface
                 if (isset($this->config['curloptions'][CURLOPT_INFILE])) {
                     // Now we will probably already have Content-Length set, so that we have to delete it
                     // from $headers at this point:
-                    foreach ($headers AS $k => $header) {
-                        if (preg_match('/Content-Length:\s*(\d+)/i', $header, $m)) {
-                            if (is_resource($body)) {
-                                $this->config['curloptions'][CURLOPT_INFILESIZE] = (int) $m[1];
-                            }
-                            unset($headers[$k]);
-                        }
+                    if (!isset($headers['Content-Length'])
+                        && !isset($this->config['curloptions'][CURLOPT_INFILESIZE])
+                    ) {
+                        throw new AdapterException\RuntimeException("Cannot set a file-handle for cURL option CURLOPT_INFILE without also setting its size in CURLOPT_INFILESIZE.");
                     }
 
-                    if (!isset($this->config['curloptions'][CURLOPT_INFILESIZE])) {
-                        throw new AdapterException\RuntimeException("Cannot set a file-handle for cURL option CURLOPT_INFILE without also setting its size in CURLOPT_INFILESIZE.");
+                    if (isset($headers['Content-Length'])) {
+                        $this->config['curloptions'][CURLOPT_INFILESIZE] = (int) $headers['Content-Length'];
+                        unset($headers['Content-Length']);
                     }
 
                     if (is_resource($body)) {
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Request.php b/vendor/zendframework/zendframework/library/Zend/Http/Request.php
index df568f104e8bc74dcaa7dd45ece9a03c47d6b084..3740b711312646265fd86daae14ff26f77d841b6 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Request.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Request.php
@@ -93,7 +93,7 @@ class Request extends AbstractMessage implements RequestInterface
         $request->setMethod($matches['method']);
         $request->setUri($matches['uri']);
 
-        if ($matches['version']) {
+        if (isset($matches['version'])) {
             $request->setVersion($matches['version']);
         }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/I18n/Validator/PhoneNumber.php b/vendor/zendframework/zendframework/library/Zend/I18n/Validator/PhoneNumber.php
index e78004cab416cc270550a063af4531d68e1f86ec..e2d0c594f72de90abb8b43d7e7aef2bc18e099e4 100644
--- a/vendor/zendframework/zendframework/library/Zend/I18n/Validator/PhoneNumber.php
+++ b/vendor/zendframework/zendframework/library/Zend/I18n/Validator/PhoneNumber.php
@@ -28,7 +28,7 @@ class PhoneNumber extends AbstractValidator
     protected $messageTemplates = array(
         self::NO_MATCH    => 'The input does not match a phone number format',
         self::UNSUPPORTED => 'The country provided is currently unsupported',
-        self::INVALID     => 'Invalid type given.  String expected',
+        self::INVALID     => 'Invalid type given. String expected',
     );
 
     /**
diff --git a/vendor/zendframework/zendframework/library/Zend/InputFilter/BaseInputFilter.php b/vendor/zendframework/zendframework/library/Zend/InputFilter/BaseInputFilter.php
index a6e5bb0a8bef7508706d0f918eec590221616b7f..6f5b9814a56ae3b0ea51416684234522d2979aad 100644
--- a/vendor/zendframework/zendframework/library/Zend/InputFilter/BaseInputFilter.php
+++ b/vendor/zendframework/zendframework/library/Zend/InputFilter/BaseInputFilter.php
@@ -73,9 +73,11 @@ class BaseInputFilter implements InputFilterInterface, UnknownInputsCapableInter
         }
 
         if (isset($this->inputs[$name]) && $this->inputs[$name] instanceof InputInterface) {
-            // The element already exists, so merge the config. Please note that the order is important (already existing
-            // input is merged with the parameter given)
-            $input->merge($this->inputs[$name]);
+            // The element already exists, so merge the config. Please note
+            // that this merges the new input into the original.
+            $original = $this->inputs[$name];
+            $original->merge($input);
+            return $this;
         }
 
         $this->inputs[$name] = $input;
diff --git a/vendor/zendframework/zendframework/library/Zend/InputFilter/Factory.php b/vendor/zendframework/zendframework/library/Zend/InputFilter/Factory.php
index b1f74b0a7c241f3d09214bda379b5564e06eb378..65400adebb00b69edcfb354b5abd34d1c973f15e 100644
--- a/vendor/zendframework/zendframework/library/Zend/InputFilter/Factory.php
+++ b/vendor/zendframework/zendframework/library/Zend/InputFilter/Factory.php
@@ -14,6 +14,7 @@ use Zend\Filter\FilterChain;
 use Zend\Stdlib\ArrayUtils;
 use Zend\Validator\ValidatorInterface;
 use Zend\Validator\ValidatorChain;
+use Zend\ServiceManager\ServiceLocatorInterface;
 
 class Factory
 {
@@ -116,7 +117,15 @@ class Factory
     public function setInputFilterManager(InputFilterPluginManager $inputFilterManager)
     {
         $this->inputFilterManager = $inputFilterManager;
-
+        $serviceLocator = $this->inputFilterManager->getServiceLocator();
+        if ($serviceLocator && $serviceLocator instanceof ServiceLocatorInterface) {
+            if ($serviceLocator->has('ValidatorManager')) {
+                $this->getDefaultValidatorChain()->setPluginManager($serviceLocator->get('ValidatorManager'));
+            }
+            if ($serviceLocator->has('FilterManager')) {
+                $this->getDefaultFilterChain()->setPluginManager($serviceLocator->get('FilterManager'));
+            }
+        }
         return $this;
     }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Mime/Message.php b/vendor/zendframework/zendframework/library/Zend/Mime/Message.php
index e8021534c1d3c0b2ca1238b6127cbff1da73f664..197668a01dbfe0fcedd29265a609130de81caf81 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mime/Message.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mime/Message.php
@@ -222,8 +222,9 @@ class Message
 
         $res = new static();
         foreach ($parts as $part) {
+
             // now we build a new MimePart for the current Message Part:
-            $newPart = new Part($part['body']);
+            $properties = array();
             foreach ($part['header'] as $header) {
                 /** @var \Zend\Mail\Header\HeaderInterface $header */
                 /**
@@ -234,30 +235,48 @@ class Message
                 $fieldValue = $header->getFieldValue();
                 switch (strtolower($fieldName)) {
                     case 'content-type':
-                        $newPart->type = $fieldValue;
+                        $properties['type'] = $fieldValue;
                         break;
                     case 'content-transfer-encoding':
-                        $newPart->encoding = $fieldValue;
+                        $properties['encoding'] = $fieldValue;
                         break;
                     case 'content-id':
-                        $newPart->id = trim($fieldValue,'<>');
+                        $properties['id'] = trim($fieldValue,'<>');
                         break;
                     case 'content-disposition':
-                        $newPart->disposition = $fieldValue;
+                        $properties['disposition'] = $fieldValue;
                         break;
                     case 'content-description':
-                        $newPart->description = $fieldValue;
+                        $properties['description'] = $fieldValue;
                         break;
                     case 'content-location':
-                        $newPart->location = $fieldValue;
+                        $properties['location'] = $fieldValue;
                         break;
                     case 'content-language':
-                        $newPart->language = $fieldValue;
+                        $properties['language'] = $fieldValue;
                         break;
                     default:
                         throw new Exception\RuntimeException('Unknown header ignored for MimePart:' . $fieldName);
                 }
             }
+
+            $body = $part['body'];
+
+            if (isset($properties['encoding'])) {
+                switch ($properties['encoding']) {
+                    case 'quoted-printable':
+                        $body = quoted_printable_decode($body);
+                        break;
+                    case 'base64':
+                        $body = base64_decode($body);
+                        break;
+                }
+            }
+
+            $newPart = new Part($body);
+            foreach ($properties as $key => $value) {
+                $newPart->$key = $value;
+            }
             $res->addPart($newPart);
         }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ServiceListener.php b/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ServiceListener.php
index 72621e95d33ae21d1d751b18334800009b61ecf2..6fd359110b1f7618a5b9bb820e57e896e42fc257 100644
--- a/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ServiceListener.php
+++ b/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ServiceListener.php
@@ -244,7 +244,7 @@ class ServiceListener implements ServiceListenerInterface
         if (!$config instanceof ServiceConfig) {
             throw new Exception\RuntimeException(sprintf(
                 'Invalid service manager configuration class provided; received "%s", expected an instance of Zend\ServiceManager\Config',
-                $class
+                (is_object($config) ? get_class($config) : (is_scalar($config) ? $config : gettype($config)))
             ));
         }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleEvent.php b/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleEvent.php
index c81e773d55cab8689428004956a585881ab59113..e29dd8e2834fc1ad0344b2b41d834cb7398d2f73 100644
--- a/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleEvent.php
+++ b/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleEvent.php
@@ -20,6 +20,7 @@ class ModuleEvent extends Event
     /**
      * Module events triggered by eventmanager
      */
+    CONST EVENT_MERGE_CONFIG        = 'mergeConfig';
     CONST EVENT_LOAD_MODULES        = 'loadModules';
     CONST EVENT_LOAD_MODULE_RESOLVE = 'loadModule.resolve';
     CONST EVENT_LOAD_MODULE         = 'loadModule';
diff --git a/vendor/zendframework/zendframework/library/Zend/Mvc/composer.json b/vendor/zendframework/zendframework/library/Zend/Mvc/composer.json
index b21a903b88c253aac9a0e61499d36bbc88d1334b..644c8f72e7c990046461e409ab6372076ad1fe44 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mvc/composer.json
+++ b/vendor/zendframework/zendframework/library/Zend/Mvc/composer.json
@@ -19,6 +19,7 @@
         "zendframework/zend-stdlib": "self.version"
     },
     "suggest": {
+        "zendframework/zend-authentication": "Zend\\Authentication component for Identity plugin",
         "zendframework/zend-config": "Zend\\Config component",
         "zendframework/zend-console": "Zend\\Console component",
         "zendframework/zend-di": "Zend\\Di component",
@@ -29,6 +30,7 @@
         "zendframework/zend-inputfilter": "Zend\\Inputfilter component",
         "zendframework/zend-modulemanager": "Zend\\ModuleManager component",
         "zendframework/zend-serializer": "Zend\\Serializer component",
+        "zendframework/zend-session": "Zend\\Session component for FlashMessenger, PRG, and FPRG plugins",
         "zendframework/zend-stdlib": "Zend\\Stdlib component",
         "zendframework/zend-text": "Zend\\Text component",
         "zendframework/zend-uri": "Zend\\Uri component",
diff --git a/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php b/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php
index f284698a3e93100ea8b8bb0c2f96c0b16da7f8b4..4cceedf4d2fd9253b1554c6043a28dccc97fceaa 100644
--- a/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php
+++ b/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php
@@ -475,7 +475,6 @@ class ServiceManager implements ServiceLocatorInterface
                 isset($this->invokableClasses[$cName])
                 || isset($this->factories[$cName])
                 || isset($this->aliases[$cName])
-                || isset($this->instances[$cName])
                 || $this->canCreateFromAbstractFactory($cName, $name)
             ) {
                 $instance = $this->create(array($cName, $name));
diff --git a/vendor/zendframework/zendframework/library/Zend/Session/Service/ContainerAbstractServiceFactory.php b/vendor/zendframework/zendframework/library/Zend/Session/Service/ContainerAbstractServiceFactory.php
index 7ebf5ac2033925b8ecf5d8665af1222483e6769a..33c64518c0254e03006b9e5bf8c60667c4ca332b 100644
--- a/vendor/zendframework/zendframework/library/Zend/Session/Service/ContainerAbstractServiceFactory.php
+++ b/vendor/zendframework/zendframework/library/Zend/Session/Service/ContainerAbstractServiceFactory.php
@@ -23,17 +23,15 @@ use Zend\Session\Container;
  * <code>
  * return array(
  *     'session_containers' => array(
- *         'auth',
- *         'user',
- *         'captcha',
+ *         'SessionContainer\sample',
+ *         'my_sample_session_container',
+ *         'MySessionContainer',
  *     ),
  * );
  * </code>
  *
- * Services use the prefix "SessionContainer\\":
- *
  * <code>
- * $container = $services->get('SessionContainer\captcha');
+ * $container = $services->get('MySessionContainer');
  * </code>
  */
 class ContainerAbstractServiceFactory implements AbstractFactoryInterface
@@ -139,8 +137,6 @@ class ContainerAbstractServiceFactory implements AbstractFactoryInterface
     /**
      * Normalize the container name in order to perform a lookup
      *
-     * Strips off the "SessionContainer\" prefix, and lowercases the name.
-     *
      * @param  string $name
      * @return string
      */
diff --git a/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/ClassMethods.php b/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/ClassMethods.php
index df1f2ea3ecc603a7c6b6765054745ee25882074c..a3d76ceffb6988d2d66b2a45d1e66da8da67a078 100644
--- a/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/ClassMethods.php
+++ b/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/ClassMethods.php
@@ -183,7 +183,7 @@ class ClassMethods extends AbstractHydrator implements HydratorOptionsInterface
         foreach ($data as $property => $value) {
             $method = 'set' . ucfirst($property);
             if ($this->underscoreSeparatedKeys) {
-                $method = preg_replace_callback('/(_[a-z])/', $transform, $method);
+                $method = preg_replace_callback('/(_[a-z])/i', $transform, $method);
             }
             if (is_callable(array($object, $method))) {
                 $value = $this->hydrateValue($property, $value, $data);
diff --git a/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Reflection.php b/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Reflection.php
index 1c093c88b379e9476ba653c4ffad4100442e7706..fae361aab78b629bd68eb089b4b159b15a5d8125 100644
--- a/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Reflection.php
+++ b/vendor/zendframework/zendframework/library/Zend/Stdlib/Hydrator/Reflection.php
@@ -64,8 +64,7 @@ class Reflection extends AbstractHydrator
      * Get a reflection properties from in-memory cache and lazy-load if
      * class has not been loaded.
      *
-     * @static
-     * @param string|object $input
+     * @param  string|object $input
      * @throws Exception\InvalidArgumentException
      * @return array
      */
@@ -77,14 +76,17 @@ class Reflection extends AbstractHydrator
             throw new Exception\InvalidArgumentException('Input must be a string or an object.');
         }
 
-        if (!isset(static::$reflProperties[$input])) {
-            $reflClass      = new ReflectionClass($input);
-            $reflProperties = $reflClass->getProperties();
+        if (isset(static::$reflProperties[$input])) {
+            return static::$reflProperties[$input];
+        }
 
-            foreach ($reflProperties as $property) {
-                $property->setAccessible(true);
-                static::$reflProperties[$input][$property->getName()] = $property;
-            }
+        static::$reflProperties[$input] = array();
+        $reflClass                      = new ReflectionClass($input);
+        $reflProperties                 = $reflClass->getProperties();
+
+        foreach ($reflProperties as $property) {
+            $property->setAccessible(true);
+            static::$reflProperties[$input][$property->getName()] = $property;
         }
 
         return static::$reflProperties[$input];
diff --git a/vendor/zendframework/zendframework/library/Zend/Validator/composer.json b/vendor/zendframework/zendframework/library/Zend/Validator/composer.json
index 165564d8d286552ae3ab7afd95ded64962158adb..920f26624ad89069bc242d4a0c1bd8171365e49b 100644
--- a/vendor/zendframework/zendframework/library/Zend/Validator/composer.json
+++ b/vendor/zendframework/zendframework/library/Zend/Validator/composer.json
@@ -28,7 +28,8 @@
         "zendframework/zend-i18n": "Zend\\I18n component to allow translation of validation error messages as well as to use the various Date validators",
         "zendframework/zend-math": "Zend\\Math component",
         "zendframework/zend-resources": "Translations of validator messages",
-        "zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains"
+        "zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains",
+        "zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators"
     },
     "extra": {
         "branch-alias": {
diff --git a/vendor/zendframework/zendframework/library/Zend/Version/Version.php b/vendor/zendframework/zendframework/library/Zend/Version/Version.php
index b35ccf625456c7e8366ab9551a96a32582be321f..674282a412517d72ea9c3a2f933124c12fcf0a1a 100644
--- a/vendor/zendframework/zendframework/library/Zend/Version/Version.php
+++ b/vendor/zendframework/zendframework/library/Zend/Version/Version.php
@@ -19,7 +19,7 @@ final class Version
     /**
      * Zend Framework version identification - see compareVersion()
      */
-    const VERSION = '2.2.2';
+    const VERSION = '2.2.4';
 
     /**
      * Github Service Identifier for version information is retreived from
diff --git a/vendor/zendframework/zendframework/library/Zend/View/Helper/Gravatar.php b/vendor/zendframework/zendframework/library/Zend/View/Helper/Gravatar.php
index ad1fb2b59b627e29113ffccf255a822d833ca9b5..52bdb0477c0bbbf2909c29322b91d7fc8389719b 100644
--- a/vendor/zendframework/zendframework/library/Zend/View/Helper/Gravatar.php
+++ b/vendor/zendframework/zendframework/library/Zend/View/Helper/Gravatar.php
@@ -239,7 +239,7 @@ class Gravatar extends AbstractHtmlElement
     public function setEmail($email)
     {
         $this->emailIsHashed = (bool) preg_match('/^[A-Za-z0-9]{32}$/', $email);
-        $this->email = $email;
+        $this->email = strtolower(trim($email));
         return $this;
     }
 
diff --git a/vendor/zendframework/zendframework/resources/languages/en/Zend_Validate.php b/vendor/zendframework/zendframework/resources/languages/en/Zend_Validate.php
index df198cd8c72a7a6b6165267a0e850ecfe971b351..044bd06911d1a608d02b6e6e3a08b39633467704 100644
--- a/vendor/zendframework/zendframework/resources/languages/en/Zend_Validate.php
+++ b/vendor/zendframework/zendframework/resources/languages/en/Zend_Validate.php
@@ -36,7 +36,7 @@ return array(
     // Zend\I18n\Validator\PhoneNumber
     "The input does not match a phone number format" => "The input does not match a phone number format",
     "The country provided is currently unsupported" => "The country provided is currently unsupported",
-    "Invalid type given.  String expected" => "Invalid type given.  String expected",
+    "Invalid type given. String expected" => "Invalid type given. String expected",
 
     // Zend\I18n\Validator\PostCode
     "Invalid type given. String or integer expected" => "Invalid type given. String or integer expected",
diff --git a/vendor/zendframework/zendframework/resources/languages/it/Zend_Validate.php b/vendor/zendframework/zendframework/resources/languages/it/Zend_Validate.php
index 9e3113f52f022508a059fefed41daca333d98680..40014d5b9bef46ec91e250a8a05192b5c2c1fedb 100644
--- a/vendor/zendframework/zendframework/resources/languages/it/Zend_Validate.php
+++ b/vendor/zendframework/zendframework/resources/languages/it/Zend_Validate.php
@@ -21,6 +21,10 @@ return array(
     "The input contains non alphabetic characters" => "L'input contiene caratteri non alfabetici",
     "The input is an empty string" => "L'input è una stringa vuota",
 
+    // Zend\I18n\Validator\DateTime
+    "Invalid type given. String expected" => "Tipo di dato non valido. Era attesto un dato di tipo string",
+    "The input does not appear to be a valid datetime" => "L'input non sembra essere una combinazione valida di data e orario",
+
     // Zend\I18n\Validator\Float
     "Invalid type given. String, integer or float expected" => "Tipo di dato non valido. Era atteso un dato di tipo string, float o integer",
     "The input does not appear to be a float" => "L'input non sembra essere un dato di tipo float",
@@ -29,6 +33,11 @@ return array(
     "Invalid type given. String or integer expected" => "Tipo di dato non valido. Era atteso un dato di tipo string o integer",
     "The input does not appear to be an integer" => "L'input non sembra essere un intero",
 
+    // Zend\I18n\Validator\PhoneNumber
+    "The input does not match a phone number format" => "L'input non corrisponde ad un formato di numero telefonico",
+    "The country provided is currently unsupported" => "La nazionalità fornita non è correntemente supportata",
+    "Invalid type given. String expected" => "Tipo di dato non valido. Era attesto un dato di tipo string",
+
     // Zend\I18n\Validator\PostCode
     "Invalid type given. String or integer expected" => "Tipo di dato non valido. Era atteso un dato di tipo string o integer",
     "The input does not appear to be a postal code" => "L'input non sembra essere un codice postale",
diff --git a/vendor/zendframework/zendframework/resources/languages/pl/Zend_Validate.php b/vendor/zendframework/zendframework/resources/languages/pl/Zend_Validate.php
index c332697c61ef396f0e12b51c31dcee105a00fc5c..52e895e284b04907c1653e3bd3f864f3d5c0e628 100644
--- a/vendor/zendframework/zendframework/resources/languages/pl/Zend_Validate.php
+++ b/vendor/zendframework/zendframework/resources/languages/pl/Zend_Validate.php
@@ -8,148 +8,151 @@
  */
 
 /**
- * EN-Revision: 25.Jul.2011
+ * EN-Revision: 16.Jul.2013
  */
 return array(
-    // Zend_Validate_Alnum
+    // Zend\I18n\Validator\Alnum
     "Invalid type given. String, integer or float expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą lub liczbą zmiennoprzecinkową",
-    "'%value%' contains characters which are non alphabetic and no digits" => "Wartość '%value%' powinna zawierać znaki z alfabetu lub cyfry",
-    "'%value%' is an empty string" => "'%value%' jest pustym ciągiem znaków",
+    "The input contains characters which are non alphabetic and no digits" => "Podana wartość powinna zawierać znaki z alfabetu lub cyfry",
+    "The input is an empty string" => "Podana artość jest pustym ciągiem znaków",
 
-    // Zend_Validate_Alpha
+    // Zend\I18n\Validator\Alpha
     "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
-    "'%value%' contains non alphabetic characters" => "'%value%' zawiera znaki spoza alfabetu",
-    "'%value%' is an empty string" => "'%value%' jest pustym ciągiem znaków",
+    "The input contains non alphabetic characters" => "Podana wartość zawiera znaki spoza alfabetu",
+    "The input is an empty string" => "Podana wartość jest pustym ciągiem znaków",
 
-    // Zend_Validate_Barcode
-    "'%value%' failed checksum validation" => "Błędna suma kontrolna dla wartości '%value%'",
-    "'%value%' contains invalid characters" => "'%value%' zawiera niedozwolone znaki",
-    "'%value%' should have a length of %length% characters" => "Wartość '%value%' powinna być długości %length% znaków",
-    "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
-
-    // Zend_Validate_Between
-    "'%value%' is not between '%min%' and '%max%', inclusively" => "'%value%' nie zawiera się w przedziale od '%min%' do '%max%' włącznie",
-    "'%value%' is not strictly between '%min%' and '%max%'" => "'%value%' nie zawiera siÄ™ w przedziale od '%min%' do '%max%'",
-
-    // Zend_Validate_Callback
-    "'%value%' is not valid" => "Wartość '%value%' jest nie poprawna",
-    "An exception has been raised within the callback" => "Wystąpił błąd podczas działania funkcji sprawdzającej",
+    // Zend\I18n\Validator\Float
+    "Invalid type given. String, integer or float expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą lub liczbą zmiennoprzecinkową",
+    "The input does not appear to be a float" => "Podana wartość nie jest liczbą zmiennoprzecinkową",
 
-    // Zend_Validate_Ccnum
-    "'%value%' must contain between 13 and 19 digits" => "'%value%' musi zawierać od 13 do 19 cyfr",
-    "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "Błąd podczas wykonywania algorytmu Luhna (mod-10 checksum) dla wartości '%value%'",
+    // Zend\I18n\Validator\Int
+    "Invalid type given. String or integer expected" => "Podana wartość powinna być ciągiem znaków lub liczbą całkowitą",
+    "The input does not appear to be an integer" => "Podana wartość nie jest liczbą całkowitą",
 
-    // Zend_Validate_CreditCard
-    "'%value%' seems to contain an invalid checksum" => "'%value%' zawiera niepoprawnÄ… sumÄ™ kontrolnÄ…",
-    "'%value%' must contain only digits" => "Numer karty może zawierać tylko cyfry",
+    // Zend\Validator\Barcode
+    "The input failed checksum validation" => "Błędna suma kontrolna dla wartości",
+    "The input contains invalid characters" => "Wartość zawiera niedozwolone znaki",
+    "The input should have a length of %length% characters" => "Wartość powinna być długości %length% znaków",
     "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
-    "'%value%' contains an invalid amount of digits" => "Numer '%value%' zawiera niepoprawnÄ… liczbÄ™ cyfr",
-    "'%value%' is not from an allowed institute" => "Numer '%value%' nie jest z dozwolonej instytucji",
-    "'%value%' seems to be an invalid creditcard number" => "'%value%' jest niepoprawnym numerem karty",
-    "An exception has been raised while validating '%value%'" => "Wystąpił błąd podczas sprawdzania numeru karty '%value%'",
 
-    // Zend_Validate_Date
-    "Invalid type given. String, integer, array or Zend_Date expected" => "Podana wartość powinna być ciągiem znaków, liczbą, tablicą lub obiektem Zend_Date",
-    "'%value%' does not appear to be a valid date" => "'%value%' nie jest poprawnÄ… datÄ…",
-    "'%value%' does not fit the date format '%format%'" => "Data '%value%' nie jest w formacie '%format%'",
+    // Zend\Validator\Between
+    "The input is not between '%min%' and '%max%', inclusively" => "Podana wartość nie zawiera się w przedziale od '%min%' do '%max%' włącznie",
+    "The input is not strictly between '%min%' and '%max%'" => "Podana wartość nie zawiera się w przedziale od '%min%' do '%max%'",
 
-    // Zend_Validate_Db_Abstract
-    "No record matching '%value%' was found" => "Nie znaleziono rekordu dla '%value%'",
-    "A record matching '%value%' was found" => "Znaleziono rekord dla '%value%'",
+    // Zend\Validator\Callback
+    "The input is not valid" => "Podana wartość jest nie poprawna",
+    "An exception has been raised within the callback" => "Wystąpił błąd podczas działania funkcji sprawdzającej",
 
-    // Zend_Validate_Digits
+    // Zend\Validator\CreditCard
+    "The input seems to contain an invalid checksum" => "Numer zawiera niepoprawnÄ… sumÄ™ kontrolnÄ…",
+    "The input must contain only digits" => "Numer karty może zawierać tylko cyfry",
+    "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
+    "The input contains an invalid amount of digits" => "Numer zawiera niepoprawnÄ… liczbÄ™ cyfr",
+    "The input is not from an allowed institute" => "Numer nie jest z dozwolonej instytucji",
+    "The input seems to be an invalid credit card number" => "Podana wartość jest niepoprawnym numerem karty",
+    "An exception has been raised while validating the input" => "Wystąpił błąd podczas sprawdzania numeru karty",
+
+    // Zend\Validator\Date
+    "Invalid type given. String, integer, array or DateTime expected" => "Podana wartość powinna być ciągiem znaków, liczbą, tablicą lub obiektem Zend_Date",
+    "The input does not appear to be a valid date" => "Podana wartość nie jest poprawną datą",
+    "The input does not fit the date format '%format%'" => "Data nie jest w formacie '%format%'",
+
+    // Zend\Validator\Db\AbstractDb
+    "No record matching the input was found" => "Nie znaleziono rekordu dla podanej wartości",
+    "A record matching the input was found" => "Znaleziono rekord dla podanej wartośći",
+
+    // Zend\Validator\Digits
+    "The input must contain only digits" => "Podana wartość może zawierać tylko cyfry",
+    "The input is an empty string" => "Wprowadzono pusty ciągiem znaków",
     "Invalid type given. String, integer or float expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą lub liczbą zmiennoprzecinkową",
-    "'%value%' must contain only digits" => "'%value%' może zawierać tylko cyfry",
-    "'%value%' is an empty string" => "'%value%' jest pustym ciągiem znaków",
 
-    // Zend_Validate_EmailAddress
-    "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
-    "'%value%' is not a valid email address in the basic format local-part@hostname" => "'%value%' nie jest poprawnym adresem email w formacie nazwa@serwer",
-    "'%hostname%' is not a valid hostname for email address '%value%'" => "Email '%value%' zawiera niepoprawnÄ… nazwÄ™ serwera '%hostname%'",
-    "'%hostname%' does not appear to have a valid MX record for the email address '%value%'" => "Serwer '%hostname%' nie posiada poprawnie zdefiniowanego rekordu MX dla adresu '%value%'",
-    "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network" => "'%hostname%' nie rutowalnym segmentem sieci. Email '%value%' nie powinien być wykrywany z sieci publiczej",
-    "'%localPart%' can not be matched against dot-atom format" => "Nazwa '%localPart%' nie jest w formacie dot-atom",
+    // Zend\Validator\EmailAddress
+    "The input is not a valid email address. Use the basic format local-part@hostname" => "Podana wartość nie jest poprawnym adresem email w formacie nazwa@serwer",
+    "'%hostname%' is not a valid hostname for the email address" => "Adres email zawiera niepoprawnÄ… nazwÄ™ serwera '%hostname%'",
+    "'%hostname%' does not appear to have any valid MX or A records for the email address" => "Serwer '%hostname%' nie posiada poprawnie zdefiniowanego rekordu MX dla adresu email",
+    "'%hostname%' is not in a routable network segment. The email address should not be resolved from public network" => "'%hostname%' nie rutowalnym segmentem sieci. Adres email nie powinien być wykrywany z sieci publiczej",
+    "'%localPart%' can not be matched against dot-atom format" => "'%localPart%' nie jest w formacie dot-atom",
     "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' nie jest w formacie quoted-string",
-    "'%localPart%' is not a valid local part for email address '%value%'" => "'%localPart%' nie jest poprawnÄ… nazwÄ…",
-    "'%value%' exceeds the allowed length" => "Wartość '%value%' przekroczyła dozwoloną długość",
+    "'%localPart%' is not a valid local part for the email address" => "'%localPart%' nie jest poprawnÄ… nazwÄ….",
+    "The input exceeds the allowed length" => "Podana wartość przekroczyła dozwoloną długość",
 
-    // Zend_Validate_File_Count
+    // Zend\Validator\File\Count
     "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Wybrano '%count%' plików. Dopuszczalna liczba plików to '%max%'",
     "Too few files, minimum '%min%' are expected but '%count%' are given" => "Wybrano '%count%' plików. Minimalna liczba plików to '%min%'",
 
-    // Zend_Validate_File_Crc32
-    "File '%value%' does not match the given crc32 hashes" => "Błędna suma kontrolna pliku '%value%'",
+    // Zend\Validator\File\Crc32
+    "File does not match the given crc32 hashes" => "Błędna suma kontrolna pliku",
     "A crc32 hash could not be evaluated for the given file" => "Nie można obliczyć sumy kontrolnej dla podanego pliku",
-    "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
+    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
-    // Zend_Validate_File_ExcludeExtension
-    "File '%value%' has a false extension" => "Plik '%value%' ma niepoprawne rozszerzenie",
-    "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
+    // Zend\Validator\File\ExcludeExtension
+    "File has an incorrect extension" => "Plik ma niepoprawne rozszerzenie",
+    "File is not readable or does not exist" => "Plik  nie istnieje lub nie można go odczytać",
 
     // Zend_Validate_File_ExcludeMimeType
     "File '%value%' has a false mimetype of '%type%'" => "Plik '%value%' ma niepoprawny typ MIME '%type%'",
     "The mimetype of file '%value%' could not be detected" => "Nie można wykryć typu MIME dla pliku '%value%'",
     "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
 
-    // Zend_Validate_File_Exists
-    "File '%value%' does not exist" => "Plik '%value%' nie istnieje",
+    // Zend\Validator\File\Exists
+    "File does not exist" => "Plik nie istnieje",
 
-    // Zend_Validate_File_Extension
-    "File '%value%' has a false extension" => "Plik '%value%' ma niepoprawne rozszerzenie",
-    "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
+    // Zend\Validator\File\Extension
+    "File has an incorrect extension" => "Plik ma niepoprawne rozszerzenie",
+    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
-    // Zend_Validate_File_FilesSize
+    // Zend\Validator\File\FilesSize
     "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Wybrane pliki Å‚Ä…cznie zajmujÄ… '%size%'. Maksymalny Å‚Ä…czny rozmiar to '%max%'",
     "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Wybrane pliki Å‚Ä…cznie zajmujÄ… '%size%'. Minimalny Å‚Ä…czny rozmiar to '%min%'",
     "One or more files can not be read" => "Jeden lub więcej plików nie mogą zostać odczytane",
 
-    // Zend_Validate_File_Hash
-    "File '%value%' does not match the given hashes" => "Plik '%value%' ma niedopuszczalny hash",
+    // Zend\Validator\File\Hash
+    "File does not match the given hashes" => "Plik ma niedopuszczalny hash",
     "A hash could not be evaluated for the given file" => "Nie można obliczyć funkcji haszującej dla podanego pliku",
-    "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
-
-    // Zend_Validate_File_ImageSize
-    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "Plik '%value%' ma szerokość '%width%'. Maksymalna szerokość to '%maxwidth%'",
-    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "Plik '%value%' ma szerokość '%width%'. Minimalna szerokość to '%maxwidth%'",
-    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "Plik '%value%' ma wysokość '%height%'. Maksymalna wysokość to '%maxheight%'",
-    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "Plik '%value%' ma wysokość '%height%'. Minimalna wysokość to '%minheight%'",
-    "The size of image '%value%' could not be detected" => "Nie można określić rozmiaru pliku '%value%'",
-    "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
-
-    // Zend_Validate_File_IsCompressed
-    "File '%value%' is not compressed, '%type%' detected" => "Plik '%value%' typu '%type%' nie jest skompresowany",
-    "The mimetype of file '%value%' could not be detected" => "Nie można wykryć typu MIME dla pliku '%value%'",
-    "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
-
-    // Zend_Validate_File_IsImage
-    "File '%value%' is no image, '%type%' detected" => "Plik '%value%' typu '%type%' nie jest obrazem",
-    "The mimetype of file '%value%' could not be detected" => "Nie można wykryć typu MIME dla pliku '%value%'",
-    "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
-
-    // Zend_Validate_File_Md5
-    "File '%value%' does not match the given md5 hashes" => "Plik '%value%' ma niedopuszczalny hash md5",
-    "A md5 hash could not be evaluated for the given file" => "Nie można obliczyć funkcji haszującej md5 dla podanego pliku",
-    "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
-
-    // Zend_Validate_File_MimeType
-    "File '%value%' has a false mimetype of '%type%'" => "Plik '%value%' ma niepoprawny typ MIME '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "Nie można wykryć typu MIME dla pliku '%value%'",
-    "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
-
-    // Zend_Validate_File_NotExists
-    "File '%value%' exists" => "Plik '%value%' istnieje",
-
-    // Zend_Validate_File_Sha1
-    "File '%value%' does not match the given sha1 hashes" => "Plik '%value%' ma niedopuszczalny hash sha1",
+    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
+
+    // Zend\Validator\File\ImageSize
+    "Maximum allowed width for image should be '%maxwidth%' but '%width%' detected" => "Plik ma szerokość '%width%'. Maksymalna szerokość to '%maxwidth%'",
+    "Minimum expected width for image should be '%minwidth%' but '%width%' detected" => "Plik ma szerokość '%width%'. Minimalna szerokość to '%maxwidth%'",
+    "Maximum allowed height for image should be '%maxheight%' but '%height%' detected" => "Plik ma wysokość '%height%'. Maksymalna wysokość to '%maxheight%'",
+    "Minimum expected height for image should be '%minheight%' but '%height%' detected" => "Plik ma wysokość '%height%'. Minimalna wysokość to '%minheight%'",
+    "The size of image could not be detected" => "Nie można określić rozmiaru pliku",
+    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
+
+    // Zend\Validator\File\IsCompressed
+    "File is not compressed, '%type%' detected" => "Plik typu '%type%' nie jest skompresowany",
+    "The mimetype could not be detected from the file" => "Nie można wykryć typu MIME dla pliku",
+    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
+
+    // Zend\Validator\File\IsImage
+    "File is no image, '%type%' detected" => "Plik typu '%type%' nie jest obrazem",
+    "The mimetype could not be detected from the file" => "Nie można wykryć typu MIME dla pliku",
+    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
+
+    // Zend\Validator\File\Md5
+    "File does not match the given md5 hashes" => "Plik ma niedopuszczalny hash md5",
+    "An md5 hash could not be evaluated for the given file" => "Nie można obliczyć funkcji haszującej md5 dla podanego pliku",
+    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
+
+    // Zend\Validator\File\MimeType
+    "File has an incorrect mimetype of '%type%'" => "Plik ma niepoprawny typ MIME '%type%'",
+    "The mimetype could not be detected from the file" => "Nie można wykryć typu MIME dla pliku",
+    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
+
+    // Zend\Validator\File\NotExists
+    "File exists" => "Plik istnieje",
+
+    // Zend\Validator\File\Sha1
+    "File does not match the given sha1 hashes" => "Plik ma niedopuszczalny hash sha1",
     "A sha1 hash could not be evaluated for the given file" => "Nie można obliczyć funkcji haszującej sha1 dla podanego pliku",
-    "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
+    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
-    // Zend_Validate_File_Size
-    "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "Podany plik ma rozmiar '%size%'. Maksymalny rozmiar pliku to '%max%'",
-    "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "Podany plik ma rozmiar '%size%'. Minimalny rozmiar pliku to '%min%'",
-    "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
+    // Zend\Validator\File\Size
+    "Maximum allowed size for file is '%max%' but '%size%' detected" => "Podany plik ma rozmiar '%size%'. Maksymalny rozmiar pliku to '%max%'",
+    "Minimum expected size for file is '%min%' but '%size%' detected" => "Podany plik ma rozmiar '%size%'. Minimalny rozmiar pliku to '%min%'",
+    "File is not readable or does not exist" => "Plik nie istnieje lub nie można go odczytać",
 
-    // Zend_Validate_File_Upload
+    // Zend\Validator\File\UploadFile
     "File '%value%' exceeds the defined ini size" => "Rozmiar pliku '%value%' przekroczył zdefiniowaną wartość w ini",
     "File '%value%' exceeds the defined form size" => "Rozmiar pliku '%value%' przekroczył zdefiniowaną wartość w formularzu",
     "File '%value%' was only partially uploaded" => "Plik '%value%' nie został całkowicie wysłany",
@@ -161,92 +164,90 @@ return array(
     "File '%value%' was not found" => "Nie znaleziono pliku '%value%'",
     "Unknown error while uploading file '%value%'" => "Nieznany błąd podczas wysyłania pliku '%value%'",
 
-    // Zend_Validate_File_WordCount
+
+    // Zend\Validator\File\WordCount
     "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Podano '%count%' słów. Maksymalna liczba słów to '%max%'",
     "Too few words, minimum '%min%' are expected but '%count%' were counted" => "Podano '%count%' słów. Minimalna liczba słów to '%min%'",
     "File '%value%' is not readable or does not exist" => "Plik '%value%' nie istnieje lub nie można go odczytać",
 
-    // Zend_Validate_Float
-    "Invalid type given. String, integer or float expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą lub liczbą zmiennoprzecinkową",
-    "'%value%' does not appear to be a float" => "'%value%' nie jest liczbÄ… zmiennoprzecinkowÄ…",
+    // Zend\Validator\GreaterThan
+    "The input is not greater than '%min%'" => "Podana wartość nie jest większe niż '%min%'",
+    "The input is not greater or equal than '%min%'" => "Podana wartość nie jest większe lub równa od '%min%'",
 
-    // Zend_Validate_GreaterThan
-    "'%value%' is not greater than '%min%'" => "'%value%' nie jest większe niż '%min%'",
-
-    // Zend_Validate_Hex
+    // Zend\Validator\Hex
     "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
-    "'%value%' has not only hexadecimal digit characters" => "'%value%' nie jest wartością heksadecymalną",
+    "The input contains non-hexadecimal characters" => "Wartość nie jest wartością heksadecymalną",
 
-    // Zend_Validate_Hostname
+    // Zend\Validator\Hostname
     "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
-    "'%value%' appears to be an IP address, but IP addresses are not allowed" => "Wartość '%value%' jest adresem IP a nie nazwą hosta",
-    "'%value%' appears to be a DNS hostname but cannot match TLD against known list" => "'%value%' zawiera nieznane TLD",
-    "'%value%' appears to be a DNS hostname but contains a dash in an invalid position" => "Nazwa hosta '%value%' zawiera znak '-' w złym miejscu",
-    "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "Nazwa hosta '%value%' jest niezgodna ze schematem dla TLD '%tld%'",
-    "'%value%' appears to be a DNS hostname but cannot extract TLD part" => "Nie można rozpoznać TLD dla nazwy hosta '%value%'",
-    "'%value%' does not match the expected structure for a DNS hostname" => "'%value%' nie jest poprawnÄ… nazwÄ… hosta",
-    "'%value%' does not appear to be a valid local network name" => "'%value%' nie jest poprawnÄ… nazwÄ… sieci lokalnej",
-    "'%value%' appears to be a local network name but local network names are not allowed" => "'%value%' prawdopodobnie jest nazwÄ… sieci lokalnej. Nazwy sieci lokalnych sÄ… niedozwolone",
-    "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded" => "Nie można zdekodować punycode dla podanej nazwy hosta '%value%'",
-
-    // Zend_Validate_Iban
-    "Unknown country within the IBAN '%value%'" => "Niepoprawny kraj w IBAN '%value%'",
-    "'%value%' has a false IBAN format" => "Wartość '%value%' nie jest w formacie IBAN",
-    "'%value%' has failed the IBAN check" => "Wystąpił błąd podczas sprawdzania IBAN dla '%value%'",
-
-    // Zend_Validate_Identical
+    "The input appears to be an IP address, but IP addresses are not allowed" => "Podana wartość jest adresem IP a nie nazwą hosta",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "Nazwa hosta zawiera nieznane TLD",
+    "The input appears to be a DNS hostname but contains a dash in an invalid position" => "Nazwa hosta zawiera znak '-' w złym miejscu",
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "Nazwa hosta jest niezgodna ze schematem dla TLD '%tld%'",
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "Nie można rozpoznać TLD dla nazwy hosta",
+    "The input does not match the expected structure for a DNS hostname" => "Podana wartość nie jest poprawną nazwą hosta",
+    "The input does not appear to be a valid local network name" => "Podana wartość nie jest poprawną nazwą sieci lokalnej",
+    "The input appears to be a local network name but local network names are not allowed" => "Wartość prawdopodobnie jest nazwą sieci lokalnej. Nazwy sieci lokalnych są niedozwolone",
+    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "Nie można zdekodować punycode dla podanej nazwy hosta",
+    "The input does not appear to be a valid URI hostname" => "Podana wartość nie jest poprawny URI nazwy hosta",
+
+    // Zend\Validate\Iban
+    "Unknown country within the IBAN" => "Niepoprawny kraj w IBAN",
+    "The input has a false IBAN format" => "Wartość nie jest w formacie IBAN",
+    "The input has failed the IBAN check" => "Wystąpił błąd podczas sprawdzania IBAN",
+    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Kraje spoza Jednolitego Obszaru Płatniczego w Euro (SEPA) nie są obsługiwane",
+
+    // Zend\Validator\Identical
     "The two given tokens do not match" => "Podane wartości nie są takie same",
     "No token was provided to match against" => "Nie podano wartości do porównania",
 
-    // Zend_Validate_InArray
-    "'%value%' was not found in the haystack" => "Nie znaleziono wartości '%value%'",
+    // Zend\Validator\InArray
+    "The input was not found in the haystack" => "Nie znaleziono wartości",
 
-    // Zend_Validate_Int
-    "Invalid type given. String or integer expected" => "Podana wartość powinna być ciągiem znaków lub liczbą całkowitą",
-    "'%value%' does not appear to be an integer" => "'%value%' nie jest liczbÄ…",
-
-    // Zend_Validate_Ip
+    // Zend\Validator\Ip
     "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
-    "'%value%' does not appear to be a valid IP address" => "'%value%' nie jest poprawnym adresem IP",
+    "The input does not appear to be a valid IP address" => "Podana wartość nie jest poprawnym adresem IP",
 
-    // Zend_Validate_Isbn
+    // Zend\Validator\Isbn
     "Invalid type given. String or integer expected" => "Podana wartość powinna być ciągiem znaków lub liczbą całkowitą",
-    "'%value%' is not a valid ISBN number"  => "'%value%' nie jest poprawnym ISBN",
+    "The input is not a valid ISBN number" => "Podana wartość nie jest poprawnym ISBN",
 
-    // Zend_Validate_LessThan
-    "'%value%' is not less than '%max%'" => "'%value%' nie jest mniejsze niż '%max%'",
+    // Zend\Validator\LessThan
+    "The input is not less than '%max%'" => "Podana wartość nie jest mniejsze niż '%max%'",
+    "The input is not less or equal than '%max%'" => "Podana wartość nie jest mniejsze lub równa '%max%'",
 
-    // Zend_Validate_NotEmpty
-    "Invalid type given. String, integer, float, boolean or array expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą, liczbą zmiennoprzecinkową, wartością logiczną lub tablicą",
+    // Zend\Validator\NotEmpty
     "Value is required and can't be empty" => "To pole jest wymagane",
+    "Invalid type given. String, integer, float, boolean or array expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą, liczbą zmiennoprzecinkową, wartością logiczną lub tablicą",
 
-    // Zend_Validate_PostCode
+    // Zend\I18n\Validator\PostCode
     "Invalid type given. String or integer expected" => "Podana wartość powinna być ciągiem znaków lub liczbą całkowitą",
-    "'%value%' does not appear to be a postal code" => "Wartość '%value%' nie jest poprawnym kodem pocztowym",
+    "The input does not appear to be a postal code" => "Podana wartość nie jest poprawnym kodem pocztowym",
 
-    // Zend_Validate_Regex
+    // Zend\Validator\Regex
     "Invalid type given. String, integer or float expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą lub liczbą zmiennoprzecinkową",
-    "'%value%' does not match against pattern '%pattern%'" => "Wartość '%value%' nie pasuje do wzorca '%pattern%'",
+    "The input does not match against pattern '%pattern%'" => "Podana wartość  nie pasuje do wzorca '%pattern%'",
     "There was an internal error while using the pattern '%pattern%'" => "Wystąpił błąd podczas dopasowania wyrażenia '%pattern%'",
 
-    // Zend_Validate_Sitemap_Changefreq
-    "'%value%' is not a valid sitemap changefreq" => "'%value%' nie jest poprawną wartością changefreq",
+    // Zend\Validator\Sitemap\Changefreq
+    "The input is not a valid sitemap changefreq" => "Podana wartość nie jest poprawną wartością changefreq",
     "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
 
-    // Zend_Validate_Sitemap_Lastmod
-    "'%value%' is not a valid sitemap lastmod" => "'%value%' nie jest poprawną wartością lastmod",
+    // Zend\Validator\Sitemap\Lastmod
+    "The input is not a valid sitemap lastmod" => "Podana wartość nie jest poprawną wartością lastmod",
     "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
 
-    // Zend_Validate_Sitemap_Loc
-    "'%value%' is not a valid sitemap location" => "'%value%' nie jest poprawnÄ… lokalizacjÄ… mapy strony",
+    // Zend\Validator\Sitemap\Loc
+    "The input is not a valid sitemap location" => "Podana wartość nie jest poprawną lokalizacją mapy strony",
     "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
 
-    // Zend_Validate_Sitemap_Priority
-    "'%value%' is not a valid sitemap priority" => "'%value%' nie jest poprawną wartością priorytetu",
+    // Zend\Validator\Sitemap\Priority
+    "The input is not a valid sitemap priority" => "Podana wartość nie jest poprawną wartością priorytetu",
     "Invalid type given. Numeric string, integer or float expected" => "Podana wartość powinna być ciągiem znaków, liczbą całkowitą lub liczbą zmiennoprzecinkową",
 
-    // Zend_Validate_StringLength
+    // Zend\Validator\StringLength
     "Invalid type given. String expected" => "Podana wartość nie jest ciągiem znaków",
-    "'%value%' is less than %min% characters long" => "'%value%' zawiera mniej niż %min% znaków",
-    "'%value%' is more than %max% characters long" => "'%value%' zawiera więcej niż %max% znaków",
+    "The input is less than %min% characters long" => "Podana wartość zawiera mniej niż %min% znaków",
+    "The input is more than %max% characters long" => "Podana wartość zawiera więcej niż %max% znaków"
+
 );