From b6588d10de4bba3f10263c0e38cba9efded09d18 Mon Sep 17 00:00:00 2001 From: Sullivan SENECHAL Date: Fri, 11 Dec 2015 14:05:42 +0100 Subject: [PATCH] Deps update and fix deprecated stuff --- app/autoload.php | 2 + app/config/config.yml | 16 +- app/config/security.yml | 2 +- app/console | 15 +- composer.json | 25 +- composer.lock | 1279 +++++++++++++---- phpunit.xml.dist | 2 +- .../Controller/ExploreController.php | 5 +- .../WebBundle/Controller/FeedController.php | 11 +- .../Controller/PackageController.php | 19 +- .../WebBundle/Controller/WebController.php | 36 +- src/Packagist/WebBundle/Entity/User.php | 2 +- .../EventListener/RegistrationListener.php | 46 + .../Form/Handler/RegistrationFormHandler.php | 27 - .../WebBundle/Form/Type/AbandonedType.php | 7 +- .../Form/Type/AddMaintainerRequestType.php | 11 +- .../Form/Type/OAuthRegistrationFormType.php | 11 +- .../WebBundle/Form/Type/OrderByType.php | 12 +- .../WebBundle/Form/Type/PackageType.php | 11 +- .../WebBundle/Form/Type/ProfileFormType.php | 5 +- .../Form/Type/RemoveMaintainerRequestType.php | 11 +- .../WebBundle/Form/Type/SearchQueryType.php | 16 +- src/Packagist/WebBundle/Menu/MenuBuilder.php | 10 +- .../WebBundle/Model/PackageManager.php | 4 +- .../WebBundle/Resources/config/services.yml | 60 +- .../Resources/views/Package/abandon.html.twig | 4 +- .../Resources/views/Package/edit.html.twig | 4 +- .../views/Package/submitPackage.html.twig | 4 +- .../views/Package/viewPackage.html.twig | 14 +- .../Resources/views/Web/searchForm.html.twig | 5 +- .../Security/Provider/UserProvider.php | 16 +- .../WebBundle/Twig/PackagistExtension.php | 10 +- web/app.php | 8 +- web/app_dev.php | 8 +- 34 files changed, 1251 insertions(+), 467 deletions(-) create mode 100644 src/Packagist/WebBundle/EventListener/RegistrationListener.php delete mode 100644 src/Packagist/WebBundle/Form/Handler/RegistrationFormHandler.php diff --git a/app/autoload.php b/app/autoload.php index 54dbe63e..196a082b 100644 --- a/app/autoload.php +++ b/app/autoload.php @@ -2,6 +2,8 @@ use Doctrine\Common\Annotations\AnnotationRegistry; +error_reporting(error_reporting() & ~E_USER_DEPRECATED); + if (!$loader = @include __DIR__.'/../vendor/autoload.php') { $message = <<< EOF diff --git a/app/config/config.yml b/app/config/config.yml index 927f9a3c..55fc94de 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -12,7 +12,9 @@ framework: csrf_protection: true validation: { enable_annotations: true } translator: { fallback: en } - templating: { engines: ['twig'], assets_version: v=%assets_version% } + templating: { engines: ['twig'] } + assets: + version: v=%assets_version% default_locale: %locale% session: name: packagist @@ -26,9 +28,8 @@ framework: # Twig Configuration twig: - form: - resources: - - 'PackagistWebBundle::forms.html.twig' + form_themes: + - 'PackagistWebBundle::forms.html.twig' debug: %kernel.debug% strict_variables: %kernel.debug% globals: @@ -44,6 +45,8 @@ doctrine: user: %database_user% password: %database_password% charset: UTF8 + # See https://github.com/sonata-project/SonataAdminBundle/issues/3342 + server_version: 5.6 orm: auto_generate_proxy_classes: %kernel.debug% auto_mapping: true @@ -73,15 +76,12 @@ fos_user: from_email: address: %mailer_from_email% sender_name: %mailer_from_name% - registration: - form: - handler: packagist.form.handler.registration profile: form: type: packagist_user_profile hwi_oauth: - firewall_name: main + firewall_names: [main] connect: account_connector: packagist.user_provider registration_form_handler: packagist.oauth.registration_form_handler diff --git a/app/config/security.yml b/app/config/security.yml index 98ad2913..bb57092c 100644 --- a/app/config/security.yml +++ b/app/config/security.yml @@ -19,7 +19,7 @@ security: check_path: /login_check failure_path: null remember_me: - key: %remember_me.secret% + secret: %remember_me.secret% user_providers: packagist name: pauth always_remember_me: true diff --git a/app/console b/app/console index 45701202..b8bae1cc 100755 --- a/app/console +++ b/app/console @@ -1,6 +1,11 @@ #!/usr/bin/env php getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev'); diff --git a/composer.json b/composer.json index 490c3a9b..ad61c92d 100644 --- a/composer.json +++ b/composer.json @@ -20,29 +20,30 @@ "email": "contact@packagist.org" }, "autoload": { - "psr-4": { "Packagist\\": "src/Packagist/" } + "psr-4": { "Packagist\\": "src/Packagist/" }, + "classmap": [ "app/AppKernel.php", "app/AppCache.php" ] }, "require": { "php": ">=5.5", - "symfony/symfony": "^2.7", + "symfony/symfony": "^2.8", "doctrine/orm": "^2.3", "doctrine/doctrine-bundle": "^1.2", "twig/extensions": "^1.0", "symfony/swiftmailer-bundle": "^2.3", "symfony/monolog-bundle": "^2.4", - "sensio/distribution-bundle": "^2.3", - "sensio/framework-extra-bundle": "^2.3", - "sensio/generator-bundle": "^2.3", + "sensio/distribution-bundle": "^5.0", + "sensio/framework-extra-bundle": "^3.0", + "sensio/generator-bundle": "^3.0", "jms/security-extra-bundle": "^1.5", "jms/di-extra-bundle": "^1.4", "composer/composer": "^1.0@dev", - "friendsofsymfony/user-bundle": "^1.0", - "hwi/oauth-bundle": "^0.4@dev", + "friendsofsymfony/user-bundle": "^2.0@dev", + "hwi/oauth-bundle": "^0.4", "nelmio/solarium-bundle": "^1.0", "nelmio/security-bundle": "^1.0", "predis/predis": "^1.0", - "snc/redis-bundle": "^1.1.9", + "snc/redis-bundle": "dev-master", "white-october/pagerfanta-bundle": "^1.0", "zendframework/zend-feed": "^2.0", "zendframework/zend-servicemanager": "^2.0", @@ -52,6 +53,14 @@ "knplabs/knp-menu-bundle": "^2.0", "ezyang/htmlpurifier": "^4.6" }, + "require-dev": { + "symfony/phpunit-bridge": "^2.7 || ^3.0" + }, + "conflict": { + "knplabs/knp-menu": "<=2.1.0" + }, + "minimum-stability": "dev", + "prefer-stable": true, "scripts": { "post-install-cmd": [ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", diff --git a/composer.lock b/composer.lock index 73e4c9a6..46b9a5e3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "47988c7314bc06c86c76d79238a15304", - "content-hash": "fbf1ad5fab4262bae0d5fe1b960e9a78", + "hash": "3fb611ce8d6abb0e41694da0ca416e19", + "content-hash": "f899b309b074334a588ffbf27f1daa7c", "packages": [ { "name": "composer/composer", @@ -13,12 +13,12 @@ "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "649dc78f086e9f9cb7f4eb681ae17b95f896c823" + "reference": "1c525b76f81123af180743d31c208c29351cf931" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/649dc78f086e9f9cb7f4eb681ae17b95f896c823", - "reference": "649dc78f086e9f9cb7f4eb681ae17b95f896c823", + "url": "https://api.github.com/repos/composer/composer/zipball/1c525b76f81123af180743d31c208c29351cf931", + "reference": "1c525b76f81123af180743d31c208c29351cf931", "shasum": "" }, "require": { @@ -27,7 +27,7 @@ "justinrainbow/json-schema": "^1.4.4", "php": "^5.3.2 || ^7.0", "seld/cli-prompt": "^1.0", - "seld/jsonlint": "^1.0", + "seld/jsonlint": "^1.4", "seld/phar-utils": "^1.0", "symfony/console": "^2.5 || ^3.0", "symfony/filesystem": "^2.5 || ^3.0", @@ -79,7 +79,7 @@ "dependency", "package" ], - "time": "2015-11-06 22:33:38" + "time": "2015-12-09 15:47:26" }, { "name": "composer/semver", @@ -301,16 +301,16 @@ }, { "name": "doctrine/cache", - "version": "v1.5.1", + "version": "v1.5.2", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "2b9cec5a5e722010cbebc91713d4c11eaa064d5e" + "reference": "47c7128262da274f590ae6f86eb137a7a64e82af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/2b9cec5a5e722010cbebc91713d4c11eaa064d5e", - "reference": "2b9cec5a5e722010cbebc91713d4c11eaa064d5e", + "url": "https://api.github.com/repos/doctrine/cache/zipball/47c7128262da274f590ae6f86eb137a7a64e82af", + "reference": "47c7128262da274f590ae6f86eb137a7a64e82af", "shasum": "" }, "require": { @@ -367,7 +367,7 @@ "cache", "caching" ], - "time": "2015-11-02 18:35:48" + "time": "2015-12-03 10:50:37" }, { "name": "doctrine/collections", @@ -437,16 +437,16 @@ }, { "name": "doctrine/common", - "version": "v2.5.1", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9" + "reference": "311001fd9865a4d0d59efff4eac6d7dcb3f5270c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/0009b8f0d4a917aabc971fb089eba80e872f83f9", - "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9", + "url": "https://api.github.com/repos/doctrine/common/zipball/311001fd9865a4d0d59efff4eac6d7dcb3f5270c", + "reference": "311001fd9865a4d0d59efff4eac6d7dcb3f5270c", "shasum": "" }, "require": { @@ -463,7 +463,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6.x-dev" + "dev-master": "2.5.x-dev" } }, "autoload": { @@ -506,7 +506,7 @@ "persistence", "spl" ], - "time": "2015-08-31 13:00:22" + "time": "2015-12-04 12:49:42" }, { "name": "doctrine/dbal", @@ -581,16 +581,16 @@ }, { "name": "doctrine/doctrine-bundle", - "version": "1.6.0", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "a5b3ba908ba68f3e14e42762a7b940fde65ed7da" + "reference": "c4ffef2b2296e9d0179eb0b5248e5ae25c9bba3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/a5b3ba908ba68f3e14e42762a7b940fde65ed7da", - "reference": "a5b3ba908ba68f3e14e42762a7b940fde65ed7da", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/c4ffef2b2296e9d0179eb0b5248e5ae25c9bba3b", + "reference": "c4ffef2b2296e9d0179eb0b5248e5ae25c9bba3b", "shasum": "" }, "require": { @@ -655,28 +655,27 @@ "orm", "persistence" ], - "time": "2015-11-04 21:33:02" + "time": "2015-11-16 17:11:46" }, { "name": "doctrine/doctrine-cache-bundle", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineCacheBundle.git", - "reference": "3233bc78e222d528ca89a6a47d48d6f37888e95e" + "reference": "030ff41ef1db66370b36467086bfb817a661fe6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/3233bc78e222d528ca89a6a47d48d6f37888e95e", - "reference": "3233bc78e222d528ca89a6a47d48d6f37888e95e", + "url": "https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/030ff41ef1db66370b36467086bfb817a661fe6a", + "reference": "030ff41ef1db66370b36467086bfb817a661fe6a", "shasum": "" }, "require": { "doctrine/cache": "^1.4.2", "doctrine/inflector": "~1.0", "php": ">=5.3.2", - "symfony/doctrine-bridge": "~2.2|~3.0", - "symfony/security-acl": "~2.3|~3.0" + "symfony/doctrine-bridge": "~2.2|~3.0" }, "require-dev": { "instaclick/coding-standard": "~1.1", @@ -689,13 +688,17 @@ "symfony/finder": "~2.2|~3.0", "symfony/framework-bundle": "~2.2|~3.0", "symfony/phpunit-bridge": "~2.7|~3.0", + "symfony/security-acl": "~2.3|~3.0", "symfony/validator": "~2.2|~3.0", "symfony/yaml": "~2.2|~3.0" }, + "suggest": { + "symfony/security-acl": "For using this bundle to cache ACLs" + }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { @@ -739,7 +742,7 @@ "cache", "caching" ], - "time": "2015-11-05 13:48:27" + "time": "2015-11-27 04:59:07" }, { "name": "doctrine/inflector", @@ -918,16 +921,16 @@ }, { "name": "doctrine/orm", - "version": "v2.5.1", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/doctrine/doctrine2.git", - "reference": "e6a83bedbe67579cb0bfb688e982e617943a2945" + "reference": "464b5fdbfbbeb4a65465ac173c4c5d90960f41ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/e6a83bedbe67579cb0bfb688e982e617943a2945", - "reference": "e6a83bedbe67579cb0bfb688e982e617943a2945", + "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/464b5fdbfbbeb4a65465ac173c4c5d90960f41ff", + "reference": "464b5fdbfbbeb4a65465ac173c4c5d90960f41ff", "shasum": "" }, "require": { @@ -938,12 +941,12 @@ "doctrine/instantiator": "~1.0.1", "ext-pdo": "*", "php": ">=5.4", - "symfony/console": "~2.5" + "symfony/console": "~2.5|~3.0" }, "require-dev": { "phpunit/phpunit": "~4.0", "satooshi/php-coveralls": "dev-master", - "symfony/yaml": "~2.1" + "symfony/yaml": "~2.3|~3.0" }, "suggest": { "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" @@ -991,7 +994,7 @@ "database", "orm" ], - "time": "2015-08-31 12:59:39" + "time": "2015-11-23 12:44:25" }, { "name": "ezyang/htmlpurifier", @@ -1039,30 +1042,32 @@ }, { "name": "friendsofsymfony/user-bundle", - "version": "v1.3.6", - "target-dir": "FOS/UserBundle", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/FriendsOfSymfony/FOSUserBundle.git", - "reference": "2022ac8463a8c50dd631f93a17064bd41795fff2" + "reference": "e39b040e272c72f0a090c67d802e1d3b2d0b0313" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/2022ac8463a8c50dd631f93a17064bd41795fff2", - "reference": "2022ac8463a8c50dd631f93a17064bd41795fff2", + "url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/e39b040e272c72f0a090c67d802e1d3b2d0b0313", + "reference": "e39b040e272c72f0a090c67d802e1d3b2d0b0313", "shasum": "" }, "require": { - "php": ">=5.3.2", - "symfony/framework-bundle": "~2.1", - "symfony/security-bundle": "~2.1" + "php": ">=5.3.9", + "symfony/form": "~2.3|~3.0", + "symfony/framework-bundle": "~2.3|~3.0", + "symfony/security-bundle": "~2.3|~3.0", + "symfony/twig-bundle": "~2.3|~3.0" }, "require-dev": { "doctrine/doctrine-bundle": "~1.3", "swiftmailer/swiftmailer": "~4.3|~5", - "symfony/validator": "~2.1", - "symfony/yaml": "~2.1", - "twig/twig": "~1.5", + "symfony/console": "~2.3|~3.0", + "symfony/phpunit-bridge": "~2.7|~3.0", + "symfony/validator": "~2.3|~3.0", + "symfony/yaml": "~2.3|~3.0", "willdurand/propel-typehintable-behavior": "~1.0" }, "suggest": { @@ -1075,8 +1080,8 @@ } }, "autoload": { - "psr-0": { - "FOS\\UserBundle": "" + "psr-4": { + "FOS\\UserBundle\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1102,21 +1107,20 @@ "keywords": [ "User management" ], - "time": "2015-06-01 00:57:03" + "time": "2015-12-05 09:38:57" }, { "name": "hwi/oauth-bundle", - "version": "dev-master", - "target-dir": "HWI/Bundle/OAuthBundle", + "version": "0.4.0", "source": { "type": "git", "url": "https://github.com/hwi/HWIOAuthBundle.git", - "reference": "7b26e8b87945f825bb5df29691ee72e12cf97894" + "reference": "86b5a876224b8a26707813aa94d3637886aa2041" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hwi/HWIOAuthBundle/zipball/7b26e8b87945f825bb5df29691ee72e12cf97894", - "reference": "7b26e8b87945f825bb5df29691ee72e12cf97894", + "url": "https://api.github.com/repos/hwi/HWIOAuthBundle/zipball/86b5a876224b8a26707813aa94d3637886aa2041", + "reference": "86b5a876224b8a26707813aa94d3637886aa2041", "shasum": "" }, "require": { @@ -1134,6 +1138,7 @@ "require-dev": { "doctrine/orm": "~2.3", "friendsofsymfony/user-bundle": "~1.3|~2.0", + "phpunit/phpunit": "~4.8", "symfony/phpunit-bridge": "~2.7", "symfony/property-access": "~2.3", "symfony/twig-bundle": "~2.3", @@ -1152,7 +1157,7 @@ } }, "autoload": { - "psr-0": { + "psr-4": { "HWI\\Bundle\\OAuthBundle\\": "" } }, @@ -1183,13 +1188,18 @@ "keywords": [ "37signals", "Authentication", + "Deezer", + "EVE Online", "amazon", + "auth0", + "azure", "bitbucket", "bitly", "box", "bufferapp", "dailymotion", "deviantart", + "discogs", "disqus", "dropbox", "eventbrite", @@ -1209,14 +1219,22 @@ "oauth1", "oauth2", "odnoklassniki", + "paypal", "qq", + "reddit", + "runkeeper", "salesforce", "security", "sensio connect", "sina weibo", + "slack", + "sound cloud", "spotify", "stack exchange", "stereomood", + "strava", + "toshl", + "trakt", "trello", "twitch", "twitter", @@ -1224,10 +1242,54 @@ "wechat", "windows live", "wordpress", + "xing", "yahoo", - "yandex" + "yandex", + "youtube" + ], + "time": "2015-12-04 12:33:38" + }, + { + "name": "ircmaxell/password-compat", + "version": "v1.0.4", + "source": { + "type": "git", + "url": "https://github.com/ircmaxell/password_compat.git", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "autoload": { + "files": [ + "lib/password.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthony Ferrara", + "email": "ircmaxell@php.net", + "homepage": "http://blog.ircmaxell.com" + } + ], + "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", + "homepage": "https://github.com/ircmaxell/password_compat", + "keywords": [ + "hashing", + "password" ], - "time": "2015-10-09 06:46:40" + "time": "2014-11-20 16:49:30" }, { "name": "jdorn/sql-formatter", @@ -1281,22 +1343,25 @@ }, { "name": "jms/aop-bundle", - "version": "1.1.0", - "target-dir": "JMS/AopBundle", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/JMSAopBundle.git", - "reference": "66287749c020b4c667c0ff4937b07e66c04bbe71" + "reference": "78000d007e74283cc564a58e184d7f62548ad394" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/JMSAopBundle/zipball/66287749c020b4c667c0ff4937b07e66c04bbe71", - "reference": "66287749c020b4c667c0ff4937b07e66c04bbe71", + "url": "https://api.github.com/repos/schmittjoh/JMSAopBundle/zipball/78000d007e74283cc564a58e184d7f62548ad394", + "reference": "78000d007e74283cc564a58e184d7f62548ad394", "shasum": "" }, "require": { "jms/cg": "^1.1", - "symfony/framework-bundle": "2.*" + "php": ">=5.3.9", + "symfony/framework-bundle": "^2.3|^3.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^2.7" }, "type": "symfony-bundle", "extra": { @@ -1305,8 +1370,8 @@ } }, "autoload": { - "psr-0": { - "JMS\\AopBundle": "" + "psr-4": { + "JMS\\AopBundle\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1324,7 +1389,7 @@ "annotations", "aop" ], - "time": "2015-09-13 09:02:33" + "time": "2015-12-09 16:30:46" }, { "name": "jms/cg", @@ -1661,16 +1726,16 @@ }, { "name": "knplabs/knp-menu", - "version": "v2.1.0", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/KnpLabs/KnpMenu.git", - "reference": "c6ad49933babd06a27b2f962a3469601ec9038b8" + "reference": "18253a4467d60614735321387f250b0bc7b0ecad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/KnpLabs/KnpMenu/zipball/c6ad49933babd06a27b2f962a3469601ec9038b8", - "reference": "c6ad49933babd06a27b2f962a3469601ec9038b8", + "url": "https://api.github.com/repos/KnpLabs/KnpMenu/zipball/18253a4467d60614735321387f250b0bc7b0ecad", + "reference": "18253a4467d60614735321387f250b0bc7b0ecad", "shasum": "" }, "require": { @@ -1679,7 +1744,8 @@ "require-dev": { "pimple/pimple": "~1.0", "silex/silex": "~1.0", - "symfony/phpunit-bridge": "~2.7", + "symfony/phpunit-bridge": "~2.7|~3.0", + "symfony/routing": "~2.3|~3.0", "twig/twig": "~1.16|~2.0" }, "suggest": { @@ -1708,7 +1774,7 @@ "email": "stof@notk.org" }, { - "name": "Knplabs", + "name": "KnpLabs", "homepage": "http://knplabs.com" }, { @@ -1722,7 +1788,7 @@ "menu", "tree" ], - "time": "2015-09-20 08:23:47" + "time": "2015-12-05 17:59:31" }, { "name": "knplabs/knp-menu-bundle", @@ -2077,6 +2143,54 @@ ], "time": "2014-10-06 10:57:25" }, + { + "name": "paragonie/random_compat", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "d762ee5b099a29044603cd4649851e81aa66cb47" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/d762ee5b099a29044603cd4649851e81aa66cb47", + "reference": "d762ee5b099a29044603cd4649851e81aa66cb47", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "pseudorandom", + "random" + ], + "time": "2015-12-10 14:48:13" + }, { "name": "phpoption/phpoption", "version": "1.5.0", @@ -2265,20 +2379,20 @@ }, { "name": "seld/jsonlint", - "version": "1.3.1", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "863ae85c6d3ef60ca49cb12bd051c4a0648c40c4" + "reference": "66834d3e3566bb5798db7294619388786ae99394" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/863ae85c6d3ef60ca49cb12bd051c4a0648c40c4", - "reference": "863ae85c6d3ef60ca49cb12bd051c4a0648c40c4", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/66834d3e3566bb5798db7294619388786ae99394", + "reference": "66834d3e3566bb5798db7294619388786ae99394", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^5.3 || ^7.0" }, "bin": [ "bin/jsonlint" @@ -2307,7 +2421,7 @@ "parser", "validator" ], - "time": "2015-01-04 21:18:15" + "time": "2015-11-21 02:21:41" }, { "name": "seld/phar-utils", @@ -2355,31 +2469,37 @@ }, { "name": "sensio/distribution-bundle", - "version": "v2.3.22", - "target-dir": "Sensio/Bundle/DistributionBundle", + "version": "v5.0.2", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioDistributionBundle.git", - "reference": "98bdda791e7c2dfb5fd55781e69a4b00e4f751a6" + "reference": "37bdfaa164396bec6ae00e37c23a6e187ad01bcc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/98bdda791e7c2dfb5fd55781e69a4b00e4f751a6", - "reference": "98bdda791e7c2dfb5fd55781e69a4b00e4f751a6", + "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/37bdfaa164396bec6ae00e37c23a6e187ad01bcc", + "reference": "37bdfaa164396bec6ae00e37c23a6e187ad01bcc", "shasum": "" }, "require": { - "symfony/framework-bundle": "~2.2" + "php": ">=5.3.9", + "sensiolabs/security-checker": "~3.0", + "symfony/class-loader": "~2.3|~3.0", + "symfony/config": "~2.3|~3.0", + "symfony/dependency-injection": "~2.3|~3.0", + "symfony/filesystem": "~2.3|~3.0", + "symfony/http-kernel": "~2.3|~3.0", + "symfony/process": "~2.3|~3.0" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "5.0.x-dev" } }, "autoload": { - "psr-0": { - "Sensio\\Bundle\\DistributionBundle": "" + "psr-4": { + "Sensio\\Bundle\\DistributionBundle\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2392,41 +2512,49 @@ "email": "fabien@symfony.com" } ], - "description": "The base bundle for the Symfony Distributions", + "description": "Base bundle for Symfony Distributions", "keywords": [ "configuration", "distribution" ], - "time": "2015-06-05 22:32:08" + "time": "2015-11-26 18:10:40" }, { "name": "sensio/framework-extra-bundle", - "version": "v2.3.4", - "target-dir": "Sensio/Bundle/FrameworkExtraBundle", + "version": "v3.0.11", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", - "reference": "cce05719041d952bbec856789ca18646a1891d03" + "reference": "a79e205737b58d557c05caef6dfa8f94d8084bca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/cce05719041d952bbec856789ca18646a1891d03", - "reference": "cce05719041d952bbec856789ca18646a1891d03", + "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/a79e205737b58d557c05caef6dfa8f94d8084bca", + "reference": "a79e205737b58d557c05caef6dfa8f94d8084bca", "shasum": "" }, "require": { "doctrine/common": "~2.2", - "symfony/framework-bundle": "~2.2" + "symfony/framework-bundle": "~2.3|~3.0" + }, + "require-dev": { + "symfony/expression-language": "~2.4|~3.0", + "symfony/security-bundle": "~2.4|~3.0" + }, + "suggest": { + "symfony/expression-language": "", + "symfony/psr-http-message-bridge": "To use the PSR-7 converters", + "symfony/security-bundle": "" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { - "psr-0": { - "Sensio\\Bundle\\FrameworkExtraBundle": "" + "psr-4": { + "Sensio\\Bundle\\FrameworkExtraBundle\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2436,9 +2564,7 @@ "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "email": "fabien@symfony.com" } ], "description": "This bundle provides a way to configure your controllers with annotations", @@ -2446,42 +2572,46 @@ "annotations", "controllers" ], - "time": "2013-07-24 08:49:53" + "time": "2015-10-28 15:47:04" }, { "name": "sensio/generator-bundle", - "version": "v2.5.3", - "target-dir": "Sensio/Bundle/GeneratorBundle", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioGeneratorBundle.git", - "reference": "e50108c2133ee5c9c484555faed50c17a61221d3" + "reference": "ca4d3a13387111acff157112ed88360d84831430" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/e50108c2133ee5c9c484555faed50c17a61221d3", - "reference": "e50108c2133ee5c9c484555faed50c17a61221d3", + "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/ca4d3a13387111acff157112ed88360d84831430", + "reference": "ca4d3a13387111acff157112ed88360d84831430", "shasum": "" }, "require": { - "symfony/console": "~2.5", - "symfony/framework-bundle": "~2.2" + "symfony/console": "~2.7|~3.0", + "symfony/framework-bundle": "~2.7|~3.0", + "symfony/process": "~2.7|~3.0", + "symfony/yaml": "~2.7|~3.0" }, "require-dev": { - "doctrine/orm": "~2.2,>=2.2.3", - "symfony/doctrine-bridge": "~2.2", - "twig/twig": "~1.11" + "doctrine/orm": "~2.4", + "symfony/doctrine-bridge": "~2.7|~3.0", + "twig/twig": "~1.18" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.5.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { - "psr-0": { - "Sensio\\Bundle\\GeneratorBundle": "" - } + "psr-4": { + "Sensio\\Bundle\\GeneratorBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2494,33 +2624,77 @@ } ], "description": "This bundle generates code for you", - "time": "2015-03-17 06:36:52" + "time": "2015-12-08 18:08:03" + }, + { + "name": "sensiolabs/security-checker", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sensiolabs/security-checker.git", + "reference": "21696b0daa731064c23cfb694c60a2584a7b6e93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/21696b0daa731064c23cfb694c60a2584a7b6e93", + "reference": "21696b0daa731064c23cfb694c60a2584a7b6e93", + "shasum": "" + }, + "require": { + "symfony/console": "~2.0|~3.0" + }, + "bin": [ + "security-checker" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-0": { + "SensioLabs\\Security": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien.potencier@gmail.com" + } + ], + "description": "A security checker for your composer.lock", + "time": "2015-11-07 08:07:40" }, { "name": "snc/redis-bundle", - "version": "1.1.9", - "target-dir": "Snc/RedisBundle", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/snc/SncRedisBundle.git", - "reference": "77f65e3d86a5e21b9bf3710d7e021595df2b6417" + "reference": "38b867370141d5635f358bd1690e7a17e5902000" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/snc/SncRedisBundle/zipball/77f65e3d86a5e21b9bf3710d7e021595df2b6417", - "reference": "77f65e3d86a5e21b9bf3710d7e021595df2b6417", + "url": "https://api.github.com/repos/snc/SncRedisBundle/zipball/38b867370141d5635f358bd1690e7a17e5902000", + "reference": "38b867370141d5635f358bd1690e7a17e5902000", "shasum": "" }, "require": { "php": ">=5.3.3", - "symfony/framework-bundle": ">=2.1,<3.0", - "symfony/yaml": ">=2.1,<3.0" + "symfony/framework-bundle": "~2.1|~3.0", + "symfony/yaml": "~2.1|~3.0" }, "require-dev": { "doctrine/cache": "1.*", - "phpunit/phpunit": "4.*", + "phpunit/phpunit": "4.7.*", "predis/predis": "~1.0", - "symfony/console": ">=2.1,<3.0" + "symfony/console": "~2.1|~3.0", + "symfony/phpunit-bridge": "~2.7|~3.0" }, "suggest": { "monolog/monolog": "If you want to use the monolog redis handler.", @@ -2529,8 +2703,8 @@ }, "type": "symfony-bundle", "autoload": { - "psr-0": { - "Snc\\RedisBundle": "" + "psr-4": { + "Snc\\RedisBundle\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2554,7 +2728,7 @@ "redis", "symfony" ], - "time": "2015-06-30 09:08:50" + "time": "2015-11-25 08:02:42" }, { "name": "solarium/solarium", @@ -2653,29 +2827,29 @@ }, { "name": "symfony/monolog-bundle", - "version": "2.8.1", + "version": "v2.8.2", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bundle.git", - "reference": "7117b9a145722e3c5768db4585f6ad0643ed5c4a" + "reference": "84785c4d44801c4dd82829fa2e1820cacfe2c46f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/7117b9a145722e3c5768db4585f6ad0643ed5c4a", - "reference": "7117b9a145722e3c5768db4585f6ad0643ed5c4a", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/84785c4d44801c4dd82829fa2e1820cacfe2c46f", + "reference": "84785c4d44801c4dd82829fa2e1820cacfe2c46f", "shasum": "" }, "require": { "monolog/monolog": "~1.8", "php": ">=5.3.2", - "symfony/config": "~2.3|3.*", - "symfony/dependency-injection": "~2.3|3.*", - "symfony/http-kernel": "~2.3|3.*", - "symfony/monolog-bridge": "~2.3|3.*" + "symfony/config": "~2.3|~3.0", + "symfony/dependency-injection": "~2.3|~3.0", + "symfony/http-kernel": "~2.3|~3.0", + "symfony/monolog-bridge": "~2.3|~3.0" }, "require-dev": { - "symfony/console": "~2.3|3.*", - "symfony/yaml": "~2.3" + "symfony/console": "~2.3|~3.0", + "symfony/yaml": "~2.3|~3.0" }, "type": "symfony-bundle", "extra": { @@ -2708,46 +2882,36 @@ "log", "logging" ], - "time": "2015-10-02 11:51:59" + "time": "2015-11-17 10:02:29" }, { - "name": "symfony/swiftmailer-bundle", - "version": "v2.3.8", + "name": "symfony/polyfill-intl-icu", + "version": "v1.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/swiftmailer-bundle.git", - "reference": "970b13d01871207e81d17b17ddda025e7e21e797" + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "2deb44160e1c886241c06602b12b98779f728177" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/970b13d01871207e81d17b17ddda025e7e21e797", - "reference": "970b13d01871207e81d17b17ddda025e7e21e797", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/2deb44160e1c886241c06602b12b98779f728177", + "reference": "2deb44160e1c886241c06602b12b98779f728177", "shasum": "" }, "require": { - "php": ">=5.3.2", - "swiftmailer/swiftmailer": ">=4.2.0,~5.0", - "symfony/swiftmailer-bridge": "~2.1" - }, - "require-dev": { - "symfony/config": "~2.1", - "symfony/dependency-injection": "~2.1", - "symfony/http-kernel": "~2.1", - "symfony/yaml": "~2.1" - }, - "suggest": { - "psr/log": "Allows logging" + "php": ">=5.3.3", + "symfony/intl": "~2.3|~3.0" }, - "type": "symfony-bundle", + "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "1.0-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Bundle\\SwiftmailerBundle\\": "" - } + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2755,116 +2919,55 @@ ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony SwiftmailerBundle", - "homepage": "http://symfony.com", - "time": "2014-12-01 17:44:50" + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "time": "2015-11-04 20:28:58" }, { - "name": "symfony/symfony", - "version": "v2.7.6", + "name": "symfony/polyfill-mbstring", + "version": "v1.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/symfony.git", - "reference": "66b2e9662c44d478b69e48278aa54079a006eb42" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "0b6a8940385311a24e060ec1fe35680e17c74497" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/66b2e9662c44d478b69e48278aa54079a006eb42", - "reference": "66b2e9662c44d478b69e48278aa54079a006eb42", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0b6a8940385311a24e060ec1fe35680e17c74497", + "reference": "0b6a8940385311a24e060ec1fe35680e17c74497", "shasum": "" }, "require": { - "doctrine/common": "~2.4", - "php": ">=5.3.9", - "psr/log": "~1.0", - "twig/twig": "~1.20|~2.0" - }, - "replace": { - "symfony/asset": "self.version", - "symfony/browser-kit": "self.version", - "symfony/class-loader": "self.version", - "symfony/config": "self.version", - "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", - "symfony/event-dispatcher": "self.version", - "symfony/expression-language": "self.version", - "symfony/filesystem": "self.version", - "symfony/finder": "self.version", - "symfony/form": "self.version", - "symfony/framework-bundle": "self.version", - "symfony/http-foundation": "self.version", - "symfony/http-kernel": "self.version", - "symfony/intl": "self.version", - "symfony/locale": "self.version", - "symfony/monolog-bridge": "self.version", - "symfony/options-resolver": "self.version", - "symfony/process": "self.version", - "symfony/property-access": "self.version", - "symfony/proxy-manager-bridge": "self.version", - "symfony/routing": "self.version", - "symfony/security": "self.version", - "symfony/security-acl": "self.version", - "symfony/security-bundle": "self.version", - "symfony/security-core": "self.version", - "symfony/security-csrf": "self.version", - "symfony/security-http": "self.version", - "symfony/serializer": "self.version", - "symfony/stopwatch": "self.version", - "symfony/swiftmailer-bridge": "self.version", - "symfony/templating": "self.version", - "symfony/translation": "self.version", - "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.4", - "doctrine/doctrine-bundle": "~1.2", - "doctrine/orm": "~2.4,>=2.4.5", - "egulias/email-validator": "~1.2", - "ircmaxell/password-compat": "~1.0", - "monolog/monolog": "~1.11", - "ocramius/proxy-manager": "~0.4|~1.0" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.0-dev" } }, "autoload": { "psr-4": { - "Symfony\\Bridge\\Doctrine\\": "src/Symfony/Bridge/Doctrine/", - "Symfony\\Bridge\\Monolog\\": "src/Symfony/Bridge/Monolog/", - "Symfony\\Bridge\\ProxyManager\\": "src/Symfony/Bridge/ProxyManager/", - "Symfony\\Bridge\\Swiftmailer\\": "src/Symfony/Bridge/Swiftmailer/", - "Symfony\\Bridge\\Twig\\": "src/Symfony/Bridge/Twig/", - "Symfony\\Bundle\\": "src/Symfony/Bundle/", - "Symfony\\Component\\": "src/Symfony/Component/" + "Symfony\\Polyfill\\Mbstring\\": "" }, - "classmap": [ - "src/Symfony/Component/HttpFoundation/Resources/stubs", - "src/Symfony/Component/Intl/Resources/stubs" - ], "files": [ - "src/Symfony/Component/Intl/Resources/stubs/functions.php" + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2873,20 +2976,555 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "The Symfony PHP framework", + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2015-11-04 20:28:58" + }, + { + "name": "symfony/polyfill-php54", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php54.git", + "reference": "2c9f6d98eb30dc04fe0b06f9cc92a55acea5bdcc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/2c9f6d98eb30dc04fe0b06f9cc92a55acea5bdcc", + "reference": "2c9f6d98eb30dc04fe0b06f9cc92a55acea5bdcc", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php54\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2015-11-04 20:28:58" + }, + { + "name": "symfony/polyfill-php55", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php55.git", + "reference": "3adc962a6250c02adb508e85ecfa6fcfee9eec47" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/3adc962a6250c02adb508e85ecfa6fcfee9eec47", + "reference": "3adc962a6250c02adb508e85ecfa6fcfee9eec47", + "shasum": "" + }, + "require": { + "ircmaxell/password-compat": "~1.0", + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php55\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2015-11-04 20:28:58" + }, + { + "name": "symfony/polyfill-php56", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "a6bd4770a6967517e6610529e14afaa3111094a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/a6bd4770a6967517e6610529e14afaa3111094a3", + "reference": "a6bd4770a6967517e6610529e14afaa3111094a3", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-util": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php56\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2015-11-04 20:28:58" + }, + { + "name": "symfony/polyfill-php70", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php70.git", + "reference": "7f7f3c9c2b9f17722e0cd64fdb4f957330c53146" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/7f7f3c9c2b9f17722e0cd64fdb4f957330c53146", + "reference": "7f7f3c9c2b9f17722e0cd64fdb4f957330c53146", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "~1.0", + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php70\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2015-11-04 20:28:58" + }, + { + "name": "symfony/polyfill-util", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-util.git", + "reference": "4271c55cbc0a77b2641f861b978123e46b3da969" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/4271c55cbc0a77b2641f861b978123e46b3da969", + "reference": "4271c55cbc0a77b2641f861b978123e46b3da969", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Util\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony utilities for portability of PHP codes", + "homepage": "https://symfony.com", + "keywords": [ + "compat", + "compatibility", + "polyfill", + "shim" + ], + "time": "2015-11-04 20:28:58" + }, + { + "name": "symfony/security-acl", + "version": "v2.7.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-acl.git", + "reference": "9aec8062e33fca5e08d2a78669b2222252e8c3b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-acl/zipball/9aec8062e33fca5e08d2a78669b2222252e8c3b6", + "reference": "9aec8062e33fca5e08d2a78669b2222252e8c3b6", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/security-core": "~2.4" + }, + "require-dev": { + "doctrine/common": "~2.2", + "doctrine/dbal": "~2.2", + "psr/log": "~1.0" + }, + "suggest": { + "doctrine/dbal": "For using the built-in ACL implementation", + "symfony/class-loader": "For using the ACL generateSql script", + "symfony/finder": "For using the ACL generateSql script" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Acl\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Security Component - ACL (Access Control List)", + "homepage": "https://symfony.com", + "time": "2015-11-18 13:41:01" + }, + { + "name": "symfony/swiftmailer-bundle", + "version": "v2.3.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/swiftmailer-bundle.git", + "reference": "3d21ada19f23631f558ad6df653b168e35362e78" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/3d21ada19f23631f558ad6df653b168e35362e78", + "reference": "3d21ada19f23631f558ad6df653b168e35362e78", + "shasum": "" + }, + "require": { + "php": ">=5.3.2", + "swiftmailer/swiftmailer": ">=4.2.0,~5.0", + "symfony/config": "~2.3|~3.0", + "symfony/dependency-injection": "~2.3|~3.0", + "symfony/http-kernel": "~2.3|~3.0", + "symfony/yaml": "~2.3|~3.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7|~3.0" + }, + "suggest": { + "psr/log": "Allows logging" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\SwiftmailerBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony SwiftmailerBundle", + "homepage": "http://symfony.com", + "time": "2015-11-28 10:59:29" + }, + { + "name": "symfony/symfony", + "version": "v2.8.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/symfony.git", + "reference": "5615b92cd452cd54f1433a3f53de87c096a1107f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/symfony/zipball/5615b92cd452cd54f1433a3f53de87c096a1107f", + "reference": "5615b92cd452cd54f1433a3f53de87c096a1107f", + "shasum": "" + }, + "require": { + "doctrine/common": "~2.4", + "php": ">=5.3.9", + "psr/log": "~1.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php54": "~1.0", + "symfony/polyfill-php55": "~1.0", + "symfony/polyfill-php56": "~1.0", + "symfony/polyfill-php70": "~1.0", + "symfony/polyfill-util": "~1.0", + "symfony/security-acl": "~2.7", + "twig/twig": "~1.23|~2.0" + }, + "conflict": { + "phpdocumentor/reflection": "<1.0.7" + }, + "replace": { + "symfony/asset": "self.version", + "symfony/browser-kit": "self.version", + "symfony/class-loader": "self.version", + "symfony/config": "self.version", + "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", + "symfony/event-dispatcher": "self.version", + "symfony/expression-language": "self.version", + "symfony/filesystem": "self.version", + "symfony/finder": "self.version", + "symfony/form": "self.version", + "symfony/framework-bundle": "self.version", + "symfony/http-foundation": "self.version", + "symfony/http-kernel": "self.version", + "symfony/intl": "self.version", + "symfony/ldap": "self.version", + "symfony/locale": "self.version", + "symfony/monolog-bridge": "self.version", + "symfony/options-resolver": "self.version", + "symfony/process": "self.version", + "symfony/property-access": "self.version", + "symfony/property-info": "self.version", + "symfony/proxy-manager-bridge": "self.version", + "symfony/routing": "self.version", + "symfony/security": "self.version", + "symfony/security-bundle": "self.version", + "symfony/security-core": "self.version", + "symfony/security-csrf": "self.version", + "symfony/security-guard": "self.version", + "symfony/security-http": "self.version", + "symfony/serializer": "self.version", + "symfony/stopwatch": "self.version", + "symfony/swiftmailer-bridge": "self.version", + "symfony/templating": "self.version", + "symfony/translation": "self.version", + "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.4", + "doctrine/doctrine-bundle": "~1.2", + "doctrine/orm": "~2.4,>=2.4.5", + "egulias/email-validator": "~1.2", + "monolog/monolog": "~1.11", + "ocramius/proxy-manager": "~0.4|~1.0", + "phpdocumentor/reflection": "^1.0.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Doctrine\\": "src/Symfony/Bridge/Doctrine/", + "Symfony\\Bridge\\Monolog\\": "src/Symfony/Bridge/Monolog/", + "Symfony\\Bridge\\ProxyManager\\": "src/Symfony/Bridge/ProxyManager/", + "Symfony\\Bridge\\Swiftmailer\\": "src/Symfony/Bridge/Swiftmailer/", + "Symfony\\Bridge\\Twig\\": "src/Symfony/Bridge/Twig/", + "Symfony\\Bundle\\": "src/Symfony/Bundle/", + "Symfony\\Component\\": "src/Symfony/Component/" + }, + "classmap": [ + "src/Symfony/Component/Intl/Resources/stubs" + ], + "exclude-from-classmap": [ + "**/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "The Symfony PHP framework", "homepage": "https://symfony.com", "keywords": [ "framework" ], - "time": "2015-10-27 19:07:24" + "time": "2015-11-30 17:26:10" }, { "name": "twig/extensions", @@ -3003,27 +3641,27 @@ }, { "name": "white-october/pagerfanta-bundle", - "version": "v1.0.4", + "version": "v1.0.5", "source": { "type": "git", "url": "https://github.com/whiteoctober/WhiteOctoberPagerfantaBundle.git", - "reference": "f329d7bbd9cb97edaac418ef94807d9e376f8880" + "reference": "e6b020f9c2af6fa5a46d780039c57fdb89003f6c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/whiteoctober/WhiteOctoberPagerfantaBundle/zipball/f329d7bbd9cb97edaac418ef94807d9e376f8880", - "reference": "f329d7bbd9cb97edaac418ef94807d9e376f8880", + "url": "https://api.github.com/repos/whiteoctober/WhiteOctoberPagerfantaBundle/zipball/e6b020f9c2af6fa5a46d780039c57fdb89003f6c", + "reference": "e6b020f9c2af6fa5a46d780039c57fdb89003f6c", "shasum": "" }, "require": { "pagerfanta/pagerfanta": "1.0.*", - "symfony/framework-bundle": "~2.3", - "symfony/property-access": "~2.3", - "symfony/twig-bundle": "~2.3" + "symfony/framework-bundle": "~2.3|~3.0", + "symfony/property-access": "~2.3|~3.0", + "symfony/twig-bundle": "~2.3|~3.0" }, "require-dev": { "phpunit/phpunit": "~3.7", - "symfony/symfony": "~2.3" + "symfony/symfony": "~2.3|~3.0" }, "type": "symfony-bundle", "extra": { @@ -3051,7 +3689,7 @@ "page", "paging" ], - "time": "2015-09-01 16:19:36" + "time": "2015-12-06 17:16:06" }, { "name": "zendframework/zend-escaper", @@ -3099,16 +3737,16 @@ }, { "name": "zendframework/zend-feed", - "version": "2.5.2", + "version": "2.6.0", "source": { "type": "git", "url": "https://github.com/zendframework/zend-feed.git", - "reference": "0661345b82b51428619e05d3aadd3de65b57fa54" + "reference": "f76da2bbba414ebf3bb00c81e9fdd65b04c66a7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0661345b82b51428619e05d3aadd3de65b57fa54", - "reference": "0661345b82b51428619e05d3aadd3de65b57fa54", + "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/f76da2bbba414ebf3bb00c81e9fdd65b04c66a7f", + "reference": "f76da2bbba414ebf3bb00c81e9fdd65b04c66a7f", "shasum": "" }, "require": { @@ -3119,24 +3757,25 @@ "require-dev": { "fabpot/php-cs-fixer": "1.7.*", "phpunit/phpunit": "~4.0", + "psr/http-message": "^1.0", "zendframework/zend-cache": "~2.5", "zendframework/zend-db": "~2.5", "zendframework/zend-http": "~2.5", - "zendframework/zend-servicemanager": "~2.5", "zendframework/zend-validator": "~2.5" }, "suggest": { - "zendframework/zend-cache": "Zend\\Cache component", - "zendframework/zend-db": "Zend\\Db component", + "psr/http-message": "PSR-7 ^1.0, if you wish to use Zend\\Feed\\Reader\\Http\\Psr7ResponseDecorator", + "zendframework/zend-cache": "Zend\\Cache component, for optionally caching feeds between requests", + "zendframework/zend-db": "Zend\\Db component, for use with PubSubHubbub", "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations", - "zendframework/zend-validator": "Zend\\Validator component" + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for easily extending ExtensionManager implementations", + "zendframework/zend-validator": "Zend\\Validator component, for validating feeds and Atom entries in the Writer subcomponent" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5-dev", - "dev-develop": "2.6-dev" + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" } }, "autoload": { @@ -3154,7 +3793,7 @@ "feed", "zf2" ], - "time": "2015-08-04 21:39:18" + "time": "2015-11-24 15:38:00" }, { "name": "zendframework/zend-hydrator", @@ -3214,39 +3853,40 @@ }, { "name": "zendframework/zend-json", - "version": "2.5.2", + "version": "2.6.0", "source": { "type": "git", "url": "https://github.com/zendframework/zend-json.git", - "reference": "4a3add6505fd8618728239d8ce35f182dfbdac02" + "reference": "e2945611a98e1fefcaaf69969350a0bfa6a8d574" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-json/zipball/4a3add6505fd8618728239d8ce35f182dfbdac02", - "reference": "4a3add6505fd8618728239d8ce35f182dfbdac02", + "url": "https://api.github.com/repos/zendframework/zend-json/zipball/e2945611a98e1fefcaaf69969350a0bfa6a8d574", + "reference": "e2945611a98e1fefcaaf69969350a0bfa6a8d574", "shasum": "" }, "require": { - "php": ">=5.5", - "zendframework/zend-stdlib": "~2.5" + "php": ">=5.5" }, "require-dev": { "fabpot/php-cs-fixer": "1.7.*", "phpunit/phpunit": "~4.0", "zendframework/zend-http": "~2.5", "zendframework/zend-server": "~2.5", + "zendframework/zend-stdlib": "~2.5", "zendframework/zendxml": "~1.0" }, "suggest": { "zendframework/zend-http": "Zend\\Http component", "zendframework/zend-server": "Zend\\Server component", + "zendframework/zend-stdlib": "To use the cache for Zend\\Server", "zendframework/zendxml": "To support Zend\\Json\\Json::fromXml() usage" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5-dev", - "dev-develop": "2.6-dev" + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" } }, "autoload": { @@ -3264,7 +3904,7 @@ "json", "zf2" ], - "time": "2015-08-05 14:45:17" + "time": "2015-11-18 13:59:33" }, { "name": "zendframework/zend-servicemanager", @@ -3539,14 +4179,71 @@ "time": "2015-06-04 15:41:05" } ], - "packages-dev": [], + "packages-dev": [ + { + "name": "symfony/phpunit-bridge", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/phpunit-bridge.git", + "reference": "9329a6fdf1fde3dfed50478f78500a8dc395190c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/9329a6fdf1fde3dfed50478f78500a8dc395190c", + "reference": "9329a6fdf1fde3dfed50478f78500a8dc395190c", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "suggest": { + "symfony/debug": "For tracking deprecated interfaces usages at runtime with DebugClassLoader" + }, + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Bridge\\PhpUnit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony PHPUnit Bridge", + "homepage": "https://symfony.com", + "time": "2015-11-28 09:12:47" + } + ], "aliases": [], - "minimum-stability": "stable", + "minimum-stability": "dev", "stability-flags": { "composer/composer": 20, - "hwi/oauth-bundle": 20 + "friendsofsymfony/user-bundle": 20, + "snc/redis-bundle": 20 }, - "prefer-stable": false, + "prefer-stable": true, "prefer-lowest": false, "platform": { "php": ">=5.5" diff --git a/phpunit.xml.dist b/phpunit.xml.dist index cecc3a6c..68552319 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -11,7 +11,7 @@ processIsolation = "false" stopOnFailure = "false" syntaxCheck = "false" - bootstrap = "app/bootstrap.php.cache" > + bootstrap = "app/autoload.php" > diff --git a/src/Packagist/WebBundle/Controller/ExploreController.php b/src/Packagist/WebBundle/Controller/ExploreController.php index 56502d02..7f2b82de 100644 --- a/src/Packagist/WebBundle/Controller/ExploreController.php +++ b/src/Packagist/WebBundle/Controller/ExploreController.php @@ -23,6 +23,7 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\Routing\Generator\UrlGeneratorInterface; /** * @Route("/explore") @@ -121,7 +122,7 @@ public function popularAction(Request $req) /** @var Package $package */ foreach ($packages as $package) { - $url = $this->generateUrl('view_package', array('name' => $package->getName()), true); + $url = $this->generateUrl('view_package', array('name' => $package->getName()), UrlGeneratorInterface::ABSOLUTE_URL); $result['packages'][] = array( 'name' => $package->getName(), @@ -140,7 +141,7 @@ public function popularAction(Request $req) if ($perPage !== 15) { $params['per_page'] = $perPage; } - $result['next'] = $this->generateUrl('browse_popular', $params, true); + $result['next'] = $this->generateUrl('browse_popular', $params, UrlGeneratorInterface::ABSOLUTE_URL); } return new JsonResponse($result); diff --git a/src/Packagist/WebBundle/Controller/FeedController.php b/src/Packagist/WebBundle/Controller/FeedController.php index 90897b4a..454fc55f 100644 --- a/src/Packagist/WebBundle/Controller/FeedController.php +++ b/src/Packagist/WebBundle/Controller/FeedController.php @@ -22,6 +22,7 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\Routing\Generator\UrlGeneratorInterface; use Zend\Feed\Writer\Entry; use Zend\Feed\Writer\Feed; @@ -61,7 +62,7 @@ public function packagesAction(Request $req) $req, 'Newly Submitted Packages', 'Latest packages submitted to Packagist.', - $this->generateUrl('browse', array(), true), + $this->generateUrl('browse', array(), UrlGeneratorInterface::ABSOLUTE_URL), $packages ); @@ -88,7 +89,7 @@ public function releasesAction(Request $req) $req, 'New Releases', 'Latest releases of all packages.', - $this->generateUrl('browse', array(), true), + $this->generateUrl('browse', array(), UrlGeneratorInterface::ABSOLUTE_URL), $packages ); @@ -115,7 +116,7 @@ public function vendorAction(Request $req, $vendor) $req, "$vendor packages", "Latest packages updated on Packagist of $vendor.", - $this->generateUrl('view_vendor', array('vendor' => $vendor), true), + $this->generateUrl('view_vendor', array('vendor' => $vendor), UrlGeneratorInterface::ABSOLUTE_URL), $packages ); @@ -142,7 +143,7 @@ public function packageAction(Request $req, $package) $req, "$package releases", "Latest releases on Packagist of $package.", - $this->generateUrl('view_package', array('name' => $package), true), + $this->generateUrl('view_package', array('name' => $package), UrlGeneratorInterface::ABSOLUTE_URL), $packages ); @@ -235,7 +236,7 @@ protected function populatePackageData(Entry $entry, Package $package) $this->generateUrl( 'view_package', array('name' => $package->getName()), - true + UrlGeneratorInterface::ABSOLUTE_URL ) ); $entry->setId($package->getName()); diff --git a/src/Packagist/WebBundle/Controller/PackageController.php b/src/Packagist/WebBundle/Controller/PackageController.php index 34af1e15..6c3fc1d3 100644 --- a/src/Packagist/WebBundle/Controller/PackageController.php +++ b/src/Packagist/WebBundle/Controller/PackageController.php @@ -20,6 +20,7 @@ use Packagist\WebBundle\Form\Type\PackageType; use Packagist\WebBundle\Form\Type\RemoveMaintainerRequestType; use Predis\Connection\ConnectionException; +use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\JsonResponse; @@ -105,7 +106,10 @@ public function submitPackageAction(Request $req) $package = new Package; $package->setEntityRepository($this->getDoctrine()->getRepository('PackagistWebBundle:Package')); $package->setRouter($this->get('router')); - $form = $this->createForm(new PackageType(), $package); + $form = $this->createForm(PackageType::class, $package, [ + 'action' => $this->generateUrl('submit'), + 'method' => 'POST', + ]); $user = $this->getUser(); $package->addMaintainer($user); @@ -762,7 +766,9 @@ public function editAction(Request $req, Package $package) } $form = $this->createFormBuilder($package, array("validation_groups" => array("Update"))) - ->add("repository", "text") + ->add('repository', TextType::class) + ->setMethod('POST') + ->setAction($this->generateUrl('edit_package', ['name' => $package->getName()])) ->getForm(); $form->handleRequest($req); @@ -800,7 +806,7 @@ public function abandonAction(Request $request, Package $package) throw new AccessDeniedException; } - $form = $this->createForm(new AbandonedType()); + $form = $this->createForm(AbandonedType::class); $form->handleRequest($request); if ($form->isValid()) { $package->setAbandoned(true); @@ -1015,7 +1021,7 @@ private function createAddMaintainerForm(Package $package) if ($this->isGranted('ROLE_EDIT_PACKAGES') || $package->getMaintainers()->contains($user)) { $maintainerRequest = new MaintainerRequest(); - return $this->createForm(new AddMaintainerRequestType(), $maintainerRequest); + return $this->createForm(AddMaintainerRequestType::class, $maintainerRequest, ['method' => 'POST']); } } @@ -1027,7 +1033,10 @@ private function createRemoveMaintainerForm(Package $package) if ($this->isGranted('ROLE_EDIT_PACKAGES') || $package->getMaintainers()->contains($user)) { $maintainerRequest = new MaintainerRequest(); - return $this->createForm(new RemoveMaintainerRequestType(), $maintainerRequest, array('package'=>$package)); + return $this->createForm(RemoveMaintainerRequestType::class, $maintainerRequest, array( + 'package' => $package, + 'method' => 'POST', + )); } } diff --git a/src/Packagist/WebBundle/Controller/WebController.php b/src/Packagist/WebBundle/Controller/WebController.php index ab3c0408..b8339926 100644 --- a/src/Packagist/WebBundle/Controller/WebController.php +++ b/src/Packagist/WebBundle/Controller/WebController.php @@ -21,6 +21,7 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\Routing\Generator\UrlGeneratorInterface; /** * @author Jordi Boggiano @@ -38,16 +39,17 @@ public function indexAction() public function searchFormAction(Request $req) { - $form = $this->createForm(new SearchQueryType, new SearchQuery); + $form = $this->createForm(SearchQueryType::class, new SearchQuery(), [ + 'action' => $this->generateUrl('search.ajax'), + 'method' => 'GET', + ]); $filteredOrderBys = $this->getFilteredOrderedBys($req); $normalizedOrderBys = $this->getNormalizedOrderBys($filteredOrderBys); $this->computeSearchQuery($req, $filteredOrderBys); - if ($req->query->has('search_query')) { - $form->submit($req); - } + $form->handleRequest($req); $orderBysViewModel = $this->getOrderBysViewModel($req, $normalizedOrderBys); return $this->render('PackagistWebBundle:Web:searchForm.html.twig', array( @@ -62,7 +64,7 @@ public function searchFormAction(Request $req) */ public function searchAction(Request $req) { - $form = $this->createForm(new SearchQueryType, new SearchQuery); + $form = $this->createForm(SearchQueryType::class, new SearchQuery()); $filteredOrderBys = $this->getFilteredOrderedBys($req); $normalizedOrderBys = $this->getNormalizedOrderBys($filteredOrderBys); @@ -107,18 +109,16 @@ public function searchAction(Request $req) $select->addSorts($normalizedOrderBys); } - if ($req->query->has('search_query')) { - $form->submit($req); + $form->handleRequest($req); - if ($form->isValid()) { - $escapedQuery = $select->getHelper()->escapeTerm($form->getData()->getQuery()); - $escapedQuery = preg_replace('/(^| )\\\\-(\S)/', '$1-$2', $escapedQuery); - $escapedQuery = preg_replace('/(^| )\\\\\+(\S)/', '$1+$2', $escapedQuery); - if ((substr_count($escapedQuery, '"') % 2) == 0) { - $escapedQuery = str_replace('\\"', '"', $escapedQuery); - } - $select->setQuery($escapedQuery); + if ($form->isValid()) { + $escapedQuery = $select->getHelper()->escapeTerm($form->getData()->getQuery()); + $escapedQuery = preg_replace('/(^| )\\\\-(\S)/', '$1-$2', $escapedQuery); + $escapedQuery = preg_replace('/(^| )\\\\\+(\S)/', '$1+$2', $escapedQuery); + if ((substr_count($escapedQuery, '"') % 2) == 0) { + $escapedQuery = str_replace('\\"', '"', $escapedQuery); } + $select->setQuery($escapedQuery); } $paginator = new Pagerfanta(new SolariumAdapter($solarium, $select)); @@ -162,9 +162,9 @@ public function searchAction(Request $req) foreach ($paginator as $package) { if (ctype_digit((string) $package->id)) { - $url = $this->generateUrl('view_package', array('name' => $package->name), true); + $url = $this->generateUrl('view_package', array('name' => $package->name), UrlGeneratorInterface::ABSOLUTE_URL); } else { - $url = $this->generateUrl('view_providers', array('name' => $package->name), true); + $url = $this->generateUrl('view_providers', array('name' => $package->name), UrlGeneratorInterface::ABSOLUTE_URL); } $row = array( @@ -197,7 +197,7 @@ public function searchAction(Request $req) if ($perPage !== 15) { $params['per_page'] = $perPage; } - $result['next'] = $this->generateUrl('search', $params, true); + $result['next'] = $this->generateUrl('search', $params, UrlGeneratorInterface::ABSOLUTE_URL); } return JsonResponse::create($result)->setCallback($req->query->get('callback')); diff --git a/src/Packagist/WebBundle/Entity/User.php b/src/Packagist/WebBundle/Entity/User.php index 9c38d77b..3f4c3868 100644 --- a/src/Packagist/WebBundle/Entity/User.php +++ b/src/Packagist/WebBundle/Entity/User.php @@ -14,7 +14,7 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; -use FOS\UserBundle\Entity\User as BaseUser; +use FOS\UserBundle\Model\User as BaseUser; /** * @ORM\Entity(repositoryClass="Packagist\WebBundle\Entity\UserRepository") diff --git a/src/Packagist/WebBundle/EventListener/RegistrationListener.php b/src/Packagist/WebBundle/EventListener/RegistrationListener.php new file mode 100644 index 00000000..c80f9937 --- /dev/null +++ b/src/Packagist/WebBundle/EventListener/RegistrationListener.php @@ -0,0 +1,46 @@ + + */ +class RegistrationListener implements EventSubscriberInterface +{ + /** + * @var TokenGenerator + */ + private $tokenGenerator; + + /** + * @param TokenGenerator $tokenGenerator + */ + public function __construct(TokenGenerator $tokenGenerator) + { + $this->tokenGenerator = $tokenGenerator; + } + + /** + * {@inheritdoc} + */ + public static function getSubscribedEvents() + { + return [ + FOSUserEvents::REGISTRATION_SUCCESS => 'onRegistrationSuccess' + ]; + } + + public function onRegistrationSuccess(FormEvent $event) + { + /** @var User $user */ + $user = $event->getForm()->getData(); + $apiToken = substr($this->tokenGenerator->generateToken(), 0, 20); + $user->setApiToken($apiToken); + } +} diff --git a/src/Packagist/WebBundle/Form/Handler/RegistrationFormHandler.php b/src/Packagist/WebBundle/Form/Handler/RegistrationFormHandler.php deleted file mode 100644 index 469a241f..00000000 --- a/src/Packagist/WebBundle/Form/Handler/RegistrationFormHandler.php +++ /dev/null @@ -1,27 +0,0 @@ - - * Nils Adermann - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Packagist\WebBundle\Form\Handler; - -use FOS\UserBundle\Form\Handler\RegistrationFormHandler as BaseHandler; -use FOS\UserBundle\Model\UserInterface; - -class RegistrationFormHandler extends BaseHandler -{ - protected function onSuccess(UserInterface $user, $confirmation) - { - $apiToken = substr($this->tokenGenerator->generateToken(), 0, 20); - $user->setApiToken($apiToken); - - parent::onSuccess($user, $confirmation); - } -} diff --git a/src/Packagist/WebBundle/Form/Type/AbandonedType.php b/src/Packagist/WebBundle/Form/Type/AbandonedType.php index 10844223..20cc513f 100644 --- a/src/Packagist/WebBundle/Form/Type/AbandonedType.php +++ b/src/Packagist/WebBundle/Form/Type/AbandonedType.php @@ -13,6 +13,7 @@ namespace Packagist\WebBundle\Form\Type; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; /** @@ -32,7 +33,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add( 'replacement', - 'text', + TextType::class, array( 'required' => false, 'label' => 'Replacement package', @@ -42,9 +43,9 @@ public function buildForm(FormBuilderInterface $builder, array $options) } /** - * @return string + * {@inheritdoc} */ - public function getName() + public function getBlockPrefix() { return 'package'; } diff --git a/src/Packagist/WebBundle/Form/Type/AddMaintainerRequestType.php b/src/Packagist/WebBundle/Form/Type/AddMaintainerRequestType.php index 83e5c006..fc2ba357 100644 --- a/src/Packagist/WebBundle/Form/Type/AddMaintainerRequestType.php +++ b/src/Packagist/WebBundle/Form/Type/AddMaintainerRequestType.php @@ -12,6 +12,8 @@ namespace Packagist\WebBundle\Form\Type; +use FOS\UserBundle\Form\Type\UsernameFormType; +use Packagist\WebBundle\Form\Model\MaintainerRequest; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -23,17 +25,20 @@ class AddMaintainerRequestType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { - $builder->add('user', 'fos_user_username'); + $builder->add('user', UsernameFormType::class); } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( - 'data_class' => 'Packagist\WebBundle\Form\Model\MaintainerRequest', + 'data_class' => MaintainerRequest::class, )); } - public function getName() + /** + * {@inheritdoc} + */ + public function getBlockPrefix() { return 'add_maintainer_form'; } diff --git a/src/Packagist/WebBundle/Form/Type/OAuthRegistrationFormType.php b/src/Packagist/WebBundle/Form/Type/OAuthRegistrationFormType.php index fff855af..f5e243f8 100644 --- a/src/Packagist/WebBundle/Form/Type/OAuthRegistrationFormType.php +++ b/src/Packagist/WebBundle/Form/Type/OAuthRegistrationFormType.php @@ -12,7 +12,9 @@ namespace Packagist\WebBundle\Form\Type; +use Packagist\WebBundle\Entity\User; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\EmailType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -22,20 +24,23 @@ public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('username', null, array('label' => 'form.username', 'translation_domain' => 'FOSUserBundle')) - ->add('email', 'email', array('label' => 'form.email', 'translation_domain' => 'FOSUserBundle')) + ->add('email', EmailType::class, array('label' => 'form.email', 'translation_domain' => 'FOSUserBundle')) ; } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( - 'data_class' => 'Packagist\WebBundle\Entity\User', + 'data_class' => User::class, 'intention' => 'registration', 'validation_groups' => array('Default', 'Profile'), )); } - public function getName() + /** + * {@inheritdoc} + */ + public function getBlockPrefix() { return 'packagist_oauth_user_registration'; } diff --git a/src/Packagist/WebBundle/Form/Type/OrderByType.php b/src/Packagist/WebBundle/Form/Type/OrderByType.php index 003ec1a1..8414d53b 100644 --- a/src/Packagist/WebBundle/Form/Type/OrderByType.php +++ b/src/Packagist/WebBundle/Form/Type/OrderByType.php @@ -12,7 +12,9 @@ namespace Packagist\WebBundle\Form\Type; +use Packagist\WebBundle\Form\Model\OrderBy; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -24,7 +26,7 @@ class OrderByType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('sort'); - $builder->add('order', 'choice', array( + $builder->add('order', ChoiceType::class, array( 'choices' => array( 'asc' => 'asc', 'desc' => 'desc' @@ -35,13 +37,15 @@ public function buildForm(FormBuilderInterface $builder, array $options) public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( - 'data_class' => 'Packagist\WebBundle\Form\Model\OrderBy', + 'data_class' => OrderBy::class, 'csrf_protection' => false, )); } - - public function getName() + /** + * {@inheritdoc} + */ + public function getBlockPrefix() { return 'order_by'; } diff --git a/src/Packagist/WebBundle/Form/Type/PackageType.php b/src/Packagist/WebBundle/Form/Type/PackageType.php index 465a3421..1aae4552 100644 --- a/src/Packagist/WebBundle/Form/Type/PackageType.php +++ b/src/Packagist/WebBundle/Form/Type/PackageType.php @@ -12,7 +12,9 @@ namespace Packagist\WebBundle\Form\Type; +use Packagist\WebBundle\Entity\Package; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -23,7 +25,7 @@ class PackageType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { - $builder->add('repository', 'text', array( + $builder->add('repository', TextType::class, array( 'label' => 'Repository URL (Git/Svn/Hg)', 'attr' => array( 'placeholder' => 'i.e.: git://github.com/composer/composer.git', @@ -34,11 +36,14 @@ public function buildForm(FormBuilderInterface $builder, array $options) public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( - 'data_class' => 'Packagist\WebBundle\Entity\Package', + 'data_class' => Package::class, )); } - public function getName() + /** + * {@inheritdoc} + */ + public function getBlockPrefix() { return 'package'; } diff --git a/src/Packagist/WebBundle/Form/Type/ProfileFormType.php b/src/Packagist/WebBundle/Form/Type/ProfileFormType.php index adfed317..8be285b0 100644 --- a/src/Packagist/WebBundle/Form/Type/ProfileFormType.php +++ b/src/Packagist/WebBundle/Form/Type/ProfileFormType.php @@ -29,7 +29,10 @@ public function buildForm(FormBuilderInterface $builder, array $options) )); } - public function getName() + /** + * {@inheritdoc} + */ + public function getBlockPrefix() { return 'packagist_user_profile'; } diff --git a/src/Packagist/WebBundle/Form/Type/RemoveMaintainerRequestType.php b/src/Packagist/WebBundle/Form/Type/RemoveMaintainerRequestType.php index 200beb30..47eaa39e 100644 --- a/src/Packagist/WebBundle/Form/Type/RemoveMaintainerRequestType.php +++ b/src/Packagist/WebBundle/Form/Type/RemoveMaintainerRequestType.php @@ -15,6 +15,8 @@ use Doctrine\ORM\EntityRepository; use Packagist\WebBundle\Entity\Package; use Packagist\WebBundle\Entity\User; +use Packagist\WebBundle\Form\Model\MaintainerRequest; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -26,7 +28,7 @@ class RemoveMaintainerRequestType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { - $builder->add('user', 'entity', array( + $builder->add('user', EntityType::class, array( 'class' => 'PackagistWebBundle:User', 'query_builder' => function(EntityRepository $er) use ($options) { return $er->getPackageMaintainersQueryBuilder($options['package'], $options['excludeUser']); @@ -39,11 +41,14 @@ public function configureOptions(OptionsResolver $resolver) $resolver->setRequired(array('package')); $resolver->setDefaults(array( 'excludeUser' => null, - 'data_class' => 'Packagist\WebBundle\Form\Model\MaintainerRequest' + 'data_class' => MaintainerRequest::class )); } - public function getName() + /** + * {@inheritdoc} + */ + public function getBlockPrefix() { return 'remove_maintainer_form'; } diff --git a/src/Packagist/WebBundle/Form/Type/SearchQueryType.php b/src/Packagist/WebBundle/Form/Type/SearchQueryType.php index 80e0f716..b61d63d6 100644 --- a/src/Packagist/WebBundle/Form/Type/SearchQueryType.php +++ b/src/Packagist/WebBundle/Form/Type/SearchQueryType.php @@ -12,7 +12,10 @@ namespace Packagist\WebBundle\Form\Type; +use Packagist\WebBundle\Form\Model\SearchQuery; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\CollectionType; +use Symfony\Component\Form\Extension\Core\Type\SearchType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -23,9 +26,9 @@ class SearchQueryType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { - $builder->add('query', 'search'); - $builder->add('orderBys', 'collection', array( - 'type' => new OrderByType(), + $builder->add('query', SearchType::class); + $builder->add('orderBys', CollectionType::class, array( + 'entry_type' => OrderByType::class, 'allow_add' => true, 'allow_delete' => true, 'prototype' => false, @@ -35,12 +38,15 @@ public function buildForm(FormBuilderInterface $builder, array $options) public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( - 'data_class' => 'Packagist\WebBundle\Form\Model\SearchQuery', + 'data_class' => SearchQuery::class, 'csrf_protection' => false, )); } - public function getName() + /** + * {@inheritdoc} + */ + public function getBlockPrefix() { return 'search_query'; } diff --git a/src/Packagist/WebBundle/Menu/MenuBuilder.php b/src/Packagist/WebBundle/Menu/MenuBuilder.php index 091368b3..36e5cfe7 100644 --- a/src/Packagist/WebBundle/Menu/MenuBuilder.php +++ b/src/Packagist/WebBundle/Menu/MenuBuilder.php @@ -11,15 +11,15 @@ class MenuBuilder private $username; /** - * @param FactoryInterface $factory - * @param TokenStorageInterface $securityContext + * @param FactoryInterface $factory + * @param TokenStorageInterface $tokenStorage */ - public function __construct(FactoryInterface $factory, TokenStorageInterface $securityContext) + public function __construct(FactoryInterface $factory, TokenStorageInterface $tokenStorage) { $this->factory = $factory; - if ($securityContext->getToken() && $securityContext->getToken()->getUser()) { - $this->username = $securityContext->getToken()->getUser()->getUsername(); + if ($tokenStorage->getToken() && $tokenStorage->getToken()->getUser()) { + $this->username = $tokenStorage->getToken()->getUser()->getUsername(); } } diff --git a/src/Packagist/WebBundle/Model/PackageManager.php b/src/Packagist/WebBundle/Model/PackageManager.php index f4237e7c..d7c05470 100644 --- a/src/Packagist/WebBundle/Model/PackageManager.php +++ b/src/Packagist/WebBundle/Model/PackageManager.php @@ -64,7 +64,7 @@ public function notifyUpdateFailure(Package $package, \Exception $e, $details = try { $this->mailer->send($message); } catch (\Swift_TransportException $e) { - $this->logger->err('['.get_class($e).'] '.$e->getMessage()); + $this->logger->error('['.get_class($e).'] '.$e->getMessage()); return false; } @@ -93,7 +93,7 @@ public function notifyNewMaintainer($user, $package) try { $this->mailer->send($message); } catch (\Swift_TransportException $e) { - $this->logger->err('['.get_class($e).'] '.$e->getMessage()); + $this->logger->error('['.get_class($e).'] '.$e->getMessage()); return false; } diff --git a/src/Packagist/WebBundle/Resources/config/services.yml b/src/Packagist/WebBundle/Resources/config/services.yml index adefce9d..8356e6e1 100644 --- a/src/Packagist/WebBundle/Resources/config/services.yml +++ b/src/Packagist/WebBundle/Resources/config/services.yml @@ -1,7 +1,7 @@ services: packagist.twig.extension: class: Packagist\WebBundle\Twig\PackagistExtension - arguments: [ @doctrine ] + arguments: [ '@doctrine' ] tags: - { name: twig.extension } @@ -15,43 +15,42 @@ services: tags: - { name: kernel.event_listener, event: kernel.response, method: onResponse } + packagist.registration_listener: + class: Packagist\WebBundle\EventListener\RegistrationListener + arguments: [ '@fos_user.util.token_generator' ] + tags: + - { name: kernel.event_subscriber } + packagist.package_dumper: class: Packagist\WebBundle\Package\SymlinkDumper - arguments: [ @doctrine, @filesystem, @router, "%kernel.root_dir%/../web/", "%packagist_metadata_dir%", "%packagist_dumper_compress%" ] + arguments: [ '@doctrine', '@filesystem', '@router', "%kernel.root_dir%/../web/", "%packagist_metadata_dir%", "%packagist_dumper_compress%" ] packagist.user_provider: class: Packagist\WebBundle\Security\Provider\UserProvider public: false - arguments: ["@fos_user.user_manager"] + arguments: ["@fos_user.user_manager", "@fos_user.user_provider.username_email"] packagist.user_repository: class: Packagist\WebBundle\Entity\UserRepository - factory_service: doctrine - factory_method: getRepository + factory: ['@doctrine', getRepository] arguments: ["PackagistWebBundle:User"] packagist.package_repository: class: Packagist\WebBundle\Entity\PackageRepository - factory_service: doctrine - factory_method: getRepository + factory: ['@doctrine', getRepository] arguments: ["PackagistWebBundle:Package"] packagist.package_updater: class: Packagist\WebBundle\Package\Updater - arguments: [@doctrine] - - packagist.form.handler.registration: - class: Packagist\WebBundle\Form\Handler\RegistrationFormHandler - parent: fos_user.registration.form.handler.default - scope: request + arguments: ['@doctrine'] fos_user.util.user_manipulator: class: Packagist\WebBundle\Util\UserManipulator - arguments: [@fos_user.user_manager, @fos_user.util.token_generator] + arguments: ['@fos_user.user_manager', '@fos_user.util.token_generator'] packagist.oauth.registration_form_handler: class: Packagist\WebBundle\Form\Handler\OAuthRegistrationFormHandler - arguments: [@fos_user.user_manager, @fos_user.util.token_generator] + arguments: ['@fos_user.user_manager', '@fos_user.util.token_generator'] packagist.oauth.registration_form_type: class: Packagist\WebBundle\Form\Type\OAuthRegistrationFormType @@ -59,8 +58,7 @@ services: - { name: form.type, alias: packagist_oauth_user_registration } packagist.oauth.registration_form: - factory_method: create - factory_service: form.factory + factory: ['@form.factory', create] class: Symfony\Component\Form\Form arguments: - 'packagist_oauth_user_registration' @@ -68,22 +66,22 @@ services: packagist.download_manager: class: Packagist\WebBundle\Model\DownloadManager arguments: - - @snc_redis.default_client + - '@snc_redis.default_client' packagist.favorite_manager: class: Packagist\WebBundle\Model\FavoriteManager arguments: - - @snc_redis.default_client - - @packagist.package_repository - - @packagist.user_repository + - '@snc_redis.default_client' + - '@packagist.package_repository' + - '@packagist.user_repository' packagist.package_manager: class: Packagist\WebBundle\Model\PackageManager arguments: - - @doctrine.orm.entity_manager - - @mailer - - @twig - - @logger + - '@doctrine.orm.entity_manager' + - '@mailer' + - '@twig' + - '@logger' - { from: %mailer_from_email%, fromName: %mailer_from_name% } packagist.profile.form.type: @@ -94,23 +92,17 @@ services: packagist.menu_builder: class: Packagist\WebBundle\Menu\MenuBuilder - arguments: [@knp_menu.factory, @security.token_storage] + arguments: ['@knp_menu.factory', '@security.token_storage'] packagist.menu.user: class: Knp\Menu\MenuItem - factory_service: packagist.menu_builder - factory_method: createUserMenu - arguments: ["@request"] - scope: request + factory: ['@packagist.menu_builder', createUserMenu] tags: - { name: knp_menu.menu, alias: user_menu } packagist.menu.profile: class: Knp\Menu\MenuItem - factory_service: packagist.menu_builder - factory_method: createProfileMenu - arguments: ["@request"] - scope: request + factory: ['@packagist.menu_builder', createProfileMenu] tags: - { name: knp_menu.menu, alias: profile_menu } diff --git a/src/Packagist/WebBundle/Resources/views/Package/abandon.html.twig b/src/Packagist/WebBundle/Resources/views/Package/abandon.html.twig index 67cc11d2..91989ece 100644 --- a/src/Packagist/WebBundle/Resources/views/Package/abandon.html.twig +++ b/src/Packagist/WebBundle/Resources/views/Package/abandon.html.twig @@ -8,11 +8,11 @@
-
+ {{ form_start(form, { attr: { class: 'col-sm-6' } }) }} {{ form_widget(form) }} -
+ {{ form_end(form) }}

You are about to mark this package as abandoned. This will alert users that this package will no longer be maintained.

diff --git a/src/Packagist/WebBundle/Resources/views/Package/edit.html.twig b/src/Packagist/WebBundle/Resources/views/Package/edit.html.twig index e424857b..af085293 100644 --- a/src/Packagist/WebBundle/Resources/views/Package/edit.html.twig +++ b/src/Packagist/WebBundle/Resources/views/Package/edit.html.twig @@ -8,10 +8,10 @@

Edit {{ package.name }}

-
+ {{ form_start(form, { attr: { class: 'col-md-6' } }) }} {{ form_widget(form) }} -
+ {{ form_end(form) }}
{% endblock %} diff --git a/src/Packagist/WebBundle/Resources/views/Package/submitPackage.html.twig b/src/Packagist/WebBundle/Resources/views/Package/submitPackage.html.twig index b95b7521..662dcab6 100644 --- a/src/Packagist/WebBundle/Resources/views/Package/submitPackage.html.twig +++ b/src/Packagist/WebBundle/Resources/views/Package/submitPackage.html.twig @@ -10,13 +10,13 @@

Submit package

-
+ {{ form_start(form, { attr: { class: 'col-md-6', data-check-url: path('submit.fetch_info') } }) }} {{ form_widget(form) }} {{ form_rest(form) }} -
+ {{ form_end(form) }}

Please make sure you have read the package naming conventions before submitting your package. The authoritative name of your package will be taken from the composer.json file inside the master branch or trunk of your repository, and it can not be changed after that.

diff --git a/src/Packagist/WebBundle/Resources/views/Package/viewPackage.html.twig b/src/Packagist/WebBundle/Resources/views/Package/viewPackage.html.twig index 5ca80cd3..06c769f7 100644 --- a/src/Packagist/WebBundle/Resources/views/Package/viewPackage.html.twig +++ b/src/Packagist/WebBundle/Resources/views/Package/viewPackage.html.twig @@ -165,7 +165,10 @@ {% if addMaintainerForm is defined or removeMaintainerForm is defined %}
{% if addMaintainerForm is defined %} -
+ {{ form_start(addMaintainerForm, { + attr: { id: 'add-maintainer-form', class: 'col-sm-6 col-md-3 col-md-offset-9 ' ~ (show_add_maintainer_form|default(false) ? '': 'hidden') }, + action: path('add_maintainer', { 'name': package.name }) + }) }}

Add Maintainer

@@ -176,11 +179,14 @@ {{ form_rest(addMaintainerForm) }}

-
+ {{ form_end(addMaintainerForm) }} {% endif %} {% if removeMaintainerForm is defined %} -
+ {{ form_start(removeMaintainerForm, { + attr: { id: 'remove-maintainer-form', class: 'col-sm-6 col-md-3 col-md-offset-9 ' ~ (show_remove_maintainer_form|default(false) ? '': 'hidden') }, + action: path('remove_maintainer', { 'name': package.name }) + }) }}

Remove Maintainer

@@ -191,7 +197,7 @@ {{ form_rest(removeMaintainerForm) }}

-
+ {{ form_end(removeMaintainerForm) }} {% endif %}
{% endif %} diff --git a/src/Packagist/WebBundle/Resources/views/Web/searchForm.html.twig b/src/Packagist/WebBundle/Resources/views/Web/searchForm.html.twig index 1e6c1fcd..6a2c3706 100644 --- a/src/Packagist/WebBundle/Resources/views/Web/searchForm.html.twig +++ b/src/Packagist/WebBundle/Resources/views/Web/searchForm.html.twig @@ -1,4 +1,4 @@ -
+{{ form_start(searchForm, { attr: { id: 'search-form', autocomplete: 'off' } }) }}
@@ -29,5 +29,4 @@
{{ form_rest(searchForm) }}
-
- +{{ form_end(searchForm) }} diff --git a/src/Packagist/WebBundle/Security/Provider/UserProvider.php b/src/Packagist/WebBundle/Security/Provider/UserProvider.php index 15763407..bd7c2366 100644 --- a/src/Packagist/WebBundle/Security/Provider/UserProvider.php +++ b/src/Packagist/WebBundle/Security/Provider/UserProvider.php @@ -13,6 +13,7 @@ namespace Packagist\WebBundle\Security\Provider; use FOS\UserBundle\Model\UserManagerInterface; +use FOS\UserBundle\Security\EmailUserProvider; use HWI\Bundle\OAuthBundle\OAuth\Response\UserResponseInterface; use HWI\Bundle\OAuthBundle\Security\Core\Exception\AccountNotLinkedException; use HWI\Bundle\OAuthBundle\Security\Core\User\OAuthAwareUserProviderInterface; @@ -28,12 +29,19 @@ class UserProvider implements OAuthAwareUserProviderInterface, UserProviderInter */ private $userManager; + /** + * @var EmailUserProvider + */ + private $userProvider; + /** * @param UserManagerInterface $userManager + * @param EmailUserProvider $userProvider */ - public function __construct(UserManagerInterface $userManager) + public function __construct(UserManagerInterface $userManager, EmailUserProvider $userProvider) { $this->userManager = $userManager; + $this->userProvider = $userProvider; } /** @@ -88,7 +96,7 @@ public function loadUserByOAuthUserResponse(UserResponseInterface $response) */ public function loadUserByUsername($usernameOrEmail) { - $user = $this->userManager->findUserByUsernameOrEmail($usernameOrEmail); + $user = $this->userProvider->loadUserByUsername($usernameOrEmail); if (!$user) { throw new UsernameNotFoundException(sprintf('No user with name or email "%s" was found.', $usernameOrEmail)); @@ -102,7 +110,7 @@ public function loadUserByUsername($usernameOrEmail) */ public function refreshUser(UserInterface $user) { - return $this->userManager->refreshUser($user); + return $this->userProvider->refreshUser($user); } /** @@ -110,6 +118,6 @@ public function refreshUser(UserInterface $user) */ public function supportsClass($class) { - return $this->userManager->supportsClass($class); + return $this->userProvider->supportsClass($class); } } diff --git a/src/Packagist/WebBundle/Twig/PackagistExtension.php b/src/Packagist/WebBundle/Twig/PackagistExtension.php index da465681..899492ac 100644 --- a/src/Packagist/WebBundle/Twig/PackagistExtension.php +++ b/src/Packagist/WebBundle/Twig/PackagistExtension.php @@ -19,17 +19,17 @@ public function __construct(RegistryInterface $doctrine) public function getTests() { return array( - 'existing_package' => new \Twig_Test_Method($this, 'packageExistsTest'), - 'existing_provider' => new \Twig_Test_Method($this, 'providerExistsTest'), - 'numeric' => new \Twig_Test_Method($this, 'numericTest'), + new \Twig_SimpleTest('existing_package', [$this, 'packageExistsTest']), + new \Twig_SimpleTest('existing_provider', [$this, 'providerExistsTest']), + new \Twig_SimpleTest('numeric', [$this, 'numericTest']), ); } public function getFilters() { return array( - 'prettify_source_reference' => new \Twig_Filter_Method($this, 'prettifySourceReference'), - 'gravatar_hash' => new \Twig_Filter_Method($this, 'generateGravatarHash') + new \Twig_SimpleFilter('prettify_source_reference', [$this, 'prettifySourceReference']), + new \Twig_SimpleFilter('gravatar_hash', [$this, 'generateGravatarHash']) ); } diff --git a/web/app.php b/web/app.php index 03cf9539..9d5ba95f 100644 --- a/web/app.php +++ b/web/app.php @@ -5,7 +5,11 @@ use Symfony\Component\ClassLoader\ApcClassLoader; use Symfony\Component\HttpFoundation\Request; -$loader = include __DIR__.'/../app/bootstrap.php.cache'; +/** + * @var \Symfony\Component\ClassLoader\ClassLoader + */ +$loader = include __DIR__.'/../app/autoload.php'; +include_once __DIR__.'/../app/bootstrap.php.cache'; // Use APC for autoloading to improve performance. if (function_exists('apc_store')) { @@ -14,8 +18,6 @@ $apcLoader->register(true); } -include __DIR__.'/../app/AppKernel.php'; - $kernel = new AppKernel('prod', false); $kernel->loadClassCache(); $request = Request::createFromGlobals(); diff --git a/web/app_dev.php b/web/app_dev.php index b5251ab7..9a4676f3 100644 --- a/web/app_dev.php +++ b/web/app_dev.php @@ -2,6 +2,7 @@ ini_set('date.timezone', 'UTC'); +use Composer\Autoload\ClassLoader; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Debug\Debug; @@ -19,11 +20,12 @@ exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); } -$loader = require_once __DIR__.'/../app/bootstrap.php.cache'; +/** + * @var ClassLoader + */ +$loader = require_once __DIR__.'/../app/autoload.php'; Debug::enable(); -require_once __DIR__.'/../app/AppKernel.php'; - $kernel = new AppKernel('dev', true); $kernel->loadClassCache(); $request = Request::createFromGlobals();