diff --git a/composer.json b/composer.json
index a6de98f1303c26f4f384f41f4bd65c215f02d55e..409429a2d9230eccc18f874daffe6c47b1f4f382 100644
--- a/composer.json
+++ b/composer.json
@@ -60,7 +60,7 @@
         "symfony/yaml": "*",
         "vufind-org/vufindcode": "*",
         "vufind-org/vufindhttp": "*",
-        "zendframework/zendframework": "2.3.5",
+        "zendframework/zendframework": "2.3.6",
         "zendframework/zendrest": "2.*",
         "zendframework/zendservice-amazon": "2.*",
         "zendframework/zendservice-recaptcha": "2.*",
diff --git a/composer.lock b/composer.lock
index 801cc3900a8ace84d3148fc7f3d23124ede2ba51..928e1f90743ed4c7ceca052460442dadd6972736 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "hash": "6a50f9dd747e7c641961b25a3e6ec1db",
+    "hash": "a789b6d59c5f4174e268ab7f4307ee5d",
     "packages": [
         {
             "name": "aferrandini/phpqrcode",
@@ -200,16 +200,16 @@
         },
         {
             "name": "oyejorge/less.php",
-            "version": "v1.7.0.2",
+            "version": "v1.7.0.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/oyejorge/less.php.git",
-                "reference": "82372b389386ae1edab55495eae4b400cca3c86c"
+                "reference": "6e08ecb07e6f6d9170c23e8744c58fdd822ad0de"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/oyejorge/less.php/zipball/82372b389386ae1edab55495eae4b400cca3c86c",
-                "reference": "82372b389386ae1edab55495eae4b400cca3c86c",
+                "url": "https://api.github.com/repos/oyejorge/less.php/zipball/6e08ecb07e6f6d9170c23e8744c58fdd822ad0de",
+                "reference": "6e08ecb07e6f6d9170c23e8744c58fdd822ad0de",
                 "shasum": ""
             },
             "require": {
@@ -255,7 +255,7 @@
                 "php",
                 "stylesheet"
             ],
-            "time": "2014-06-05 16:09:50"
+            "time": "2015-03-10 18:12:59"
         },
         {
             "name": "pear-pear.php.net/Archive_Tar",
@@ -653,17 +653,17 @@
         },
         {
             "name": "zendframework/zendframework",
-            "version": "2.3.5",
+            "version": "2.3.6",
             "source": {
                 "type": "git",
                 "url": "https://github.com/zendframework/zf2.git",
-                "reference": "886063aa5aee7476b77c380e25ecfacb2ee5ff4c"
+                "reference": "cf1f2212b5ff772ba695f9efbb315505ec0211eb"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://packages.zendframework.com/composer/zendframework-zendframework-886063aa5aee7476b77c380e25ecfacb2ee5ff4c-zip-d4c183.zip",
-                "reference": "2.3.5",
-                "shasum": "07830613ab28cd5e08bb731393bab8cd32e3ec81"
+                "url": "https://packages.zendframework.com/composer/zendframework-zendframework-cf1f2212b5ff772ba695f9efbb315505ec0211eb-zip-e766c5.zip",
+                "reference": "2.3.6",
+                "shasum": "a4b747410c7ec9fabf1738692be8450155cfcc24"
             },
             "require": {
                 "php": ">=5.3.23",
@@ -767,10 +767,10 @@
                 "zf2"
             ],
             "support": {
-                "source": "https://github.com/zendframework/zf2/tree/release-2.3.5",
+                "source": "https://github.com/zendframework/zf2/tree/release-2.3.6",
                 "issues": "https://github.com/zendframework/zf2/issues"
             },
-            "time": "2015-02-18 19:48:16"
+            "time": "2015-03-12 14:02:09"
         },
         {
             "name": "zendframework/zendrest",
diff --git a/vendor/autoload.php b/vendor/autoload.php
index d56b404e8b5b0f638ecb9b346e47012d9ccc9d09..e809f6ab9e05bb07ec9e46bf5e2da048e20dc6e5 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer' . '/autoload_real.php';
 
-return ComposerAutoloaderInite41f4086e246f975b818fc74feba2689::getLoader();
+return ComposerAutoloaderInita5d1611df39273f32106e09e521d7aa7::getLoader();
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index de15c3fe7df6d9102876453c41cfcd4006b5a623..27839311af043ca4aae45e79d35b7f4194d5b030 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInite41f4086e246f975b818fc74feba2689
+class ComposerAutoloaderInita5d1611df39273f32106e09e521d7aa7
 {
     private static $loader;
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInite41f4086e246f975b818fc74feba2689
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInite41f4086e246f975b818fc74feba2689', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInita5d1611df39273f32106e09e521d7aa7', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInite41f4086e246f975b818fc74feba2689', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInita5d1611df39273f32106e09e521d7aa7', 'loadClassLoader'));
 
         $includePaths = require __DIR__ . '/include_paths.php';
         array_push($includePaths, get_include_path());
@@ -48,7 +48,7 @@ class ComposerAutoloaderInite41f4086e246f975b818fc74feba2689
     }
 }
 
-function composerRequiree41f4086e246f975b818fc74feba2689($file)
+function composerRequirea5d1611df39273f32106e09e521d7aa7($file)
 {
     require $file;
 }
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 903ca4a3f6c8c0f9fdd2345fa2a149c00efd3fa9..3ff55dd98afd645c1a3e3a0804748fe0e73bb752 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -171,67 +171,6 @@
         ],
         "description": "Library for interacting with Serials Solutions' Summon API."
     },
-    {
-        "name": "oyejorge/less.php",
-        "version": "v1.7.0.2",
-        "version_normalized": "1.7.0.2",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/oyejorge/less.php.git",
-            "reference": "82372b389386ae1edab55495eae4b400cca3c86c"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/oyejorge/less.php/zipball/82372b389386ae1edab55495eae4b400cca3c86c",
-            "reference": "82372b389386ae1edab55495eae4b400cca3c86c",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.2"
-        },
-        "time": "2014-06-05 16:09:50",
-        "bin": [
-            "bin/lessc"
-        ],
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Less": "lib/"
-            },
-            "classmap": [
-                "lessc.inc.php"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "Apache-2.0"
-        ],
-        "authors": [
-            {
-                "name": "Matt Agar",
-                "homepage": "https://github.com/agar"
-            },
-            {
-                "name": "Martin Jantošovič",
-                "homepage": "https://github.com/Mordred"
-            },
-            {
-                "name": "Josh Schmidt",
-                "homepage": "https://github.com/oyejorge"
-            }
-        ],
-        "description": "PHP port of the Javascript version of LESS http://lesscss.org",
-        "homepage": "http://lessphp.gpeasy.com",
-        "keywords": [
-            "css",
-            "less",
-            "less.js",
-            "lesscss",
-            "php",
-            "stylesheet"
-        ]
-    },
     {
         "name": "pear-pear.php.net/File_MARC",
         "version": "1.1.1",
@@ -1057,129 +996,6 @@
             "zf2"
         ]
     },
-    {
-        "name": "zendframework/zendframework",
-        "version": "2.3.5",
-        "version_normalized": "2.3.5.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/zendframework/zf2.git",
-            "reference": "886063aa5aee7476b77c380e25ecfacb2ee5ff4c"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://packages.zendframework.com/composer/zendframework-zendframework-886063aa5aee7476b77c380e25ecfacb2ee5ff4c-zip-d4c183.zip",
-            "reference": "2.3.5",
-            "shasum": "07830613ab28cd5e08bb731393bab8cd32e3ec81"
-        },
-        "require": {
-            "php": ">=5.3.23",
-            "zendframework/zendxml": "~1.0-dev"
-        },
-        "replace": {
-            "zendframework/zend-authentication": "self.version",
-            "zendframework/zend-barcode": "self.version",
-            "zendframework/zend-cache": "self.version",
-            "zendframework/zend-captcha": "self.version",
-            "zendframework/zend-code": "self.version",
-            "zendframework/zend-config": "self.version",
-            "zendframework/zend-console": "self.version",
-            "zendframework/zend-crypt": "self.version",
-            "zendframework/zend-db": "self.version",
-            "zendframework/zend-debug": "self.version",
-            "zendframework/zend-di": "self.version",
-            "zendframework/zend-dom": "self.version",
-            "zendframework/zend-escaper": "self.version",
-            "zendframework/zend-eventmanager": "self.version",
-            "zendframework/zend-feed": "self.version",
-            "zendframework/zend-file": "self.version",
-            "zendframework/zend-filter": "self.version",
-            "zendframework/zend-form": "self.version",
-            "zendframework/zend-http": "self.version",
-            "zendframework/zend-i18n": "self.version",
-            "zendframework/zend-inputfilter": "self.version",
-            "zendframework/zend-json": "self.version",
-            "zendframework/zend-ldap": "self.version",
-            "zendframework/zend-loader": "self.version",
-            "zendframework/zend-log": "self.version",
-            "zendframework/zend-mail": "self.version",
-            "zendframework/zend-math": "self.version",
-            "zendframework/zend-memory": "self.version",
-            "zendframework/zend-mime": "self.version",
-            "zendframework/zend-modulemanager": "self.version",
-            "zendframework/zend-mvc": "self.version",
-            "zendframework/zend-navigation": "self.version",
-            "zendframework/zend-paginator": "self.version",
-            "zendframework/zend-permissions-acl": "self.version",
-            "zendframework/zend-permissions-rbac": "self.version",
-            "zendframework/zend-progressbar": "self.version",
-            "zendframework/zend-resources": "self.version",
-            "zendframework/zend-serializer": "self.version",
-            "zendframework/zend-server": "self.version",
-            "zendframework/zend-servicemanager": "self.version",
-            "zendframework/zend-session": "self.version",
-            "zendframework/zend-soap": "self.version",
-            "zendframework/zend-stdlib": "self.version",
-            "zendframework/zend-tag": "self.version",
-            "zendframework/zend-test": "self.version",
-            "zendframework/zend-text": "self.version",
-            "zendframework/zend-uri": "self.version",
-            "zendframework/zend-validator": "self.version",
-            "zendframework/zend-version": "self.version",
-            "zendframework/zend-view": "self.version",
-            "zendframework/zend-xmlrpc": "self.version"
-        },
-        "require-dev": {
-            "doctrine/annotations": ">=1.0",
-            "fabpot/php-cs-fixer": "1.*",
-            "ircmaxell/random-lib": "dev-master",
-            "ircmaxell/security-lib": "dev-master",
-            "mikey179/vfsstream": "1.2.*",
-            "phpunit/phpunit": "3.7.*",
-            "satooshi/php-coveralls": "dev-master",
-            "sebastianbergmann/phpcov": "1.1.0"
-        },
-        "suggest": {
-            "doctrine/annotations": "Doctrine Annotations >=1.0 for annotation features",
-            "ext-intl": "ext/intl for i18n features (included in default builds of PHP)",
-            "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if OpenSSL/Mcrypt extensions are unavailable",
-            "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services",
-            "zendframework/zendpdf": "ZendPdf for creating PDF representations of barcodes",
-            "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha for rendering ReCaptchas in Zend\\Captcha and/or Zend\\Form"
-        },
-        "time": "2015-02-18 19:48:16",
-        "bin": [
-            "bin/classmap_generator.php",
-            "bin/pluginmap_generator.php",
-            "bin/templatemap_generator.php"
-        ],
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.3-dev",
-                "dev-develop": "2.4-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Zend\\": "library/"
-            }
-        },
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "description": "Zend Framework 2",
-        "homepage": "http://framework.zend.com/",
-        "keywords": [
-            "framework",
-            "zf2"
-        ],
-        "support": {
-            "source": "https://github.com/zendframework/zf2/tree/release-2.3.5",
-            "issues": "https://github.com/zendframework/zf2/issues"
-        }
-    },
     {
         "name": "vufind-org/vufindhttp",
         "version": "v1.0.4",
@@ -1352,5 +1168,189 @@
             "BSD License"
         ],
         "description": "Selection of methods that are often needed when working with XML documents.  Functionality includes creating of attribute lists from arrays, creation of tags, validation of XML names and more."
+    },
+    {
+        "name": "oyejorge/less.php",
+        "version": "v1.7.0.3",
+        "version_normalized": "1.7.0.3",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/oyejorge/less.php.git",
+            "reference": "6e08ecb07e6f6d9170c23e8744c58fdd822ad0de"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/oyejorge/less.php/zipball/6e08ecb07e6f6d9170c23e8744c58fdd822ad0de",
+            "reference": "6e08ecb07e6f6d9170c23e8744c58fdd822ad0de",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.2"
+        },
+        "time": "2015-03-10 18:12:59",
+        "bin": [
+            "bin/lessc"
+        ],
+        "type": "library",
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Less": "lib/"
+            },
+            "classmap": [
+                "lessc.inc.php"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "Apache-2.0"
+        ],
+        "authors": [
+            {
+                "name": "Matt Agar",
+                "homepage": "https://github.com/agar"
+            },
+            {
+                "name": "Martin Jantošovič",
+                "homepage": "https://github.com/Mordred"
+            },
+            {
+                "name": "Josh Schmidt",
+                "homepage": "https://github.com/oyejorge"
+            }
+        ],
+        "description": "PHP port of the Javascript version of LESS http://lesscss.org",
+        "homepage": "http://lessphp.gpeasy.com",
+        "keywords": [
+            "css",
+            "less",
+            "less.js",
+            "lesscss",
+            "php",
+            "stylesheet"
+        ]
+    },
+    {
+        "name": "zendframework/zendframework",
+        "version": "2.3.6",
+        "version_normalized": "2.3.6.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/zendframework/zf2.git",
+            "reference": "cf1f2212b5ff772ba695f9efbb315505ec0211eb"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://packages.zendframework.com/composer/zendframework-zendframework-cf1f2212b5ff772ba695f9efbb315505ec0211eb-zip-e766c5.zip",
+            "reference": "2.3.6",
+            "shasum": "a4b747410c7ec9fabf1738692be8450155cfcc24"
+        },
+        "require": {
+            "php": ">=5.3.23",
+            "zendframework/zendxml": "~1.0-dev"
+        },
+        "replace": {
+            "zendframework/zend-authentication": "self.version",
+            "zendframework/zend-barcode": "self.version",
+            "zendframework/zend-cache": "self.version",
+            "zendframework/zend-captcha": "self.version",
+            "zendframework/zend-code": "self.version",
+            "zendframework/zend-config": "self.version",
+            "zendframework/zend-console": "self.version",
+            "zendframework/zend-crypt": "self.version",
+            "zendframework/zend-db": "self.version",
+            "zendframework/zend-debug": "self.version",
+            "zendframework/zend-di": "self.version",
+            "zendframework/zend-dom": "self.version",
+            "zendframework/zend-escaper": "self.version",
+            "zendframework/zend-eventmanager": "self.version",
+            "zendframework/zend-feed": "self.version",
+            "zendframework/zend-file": "self.version",
+            "zendframework/zend-filter": "self.version",
+            "zendframework/zend-form": "self.version",
+            "zendframework/zend-http": "self.version",
+            "zendframework/zend-i18n": "self.version",
+            "zendframework/zend-inputfilter": "self.version",
+            "zendframework/zend-json": "self.version",
+            "zendframework/zend-ldap": "self.version",
+            "zendframework/zend-loader": "self.version",
+            "zendframework/zend-log": "self.version",
+            "zendframework/zend-mail": "self.version",
+            "zendframework/zend-math": "self.version",
+            "zendframework/zend-memory": "self.version",
+            "zendframework/zend-mime": "self.version",
+            "zendframework/zend-modulemanager": "self.version",
+            "zendframework/zend-mvc": "self.version",
+            "zendframework/zend-navigation": "self.version",
+            "zendframework/zend-paginator": "self.version",
+            "zendframework/zend-permissions-acl": "self.version",
+            "zendframework/zend-permissions-rbac": "self.version",
+            "zendframework/zend-progressbar": "self.version",
+            "zendframework/zend-resources": "self.version",
+            "zendframework/zend-serializer": "self.version",
+            "zendframework/zend-server": "self.version",
+            "zendframework/zend-servicemanager": "self.version",
+            "zendframework/zend-session": "self.version",
+            "zendframework/zend-soap": "self.version",
+            "zendframework/zend-stdlib": "self.version",
+            "zendframework/zend-tag": "self.version",
+            "zendframework/zend-test": "self.version",
+            "zendframework/zend-text": "self.version",
+            "zendframework/zend-uri": "self.version",
+            "zendframework/zend-validator": "self.version",
+            "zendframework/zend-version": "self.version",
+            "zendframework/zend-view": "self.version",
+            "zendframework/zend-xmlrpc": "self.version"
+        },
+        "require-dev": {
+            "doctrine/annotations": ">=1.0",
+            "fabpot/php-cs-fixer": "1.*",
+            "ircmaxell/random-lib": "dev-master",
+            "ircmaxell/security-lib": "dev-master",
+            "mikey179/vfsstream": "1.2.*",
+            "phpunit/phpunit": "3.7.*",
+            "satooshi/php-coveralls": "dev-master",
+            "sebastianbergmann/phpcov": "1.1.0"
+        },
+        "suggest": {
+            "doctrine/annotations": "Doctrine Annotations >=1.0 for annotation features",
+            "ext-intl": "ext/intl for i18n features (included in default builds of PHP)",
+            "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if OpenSSL/Mcrypt extensions are unavailable",
+            "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services",
+            "zendframework/zendpdf": "ZendPdf for creating PDF representations of barcodes",
+            "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha for rendering ReCaptchas in Zend\\Captcha and/or Zend\\Form"
+        },
+        "time": "2015-03-12 14:02:09",
+        "bin": [
+            "bin/classmap_generator.php",
+            "bin/pluginmap_generator.php",
+            "bin/templatemap_generator.php"
+        ],
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.3-dev",
+                "dev-develop": "2.4-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Zend\\": "library/"
+            }
+        },
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "description": "Zend Framework 2",
+        "homepage": "http://framework.zend.com/",
+        "keywords": [
+            "framework",
+            "zf2"
+        ],
+        "support": {
+            "source": "https://github.com/zendframework/zf2/tree/release-2.3.6",
+            "issues": "https://github.com/zendframework/zf2/issues"
+        }
     }
 ]
diff --git a/vendor/oyejorge/less.php/.travis.yml b/vendor/oyejorge/less.php/.travis.yml
index ef25ba6e72f401a28d105d6352c78277d3c5ce02..b93f78863b616b6d5426371dd1b6b9b906a15e55 100644
--- a/vendor/oyejorge/less.php/.travis.yml
+++ b/vendor/oyejorge/less.php/.travis.yml
@@ -1,7 +1,7 @@
 language: php
 php:
+  - "5.6"
   - "5.5"
   - "5.4"
   - "5.3"
-  - "5.2"
   - hhvm
diff --git a/vendor/oyejorge/less.php/README.md b/vendor/oyejorge/less.php/README.md
index a0fbf36e2216f36914827cafc08a3c6a28188483..1c53364d4e5b87ef7a9128569db1666a5bf177da 100644
--- a/vendor/oyejorge/less.php/README.md
+++ b/vendor/oyejorge/less.php/README.md
@@ -315,7 +315,7 @@ Transitioning from Leafo/lessphp
 ---
 Projects looking for an easy transition from leafo/lessphp can use the lessc.inc.php adapter. To use, [Download the less.php source code](https://github.com/oyejorge/less.php/archive/master.zip) and unzip the files into your project so that the new 'lessc.inc.php' replaces the existing 'lessc.inc.php'.
 
-Note, the 'setPreserveComments', 'registerFunction' and 'unregisterFunction' will no longer have any effect on the compiled less.
+Note, the 'setPreserveComments' will no longer have any effect on the compiled less.
 
 Credits
 ---
diff --git a/vendor/oyejorge/less.php/bin/lessc b/vendor/oyejorge/less.php/bin/lessc
index e8a818ca78b65da8ceeacb570e7e442c841fcd37..0d93f303b9590ec67df6f4f6d134e57ce72c0bf4 100755
--- a/vendor/oyejorge/less.php/bin/lessc
+++ b/vendor/oyejorge/less.php/bin/lessc
@@ -157,7 +157,7 @@ if ($watch) {
 			}
 
 			file_put_contents($output, $parser->getCss());
-			echo("lessc: output file recompilled\n");
+			echo("lessc: output file recompiled\n");
 		}
 
 		sleep(1);
diff --git a/vendor/oyejorge/less.php/lessc.inc.php b/vendor/oyejorge/less.php/lessc.inc.php
index ac1be62db6b99ac243bfa6d7f32033cb3e43f4ac..808f4c49688d635adc59164304da1943c4e0dfb0 100644
--- a/vendor/oyejorge/less.php/lessc.inc.php
+++ b/vendor/oyejorge/less.php/lessc.inc.php
@@ -20,6 +20,7 @@ class lessc{
 
 	public $importDir = '';
 	protected $allParsedFiles = array();
+	protected $libFunctions = array();
 	protected $registeredVars = array();
 	private $formatterName;
 
@@ -40,8 +41,12 @@ class lessc{
 	}
 
 	public function setPreserveComments($preserve) {}
-	public function registerFunction($name, $func) {}
-	public function unregisterFunction($name) {}
+	public function registerFunction($name, $func) {
+		$this->libFunctions[$name] = $func;
+	}
+	public function unregisterFunction($name) {
+		unset($this->libFunctions[$name]);
+	}
 
 	public function setVariables($variables){
 		foreach( $variables as $name => $value ){
@@ -58,23 +63,29 @@ class lessc{
 	}
 
 	public function parse($buffer, $presets = array()){
-		$options = array();
 		$this->setVariables($presets);
-		
-		switch($this->formatterName){
-			case 'compressed':
-				$options['compress'] = true;
-				break;
-		}
 
-		$parser = new Less_Parser($options);
+		$parser = new Less_Parser($this->getOptions());
 		$parser->setImportDirs($this->getImportDirs());
 		if( count( $this->registeredVars ) ) $parser->ModifyVars( $this->registeredVars );
+		foreach ($this->libFunctions as $name => $func) {
+			$parser->registerFunction($name, $func);
+		}
 		$parser->parse($buffer);
 
 		return $parser->getCss();
 	}
 
+	protected function getOptions(){
+		$options = array();
+		switch($this->formatterName){
+			case 'compressed':
+				$options['compress'] = true;
+				break;
+		}
+		return $options;
+	}
+
 	protected function getImportDirs(){
 		$dirs_ = (array)$this->importDir;
 		$dirs = array();
@@ -91,11 +102,14 @@ class lessc{
 
 		$this->allParsedFiles = array();
 
-		$parser = new Less_Parser();
+		$parser = new Less_Parser($this->getOptions());
 		$parser->SetImportDirs($this->getImportDirs());
 		if( count( $this->registeredVars ) ){
 			$parser->ModifyVars( $this->registeredVars );
 		}
+		foreach ($this->libFunctions as $name => $func) {
+			$parser->registerFunction($name, $func);
+		}
 		$parser->parse($string);
 		$out = $parser->getCss();
 
@@ -124,9 +138,12 @@ class lessc{
 		$this->allParsedFiles = array();
 		$this->addParsedFile($fname);
 
-		$parser = new Less_Parser();
+		$parser = new Less_Parser($this->getOptions());
 		$parser->SetImportDirs($this->getImportDirs());
 		if( count( $this->registeredVars ) ) $parser->ModifyVars( $this->registeredVars );
+		foreach ($this->libFunctions as $name => $func) {
+			$parser->registerFunction($name, $func);
+		}
 		$parser->parseFile($fname);
 		$out = $parser->getCss();
 
diff --git a/vendor/oyejorge/less.php/lib/Less/Cache.php b/vendor/oyejorge/less.php/lib/Less/Cache.php
index 543322422ae536457301f428da531800df4932b2..e4023ef57c272d9ee3c9a5e8add904270e8198f6 100755
--- a/vendor/oyejorge/less.php/lib/Less/Cache.php
+++ b/vendor/oyejorge/less.php/lib/Less/Cache.php
@@ -11,7 +11,17 @@ require_once( dirname(__FILE__).'/Version.php');
  */
 class Less_Cache{
 
-	public static $cache_dir = false;		// directory less.php can use for storing data
+	// directory less.php can use for storing data
+	public static $cache_dir	= false;
+
+	// prefix for the storing data
+	public static $prefix		= 'lessphp_';
+
+	// prefix for the storing vars
+	public static $prefix_vars	= 'lessphpvars_';
+
+	// specifies the number of seconds after which data created by less.php will be seen as 'garbage' and potentially cleaned up
+	public static $gc_lifetime	= 604800;
 
 
 	/**
@@ -36,6 +46,22 @@ class Less_Cache{
 			throw new Exception('cache_dir not set');
 		}
 
+		if( isset($parser_options['prefix']) ){
+			Less_Cache::$prefix = $parser_options['prefix'];
+		}
+
+		if( empty(Less_Cache::$prefix) ){
+			throw new Exception('prefix not set');
+		}
+
+		if( isset($parser_options['prefix_vars']) ){
+			Less_Cache::$prefix_vars = $parser_options['prefix_vars'];
+		}
+
+		if( empty(Less_Cache::$prefix_vars) ){
+			throw new Exception('prefix_vars not set');
+		}
+
 		self::CheckCacheDir();
 		$less_files = (array)$less_files;
 
@@ -43,7 +69,7 @@ class Less_Cache{
 		//create a file for variables
 		if( !empty($modify_vars) ){
 			$lessvars = Less_Parser::serializeVars($modify_vars);
-			$vars_file = Less_Cache::$cache_dir.'lessphpvars_' . sha1($lessvars) . '.less';
+			$vars_file = Less_Cache::$cache_dir . Less_Cache::$prefix_vars . sha1($lessvars) . '.less';
 
 			if( !file_exists($vars_file) ){
 				file_put_contents($vars_file, $lessvars);
@@ -55,21 +81,14 @@ class Less_Cache{
 
 		// generate name for compiled css file
 		$hash = md5(json_encode($less_files));
- 		$list_file = Less_Cache::$cache_dir.'lessphp_'.$hash.'.list';
+ 		$list_file = Less_Cache::$cache_dir . Less_Cache::$prefix . $hash . '.list';
 
 
  		// check cached content
  		if( !isset($parser_options['use_cache']) || $parser_options['use_cache'] === true ){
 			if( file_exists($list_file) ){
 
-				$list = explode("\n",file_get_contents($list_file));
-
-				//pop the cached name that should match $compiled_name
-				$cached_name = array_pop($list);
-				if( !preg_match('/^lessphp_[a-f0-9]+\.css$/',$cached_name) ){
-					$list[] = $cached_name;
-					$cached_name = false;
-				}
+				self::ListFiles($list_file, $list, $cached_name);
 				$compiled_name = self::CompiledName($list);
 
 				// if $cached_name != $compiled_name, we know we need to recompile
@@ -79,7 +98,6 @@ class Less_Cache{
 
 					if( $output_file && file_exists($output_file) ){
 						@touch($list_file);
-						@touch($output_file);
 						return basename($output_file); // for backwards compatibility, we just return the name of the file
 					}
 				}
@@ -184,7 +202,7 @@ class Less_Cache{
 			$temp[] = filemtime($file)."\t".filesize($file)."\t".$file;
 		}
 
-		return 'lessphp_'.sha1(json_encode($temp)).'.css';
+		return Less_Cache::$prefix.sha1(json_encode($temp)).'.css';
 	}
 
 
@@ -213,6 +231,10 @@ class Less_Cache{
 	}
 
 
+	/**
+	 * Delete unused less.php files
+	 *
+	 */
 	public static function CleanCache(){
 		static $clean = false;
 
@@ -222,15 +244,49 @@ class Less_Cache{
 
 		$files = scandir(Less_Cache::$cache_dir);
 		if( $files ){
-			$check_time = time() - 604800;
+			$check_time = time() - self::$gc_lifetime;
 			foreach($files as $file){
-				if( strpos($file,'lessphp_') !== 0 ){
+
+				// don't delete if the file wasn't created with less.php
+				if( strpos($file,Less_Cache::$prefix) !== 0 ){
 					continue;
 				}
+
 				$full_path = Less_Cache::$cache_dir.'/'.$file;
-				if( filemtime($full_path) > $check_time ){
+
+				// make sure the file still exists
+				// css files may have already been deleted
+				if( !file_exists($full_path) ){
+					continue;
+				}
+				$mtime = filemtime($full_path);
+
+				// don't delete if it's a relatively new file
+				if( $mtime > $check_time ){
 					continue;
 				}
+
+				$parts = explode('.',$file);
+				$type = array_pop($parts);
+
+
+				// delete css files based on the list files
+				if( $type === 'css' ){
+					continue;
+				}
+
+
+				// delete the list file and associated css file
+				if( $type === 'list' ){
+					self::ListFiles($full_path, $list, $css_file_name);
+					if( $css_file_name ){
+						$css_file = Less_Cache::$cache_dir.'/'.$css_file_name;
+						if( file_exists($css_file) ){
+							unlink($css_file);
+						}
+					}
+				}
+
 				unlink($full_path);
 			}
 		}
@@ -238,4 +294,23 @@ class Less_Cache{
 		$clean = true;
 	}
 
+
+	/**
+	 * Get the list of less files and generated css file from a list file
+	 *
+	 */
+	static function ListFiles($list_file, &$list, &$css_file_name ){
+
+		$list = explode("\n",file_get_contents($list_file));
+
+		//pop the cached name that should match $compiled_name
+		$css_file_name = array_pop($list);
+
+		if( !preg_match('/^' . Less_Cache::$prefix . '[a-f0-9]+\.css$/',$css_file_name) ){
+			$list[] = $css_file_name;
+			$css_file_name = false;
+		}
+
+	}
+
 }
\ No newline at end of file
diff --git a/vendor/oyejorge/less.php/lib/Less/Exception/Parser.php b/vendor/oyejorge/less.php/lib/Less/Exception/Parser.php
index d8a415a66a04c17ecf4f54a7bd9df7ba46b62d15..69abd151f0b5c3f23199d5f94d7e76b5035917fa 100755
--- a/vendor/oyejorge/less.php/lib/Less/Exception/Parser.php
+++ b/vendor/oyejorge/less.php/lib/Less/Exception/Parser.php
@@ -99,7 +99,12 @@ class Less_Exception_Parser extends Exception{
 	 */
 	public function getLineNumber(){
 		if( $this->index ){
-			return substr_count($this->input, "\n", 0, $this->index) + 1;
+			// https://bugs.php.net/bug.php?id=49790
+			if (ini_get("mbstring.func_overload")) {
+				return substr_count(substr($this->input, 0, $this->index), "\n") + 1;
+			} else {
+				return substr_count($this->input, "\n", 0, $this->index) + 1;
+			}
 		}
 		return 1;
 	}
diff --git a/vendor/oyejorge/less.php/lib/Less/Parser.php b/vendor/oyejorge/less.php/lib/Less/Parser.php
index 0452d34a37b9966a88895d437deecad58ab651d1..6c02bed86359a0264e778a04c3da798d692bdb0f 100755
--- a/vendor/oyejorge/less.php/lib/Less/Parser.php
+++ b/vendor/oyejorge/less.php/lib/Less/Parser.php
@@ -174,38 +174,48 @@ class Less_Parser{
 		$locale = setlocale(LC_NUMERIC, 0);
 		setlocale(LC_NUMERIC, "C");
 
+		try {
 
- 		$root = new Less_Tree_Ruleset(array(), $this->rules );
-		$root->root = true;
-		$root->firstRoot = true;
+	 		$root = new Less_Tree_Ruleset(array(), $this->rules );
+			$root->root = true;
+			$root->firstRoot = true;
 
 
-		$this->PreVisitors($root);
+			$this->PreVisitors($root);
 
-		self::$has_extends = false;
-		$evaldRoot = $root->compile($this->env);
+			self::$has_extends = false;
+			$evaldRoot = $root->compile($this->env);
 
 
 
-		$this->PostVisitors($evaldRoot);
+			$this->PostVisitors($evaldRoot);
 
-		if( Less_Parser::$options['sourceMap'] ){
-			$generator = new Less_SourceMap_Generator($evaldRoot, Less_Parser::$contentsMap, Less_Parser::$options );
-			// will also save file
-			// FIXME: should happen somewhere else?
-			$css = $generator->generateCSS();
-		}else{
-			$css = $evaldRoot->toCSS();
-		}
+			if( Less_Parser::$options['sourceMap'] ){
+				$generator = new Less_SourceMap_Generator($evaldRoot, Less_Parser::$contentsMap, Less_Parser::$options );
+				// will also save file
+				// FIXME: should happen somewhere else?
+				$css = $generator->generateCSS();
+			}else{
+				$css = $evaldRoot->toCSS();
+			}
 
-		if( Less_Parser::$options['compress'] ){
-			$css = preg_replace('/(^(\s)+)|((\s)+$)/', '', $css);
-		}
+			if( Less_Parser::$options['compress'] ){
+				$css = preg_replace('/(^(\s)+)|((\s)+$)/', '', $css);
+			}
+
+		} catch (Exception $exc) {
+        	   // Intentional fall-through so we can reset environment
+        	}
 
 		//reset php settings
 		@ini_set('precision',$precision);
 		setlocale(LC_NUMERIC, $locale);
 
+		// Rethrow exception after we handled resetting the environment
+		if (!empty($exc)) {
+            		throw $exc;
+        	}
+
 		return $css;
 	}
 
@@ -318,8 +328,13 @@ class Less_Parser{
 
 
 		$previousFileInfo = $this->env->currentFileInfo;
-		$filename = self::WinPath($filename);
+
+
+		if( $filename ){
+			$filename = self::WinPath(realpath($filename));
+		}
 		$uri_root = self::WinPath($uri_root);
+
 		$this->SetFileInfo($filename, $uri_root);
 
 		self::AddParsedFile($filename);
@@ -451,7 +466,17 @@ class Less_Parser{
 	 * @param string $file_path
 	 */
 	private function _parse( $file_path = null ){
+		if (ini_get("mbstring.func_overload")) {
+			$mb_internal_encoding = ini_get("mbstring.internal_encoding");
+			@ini_set("mbstring.internal_encoding", "ascii");
+		}
+
 		$this->rules = array_merge($this->rules, $this->GetRules( $file_path ));
+
+		//reset php settings
+		if (isset($mb_internal_encoding)) {
+			@ini_set("mbstring.internal_encoding", $mb_internal_encoding);
+		}
 	}
 
 
@@ -595,7 +620,7 @@ class Less_Parser{
 			$parts[] = $env;
 			$parts[] = Less_Version::cache_version;
 			$parts[] = Less_Parser::$options['cache_method'];
-			return Less_Cache::$cache_dir.'lessphp_'.base_convert( sha1(json_encode($parts) ), 16, 36).'.lesscache';
+			return Less_Cache::$cache_dir . Less_Cache::$prefix . base_convert( sha1(json_encode($parts) ), 16, 36) . '.lesscache';
 		}
 	}
 
diff --git a/vendor/oyejorge/less.php/lib/Less/Tree/Color.php b/vendor/oyejorge/less.php/lib/Less/Tree/Color.php
index 8ca2c66615346d557df6c099671807079c6439c4..77af07a6e4b30803071cf9caeb8b34c6cd2bb2b7 100755
--- a/vendor/oyejorge/less.php/lib/Less/Tree/Color.php
+++ b/vendor/oyejorge/less.php/lib/Less/Tree/Color.php
@@ -71,7 +71,7 @@ class Less_Tree_Color extends Less_Tree{
 		// Values are capped between `0` and `255`, rounded and zero-padded.
 		//
 		if( $alpha < 1 ){
-			if( $alpha === 0 && isset($this->isTransparentKeyword) && $this->isTransparentKeyword ){
+			if( ( $alpha === 0 || $alpha === 0.0 ) && isset($this->isTransparentKeyword) && $this->isTransparentKeyword ){
 				return 'transparent';
 			}
 
diff --git a/vendor/oyejorge/less.php/lib/Less/Tree/Import.php b/vendor/oyejorge/less.php/lib/Less/Tree/Import.php
index 0b552e83d630101b94a32d21f619f823854e487c..1752744e9cee0bcc655ffa2dd7b6b564d56a7dc2 100755
--- a/vendor/oyejorge/less.php/lib/Less/Tree/Import.php
+++ b/vendor/oyejorge/less.php/lib/Less/Tree/Import.php
@@ -231,13 +231,17 @@ class Less_Tree_Import extends Less_Tree{
 						$full_path = $path;
 						return array( $full_path, $uri );
 					}
-				}else{
+				}elseif( !empty($rootpath) ){
 					$path = rtrim($rootpath,'/\\').'/'.ltrim($evald_path,'/\\');
 
 					if( file_exists($path) ){
 						$full_path = Less_Environment::normalizePath($path);
 						$uri = Less_Environment::normalizePath(dirname($rooturi.$evald_path));
 						return array( $full_path, $uri );
+					} elseif( file_exists($path.'.less') ){
+						$full_path = Less_Environment::normalizePath($path.'.less');
+						$uri = Less_Environment::normalizePath(dirname($rooturi.$evald_path.'.less'));
+						return array( $full_path, $uri );
 					}
 				}
 			}
@@ -279,7 +283,7 @@ class Less_Tree_Import extends Less_Tree{
 	 */
 	private function Skip($path, $env){
 
-		$path = realpath($path);
+		$path = Less_Parser::winPath(realpath($path));
 
 		if( $path && Less_Parser::FileParsed($path) ){
 
diff --git a/vendor/oyejorge/less.php/lib/Less/Tree/Mixin/Definition.php b/vendor/oyejorge/less.php/lib/Less/Tree/Mixin/Definition.php
index 6fb42e1928db8ae41552aa5b49372e9d181ce98c..b16d688712755620aa6e02ebeb80c17a4c8a6ed4 100755
--- a/vendor/oyejorge/less.php/lib/Less/Tree/Mixin/Definition.php
+++ b/vendor/oyejorge/less.php/lib/Less/Tree/Mixin/Definition.php
@@ -15,7 +15,7 @@ class Less_Tree_Mixin_Definition extends Less_Tree_Ruleset{
 
 
 	// less.js : /lib/less/tree/mixin.js : tree.mixin.Definition
-	public function __construct($name, $params, $rules, $condition, $variadic = false, $frames = null ){
+	public function __construct($name, $params, $rules, $condition, $variadic = false, $frames = array() ){
 		$this->name = $name;
 		$this->selectors = array(new Less_Tree_Selector(array( new Less_Tree_Element(null, $name))));
 
@@ -190,6 +190,11 @@ class Less_Tree_Mixin_Definition extends Less_Tree_Ruleset{
 			return true;
 		}
 
+		// set array to prevent error on array_merge
+		if(!is_array($this->frames)) {
+             $this->frames = array();
+        }
+
 		$frame = $this->compileParams($env, array_merge($this->frames,$env->frames), $args );
 
 		$compile_env = new Less_Environment();
@@ -199,6 +204,8 @@ class Less_Tree_Mixin_Definition extends Less_Tree_Ruleset{
 				, $env->frames		// the current environment frames
 			);
 
+		$compile_env->functions = $env->functions;
+
 		return (bool)$this->condition->compile($compile_env);
 	}
 
diff --git a/vendor/oyejorge/less.php/lib/Less/Tree/Variable.php b/vendor/oyejorge/less.php/lib/Less/Tree/Variable.php
index d2eb868f44f4561c4b6c58f39520961d35e868da..cc0182cde9445a5af2dc8c4fb4a715686437bec1 100755
--- a/vendor/oyejorge/less.php/lib/Less/Tree/Variable.php
+++ b/vendor/oyejorge/less.php/lib/Less/Tree/Variable.php
@@ -46,7 +46,7 @@ class Less_Tree_Variable extends Less_Tree{
 			}
 		}
 
-		throw new Less_Exception_Compiler("variable " . $name . " is undefined in file ".$this->currentFileInfo["filename"], null, $this->index );
+		throw new Less_Exception_Compiler("variable " . $name . " is undefined in file ".$this->currentFileInfo["filename"], null, $this->index, $this->currentFileInfo);
 	}
 
 }
diff --git a/vendor/oyejorge/less.php/lib/Less/Version.php b/vendor/oyejorge/less.php/lib/Less/Version.php
index 28c8ae14d5e452cffe1eae5550ccecba3defdfbb..1e95433382ede530686b7c78ea202fe47ed72682 100755
--- a/vendor/oyejorge/less.php/lib/Less/Version.php
+++ b/vendor/oyejorge/less.php/lib/Less/Version.php
@@ -8,7 +8,7 @@
  */
 class Less_Version{
 
-	const version = '1.7.0.2';			// The current build number of less.php
+	const version = '1.7.0.3';			// The current build number of less.php
 	const less_version = '1.7';			// The less.js version that this build should be compatible with
     const cache_version = '170';		// The parser cache version
 
diff --git a/vendor/oyejorge/less.php/test/Fixtures/bug-reports/css/202.css b/vendor/oyejorge/less.php/test/Fixtures/bug-reports/css/202.css
new file mode 100644
index 0000000000000000000000000000000000000000..c0c66bd40c81c53f1771ea59bdb049e412d2c3fa
--- /dev/null
+++ b/vendor/oyejorge/less.php/test/Fixtures/bug-reports/css/202.css
@@ -0,0 +1,9 @@
+a {
+  color: red;
+}
+.color {
+  color: transparent;
+}
+.black {
+  color: black;
+}
diff --git a/vendor/oyejorge/less.php/test/Fixtures/bug-reports/less/202.less b/vendor/oyejorge/less.php/test/Fixtures/bug-reports/less/202.less
new file mode 100644
index 0000000000000000000000000000000000000000..64da4c4e16ab5124b6d5a6a5f95b2b13e9b72308
--- /dev/null
+++ b/vendor/oyejorge/less.php/test/Fixtures/bug-reports/less/202.less
@@ -0,0 +1,2 @@
+@import "import/202-import1.less";
+@import "import/202-last.less";
\ No newline at end of file
diff --git a/vendor/oyejorge/less.php/test/Fixtures/bug-reports/less/import/202-import1.less b/vendor/oyejorge/less.php/test/Fixtures/bug-reports/less/import/202-import1.less
new file mode 100644
index 0000000000000000000000000000000000000000..985bc7e4f06e4a2f2661b9e460ab56f02d78ad0b
--- /dev/null
+++ b/vendor/oyejorge/less.php/test/Fixtures/bug-reports/less/import/202-import1.less
@@ -0,0 +1,4 @@
+a {
+	color: red;
+}
+@import "202-import2.less"; // importing some one-time usable module
\ No newline at end of file
diff --git a/vendor/oyejorge/less.php/test/Fixtures/bug-reports/less/import/202-import2.less b/vendor/oyejorge/less.php/test/Fixtures/bug-reports/less/import/202-import2.less
new file mode 100644
index 0000000000000000000000000000000000000000..a7dc5c4d9b11a76527fb2f7ebe1a3776594edd4b
--- /dev/null
+++ b/vendor/oyejorge/less.php/test/Fixtures/bug-reports/less/import/202-import2.less
@@ -0,0 +1,3 @@
+.color {
+	color: transparent;
+}
\ No newline at end of file
diff --git a/vendor/oyejorge/less.php/test/Fixtures/bug-reports/less/import/202-last.less b/vendor/oyejorge/less.php/test/Fixtures/bug-reports/less/import/202-last.less
new file mode 100644
index 0000000000000000000000000000000000000000..f98fe23440eec2728cc225fa994fd0b415386e44
--- /dev/null
+++ b/vendor/oyejorge/less.php/test/Fixtures/bug-reports/less/import/202-last.less
@@ -0,0 +1,4 @@
+.black {
+	color: black;
+}
+@import "202-import2.less"; // import one time usable module
\ No newline at end of file
diff --git a/vendor/oyejorge/less.php/test/index.php b/vendor/oyejorge/less.php/test/index.php
index e922dbf15073d38d939a112f44e5e8e26f13e08a..be4741e87bfd3b75a30ac32d575415e589048d0e 100755
--- a/vendor/oyejorge/less.php/test/index.php
+++ b/vendor/oyejorge/less.php/test/index.php
@@ -20,6 +20,9 @@ Less_Autoloader::register();
 require_once $dir.'/lessc.inc.php';
 
 
+//? performance improvement (php 5.3+)
+//https://github.com/composer/composer/pull/3482
+//gc_disable();
 
 //using release
 /* require_once $dir.'/test/release/Less.php'; */
diff --git a/vendor/zendframework/zendframework/CHANGELOG.md b/vendor/zendframework/zendframework/CHANGELOG.md
index 497de1d2a50dcf09fea606f97035d4401fcdf4d9..3d2a7cf66cc998470d4fef8c912f975a231fffcf 100644
--- a/vendor/zendframework/zendframework/CHANGELOG.md
+++ b/vendor/zendframework/zendframework/CHANGELOG.md
@@ -1,5 +1,15 @@
 # CHANGELOG
 
+## 2.3.6 (2015-03-12)
+
+### SECURITY UPDATES
+
+- **ZF2015-03** `Zend\Validator\Csrf` was incorrectly testing null or
+  improperly formatted token identifiers, allowing them to pass validation. This
+  release provides patches to correct the behavior. If you use the validator, or
+  the corresponding `Zend\Form\Element\Csrf`, we recommend upgrading
+  immediately.
+
 ## 2.3.5 (2015-02-18)
 
 - [6666: bugfix : options can't be passed to SeparatorToSeparator via PluginManager](https://github.com/zendframework/zf2/pull/6666)
diff --git a/vendor/zendframework/zendframework/README.md b/vendor/zendframework/zendframework/README.md
index 8102139bfc0b799dcd7a3d9d3aa32f87ba681711..40e35c4274659155b8cecd9aaa1398d8201f8e48 100644
--- a/vendor/zendframework/zendframework/README.md
+++ b/vendor/zendframework/zendframework/README.md
@@ -11,20 +11,21 @@ Develop:
 
 ## RELEASE INFORMATION
 
-*Zend Framework 2.3.5*
+*Zend Framework 2.3.6*
 
-This is the fifth maintenance release for the version 2.3 series.
+This is the sixth maintenance release for the version 2.3 series.
 
-18 Feb 2015
+DD MMM YYYY
 
-### UPDATES IN 2.3.5
+### UPDATES IN 2.3.6
 
 This release contains security updates:
 
-- **ZF2015-02:** `Zend\Db\Adapter\Platform\Postgresql` was incorrectly using
-  `\\` to escape double quotes in identifiers and values, which could lead to
-  SQL injection vectors. We have provided patches that use proper escaping. If
-  you use Postgresql with Zend Framework 2, we recommend upgrading immediately.
+- **ZF2015-03** `Zend\Validator\Csrf` was incorrectly testing null or
+  improperly formatted token identifiers, allowing them to pass validation. This
+  release provides patches to correct the behavior. If you use the validator, or
+  the corresponding `Zend\Form\Element\Csrf`, we recommend upgrading
+  immediately.
 
 Please see [CHANGELOG.md](CHANGELOG.md).
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractRestfulController.php b/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractRestfulController.php
index 75850cb73230dbbc70e52d6a4604acaaad79a89a..88b0725ccbbb0e5648623eae02b358a52cabef31 100644
--- a/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractRestfulController.php
+++ b/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractRestfulController.php
@@ -116,7 +116,7 @@ abstract class AbstractRestfulController extends AbstractController
      *
      * @return mixed
      */
-    public function deleteList()
+    public function deleteList($data)
     {
         $this->response->setStatusCode(405);
 
@@ -347,6 +347,8 @@ abstract class AbstractRestfulController extends AbstractController
             // DELETE
             case 'delete':
                 $id = $this->getIdentifier($routeMatch, $request);
+                $data = $this->processBodyContent($request);
+
                 if ($id !== false) {
                     $action = 'delete';
                     $return = $this->delete($id);
@@ -354,7 +356,7 @@ abstract class AbstractRestfulController extends AbstractController
                 }
 
                 $action = 'deleteList';
-                $return = $this->deleteList();
+                $return = $this->deleteList($data);
                 break;
             // GET
             case 'get':
diff --git a/vendor/zendframework/zendframework/library/Zend/Validator/Csrf.php b/vendor/zendframework/zendframework/library/Zend/Validator/Csrf.php
index 49af145db881b419cb3158238a4287b8d5d54e65..ef64ee3c19cfbd4366cfc866806a76aeef711fab 100644
--- a/vendor/zendframework/zendframework/library/Zend/Validator/Csrf.php
+++ b/vendor/zendframework/zendframework/library/Zend/Validator/Csrf.php
@@ -121,7 +121,10 @@ class Csrf extends AbstractValidator
         $tokenId = $this->getTokenIdFromHash($value);
         $hash = $this->getValidationToken($tokenId);
 
-        if ($this->getTokenFromHash($value) !== $this->getTokenFromHash($hash)) {
+        $tokenFromValue = $this->getTokenFromHash($value);
+        $tokenFromHash = $this->getTokenFromHash($hash);
+
+        if (!$tokenFromValue || !$tokenFromHash || ($tokenFromValue !== $tokenFromHash)) {
             $this->error(self::NOT_SAME);
             return false;
         }
@@ -331,7 +334,7 @@ class Csrf extends AbstractValidator
             return $this->formatHash($session->tokenList[$tokenId], $tokenId);
         }
 
-        return null;
+        return;
     }
 
     /**
@@ -363,7 +366,7 @@ class Csrf extends AbstractValidator
         $data = explode('-', $hash);
 
         if (! isset($data[1])) {
-            return null;
+            return;
         }
 
         return $data[1];
diff --git a/vendor/zendframework/zendframework/library/Zend/Version/Version.php b/vendor/zendframework/zendframework/library/Zend/Version/Version.php
index 711e32001fa7dc17063f7bbb47c2c296732a05bc..6db81be907d040c1e3066326accb15aa5cbbb313 100644
--- a/vendor/zendframework/zendframework/library/Zend/Version/Version.php
+++ b/vendor/zendframework/zendframework/library/Zend/Version/Version.php
@@ -20,7 +20,7 @@ final class Version
     /**
      * Zend Framework version identification - see compareVersion()
      */
-    const VERSION = '2.3.5';
+    const VERSION = '2.3.6';
 
     /**
      * Github Service Identifier for version information is retrieved from