diff --git a/composer.json b/composer.json index 6dc4f17682..6600976303 100644 --- a/composer.json +++ b/composer.json @@ -1,106 +1,100 @@ { - "name" : "phraseanet/phraseanet", - "description" : "Phraseanet", - "license" : "GPL-3.0", - "config": { - "bin-dir" : "bin/" + "name": "phraseanet/phraseanet", + "description": "Phraseanet", + "license": "GPL-3.0", + "config": { + "bin-dir": "bin/" }, "repositories": [ { "type": "vcs", - "url": "https://github.com/alchemy-fr/tcpdf-clone" + "url": "https://github.com/alchemy-fr/tcpdf-clone" }, { "type": "git", - "url": "https://github.com/romainneutron/ProcessManager.git" + "url": "https://github.com/romainneutron/ProcessManager.git" }, { "type": "vcs", - "url": "https://github.com/alchemy-fr/imagine" + "url": "https://github.com/alchemy-fr/imagine" }, { "type": "vcs", - "url": "https://github.com/alchemy-fr/phpexiftool" + "url": "https://github.com/alchemy-fr/phpexiftool" }, { "type": "vcs", - "url": "https://github.com/alchemy-fr/JMSTranslationBundle" + "url": "https://github.com/alchemy-fr/JMSTranslationBundle" } ], - "require": { - "php" : ">=5.5", - "alchemy/oauth2php" : "1.0.0", - "alchemy/phlickr" : "0.2.9", - "alchemy/task-manager" : "2.0.x-dev@dev", - "alchemy/zippy" : "0.2.x-dev@dev", - "dailymotion/sdk" : "~1.5", - "data-uri/data-uri" : "~0.1.0", - "doctrine/orm" : "~2.4.0", - "doctrine/dbal" : "~2.4.0", - "elasticsearch/elasticsearch" : "~1.0", - "facebook/php-sdk" : "~3.0", - "gedmo/doctrine-extensions" : "~2.3.0", - "alchemy/google-plus-api-client" : "~0.6.2", - "alchemy/geonames-api-consumer" : "~0.1.0", - "goodby/csv" : "dev-master", - "guzzle/guzzle" : "~3.0", - "imagine/imagine" : "dev-alchemy-0.6.2 as 0.6.2", - "igorw/get-in" : "~1.0", - "ircmaxell/random-lib" : "~1.0", - "jms/serializer" : "~0.10", - "jms/translation-bundle" : "dev-master as 1.1.0", - "justinrainbow/json-schema" : "~1.3", - "mediavorus/mediavorus" : "~0.4.0", - "media-alchemyst/media-alchemyst" : "~0.4", - "monolog/monolog" : "~1.3", - "mrclay/minify" : "~2.1.6", - "neutron/process-manager" : "2.0.x-dev@dev", - "neutron/silex-imagine-provider" : "~0.1.0", - "neutron/silex-filesystem-provider": "~1.0", - "neutron/sphinxsearch-api" : "~2.0.6", - "neutron/recaptcha" : "~0.1.0", - "neutron/temporary-filesystem" : "~2.1", - "php-ffmpeg/php-ffmpeg" : "~0.5.0", - "php-xpdf/php-xpdf" : "~0.2.1", - "phpexiftool/phpexiftool" : "dev-0.4.1-mwg-metadata-copy as 0.4.1", - "rhumsaa/uuid" : "~2.7", - "silex/silex" : "1.1.x-dev@dev", - "silex/web-profiler" : "~1.0.0@dev", - "sorien/silex-dbal-profiler" : "~1.0.0", - "swiftmailer/swiftmailer" : "~5.3.0", - "symfony/symfony" : "~2.4", - "alchemy-fr/tcpdf-clone" : "~6.0", - "themattharris/tmhoauth" : "~0.7", - "twig/twig" : "~1.14, >=1.14.2", - "twig/extensions" : "~1.0", - "vierbergenlars/php-semver" : "~2.1", - "zend/gdata" : "~1.12.1", - "doctrine/migrations" : "1.0.x-dev@dev", - "willdurand/negotiation" : "~1.3", - "hoa/compiler": "2.14.09.23", - "dflydev/doctrine-orm-service-provider" : "~1.0", - "roave/security-advisories": "dev-master" + "require": { + "php": ">=5.5", + + "alchemy-fr/tcpdf-clone": "~6.0", + "alchemy/geonames-api-consumer": "~0.1.0", + "alchemy/google-plus-api-client": "~0.6.2", + "alchemy/oauth2php": "1.0.0", + "alchemy/phlickr": "0.2.9", + "alchemy/task-manager": "2.0.x-dev@dev", + "alchemy/zippy": "0.2.x-dev@dev", + "dailymotion/sdk": "~1.5", + "data-uri/data-uri": "~0.1.0", + "dflydev/doctrine-orm-service-provider": "~1.0", + "doctrine/dbal": "~2.4.0", + "doctrine/migrations": "1.0.x-dev@dev", + "doctrine/orm": "~2.4.0", + "elasticsearch/elasticsearch": "~1.0", + "facebook/php-sdk": "~3.0", + "gedmo/doctrine-extensions": "~2.3.0", + "goodby/csv": "dev-master", + "guzzle/guzzle": "~3.0", + "hoa/compiler": "2.14.09.23", + "igorw/get-in": "~1.0", + "imagine/imagine": "dev-alchemy-0.6.2 as 0.6.2", + "ircmaxell/random-lib": "~1.0", + "jms/serializer": "~0.10", + "jms/translation-bundle": "dev-master as 1.1.0", + "justinrainbow/json-schema": "~1.3", + "media-alchemyst/media-alchemyst": "~0.4", + "mediavorus/mediavorus": "~0.4.0", + "monolog/monolog": "~1.3", + "mrclay/minify": "~2.1.6", + "neutron/process-manager": "2.0.x-dev@dev", + "neutron/recaptcha": "~0.1.0", + "neutron/silex-filesystem-provider": "~1.0", + "neutron/silex-imagine-provider": "~0.1.0", + "neutron/sphinxsearch-api": "~2.0.6", + "neutron/temporary-filesystem": "~2.1", + "php-ffmpeg/php-ffmpeg": "~0.5.0", + "php-xpdf/php-xpdf": "~0.2.1", + "phpexiftool/phpexiftool": "dev-0.4.1-mwg-metadata-copy as 0.4.1", + "rhumsaa/uuid": "~2.7", + "roave/security-advisories": "dev-master", + "silex/silex": "~1.2", + "silex/web-profiler": "~1.0", + "sorien/silex-dbal-profiler": "~1.0.0", + "swiftmailer/swiftmailer": "~5.3.0", + "symfony/symfony": "~2.4", + "themattharris/tmhoauth": "~0.7", + "twig/extensions": "~1.0", + "twig/twig": "~1.14, >=1.14.2", + "vierbergenlars/php-semver": "~2.1", + "willdurand/negotiation": "~1.3", + "zend/gdata": "~1.12.1" }, - "require-dev": { - "phpunit/phpunit" : "~4.5", - "behat/behat" : "2.5.x-dev@dev", - "behat/gherkin" : "2.3.x-dev@dev", - "behat/mink" : "~1.4", - "behat/mink-extension" : "~1.0", - "behat/mink-goutte-driver" : "~1.0", - "behat/mink-selenium2-driver" : "~1.0", - "fabpot/goutte" : "~1.0", - "hoa/dispatcher": "0.14.09.23", - "hoa/console": "2.14.09.23" + "require-dev": { + "hoa/console": "2.14.09.23", + "hoa/dispatcher": "0.14.09.23", + "phpunit/phpunit": "~4.5" }, - "autoload": { + "autoload": { "psr-0": { - "" : "lib/classes", - "Alchemy" : "lib" + "Alchemy\\": "lib", + "": "lib/classes" } }, "include-path": ["vendor/zend/gdata/library"], - "extra": { + "extra": { "branch-alias": { "dev-master": "3.9.x-dev" } diff --git a/composer.lock b/composer.lock index f6ca1d4c58..7e70bf5881 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": "f9b2e04cf3000e1aee3c98fee738dea5", + "hash": "3ecc359e45901eca385f83233299d840", "packages": [ { "name": "alchemy-fr/tcpdf-clone", @@ -362,12 +362,12 @@ "source": { "type": "git", "url": "https://github.com/alchemy-fr/Zippy.git", - "reference": "d2f5e88f2436b9c1294e8819d951822abe39e9a7" + "reference": "16285231eb37587c6c32b86fa483c35853cd7515" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/alchemy-fr/Zippy/zipball/d2f5e88f2436b9c1294e8819d951822abe39e9a7", - "reference": "d2f5e88f2436b9c1294e8819d951822abe39e9a7", + "url": "https://api.github.com/repos/alchemy-fr/Zippy/zipball/16285231eb37587c6c32b86fa483c35853cd7515", + "reference": "16285231eb37587c6c32b86fa483c35853cd7515", "shasum": "" }, "require": { @@ -416,20 +416,60 @@ "tar", "zip" ], - "time": "2014-05-05 13:39:00" + "time": "2014-12-10 15:03:17" }, { - "name": "dailymotion/sdk", - "version": "1.6.2", + "name": "behat/transliterator", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/dailymotion/dailymotion-sdk-php.git", - "reference": "96b291b755e97906f54cafa60be4990ece624e83" + "url": "https://github.com/Behat/Transliterator.git", + "reference": "c93521d3462a554332d1ef5bb0e9b5b8ca4106c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dailymotion/dailymotion-sdk-php/zipball/96b291b755e97906f54cafa60be4990ece624e83", - "reference": "96b291b755e97906f54cafa60be4990ece624e83", + "url": "https://api.github.com/repos/Behat/Transliterator/zipball/c93521d3462a554332d1ef5bb0e9b5b8ca4106c4", + "reference": "c93521d3462a554332d1ef5bb0e9b5b8ca4106c4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Transliterator": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Artistic-1.0" + ], + "description": "String transliterator", + "keywords": [ + "i18n", + "slug", + "transliterator" + ], + "time": "2014-05-15 22:08:22" + }, + { + "name": "dailymotion/sdk", + "version": "1.6.3", + "source": { + "type": "git", + "url": "https://github.com/dailymotion/dailymotion-sdk-php.git", + "reference": "ad87686f58fc39848b4158127df9e6308ee68508" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dailymotion/dailymotion-sdk-php/zipball/ad87686f58fc39848b4158127df9e6308ee68508", + "reference": "ad87686f58fc39848b4158127df9e6308ee68508", "shasum": "" }, "type": "library", @@ -449,7 +489,7 @@ "dailymotion", "sdk" ], - "time": "2014-11-03 16:53:45" + "time": "2015-02-19 12:55:41" }, { "name": "data-uri/data-uri", @@ -560,16 +600,16 @@ }, { "name": "doctrine/annotations", - "version": "v1.2.1", + "version": "v1.2.3", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "6a6bec0670bb6e71a263b08bc1b98ea242928633" + "reference": "eeda578cbe24a170331a1cfdf78be723412df7a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/6a6bec0670bb6e71a263b08bc1b98ea242928633", - "reference": "6a6bec0670bb6e71a263b08bc1b98ea242928633", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/eeda578cbe24a170331a1cfdf78be723412df7a4", + "reference": "eeda578cbe24a170331a1cfdf78be723412df7a4", "shasum": "" }, "require": { @@ -624,20 +664,20 @@ "docblock", "parser" ], - "time": "2014-09-25 16:45:30" + "time": "2014-12-20 20:49:38" }, { "name": "doctrine/cache", - "version": "v1.3.1", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "cf483685798a72c93bf4206e3dd6358ea07d64e7" + "reference": "2346085d2b027b233ae1d5de59b07440b9f288c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/cf483685798a72c93bf4206e3dd6358ea07d64e7", - "reference": "cf483685798a72c93bf4206e3dd6358ea07d64e7", + "url": "https://api.github.com/repos/doctrine/cache/zipball/2346085d2b027b233ae1d5de59b07440b9f288c8", + "reference": "2346085d2b027b233ae1d5de59b07440b9f288c8", "shasum": "" }, "require": { @@ -648,6 +688,7 @@ }, "require-dev": { "phpunit/phpunit": ">=3.7", + "predis/predis": "~0.8", "satooshi/php-coveralls": "~0.6" }, "type": "library", @@ -693,7 +734,7 @@ "cache", "caching" ], - "time": "2014-09-17 14:24:04" + "time": "2015-01-15 20:38:55" }, { "name": "doctrine/collections", @@ -906,22 +947,30 @@ }, { "name": "doctrine/inflector", - "version": "v1.0", + "version": "v1.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "54b8333d2a5682afdc690060c1cf384ba9f47f08" + "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/54b8333d2a5682afdc690060c1cf384ba9f47f08", - "reference": "54b8333d2a5682afdc690060c1cf384ba9f47f08", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604", + "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604", "shasum": "" }, "require": { "php": ">=5.3.2" }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-0": { "Doctrine\\Common\\Inflector\\": "lib/" @@ -932,16 +981,6 @@ "MIT" ], "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -950,41 +989,52 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "http://jmsyst.com", - "role": "Developer of wrapped JMSSerializerBundle" + "email": "schmittjoh@gmail.com" } ], "description": "Common String Manipulations with regard to casing and singular/plural rules.", "homepage": "http://www.doctrine-project.org", "keywords": [ "inflection", - "pluarlize", - "singuarlize", + "pluralize", + "singularize", "string" ], - "time": "2013-01-10 21:49:15" + "time": "2014-12-20 21:24:13" }, { "name": "doctrine/lexer", - "version": "v1.0", + "version": "v1.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "2f708a85bb3aab5d99dab8be435abd73e0b18acb" + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/2f708a85bb3aab5d99dab8be435abd73e0b18acb", - "reference": "2f708a85bb3aab5d99dab8be435abd73e0b18acb", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", "shasum": "" }, "require": { "php": ">=5.3.2" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-0": { "Doctrine\\Common\\Lexer\\": "lib/" @@ -995,20 +1045,17 @@ "MIT" ], "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, { "name": "Roman Borschel", "email": "roman@code-factory.org" }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "http://jmsyst.com", - "role": "Developer of wrapped JMSSerializerBundle" + "email": "schmittjoh@gmail.com" } ], "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", @@ -1017,7 +1064,7 @@ "lexer", "parser" ], - "time": "2013-01-12 18:59:04" + "time": "2014-09-09 13:34:57" }, { "name": "doctrine/migrations", @@ -1025,12 +1072,12 @@ "source": { "type": "git", "url": "https://github.com/doctrine/migrations.git", - "reference": "f4fe9d9cc21a711d89d91d29c4a4e7945289cdd0" + "reference": "65978aa4e9ffca3bb632225ad8c6320077d80d85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/migrations/zipball/f4fe9d9cc21a711d89d91d29c4a4e7945289cdd0", - "reference": "f4fe9d9cc21a711d89d91d29c4a4e7945289cdd0", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/65978aa4e9ffca3bb632225ad8c6320077d80d85", + "reference": "65978aa4e9ffca3bb632225ad8c6320077d80d85", "shasum": "" }, "require": { @@ -1057,7 +1104,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL" + "LGPL-2.1" ], "authors": [ { @@ -1075,7 +1122,7 @@ "database", "migrations" ], - "time": "2014-10-30 14:49:25" + "time": "2015-03-23 09:47:20" }, { "name": "doctrine/orm", @@ -1295,35 +1342,33 @@ }, { "name": "gedmo/doctrine-extensions", - "version": "v2.3.9", + "version": "v2.3.12", "source": { "type": "git", "url": "https://github.com/Atlantic18/DoctrineExtensions.git", - "reference": "35adcaae1a3f50d0d5b73aa50ed8fd28ee35ce54" + "reference": "c3ff3c73c95b01e107af33d4fe3abf80794e2df9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Atlantic18/DoctrineExtensions/zipball/35adcaae1a3f50d0d5b73aa50ed8fd28ee35ce54", - "reference": "35adcaae1a3f50d0d5b73aa50ed8fd28ee35ce54", + "url": "https://api.github.com/repos/Atlantic18/DoctrineExtensions/zipball/c3ff3c73c95b01e107af33d4fe3abf80794e2df9", + "reference": "c3ff3c73c95b01e107af33d4fe3abf80794e2df9", "shasum": "" }, "require": { - "doctrine/common": ">=2.2,<2.5-dev", + "behat/transliterator": "~1.0", + "doctrine/common": "~2.4", "php": ">=5.3.2" }, "require-dev": { - "doctrine/common": ">=2.4.0-RC3", - "doctrine/dbal": ">=2.4.0-RC1", - "doctrine/mongodb": ">=1.0.3", - "doctrine/mongodb-odm": ">=1.0.0-BETA9", - "doctrine/orm": ">=2.4.0-RC1", - "symfony/yaml": "2.3.1" + "doctrine/mongodb-odm": ">=1.0.0-BETA11", + "doctrine/orm": "~2.4", + "phpunit/phpunit": "~4.4", + "phpunit/phpunit-mock-objects": "~2.3", + "symfony/yaml": "~2.3" }, "suggest": { - "doctrine/dbal": ">=2.3.2", - "doctrine/mongodb": ">=1.0.1", - "doctrine/mongodb-odm": ">=1.0.0-BETA7", - "doctrine/orm": ">=2.3.2" + "doctrine/mongodb-odm": "to use the extensions with the MongoDB ODM", + "doctrine/orm": "to use the extensions with the ORM" }, "type": "library", "extra": { @@ -1371,7 +1416,7 @@ "tree", "uploadable" ], - "time": "2014-01-12 16:34:06" + "time": "2015-02-24 21:41:37" }, { "name": "goodby/csv", @@ -1432,16 +1477,16 @@ }, { "name": "guzzle/guzzle", - "version": "v3.9.2", + "version": "v3.9.3", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle3.git", - "reference": "54991459675c1a2924122afbb0e5609ade581155" + "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/54991459675c1a2924122afbb0e5609ade581155", - "reference": "54991459675c1a2924122afbb0e5609ade581155", + "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", + "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", "shasum": "" }, "require": { @@ -1482,6 +1527,9 @@ "zendframework/zend-cache": "2.*,<2.3", "zendframework/zend-log": "2.*,<2.3" }, + "suggest": { + "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." + }, "type": "library", "extra": { "branch-alias": { @@ -1509,7 +1557,7 @@ "homepage": "https://github.com/guzzle/guzzle/contributors" } ], - "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", + "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", "homepage": "http://guzzlephp.org/", "keywords": [ "client", @@ -1520,7 +1568,7 @@ "rest", "web service" ], - "time": "2014-08-11 04:32:36" + "time": "2015-03-18 18:23:50" }, { "name": "hoa/compiler", @@ -1600,23 +1648,25 @@ }, { "name": "hoa/core", - "version": "2.14.09.23", - "target-dir": "Hoa/Core", + "version": "2.15.02.18", "source": { "type": "git", "url": "https://github.com/hoaproject/Core.git", - "reference": "e50354e69e451478223d1d0c1ce4f5d741ea7576" + "reference": "047c541048940dddc47a4b0634cec7a850c44630" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/Core/zipball/e50354e69e451478223d1d0c1ce4f5d741ea7576", - "reference": "e50354e69e451478223d1d0c1ce4f5d741ea7576", + "url": "https://api.github.com/repos/hoaproject/Core/zipball/047c541048940dddc47a4b0634cec7a850c44630", + "reference": "047c541048940dddc47a4b0634cec7a850c44630", "shasum": "" }, "require": { "ext-spl": "*", "php": ">=5.4.0" }, + "require-dev": { + "hoa/test": "~1.0" + }, "suggest": { "ext-mbstring": "ext/mbstring must be present (or a third implementation).", "hoa/console": "To use the `hoa` script.", @@ -1633,8 +1683,8 @@ } }, "autoload": { - "psr-0": { - "Hoa\\Core": "." + "psr-4": { + "Hoa\\Core\\": "." }, "files": [ "Core.php" @@ -1666,7 +1716,7 @@ "parameter", "protocol" ], - "time": "2014-09-23 09:45:22" + "time": "2015-02-18 16:24:51" }, { "name": "hoa/file", @@ -1839,17 +1889,16 @@ }, { "name": "hoa/stream", - "version": "0.14.09.23", - "target-dir": "Hoa/Stream", + "version": "0.15.02.25", "source": { "type": "git", "url": "https://github.com/hoaproject/Stream.git", - "reference": "eaf9bfeb633b8a6bf0fba55e9c035db431024869" + "reference": "d26ff761ef6f9041073d21f7ce246288e5aa509f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/Stream/zipball/eaf9bfeb633b8a6bf0fba55e9c035db431024869", - "reference": "eaf9bfeb633b8a6bf0fba55e9c035db431024869", + "url": "https://api.github.com/repos/hoaproject/Stream/zipball/d26ff761ef6f9041073d21f7ce246288e5aa509f", + "reference": "d26ff761ef6f9041073d21f7ce246288e5aa509f", "shasum": "" }, "require": { @@ -1862,8 +1911,8 @@ } }, "autoload": { - "psr-0": { - "Hoa\\Stream": "." + "psr-4": { + "Hoa\\Stream\\": "." } }, "notification-url": "https://packagist.org/downloads/", @@ -1894,7 +1943,7 @@ "stream", "wrapper" ], - "time": "2014-09-23 09:50:38" + "time": "2015-02-25 08:44:47" }, { "name": "hoa/visitor", @@ -1951,16 +2000,16 @@ }, { "name": "igorw/get-in", - "version": "v1.0.2", + "version": "v1.0.3", "source": { "type": "git", "url": "https://github.com/igorw/get-in.git", - "reference": "bdb5d48edf562d4e6c125d4918579f3f54650107" + "reference": "170ded831f49abc6a6061f655aba9bdbcf7b8111" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/igorw/get-in/zipball/bdb5d48edf562d4e6c125d4918579f3f54650107", - "reference": "bdb5d48edf562d4e6c125d4918579f3f54650107", + "url": "https://api.github.com/repos/igorw/get-in/zipball/170ded831f49abc6a6061f655aba9bdbcf7b8111", + "reference": "170ded831f49abc6a6061f655aba9bdbcf7b8111", "shasum": "" }, "require": { @@ -1992,7 +2041,7 @@ "assoc-array", "hash-map" ], - "time": "2014-09-03 08:34:03" + "time": "2014-12-15 23:03:51" }, { "name": "imagine/imagine", @@ -2055,16 +2104,16 @@ }, { "name": "ircmaxell/random-lib", - "version": "v1.0.0", + "version": "v1.1.0", "source": { "type": "git", "url": "https://github.com/ircmaxell/RandomLib.git", - "reference": "0eaad991c1756842f26dfbcbc6effcabb5003d0a" + "reference": "13efa4368bb2ac88bb3b1459b487d907de4dbf7c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ircmaxell/RandomLib/zipball/0eaad991c1756842f26dfbcbc6effcabb5003d0a", - "reference": "0eaad991c1756842f26dfbcbc6effcabb5003d0a", + "url": "https://api.github.com/repos/ircmaxell/RandomLib/zipball/13efa4368bb2ac88bb3b1459b487d907de4dbf7c", + "reference": "13efa4368bb2ac88bb3b1459b487d907de4dbf7c", "shasum": "" }, "require": { @@ -2072,7 +2121,8 @@ "php": ">=5.3.2" }, "require-dev": { - "mikey179/vfsstream": "1.1.*" + "mikey179/vfsstream": "1.1.*", + "phpunit/phpunit": "3.7.*" }, "type": "library", "extra": { @@ -2097,14 +2147,14 @@ } ], "description": "A Library For Generating Secure Random Numbers", - "homepage": "https://github.com/ircmaxell/PHP-RandomLib", + "homepage": "https://github.com/ircmaxell/RandomLib", "keywords": [ "cryptography", "random", "random-numbers", "random-strings" ], - "time": "2013-07-30 17:40:57" + "time": "2015-01-15 16:31:45" }, { "name": "ircmaxell/security-lib", @@ -2380,16 +2430,16 @@ }, { "name": "justinrainbow/json-schema", - "version": "1.3.7", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "87b54b460febed69726c781ab67462084e97a105" + "reference": "680d026082c3aa234b2d8617c50e9c73999913ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/87b54b460febed69726c781ab67462084e97a105", - "reference": "87b54b460febed69726c781ab67462084e97a105", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/680d026082c3aa234b2d8617c50e9c73999913ba", + "reference": "680d026082c3aa234b2d8617c50e9c73999913ba", "shasum": "" }, "require": { @@ -2442,7 +2492,7 @@ "json", "schema" ], - "time": "2014-08-25 02:48:14" + "time": "2015-03-23 20:38:38" }, { "name": "media-alchemyst/media-alchemyst", @@ -2575,16 +2625,16 @@ }, { "name": "monolog/monolog", - "version": "1.13.0", + "version": "1.13.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "c41c218e239b50446fd883acb1ecfd4b770caeae" + "reference": "c31a2c4e8db5da8b46c74cf275d7f109c0f249ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c41c218e239b50446fd883acb1ecfd4b770caeae", - "reference": "c41c218e239b50446fd883acb1ecfd4b770caeae", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c31a2c4e8db5da8b46c74cf275d7f109c0f249ac", + "reference": "c31a2c4e8db5da8b46c74cf275d7f109c0f249ac", "shasum": "" }, "require": { @@ -2644,7 +2694,7 @@ "logging", "psr-3" ], - "time": "2015-03-05 01:12:12" + "time": "2015-03-09 09:58:04" }, { "name": "mrclay/minify", @@ -3599,12 +3649,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "a1d7d327e9b8017b5a848ccb6a1433f25975f65b" + "reference": "1fe4be09c2f44aace9595e6af383e51a6ba4c819" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/a1d7d327e9b8017b5a848ccb6a1433f25975f65b", - "reference": "a1d7d327e9b8017b5a848ccb6a1433f25975f65b", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/1fe4be09c2f44aace9595e6af383e51a6ba4c819", + "reference": "1fe4be09c2f44aace9595e6af383e51a6ba4c819", "shasum": "" }, "conflict": { @@ -3639,14 +3689,16 @@ "twig/twig": ">=1.0.0,<1.12.3", "willdurand/js-translation-bundle": "<2.1.1", "yiisoft/yii": ">=1.1.14,<1.1.15", - "zendframework/zend-db": ">=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.10|>=2.3.0,<2.3.5", + "zendframework/validator": ">=2.3.0,<2.3.6", + "zendframework/zend-db": ">=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.8|>=2.3.0,<2.3.3|>=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.10|>=2.3.0,<2.3.5", "zendframework/zend-form": ">=2.0.0,<2.2.7|>=2.3.0,<2.3.1", "zendframework/zend-json": ">=2.1.0,<2.1.6|>=2.2.0,<2.2.6", + "zendframework/zend-ldap": ">=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.8|>=2.3.0,<2.3.3", "zendframework/zend-navigation": ">=2.0.0,<2.2.7|>=2.3.0,<2.3.1", "zendframework/zend-session": ">=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.9|>=2.3.0,<2.3.4", "zendframework/zend-view": ">=2.0.0,<2.2.7|>=2.3.0,<2.3.1", "zendframework/zend-xmlrpc": ">=2.1.0,<2.1.6|>=2.2.0,<2.2.6", - "zendframework/zendframework": ">=2.0.0,<2.0.1|>=2.0.0,<2.0.5|>=2.0.0,<2.0.8|>=2.1.0,<2.1.4|>=2.0.0,<2.0.8|>=2.1.0,<2.1.4|>=2.0.0,<2.0.8|>=2.1.0,<2.1.4|>=2.2.0,<2.2.5|>=2.1.0,<2.1.6|>=2.2.0,<2.2.6|>=2.0.0,<2.2.7|>=2.3.0,<2.3.1|>=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.8|>=2.3.0,<2.3.3|>=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.8|>=2.3.0,<2.3.3|>=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.9|>=2.3.0,<2.3.4|>=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.10|>=2.3.0,<2.3.5", + "zendframework/zendframework": ">=2.0.0,<2.0.1|>=2.0.0,<2.0.5|>=2.0.0,<2.0.8|>=2.1.0,<2.1.4|>=2.0.0,<2.0.8|>=2.1.0,<2.1.4|>=2.0.0,<2.0.8|>=2.1.0,<2.1.4|>=2.2.0,<2.2.5|>=2.1.0,<2.1.6|>=2.2.0,<2.2.6|>=2.0.0,<2.2.7|>=2.3.0,<2.3.1|>=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.8|>=2.3.0,<2.3.3|>=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.8|>=2.3.0,<2.3.3|>=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.9|>=2.3.0,<2.3.4|>=2.0.0,<2.0.99|>=2.1.0,<2.1.99|>=2.2.0,<2.2.10|>=2.3.0,<2.3.5|>=2.3.0,<2.3.6", "zendframework/zendframework1": ">=1.7.0,<1.7.5|>=1.7.0,<1.7.6|>=1.9.0,<1.9.7|>=1.7.0,<1.7.9|>=1.8.0,<1.8.5|>=1.9.0,<1.9.7|>=1.7.0,<1.7.9|>=1.8.0,<1.8.5|>=1.9.0,<1.9.7|>=1.8.0,<1.8.5|>=1.9.0,<1.9.7|>=1.7.0,<1.7.9|>=1.8.0,<1.8.5|>=1.9.0,<1.9.7|>=1.7.0,<1.7.9|>=1.8.0,<1.8.5|>=1.9.0,<1.9.7|>=1.9.0,<1.9.8|>=1.10.0,<1.10.3|>=1.0.0,<1.11.4|>=1.10.0,<1.10.9|>=1.11.0,<1.11.6|>=1.0.0,<1.11.13|>=1.0.0,<1.11.13|>=1.11.0,<1.11.15|>=1.12.0,<1.12.1|>=1.12.0,<1.12.4|>=1.12.0,<1.12.4|>=1.12.0,<1.12.7|>=1.12.0,<1.12.9|>=1.12.0,<1.12.9", "zendframework/zendopenid": ">=2.0.0,<2.0.2", "zf-commons/zfc-user": "<1.2.2", @@ -3665,63 +3717,62 @@ } ], "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", - "time": "2015-03-02 13:02:36" + "time": "2015-03-13 23:54:02" }, { "name": "silex/silex", - "version": "1.1.x-dev", + "version": "v1.2.3", "source": { "type": "git", "url": "https://github.com/silexphp/Silex.git", - "reference": "67639888035a3e586bfdb652c15c38f22e870d89" + "reference": "57c98ea0cb47664096094912920951fde1f4631a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex/zipball/67639888035a3e586bfdb652c15c38f22e870d89", - "reference": "67639888035a3e586bfdb652c15c38f22e870d89", + "url": "https://api.github.com/repos/silexphp/Silex/zipball/57c98ea0cb47664096094912920951fde1f4631a", + "reference": "57c98ea0cb47664096094912920951fde1f4631a", "shasum": "" }, "require": { "php": ">=5.3.3", "pimple/pimple": "~1.0", - "symfony/event-dispatcher": ">=2.3,<2.5-dev", - "symfony/http-foundation": ">=2.3,<2.5-dev", - "symfony/http-kernel": ">=2.3,<2.5-dev", - "symfony/routing": ">=2.3,<2.5-dev" + "symfony/event-dispatcher": "~2.3,<3.0", + "symfony/http-foundation": "~2.3,<3.0", + "symfony/http-kernel": "~2.3,<3.0", + "symfony/routing": "~2.3,<3.0" }, "require-dev": { - "doctrine/dbal": ">=2.2.0,<2.4.0-dev", + "doctrine/dbal": "~2.2", "monolog/monolog": "~1.4,>=1.4.1", - "phpunit/phpunit": "~3.7", "swiftmailer/swiftmailer": "5.*", - "symfony/browser-kit": ">=2.3,<2.5-dev", - "symfony/config": ">=2.3,<2.5-dev", - "symfony/css-selector": ">=2.3,<2.5-dev", - "symfony/debug": ">=2.3,<2.5-dev", - "symfony/dom-crawler": ">=2.3,<2.5-dev", - "symfony/finder": ">=2.3,<2.5-dev", - "symfony/form": ">=2.3,<2.5-dev", - "symfony/locale": ">=2.3,<2.5-dev", - "symfony/monolog-bridge": ">=2.3,<2.5-dev", - "symfony/options-resolver": ">=2.3,<2.5-dev", - "symfony/process": ">=2.3,<2.5-dev", - "symfony/security": ">=2.3,<2.5-dev", - "symfony/serializer": ">=2.3,<2.5-dev", - "symfony/translation": ">=2.3,<2.5-dev", - "symfony/twig-bridge": ">=2.3,<2.5-dev", - "symfony/validator": ">=2.3,<2.5-dev", + "symfony/browser-kit": "~2.3,<3.0", + "symfony/config": "~2.3,<3.0", + "symfony/css-selector": "~2.3,<3.0", + "symfony/debug": "~2.3,<3.0", + "symfony/dom-crawler": "~2.3,<3.0", + "symfony/finder": "~2.3,<3.0", + "symfony/form": "~2.3,<3.0", + "symfony/locale": "~2.3,<3.0", + "symfony/monolog-bridge": "~2.3,<3.0", + "symfony/options-resolver": "~2.3,<3.0", + "symfony/process": "~2.3,<3.0", + "symfony/security": "~2.3,<3.0", + "symfony/serializer": "~2.3,<3.0", + "symfony/translation": "~2.3,<3.0", + "symfony/twig-bridge": "~2.3,<3.0", + "symfony/validator": "~2.3,<3.0", "twig/twig": ">=1.8.0,<2.0-dev" }, "suggest": { - "symfony/browser-kit": ">=2.3,<2.5-dev", - "symfony/css-selector": ">=2.3,<2.5-dev", - "symfony/dom-crawler": ">=2.3,<2.5-dev", - "symfony/form": ">=2.3,<2.5-dev" + "symfony/browser-kit": "~2.3", + "symfony/css-selector": "~2.3", + "symfony/dom-crawler": "~2.3", + "symfony/form": "~2.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { @@ -3736,14 +3787,11 @@ "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "email": "fabien@symfony.com" }, { "name": "Igor Wiedler", - "email": "igor@wiedler.ch", - "homepage": "http://wiedler.ch/igor/" + "email": "igor@wiedler.ch" } ], "description": "The PHP micro-framework based on the Symfony2 Components", @@ -3751,27 +3799,27 @@ "keywords": [ "microframework" ], - "time": "2014-04-15 20:52:04" + "time": "2015-01-20 16:45:58" }, { "name": "silex/web-profiler", - "version": "dev-master", + "version": "v1.0.4", "target-dir": "Silex/Provider", "source": { "type": "git", "url": "https://github.com/silexphp/Silex-WebProfiler.git", - "reference": "8c62046a16a7b8f229aff9147f842956a1e48a14" + "reference": "dc371e211d1f3ee62cb822518f4f97b44d1c250a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/8c62046a16a7b8f229aff9147f842956a1e48a14", - "reference": "8c62046a16a7b8f229aff9147f842956a1e48a14", + "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/dc371e211d1f3ee62cb822518f4f97b44d1c250a", + "reference": "dc371e211d1f3ee62cb822518f4f97b44d1c250a", "shasum": "" }, "require": { "silex/silex": "~1.0", "symfony/stopwatch": "~2.2", - "symfony/web-profiler-bundle": "~2.2" + "symfony/web-profiler-bundle": "~2.4" }, "type": "library", "extra": { @@ -3791,14 +3839,12 @@ "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "email": "fabien@symfony.com" } ], "description": "A WebProfiler for Silex", "homepage": "http://silex.sensiolabs.org/", - "time": "2014-06-04 21:14:30" + "time": "2014-11-24 08:26:12" }, { "name": "sorien/silex-dbal-profiler", @@ -3948,75 +3994,25 @@ ], "time": "2014-12-05 14:17:14" }, - { - "name": "symfony/icu", - "version": "v1.2.2", - "target-dir": "Symfony/Component/Icu", - "source": { - "type": "git", - "url": "https://github.com/symfony/Icu.git", - "reference": "d4d85d6055b87f394d941b45ddd3a9173e1e3d2a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Icu/zipball/d4d85d6055b87f394d941b45ddd3a9173e1e3d2a", - "reference": "d4d85d6055b87f394d941b45ddd3a9173e1e3d2a", - "shasum": "" - }, - "require": { - "ext-intl": "*", - "lib-icu": ">=4.4", - "php": ">=5.3.3", - "symfony/intl": "~2.3" - }, - "type": "library", - "autoload": { - "psr-0": { - "Symfony\\Component\\Icu\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Contains an excerpt of the ICU data and classes to load it.", - "homepage": "http://symfony.com", - "keywords": [ - "icu", - "intl" - ], - "time": "2014-07-25 09:58:17" - }, { "name": "symfony/symfony", - "version": "v2.4.10", + "version": "v2.6.5", "source": { "type": "git", "url": "https://github.com/symfony/symfony.git", - "reference": "daed178afd4700dd18f4fb0ea6b72dcfd9a4792a" + "reference": "80833da9d04b004fa59fd23102e6dfad80c98106" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/daed178afd4700dd18f4fb0ea6b72dcfd9a4792a", - "reference": "daed178afd4700dd18f4fb0ea6b72dcfd9a4792a", + "url": "https://api.github.com/repos/symfony/symfony/zipball/80833da9d04b004fa59fd23102e6dfad80c98106", + "reference": "80833da9d04b004fa59fd23102e6dfad80c98106", "shasum": "" }, "require": { - "doctrine/common": "~2.2", + "doctrine/common": "~2.3", "php": ">=5.3.3", "psr/log": "~1.0", - "symfony/icu": "~1.0", - "twig/twig": "~1.12" + "twig/twig": "~1.12,>=1.12.3" }, "replace": { "symfony/browser-kit": "self.version", @@ -4025,6 +4021,7 @@ "symfony/console": "self.version", "symfony/css-selector": "self.version", "symfony/debug": "self.version", + "symfony/debug-bundle": "self.version", "symfony/dependency-injection": "self.version", "symfony/doctrine-bridge": "self.version", "symfony/dom-crawler": "self.version", @@ -4059,22 +4056,26 @@ "symfony/twig-bridge": "self.version", "symfony/twig-bundle": "self.version", "symfony/validator": "self.version", + "symfony/var-dumper": "self.version", "symfony/web-profiler-bundle": "self.version", "symfony/yaml": "self.version" }, "require-dev": { "doctrine/data-fixtures": "1.0.*", "doctrine/dbal": "~2.2", + "doctrine/doctrine-bundle": "~1.2", "doctrine/orm": "~2.2,>=2.2.3", - "ircmaxell/password-compat": "1.0.*", - "monolog/monolog": "~1.3", - "ocramius/proxy-manager": ">=0.3.1,<0.6-dev", - "propel/propel1": "1.6.*" + "egulias/email-validator": "~1.2", + "ircmaxell/password-compat": "~1.0", + "monolog/monolog": "~1.11", + "ocramius/proxy-manager": "~0.4|~1.0", + "propel/propel1": "~1.6", + "symfony/phpunit-bridge": "~2.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -4108,7 +4109,7 @@ "keywords": [ "framework" ], - "time": "2014-09-28 17:03:37" + "time": "2015-03-17 14:58:46" }, { "name": "themattharris/tmhoauth", @@ -4206,16 +4207,16 @@ }, { "name": "twig/twig", - "version": "v1.16.2", + "version": "v1.18.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "8ce37115802e257a984a82d38254884085060024" + "reference": "4cf7464348e7f9893a93f7096a90b73722be99cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/8ce37115802e257a984a82d38254884085060024", - "reference": "8ce37115802e257a984a82d38254884085060024", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/4cf7464348e7f9893a93f7096a90b73722be99cf", + "reference": "4cf7464348e7f9893a93f7096a90b73722be99cf", "shasum": "" }, "require": { @@ -4224,7 +4225,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.16-dev" + "dev-master": "1.18-dev" } }, "autoload": { @@ -4250,7 +4251,7 @@ }, { "name": "Twig Team", - "homepage": "https://github.com/fabpot/Twig/graphs/contributors", + "homepage": "http://twig.sensiolabs.org/contributors", "role": "Contributors" } ], @@ -4259,7 +4260,7 @@ "keywords": [ "templating" ], - "time": "2014-10-17 12:53:44" + "time": "2015-01-25 17:32:08" }, { "name": "vierbergenlars/php-semver", @@ -4401,449 +4402,6 @@ } ], "packages-dev": [ - { - "name": "behat/behat", - "version": "2.5.x-dev", - "source": { - "type": "git", - "url": "https://github.com/Behat/Behat.git", - "reference": "e585f8a90b366a9a719b2998b9f8ab643735eda7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/Behat/zipball/e585f8a90b366a9a719b2998b9f8ab643735eda7", - "reference": "e585f8a90b366a9a719b2998b9f8ab643735eda7", - "shasum": "" - }, - "require": { - "behat/gherkin": "~2.3.0", - "php": ">=5.3.1", - "symfony/config": "~2.0", - "symfony/console": "~2.0", - "symfony/dependency-injection": "~2.0", - "symfony/event-dispatcher": "~2.0", - "symfony/finder": "~2.0", - "symfony/translation": "~2.0", - "symfony/yaml": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~3.7.19" - }, - "suggest": { - "behat/mink-extension": "for integration with Mink testing framework", - "behat/symfony2-extension": "for integration with Symfony2 web framework", - "behat/yii-extension": "for integration with Yii web framework" - }, - "bin": [ - "bin/behat" - ], - "type": "library", - "autoload": { - "psr-0": { - "Behat\\Behat": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Scenario-oriented BDD framework for PHP 5.3", - "homepage": "http://behat.org/", - "keywords": [ - "BDD", - "Behat", - "Symfony2" - ], - "time": "2014-04-26 16:56:17" - }, - { - "name": "behat/gherkin", - "version": "2.3.x-dev", - "source": { - "type": "git", - "url": "https://github.com/Behat/Gherkin.git", - "reference": "c32e15d92e1a2ce399a1a1c5be7afd965176e86c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/Gherkin/zipball/c32e15d92e1a2ce399a1a1c5be7afd965176e86c", - "reference": "c32e15d92e1a2ce399a1a1c5be7afd965176e86c", - "shasum": "" - }, - "require": { - "php": ">=5.3.1", - "symfony/finder": "~2.0" - }, - "require-dev": { - "symfony/config": "~2.0", - "symfony/translation": "~2.0", - "symfony/yaml": "~2.0" - }, - "suggest": { - "symfony/config": "If you want to use Config component to manage resources", - "symfony/translation": "If you want to use Symfony2 translations adapter", - "symfony/yaml": "If you want to parse features, represented in YAML files" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "2.2-dev" - } - }, - "autoload": { - "psr-0": { - "Behat\\Gherkin": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Gherkin DSL parser for PHP 5.3", - "homepage": "http://behat.org/", - "keywords": [ - "BDD", - "Behat", - "DSL", - "Symfony2", - "parser" - ], - "time": "2014-06-06 00:48:18" - }, - { - "name": "behat/mink", - "version": "v1.6.0", - "source": { - "type": "git", - "url": "https://github.com/minkphp/Mink.git", - "reference": "0769e6d9726c140a54dbf827a438c0f9912749fe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/minkphp/Mink/zipball/0769e6d9726c140a54dbf827a438c0f9912749fe", - "reference": "0769e6d9726c140a54dbf827a438c0f9912749fe", - "shasum": "" - }, - "require": { - "php": ">=5.3.1", - "symfony/css-selector": "~2.0" - }, - "suggest": { - "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", - "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation", - "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", - "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Behat\\Mink": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Web acceptance testing framework for PHP 5.3", - "homepage": "http://mink.behat.org/", - "keywords": [ - "browser", - "testing", - "web" - ], - "time": "2014-09-26 09:25:05" - }, - { - "name": "behat/mink-browserkit-driver", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/minkphp/MinkBrowserKitDriver.git", - "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/aed8f4a596b79014a75254c3e337511c33e38cbd", - "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd", - "shasum": "" - }, - "require": { - "behat/mink": "~1.6@dev", - "php": ">=5.3.1", - "symfony/browser-kit": "~2.0", - "symfony/dom-crawler": "~2.0" - }, - "require-dev": { - "silex/silex": "~1.2" - }, - "type": "mink-driver", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-0": { - "Behat\\Mink\\Driver": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Symfony2 BrowserKit driver for Mink framework", - "homepage": "http://mink.behat.org/", - "keywords": [ - "Mink", - "Symfony2", - "browser", - "testing" - ], - "time": "2014-09-26 11:35:19" - }, - { - "name": "behat/mink-extension", - "version": "v1.3.3", - "source": { - "type": "git", - "url": "https://github.com/Behat/MinkExtension.git", - "reference": "b885b9407cba50a954f72c69ed1b2f8d3bc694f8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/MinkExtension/zipball/b885b9407cba50a954f72c69ed1b2f8d3bc694f8", - "reference": "b885b9407cba50a954f72c69ed1b2f8d3bc694f8", - "shasum": "" - }, - "require": { - "behat/behat": "~2.5.0", - "behat/mink": "~1.5", - "php": ">=5.3.2", - "symfony/config": "~2.2" - }, - "require-dev": { - "behat/mink-goutte-driver": "~1.0", - "fabpot/goutte": "~1.0" - }, - "type": "behat-extension", - "autoload": { - "psr-0": { - "Behat\\MinkExtension": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Mink extension for Behat", - "homepage": "http://mink.behat.org", - "keywords": [ - "browser", - "gui", - "test", - "web" - ], - "time": "2014-05-15 19:27:39" - }, - { - "name": "behat/mink-goutte-driver", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/minkphp/MinkGoutteDriver.git", - "reference": "2bf327b4166694ecaa8ae7f956cb6ae252ecf03e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/2bf327b4166694ecaa8ae7f956cb6ae252ecf03e", - "reference": "2bf327b4166694ecaa8ae7f956cb6ae252ecf03e", - "shasum": "" - }, - "require": { - "behat/mink": "~1.6@dev", - "behat/mink-browserkit-driver": "~1.2@dev", - "fabpot/goutte": "~1.0.4|~2.0", - "php": ">=5.3.1" - }, - "type": "mink-driver", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Behat\\Mink\\Driver": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Goutte driver for Mink framework", - "homepage": "http://mink.behat.org/", - "keywords": [ - "browser", - "goutte", - "headless", - "testing" - ], - "time": "2014-10-09 09:21:12" - }, - { - "name": "behat/mink-selenium2-driver", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/minkphp/MinkSelenium2Driver.git", - "reference": "8018fee80bf6573f909ece3e0dfc07d0eb352210" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/8018fee80bf6573f909ece3e0dfc07d0eb352210", - "reference": "8018fee80bf6573f909ece3e0dfc07d0eb352210", - "shasum": "" - }, - "require": { - "behat/mink": "~1.6@dev", - "instaclick/php-webdriver": "~1.1", - "php": ">=5.3.1" - }, - "type": "mink-driver", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-0": { - "Behat\\Mink\\Driver": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Pete Otaqui", - "email": "pete@otaqui.com", - "homepage": "https://github.com/pete-otaqui" - } - ], - "description": "Selenium2 (WebDriver) driver for Mink framework", - "homepage": "http://mink.behat.org/", - "keywords": [ - "ajax", - "browser", - "javascript", - "selenium", - "testing", - "webdriver" - ], - "time": "2014-09-29 13:12:12" - }, - { - "name": "cboden/ratchet", - "version": "v0.3.2", - "source": { - "type": "git", - "url": "https://github.com/ratchetphp/Ratchet.git", - "reference": "d36a8699df04354147a4f47845035b1ea8239189" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ratchetphp/Ratchet/zipball/d36a8699df04354147a4f47845035b1ea8239189", - "reference": "d36a8699df04354147a4f47845035b1ea8239189", - "shasum": "" - }, - "require": { - "guzzle/http": "~3.6", - "php": ">=5.3.9", - "react/socket": "0.3.*|0.4.*", - "symfony/http-foundation": "~2.2", - "symfony/routing": "~2.2" - }, - "type": "library", - "autoload": { - "psr-0": { - "Ratchet": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "http://res.im", - "role": "Developer" - } - ], - "description": "PHP WebSocket library", - "homepage": "http://socketo.me", - "keywords": [ - "Ratchet", - "WebSockets", - "server", - "sockets" - ], - "time": "2014-06-08 15:19:45" - }, { "name": "doctrine/instantiator", "version": "1.0.4", @@ -4898,62 +4456,6 @@ ], "time": "2014-10-13 12:58:55" }, - { - "name": "fabpot/goutte", - "version": "v1.0.7", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfPHP/Goutte.git", - "reference": "794b196e76bdd37b5155cdecbad311f0a3b07625" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/794b196e76bdd37b5155cdecbad311f0a3b07625", - "reference": "794b196e76bdd37b5155cdecbad311f0a3b07625", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "guzzle/http": "~3.1", - "php": ">=5.3.0", - "symfony/browser-kit": "~2.1", - "symfony/css-selector": "~2.1", - "symfony/dom-crawler": "~2.1", - "symfony/finder": "~2.1", - "symfony/process": "~2.1" - }, - "require-dev": { - "guzzle/plugin-history": "~3.1", - "guzzle/plugin-mock": "~3.1" - }, - "type": "application", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Goutte": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "A simple PHP Web Scraper", - "homepage": "https://github.com/fabpot/Goutte", - "keywords": [ - "scraper" - ], - "time": "2014-10-09 15:52:51" - }, { "name": "hoa/console", "version": "2.14.09.23", @@ -5080,78 +4582,27 @@ ], "time": "2014-09-23 14:12:43" }, - { - "name": "hoa/router", - "version": "2.14.09.23", - "target-dir": "Hoa/Router", - "source": { - "type": "git", - "url": "https://github.com/hoaproject/Router.git", - "reference": "8937785aecf7ca3b6dbd5f668eb97e15c672758d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/hoaproject/Router/zipball/8937785aecf7ca3b6dbd5f668eb97e15c672758d", - "reference": "8937785aecf7ca3b6dbd5f668eb97e15c672758d", - "shasum": "" - }, - "require": { - "hoa/core": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-0": { - "Hoa\\Router": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Ivan Enderlin", - "email": "ivan.enderlin@hoa-project.net" - }, - { - "name": "Hoa community", - "homepage": "http://hoa-project.net/" - } - ], - "description": "The Hoa\\Router library.", - "homepage": "http://hoa-project.net/", - "keywords": [ - "cli", - "http", - "library", - "router" - ], - "time": "2014-09-23 09:50:57" - }, { "name": "hoa/string", - "version": "2.14.09.23", - "target-dir": "Hoa/String", + "version": "2.15.03.25", "source": { "type": "git", "url": "https://github.com/hoaproject/String.git", - "reference": "c385ffb1382d919c63ab97acd6f62058179c5f2a" + "reference": "8df23c4758c8a692d523c966c7b9b79bbf9771c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/String/zipball/c385ffb1382d919c63ab97acd6f62058179c5f2a", - "reference": "c385ffb1382d919c63ab97acd6f62058179c5f2a", + "url": "https://api.github.com/repos/hoaproject/String/zipball/8df23c4758c8a692d523c966c7b9b79bbf9771c3", + "reference": "8df23c4758c8a692d523c966c7b9b79bbf9771c3", "shasum": "" }, "require": { "ext-iconv": "*", "hoa/core": "~2.0" }, + "require-dev": { + "hoa/test": "~1.0" + }, "suggest": { "ext-intl": "To get a better Hoa\\String::toAscii() and Hoa\\String::compareTo()." }, @@ -5162,8 +4613,8 @@ } }, "autoload": { - "psr-0": { - "Hoa\\String": "." + "psr-4": { + "Hoa\\String\\": "." } }, "notification-url": "https://packagist.org/downloads/", @@ -5188,65 +4639,7 @@ "string", "unicode" ], - "time": "2014-09-23 09:55:55" - }, - { - "name": "instaclick/php-webdriver", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/instaclick/php-webdriver.git", - "reference": "a57b2bcd9467e217134a2248b261b8b3a90ccea0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/a57b2bcd9467e217134a2248b261b8b3a90ccea0", - "reference": "a57b2bcd9467e217134a2248b261b8b3a90ccea0", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3.2" - }, - "require-dev": { - "satooshi/php-coveralls": "dev-master" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "psr-0": { - "WebDriver": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Justin Bishop", - "email": "jubishop@gmail.com", - "role": "Developer" - }, - { - "name": "Anthon Pang", - "email": "apang@softwaredevelopment.ca", - "role": "Fork Maintainer" - } - ], - "description": "PHP WebDriver for Selenium 2", - "homepage": "http://instaclick.com/", - "keywords": [ - "browser", - "selenium", - "webdriver", - "webtest" - ], - "time": "2014-05-12 21:03:05" + "time": "2015-03-25 07:59:29" }, { "name": "phpdocumentor/reflection-docblock", @@ -5727,181 +5120,6 @@ ], "time": "2014-10-03 05:12:11" }, - { - "name": "react/event-loop", - "version": "v0.3.4", - "target-dir": "React/EventLoop", - "source": { - "type": "git", - "url": "https://github.com/reactphp/event-loop.git", - "reference": "235cddfa999a392e7d63dc9bef2e042492608d9f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/event-loop/zipball/235cddfa999a392e7d63dc9bef2e042492608d9f", - "reference": "235cddfa999a392e7d63dc9bef2e042492608d9f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-libev": "*", - "ext-libevent": ">=0.0.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.3-dev" - } - }, - "autoload": { - "psr-0": { - "React\\EventLoop": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Event loop abstraction layer that libraries can use for evented I/O.", - "keywords": [ - "event-loop" - ], - "time": "2013-07-21 02:23:09" - }, - { - "name": "react/socket", - "version": "v0.3.4", - "target-dir": "React/Socket", - "source": { - "type": "git", - "url": "https://github.com/reactphp/socket.git", - "reference": "19bc0c4309243717396022ffb2e59be1cc784327" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/socket/zipball/19bc0c4309243717396022ffb2e59be1cc784327", - "reference": "19bc0c4309243717396022ffb2e59be1cc784327", - "shasum": "" - }, - "require": { - "evenement/evenement": "1.0.*", - "php": ">=5.3.3", - "react/event-loop": "0.3.*", - "react/stream": "0.3.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.3-dev" - } - }, - "autoload": { - "psr-0": { - "React\\Socket": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Library for building an evented socket server.", - "keywords": [ - "Socket" - ], - "time": "2014-02-17 22:32:00" - }, - { - "name": "react/stream", - "version": "v0.3.4", - "target-dir": "React/Stream", - "source": { - "type": "git", - "url": "https://github.com/reactphp/stream.git", - "reference": "feef56628afe3fa861f0da5f92c909e029efceac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/stream/zipball/feef56628afe3fa861f0da5f92c909e029efceac", - "reference": "feef56628afe3fa861f0da5f92c909e029efceac", - "shasum": "" - }, - "require": { - "evenement/evenement": "1.0.*", - "php": ">=5.3.3" - }, - "suggest": { - "react/event-loop": "0.3.*", - "react/promise": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.3-dev" - } - }, - "autoload": { - "psr-0": { - "React\\Stream": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Basic readable and writable stream interfaces that support piping.", - "keywords": [ - "pipe", - "stream" - ], - "time": "2014-02-16 19:48:52" - }, - { - "name": "react/zmq", - "version": "v0.2.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/zmq.git", - "reference": "b69d97f99f2127e27d130d7fe3b2cec2a63b2c4e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/zmq/zipball/b69d97f99f2127e27d130d7fe3b2cec2a63b2c4e", - "reference": "b69d97f99f2127e27d130d7fe3b2cec2a63b2c4e", - "shasum": "" - }, - "require": { - "evenement/evenement": "~1.0", - "ext-zmq": "*", - "php": ">=5.3.2", - "react/event-loop": "0.3.*" - }, - "require-dev": { - "ext-pcntl": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.2-dev" - } - }, - "autoload": { - "psr-0": { - "React\\ZMQ": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "ZeroMQ bindings for React.", - "keywords": [ - "zeromq", - "zmq" - ], - "time": "2013-09-18 11:02:06" - }, { "name": "sebastian/comparator", "version": "1.1.1", @@ -6298,22 +5516,18 @@ "stability-flags": { "alchemy/task-manager": 20, "alchemy/zippy": 20, + "doctrine/migrations": 20, "goodby/csv": 20, "imagine/imagine": 20, "jms/translation-bundle": 20, "neutron/process-manager": 20, "phpexiftool/phpexiftool": 20, - "silex/silex": 20, - "silex/web-profiler": 20, - "doctrine/migrations": 20, - "roave/security-advisories": 20, - "behat/behat": 20, - "behat/gherkin": 20 + "roave/security-advisories": 20 }, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=5.4" + "php": ">=5.5" }, "platform-dev": [] } diff --git a/lib/Alchemy/Phrasea/Command/Task/SchedulerPauseTasks.php b/lib/Alchemy/Phrasea/Command/Task/SchedulerPauseTasks.php index 607b3a4f01..0870e0cd0f 100644 --- a/lib/Alchemy/Phrasea/Command/Task/SchedulerPauseTasks.php +++ b/lib/Alchemy/Phrasea/Command/Task/SchedulerPauseTasks.php @@ -12,6 +12,7 @@ namespace Alchemy\Phrasea\Command\Task; use Alchemy\Phrasea\Command\Command; +use Alchemy\Phrasea\Exception\RuntimeException; use Alchemy\Phrasea\TaskManager\TaskManagerStatus; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; diff --git a/lib/Alchemy/Phrasea/Command/Task/SchedulerResumeTasks.php b/lib/Alchemy/Phrasea/Command/Task/SchedulerResumeTasks.php index 0a89199883..dbf747c515 100644 --- a/lib/Alchemy/Phrasea/Command/Task/SchedulerResumeTasks.php +++ b/lib/Alchemy/Phrasea/Command/Task/SchedulerResumeTasks.php @@ -12,6 +12,7 @@ namespace Alchemy\Phrasea\Command\Task; use Alchemy\Phrasea\Command\Command; +use Alchemy\Phrasea\Exception\RuntimeException; use Alchemy\Phrasea\TaskManager\TaskManagerStatus; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; diff --git a/lib/Alchemy/Phrasea/Command/Task/SchedulerRun.php b/lib/Alchemy/Phrasea/Command/Task/SchedulerRun.php index 109147f0f9..84c68dd80f 100644 --- a/lib/Alchemy/Phrasea/Command/Task/SchedulerRun.php +++ b/lib/Alchemy/Phrasea/Command/Task/SchedulerRun.php @@ -11,11 +11,10 @@ namespace Alchemy\Phrasea\Command\Task; -use Alchemy\TaskManager\TaskManager; use Alchemy\Phrasea\Command\Command; +use Alchemy\Phrasea\Exception\RuntimeException; use Alchemy\TaskManager\Event\TaskManagerSubscriber\LockFileSubscriber; use Monolog\Handler\RotatingFileHandler; -use Monolog\Logger; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; diff --git a/lib/Alchemy/Phrasea/Command/Task/SchedulerState.php b/lib/Alchemy/Phrasea/Command/Task/SchedulerState.php index 07c579afcc..e36fbcb66c 100644 --- a/lib/Alchemy/Phrasea/Command/Task/SchedulerState.php +++ b/lib/Alchemy/Phrasea/Command/Task/SchedulerState.php @@ -12,10 +12,11 @@ namespace Alchemy\Phrasea\Command\Task; use Alchemy\Phrasea\Command\Command; +use Alchemy\Phrasea\Exception\RuntimeException; use Alchemy\Phrasea\Model\Entities\Task; use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Output\OutputInterface; class SchedulerState extends Command { diff --git a/lib/Alchemy/Phrasea/Controller/Admin/TaskManager.php b/lib/Alchemy/Phrasea/Controller/Admin/TaskManager.php index 3ac4d37654..0f6eb6b888 100644 --- a/lib/Alchemy/Phrasea/Controller/Admin/TaskManager.php +++ b/lib/Alchemy/Phrasea/Controller/Admin/TaskManager.php @@ -12,13 +12,16 @@ namespace Alchemy\Phrasea\Controller\Admin; use Alchemy\Phrasea\Exception\InvalidArgumentException; +use Alchemy\Phrasea\Exception\RuntimeException; use Alchemy\Phrasea\Form\TaskForm; use Alchemy\Phrasea\Model\Entities\Task; -use Alchemy\Phrasea\Exception\RuntimeException; -use Alchemy\Phrasea\Exception\XMLParseErrorException; +use Alchemy\Phrasea\TaskManager\LiveInformation; use Silex\Application; use Silex\ControllerProviderInterface; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpKernel\KernelEvents; +use Symfony\Component\Process\Process; class TaskManager implements ControllerProviderInterface { @@ -126,6 +129,25 @@ class TaskManager implements ControllerProviderInterface { $app['task-manager.status']->start(); + $cmdLine = sprintf( + '%s %s %s', + $app['conf']->get(['main', 'binaries', 'php_binary']), + realpath(__DIR__ . '/../../../../../bin/console'), + 'task-manager:scheduler:run' + ); + + /** @var EventDispatcherInterface $dispatcher */ + $dispatcher = $app['dispatcher']; + $dispatcher->addListener(KernelEvents::TERMINATE, function () use ($cmdLine) { + $process = new Process($cmdLine); + $process->setTimeout(0); + $process->disableOutput(); + set_time_limit(0); + ignore_user_abort(true); + + $process->run(); + }, -1000); + return $app->redirectPath('admin_tasks_list'); } @@ -133,6 +155,17 @@ class TaskManager implements ControllerProviderInterface { $app['task-manager.status']->stop(); + /** @var LiveInformation $info */ + $info = $app['task-manager.live-information']; + $data = $info->getManager(); + if (null !== $pid = $data['process-id']) { + if (substr(php_uname(), 0, 7) == "Windows"){ + exec(sprintf('TaskKill /PID %d', $pid)); + } else { + exec(sprintf('kill %d', $pid)); + } + } + return $app->redirectPath('admin_tasks_list'); } diff --git a/lib/Alchemy/Phrasea/Core/Provider/SessionHandlerServiceProvider.php b/lib/Alchemy/Phrasea/Core/Provider/SessionHandlerServiceProvider.php index 54d03b0c65..06dd62b910 100644 --- a/lib/Alchemy/Phrasea/Core/Provider/SessionHandlerServiceProvider.php +++ b/lib/Alchemy/Phrasea/Core/Provider/SessionHandlerServiceProvider.php @@ -14,6 +14,9 @@ namespace Alchemy\Phrasea\Core\Provider; use Alchemy\Phrasea\Core\Configuration\SessionHandlerFactory; use Silex\Application; use Silex\ServiceProviderInterface; +use Symfony\Component\HttpKernel\Event\FilterResponseEvent; +use Symfony\Component\HttpKernel\HttpKernelInterface; +use Symfony\Component\HttpKernel\KernelEvents; class SessionHandlerServiceProvider implements ServiceProviderInterface { @@ -27,10 +30,24 @@ class SessionHandlerServiceProvider implements ServiceProviderInterface }); } + public function onKernelResponse(FilterResponseEvent $event) + { + if (HttpKernelInterface::MASTER_REQUEST !== $event->getRequestType()) { + return; + } + + $session = $event->getRequest()->getSession(); + if ($session && $session->isStarted()) { + $session->save(); + } + } + /** * {@inheritdoc} */ public function boot(Application $app) { + // Priority should be lower than test session mock listener + $app['dispatcher']->addListener(KernelEvents::RESPONSE, array($this, 'onKernelResponse'), -129); } } diff --git a/lib/Alchemy/Phrasea/Http/XSendFile/NginxMode.php b/lib/Alchemy/Phrasea/Http/XSendFile/NginxMode.php index da8411678c..256b3d9ade 100644 --- a/lib/Alchemy/Phrasea/Http/XSendFile/NginxMode.php +++ b/lib/Alchemy/Phrasea/Http/XSendFile/NginxMode.php @@ -25,7 +25,7 @@ class NginxMode extends AbstractServerMode implements ModeInterface $xAccelMapping = []; foreach ($this->mapping as $entry) { - $xAccelMapping[] = sprintf('%s=%s', $entry['mount-point'], $entry['directory']); + $xAccelMapping[] = sprintf('%s=%s', $entry['directory'], $entry['mount-point']); } if (count($xAccelMapping) > 0 ) { diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 7c9878e721..90a9513d90 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -22,11 +22,13 @@ - - lib/vendor - tests - vendor - + + tests + vendor + + + lib + diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Admin/TaskManagerTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Admin/TaskManagerTest.php index 0ef6c0f32b..b7007a9811 100644 --- a/tests/Alchemy/Tests/Phrasea/Controller/Admin/TaskManagerTest.php +++ b/tests/Alchemy/Tests/Phrasea/Controller/Admin/TaskManagerTest.php @@ -4,6 +4,8 @@ namespace Alchemy\Tests\Phrasea\Controller\Admin; use Alchemy\Phrasea\Model\Entities\Task; use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\HttpKernel\Event\PostResponseEvent; +use Symfony\Component\HttpKernel\KernelEvents; class TaskManagerTest extends \PhraseanetAuthenticatedWebTestCase { @@ -63,6 +65,11 @@ class TaskManagerTest extends \PhraseanetAuthenticatedWebTestCase ->getMock(); self::$DI['app']['task-manager.status']->expects($this->once()) ->method('start'); + // Prevent actual start of process scheduler + self::$DI['app']['dispatcher']->addListener(KernelEvents::TERMINATE, function (PostResponseEvent $event) { + $event->stopPropagation(); + }, -999); + self::$DI['client']->request('POST', '/admin/task-manager/scheduler/start'); $this->assertEquals(302, self::$DI['client']->getResponse()->getStatusCode()); $this->assertEquals('/admin/task-manager/tasks', self::$DI['client']->getResponse()->headers->get('location')); diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php index a8f6d0696c..f137ad959b 100644 --- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php +++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php @@ -102,7 +102,7 @@ class UploadTest extends \PhraseanetAuthenticatedWebTestCase $this->assertTrue($record->get_thumbnail()->is_physically_present()); $fields = $record->get_caption()->get_fields(['FileName']); $field = array_pop($fields); - $this->assertEquals($field->get_serialized_values(), 'KIKOO'); + $this->assertEquals('KIKOO.JPG', $field->get_serialized_values()); } } diff --git a/tests/Alchemy/Tests/Phrasea/Core/Event/Subscriber/SessionManagerSubscriberTest.php b/tests/Alchemy/Tests/Phrasea/Core/Event/Subscriber/SessionManagerSubscriberTest.php index f26d731073..a57e9ac98e 100644 --- a/tests/Alchemy/Tests/Phrasea/Core/Event/Subscriber/SessionManagerSubscriberTest.php +++ b/tests/Alchemy/Tests/Phrasea/Core/Event/Subscriber/SessionManagerSubscriberTest.php @@ -32,7 +32,7 @@ class SessionManagerSubscriberTest extends \PhraseanetAuthenticatedWebTestCase $this->assertTrue($client->getResponse()->isRedirect()); $this->assertNotNUll($client->getResponse()->headers->get('x-phraseanet-end-session')); $this->assertNotNUll($client->getResponse()->headers->get('location')); - $this->assertEquals('/login?redirect=..%2Fprod', $client->getResponse()->headers->get('location')); + $this->assertRegExp('#/login\?redirect=..(?:%2F|/)prod#', $client->getResponse()->headers->get('location')); } public function testEndSessionXmlXhttpRequest() @@ -132,7 +132,7 @@ class SessionManagerSubscriberTest extends \PhraseanetAuthenticatedWebTestCase $this->assertTrue($client->getResponse()->isRedirect()); $this->assertNotNUll($client->getResponse()->headers->get('x-phraseanet-end-session')); $this->assertNotNUll($client->getResponse()->headers->get('location')); - $this->assertEquals('/login?redirect=..%2Fprod', $client->getResponse()->headers->get('location')); + $this->assertRegExp('#/login\?redirect=..(?:%2F|/)prod#', $client->getResponse()->headers->get('location')); } public function testEndSessionAuthenticatedWithOutdatedIdleXmlHttpRequest() diff --git a/tests/Alchemy/Tests/Phrasea/Core/Provider/SessionHandlerServiceProviderTest.php b/tests/Alchemy/Tests/Phrasea/Core/Provider/SessionHandlerServiceProviderTest.php index 61050e96fd..cbfd74b24d 100644 --- a/tests/Alchemy/Tests/Phrasea/Core/Provider/SessionHandlerServiceProviderTest.php +++ b/tests/Alchemy/Tests/Phrasea/Core/Provider/SessionHandlerServiceProviderTest.php @@ -5,17 +5,31 @@ namespace Alchemy\Tests\Phrasea\Core\Provider; use Alchemy\Phrasea\Core\Configuration\PropertyAccess; use Alchemy\Phrasea\Core\Provider\SessionHandlerServiceProvider; use Alchemy\Tests\Phrasea\MockArrayConf; -use Silex\Application as SilexApp; +use Silex\Application; use Silex\Provider\SessionServiceProvider; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Session\SessionInterface; +use Symfony\Component\HttpKernel\Event\FilterResponseEvent; +use Symfony\Component\HttpKernel\HttpKernelInterface; +use Symfony\Component\HttpKernel\KernelEvents; -class SessionHandlerServiceProviderTest extends \PhraseanetTestCase +class SessionHandlerServiceProviderTest extends \PHPUnit_Framework_TestCase { - /** - * @dataProvider provideVariousConfs - */ - public function testWithVariousConf($sessionConf, $expectedInstance, $method = null, $options = null, $mock = null) + /** @var SessionHandlerServiceProvider */ + private $sut; + + protected function setUp() { - $app = new SilexApp(); + $this->sut = new SessionHandlerServiceProvider(); + } + + /** + * @dataProvider provideVariousConfigurations + */ + public function testWithVariousConfigurations($sessionConf, $expectedInstance, $method = null, $options = null, $mock = null) + { + $app = new Application(); $app['root.path'] = __DIR__ . '/../../../../../..'; $app->register(new SessionServiceProvider()); $app->register(new SessionHandlerServiceProvider()); @@ -35,60 +49,9 @@ class SessionHandlerServiceProviderTest extends \PhraseanetTestCase $this->assertInstanceOf($expectedInstance, $handler); } - public function provideVariousConfs() + public function provideVariousConfigurations() { - $memcache = $this->getMockBuilder('Memcache') - ->disableOriginalConstructor() - ->getMock(); - - @$memcached = $this->getMockBuilder('Memcached') - ->disableOriginalConstructor() - ->getMock(); - - $redis = $this->getMockBuilder('Redis') - ->disableOriginalConstructor() - ->getMock(); - - return [ - [ - [ - 'type' => 'memcache', - 'options' => [ - 'host' => 'localhost', - 'port' => '11211', - ] - ], - 'Symfony\Component\HttpFoundation\Session\Storage\Handler\WriteCheckSessionHandler', - 'getMemcacheConnection', - ['host' => 'localhost', 'port' => 11211], - $memcache - ], - [ - [ - 'type' => 'memcached', - 'options' => [ - 'host' => 'localhost', - 'port' => '11211', - ] - ], - 'Symfony\Component\HttpFoundation\Session\Storage\Handler\WriteCheckSessionHandler', - 'getMemcachedConnection', - ['host' => 'localhost', 'port' => 11211], - $memcached - ], - [ - [ - 'type' => 'redis', - 'options' => [ - 'host' => '127.0.0.1', - 'port' => '6379', - ] - ], - 'Symfony\Component\HttpFoundation\Session\Storage\Handler\WriteCheckSessionHandler', - 'getRedisConnection', - ['host' => '127.0.0.1', 'port' => 6379], - $redis - ], + $configurations = [ [ [ 'main' => [ @@ -100,5 +63,129 @@ class SessionHandlerServiceProviderTest extends \PhraseanetTestCase 'Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler' ] ]; + + if (class_exists('Memcache')) { + $memcache = $this->getMockBuilder('Memcache') + ->disableOriginalConstructor() + ->getMock(); + + $configurations[] = [ + [ + 'type' => 'memcache', + 'options' => [ + 'host' => 'localhost', + 'port' => '11211', + ] + ], + 'Symfony\Component\HttpFoundation\Session\Storage\Handler\WriteCheckSessionHandler', + 'getMemcacheConnection', + ['host' => 'localhost', 'port' => 11211], + $memcache + ]; + } + + if (class_exists('Memcached')) { + // Error suppressor due to Memcached having now obsolete by reference declarations + @$memcached = $this->getMockBuilder('Memcached') + ->disableOriginalConstructor() + ->getMock(); + + $configurations[] = [ + [ + 'type' => 'memcached', + 'options' => [ + 'host' => 'localhost', + 'port' => '11211', + ] + ], + 'Symfony\Component\HttpFoundation\Session\Storage\Handler\WriteCheckSessionHandler', + 'getMemcachedConnection', + ['host' => 'localhost', 'port' => 11211], + $memcached + ]; + } + + if (class_exists('Redis')) { + $redis = $this->getMockBuilder('Redis') + ->disableOriginalConstructor() + ->getMock(); + + $configurations[] = [ + [ + 'type' => 'redis', + 'options' => [ + 'host' => '127.0.0.1', + 'port' => '6379', + ] + ], + 'Symfony\Component\HttpFoundation\Session\Storage\Handler\WriteCheckSessionHandler', + 'getRedisConnection', + ['host' => '127.0.0.1', 'port' => 6379], + $redis + ]; + } + + return $configurations; + } + + public function testItIgnoresSubRequests() + { + $event = $this->getMockBuilder(FilterResponseEvent::class) + ->disableOriginalConstructor() + ->getMock(); + + $event->expects($this->once()) + ->method('getRequestType') + ->willReturn(HttpKernelInterface::SUB_REQUEST) + ; + + $this->sut->onKernelResponse($event); + } + + public function testItSavesSessionAtKernelResponseEvent() + { + $session = $this->getMock(SessionInterface::class); + $session + ->expects($this->once()) + ->method('isStarted') + ->willReturn(true) + ; + $session + ->expects($this->once()) + ->method('save') + ; + + $request = new Request(); + $request->setSession($session); + + $event = $this->getMockBuilder(FilterResponseEvent::class) + ->disableOriginalConstructor() + ->getMock(); + + $event->expects($this->once()) + ->method('getRequestType') + ->willReturn(HttpKernelInterface::MASTER_REQUEST) + ; + $event + ->expects($this->once()) + ->method('getRequest') + ->willReturn($request) + ; + + $this->sut->onKernelResponse($event); + } + + public function testItAddsFilterResponseAtBoot() + { + $dispatcher = $this->getMock(EventDispatcherInterface::class); + $dispatcher + ->expects($this->once()) + ->method('addListener') + ->with(KernelEvents::RESPONSE, [$this->sut, 'onKernelResponse'], -129); + + $app = new Application(); + $app['dispatcher'] = $dispatcher; + + $this->sut->boot($app); } } diff --git a/tests/Alchemy/Tests/Phrasea/Http/ServeFileResponseFactoryTest.php b/tests/Alchemy/Tests/Phrasea/Http/ServeFileResponseFactoryTest.php index 46f658e380..580be06ed6 100644 --- a/tests/Alchemy/Tests/Phrasea/Http/ServeFileResponseFactoryTest.php +++ b/tests/Alchemy/Tests/Phrasea/Http/ServeFileResponseFactoryTest.php @@ -23,7 +23,7 @@ class ServeFileResponseFactoryTest extends \PhraseanetWebTestCase $response = $this->factory->deliverFile(__DIR__ . '/../../../../files/cestlafete.jpg'); - $this->assertInstanceOf("Symfony\Component\HttpFoundation\Response", $response); + $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response); $this->assertEquals('inline; filename="cestlafete.jpg"', $response->headers->get('content-disposition')); $this->assertEquals(0, $response->getMaxAge()); $response->setPrivate(); @@ -45,7 +45,7 @@ class ServeFileResponseFactoryTest extends \PhraseanetWebTestCase $response = $this->factory->deliverFile(__DIR__ . '/../../../../files/cestlafete.jpg', 'toto.jpg'); - $this->assertInstanceOf("Symfony\Component\HttpFoundation\Response", $response); + $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response); $this->assertEquals('inline; filename="toto.jpg"', $response->headers->get('content-disposition')); } @@ -55,7 +55,7 @@ class ServeFileResponseFactoryTest extends \PhraseanetWebTestCase $response = $this->factory->deliverFile(__DIR__ . '/../../../../files/cestlafete.jpg', 'toto.jpg', 'attachment'); - $this->assertInstanceOf("Symfony\Component\HttpFoundation\Response", $response); + $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response); $this->assertEquals('attachment; filename="toto.jpg"', $response->headers->get('content-disposition')); } @@ -77,7 +77,7 @@ class ServeFileResponseFactoryTest extends \PhraseanetWebTestCase $response = $this->factory->deliverFile(__DIR__ . '/../../../../files/cestlafete.jpg', 'toto.jpg', 'attachment'); $response->prepare($request); - $this->assertInstanceOf("Symfony\Component\HttpFoundation\Response", $response); + $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response); $this->assertEquals('attachment; filename="toto.jpg"', $response->headers->get('content-disposition')); $this->assertEquals('/protected/cestlafete.jpg', $response->headers->get('x-accel-redirect')); } @@ -100,7 +100,7 @@ class ServeFileResponseFactoryTest extends \PhraseanetWebTestCase $response = $this->factory->deliverFile(__DIR__ . '/../../../../files/cestlafete.jpg', 'toto.jpg', 'attachment'); $response->prepare($request); - $this->assertInstanceOf("Symfony\Component\HttpFoundation\Response", $response); + $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response); $this->assertEquals('attachment; filename="toto.jpg"', $response->headers->get('content-disposition')); $this->assertEquals('/protected/cestlafete.jpg', $response->headers->get('x-accel-redirect')); } @@ -136,7 +136,7 @@ class ServeFileResponseFactoryTest extends \PhraseanetWebTestCase $response = $this->factory->deliverFile($file, 'PhraseanetTestCase.php', 'attachment'); $response->prepare($request); - $this->assertInstanceOf("Symfony\Component\HttpFoundation\Response", $response); + $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response); $this->assertEquals('attachment; filename="PhraseanetTestCase.php"', $response->headers->get('content-disposition')); $this->assertEquals(realpath($file), $response->headers->get('x-accel-redirect')); } @@ -152,7 +152,7 @@ class ServeFileResponseFactoryTest extends \PhraseanetWebTestCase $response = $this->factory->deliverData($data, 'data.csv', 'text/csv', 'attachment'); - $this->assertInstanceOf("Symfony\Component\HttpFoundation\Response", $response); + $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response); $this->assertEquals('attachment; filename="data.csv"', $response->headers->get('content-disposition')); $this->assertEquals('text/csv', $response->headers->get('content-type')); $this->assertEquals($data, $response->getContent()); diff --git a/tests/Alchemy/Tests/Phrasea/Http/XSendFile/NginxModeTest.php b/tests/Alchemy/Tests/Phrasea/Http/XSendFile/NginxModeTest.php index e6518bd3c8..74a78d4bd4 100644 --- a/tests/Alchemy/Tests/Phrasea/Http/XSendFile/NginxModeTest.php +++ b/tests/Alchemy/Tests/Phrasea/Http/XSendFile/NginxModeTest.php @@ -5,7 +5,7 @@ namespace Alchemy\Tests\Phrasea\Http\XSendFile; use Alchemy\Phrasea\Http\XSendFile\NginxMode; use Symfony\Component\HttpFoundation\Request; -class NginxModeTest extends \PhraseanetTestCase +class NginxModeTest extends \PHPUnit_Framework_TestCase { public function testGetVirtualHost() { @@ -43,7 +43,7 @@ class NginxModeTest extends \PhraseanetTestCase $mode->setHeaders($request); $this->assertArrayHasKey('x-sendfile-type', $request->headers->all()); $this->assertArrayHasKey('x-accel-mapping', $request->headers->all()); - $this->assertEquals('/protected='.realpath($protected).',/uploads='.realpath($upload), $request->headers->get('X-Accel-Mapping')); + $this->assertEquals(realpath($protected).'=/protected,'.realpath($upload).'=/uploads', $request->headers->get('X-Accel-Mapping')); } public function testSetInvalidHeaders()