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