diff --git a/.travis.yml b/.travis.yml index 74d72d362..a6a260df2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,14 +9,8 @@ language: php php: - 5.6 - - 5.5 - - 5.4 - 7.0 -matrix: - allow_failures: - - php: 7.0 - env: global: - SYMFONY_ENV=test diff --git a/README.md b/README.md index 0bb7ce091..f13b900ed 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Step-up Self-Service ## Requirements - * PHP 5.4+ + * PHP 5.6+ or PHP7 * [Composer](https://getcomposer.org/) * A web server (Apache, Nginx) * Graylog2 (or disable this Monolog handler) @@ -15,3 +15,5 @@ Step-up Self-Service ## Installation Clone the repository or download the archive to a directory. Install the dependencies by running `composer install`. + +Run `app/console mopa:bootstrap:symlink:less` to configure Bootstrap symlinks. diff --git a/app/Resources/translations/messages.en_GB.xliff b/app/Resources/translations/messages.en_GB.xliff index bdd637940..f40710490 100644 --- a/app/Resources/translations/messages.en_GB.xliff +++ b/app/Resources/translations/messages.en_GB.xliff @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. @@ -125,7 +125,7 @@ Remove - Form/Type/SendSmsChallengeType.php + Form/Type/SendSmsChallengeType.php ss.form.ss_send_sms_challenge.button.send_challenge Send code @@ -140,12 +140,12 @@ Verification code - Form/Type/VerifySmsChallengeType.php + Form/Type/VerifySmsChallengeType.php ss.form.ss_verify_sms_challenge.button.resend_challenge Send new code - Form/Type/VerifySmsChallengeType.php + Form/Type/VerifySmsChallengeType.php ss.form.ss_verify_sms_challenge.button.verify_challenge Verify @@ -275,52 +275,70 @@ Select token - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.label.registration_code Activation code - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.activation_instructions Visit the location below to get your token activated. Please bring the following: - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.activation_instructions_item_1 Your token - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.activation_instructions_item_2 A valid proof of identity (passport, driver's license or national ID-card) - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.activation_instructions_item_3 Your activation code + + views/Registration/registrationEmailSentWithRaLocations.html.twig + ss.registration.registration_email_sent.text.no_ra_locations_for_your_institution + There are no locations available within your institution to activate your token. Please contact your helpdesk for support. + - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.no_ras_for_your_institution There are no locations available within your institution to activate your token. Please contact your helpdesk for support. - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.registration_code_has_been_sent An e-mail containing these instructions and your activation code has also been sent to the e-mail address %email%. - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.thank_you_for_registration Thank you for registering your token. Your token is almost ready to use. - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.title Activation code + + views/Registration/registrationEmailSentWithRaLocations.html.twig + ss.registration.registration_email_sent.title.list_of_ra_locations + Location(s) to activate your token + - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.title.list_of_ras Location(s) to activate your token @@ -379,7 +397,7 @@ For all mobile phones. Resources/views/translations.twig ss.registration.selector.tiqr.description Log in with a smartphone app. -For all smartphones with Apple iOS or Android. +For all smartphones with %tiqr_ios_link_start%Apple iOS%tiqr_ios_link_end% or %tiqr_android_link_start%Android%tiqr_android_link_end%. Resources/views/translations.twig diff --git a/app/Resources/translations/messages.nl_NL.xliff b/app/Resources/translations/messages.nl_NL.xliff index 83e9ce840..0b70bdfca 100644 --- a/app/Resources/translations/messages.nl_NL.xliff +++ b/app/Resources/translations/messages.nl_NL.xliff @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. @@ -125,7 +125,7 @@ Verwijderen - Form/Type/SendSmsChallengeType.php + Form/Type/SendSmsChallengeType.php ss.form.ss_send_sms_challenge.button.send_challenge Verstuur code @@ -140,12 +140,12 @@ Verificatiecode - Form/Type/VerifySmsChallengeType.php + Form/Type/VerifySmsChallengeType.php ss.form.ss_verify_sms_challenge.button.resend_challenge Stuur een nieuwe code - Form/Type/VerifySmsChallengeType.php + Form/Type/VerifySmsChallengeType.php ss.form.ss_verify_sms_challenge.button.verify_challenge Controleren @@ -275,52 +275,70 @@ Selecteer token - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.label.registration_code Activatiecode - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.activation_instructions Ga naar onderstaande locatie om je token te laten activeren. Neem daarbij het volgende mee: - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.activation_instructions_item_1 Je token - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.activation_instructions_item_2 Een geldig legitimatiebewijs (paspoort, rijbewijs of nationale ID-kaart) - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.activation_instructions_item_3 Je activatiecode + + views/Registration/registrationEmailSentWithRaLocations.html.twig + ss.registration.registration_email_sent.text.no_ra_locations_for_your_institution + Er zijn geen locaties beschikbaar binnen je instelling om je token te activeren. Neem contact op met je helpdesk voor support. + - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.no_ras_for_your_institution Er zijn geen locaties beschikbaar binnen je instelling om je token te activeren. Neem contact op met je helpdesk voor support. - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.registration_code_has_been_sent Een e-mail met deze instructies en je activatiecode is ook naar het e-mailadres ‘%email%’ verstuurd. - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.text.thank_you_for_registration Bedankt voor het registreren van je token. Je token is nu bijna klaar voor gebruik. - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRaLocations.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.title Activatiecode + + views/Registration/registrationEmailSentWithRaLocations.html.twig + ss.registration.registration_email_sent.title.list_of_ra_locations + Locatie(s) om je token te activeren + - views/Registration/registrationEmailSent.html.twig + views/Registration/registrationEmailSentWithRas.html.twig ss.registration.registration_email_sent.title.list_of_ras Locatie(s) om je token te activeren @@ -379,7 +397,7 @@ Geschikt voor alle mobiele telefoons. Resources/views/translations.twig ss.registration.selector.tiqr.description Log in met een app op je smartphone. -Geschikt voor smartphones met Apple iOS of Android. +Geschikt voor smartphones met %tiqr_ios_link_start%Apple iOS%tiqr_ios_link_end% of %tiqr_android_link_start%Android%tiqr_android_link_end%. Resources/views/translations.twig diff --git a/app/Resources/translations/validators.en_GB.xliff b/app/Resources/translations/validators.en_GB.xliff index 566ad4840..e4147e030 100644 --- a/app/Resources/translations/validators.en_GB.xliff +++ b/app/Resources/translations/validators.en_GB.xliff @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. @@ -78,6 +78,14 @@ Sign request version must be a string Sign request version must be a string + + middleware_client.dto.configuration.show_raa_contact_information.must_be_boolean + middleware_client.dto.configuration.show_raa_contact_information.must_be_boolean + + + middleware_client.dto.configuration.use_ra_locations.must_be_boolean + middleware_client.dto.configuration.use_ra_locations.must_be_boolean + middleware_client.dto.identity.common_name.must_be_string Remote identity common name must be a string. @@ -262,6 +270,42 @@ middleware_client.dto.ra_listing.role.must_not_be_blank middleware_client.dto.ra_listing.role.must_not_be_blank + + middleware_client.dto.ra_location.contact_information.must_be_string + middleware_client.dto.ra_location.contact_information.must_be_string + + + middleware_client.dto.ra_location.id.must_be_string + middleware_client.dto.ra_location.id.must_be_string + + + middleware_client.dto.ra_location.id.must_not_be_blank + middleware_client.dto.ra_location.id.must_not_be_blank + + + middleware_client.dto.ra_location.institution.must_be_string + middleware_client.dto.ra_location.institution.must_be_string + + + middleware_client.dto.ra_location.institution.must_not_be_blank + middleware_client.dto.ra_location.institution.must_not_be_blank + + + middleware_client.dto.ra_location.location.must_be_string + middleware_client.dto.ra_location.location.must_be_string + + + middleware_client.dto.ra_location.location.must_not_be_blank + middleware_client.dto.ra_location.location.must_not_be_blank + + + middleware_client.dto.ra_location.name.must_be_string + middleware_client.dto.ra_location.name.must_be_string + + + middleware_client.dto.ra_location.name.must_not_be_blank + middleware_client.dto.ra_location.name.must_not_be_blank + middleware_client.dto.unverified_second_factor.id.must_be_string Remote unverified second factor ID must be string. diff --git a/app/Resources/translations/validators.nl_NL.xliff b/app/Resources/translations/validators.nl_NL.xliff index cd4149f3c..8a402c1e2 100644 --- a/app/Resources/translations/validators.nl_NL.xliff +++ b/app/Resources/translations/validators.nl_NL.xliff @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. @@ -78,6 +78,14 @@ Sign request version must be a string Sign request version must be a string + + middleware_client.dto.configuration.show_raa_contact_information.must_be_boolean + middleware_client.dto.configuration.show_raa_contact_information.must_be_boolean + + + middleware_client.dto.configuration.use_ra_locations.must_be_boolean + middleware_client.dto.configuration.use_ra_locations.must_be_boolean + middleware_client.dto.identity.common_name.must_be_string Remote identity common name must be a string. @@ -262,6 +270,42 @@ middleware_client.dto.ra_listing.role.must_not_be_blank middleware_client.dto.ra_listing.role.must_not_be_blank + + middleware_client.dto.ra_location.contact_information.must_be_string + middleware_client.dto.ra_location.contact_information.must_be_string + + + middleware_client.dto.ra_location.id.must_be_string + middleware_client.dto.ra_location.id.must_be_string + + + middleware_client.dto.ra_location.id.must_not_be_blank + middleware_client.dto.ra_location.id.must_not_be_blank + + + middleware_client.dto.ra_location.institution.must_be_string + middleware_client.dto.ra_location.institution.must_be_string + + + middleware_client.dto.ra_location.institution.must_not_be_blank + middleware_client.dto.ra_location.institution.must_not_be_blank + + + middleware_client.dto.ra_location.location.must_be_string + middleware_client.dto.ra_location.location.must_be_string + + + middleware_client.dto.ra_location.location.must_not_be_blank + middleware_client.dto.ra_location.location.must_not_be_blank + + + middleware_client.dto.ra_location.name.must_be_string + middleware_client.dto.ra_location.name.must_be_string + + + middleware_client.dto.ra_location.name.must_not_be_blank + middleware_client.dto.ra_location.name.must_not_be_blank + middleware_client.dto.unverified_second_factor.id.must_be_string Remote unverified second factor ID must be string. diff --git a/app/config/config.yml b/app/config/config.yml index 4e8b985e1..b99397fe9 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -151,6 +151,9 @@ surfnet_stepup: - surfnet_stepup.guzzle.gateway_api - surfnet_stepup_middleware_client.guzzle.api - surfnet_stepup_middleware_client.guzzle.commands + locale_cookie: + domain: %locale_cookie_domain% + jms_translation: locales: %locales% diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist index c097d8f2c..10d66f42b 100644 --- a/app/config/parameters.yml.dist +++ b/app/config/parameters.yml.dist @@ -6,9 +6,10 @@ parameters: mailer_user: ~ mailer_password: ~ - default_locale: en_GB - locales: [nl_NL, en_GB] - secret: NotSoSecretReplaceMe! + default_locale: en_GB + locales: [nl_NL, en_GB] + locale_cookie_domain: surfconext.nl + secret: NotSoSecretReplaceMe! debug_toolbar: true debug_redirects: false @@ -35,7 +36,7 @@ parameters: saml_remote_idp_entity_id: saml_remote_idp_sso_url: - saml_remote_idp_certificate: + saml_remote_idp_certificate: 'FOR CI ONLY, REPLACE WITH ACTUAL VALUE' graylog_hostname: g2-dev.stepup.coin.surf.net asset_version: 1 @@ -50,3 +51,6 @@ parameters: - yubikey u2f_app_id: https://gateway.tld/u2f/app-id + + tiqr_app_android_url: https://play.google.com/store/apps/details?id=org.tiqr.authenticator&hl=en + tiqr_app_ios_url: https://itunes.apple.com/us/app/tiqr/id430838214?mt=8&ls=1 diff --git a/composer.json b/composer.json index aec50b655..bba43d846 100644 --- a/composer.json +++ b/composer.json @@ -9,8 +9,8 @@ }, "minimum-stability": "stable", "require": { - "php": ">=5.4|^7", - "symfony/symfony": "^2.7", + "php": "~5.6|~7.0", + "symfony/symfony": "~2.7.0", "twig/extensions": "~1.0", "symfony/assetic-bundle": "~2.3", "symfony/monolog-bundle": "~2.4", @@ -18,18 +18,18 @@ "sensio/framework-extra-bundle": "~3.0", "incenteev/composer-parameter-handler": "~2.0", "nelmio/security-bundle": "~1.4", - "mopa/bootstrap-bundle": "~3@dev", + "mopa/bootstrap-bundle": "dev-master#818b0f47ebd352559950e9a64431ff9472e8a9dd as 3.0.0-beta5", "twbs/bootstrap": "~3.2.0", "fortawesome/font-awesome": "~4.2.0", "jms/translation-bundle": "~1.1.0", "jms/di-extra-bundle": "~1.4.0", - "surfnet/stepup-middleware-client-bundle": "dev-develop", + "surfnet/stepup-middleware-client-bundle": "^1.3", "guzzlehttp/guzzle": "~4", - "surfnet/stepup-saml-bundle": "dev-develop", - "surfnet/stepup-bundle": "^1.3.0", + "surfnet/stepup-saml-bundle": "^2.5", + "surfnet/stepup-bundle": "^1.5", "symfony/swiftmailer-bundle": "~2.3", "surfnet/stepup-u2f-bundle": "dev-develop", - "mopa/composer-bridge": "dev-master as v1.5.0" + "mopa/composer-bridge": "~1.5" }, "require-dev": { "matthiasnoback/symfony-config-test": "^1.2.0", diff --git a/composer.lock b/composer.lock index ce5a21538..359771eae 100644 --- a/composer.lock +++ b/composer.lock @@ -4,30 +4,34 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "e67454e3a5b28160994099f8a412afeb", - "content-hash": "85805175bbebf4fb1d8fd16527d9ea59", + "hash": "2d457a0d9a20d4dbafdf8cd54a104468", + "content-hash": "c17572b3726a78c659fa18ed57cfd718", "packages": [ { "name": "beberlei/assert", - "version": "v2.1", + "version": "v2.6.3", "source": { "type": "git", "url": "https://github.com/beberlei/assert.git", - "reference": "8c60f8a1c31dcd61c928bf024bc59a3472f00632" + "reference": "51e9d654481fc00c8a376641c390ec4e35d8c1fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/beberlei/assert/zipball/8c60f8a1c31dcd61c928bf024bc59a3472f00632", - "reference": "8c60f8a1c31dcd61c928bf024bc59a3472f00632", + "url": "https://api.github.com/repos/beberlei/assert/zipball/51e9d654481fc00c8a376641c390ec4e35d8c1fc", + "reference": "51e9d654481fc00c8a376641c390ec4e35d8c1fc", "shasum": "" }, "require": { - "ext-mbstring": "*" + "ext-mbstring": "*", + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "@stable" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.5-dev" } }, "autoload": { @@ -45,7 +49,13 @@ "authors": [ { "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" + "email": "kontakt@beberlei.de", + "role": "Lead Developer" + }, + { + "name": "Richard Quadling", + "email": "rquadling@gmail.com", + "role": "Collaborator" } ], "description": "Thin assertion library for input validation in business models.", @@ -54,20 +64,20 @@ "assertion", "validation" ], - "time": "2014-11-06 10:17:53" + "time": "2016-07-28 19:35:30" }, { "name": "doctrine/annotations", - "version": "v1.2.1", + "version": "v1.2.7", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "6a6bec0670bb6e71a263b08bc1b98ea242928633" + "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/6a6bec0670bb6e71a263b08bc1b98ea242928633", - "reference": "6a6bec0670bb6e71a263b08bc1b98ea242928633", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535", + "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535", "shasum": "" }, "require": { @@ -122,41 +132,42 @@ "docblock", "parser" ], - "time": "2014-09-25 16:45:30" + "time": "2015-08-31 12:32:49" }, { "name": "doctrine/cache", - "version": "v1.3.1", + "version": "v1.6.0", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "cf483685798a72c93bf4206e3dd6358ea07d64e7" + "reference": "f8af318d14bdb0eff0336795b428b547bd39ccb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/cf483685798a72c93bf4206e3dd6358ea07d64e7", - "reference": "cf483685798a72c93bf4206e3dd6358ea07d64e7", + "url": "https://api.github.com/repos/doctrine/cache/zipball/f8af318d14bdb0eff0336795b428b547bd39ccb6", + "reference": "f8af318d14bdb0eff0336795b428b547bd39ccb6", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": "~5.5|~7.0" }, "conflict": { "doctrine/common": ">2.2,<2.4" }, "require-dev": { - "phpunit/phpunit": ">=3.7", + "phpunit/phpunit": "~4.8|~5.0", + "predis/predis": "~1.0", "satooshi/php-coveralls": "~0.6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "1.6.x-dev" } }, "autoload": { - "psr-0": { - "Doctrine\\Common\\Cache\\": "lib/" + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" } }, "notification-url": "https://packagist.org/downloads/", @@ -191,25 +202,28 @@ "cache", "caching" ], - "time": "2014-09-17 14:24:04" + "time": "2015-12-31 16:37:02" }, { "name": "doctrine/collections", - "version": "v1.2", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2" + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/b99c5c46c87126201899afe88ec490a25eedd6a2", - "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2", + "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a", + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a", "shasum": "" }, "require": { "php": ">=5.3.2" }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, "type": "library", "extra": { "branch-alias": { @@ -226,17 +240,6 @@ "MIT" ], "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -245,11 +248,17 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "email": "schmittjoh@gmail.com" } ], "description": "Collections Abstraction library", @@ -259,20 +268,20 @@ "collections", "iterator" ], - "time": "2014-02-03 23:07:43" + "time": "2015-04-14 22:21:58" }, { "name": "doctrine/common", - "version": "v2.4.2", + "version": "v2.6.1", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b" + "reference": "a579557bc689580c19fee4e27487a67fe60defc0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/5db6ab40e4c531f14dad4ca96a394dfce5d4255b", - "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b", + "url": "https://api.github.com/repos/doctrine/common/zipball/a579557bc689580c19fee4e27487a67fe60defc0", + "reference": "a579557bc689580c19fee4e27487a67fe60defc0", "shasum": "" }, "require": { @@ -281,20 +290,20 @@ "doctrine/collections": "1.*", "doctrine/inflector": "1.*", "doctrine/lexer": "1.*", - "php": ">=5.3.2" + "php": "~5.5|~7.0" }, "require-dev": { - "phpunit/phpunit": "~3.7" + "phpunit/phpunit": "~4.8|~5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.4.x-dev" + "dev-master": "2.7.x-dev" } }, "autoload": { - "psr-0": { - "Doctrine\\Common\\": "lib/" + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" } }, "notification-url": "https://packagist.org/downloads/", @@ -302,17 +311,6 @@ "MIT" ], "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -321,11 +319,17 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "email": "schmittjoh@gmail.com" } ], "description": "Common Library for Doctrine projects", @@ -337,26 +341,34 @@ "persistence", "spl" ], - "time": "2014-05-21 19:28:51" + "time": "2015-12-25 13:18:31" }, { "name": "doctrine/inflector", - "version": "v1.0", + "version": "v1.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "54b8333d2a5682afdc690060c1cf384ba9f47f08" + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/54b8333d2a5682afdc690060c1cf384ba9f47f08", - "reference": "54b8333d2a5682afdc690060c1cf384ba9f47f08", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae", "shasum": "" }, "require": { "php": ">=5.3.2" }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, "autoload": { "psr-0": { "Doctrine\\Common\\Inflector\\": "lib/" @@ -367,17 +379,6 @@ "MIT" ], "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -386,41 +387,52 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "email": "schmittjoh@gmail.com" } ], "description": "Common String Manipulations with regard to casing and singular/plural rules.", "homepage": "http://www.doctrine-project.org", "keywords": [ "inflection", - "pluarlize", - "singuarlize", + "pluralize", + "singularize", "string" ], - "time": "2013-01-10 21:49:15" + "time": "2015-11-06 14:35:42" }, { "name": "doctrine/lexer", - "version": "v1.0", + "version": "v1.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "2f708a85bb3aab5d99dab8be435abd73e0b18acb" + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/2f708a85bb3aab5d99dab8be435abd73e0b18acb", - "reference": "2f708a85bb3aab5d99dab8be435abd73e0b18acb", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", "shasum": "" }, "require": { "php": ">=5.3.2" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-0": { "Doctrine\\Common\\Lexer\\": "lib/" @@ -431,20 +443,17 @@ "MIT" ], "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, { "name": "Roman Borschel", "email": "roman@code-factory.org" }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, { "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "email": "schmittjoh@gmail.com" } ], "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", @@ -453,7 +462,7 @@ "lexer", "parser" ], - "time": "2013-01-12 18:59:04" + "time": "2014-09-09 13:34:57" }, { "name": "fortawesome/font-awesome", @@ -505,27 +514,35 @@ }, { "name": "graylog2/gelf-php", - "version": "1.1.1", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/bzikarsky/gelf-php.git", - "reference": "b6f306e1b36b718aaf03b59563f4d6389e92cead" + "reference": "bc1175a5b40f585e69a017647286d84211e82544" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bzikarsky/gelf-php/zipball/b6f306e1b36b718aaf03b59563f4d6389e92cead", - "reference": "b6f306e1b36b718aaf03b59563f4d6389e92cead", + "url": "https://api.github.com/repos/bzikarsky/gelf-php/zipball/bc1175a5b40f585e69a017647286d84211e82544", + "reference": "bc1175a5b40f585e69a017647286d84211e82544", "shasum": "" }, "require": { - "php": "~5.3", + "php": ">=5.3.9", "psr/log": "~1.0" }, + "provide": { + "psr/log-implementation": "~1.0" + }, "require-dev": { "phpunit/phpunit": "~4.3", - "squizlabs/php_codesniffer": "~1.5" + "squizlabs/php_codesniffer": "~2.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, "autoload": { "psr-4": { "Gelf\\": "src/Gelf" @@ -539,23 +556,27 @@ { "name": "Benjamin Zikarsky", "email": "benjamin@zikarsky.de" + }, + { + "name": "gelf-php contributors", + "homepage": "https://github.com/bzikarsky/gelf-php/contributors" } ], "description": "A php implementation to send log-messages to a GELF compatible backend like Graylog2.", - "time": "2014-10-23 05:32:34" + "time": "2016-06-02 06:04:56" }, { "name": "guzzlehttp/guzzle", - "version": "4.2.3", + "version": "4.2.4", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "66fd916e9f9130bc22c51450476823391cb2f67c" + "reference": "13a8e5acff26b0a87d353042170b48976da004a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/66fd916e9f9130bc22c51450476823391cb2f67c", - "reference": "66fd916e9f9130bc22c51450476823391cb2f67c", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/13a8e5acff26b0a87d353042170b48976da004a1", + "reference": "13a8e5acff26b0a87d353042170b48976da004a1", "shasum": "" }, "require": { @@ -607,7 +628,7 @@ "rest", "web service" ], - "time": "2014-10-05 19:29:14" + "time": "2016-07-15 17:44:18" }, { "name": "guzzlehttp/streams", @@ -664,22 +685,21 @@ }, { "name": "incenteev/composer-parameter-handler", - "version": "v2.1.0", - "target-dir": "Incenteev/ParameterHandler", + "version": "v2.1.2", "source": { "type": "git", "url": "https://github.com/Incenteev/ParameterHandler.git", - "reference": "143272a0a09c62616a3c8011fc165a10c6b35241" + "reference": "d7ce7f06136109e81d1cb9d57066c4d4a99cf1cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/143272a0a09c62616a3c8011fc165a10c6b35241", - "reference": "143272a0a09c62616a3c8011fc165a10c6b35241", + "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/d7ce7f06136109e81d1cb9d57066c4d4a99cf1cc", + "reference": "d7ce7f06136109e81d1cb9d57066c4d4a99cf1cc", "shasum": "" }, "require": { "php": ">=5.3.3", - "symfony/yaml": "~2.0" + "symfony/yaml": "~2.3|~3.0" }, "require-dev": { "composer/composer": "1.0.*@dev", @@ -693,8 +713,8 @@ } }, "autoload": { - "psr-0": { - "Incenteev\\ParameterHandler": "" + "psr-4": { + "Incenteev\\ParameterHandler\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -712,25 +732,25 @@ "keywords": [ "parameters management" ], - "time": "2013-12-07 10:10:39" + "time": "2015-11-10 17:04:01" }, { "name": "jms/aop-bundle", - "version": "1.0.1", + "version": "1.1.0", "target-dir": "JMS/AopBundle", "source": { "type": "git", "url": "https://github.com/schmittjoh/JMSAopBundle.git", - "reference": "93f41ab85ed409430bc3bab2e0b7c7677f152aa8" + "reference": "66287749c020b4c667c0ff4937b07e66c04bbe71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/JMSAopBundle/zipball/93f41ab85ed409430bc3bab2e0b7c7677f152aa8", - "reference": "93f41ab85ed409430bc3bab2e0b7c7677f152aa8", + "url": "https://api.github.com/repos/schmittjoh/JMSAopBundle/zipball/66287749c020b4c667c0ff4937b07e66c04bbe71", + "reference": "66287749c020b4c667c0ff4937b07e66c04bbe71", "shasum": "" }, "require": { - "jms/cg": "1.*", + "jms/cg": "^1.1", "symfony/framework-bundle": "2.*" }, "type": "symfony-bundle", @@ -746,14 +766,12 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache" + "Apache-2.0" ], "authors": [ { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" } ], "description": "Adds AOP capabilities to Symfony2", @@ -761,26 +779,31 @@ "annotations", "aop" ], - "time": "2013-07-29 09:34:26" + "time": "2015-09-13 09:02:33" }, { "name": "jms/cg", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/cg-library.git", - "reference": "ce8ef43dd6bfe6ce54e5e9844ab71be2343bf2fc" + "reference": "0af1113c7409b8636c5244bbae10b2e0ff792e9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/cg-library/zipball/ce8ef43dd6bfe6ce54e5e9844ab71be2343bf2fc", - "reference": "ce8ef43dd6bfe6ce54e5e9844ab71be2343bf2fc", + "url": "https://api.github.com/repos/schmittjoh/cg-library/zipball/0af1113c7409b8636c5244bbae10b2e0ff792e9c", + "reference": "0af1113c7409b8636c5244bbae10b2e0ff792e9c", "shasum": "" }, "require": { "php": ">=5.3.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, "autoload": { "psr-0": { "CG\\": "src/" @@ -788,21 +811,19 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache" + "Apache2" ], "authors": [ { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" } ], "description": "Toolset for generating PHP code", "keywords": [ "code generation" ], - "time": "2012-01-02 20:40:52" + "time": "2015-09-13 08:54:43" }, { "name": "jms/di-extra-bundle", @@ -999,35 +1020,38 @@ }, { "name": "kriswallsmith/assetic", - "version": "v1.2.0", + "version": "v1.3.2", "source": { "type": "git", "url": "https://github.com/kriswallsmith/assetic.git", - "reference": "df991c124a2212371443b586a1be767500036dee" + "reference": "9928f7c4ad98b234e3559d1049abd13387f86db5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/df991c124a2212371443b586a1be767500036dee", - "reference": "df991c124a2212371443b586a1be767500036dee", + "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/9928f7c4ad98b234e3559d1049abd13387f86db5", + "reference": "9928f7c4ad98b234e3559d1049abd13387f86db5", "shasum": "" }, "require": { "php": ">=5.3.1", - "symfony/process": "~2.1" + "symfony/process": "~2.1|~3.0" + }, + "conflict": { + "twig/twig": "<1.23" }, "require-dev": { - "cssmin/cssmin": "*", - "joliclic/javascript-packer": "*", - "kamicane/packager": "*", - "leafo/lessphp": "*", - "leafo/scssphp": "*", - "leafo/scssphp-compass": "*", - "mrclay/minify": "*", - "patchwork/jsqueeze": "~1.0", - "phpunit/phpunit": "~4", + "cssmin/cssmin": "3.0.1", + "joliclic/javascript-packer": "1.1", + "kamicane/packager": "1.0", + "leafo/lessphp": "^0.3.7", + "leafo/scssphp": "~0.1", + "mrclay/minify": "~2.2", + "patchwork/jsqueeze": "~1.0|~2.0", + "phpunit/phpunit": "~4.8", "psr/log": "~1.0", - "ptachoire/cssembed": "*", - "twig/twig": "~1.6" + "ptachoire/cssembed": "~1.0", + "symfony/phpunit-bridge": "~2.7|~3.0", + "twig/twig": "~1.8|~2.0" }, "suggest": { "leafo/lessphp": "Assetic provides the integration with the lessphp LESS compiler", @@ -1040,7 +1064,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -1069,20 +1093,20 @@ "compression", "minification" ], - "time": "2014-10-14 14:45:32" + "time": "2015-11-12 13:51:40" }, { "name": "monolog/monolog", - "version": "1.13.1", + "version": "1.21.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "c31a2c4e8db5da8b46c74cf275d7f109c0f249ac" + "reference": "f42fbdfd53e306bda545845e4dbfd3e72edb4952" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c31a2c4e8db5da8b46c74cf275d7f109c0f249ac", - "reference": "c31a2c4e8db5da8b46c74cf275d7f109c0f249ac", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f42fbdfd53e306bda545845e4dbfd3e72edb4952", + "reference": "f42fbdfd53e306bda545845e4dbfd3e72edb4952", "shasum": "" }, "require": { @@ -1093,14 +1117,17 @@ "psr/log-implementation": "1.0.0" }, "require-dev": { - "aws/aws-sdk-php": "~2.4, >2.4.8", + "aws/aws-sdk-php": "^2.4.9", "doctrine/couchdb": "~1.0@dev", "graylog2/gelf-php": "~1.0", - "phpunit/phpunit": "~4.0", - "raven/raven": "~0.5", - "ruflin/elastica": "0.90.*", - "swiftmailer/swiftmailer": "~5.3", - "videlalvaro/php-amqplib": "~2.4" + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "~5.3" }, "suggest": { "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", @@ -1108,15 +1135,17 @@ "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", "ext-mongo": "Allow sending log messages to a MongoDB server", "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "raven/raven": "Allow sending log messages to a Sentry server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", "rollbar/rollbar": "Allow sending log messages to Rollbar", "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib" + "sentry/sentry": "Allow sending log messages to a Sentry server" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.13.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -1142,7 +1171,7 @@ "logging", "psr-3" ], - "time": "2015-03-09 09:58:04" + "time": "2016-07-29 03:23:52" }, { "name": "moontoast/math", @@ -1191,16 +1220,20 @@ }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phiamo/MopaBootstrapBundle/zipball/8a1bfa82398f339d9c53db24194626aed4fd4801", + "url": "https://api.github.com/repos/phiamo/MopaBootstrapBundle/zipball/818b0f47ebd352559950e9a64431ff9472e8a9dd", "reference": "818b0f47ebd352559950e9a64431ff9472e8a9dd", "shasum": "" }, "require": { "mopa/composer-bridge": "~1.3", - "symfony/console": "~2.3", + "symfony/console": "~2.3|~3.0", "symfony/form": "~2.3|~3.0", - "symfony/framework-bundle": "~2.3", - "symfony/twig-bundle": "~2.3|~3.0" + "symfony/framework-bundle": "~2.3|~3.0", + "symfony/twig-bundle": "~2.3|~3.0", + "twig/twig": "^1.14.2" + }, + "conflict": { + "symfony/twig-bridge": "<2.3" }, "suggest": { "craue/formflow-bundle": "~2.0", @@ -1247,7 +1280,7 @@ }, { "name": "mopa/composer-bridge", - "version": "dev-master", + "version": "v1.5.0", "source": { "type": "git", "url": "https://github.com/phiamo/MopaComposerBridge.git", @@ -1298,26 +1331,29 @@ }, { "name": "nelmio/security-bundle", - "version": "1.6.0", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/nelmio/NelmioSecurityBundle.git", - "reference": "a3ee5be287b8586e46f082504044b62343a6a3c0" + "reference": "4be243f1fc85ff85f10aadcf88c8c11ba2096cd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nelmio/NelmioSecurityBundle/zipball/a3ee5be287b8586e46f082504044b62343a6a3c0", - "reference": "a3ee5be287b8586e46f082504044b62343a6a3c0", + "url": "https://api.github.com/repos/nelmio/NelmioSecurityBundle/zipball/4be243f1fc85ff85f10aadcf88c8c11ba2096cd9", + "reference": "4be243f1fc85ff85f10aadcf88c8c11ba2096cd9", "shasum": "" }, "require": { - "symfony/framework-bundle": "~2.3", - "symfony/security": "~2.3" + "symfony/framework-bundle": "~2.3|~3.0", + "symfony/security": "~2.3|~3.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.2" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "1.5.x-dev" + "dev-master": "1.10.x-dev" } }, "autoload": { @@ -1339,11 +1375,11 @@ "homepage": "https://github.com/nelmio/NelmioSecurityBundle/contributors" } ], - "description": "Extra security-related features for Symfony2: signed/encrypted cookies, HTTPS/SSL/HSTS handling, cookie session storage, ...", + "description": "Extra security-related features for Symfony: signed/encrypted cookies, HTTPS/SSL/HSTS handling, cookie session storage, ...", "keywords": [ "security" ], - "time": "2015-02-01 11:00:05" + "time": "2016-02-23 10:42:13" }, { "name": "nikic/php-parser", @@ -1384,6 +1420,54 @@ ], "time": "2012-04-23 22:52:11" }, + { + "name": "paragonie/random_compat", + "version": "v1.4.1", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "c7e26a21ba357863de030f0b9e701c7d04593774" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/c7e26a21ba357863de030f0b9e701c7d04593774", + "reference": "c7e26a21ba357863de030f0b9e701c7d04593774", + "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": "2016-03-18 20:34:03" + }, { "name": "psr/log", "version": "1.0.0", @@ -1423,46 +1507,55 @@ "time": "2012-12-21 11:40:51" }, { - "name": "rhumsaa/uuid", - "version": "2.8.0", + "name": "ramsey/uuid", + "version": "3.5.0", "source": { "type": "git", - "url": "https://github.com/ramsey/rhumsaa-uuid.git", - "reference": "cca98c652cac412c9c2f109c69e5532f313435fc" + "url": "https://github.com/ramsey/uuid.git", + "reference": "a6d15c8618ea3951fd54d34e326b68d3d0bc0786" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/rhumsaa-uuid/zipball/cca98c652cac412c9c2f109c69e5532f313435fc", - "reference": "cca98c652cac412c9c2f109c69e5532f313435fc", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/a6d15c8618ea3951fd54d34e326b68d3d0bc0786", + "reference": "a6d15c8618ea3951fd54d34e326b68d3d0bc0786", "shasum": "" }, "require": { - "php": ">=5.3.3" + "paragonie/random_compat": "^1.0|^2.0", + "php": ">=5.4" + }, + "replace": { + "rhumsaa/uuid": "self.version" }, "require-dev": { - "doctrine/dbal": ">=2.3", - "moontoast/math": "~1.1", - "phpunit/phpunit": "~4.1", - "satooshi/php-coveralls": "~0.6", - "symfony/console": "~2.3" + "apigen/apigen": "^4.1", + "codeception/aspect-mock": "1.0.0", + "goaop/framework": "1.0.0-alpha.2", + "ircmaxell/random-lib": "^1.1", + "jakub-onderka/php-parallel-lint": "^0.9.0", + "mockery/mockery": "^0.9.4", + "moontoast/math": "^1.1", + "phpunit/phpunit": "^4.7|>=5.0 <5.4", + "satooshi/php-coveralls": "^0.6.1", + "squizlabs/php_codesniffer": "^2.3" }, "suggest": { - "doctrine/dbal": "Allow the use of a UUID as doctrine field type.", - "moontoast/math": "Support for converting UUID to 128-bit integer (in string form).", - "symfony/console": "Support for use of the bin/uuid command line tool." + "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", + "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", + "ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", + "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." }, - "bin": [ - "bin/uuid" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8.x-dev" + "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { - "Rhumsaa\\Uuid\\": "src/" + "Ramsey\\Uuid\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1474,32 +1567,37 @@ "name": "Marijn Huizendveld", "email": "marijn.huizendveld@gmail.com" }, + { + "name": "Thibaud Fabre", + "email": "thibaud@aztech.io" + }, { "name": "Ben Ramsey", - "homepage": "http://benramsey.com" + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" } ], - "description": "A PHP 5.3+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", + "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", "homepage": "https://github.com/ramsey/uuid", "keywords": [ "guid", "identifier", "uuid" ], - "time": "2014-11-09 18:42:56" + "time": "2016-08-02 18:39:32" }, { "name": "robrichards/xmlseclibs", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/robrichards/xmlseclibs.git", - "reference": "e91b4272f43b7708020c995f3c58056e68bfddf0" + "reference": "465f18a8e1196c279b1298a3b08bcbee71ea4e4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/e91b4272f43b7708020c995f3c58056e68bfddf0", - "reference": "e91b4272f43b7708020c995f3c58056e68bfddf0", + "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/465f18a8e1196c279b1298a3b08bcbee71ea4e4e", + "reference": "465f18a8e1196c279b1298a3b08bcbee71ea4e4e", "shasum": "" }, "require": { @@ -1527,7 +1625,7 @@ "xml", "xmldsig" ], - "time": "2015-06-23 18:50:25" + "time": "2015-07-31 12:22:14" }, { "name": "sensio/distribution-bundle", @@ -1591,29 +1689,36 @@ }, { "name": "sensio/framework-extra-bundle", - "version": "v3.0.2", - "target-dir": "Sensio/Bundle/FrameworkExtraBundle", + "version": "v3.0.16", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", - "reference": "9b22aaee517e80aad3238ea0328458b6f964066f" + "reference": "507a15f56fa7699f6cc8c2c7de4080b19ce22546" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/9b22aaee517e80aad3238ea0328458b6f964066f", - "reference": "9b22aaee517e80aad3238ea0328458b6f964066f", + "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/507a15f56fa7699f6cc8c2c7de4080b19ce22546", + "reference": "507a15f56fa7699f6cc8c2c7de4080b19ce22546", "shasum": "" }, "require": { "doctrine/common": "~2.2", - "symfony/framework-bundle": "~2.3" + "symfony/dependency-injection": "~2.3|~3.0", + "symfony/framework-bundle": "~2.3|~3.0" }, "require-dev": { - "symfony/expression-language": "~2.4", - "symfony/security-bundle": "~2.4" + "symfony/browser-kit": "~2.3|~3.0", + "symfony/dom-crawler": "~2.3|~3.0", + "symfony/expression-language": "~2.4|~3.0", + "symfony/finder": "~2.3|~3.0", + "symfony/phpunit-bridge": "~2.7|~3.0", + "symfony/security-bundle": "~2.4|~3.0", + "symfony/twig-bundle": "~2.3|~3.0", + "twig/twig": "~1.11|~2.0" }, "suggest": { "symfony/expression-language": "", + "symfony/psr-http-message-bridge": "To use the PSR-7 converters", "symfony/security-bundle": "" }, "type": "symfony-bundle", @@ -1623,8 +1728,8 @@ } }, "autoload": { - "psr-0": { - "Sensio\\Bundle\\FrameworkExtraBundle": "" + "psr-4": { + "Sensio\\Bundle\\FrameworkExtraBundle\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1642,20 +1747,20 @@ "annotations", "controllers" ], - "time": "2014-09-02 07:11:30" + "time": "2016-03-25 17:08:27" }, { "name": "sensiolabs/security-checker", - "version": "v2.0.0", + "version": "v2.0.5", "source": { "type": "git", "url": "https://github.com/sensiolabs/security-checker.git", - "reference": "5b4eb4743ebe68276c911c84101ecdf4a9ae76ee" + "reference": "2c2a71f1c77d9765c12638c4724d9ca23658a810" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/5b4eb4743ebe68276c911c84101ecdf4a9ae76ee", - "reference": "5b4eb4743ebe68276c911c84101ecdf4a9ae76ee", + "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/2c2a71f1c77d9765c12638c4724d9ca23658a810", + "reference": "2c2a71f1c77d9765c12638c4724d9ca23658a810", "shasum": "" }, "require": { @@ -1687,25 +1792,24 @@ } ], "description": "A security checker for your composer.lock", - "time": "2014-07-19 10:52:35" + "time": "2015-05-28 14:22:40" }, { "name": "simplesamlphp/saml2", - "version": "v1.6.1", + "version": "v1.9", "source": { "type": "git", "url": "https://github.com/simplesamlphp/saml2.git", - "reference": "da4f356dfee6eaabac4fb8afb0de045e571c476b" + "reference": "be2b348c46cceb311a743a33fb51035158f6f69a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/da4f356dfee6eaabac4fb8afb0de045e571c476b", - "reference": "da4f356dfee6eaabac4fb8afb0de045e571c476b", + "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/be2b348c46cceb311a743a33fb51035158f6f69a", + "reference": "be2b348c46cceb311a743a33fb51035158f6f69a", "shasum": "" }, "require": { "ext-dom": "*", - "ext-mcrypt": "*", "ext-openssl": "*", "php": ">=5.3.3", "psr/log": "~1.0", @@ -1737,29 +1841,29 @@ } ], "description": "SAML2 PHP library from SimpleSAMLphp", - "time": "2015-07-13 10:00:26" + "time": "2016-03-16 14:11:59" }, { "name": "surfnet/stepup-bundle", - "version": "1.3.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/SURFnet/Stepup-bundle.git", - "reference": "d4426aec24f17b075be54de0e931a547b43de6c8" + "reference": "4ad7ebe9f9075ec39c5d1fc8449fe8fef33e60d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SURFnet/Stepup-bundle/zipball/d4426aec24f17b075be54de0e931a547b43de6c8", - "reference": "d4426aec24f17b075be54de0e931a547b43de6c8", + "url": "https://api.github.com/repos/SURFnet/Stepup-bundle/zipball/4ad7ebe9f9075ec39c5d1fc8449fe8fef33e60d2", + "reference": "4ad7ebe9f9075ec39c5d1fc8449fe8fef33e60d2", "shasum": "" }, "require": { "ext-gmp": "*", "ext-openssl": "*", - "graylog2/gelf-php": "~1.1", + "graylog2/gelf-php": "^1.5", "guzzlehttp/guzzle": "~4", "monolog/monolog": "~1.11", - "php": ">=5.4,<8.0-dev", + "php": "^5.6|^7.0", "sensio/framework-extra-bundle": "~3", "symfony/config": "^2.7", "symfony/dependency-injection": "^2.7", @@ -1790,29 +1894,29 @@ "suaas", "surfnet" ], - "time": "2016-04-28 12:40:48" + "time": "2016-08-03 07:45:32" }, { "name": "surfnet/stepup-middleware-client-bundle", - "version": "dev-develop", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/SURFnet/Stepup-Middleware-clientbundle.git", - "reference": "2230cbd536b8c7912b7850f5516d99b028ad0ee4" + "reference": "ee1dbf1664ca959500609793ec8c185a367cb9ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SURFnet/Stepup-Middleware-clientbundle/zipball/1544e4922670b7bf21157a7888e57adf2588da56", - "reference": "2230cbd536b8c7912b7850f5516d99b028ad0ee4", + "url": "https://api.github.com/repos/SURFnet/Stepup-Middleware-clientbundle/zipball/ee1dbf1664ca959500609793ec8c185a367cb9ca", + "reference": "ee1dbf1664ca959500609793ec8c185a367cb9ca", "shasum": "" }, "require": { "beberlei/assert": "~2.0", "guzzlehttp/guzzle": "~4", "moontoast/math": "~1.1", - "php": ">=5.4,<8.0-dev", + "php": "^5.6|^7.0", "psr/log": "~1.0", - "rhumsaa/uuid": "~2.7", + "ramsey/uuid": "^3.4", "symfony/config": "^2.7", "symfony/dependency-injection": "^2.7", "symfony/http-kernel": "^2.7", @@ -1839,27 +1943,27 @@ "Apache-2.0" ], "description": "Symfony2 bundle for consuming the Step-up Middleware API.", - "time": "2015-09-10 09:07:25" + "time": "2016-08-03 08:56:12" }, { "name": "surfnet/stepup-saml-bundle", - "version": "dev-develop", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/SURFnet/Stepup-saml-bundle.git", - "reference": "53b7fd0198a1e9de2504a3762af499f744ad222d" + "reference": "3ee050d16f76bf63b48fa01af3e75e1b42668d72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SURFnet/Stepup-saml-bundle/zipball/40adf16ceecd6efba5e8b3f2b85f78d1ebb27839", - "reference": "53b7fd0198a1e9de2504a3762af499f744ad222d", + "url": "https://api.github.com/repos/SURFnet/Stepup-saml-bundle/zipball/3ee050d16f76bf63b48fa01af3e75e1b42668d72", + "reference": "3ee050d16f76bf63b48fa01af3e75e1b42668d72", "shasum": "" }, "require": { "ext-openssl": "*", - "php": "~5.4|^7", + "php": ">=5.4,<8.0-dev", "robrichards/xmlseclibs": "^1.4.0", - "simplesamlphp/saml2": "^1.6.1", + "simplesamlphp/saml2": "^1.8", "symfony/dependency-injection": "^2.7", "symfony/framework-bundle": "^2.7" }, @@ -1887,7 +1991,7 @@ "stepup", "surfnet" ], - "time": "2015-08-26 09:24:49" + "time": "2016-07-01 09:33:44" }, { "name": "surfnet/stepup-u2f-bundle", @@ -1933,16 +2037,16 @@ }, { "name": "swiftmailer/swiftmailer", - "version": "v5.3.1", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "c5f963e7f9d6f6438fda4f22d5cc2db296ec621a" + "reference": "4cc92842069c2bbc1f28daaaf1d2576ec4dfe153" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/c5f963e7f9d6f6438fda4f22d5cc2db296ec621a", - "reference": "c5f963e7f9d6f6438fda4f22d5cc2db296ec621a", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/4cc92842069c2bbc1f28daaaf1d2576ec4dfe153", + "reference": "4cc92842069c2bbc1f28daaaf1d2576ec4dfe153", "shasum": "" }, "require": { @@ -1954,7 +2058,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.3-dev" + "dev-master": "5.4-dev" } }, "autoload": { @@ -1978,40 +2082,46 @@ "description": "Swiftmailer, free feature-rich PHP mailer", "homepage": "http://swiftmailer.org", "keywords": [ + "email", "mail", "mailer" ], - "time": "2014-12-05 14:17:14" + "time": "2016-07-08 11:51:25" }, { "name": "symfony/assetic-bundle", - "version": "v2.6.1", + "version": "v2.8.0", "source": { "type": "git", "url": "https://github.com/symfony/assetic-bundle.git", - "reference": "422b0add2110f0cf9bc7a873a386ea053f4a89f0" + "reference": "aa5b4f8b712f38745928fa845ddb73300bb2af6d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/assetic-bundle/zipball/422b0add2110f0cf9bc7a873a386ea053f4a89f0", - "reference": "422b0add2110f0cf9bc7a873a386ea053f4a89f0", + "url": "https://api.github.com/repos/symfony/assetic-bundle/zipball/aa5b4f8b712f38745928fa845ddb73300bb2af6d", + "reference": "aa5b4f8b712f38745928fa845ddb73300bb2af6d", "shasum": "" }, "require": { - "kriswallsmith/assetic": "~1.2", + "kriswallsmith/assetic": "~1.3", "php": ">=5.3.0", - "symfony/console": "~2.3", - "symfony/dependency-injection": "~2.3", - "symfony/framework-bundle": "~2.3", - "symfony/yaml": "~2.3" + "symfony/console": "~2.3|~3.0", + "symfony/dependency-injection": "~2.3|~3.0", + "symfony/framework-bundle": "~2.3|~3.0", + "symfony/yaml": "~2.3|~3.0" + }, + "conflict": { + "kriswallsmith/spork": "<=0.2", + "twig/twig": "<1.20" }, "require-dev": { - "kriswallsmith/spork": "~0.2", + "kriswallsmith/spork": "~0.3", "patchwork/jsqueeze": "~1.0", - "symfony/class-loader": "~2.3", - "symfony/css-selector": "~2.3", - "symfony/dom-crawler": "~2.3", - "symfony/twig-bundle": "~2.3" + "symfony/class-loader": "~2.3|~3.0", + "symfony/css-selector": "~2.3|~3.0", + "symfony/dom-crawler": "~2.3|~3.0", + "symfony/phpunit-bridge": "~2.7|~3.0", + "symfony/twig-bundle": "~2.3|~3.0" }, "suggest": { "kriswallsmith/spork": "to be able to dump assets in parallel", @@ -2020,7 +2130,7 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.5-dev" + "dev-master": "2.7-dev" } }, "autoload": { @@ -2046,38 +2156,39 @@ "compression", "minification" ], - "time": "2015-01-27 12:45:16" + "time": "2015-12-28 13:12:39" }, { "name": "symfony/monolog-bundle", - "version": "v2.6.1", + "version": "2.11.1", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bundle.git", - "reference": "227bbeefe30f2d95e3fe5fbd1ccda414287a957a" + "reference": "e7caf4936c7be82bc6d68df87f1d23a0d5bf6e00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/227bbeefe30f2d95e3fe5fbd1ccda414287a957a", - "reference": "227bbeefe30f2d95e3fe5fbd1ccda414287a957a", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/e7caf4936c7be82bc6d68df87f1d23a0d5bf6e00", + "reference": "e7caf4936c7be82bc6d68df87f1d23a0d5bf6e00", "shasum": "" }, "require": { - "monolog/monolog": "~1.8", + "monolog/monolog": "~1.18", "php": ">=5.3.2", - "symfony/config": "~2.3", - "symfony/dependency-injection": "~2.3", - "symfony/http-kernel": "~2.3", - "symfony/monolog-bridge": "~2.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", - "symfony/yaml": "~2.3" + "phpunit/phpunit": "^4.8", + "symfony/console": "~2.3|~3.0", + "symfony/yaml": "~2.3|~3.0" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.6.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -2105,46 +2216,35 @@ "log", "logging" ], - "time": "2014-07-21 00:36:06" + "time": "2016-04-13 16:21:01" }, { - "name": "symfony/swiftmailer-bundle", - "version": "v2.3.8", + "name": "symfony/polyfill-apcu", + "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/swiftmailer-bundle.git", - "reference": "970b13d01871207e81d17b17ddda025e7e21e797" + "url": "https://github.com/symfony/polyfill-apcu.git", + "reference": "6d58bceaeea2c2d3eb62503839b18646e161cd6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/970b13d01871207e81d17b17ddda025e7e21e797", - "reference": "970b13d01871207e81d17b17ddda025e7e21e797", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/6d58bceaeea2c2d3eb62503839b18646e161cd6b", + "reference": "6d58bceaeea2c2d3eb62503839b18646e161cd6b", "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" }, - "type": "symfony-bundle", + "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "1.2-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Bundle\\SwiftmailerBundle\\": "" - } + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2152,41 +2252,167 @@ ], "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 backporting apcu_* functions to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "apcu", + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2016-05-18 14:26:46" }, { - "name": "symfony/symfony", - "version": "v2.7.0", + "name": "symfony/polyfill-mbstring", + "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/symfony.git", - "reference": "9975b1eca3de4db792a2c3e4e16f676a4aadcd46" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "dff51f72b0706335131b00a7f49606168c582594" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/9975b1eca3de4db792a2c3e4e16f676a4aadcd46", - "reference": "9975b1eca3de4db792a2c3e4e16f676a4aadcd46", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594", + "reference": "dff51f72b0706335131b00a7f49606168c582594", "shasum": "" }, "require": { - "doctrine/common": "~2.3", - "php": ">=5.3.9", - "psr/log": "~1.0", - "twig/twig": "~1.18" + "php": ">=5.3.3" }, - "replace": { - "symfony/asset": "self.version", - "symfony/browser-kit": "self.version", + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "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 for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2016-05-18 14:26:46" + }, + { + "name": "symfony/swiftmailer-bundle", + "version": "v2.3.11", + "source": { + "type": "git", + "url": "https://github.com/symfony/swiftmailer-bundle.git", + "reference": "5e1a90f28213231ceee19c953bbebc5b5b95c690" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/5e1a90f28213231ceee19c953bbebc5b5b95c690", + "reference": "5e1a90f28213231ceee19c953bbebc5b5b95c690", + "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": "2016-01-15 16:41:20" + }, + { + "name": "symfony/symfony", + "version": "v2.7.16", + "source": { + "type": "git", + "url": "https://github.com/symfony/symfony.git", + "reference": "42199fef6e9b448947d395add058642975e59127" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/symfony/zipball/42199fef6e9b448947d395add058642975e59127", + "reference": "42199fef6e9b448947d395add058642975e59127", + "shasum": "" + }, + "require": { + "doctrine/common": "~2.4", + "paragonie/random_compat": "~1.0", + "php": ">=5.3.9", + "psr/log": "~1.0", + "symfony/polyfill-apcu": "~1.1", + "symfony/polyfill-mbstring": "~1.1", + "twig/twig": "~1.23|~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", @@ -2232,14 +2458,13 @@ }, "require-dev": { "doctrine/data-fixtures": "1.0.*", - "doctrine/dbal": "~2.2", + "doctrine/dbal": "~2.4", "doctrine/doctrine-bundle": "~1.2", - "doctrine/orm": "~2.2,>=2.2.3", - "egulias/email-validator": "~1.2", + "doctrine/orm": "~2.4,>=2.4.5", + "egulias/email-validator": "~1.2,>=1.2.1", "ircmaxell/password-compat": "~1.0", "monolog/monolog": "~1.11", - "ocramius/proxy-manager": "~0.4|~1.0", - "symfony/phpunit-bridge": "self.version" + "ocramius/proxy-manager": "~0.4|~1.0|~2.0" }, "type": "library", "extra": { @@ -2263,6 +2488,9 @@ ], "files": [ "src/Symfony/Component/Intl/Resources/stubs/functions.php" + ], + "exclude-from-classmap": [ + "**/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2284,7 +2512,7 @@ "keywords": [ "framework" ], - "time": "2015-05-30 16:52:28" + "time": "2016-07-30 08:15:52" }, { "name": "twbs/bootstrap", @@ -2339,20 +2567,20 @@ }, { "name": "twig/extensions", - "version": "v1.2.0", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig-extensions.git", - "reference": "8cf4b9fe04077bd54fc73f4fde83347040c3b8cd" + "reference": "449e3c8a9ffad7c2479c7864557275a32b037499" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig-extensions/zipball/8cf4b9fe04077bd54fc73f4fde83347040c3b8cd", - "reference": "8cf4b9fe04077bd54fc73f4fde83347040c3b8cd", + "url": "https://api.github.com/repos/twigphp/Twig-extensions/zipball/449e3c8a9ffad7c2479c7864557275a32b037499", + "reference": "449e3c8a9ffad7c2479c7864557275a32b037499", "shasum": "" }, "require": { - "twig/twig": "~1.12" + "twig/twig": "~1.20|~2.0" }, "require-dev": { "symfony/translation": "~2.3" @@ -2363,7 +2591,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.3-dev" } }, "autoload": { @@ -2387,29 +2615,33 @@ "i18n", "text" ], - "time": "2014-10-30 14:30:03" + "time": "2015-08-22 16:38:35" }, { "name": "twig/twig", - "version": "v1.18.1", + "version": "v1.24.1", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f" + "reference": "3566d311a92aae4deec6e48682dc5a4528c4a512" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/9f70492f44398e276d1b81c1b43adfe6751c7b7f", - "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/3566d311a92aae4deec6e48682dc5a4528c4a512", + "reference": "3566d311a92aae4deec6e48682dc5a4528c4a512", "shasum": "" }, "require": { "php": ">=5.2.7" }, + "require-dev": { + "symfony/debug": "~2.7", + "symfony/phpunit-bridge": "~2.7" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.18-dev" + "dev-master": "1.24-dev" } }, "autoload": { @@ -2444,7 +2676,7 @@ "keywords": [ "templating" ], - "time": "2015-04-19 08:30:27" + "time": "2016-05-30 09:11:59" }, { "name": "yubico/u2flib-server", @@ -2481,27 +2713,27 @@ "packages-dev": [ { "name": "behat/behat", - "version": "v2.5.3", + "version": "v2.5.5", "source": { "type": "git", "url": "https://github.com/Behat/Behat.git", - "reference": "c3a105a3c0457df919879c72b63b910e63739e51" + "reference": "c1e48826b84669c97a1efa78459aedfdcdcf2120" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Behat/zipball/c3a105a3c0457df919879c72b63b910e63739e51", - "reference": "c3a105a3c0457df919879c72b63b910e63739e51", + "url": "https://api.github.com/repos/Behat/Behat/zipball/c1e48826b84669c97a1efa78459aedfdcdcf2120", + "reference": "c1e48826b84669c97a1efa78459aedfdcdcf2120", "shasum": "" }, "require": { "behat/gherkin": "~2.3.0", "php": ">=5.3.1", - "symfony/config": "~2.0", + "symfony/config": "~2.3", "symfony/console": "~2.0", "symfony/dependency-injection": "~2.0", "symfony/event-dispatcher": "~2.0", "symfony/finder": "~2.0", - "symfony/translation": "~2.0", + "symfony/translation": "~2.3", "symfony/yaml": "~2.0" }, "require-dev": { @@ -2539,7 +2771,7 @@ "Behat", "Symfony2" ], - "time": "2014-04-26 16:55:16" + "time": "2015-06-01 09:37:55" }, { "name": "behat/gherkin", @@ -2604,21 +2836,24 @@ }, { "name": "behat/mink", - "version": "v1.6.0", + "version": "v1.7.1", "source": { "type": "git", "url": "https://github.com/minkphp/Mink.git", - "reference": "090900a0049c441f1e072bbd837db4079b2250c5" + "reference": "e6930b9c74693dff7f4e58577e1b1743399f3ff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/Mink/zipball/090900a0049c441f1e072bbd837db4079b2250c5", - "reference": "090900a0049c441f1e072bbd837db4079b2250c5", + "url": "https://api.github.com/repos/minkphp/Mink/zipball/e6930b9c74693dff7f4e58577e1b1743399f3ff9", + "reference": "e6930b9c74693dff7f4e58577e1b1743399f3ff9", "shasum": "" }, "require": { "php": ">=5.3.1", - "symfony/css-selector": "~2.0" + "symfony/css-selector": "~2.1|~3.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7|~3.0" }, "suggest": { "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", @@ -2629,12 +2864,12 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6.x-dev" + "dev-master": "1.7.x-dev" } }, "autoload": { - "psr-0": { - "Behat\\Mink": "src/" + "psr-4": { + "Behat\\Mink\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2648,47 +2883,48 @@ "homepage": "http://everzet.com" } ], - "description": "Web acceptance testing framework for PHP 5.3", + "description": "Browser controller/emulator abstraction for PHP", "homepage": "http://mink.behat.org/", "keywords": [ "browser", "testing", "web" ], - "time": "2014-09-26 09:25:05" + "time": "2016-03-05 08:26:18" }, { "name": "behat/mink-browserkit-driver", - "version": "v1.2.0", + "version": "v1.3.2", "source": { "type": "git", "url": "https://github.com/minkphp/MinkBrowserKitDriver.git", - "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd" + "reference": "10e67fb4a295efcd62ea0bf16025a85ea19534fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/aed8f4a596b79014a75254c3e337511c33e38cbd", - "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd", + "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/10e67fb4a295efcd62ea0bf16025a85ea19534fb", + "reference": "10e67fb4a295efcd62ea0bf16025a85ea19534fb", "shasum": "" }, "require": { - "behat/mink": "~1.6@dev", - "php": ">=5.3.1", - "symfony/browser-kit": "~2.0", - "symfony/dom-crawler": "~2.0" + "behat/mink": "^1.7.1@dev", + "php": ">=5.3.6", + "symfony/browser-kit": "~2.3|~3.0", + "symfony/dom-crawler": "~2.3|~3.0" }, "require-dev": { - "silex/silex": "~1.2" + "silex/silex": "~1.2", + "symfony/phpunit-bridge": "~2.7|~3.0" }, "type": "mink-driver", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.3.x-dev" } }, "autoload": { - "psr-0": { - "Behat\\Mink\\Driver": "src/" + "psr-4": { + "Behat\\Mink\\Driver\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2710,7 +2946,7 @@ "browser", "testing" ], - "time": "2014-09-26 11:35:19" + "time": "2016-03-05 08:59:47" }, { "name": "behat/mink-extension", @@ -2765,33 +3001,36 @@ }, { "name": "behat/mink-goutte-driver", - "version": "v1.1.0", + "version": "v1.2.1", "source": { "type": "git", "url": "https://github.com/minkphp/MinkGoutteDriver.git", - "reference": "2bf327b4166694ecaa8ae7f956cb6ae252ecf03e" + "reference": "8b9ad6d2d95bc70b840d15323365f52fcdaea6ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/2bf327b4166694ecaa8ae7f956cb6ae252ecf03e", - "reference": "2bf327b4166694ecaa8ae7f956cb6ae252ecf03e", + "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/8b9ad6d2d95bc70b840d15323365f52fcdaea6ca", + "reference": "8b9ad6d2d95bc70b840d15323365f52fcdaea6ca", "shasum": "" }, "require": { "behat/mink": "~1.6@dev", "behat/mink-browserkit-driver": "~1.2@dev", - "fabpot/goutte": "~1.0.4|~2.0", + "fabpot/goutte": "~1.0.4|~2.0|~3.1", "php": ">=5.3.1" }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7|~3.0" + }, "type": "mink-driver", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { - "psr-0": { - "Behat\\Mink\\Driver": "src/" + "psr-4": { + "Behat\\Mink\\Driver\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2813,36 +3052,39 @@ "headless", "testing" ], - "time": "2014-10-09 09:21:12" + "time": "2016-03-05 09:04:22" }, { "name": "behat/mink-selenium2-driver", - "version": "v1.2.0", + "version": "v1.3.1", "source": { "type": "git", "url": "https://github.com/minkphp/MinkSelenium2Driver.git", - "reference": "8018fee80bf6573f909ece3e0dfc07d0eb352210" + "reference": "473a9f3ebe0c134ee1e623ce8a9c852832020288" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/8018fee80bf6573f909ece3e0dfc07d0eb352210", - "reference": "8018fee80bf6573f909ece3e0dfc07d0eb352210", + "url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/473a9f3ebe0c134ee1e623ce8a9c852832020288", + "reference": "473a9f3ebe0c134ee1e623ce8a9c852832020288", "shasum": "" }, "require": { - "behat/mink": "~1.6@dev", + "behat/mink": "~1.7@dev", "instaclick/php-webdriver": "~1.1", "php": ">=5.3.1" }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7" + }, "type": "mink-driver", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.3.x-dev" } }, "autoload": { - "psr-0": { - "Behat\\Mink\\Driver": "src/" + "psr-4": { + "Behat\\Mink\\Driver\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2871,27 +3113,24 @@ "testing", "webdriver" ], - "time": "2014-09-29 13:12:12" + "time": "2016-03-05 09:10:18" }, { "name": "camspiers/json-pretty", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/camspiers/json-pretty.git", - "reference": "2378ac3e8e798e9c55bd3c194238cde35af93817" + "reference": "17be37cb83af8014658da48fa0012604179039a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/camspiers/json-pretty/zipball/2378ac3e8e798e9c55bd3c194238cde35af93817", - "reference": "2378ac3e8e798e9c55bd3c194238cde35af93817", + "url": "https://api.github.com/repos/camspiers/json-pretty/zipball/17be37cb83af8014658da48fa0012604179039a7", + "reference": "17be37cb83af8014658da48fa0012604179039a7", "shasum": "" }, "require-dev": { - "phpunit/phpunit": "3.7.*" - }, - "suggest": { - "pimple/pimple": "Useful for dependency injection" + "phpunit/phpunit": "~4.0" }, "type": "library", "autoload": { @@ -2906,26 +3145,24 @@ "authors": [ { "name": "Cam Spiers", - "email": "cameron@heyday.co.nz", - "homepage": "https://github.com/camspiers/", - "role": "Developer" + "email": "cameron@heyday.co.nz" } ], - "description": "Provides support for json pretty printing in php 5.3", - "time": "2014-01-24 12:31:00" + "description": "Provides support for json pretty printing", + "time": "2016-02-06 01:25:58" }, { "name": "doctrine/instantiator", - "version": "1.0.4", + "version": "1.0.5", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119" + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", "shasum": "" }, "require": { @@ -2936,7 +3173,7 @@ "ext-pdo": "*", "ext-phar": "*", "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "2.0.*@ALPHA" + "squizlabs/php_codesniffer": "~2.0" }, "type": "library", "extra": { @@ -2945,8 +3182,8 @@ } }, "autoload": { - "psr-0": { - "Doctrine\\Instantiator\\": "src" + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2966,24 +3203,24 @@ "constructor", "instantiate" ], - "time": "2014-10-13 12:58:55" + "time": "2015-06-14 21:17:01" }, { "name": "fabpot/goutte", - "version": "v2.0.2", + "version": "v2.0.4", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/Goutte.git", - "reference": "b12c3f7ec68d8814b50444cfe142fd0a056557f9" + "reference": "0ad3ee6dc2d0aaa832a80041a1e09bf394e99802" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/b12c3f7ec68d8814b50444cfe142fd0a056557f9", - "reference": "b12c3f7ec68d8814b50444cfe142fd0a056557f9", + "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/0ad3ee6dc2d0aaa832a80041a1e09bf394e99802", + "reference": "0ad3ee6dc2d0aaa832a80041a1e09bf394e99802", "shasum": "" }, "require": { - "guzzlehttp/guzzle": "4.*", + "guzzlehttp/guzzle": ">=4,<6", "php": ">=5.4.0", "symfony/browser-kit": "~2.1", "symfony/css-selector": "~2.1", @@ -2996,8 +3233,8 @@ } }, "autoload": { - "psr-0": { - "Goutte": "." + "psr-4": { + "Goutte\\": "Goutte" } }, "notification-url": "https://packagist.org/downloads/", @@ -3011,11 +3248,11 @@ } ], "description": "A simple PHP Web Scraper", - "homepage": "https://github.com/fabpot/Goutte", + "homepage": "https://github.com/FriendsOfPHP/Goutte", "keywords": [ "scraper" ], - "time": "2014-07-22 13:24:11" + "time": "2015-05-05 21:14:57" }, { "name": "hamcrest/hamcrest-php", @@ -3116,16 +3353,16 @@ }, { "name": "instaclick/php-webdriver", - "version": "1.4.1", + "version": "1.4.3", "source": { "type": "git", "url": "https://github.com/instaclick/php-webdriver.git", - "reference": "a57b2bcd9467e217134a2248b261b8b3a90ccea0" + "reference": "0c20707dcf30a32728fd6bdeeab996c887fdb2fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/a57b2bcd9467e217134a2248b261b8b3a90ccea0", - "reference": "a57b2bcd9467e217134a2248b261b8b3a90ccea0", + "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/0c20707dcf30a32728fd6bdeeab996c887fdb2fb", + "reference": "0c20707dcf30a32728fd6bdeeab996c887fdb2fb", "shasum": "" }, "require": { @@ -3170,20 +3407,20 @@ "webdriver", "webtest" ], - "time": "2014-05-12 21:03:05" + "time": "2015-06-15 20:19:33" }, { "name": "liip/rmt", - "version": "1.1.7", + "version": "1.1.9", "source": { "type": "git", "url": "https://github.com/liip/RMT.git", - "reference": "444e48c6e41ee191421855fca7c205ff77a6f8fc" + "reference": "81ecd50b0910a2e6a052e2d34f187922626c4e07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/liip/RMT/zipball/444e48c6e41ee191421855fca7c205ff77a6f8fc", - "reference": "444e48c6e41ee191421855fca7c205ff77a6f8fc", + "url": "https://api.github.com/repos/liip/RMT/zipball/81ecd50b0910a2e6a052e2d34f187922626c4e07", + "reference": "81ecd50b0910a2e6a052e2d34f187922626c4e07", "shasum": "" }, "require": { @@ -3229,25 +3466,29 @@ "vcs tag", "version" ], - "time": "2014-10-28 10:33:21" + "time": "2015-05-06 20:11:13" }, { "name": "matthiasnoback/symfony-config-test", - "version": "v1.2.3", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/matthiasnoback/SymfonyConfigTest.git", - "reference": "f8fa058a4643b17a21a7853587b94bc6d3e84334" + "reference": "615b7c8ff5dc1737e553e518dbed641aa548572d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/matthiasnoback/SymfonyConfigTest/zipball/f8fa058a4643b17a21a7853587b94bc6d3e84334", - "reference": "f8fa058a4643b17a21a7853587b94bc6d3e84334", + "url": "https://api.github.com/repos/matthiasnoback/SymfonyConfigTest/zipball/615b7c8ff5dc1737e553e518dbed641aa548572d", + "reference": "615b7c8ff5dc1737e553e518dbed641aa548572d", "shasum": "" }, "require": { "php": ">=5.3", - "symfony/config": "2.*" + "sebastian/exporter": "1.*", + "symfony/config": "~2.0|~3.0" + }, + "require-dev": { + "phpunit/phpunit": ">=3.7" }, "type": "library", "autoload": { @@ -3273,20 +3514,20 @@ "phpunit", "symfony" ], - "time": "2015-09-24 06:32:51" + "time": "2015-11-25 21:40:32" }, { "name": "mockery/mockery", - "version": "0.9.4", + "version": "0.9.5", "source": { "type": "git", "url": "https://github.com/padraic/mockery.git", - "reference": "70bba85e4aabc9449626651f48b9018ede04f86b" + "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/padraic/mockery/zipball/70bba85e4aabc9449626651f48b9018ede04f86b", - "reference": "70bba85e4aabc9449626651f48b9018ede04f86b", + "url": "https://api.github.com/repos/padraic/mockery/zipball/4db079511a283e5aba1b3c2fb19037c645e70fc2", + "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2", "shasum": "" }, "require": { @@ -3338,38 +3579,39 @@ "test double", "testing" ], - "time": "2015-04-02 19:54:00" + "time": "2016-05-22 21:52:33" }, { "name": "pdepend/pdepend", - "version": "2.0.3", + "version": "2.2.4", "source": { "type": "git", "url": "https://github.com/pdepend/pdepend.git", - "reference": "dc582a3c0180664a8fbfc5a34efaf4cc13fccc60" + "reference": "b086687f3a01dc6bb92d633aef071d2c5dd0db06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdepend/pdepend/zipball/dc582a3c0180664a8fbfc5a34efaf4cc13fccc60", - "reference": "dc582a3c0180664a8fbfc5a34efaf4cc13fccc60", + "url": "https://api.github.com/repos/pdepend/pdepend/zipball/b086687f3a01dc6bb92d633aef071d2c5dd0db06", + "reference": "b086687f3a01dc6bb92d633aef071d2c5dd0db06", "shasum": "" }, "require": { - "symfony/config": "@stable", - "symfony/dependency-injection": "@stable", - "symfony/filesystem": "@stable" + "php": ">=5.3.7", + "symfony/config": "^2.3.0|^3", + "symfony/dependency-injection": "^2.3.0|^3", + "symfony/filesystem": "^2.3.0|^3" }, "require-dev": { - "phpunit/phpunit": "3.*@stable", - "squizlabs/php_codesniffer": "@stable" + "phpunit/phpunit": "^4.4.0,<4.8", + "squizlabs/php_codesniffer": "^2.0.0" }, "bin": [ "src/bin/pdepend" ], "type": "library", "autoload": { - "psr-0": { - "PDepend\\": "src/main/php/" + "psr-4": { + "PDepend\\": "src/main/php/PDepend" } }, "notification-url": "https://packagist.org/downloads/", @@ -3377,62 +3619,293 @@ "BSD-3-Clause" ], "description": "Official version of pdepend to be handled with Composer", - "time": "2014-10-08 06:54:50" + "time": "2016-03-10 15:15:04" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2015-12-27 11:43:31" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "9270140b940ff02e58ec577c237274e92cd40cdd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9270140b940ff02e58ec577c237274e92cd40cdd", + "reference": "9270140b940ff02e58ec577c237274e92cd40cdd", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "phpdocumentor/reflection-common": "^1.0@dev", + "phpdocumentor/type-resolver": "^0.2.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2016-06-10 09:48:41" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b39c7a5b194f9ed7bd0dd345c751007a41862443", + "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "time": "2016-06-10 07:14:17" }, { "name": "phpmd/phpmd", - "version": "2.1.1", + "version": "2.4.3", "source": { "type": "git", "url": "https://github.com/phpmd/phpmd.git", - "reference": "0a1a12f6867d0e676718fd1ac287e0c34b956fb2" + "reference": "2b9c2417a18696dfb578b38c116cd0ddc19b256e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmd/phpmd/zipball/0a1a12f6867d0e676718fd1ac287e0c34b956fb2", - "reference": "0a1a12f6867d0e676718fd1ac287e0c34b956fb2", + "url": "https://api.github.com/repos/phpmd/phpmd/zipball/2b9c2417a18696dfb578b38c116cd0ddc19b256e", + "reference": "2b9c2417a18696dfb578b38c116cd0ddc19b256e", "shasum": "" }, "require": { - "pdepend/pdepend": "2.0.*", - "php": ">=5.3.0", - "symfony/config": "@stable", - "symfony/dependency-injection": "@stable", - "symfony/filesystem": "@stable" + "pdepend/pdepend": "^2.0.4", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0", + "squizlabs/php_codesniffer": "^2.0" }, "bin": [ "src/bin/phpmd" ], - "type": "library", + "type": "project", "autoload": { "psr-0": { - "PHPMD\\": "src/main/php", - "PDepend\\": "vendor/pdepend/pdepend/src/main/php/" + "PHPMD\\": "src/main/php" } }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "../../pdepend/pdepend/src/main/php", - "src/main/php" - ], "license": [ "BSD-3-Clause" ], - "description": "Official version of PHPMD handled with Composer.", - "time": "2014-09-09 18:47:29" + "authors": [ + { + "name": "Manuel Pichler", + "email": "github@manuel-pichler.de", + "homepage": "https://github.com/manuelpichler", + "role": "Project Founder" + }, + { + "name": "Other contributors", + "homepage": "https://github.com/phpmd/phpmd/graphs/contributors", + "role": "Contributors" + }, + { + "name": "Marc Würth", + "email": "ravage@bluewin.ch", + "homepage": "https://github.com/ravage84", + "role": "Project Maintainer" + } + ], + "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.", + "homepage": "http://phpmd.org/", + "keywords": [ + "mess detection", + "mess detector", + "pdepend", + "phpmd", + "pmd" + ], + "time": "2016-04-04 11:52:04" + }, + { + "name": "phpspec/prophecy", + "version": "v1.6.1", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "58a8137754bc24b25740d4281399a4a3596058e0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/58a8137754bc24b25740d4281399a4a3596058e0", + "reference": "58a8137754bc24b25740d4281399a4a3596058e0", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", + "sebastian/comparator": "^1.1", + "sebastian/recursion-context": "^1.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2016-06-07 08:13:47" }, { "name": "phpunit/php-code-coverage", - "version": "2.0.11", + "version": "2.2.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "53603b3c995f5aab6b59c8e08c3a663d2cc810b7" + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/53603b3c995f5aab6b59c8e08c3a663d2cc810b7", - "reference": "53603b3c995f5aab6b59c8e08c3a663d2cc810b7", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", "shasum": "" }, "require": { @@ -3440,12 +3913,12 @@ "phpunit/php-file-iterator": "~1.3", "phpunit/php-text-template": "~1.2", "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "~1.0", + "sebastian/environment": "^1.3.2", "sebastian/version": "~1.0" }, "require-dev": { "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4.1" + "phpunit/phpunit": "~4" }, "suggest": { "ext-dom": "*", @@ -3455,7 +3928,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.2.x-dev" } }, "autoload": { @@ -3464,9 +3937,6 @@ ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], "license": [ "BSD-3-Clause" ], @@ -3484,35 +3954,37 @@ "testing", "xunit" ], - "time": "2014-08-31 06:33:04" + "time": "2015-10-06 15:47:00" }, { "name": "phpunit/php-file-iterator", - "version": "1.3.4", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb" + "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", + "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", "shasum": "" }, "require": { "php": ">=5.3.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, "autoload": { "classmap": [ - "File/" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], "license": [ "BSD-3-Clause" ], @@ -3529,20 +4001,20 @@ "filesystem", "iterator" ], - "time": "2013-10-10 15:34:57" + "time": "2015-06-21 13:08:43" }, { "name": "phpunit/php-text-template", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a" + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", "shasum": "" }, "require": { @@ -3551,20 +4023,17 @@ "type": "library", "autoload": { "classmap": [ - "Text/" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], "license": [ "BSD-3-Clause" ], "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -3573,35 +4042,35 @@ "keywords": [ "template" ], - "time": "2014-01-30 17:20:04" + "time": "2015-06-21 13:50:34" }, { "name": "phpunit/php-timer", - "version": "1.0.5", + "version": "1.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c" + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c", - "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260", + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "require-dev": { + "phpunit/phpunit": "~4|~5" + }, "type": "library", "autoload": { "classmap": [ - "PHP/" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], "license": [ "BSD-3-Clause" ], @@ -3617,20 +4086,20 @@ "keywords": [ "timer" ], - "time": "2013-08-02 07:42:54" + "time": "2016-05-12 18:03:57" }, { "name": "phpunit/php-token-stream", - "version": "1.3.0", + "version": "1.4.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "f8d5d08c56de5cfd592b3340424a81733259a876" + "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/f8d5d08c56de5cfd592b3340424a81733259a876", - "reference": "f8d5d08c56de5cfd592b3340424a81733259a876", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", + "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", "shasum": "" }, "require": { @@ -3643,7 +4112,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -3666,20 +4135,20 @@ "keywords": [ "tokenizer" ], - "time": "2014-08-31 06:12:13" + "time": "2015-09-15 10:49:45" }, { "name": "phpunit/phpunit", - "version": "4.3.5", + "version": "4.8.27", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "2dab9d593997db4abcf58d0daf798eb4e9cecfe1" + "reference": "c062dddcb68e44b563f66ee319ddae2b5a322a90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2dab9d593997db4abcf58d0daf798eb4e9cecfe1", - "reference": "2dab9d593997db4abcf58d0daf798eb4e9cecfe1", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c062dddcb68e44b563f66ee319ddae2b5a322a90", + "reference": "c062dddcb68e44b563f66ee319ddae2b5a322a90", "shasum": "" }, "require": { @@ -3689,17 +4158,19 @@ "ext-reflection": "*", "ext-spl": "*", "php": ">=5.3.3", - "phpunit/php-code-coverage": "~2.0", - "phpunit/php-file-iterator": "~1.3.2", + "phpspec/prophecy": "^1.3.1", + "phpunit/php-code-coverage": "~2.1", + "phpunit/php-file-iterator": "~1.4", "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "~1.0.2", + "phpunit/php-timer": "^1.0.6", "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.0", - "sebastian/diff": "~1.1", - "sebastian/environment": "~1.0", - "sebastian/exporter": "~1.0", + "sebastian/comparator": "~1.1", + "sebastian/diff": "~1.2", + "sebastian/environment": "~1.3", + "sebastian/exporter": "~1.2", + "sebastian/global-state": "~1.0", "sebastian/version": "~1.0", - "symfony/yaml": "~2.0" + "symfony/yaml": "~2.1|~3.0" }, "suggest": { "phpunit/php-invoker": "~1.1" @@ -3710,7 +4181,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.3.x-dev" + "dev-master": "4.8.x-dev" } }, "autoload": { @@ -3719,10 +4190,6 @@ ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "", - "../../symfony/yaml/" - ], "license": [ "BSD-3-Clause" ], @@ -3734,35 +4201,36 @@ } ], "description": "The PHP Unit Testing framework.", - "homepage": "http://www.phpunit.de/", + "homepage": "https://phpunit.de/", "keywords": [ "phpunit", "testing", "xunit" ], - "time": "2014-11-11 10:11:09" + "time": "2016-07-21 06:48:14" }, { "name": "phpunit/phpunit-mock-objects", - "version": "2.3.0", + "version": "2.3.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "c63d2367247365f688544f0d500af90a11a44c65" + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/c63d2367247365f688544f0d500af90a11a44c65", - "reference": "c63d2367247365f688544f0d500af90a11a44c65", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", "shasum": "" }, "require": { - "doctrine/instantiator": "~1.0,>=1.0.1", + "doctrine/instantiator": "^1.0.2", "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2" + "phpunit/php-text-template": "~1.2", + "sebastian/exporter": "~1.2" }, "require-dev": { - "phpunit/phpunit": "~4.3" + "phpunit/phpunit": "~4.4" }, "suggest": { "ext-soap": "*" @@ -3795,34 +4263,34 @@ "mock", "xunit" ], - "time": "2014-10-03 05:12:11" + "time": "2015-10-02 06:51:40" }, { "name": "sebastian/comparator", - "version": "1.0.1", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "e54a01c0da1b87db3c5a3c4c5277ddf331da4aef" + "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e54a01c0da1b87db3c5a3c4c5277ddf331da4aef", - "reference": "e54a01c0da1b87db3c5a3c4c5277ddf331da4aef", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", + "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", "shasum": "" }, "require": { "php": ">=5.3.3", - "sebastian/diff": "~1.1", - "sebastian/exporter": "~1.0" + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2" }, "require-dev": { - "phpunit/phpunit": "~4.1" + "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { @@ -3859,32 +4327,32 @@ "compare", "equality" ], - "time": "2014-05-11 23:00:21" + "time": "2015-07-26 15:48:44" }, { "name": "sebastian/diff", - "version": "1.2.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "5843509fed39dee4b356a306401e9dd1a931fec7" + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/5843509fed39dee4b356a306401e9dd1a931fec7", - "reference": "5843509fed39dee4b356a306401e9dd1a931fec7", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "~4.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -3907,36 +4375,36 @@ } ], "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ "diff" ], - "time": "2014-08-15 10:29:00" + "time": "2015-12-08 07:14:41" }, { "name": "sebastian/environment", - "version": "1.2.0", + "version": "1.3.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "0d9bf79554d2a999da194a60416c15cf461eb67d" + "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/0d9bf79554d2a999da194a60416c15cf461eb67d", - "reference": "0d9bf79554d2a999da194a60416c15cf461eb67d", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716", + "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "phpunit/phpunit": "~4.3" + "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "1.3.x-dev" } }, "autoload": { @@ -3961,32 +4429,34 @@ "environment", "hhvm" ], - "time": "2014-10-22 06:38:05" + "time": "2016-05-17 03:18:57" }, { "name": "sebastian/exporter", - "version": "1.0.2", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "c7d59948d6e82818e1bdff7cadb6c34710eb7dc0" + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c7d59948d6e82818e1bdff7cadb6c34710eb7dc0", - "reference": "c7d59948d6e82818e1bdff7cadb6c34710eb7dc0", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "sebastian/recursion-context": "~1.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "ext-mbstring": "*", + "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.3.x-dev" } }, "autoload": { @@ -4026,25 +4496,25 @@ "export", "exporter" ], - "time": "2014-09-10 00:51:36" + "time": "2016-06-17 09:04:28" }, { "name": "sebastian/finder-facade", - "version": "1.1.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/finder-facade.git", - "reference": "1e396fda3449fce9df032749fa4fa2619e0347e0" + "reference": "2a6f7f57efc0aa2d23297d9fd9e2a03111a8c0b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/finder-facade/zipball/1e396fda3449fce9df032749fa4fa2619e0347e0", - "reference": "1e396fda3449fce9df032749fa4fa2619e0347e0", + "url": "https://api.github.com/repos/sebastianbergmann/finder-facade/zipball/2a6f7f57efc0aa2d23297d9fd9e2a03111a8c0b9", + "reference": "2a6f7f57efc0aa2d23297d9fd9e2a03111a8c0b9", "shasum": "" }, "require": { - "symfony/finder": ">=2.2.0", - "theseer/fdomdocument": ">=1.3.1" + "symfony/finder": "~2.3|~3.0", + "theseer/fdomdocument": "~1.3" }, "type": "library", "autoload": { @@ -4065,28 +4535,79 @@ ], "description": "FinderFacade is a convenience wrapper for Symfony's Finder component.", "homepage": "https://github.com/sebastianbergmann/finder-facade", - "time": "2013-05-28 06:10:03" + "time": "2016-02-17 07:02:23" + }, + { + "name": "sebastian/global-state", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2015-10-12 03:26:01" }, { "name": "sebastian/phpcpd", - "version": "2.0.1", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpcpd.git", - "reference": "a9462153f2dd90466a010179901d31fbff598365" + "reference": "24d9a880deadb0b8c9680e9cfe78e30b704225db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpcpd/zipball/a9462153f2dd90466a010179901d31fbff598365", - "reference": "a9462153f2dd90466a010179901d31fbff598365", + "url": "https://api.github.com/repos/sebastianbergmann/phpcpd/zipball/24d9a880deadb0b8c9680e9cfe78e30b704225db", + "reference": "24d9a880deadb0b8c9680e9cfe78e30b704225db", "shasum": "" }, "require": { "php": ">=5.3.3", - "phpunit/php-timer": ">=1.0.4", - "sebastian/finder-facade": ">=1.1.0", - "sebastian/version": ">=1.0.3", - "symfony/console": ">=2.2.0", + "phpunit/php-timer": ">=1.0.6", + "sebastian/finder-facade": "~1.1", + "sebastian/version": "~1.0|~2.0", + "symfony/console": "~2.7|^3.0", "theseer/fdomdocument": "~1.4" }, "bin": [ @@ -4116,20 +4637,73 @@ ], "description": "Copy/Paste Detector (CPD) for PHP code.", "homepage": "https://github.com/sebastianbergmann/phpcpd", - "time": "2014-03-31 09:25:30" + "time": "2016-04-17 19:32:49" + }, + { + "name": "sebastian/recursion-context", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2015-11-11 19:50:13" }, { "name": "sebastian/version", - "version": "1.0.3", + "version": "1.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43" + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43", - "reference": "b6e1f0cf6b9e1ec409a0d3e2f2a5fb0998e36b43", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", "shasum": "" }, "type": "library", @@ -4151,25 +4725,25 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "time": "2014-03-07 15:35:33" + "time": "2015-06-21 13:59:46" }, { "name": "sensio/generator-bundle", - "version": "v2.4.0", + "version": "v2.5.3", "target-dir": "Sensio/Bundle/GeneratorBundle", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioGeneratorBundle.git", - "reference": "d5c0b996a46276d50943a80f95a46b59215a0e68" + "reference": "e50108c2133ee5c9c484555faed50c17a61221d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/d5c0b996a46276d50943a80f95a46b59215a0e68", - "reference": "d5c0b996a46276d50943a80f95a46b59215a0e68", + "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/e50108c2133ee5c9c484555faed50c17a61221d3", + "reference": "e50108c2133ee5c9c484555faed50c17a61221d3", "shasum": "" }, "require": { - "symfony/console": "~2.0", + "symfony/console": "~2.5", "symfony/framework-bundle": "~2.2" }, "require-dev": { @@ -4180,7 +4754,7 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "2.5.x-dev" } }, "autoload": { @@ -4199,20 +4773,20 @@ } ], "description": "This bundle generates code for you", - "time": "2014-09-22 14:56:14" + "time": "2015-03-17 06:36:52" }, { "name": "squizlabs/php_codesniffer", - "version": "1.5.5", + "version": "1.5.6", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "5d973e59cf58a0c847f298de84374c96b42b17b3" + "reference": "6f3e42d311b882b25b4d409d23a289f4d3b803d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5d973e59cf58a0c847f298de84374c96b42b17b3", - "reference": "5d973e59cf58a0c847f298de84374c96b42b17b3", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/6f3e42d311b882b25b4d409d23a289f4d3b803d5", + "reference": "6f3e42d311b882b25b4d409d23a289f4d3b803d5", "shasum": "" }, "require": { @@ -4274,20 +4848,20 @@ "phpcs", "standards" ], - "time": "2014-09-25 03:33:46" + "time": "2014-12-04 22:32:15" }, { "name": "theseer/fdomdocument", - "version": "1.6.0", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/theseer/fDOMDocument.git", - "reference": "d08cf070350f884c63fc9078d27893c2ab6c7cef" + "reference": "d9ad139d6c2e8edf5e313ffbe37ff13344cf0684" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/fDOMDocument/zipball/d08cf070350f884c63fc9078d27893c2ab6c7cef", - "reference": "d08cf070350f884c63fc9078d27893c2ab6c7cef", + "url": "https://api.github.com/repos/theseer/fDOMDocument/zipball/d9ad139d6c2e8edf5e313ffbe37ff13344cf0684", + "reference": "d9ad139d6c2e8edf5e313ffbe37ff13344cf0684", "shasum": "" }, "require": { @@ -4314,20 +4888,20 @@ ], "description": "The classes contained within this repository extend the standard DOM to use exceptions at all occasions of errors instead of PHP warnings or notices. They also add various custom methods and shortcuts for convenience and to simplify the usage of DOM.", "homepage": "https://github.com/theseer/fDOMDocument", - "time": "2014-09-13 10:57:19" + "time": "2015-05-27 22:58:02" }, { "name": "vierbergenlars/php-semver", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/vierbergenlars/php-semver.git", - "reference": "4dc35f3804f3b127ad557b8b2255c03204dec951" + "reference": "516bb3061577e60e9420cbecc479362d3ad8c7f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vierbergenlars/php-semver/zipball/4dc35f3804f3b127ad557b8b2255c03204dec951", - "reference": "4dc35f3804f3b127ad557b8b2255c03204dec951", + "url": "https://api.github.com/repos/vierbergenlars/php-semver/zipball/516bb3061577e60e9420cbecc479362d3ad8c7f1", + "reference": "516bb3061577e60e9420cbecc479362d3ad8c7f1", "shasum": "" }, "require": { @@ -4366,29 +4940,75 @@ "semver", "versioning" ], - "time": "2013-12-21 17:10:13" + "time": "2015-05-02 19:28:54" + }, + { + "name": "webmozart/assert", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde", + "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2015-08-24 13:29:44" } ], "aliases": [ { - "alias": "v1.5.0", - "alias_normalized": "1.5.0.0", + "alias": "3.0.0-beta5", + "alias_normalized": "3.0.0.0-beta5", "version": "9999999-dev", - "package": "mopa/composer-bridge" + "package": "mopa/bootstrap-bundle" } ], "minimum-stability": "stable", "stability-flags": { "mopa/bootstrap-bundle": 20, - "surfnet/stepup-middleware-client-bundle": 20, - "surfnet/stepup-saml-bundle": 20, - "surfnet/stepup-u2f-bundle": 20, - "mopa/composer-bridge": 20 + "surfnet/stepup-u2f-bundle": 20 }, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=5.4|^7" + "php": "~5.6|~7.0" }, "platform-dev": [] } diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/RegistrationController.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/RegistrationController.php index c2792ce33..201133f38 100644 --- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/RegistrationController.php +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Controller/RegistrationController.php @@ -36,6 +36,8 @@ public function displaySecondFactorTypesAction() return [ 'commonName' => $this->getIdentity()->commonName, 'enabledSecondFactors' => array_combine($enabledSecondFactors, $enabledSecondFactors), + 'tiqrAppAndroidUrl' => $this->getParameter('tiqr_app_android_url'), + 'tiqrAppIosUrl' => $this->getParameter('tiqr_app_ios_url'), ]; } @@ -78,24 +80,36 @@ public function verifyEmailAction(Request $request) } /** - * @Template * @param $secondFactorId - * @return array|Response + * @return Response */ public function registrationEmailSentAction($secondFactorId) { $identity = $this->getIdentity(); - /** @var SecondFactorService $secondFactorService */ - $secondFactorService = $this->get('surfnet_stepup_self_service_self_service.service.second_factor'); + $parameters = [ + 'email' => $identity->email, + 'registrationCode' => $this->get('surfnet_stepup_self_service_self_service.service.second_factor') + ->getRegistrationCode($secondFactorId, $identity->id), + ]; - /** @var \Surfnet\StepupSelfService\SelfServiceBundle\Service\RaService $raService */ - $raService = $this->get('self_service.service.ra'); + $raService = $this->get('self_service.service.ra'); + $raLocationService = $this->get('self_service.service.ra_location'); - return [ - 'email' => $this->getIdentity()->email, - 'registrationCode' => $secondFactorService->getRegistrationCode($secondFactorId, $identity->id), - 'ras' => $raService->listRas($identity->institution), - ]; + $institutionConfigurationOptions = $this->get('self_service.service.institution_configuration_options') + ->getInstitutionConfigurationOptionsFor($identity->institution); + + if ($institutionConfigurationOptions->useRaLocations) { + $parameters['raLocations'] = $raLocationService->listRaLocationsFor($identity->institution); + } elseif (!$institutionConfigurationOptions->showRaaContactInformation) { + $parameters['ras'] = $raService->listRasWithoutRaas($identity->institution); + } else { + $parameters['ras'] = $raService->listRas($identity->institution); + } + + return $this->render( + 'SurfnetStepupSelfServiceSelfServiceBundle:Registration:registrationEmailSent.html.twig', + $parameters + ); } } diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/EventListener/LocaleListener.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/EventListener/LocaleListener.php index 9cdfe1cd9..c4cbd9c3a 100644 --- a/src/Surfnet/StepupSelfService/SelfServiceBundle/EventListener/LocaleListener.php +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/EventListener/LocaleListener.php @@ -51,9 +51,13 @@ public function setRequestLocale(GetResponseEvent $event) return; } - /** @var Identity $identity */ $identity = $token->getUser(); + // Anonymous usage like /authentication/metadata has just "anonymous" as identity. + if (!$identity instanceof Identity) { + return; + } + $request = $event->getRequest(); $request->setLocale($identity->preferredLocale); diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Form/Type/SendSmsChallengeType.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Form/Type/SendSmsChallengeType.php index 8c2f6541d..9ae093b05 100644 --- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Form/Type/SendSmsChallengeType.php +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Form/Type/SendSmsChallengeType.php @@ -44,6 +44,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'horizontal_input_wrapper_class' => 'foo', 'attr' => [ 'autofocus' => true, + 'class' => 'pull-right', 'placeholder' => '612345678', ] ]) diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Form/Type/VerifySmsChallengeType.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Form/Type/VerifySmsChallengeType.php index 3dcd454fe..637517283 100644 --- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Form/Type/VerifySmsChallengeType.php +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Form/Type/VerifySmsChallengeType.php @@ -29,19 +29,18 @@ public function buildForm(FormBuilderInterface $builder, array $options) $builder->add('challenge', 'text', [ 'label' => 'ss.form.ss_verify_sms_challenge.text.challenge', 'required' => true, - 'attr' => array( - 'autofocus' => true, - ) + 'attr' => ['autofocus' => true], + 'label_attr' => ['class' => 'pull-right'], ]); - $builder->add('verify-challenge', 'submit', [ - 'label' => 'ss.form.ss_verify_sms_challenge.button.verify_challenge', - 'attr' => [ 'class' => 'btn btn-primary pull-right' ], - ]); - $builder->add('resend-challenge', 'anchor', [ + $builder->add('resendChallenge', 'anchor', [ 'label' => 'ss.form.ss_verify_sms_challenge.button.resend_challenge', 'attr' => [ 'class' => 'btn btn-default' ], 'route' => 'ss_registration_sms_send_challenge', ]); + $builder->add('verifyChallenge', 'submit', [ + 'label' => 'ss.form.ss_verify_sms_challenge.button.verify_challenge', + 'attr' => [ 'class' => 'btn btn-primary pull-right' ], + ]); } public function configureOptions(OptionsResolver $resolver) diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/config/services.yml b/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/config/services.yml index a4c0885d4..6d44a409f 100644 --- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/config/services.yml +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/config/services.yml @@ -105,12 +105,23 @@ services: arguments: - @surfnet_stepup_middleware_client.identity.service.ra + self_service.service.ra_location: + class: Surfnet\StepupSelfService\SelfServiceBundle\Service\RaLocationService + arguments: + - @surfnet_stepup_middleware_client.configuration.service.ra_location + + self_service.service.institution_configuration_options: + class: Surfnet\StepupSelfService\SelfServiceBundle\Service\InstitutionConfigurationOptionsService + arguments: + - @surfnet_stepup_middleware_client.configuration.service.institution_configuration_options + self_service.security.authentication.provider: class: Surfnet\StepupSelfService\SelfServiceBundle\Security\Authentication\Provider\SamlProvider arguments: - @self_service.service.identity - @surfnet_saml.saml.attribute_dictionary - @self_service.locale.request_stack_locale_provider + - @logger self_service.security.authentication.listener: class: Surfnet\StepupSelfService\SelfServiceBundle\Security\Firewall\SamlListener diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/Sms/provePossession.html.twig b/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/Sms/provePossession.html.twig index ca02d82b4..ca42baa6f 100644 --- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/Sms/provePossession.html.twig +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/Sms/provePossession.html.twig @@ -20,6 +20,26 @@
- {{ form(form) }} + {{ form_start(form) }} +
+ {{ form_errors(form) }} +
+ {{ form_label(form.challenge) }} +
+
+ {{ form_widget(form.challenge) }} +
+
+
 
+
+
 
+
+ {{ form_row(form.resendChallenge) }} +
+
+ {{ form_row(form.verifyChallenge) }} +
+
+ {{ form_rest(form) }} {% endblock %} diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/displaySecondFactorTypes.html.twig b/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/displaySecondFactorTypes.html.twig index d91f7832e..81de62695 100644 --- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/displaySecondFactorTypes.html.twig +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/displaySecondFactorTypes.html.twig @@ -16,35 +16,45 @@ {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with { 'type': 'sms', 'security': 2, - 'url': path('ss_registration_sms_send_challenge') + 'url': path('ss_registration_sms_send_challenge'), + 'tiqrAppAndroidUrl': tiqrAppAndroidUrl, + 'tiqrAppIosUrl': tiqrAppIosUrl, } only %} {% endif %} {% if enabledSecondFactors.tiqr is defined %} {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with { 'type': 'tiqr', 'security': 2, - 'url': path('ss_registration_gssf_initiate', {'provider': 'tiqr'}) + 'url': path('ss_registration_gssf_initiate', {'provider': 'tiqr'}), + 'tiqrAppAndroidUrl': tiqrAppAndroidUrl, + 'tiqrAppIosUrl': tiqrAppIosUrl, } only %} {% endif %} {% if enabledSecondFactors.yubikey is defined %} {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with { 'type': 'yubikey', 'security': 3, - 'url': path('ss_registration_yubikey_prove_possession') + 'url': path('ss_registration_yubikey_prove_possession'), + 'tiqrAppAndroidUrl': tiqrAppAndroidUrl, + 'tiqrAppIosUrl': tiqrAppIosUrl, } only %} {% endif %} {% if enabledSecondFactors.u2f is defined %} {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with { 'type': 'u2f', 'security': 3, - 'url': path('ss_registration_u2f_registration') + 'url': path('ss_registration_u2f_registration'), + 'tiqrAppAndroidUrl': tiqrAppAndroidUrl, + 'tiqrAppIosUrl': tiqrAppIosUrl, } only %} {% endif %} {% if enabledSecondFactors.biometric is defined %} {% include 'SurfnetStepupSelfServiceSelfServiceBundle::Registration/partial/secondFactor.html.twig' with { 'type': 'biometric', 'security': 3, - 'url': path('ss_registration_gssf_initiate', {'provider': 'biometric'}) + 'url': path('ss_registration_gssf_initiate', {'provider': 'biometric'}), + 'tiqrAppAndroidUrl': tiqrAppAndroidUrl, + 'tiqrAppIosUrl': tiqrAppIosUrl, } only %} {% endif %} diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/partial/secondFactor.html.twig b/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/partial/secondFactor.html.twig index af7f30a2a..7e4dfe148 100644 --- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/partial/secondFactor.html.twig +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/partial/secondFactor.html.twig @@ -13,7 +13,16 @@


- {{ ('ss.registration.selector.'~type~'.description')|trans }} + {{ + ('ss.registration.selector.'~type~'.description')|trans|e|replace( + { + '%tiqr_android_link_start%': '', + '%tiqr_android_link_end%': '', + '%tiqr_ios_link_start%': '', + '%tiqr_ios_link_end%': '', + } + )|raw + }}

diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/registrationEmailSent.html.twig b/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/registrationEmailSent.html.twig index 2248080b3..bf54f8b4d 100644 --- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/registrationEmailSent.html.twig +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Resources/views/Registration/registrationEmailSent.html.twig @@ -42,20 +42,41 @@


-

{{ 'ss.registration.registration_email_sent.title.list_of_ras'|trans }}

- {% if ras.elements is empty %} -

{{ 'ss.registration.registration_email_sent.text.no_ras_for_your_institution'|trans }}

+ {% if raLocations is defined %} +

{{ 'ss.registration.registration_email_sent.title.list_of_ra_locations'|trans }}

+ + {% if raLocations.elements is empty %} +

{{ 'ss.registration.registration_email_sent.text.no_ra_locations_for_your_institution'|trans }}

+ {% else %} +
    + {% for raLocation in raLocations.elements %} +
  • +
    + {{ raLocation.name }}
    + {{ raLocation.location }}
    + {{ raLocation.contactInformation }} +
    +
  • + {% endfor %} +
+ {% endif %} {% else %} -
    - {% for ra in ras.elements %} -
  • -
    - {{ ra.commonName }}
    - {{ ra.location }}
    - {{ ra.contactInformation }} -
    -
  • - {% endfor %} -
+

{{ 'ss.registration.registration_email_sent.title.list_of_ras'|trans }}

+ + {% if ras.elements is empty %} +

{{ 'ss.registration.registration_email_sent.text.no_ras_for_your_institution'|trans }}

+ {% else %} +
    + {% for ra in ras.elements %} +
  • +
    + {{ ra.commonName }}
    + {{ ra.location }}
    + {{ ra.contactInformation }} +
    +
  • + {% endfor %} +
+ {% endif %} {% endif %} {% endblock %} diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Security/Authentication/Provider/SamlProvider.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Security/Authentication/Provider/SamlProvider.php index e1618243b..db46ea075 100644 --- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Security/Authentication/Provider/SamlProvider.php +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Security/Authentication/Provider/SamlProvider.php @@ -18,7 +18,9 @@ namespace Surfnet\StepupSelfService\SelfServiceBundle\Security\Authentication\Provider; +use Psr\Log\LoggerInterface; use Surfnet\SamlBundle\SAML2\Attribute\AttributeDictionary; +use Surfnet\SamlBundle\SAML2\Response\AssertionAdapter; use Surfnet\StepupMiddlewareClientBundle\Identity\Dto\Identity; use Surfnet\StepupMiddlewareClientBundle\Uuid\Uuid; use Surfnet\StepupSelfService\SelfServiceBundle\Locale\PreferredLocaleProvider; @@ -26,6 +28,7 @@ use Surfnet\StepupSelfService\SelfServiceBundle\Service\IdentityService; use Symfony\Component\Security\Core\Authentication\Provider\AuthenticationProviderInterface; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; +use Symfony\Component\Security\Core\Exception\BadCredentialsException; class SamlProvider implements AuthenticationProviderInterface { @@ -40,18 +43,25 @@ class SamlProvider implements AuthenticationProviderInterface private $attributeDictionary; /** - * @var \Symfony\Component\HttpFoundation\PreferredLocaleProvider + * @var \Surfnet\StepupSelfService\SelfServiceBundle\Locale\PreferredLocaleProvider */ private $preferredLocaleProvider; + /** + * @var \Psr\Log\LoggerInterface + */ + private $logger; + public function __construct( IdentityService $identityService, AttributeDictionary $attributeDictionary, - PreferredLocaleProvider $preferredLocaleProvider + PreferredLocaleProvider $preferredLocaleProvider, + LoggerInterface $logger ) { $this->identityService = $identityService; $this->attributeDictionary = $attributeDictionary; $this->preferredLocaleProvider = $preferredLocaleProvider; + $this->logger = $logger; } /** @@ -62,10 +72,11 @@ public function authenticate(TokenInterface $token) { $translatedAssertion = $this->attributeDictionary->translate($token->assertion); - $nameId = $translatedAssertion->getNameID(); - $institution = $translatedAssertion->getAttribute('schacHomeOrganization'); - $email = $translatedAssertion->getAttribute('mail'); - $commonName = $translatedAssertion->getAttribute('commonName'); + $nameId = $translatedAssertion->getNameID(); + $institution = $this->getInstitution($translatedAssertion); + $email = $this->getEmail($translatedAssertion); + $commonName = $this->getCommonName($translatedAssertion); + $identity = $this->identityService->findByNameIdAndInstitution($nameId, $institution); @@ -97,4 +108,100 @@ public function supports(TokenInterface $token) { return $token instanceof SamlToken; } + + /** + * @param AssertionAdapter $translatedAssertion + * @return string + */ + private function getInstitution(AssertionAdapter $translatedAssertion) + { + $institutions = $translatedAssertion->getAttributeValue('schacHomeOrganization'); + + if (empty($institutions)) { + throw new BadCredentialsException( + 'No schacHomeOrganization provided' + ); + } + + if (count($institutions) > 1) { + throw new BadCredentialsException( + 'Multiple schacHomeOrganizations provided in SAML Assertion' + ); + } + + $institution = $institutions[0]; + + if (!is_string($institution)) { + $this->logger->warning('Received invalid schacHomeOrganization', ['schacHomeOrganizationType' => gettype($institution)]); + throw new BadCredentialsException( + 'schacHomeOrganization is not a string' + ); + } + + return $institution; + } + + /** + * @param AssertionAdapter $translatedAssertion + * @return string + */ + private function getEmail(AssertionAdapter $translatedAssertion) + { + $emails = $translatedAssertion->getAttributeValue('mail'); + + if (empty($emails)) { + throw new BadCredentialsException( + 'No schacHomeOrganization provided' + ); + } + + if (count($emails) > 1) { + throw new BadCredentialsException( + 'Multiple email values provided in SAML Assertion' + ); + } + + $email = $emails[0]; + + if (!is_string($email)) { + $this->logger->warning('Received invalid email', ['emailType' => gettype($email)]); + throw new BadCredentialsException( + 'email is not a string' + ); + } + + return $email; + } + + /** + * @param AssertionAdapter $translatedAssertion + * @return string + */ + private function getCommonName(AssertionAdapter $translatedAssertion) + { + $commonNames = $translatedAssertion->getAttributeValue('commonName'); + + if (empty($commonNames)) { + throw new BadCredentialsException( + 'No commonName provided' + ); + } + + if (count($commonNames) > 1) { + throw new BadCredentialsException( + 'Multiple commonName values provided in SAML Assertion' + ); + } + + $commonName = $commonNames[0]; + + if (!is_string($commonName)) { + $this->logger->warning('Received invalid commonName', ['commonNameType' => gettype($commonName)]); + throw new BadCredentialsException( + 'commonName is not a string' + ); + } + + return $commonName; + } } diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/InstitutionConfigurationOptionsService.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/InstitutionConfigurationOptionsService.php new file mode 100644 index 000000000..cadd7dbc9 --- /dev/null +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/InstitutionConfigurationOptionsService.php @@ -0,0 +1,44 @@ +apiInstitutionConfigurationOptionsService = $apiInstitutionConfigurationOptionsService; + } + + /** + * @param string $institution + * @return null|InstitutionConfigurationOptions + */ + public function getInstitutionConfigurationOptionsFor($institution) + { + return $this->apiInstitutionConfigurationOptionsService->getInstitutionConfigurationOptionsFor($institution); + } +} diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/RaLocationService.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/RaLocationService.php new file mode 100644 index 000000000..9311fa161 --- /dev/null +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/RaLocationService.php @@ -0,0 +1,47 @@ +apiService = $apiService; + } + + /** + * @param $institution + * @return RaLocationCollection + */ + public function listRaLocationsFor($institution) + { + $query = new RaLocationSearchQuery($institution); + + return $this->apiService->search($query); + } +} diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/RaService.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/RaService.php index 19fa0a34d..62e0f2b1d 100644 --- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/RaService.php +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/RaService.php @@ -41,4 +41,24 @@ public function listRas($institution) { return $this->api->listRas($institution); } + + public function listRasWithoutRaas($institution) + { + $allRas = $this->api->listRas($institution); + + $rasWithoutRaas = []; + foreach ($allRas->getElements() as $ra) { + if (!$ra->isRaa) { + $rasWithoutRaas[] = $ra; + } + } + + // All RAs and RAAs are fetched, so this can safely be returned (no pagination is used here) + return new RegistrationAuthorityCredentialsCollection( + $rasWithoutRaas, + count($rasWithoutRaas), + $allRas->getItemsPerPage(), + $allRas->getCurrentPage() + ); + } } diff --git a/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/SecondFactorService.php b/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/SecondFactorService.php index abe3e8623..cfa6ec144 100644 --- a/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/SecondFactorService.php +++ b/src/Surfnet/StepupSelfService/SelfServiceBundle/Service/SecondFactorService.php @@ -34,7 +34,7 @@ use Surfnet\StepupSelfService\SelfServiceBundle\Exception\LogicException; /** - * @SuppressWarnings(PHPMD.TooManyMethods) + * @SuppressWarnings(PHPMD.TooManyPublicMethods) * @SuppressWarnings(PHPMD.CouplingBetweenObjects) */ class SecondFactorService