diff --git a/Dockerfile b/Dockerfile index 1ec903bb7..e3378dd96 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM php:7.1-apache +FROM php:7.2-apache RUN a2enmod rewrite @@ -23,23 +23,24 @@ RUN echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" && echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini # Configure PHP and Apache +ENV APACHE_DOCUMENT_ROOT /var/www/html/web +RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf +RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf +ADD https://curl.haxx.se/ca/cacert.pem /etc/ + RUN echo "date.timezone = America/Sao_Paulo" > /usr/local/etc/php/conf.d/php-timezone.ini \ - && echo "memory_limit=256M" > /usr/local/etc/php/conf.d/memory_limit.ini \ - && echo "" > /etc/apache2/conf-enabled/lc-docroot.conf \ - && echo " DocumentRoot /var/www/html/web" >> /etc/apache2/conf-enabled/lc-docroot.conf \ - && echo "" >> /etc/apache2/conf-enabled/lc-docroot.conf + && echo "memory_limit=256M" > /usr/local/etc/php/conf.d/memory_limit.ini WORKDIR /var/www/html # Instal composer -RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ - && php composer-setup.php +COPY --from=composer:1.5 /usr/bin/composer /usr/bin/composer # Instal composer dependencies COPY ./composer.* /var/www/html/ -RUN php composer.phar config cache-dir -RUN php composer.phar install --no-interaction --no-scripts --no-autoloader +RUN composer config cache-dir +RUN composer install --no-interaction --no-scripts --no-autoloader COPY . /var/www/html -RUN php composer.phar dump-autoload -d /var/www/html +RUN composer dump-autoload -d /var/www/html RUN chown -R www-data /var/www/html # RUN php app/console assets:install \ # && php app/console assets:install -e prod \ diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 000000000..ff3a588bc --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,66 @@ +pipeline { + agent { label 'php' } + + stages { + //stage('Clean') { + // steps { + // cleanWs() + // } + //} + stage('Build') { + steps { + sh 'composer install --no-progress --no-interaction --no-scripts --prefer-dist' + } + } + stage('Run Tests') { + steps { + sh 'php -i | grep debug' + sh 'composer test -- --log-junit=junit.xml' + //sh 'composer test -- --coverage-clover=clover.xml --log-junit=junit.xml' + } + } + stage('SonarQube analysis') { + steps { + script { + scannerHome = tool 'SonarQube Scanner 2.8' + } + withSonarQubeEnv('sonar_procergs') { + sh "${scannerHome}/bin/sonar-scanner" + } + } + } + //stage('Quality Gate') { + // steps { + // timeout(time: 5, unit: 'MINUTES') { + // waitForQualityGate abortPipeline: true + // } + // } + //} + // Artifactory examples: + // https://github.com/jfrog/project-examples/tree/master/jenkins-examples/pipeline-examples + stage('Archive') { + steps { + // Save commit ID to file + sh 'echo $GIT_COMMIT > web/commit' + sh 'composer archive --format=zip --dir=dist' + archiveArtifacts artifacts: 'dist/*.zip' + + script { + def artifactory = Artifactory.server('artifactory') + def uploadSpec = """{ + "files": [{ + "pattern": "dist/*.zip", + "target": "php-local/procergs/login-cidadao/" + }] + }""" + artifactory.upload(uploadSpec) + } + } + } + } + post { + always { + deleteDir() + } + } +} diff --git a/README.md b/README.md index d2f3c7c18..491814cb4 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,26 @@ Login Cidadão ============= +This is an Digital Identity (DI) solution for Open Government, Networked +Democracy and Colaborative Citizenship. Technically it's a federated OAuth2 +and OpenID provider. + +It's aimed at easy install while retaining a high level of user-control over +the use of their data and the applications that have access to it. + +Deployed since 2014 in Rio Grande do Sul (BR) it has today more than 500k +users and has prooved to be a central tool to ease out citizen/government +interactions providing SSO with preserved privacy and security for all +government services ![read more (PT_BR)](https://logincidadao.rs.gov.br/about) + [![Build Status](https://travis-ci.org/redelivre/login-cidadao.svg?branch=master)](https://travis-ci.org/redelivre/login-cidadao) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/redelivre/login-cidadao/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/redelivre/login-cidadao/?branch=master) [![Join the chat at https://telegram.me/IdentidadeDigital](https://patrolavia.github.io/telegram-badge/chat.png)](https://telegram.me/IdentidadeDigital) [![Receive updates at https://telegram.me/logincidadao](https://patrolavia.github.io/telegram-badge/follow.png)](https://telegram.me/logincidadao) +# Screenshot +![Screenshot](./screenshots/0.png) + ## Requirements Running an Identity Provider is not an easy task. diff --git a/app/AppKernel.php b/app/AppKernel.php index 8ea2a2fa7..d0205f575 100644 --- a/app/AppKernel.php +++ b/app/AppKernel.php @@ -35,7 +35,7 @@ public function registerBundles() new Knp\Bundle\GaufretteBundle\KnpGaufretteBundle(), new Vich\UploaderBundle\VichUploaderBundle(), - new JMS\DiExtraBundle\JMSDiExtraBundle($this), + new JMS\DiExtraBundle\JMSDiExtraBundle(), new JMS\AopBundle\JMSAopBundle(), new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(), new Nelmio\ApiDocBundle\NelmioApiDocBundle(), @@ -66,6 +66,7 @@ public function registerBundles() new LoginCidadao\RemoteClaimsBundle\LoginCidadaoRemoteClaimsBundle(), new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(), new Snc\RedisBundle\SncRedisBundle(), + new Http\HttplugBundle\HttplugBundle(), // PROCERGS new PROCERGS\LoginCidadao\CoreBundle\PROCERGSLoginCidadaoCoreBundle(), diff --git a/app/SymfonyRequirements.php b/app/SymfonyRequirements.php index 28b0dcdbf..4a1fcc621 100644 --- a/app/SymfonyRequirements.php +++ b/app/SymfonyRequirements.php @@ -168,6 +168,9 @@ public function __construct($cfgName, $evaluation, $approveCfgAbsence = false, $ */ class RequirementCollection implements IteratorAggregate { + /** + * @var Requirement[] + */ private $requirements = array(); /** @@ -265,7 +268,7 @@ public function addCollection(RequirementCollection $collection) /** * Returns both requirements and recommendations. * - * @return array Array of Requirement instances + * @return Requirement[] */ public function all() { @@ -275,7 +278,7 @@ public function all() /** * Returns all mandatory requirements. * - * @return array Array of Requirement instances + * @return Requirement[] */ public function getRequirements() { @@ -292,7 +295,7 @@ public function getRequirements() /** * Returns the mandatory requirements that were not met. * - * @return array Array of Requirement instances + * @return Requirement[] */ public function getFailedRequirements() { @@ -309,7 +312,7 @@ public function getFailedRequirements() /** * Returns all optional recommendations. * - * @return array Array of Requirement instances + * @return Requirement[] */ public function getRecommendations() { @@ -326,7 +329,7 @@ public function getRecommendations() /** * Returns the recommendations that were not met. * - * @return array Array of Requirement instances + * @return Requirement[] */ public function getFailedRecommendations() { @@ -376,7 +379,8 @@ public function getPhpIniConfigPath() */ class SymfonyRequirements extends RequirementCollection { - const REQUIRED_PHP_VERSION = '5.3.3'; + const LEGACY_REQUIRED_PHP_VERSION = '5.3.3'; + const REQUIRED_PHP_VERSION = '5.5.9'; /** * Constructor that initializes the requirements. @@ -385,17 +389,27 @@ public function __construct() { /* mandatory requirements follow */ - $installedPhpVersion = phpversion(); + $installedPhpVersion = PHP_VERSION; + $requiredPhpVersion = $this->getPhpRequiredVersion(); - $this->addRequirement( - version_compare($installedPhpVersion, self::REQUIRED_PHP_VERSION, '>='), - sprintf('PHP version must be at least %s (%s installed)', self::REQUIRED_PHP_VERSION, $installedPhpVersion), - sprintf('You are running PHP version "%s", but Symfony needs at least PHP "%s" to run. - Before using Symfony, upgrade your PHP installation, preferably to the latest version.', - $installedPhpVersion, self::REQUIRED_PHP_VERSION), - sprintf('Install PHP %s or newer (installed version is %s)', self::REQUIRED_PHP_VERSION, $installedPhpVersion) + $this->addRecommendation( + $requiredPhpVersion, + 'Vendors should be installed in order to check all requirements.', + 'Run the composer install command.', + 'Run the "composer install" command.' ); + if (false !== $requiredPhpVersion) { + $this->addRequirement( + version_compare($installedPhpVersion, $requiredPhpVersion, '>='), + sprintf('PHP version must be at least %s (%s installed)', $requiredPhpVersion, $installedPhpVersion), + sprintf('You are running PHP version "%s", but Symfony needs at least PHP "%s" to run. + Before using Symfony, upgrade your PHP installation, preferably to the latest version.', + $installedPhpVersion, $requiredPhpVersion), + sprintf('Install PHP %s or newer (installed version is %s)', $requiredPhpVersion, $installedPhpVersion) + ); + } + $this->addRequirement( version_compare($installedPhpVersion, '5.3.16', '!='), 'PHP version must not be 5.3.16 as Symfony won\'t work properly with it', @@ -425,22 +439,17 @@ public function __construct() 'Change the permissions of either "app/logs/" or "var/logs/" directory so that the web server can write into it.' ); - $this->addPhpIniRequirement( - 'date.timezone', true, false, - 'date.timezone setting must be set', - 'Set the "date.timezone" setting in php.ini* (like Europe/Paris).' - ); - - if (version_compare($installedPhpVersion, self::REQUIRED_PHP_VERSION, '>=')) { - $timezones = array(); - foreach (DateTimeZone::listAbbreviations() as $abbreviations) { - foreach ($abbreviations as $abbreviation) { - $timezones[$abbreviation['timezone_id']] = true; - } - } + if (version_compare($installedPhpVersion, '7.0.0', '<')) { + $this->addPhpIniRequirement( + 'date.timezone', true, false, + 'date.timezone setting must be set', + 'Set the "date.timezone" setting in php.ini* (like Europe/Paris).' + ); + } + if (false !== $requiredPhpVersion && version_compare($installedPhpVersion, $requiredPhpVersion, '>=')) { $this->addRequirement( - isset($timezones[@date_default_timezone_get()]), + in_array(@date_default_timezone_get(), DateTimeZone::listIdentifiers(), true), sprintf('Configured default timezone "%s" must be supported by your installation of PHP', @date_default_timezone_get()), 'Your default timezone is not supported by PHP. Check for typos in your php.ini file and have a look at the list of deprecated timezones at http://php.net/manual/en/timezones.others.php.' ); @@ -617,12 +626,6 @@ function_exists('mb_strlen'), 'Install and enable the mbstring extension.' ); - $this->addRecommendation( - function_exists('iconv'), - 'iconv() should be available', - 'Install and enable the iconv extension.' - ); - $this->addRecommendation( function_exists('utf8_decode'), 'utf8_decode() should be available', @@ -677,6 +680,21 @@ function_exists('posix_isatty'), 'Upgrade your intl extension with a newer ICU version (4+).' ); + if (class_exists('Symfony\Component\Intl\Intl')) { + $this->addRecommendation( + \Symfony\Component\Intl\Intl::getIcuDataVersion() <= \Symfony\Component\Intl\Intl::getIcuVersion(), + sprintf('intl ICU version installed on your system is outdated (%s) and does not match the ICU data bundled with Symfony (%s)', \Symfony\Component\Intl\Intl::getIcuVersion(), \Symfony\Component\Intl\Intl::getIcuDataVersion()), + 'To get the latest internationalization data upgrade the ICU system package and the intl PHP extension.' + ); + if (\Symfony\Component\Intl\Intl::getIcuDataVersion() <= \Symfony\Component\Intl\Intl::getIcuVersion()) { + $this->addRecommendation( + \Symfony\Component\Intl\Intl::getIcuDataVersion() === \Symfony\Component\Intl\Intl::getIcuVersion(), + sprintf('intl ICU version installed on your system (%s) does not match the ICU data bundled with Symfony (%s)', \Symfony\Component\Intl\Intl::getIcuVersion(), \Symfony\Component\Intl\Intl::getIcuDataVersion()), + 'To avoid internationalization data inconsistencies upgrade the symfony/intl component.' + ); + } + } + $this->addPhpIniRecommendation( 'intl.error_level', create_function('$cfgValue', 'return (int) $cfgValue === 0;'), @@ -706,11 +724,11 @@ function_exists('posix_isatty'), 'Install and/or enable a PHP accelerator (highly recommended).' ); - if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { + if ('WIN' === strtoupper(substr(PHP_OS, 0, 3))) { $this->addRecommendation( - $this->getRealpathCacheSize() > 1000, - 'realpath_cache_size should be above 1024 in php.ini', - 'Set "realpath_cache_size" to e.g. "1024" in php.ini* to improve performance on windows.' + $this->getRealpathCacheSize() >= 5 * 1024 * 1024, + 'realpath_cache_size should be at least 5M in php.ini', + 'Setting "realpath_cache_size" to e.g. "5242880" or "5M" in php.ini* may improve performance on Windows significantly in some cases.' ); } @@ -749,7 +767,11 @@ protected function getRealpathCacheSize() { $size = ini_get('realpath_cache_size'); $size = trim($size); - $unit = strtolower(substr($size, -1, 1)); + $unit = ''; + if (!ctype_digit($size)) { + $unit = strtolower(substr($size, -1, 1)); + $size = (int) substr($size, 0, -1); + } switch ($unit) { case 'g': return $size * 1024 * 1024 * 1024; @@ -761,4 +783,28 @@ protected function getRealpathCacheSize() return (int) $size; } } + + /** + * Defines PHP required version from Symfony version. + * + * @return string|false The PHP required version or false if it could not be guessed + */ + protected function getPhpRequiredVersion() + { + if (!file_exists($path = __DIR__.'/../composer.lock')) { + return false; + } + + $composerLock = json_decode(file_get_contents($path), true); + foreach ($composerLock['packages'] as $package) { + $name = $package['name']; + if ('symfony/symfony' !== $name && 'symfony/http-kernel' !== $name) { + continue; + } + + return (int) $package['version'][1] > 2 ? self::REQUIRED_PHP_VERSION : self::LEGACY_REQUIRED_PHP_VERSION; + } + + return false; + } } diff --git a/app/check.php b/app/check.php index 4283cde2c..2cf2dcec2 100644 --- a/app/check.php +++ b/app/check.php @@ -12,7 +12,7 @@ if ($iniPath) { echo_style('green', ' '.$iniPath); } else { - echo_style('warning', ' WARNING: No configuration file (php.ini) used by PHP!'); + echo_style('yellow', ' WARNING: No configuration file (php.ini) used by PHP!'); } echo PHP_EOL.PHP_EOL; @@ -21,7 +21,6 @@ $messages = array(); foreach ($symfonyRequirements->getRequirements() as $req) { - /** @var $req Requirement */ if ($helpText = get_error_message($req, $lineSize)) { echo_style('red', 'E'); $messages['error'][] = $helpText; @@ -80,7 +79,7 @@ function get_error_message(Requirement $requirement, $lineSize) return; } - $errorMessage = wordwrap($requirement->getTestMessage(), $lineSize - 3, PHP_EOL.' ').PHP_EOL; + $errorMessage = wordwrap($requirement->getTestMessage(), $lineSize - 3, PHP_EOL.' ').PHP_EOL; $errorMessage .= ' > '.wordwrap($requirement->getHelpText(), $lineSize - 5, PHP_EOL.' > ').PHP_EOL; return $errorMessage; @@ -120,10 +119,14 @@ function echo_block($style, $title, $message) echo PHP_EOL.PHP_EOL; - echo_style($style, str_repeat(' ', $width).PHP_EOL); - echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT).PHP_EOL); - echo_style($style, str_pad($message, $width, ' ', STR_PAD_RIGHT).PHP_EOL); - echo_style($style, str_repeat(' ', $width).PHP_EOL); + echo_style($style, str_repeat(' ', $width)); + echo PHP_EOL; + echo_style($style, str_pad(' ['.$title.']', $width, ' ', STR_PAD_RIGHT)); + echo PHP_EOL; + echo_style($style, $message); + echo PHP_EOL; + echo_style($style, str_repeat(' ', $width)); + echo PHP_EOL; } function has_color_support() diff --git a/app/config/config.yml b/app/config/config.yml index 43c35e516..84b749e8c 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -1,10 +1,11 @@ imports: - - { resource: parameters.yml } - - { resource: security.yml } - - { resource: redis.yml } + - { resource: 'parameters.yml' } + - { resource: 'security.yml' } + - { resource: 'redis.yml' } # Uncomment bellow to enable Logstash formatting - { resource: logstash.yml } - { resource: "@LoginCidadaoTOSBundle/Resources/config/config.yml" } + - { resource: 'workflows/*.{yml,yaml}' } framework: #esi: ~ @@ -14,8 +15,8 @@ framework: base_path: ~ translator: enabled: true - fallback: %locale% - secret: %secret% + fallback: "%locale%" + secret: "%secret%" router: resource: "%kernel.root_dir%/config/routing.yml" strict_requirements: ~ @@ -26,15 +27,15 @@ framework: engines: ['twig'] #assets_version: SomeVersionScheme default_locale: "%locale%" - trusted_proxies: %trusted_proxies% + trusted_proxies: "%trusted_proxies%" session: ~ fragments: ~ http_method_override: true # Twig Configuration twig: - debug: %kernel.debug% - strict_variables: %kernel.debug% + debug: "%kernel.debug%" + strict_variables: "%kernel.debug%" exception_controller: 'FOS\RestBundle\Controller\ExceptionController::showAction' form_themes: - 'LoginCidadaoCoreBundle:Form:fields.html.twig' @@ -43,14 +44,14 @@ twig: facebook_app_id: "%facebook_app_id%" app_router: "@router" postalcode_search_link: - third_party_login: %third_party_login% + third_party_login: "%third_party_login%" password_hint: "@password_hint" intl_tel_input_preferred_countries: ["br"] google_analytics_trackingId: "%google_analytics_trackingId%" # Assetic Configuration assetic: - debug: %kernel.debug% + debug: "%kernel.debug%" use_controller: false #java: /usr/bin/java assets: @@ -140,9 +141,9 @@ assetic: filters: cssrewrite: ~ uglifyjs2: - bin: %kernel.root_dir%/Resources/node_modules/uglify-js/bin/uglifyjs + bin: "%kernel.root_dir%/Resources/node_modules/uglify-js/bin/uglifyjs" uglifycss: - bin: %kernel.root_dir%/Resources/node_modules/uglifycss/uglifycss + bin: "%kernel.root_dir%/Resources/node_modules/uglifycss/uglifycss" #closure: # jar: %kernel.root_dir%/Resources/java/compiler.jar #yui_css: @@ -154,23 +155,23 @@ doctrine: default_connection: default connections: default: - driver: %database_driver% - host: %database_host% - port: %database_port% - dbname: %database_name% - user: %database_user% - password: %database_password% - server_version: %database_server_version% + driver: "%database_driver%" + host: "%database_host%" + port: "%database_port%" + dbname: "%database_name%" + user: "%database_user%" + password: "%database_password%" + server_version: "%database_server_version%" charset: UTF8 logs: logging: false - driver: %database_driver% - host: %database_host% - port: %database_port% - dbname: %database_name% - user: %database_user% - password: %database_password% - server_version: %database_server_version% + driver: "%database_driver%" + host: "%database_host%" + port: "%database_port%" + dbname: "%database_name%" + user: "%database_user%" + password: "%database_password%" + server_version: "%database_server_version%" charset: UTF8 # if using pdo_sqlite as your database driver, add the path in parameters.yml # e.g. database_path: %kernel.root_dir%/data/data.db3 @@ -201,19 +202,19 @@ doctrine: mappings: LoginCidadaoLogBundle: ~ - auto_generate_proxy_classes: %kernel.debug% + auto_generate_proxy_classes: "%kernel.debug%" resolve_target_entities: - LoginCidadao\CoreBundle\Model\PersonInterface: %user.class% - LoginCidadao\OAuthBundle\Model\OrganizationInterface: %organization.class% - LoginCidadao\OAuthBundle\Model\ClientInterface: %oauth_client.class% + LoginCidadao\CoreBundle\Model\PersonInterface: "%user.class%" + LoginCidadao\OAuthBundle\Model\OrganizationInterface: "%organization.class%" + LoginCidadao\OAuthBundle\Model\ClientInterface: "%oauth_client.class%" # Swiftmailer Configuration swiftmailer: - transport: %mailer_transport% - host: %mailer_host% - username: %mailer_user% - password: %mailer_password% + transport: "%mailer_transport%" + host: "%mailer_host%" + username: "%mailer_user%" + password: "%mailer_password%" spool: { type: memory } - sender_address: %mailer_sender_mail% + sender_address: "%mailer_sender_mail%" #delivery_address: %mailer_sender_mail% fos_oauth_server: @@ -225,19 +226,19 @@ fos_oauth_server: service: user_provider: fos_user.user_provider options: - supported_scopes: %lc_supported_scopes% + supported_scopes: "%lc_supported_scopes%" fos_user: db_driver: orm firewall_name: main - user_class: %user.class% + user_class: "%user.class%" registration: confirmation: enabled: false template: LoginCidadaoCoreBundle:Person:registration/email.html.twig from_email: - address: %mailer_sender_mail% - sender_name: %mailer_sender_name% + address: "%mailer_sender_mail%" + sender_name: "%mailer_sender_name%" form: type: LoginCidadao\CoreBundle\Form\Type\RegistrationFormType validation_groups: [LoginCidadaoRegistration] @@ -248,10 +249,10 @@ fos_user: email: template: LoginCidadaoCoreBundle:Person:resetting/email.html.twig from_email: - address: %mailer_sender_mail% - sender_name: %mailer_sender_name% + address: "%mailer_sender_mail%" + sender_name: "%mailer_sender_name%" form: - type: lc_person_resetting + type: LoginCidadao\CoreBundle\Form\Type\ResettingFormType service: user_manager: lc.user_manager mailer: fos_user.mailer.twig_swift @@ -260,8 +261,8 @@ fos_user: type: LoginCidadao\CoreBundle\Form\Type\ChangePasswordFormType from_email: - address: %mailer_sender_mail% - sender_name: %mailer_sender_name% + address: "%mailer_sender_mail%" + sender_name: "%mailer_sender_name%" # Audit Trail simple_things_entity_audit: @@ -316,21 +317,19 @@ hwi_oauth: resource_owners: facebook: type: facebook - client_id: %facebook_app_id% - client_secret: %facebook_app_secret% + client_id: "%facebook_app_id%" + client_secret: "%facebook_app_secret%" scope: "email user_about_me user_birthday user_location" twitter: type: twitter - client_id: %twitter_app_key% - client_secret: %twitter_app_secret% + client_id: "%twitter_app_key%" + client_secret: "%twitter_app_secret%" scope: "email" google: type: google - client_id: %google_app_key% - client_secret: %google_app_secret% + client_id: "%google_app_key%" + client_secret: "%google_app_secret%" scope: "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile" - http_client: - verify_peer: false parameters: user.class: LoginCidadao\CoreBundle\Entity\Person @@ -338,9 +337,9 @@ parameters: hwi_oauth.resource_owner.twitter.class: LoginCidadao\CoreBundle\OAuth\ResourceOwner\TwitterResourceOwner lc_public_scopes_oidc: 'openid offline_access sub name given_name family_name full_name preferred_username picture email email_verified birthdate phone_number address updated_at' lc_public_scopes_oauth2: 'public_profile username first_name last_name full_name cpf city public_profile country state addresses id_cards mobile logout' - lc_public_scopes: %lc_public_scopes_oidc% %lc_public_scopes_oauth2% + lc_public_scopes: "%lc_public_scopes_oidc% %lc_public_scopes_oauth2%" lc_reserved_scopes: 'voter_registration aviseme' - lc_supported_scopes: %lc_public_scopes% %lc_reserved_scopes% + lc_supported_scopes: "%lc_public_scopes% %lc_reserved_scopes%" lc_idcard_country_acronym: BR oauth2.user_provider.class: LoginCidadao\CoreBundle\Security\OIDC\UserProvider @@ -361,13 +360,13 @@ knp_gaufrette: adapters: user_local_adapter: local: - directory: %user_profile_upload_dir% + directory: "%user_profile_upload_dir%" client_local_adapter: local: - directory: %client_image_upload_dir% + directory: "%client_image_upload_dir%" jwks_local_adapter: local: - directory: %jwks_dir% + directory: "%jwks_dir%" filesystems: user_image_fs: @@ -383,12 +382,12 @@ vich_uploader: storage: gaufrette mappings: user_image: - uri_prefix: %uri_root%uploads/profile-pictures + uri_prefix: "%uri_root%uploads/profile-pictures" upload_destination: user_image_fs namer: vich_uploader.namer_uniqid inject_on_load: false client_image: - uri_prefix: %uri_root%uploads/client-pictures + uri_prefix: "%uri_root%uploads/client-pictures" upload_destination: client_image_fs namer: vich_uploader.namer_uniqid inject_on_load: false @@ -451,14 +450,14 @@ scheb_two_factor: email: enabled: false mailer: swiftmailer - sender_email: %mailer_sender_mail% + sender_email: "%mailer_sender_mail%" digits: 6 template: LoginCidadaoCoreBundle:TwoFactorAuthentication:form.html.twig google: enabled: true - server_name: %site_domain% - issuer: %two_factor_issuer% + server_name: "%site_domain%" + issuer: "%two_factor_issuer%" template: LoginCidadaoCoreBundle:TwoFactorAuthentication:form.html.twig persister: ~ diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist index 6df5e9a55..2c6cc3335 100644 --- a/app/config/parameters.yml.dist +++ b/app/config/parameters.yml.dist @@ -109,7 +109,7 @@ parameters: mailer_receiver_mail: ~ # Pictures upload directory - user_profile_upload_dir: %kernel.root_dir%/../web/uploads/profile-pictures + user_profile_upload_dir: '%kernel.root_dir%/../web/uploads/profile-pictures' # Client (services) pictures upload directory client_image_upload_dir: '%kernel.root_dir%/../web/uploads/client-pictures' @@ -128,10 +128,10 @@ parameters: # OpenID Connect # JWT Config (no need to change) # - it is necessary since we can't access the oidc.issuer_url in the Compiler Pass - jwt_iss: http://%site_domain%%base_path% + jwt_iss: 'http://%site_domain%%base_path%' # JWKS Config - jwks_dir: %kernel.root_dir%/../app/config/jwks + jwks_dir: '%kernel.root_dir%/../app/config/jwks' jwks_private_key_file: private.pem # Two Factor Auth Issuer Name diff --git a/app/config/parameters.yml.vagrant b/app/config/parameters.yml.vagrant index cbb86bcc6..b0fa2373f 100644 --- a/app/config/parameters.yml.vagrant +++ b/app/config/parameters.yml.vagrant @@ -68,7 +68,7 @@ parameters: mailer_receiver_mail: ~ - user_profile_upload_dir: %kernel.root_dir%/../web/uploads/profile-pictures + user_profile_upload_dir: '%kernel.root_dir%/../web/uploads/profile-pictures' client_image_upload_dir: '%kernel.root_dir%/../web/uploads/client-pictures' uri_root: / @@ -93,9 +93,9 @@ parameters: # OpenID Connect # JWT Config # - this is necessary since we can't access the oidc.issuer_url in the Compiler Pass - jwt_iss: http://%site_domain%%base_path% + jwt_iss: 'http://%site_domain%%base_path%' # JWKS Config - jwks_dir: %kernel.root_dir%/../app/config/jwks + jwks_dir: '%kernel.root_dir%/../app/config/jwks' jwks_private_key_file: private.pem # Two Factor Auth diff --git a/app/config/routing.yml b/app/config/routing.yml index 0510f4e79..d87cb53c5 100644 --- a/app/config/routing.yml +++ b/app/config/routing.yml @@ -174,3 +174,9 @@ lc_duplicate_email: defaults: _controller: FrameworkBundle:Template:template template: 'LoginCidadaoCoreBundle:Info:duplicate_email.html.twig' + +lc_resetting_user_not_found: + path: /resetting/user-not-found + defaults: + _controller: FrameworkBundle:Template:template + template: 'LoginCidadaoCoreBundle:Person:resetting\user_not_found.html.twig' diff --git a/app/config/routing_dev.yml b/app/config/routing_dev.yml index 0f0afb615..404f6a3bc 100644 --- a/app/config/routing_dev.yml +++ b/app/config/routing_dev.yml @@ -6,10 +6,6 @@ _profiler: resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml" prefix: /_profiler -_configurator: - resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml" - prefix: /_configurator - _errors: resource: "@TwigBundle/Resources/config/routing/errors.xml" prefix: /_error diff --git a/app/config/security.yml b/app/config/security.yml index e6dbb9a06..cb6af11c1 100644 --- a/app/config/security.yml +++ b/app/config/security.yml @@ -18,6 +18,7 @@ security: - ROLE_ORGANIZATIONS_BIND_CLIENT - ROLE_EDIT_CLIENT_ALLOWED_SCOPES - FEATURE_EDIT_USERNAME + - FEATURE_BETA ROLE_SUPER: - ROLE_DEV - ROLE_ORGANIZATIONS_CREATE diff --git a/app/config/workflows/.gitignore b/app/config/workflows/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/app/console b/app/console index fa6a36e24..f3e7aa88d 100755 --- a/app/console +++ b/app/console @@ -7,8 +7,7 @@ set_time_limit(0); -require_once __DIR__.'/bootstrap.php.cache'; -require_once __DIR__.'/AppKernel.php'; +require_once __DIR__.'/autoload.php'; use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Component\Console\Input\ArgvInput; diff --git a/composer.json b/composer.json index fe91e6a5f..32756a0db 100644 --- a/composer.json +++ b/composer.json @@ -1,37 +1,38 @@ { - "name": "redelivre/login-cidadao", + "name": "procergs/login-cidadao", + "version": "1.20.0", "license": "AGPL-3.0", "type": "project", - "description": "The \"Symfony Standard Edition\" distribution", + "description": "login-cidadao", "autoload": { "psr-4": { "": "src/", "SymfonyStandard\\": "app/" - } + }, + "classmap": [ + "app/AppKernel.php", + "app/AppCache.php" + ] }, "repositories": [ { "type": "vcs", "url": "https://github.com/PROCERGS/login-cidadao-badges-bundle" - }, - { - "type": "vcs", - "url": "https://github.com/PROCERGS/stack-request-id" } ], "require": { "php": ">=7.1.8", "ext-curl": "*", - "symfony/symfony": "2.8.* >=2.8.41", + "symfony/symfony": "^3.4", "doctrine/orm": "^2.5", "doctrine/dbal": "^2.6", - "doctrine/doctrine-bundle": "~1.5", - "symfony/assetic-bundle": "^2.7", + "doctrine/doctrine-bundle": "^1.6", + "symfony/assetic-bundle": "^2.8", "symfony/swiftmailer-bundle": "^3", "symfony/monolog-bundle": "^3", - "sensio/distribution-bundle": "~3.0,>=3.0.12", + "sensio/distribution-bundle": "^5", "sensio/framework-extra-bundle": "^3", - "incenteev/composer-parameter-handler": "~2.0", + "incenteev/composer-parameter-handler": "^2.0", "friendsofsymfony/user-bundle": "~2.0@dev", "friendsofsymfony/oauth-server-bundle": "^1.5", "jms/serializer-bundle": "*", @@ -43,43 +44,46 @@ "michelf/php-markdown": "^1.8", "nelmio/api-doc-bundle": "^2", "jms/security-extra-bundle": "*", - "procergs/login-cidadao-badges-bundle": "^2.0", + "procergs/login-cidadao-badges-bundle": "^3", "scheb/two-factor-bundle": "^2", - "procergs/tos-bundle": "^1.6", + "procergs/tos-bundle": "^2", "bshaffer/oauth2-server-bundle": "^0.4", "phpseclib/phpseclib": "^2", "gree/jose": "^2.2", "oro/doctrine-extensions": "^1.2", "nelmio/cors-bundle": "^1.5", "nelmio/security-bundle": "^2.5", - "liip/monitor-bundle": "^2.6", - "guzzlehttp/guzzle": "^6.3", + "liip/monitor-bundle": "^2.7", + "guzzlehttp/guzzle": "^6", "guilhermednt/pathwell-bundle": "^0.1", - "beelab/recaptcha2-bundle": "^1", + "beelab/recaptcha2-bundle": "^2", "bmatzner/fontawesome-bundle": "^4.6", - "ramsey/uuid": "^3.7", - "qandidate/stack-request-id": "dev-ramsey-uuid-v3", + "ramsey/uuid": "^3", + "qandidate/stack-request-id": "*", "egulias/email-validator": "^2.1", "misd/phone-number-bundle": "^1.3", "giggsey/libphonenumber-for-php": "^8.9", "ocramius/proxy-manager": "^2.1", - "rollerworks/password-strength-bundle": "^1.5", - "emarref/jwt": "^1.0", + "rollerworks/password-strength-bundle": "^2", + "emarref/jwt": "*", "psr/http-message": "^1.0", "knplabs/knp-paginator-bundle": "^2.8", "snc/redis-bundle": "^2.1", "predis/predis": "^1.1", + "php-http/httplug-bundle": "^1.11", + "php-http/curl-client": "^1.7", + "guzzlehttp/psr7": "^1.4", "procergs/meurs-monitor-bundle": "^1.3", - "procergs/nfg-badges-bundle": "^1.1", + "procergs/nfg-badges-bundle": "^2", "jakeasmith/http_build_url": "^1", "procergs/sms-service": "^3", "eljam/circuit-breaker": ">=0.2.0" }, "require-dev": { - "sensio/generator-bundle": "~2.3", - "phpunit/phpunit": "^6", + "sensio/generator-bundle": "^3", + "phpunit/phpunit": "^7", "symfony/phpunit-bridge": "^4", - "johnkary/phpunit-speedtrap": "^2" + "johnkary/phpunit-speedtrap": "^3" }, "scripts": { "post-root-package-install": [ @@ -104,7 +108,7 @@ "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget" ], "lc-docs": "doc/cookbook/scripts/doc-server", - "test": "bin/phpunit -c app", + "test": "bin/phpunit -c . --colors=always", "quick-test": "bin/phpunit -c app --exclude-group=kernel --colors=always" }, "config": { diff --git a/composer.lock b/composer.lock index f24e9c091..faa7e3b2c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,43 +4,47 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "ee17913f3ab8d58beb7098421996f1c3", + "content-hash": "e8bd58d11de8f99730c8f82dcb1f0500", "packages": [ { "name": "beelab/recaptcha2-bundle", - "version": "v1.3.3", + "version": "v2.0.2", "source": { "type": "git", "url": "https://github.com/Bee-Lab/BeelabRecaptcha2Bundle.git", - "reference": "ca5bcd5bf99721b39c60492da0ee5925c1ef85a6" + "reference": "04bdcf6ee7a2387673dc3681ca94da75293c5f03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Bee-Lab/BeelabRecaptcha2Bundle/zipball/ca5bcd5bf99721b39c60492da0ee5925c1ef85a6", - "reference": "ca5bcd5bf99721b39c60492da0ee5925c1ef85a6", + "url": "https://api.github.com/repos/Bee-Lab/BeelabRecaptcha2Bundle/zipball/04bdcf6ee7a2387673dc3681ca94da75293c5f03", + "reference": "04bdcf6ee7a2387673dc3681ca94da75293c5f03", "shasum": "" }, "require": { "google/recaptcha": "^1.1", - "php": ">=7.0", - "symfony/form": "^2.8|^3.2", - "symfony/framework-bundle": "^2.8|^3.2", - "symfony/validator": "^2.8|^3.2" + "php": ">=7.1", + "symfony/config": "^3.4|^4.0", + "symfony/dependency-injection": "^3.4|^4.0", + "symfony/form": "^3.4|^4.0", + "symfony/http-kernel": "^3.4|^4.0", + "symfony/validator": "^3.4|^4.0" }, "require-dev": { - "phpunit/phpunit": "^6.0", - "symfony/expression-language": "^2.8|^3.2", - "symfony/phpunit-bridge": "^2.8|^3.2" + "phpunit/phpunit": "^6.4", + "symfony/phpunit-bridge": "^3.4|^4.0" + }, + "suggest": { + "symfony/twig-bundle": "To render widget" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "2.1.x-dev" } }, "autoload": { "psr-4": { - "Beelab\\Recaptcha2Bundle\\": "" + "Beelab\\Recaptcha2Bundle\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -53,14 +57,14 @@ "email": "massimiliano.arione@bee-lab.net" } ], - "description": "Provide Google Recaptch2 form type ", - "homepage": "https://bee-lab.net", + "description": "Provide Google Recaptch2 form type", + "homepage": "https://github.com/bee-lab/", "keywords": [ "form", "recaptcha", "symfony" ], - "time": "2017-09-01T11:30:28+00:00" + "time": "2017-12-22T15:04:33+00:00" }, { "name": "behat/transliterator", @@ -204,16 +208,16 @@ }, { "name": "bshaffer/oauth2-server-httpfoundation-bridge", - "version": "V1.3", + "version": "v1.4", "source": { "type": "git", "url": "https://github.com/bshaffer/oauth2-server-httpfoundation-bridge.git", - "reference": "7113bfeaf863cc3e7f5a8a047123b354e5eea14a" + "reference": "f2479fb24db24932962430deadac0e29ca2729f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bshaffer/oauth2-server-httpfoundation-bridge/zipball/7113bfeaf863cc3e7f5a8a047123b354e5eea14a", - "reference": "7113bfeaf863cc3e7f5a8a047123b354e5eea14a", + "url": "https://api.github.com/repos/bshaffer/oauth2-server-httpfoundation-bridge/zipball/f2479fb24db24932962430deadac0e29ca2729f7", + "reference": "f2479fb24db24932962430deadac0e29ca2729f7", "shasum": "" }, "require": { @@ -246,20 +250,20 @@ "oauth", "oauth2" ], - "time": "2016-12-27T20:03:09+00:00" + "time": "2018-12-04T02:28:38+00:00" }, { "name": "bshaffer/oauth2-server-php", - "version": "v1.10.0", + "version": "v1.11.1", "source": { "type": "git", "url": "https://github.com/bshaffer/oauth2-server-php.git", - "reference": "d158878425392fe5a0cc34f15dbaf46315ae0ed9" + "reference": "5a0c8000d4763b276919e2106f54eddda6bc50fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bshaffer/oauth2-server-php/zipball/d158878425392fe5a0cc34f15dbaf46315ae0ed9", - "reference": "d158878425392fe5a0cc34f15dbaf46315ae0ed9", + "url": "https://api.github.com/repos/bshaffer/oauth2-server-php/zipball/5a0c8000d4763b276919e2106f54eddda6bc50fa", + "reference": "5a0c8000d4763b276919e2106f54eddda6bc50fa", "shasum": "" }, "require": { @@ -304,7 +308,7 @@ "oauth", "oauth2" ], - "time": "2017-11-15T01:41:02+00:00" + "time": "2018-12-04T00:29:32+00:00" }, { "name": "cebe/markdown", @@ -416,6 +420,114 @@ ], "time": "2016-08-28T09:01:46+00:00" }, + { + "name": "clue/stream-filter", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/clue/php-stream-filter.git", + "reference": "d80fdee9b3a7e0d16fc330a22f41f3ad0eeb09d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/clue/php-stream-filter/zipball/d80fdee9b3a7e0d16fc330a22f41f3ad0eeb09d0", + "reference": "d80fdee9b3a7e0d16fc330a22f41f3ad0eeb09d0", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "^5.0 || ^4.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Clue\\StreamFilter\\": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@lueck.tv" + } + ], + "description": "A simple and modern approach to stream filtering in PHP", + "homepage": "https://github.com/clue/php-stream-filter", + "keywords": [ + "bucket brigade", + "callback", + "filter", + "php_user_filter", + "stream", + "stream_filter_append", + "stream_filter_register" + ], + "time": "2017-08-18T09:54:01+00:00" + }, + { + "name": "composer/ca-bundle", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "8afa52cd417f4ec417b4bfe86b68106538a87660" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8afa52cd417f4ec417b4bfe86b68106538a87660", + "reference": "8afa52cd417f4ec417b4bfe86b68106538a87660", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "time": "2018-10-18T06:09:13+00:00" + }, { "name": "doctrine/annotations", "version": "v1.6.0", @@ -486,16 +598,16 @@ }, { "name": "doctrine/cache", - "version": "v1.7.1", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a" + "reference": "d768d58baee9a4862ca783840eca1b9add7a7f57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a", - "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a", + "url": "https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57", + "reference": "d768d58baee9a4862ca783840eca1b9add7a7f57", "shasum": "" }, "require": { @@ -506,8 +618,9 @@ }, "require-dev": { "alcaeus/mongo-php-adapter": "^1.1", + "doctrine/coding-standard": "^4.0", "mongodb/mongodb": "^1.1", - "phpunit/phpunit": "^5.7", + "phpunit/phpunit": "^7.0", "predis/predis": "~1.0" }, "suggest": { @@ -516,7 +629,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7.x-dev" + "dev-master": "1.8.x-dev" } }, "autoload": { @@ -551,12 +664,12 @@ } ], "description": "Caching library offering an object-oriented API for many cache backends", - "homepage": "http://www.doctrine-project.org", + "homepage": "https://www.doctrine-project.org", "keywords": [ "cache", "caching" ], - "time": "2017-08-25T07:02:50+00:00" + "time": "2018-08-21T18:01:43+00:00" }, { "name": "doctrine/collections", @@ -627,33 +740,39 @@ }, { "name": "doctrine/common", - "version": "v2.8.1", + "version": "v2.10.0", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66" + "reference": "30e33f60f64deec87df728c02b107f82cdafad9d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/f68c297ce6455e8fd794aa8ffaf9fa458f6ade66", - "reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66", + "url": "https://api.github.com/repos/doctrine/common/zipball/30e33f60f64deec87df728c02b107f82cdafad9d", + "reference": "30e33f60f64deec87df728c02b107f82cdafad9d", "shasum": "" }, "require": { - "doctrine/annotations": "1.*", - "doctrine/cache": "1.*", - "doctrine/collections": "1.*", - "doctrine/inflector": "1.*", - "doctrine/lexer": "1.*", - "php": "~7.1" + "doctrine/annotations": "^1.0", + "doctrine/cache": "^1.0", + "doctrine/collections": "^1.0", + "doctrine/event-manager": "^1.0", + "doctrine/inflector": "^1.0", + "doctrine/lexer": "^1.0", + "doctrine/persistence": "^1.1", + "doctrine/reflection": "^1.0", + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^5.7" + "doctrine/coding-standard": "^1.0", + "phpunit/phpunit": "^6.3", + "squizlabs/php_codesniffer": "^3.0", + "symfony/phpunit-bridge": "^4.0.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8.x-dev" + "dev-master": "2.10.x-dev" } }, "autoload": { @@ -685,42 +804,48 @@ { "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" } ], - "description": "Common Library for Doctrine projects", - "homepage": "http://www.doctrine-project.org", + "description": "PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection support, persistence interfaces, proxies, event system and much more.", + "homepage": "https://www.doctrine-project.org/projects/common.html", "keywords": [ - "annotations", - "collections", - "eventmanager", - "persistence", - "spl" + "common", + "doctrine", + "php" ], - "time": "2017-08-31T08:43:38+00:00" + "time": "2018-11-21T01:24:55+00:00" }, { "name": "doctrine/dbal", - "version": "v2.6.3", + "version": "v2.9.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "e3eed9b1facbb0ced3a0995244843a189e7d1b13" + "reference": "ec74d6e300d78fbc896669c3ca57ef9719adc9c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/e3eed9b1facbb0ced3a0995244843a189e7d1b13", - "reference": "e3eed9b1facbb0ced3a0995244843a189e7d1b13", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/ec74d6e300d78fbc896669c3ca57ef9719adc9c6", + "reference": "ec74d6e300d78fbc896669c3ca57ef9719adc9c6", "shasum": "" }, "require": { - "doctrine/common": "^2.7.1", + "doctrine/cache": "^1.0", + "doctrine/event-manager": "^1.0", "ext-pdo": "*", "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^5.4.6", - "phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5", - "symfony/console": "2.*||^3.0" + "doctrine/coding-standard": "^5.0", + "jetbrains/phpstorm-stubs": "^2018.1.2", + "phpstan/phpstan": "^0.10.1", + "phpunit/phpunit": "^7.4", + "symfony/console": "^2.0.5|^3.0|^4.0", + "symfony/phpunit-bridge": "^3.4.5|^4.0.5" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -731,12 +856,13 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6.x-dev" + "dev-master": "2.9.x-dev", + "dev-develop": "3.0.x-dev" } }, "autoload": { - "psr-0": { - "Doctrine\\DBAL\\": "lib/" + "psr-4": { + "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" } }, "notification-url": "https://packagist.org/downloads/", @@ -761,28 +887,32 @@ "email": "jonwage@gmail.com" } ], - "description": "Database Abstraction Layer", - "homepage": "http://www.doctrine-project.org", + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", "keywords": [ + "abstraction", "database", "dbal", + "mysql", "persistence", + "pgsql", + "php", "queryobject" ], - "time": "2017-11-19T13:38:54+00:00" + "time": "2018-12-14T04:51:13+00:00" }, { "name": "doctrine/doctrine-bundle", - "version": "1.9.1", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "703fad32e4c8cbe609caf45a71a1d4266c830f0f" + "reference": "82d2c63cd09acbde2332f55d9aa7b28aefe4983d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/703fad32e4c8cbe609caf45a71a1d4266c830f0f", - "reference": "703fad32e4c8cbe609caf45a71a1d4266c830f0f", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/82d2c63cd09acbde2332f55d9aa7b28aefe4983d", + "reference": "82d2c63cd09acbde2332f55d9aa7b28aefe4983d", "shasum": "" }, "require": { @@ -800,8 +930,8 @@ }, "require-dev": { "doctrine/orm": "~2.4", + "php-coveralls/php-coveralls": "^2.1", "phpunit/phpunit": "^4.8.36|^5.7|^6.4", - "satooshi/php-coveralls": "^1.0", "symfony/phpunit-bridge": "~2.7|~3.0|~4.0", "symfony/property-info": "~2.8|~3.0|~4.0", "symfony/validator": "~2.7|~3.0|~4.0", @@ -816,7 +946,7 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "1.8.x-dev" + "dev-master": "1.9.x-dev" } }, "autoload": { @@ -854,20 +984,20 @@ "orm", "persistence" ], - "time": "2018-04-19T14:07:39+00:00" + "time": "2018-11-30T13:53:17+00:00" }, { "name": "doctrine/doctrine-cache-bundle", - "version": "1.3.3", + "version": "1.3.5", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineCacheBundle.git", - "reference": "4c8e363f96427924e7e519c5b5119b4f54512697" + "reference": "5514c90d9fb595e1095e6d66ebb98ce9ef049927" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/4c8e363f96427924e7e519c5b5119b4f54512697", - "reference": "4c8e363f96427924e7e519c5b5119b4f54512697", + "url": "https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/5514c90d9fb595e1095e6d66ebb98ce9ef049927", + "reference": "5514c90d9fb595e1095e6d66ebb98ce9ef049927", "shasum": "" }, "require": { @@ -880,7 +1010,7 @@ "instaclick/coding-standard": "~1.1", "instaclick/object-calisthenics-sniffs": "dev-master", "instaclick/symfony2-coding-standard": "dev-remaster", - "phpunit/phpunit": "~4|~5", + "phpunit/phpunit": "~4.8.36|~5.6|~6.5|~7.0", "predis/predis": "~0.8", "satooshi/php-coveralls": "^1.0", "squizlabs/php_codesniffer": "~1.5", @@ -904,7 +1034,10 @@ "autoload": { "psr-4": { "Doctrine\\Bundle\\DoctrineCacheBundle\\": "" - } + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -937,12 +1070,86 @@ } ], "description": "Symfony Bundle for Doctrine Cache", - "homepage": "http://www.doctrine-project.org", + "homepage": "https://www.doctrine-project.org", "keywords": [ "cache", "caching" ], - "time": "2018-03-27T09:22:12+00:00" + "time": "2018-11-09T06:25:35+00:00" + }, + { + "name": "doctrine/event-manager", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3", + "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "conflict": { + "doctrine/common": "<2.9@dev" + }, + "require-dev": { + "doctrine/coding-standard": "^4.0", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "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" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Doctrine Event Manager component", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "keywords": [ + "event", + "eventdispatcher", + "eventmanager" + ], + "time": "2018-06-11T11:59:03+00:00" }, { "name": "doctrine/inflector", @@ -1121,38 +1328,40 @@ }, { "name": "doctrine/orm", - "version": "v2.5.14", + "version": "v2.6.3", "source": { "type": "git", "url": "https://github.com/doctrine/doctrine2.git", - "reference": "810a7baf81462a5ddf10e8baa8cb94b6eec02754" + "reference": "434820973cadf2da2d66e7184be370084cc32ca8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/810a7baf81462a5ddf10e8baa8cb94b6eec02754", - "reference": "810a7baf81462a5ddf10e8baa8cb94b6eec02754", + "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/434820973cadf2da2d66e7184be370084cc32ca8", + "reference": "434820973cadf2da2d66e7184be370084cc32ca8", "shasum": "" }, "require": { - "doctrine/cache": "~1.4", - "doctrine/collections": "~1.2", - "doctrine/common": ">=2.5-dev,<2.9-dev", - "doctrine/dbal": ">=2.5-dev,<2.7-dev", - "doctrine/instantiator": "^1.0.1", + "doctrine/annotations": "~1.5", + "doctrine/cache": "~1.6", + "doctrine/collections": "^1.4", + "doctrine/common": "^2.7.1", + "doctrine/dbal": "^2.6", + "doctrine/instantiator": "~1.1", "ext-pdo": "*", - "php": ">=5.4", - "symfony/console": "~2.5|~3.0|~4.0" + "php": "^7.1", + "symfony/console": "~3.0|~4.0" }, "require-dev": { - "phpunit/phpunit": "~4.0", - "symfony/yaml": "~2.3|~3.0|~4.0" + "doctrine/coding-standard": "^1.0", + "phpunit/phpunit": "^6.5", + "squizlabs/php_codesniffer": "^3.2", + "symfony/yaml": "~3.4|~4.0" }, "suggest": { "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" }, "bin": [ - "bin/doctrine", - "bin/doctrine.php" + "bin/doctrine" ], "type": "library", "extra": { @@ -1161,8 +1370,8 @@ } }, "autoload": { - "psr-0": { - "Doctrine\\ORM\\": "lib/" + "psr-4": { + "Doctrine\\ORM\\": "lib/Doctrine/ORM" } }, "notification-url": "https://packagist.org/downloads/", @@ -1185,6 +1394,10 @@ { "name": "Jonathan Wage", "email": "jonwage@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" } ], "description": "Object-Relational-Mapper for PHP", @@ -1193,43 +1406,47 @@ "database", "orm" ], - "time": "2017-12-17T02:57:51+00:00" + "time": "2018-11-20T23:46:46+00:00" }, { - "name": "egulias/email-validator", - "version": "2.1.4", + "name": "doctrine/persistence", + "version": "v1.1.0", "source": { "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "8790f594151ca6a2010c6218e09d96df67173ad3" + "url": "https://github.com/doctrine/persistence.git", + "reference": "c0f1c17602afc18b4cbd8e1c8125f264c9cf7d38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/8790f594151ca6a2010c6218e09d96df67173ad3", - "reference": "8790f594151ca6a2010c6218e09d96df67173ad3", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/c0f1c17602afc18b4cbd8e1c8125f264c9cf7d38", + "reference": "c0f1c17602afc18b4cbd8e1c8125f264c9cf7d38", "shasum": "" }, "require": { - "doctrine/lexer": "^1.0.1", - "php": ">= 5.5" + "doctrine/annotations": "^1.0", + "doctrine/cache": "^1.0", + "doctrine/collections": "^1.0", + "doctrine/event-manager": "^1.0", + "doctrine/reflection": "^1.0", + "php": "^7.1" }, - "require-dev": { - "dominicsayers/isemail": "dev-master", - "phpunit/phpunit": "^4.8.35||^5.7||^6.0", - "satooshi/php-coveralls": "^1.0.1" + "conflict": { + "doctrine/common": "<2.10@dev" }, - "suggest": { - "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + "require-dev": { + "doctrine/coding-standard": "^5.0", + "phpstan/phpstan": "^0.8", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { "psr-4": { - "Egulias\\EmailValidator\\": "EmailValidator" + "Doctrine\\Common\\": "lib/Doctrine/Common" } }, "notification-url": "https://packagist.org/downloads/", @@ -1238,38 +1455,191 @@ ], "authors": [ { - "name": "Eduardo Gulias Davis" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "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" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" } ], - "description": "A library for validating emails against several RFCs", - "homepage": "https://github.com/egulias/EmailValidator", + "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", + "homepage": "https://doctrine-project.org/projects/persistence.html", "keywords": [ - "email", - "emailvalidation", - "emailvalidator", - "validation", - "validator" + "mapper", + "object", + "odm", + "orm", + "persistence" ], - "time": "2018-04-10T10:11:19+00:00" + "time": "2018-11-21T00:33:13+00:00" }, { - "name": "eljam/circuit-breaker", - "version": "v0.2.0", + "name": "doctrine/reflection", + "version": "v1.0.0", "source": { "type": "git", - "url": "https://github.com/eljam/circuit-breaker.git", - "reference": "653322e12e8b6ed9ee8a17d0406e0250580e78b5" + "url": "https://github.com/doctrine/reflection.git", + "reference": "02538d3f95e88eb397a5f86274deb2c6175c2ab6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/eljam/circuit-breaker/zipball/653322e12e8b6ed9ee8a17d0406e0250580e78b5", - "reference": "653322e12e8b6ed9ee8a17d0406e0250580e78b5", + "url": "https://api.github.com/repos/doctrine/reflection/zipball/02538d3f95e88eb397a5f86274deb2c6175c2ab6", + "reference": "02538d3f95e88eb397a5f86274deb2c6175c2ab6", "shasum": "" }, "require": { - "doctrine/cache": "^1.5|^1.6", - "php": ">=5.4.0", - "symfony/event-dispatcher": "^2.8|^3.1", + "doctrine/annotations": "^1.0", + "ext-tokenizer": "*", + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^4.0", + "doctrine/common": "^2.8", + "phpstan/phpstan": "^0.9.2", + "phpstan/phpstan-phpunit": "^0.9.4", + "phpunit/phpunit": "^7.0", + "squizlabs/php_codesniffer": "^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "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" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Doctrine Reflection component", + "homepage": "https://www.doctrine-project.org/projects/reflection.html", + "keywords": [ + "reflection" + ], + "time": "2018-06-14T14:45:07+00:00" + }, + { + "name": "egulias/email-validator", + "version": "2.1.7", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "709f21f92707308cdf8f9bcfa1af4cb26586521e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/709f21f92707308cdf8f9bcfa1af4cb26586521e", + "reference": "709f21f92707308cdf8f9bcfa1af4cb26586521e", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1.0.1", + "php": ">= 5.5" + }, + "require-dev": { + "dominicsayers/isemail": "dev-master", + "phpunit/phpunit": "^4.8.35||^5.7||^6.0", + "satooshi/php-coveralls": "^1.0.1" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "EmailValidator" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "time": "2018-12-04T22:38:24+00:00" + }, + { + "name": "eljam/circuit-breaker", + "version": "v0.2.0", + "source": { + "type": "git", + "url": "https://github.com/eljam/circuit-breaker.git", + "reference": "653322e12e8b6ed9ee8a17d0406e0250580e78b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/eljam/circuit-breaker/zipball/653322e12e8b6ed9ee8a17d0406e0250580e78b5", + "reference": "653322e12e8b6ed9ee8a17d0406e0250580e78b5", + "shasum": "" + }, + "require": { + "doctrine/cache": "^1.5|^1.6", + "php": ">=5.4.0", + "symfony/event-dispatcher": "^2.8|^3.1", "symfony/options-resolver": "^2.8|^3.1" }, "require-dev": { @@ -1338,6 +1708,60 @@ "description": "A JWT implementation", "time": "2016-09-05T20:33:06+00:00" }, + { + "name": "fig/link-util", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/link-util.git", + "reference": "1a07821801a148be4add11ab0603e4af55a72fac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/link-util/zipball/1a07821801a148be4add11ab0603e4af55a72fac", + "reference": "1a07821801a148be4add11ab0603e4af55a72fac", + "shasum": "" + }, + "require": { + "php": ">=5.5.0", + "psr/link": "~1.0@dev" + }, + "require-dev": { + "phpunit/phpunit": "^5.1", + "squizlabs/php_codesniffer": "^2.3.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Fig\\Link\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common utility implementations for HTTP links", + "keywords": [ + "http", + "http-link", + "link", + "psr", + "psr-13", + "rest" + ], + "time": "2016-10-17T18:31:11+00:00" + }, { "name": "friendsofsymfony/oauth-server-bundle", "version": "1.6.1", @@ -1423,21 +1847,21 @@ }, { "name": "friendsofsymfony/oauth2-php", - "version": "1.2.2", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/FriendsOfSymfony/oauth2-php.git", - "reference": "486a6a5f70c3bfe8284a1e7e7b4b029b772d5b93" + "reference": "a41fef63f81ef2ef632350a6c7dc66d15baa9240" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfSymfony/oauth2-php/zipball/486a6a5f70c3bfe8284a1e7e7b4b029b772d5b93", - "reference": "486a6a5f70c3bfe8284a1e7e7b4b029b772d5b93", + "url": "https://api.github.com/repos/FriendsOfSymfony/oauth2-php/zipball/a41fef63f81ef2ef632350a6c7dc66d15baa9240", + "reference": "a41fef63f81ef2ef632350a6c7dc66d15baa9240", "shasum": "" }, "require": { - "php": ">=5.3.2", - "symfony/http-foundation": "~2.0|~3.0|~4.0" + "php": "^5.5.9|>=7.0.8", + "symfony/http-foundation": "~3.0|~4.0" }, "require-dev": { "phpunit/phpunit": "~4.0" @@ -1473,20 +1897,20 @@ "oauth", "oauth2" ], - "time": "2018-01-05T15:20:40+00:00" + "time": "2018-01-30T19:58:25+00:00" }, { "name": "friendsofsymfony/rest-bundle", - "version": "2.3.1", + "version": "2.4.0", "source": { "type": "git", "url": "https://github.com/FriendsOfSymfony/FOSRestBundle.git", - "reference": "1abdf3d82502ac67b93c7f84c844fa147f0ec70e" + "reference": "3725279a6554c1d894eee0b377f49d3f69e3c217" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfSymfony/FOSRestBundle/zipball/1abdf3d82502ac67b93c7f84c844fa147f0ec70e", - "reference": "1abdf3d82502ac67b93c7f84c844fa147f0ec70e", + "url": "https://api.github.com/repos/FriendsOfSymfony/FOSRestBundle/zipball/3725279a6554c1d894eee0b377f49d3f69e3c217", + "reference": "3725279a6554c1d894eee0b377f49d3f69e3c217", "shasum": "" }, "require": { @@ -1520,10 +1944,10 @@ "symfony/asset": "^2.7|^3.0|^4.0", "symfony/browser-kit": "^2.7|^3.0|^4.0", "symfony/css-selector": "^2.7|^3.0|^4.0", - "symfony/dependency-injection": "^2.7|^3.0|^4.0", + "symfony/dependency-injection": "^2.7.20|^3.0|^4.0", "symfony/expression-language": "~2.7|^3.0|^4.0", "symfony/form": "^2.7|^3.0|^4.0", - "symfony/phpunit-bridge": "^3.2|^4.0", + "symfony/phpunit-bridge": "^4.0", "symfony/security-bundle": "^2.7|^3.0|^4.0", "symfony/serializer": "^2.7.11|^3.0.4|^4.0", "symfony/twig-bundle": "^2.7|^3.0|^4.0", @@ -1533,7 +1957,7 @@ }, "suggest": { "jms/serializer-bundle": "Add support for advanced serialization capabilities, recommended, requires ^1.0", - "sensio/framework-extra-bundle": "Add support for route annotations and the view response listener, requires ^3.0", + "sensio/framework-extra-bundle": "Add support for the request body converter and the view response listener, requires ^3.0", "symfony/expression-language": "Add support for using the expression language in the routing, requires ^2.7|^3.0", "symfony/serializer": "Add support for basic serialization capabilities and xml decoding, requires ^2.7|^3.0", "symfony/validator": "Add support for validation capabilities in the ParamFetcher, requires ^2.7|^3.0" @@ -1541,7 +1965,7 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "2.4-dev" } }, "autoload": { @@ -1575,7 +1999,7 @@ "keywords": [ "rest" ], - "time": "2018-02-28T13:57:04+00:00" + "time": "2018-08-21T16:54:14+00:00" }, { "name": "friendsofsymfony/user-bundle", @@ -1583,12 +2007,12 @@ "source": { "type": "git", "url": "https://github.com/FriendsOfSymfony/FOSUserBundle.git", - "reference": "007fd9bd48a17d23b1c38b01115db202db7d989c" + "reference": "5850fba5f65b16ddb293f6635bbb8ac4aa293883" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/007fd9bd48a17d23b1c38b01115db202db7d989c", - "reference": "007fd9bd48a17d23b1c38b01115db202db7d989c", + "url": "https://api.github.com/repos/FriendsOfSymfony/FOSUserBundle/zipball/5850fba5f65b16ddb293f6635bbb8ac4aa293883", + "reference": "5850fba5f65b16ddb293f6635bbb8ac4aa293883", "shasum": "" }, "require": { @@ -1598,6 +2022,7 @@ "symfony/framework-bundle": "^2.8 || ^3.0 || ^4.0", "symfony/security-bundle": "^2.8 || ^3.0 || ^4.0", "symfony/templating": "^2.8 || ^3.0 || ^4.0", + "symfony/translation": "^2.8 || ^3.0 || ^4.0", "symfony/twig-bundle": "^2.8 || ^3.0 || ^4.0", "symfony/validator": "^2.8 || ^3.0 || ^4.0", "twig/twig": "^1.28 || ^2.0" @@ -1609,7 +2034,7 @@ "require-dev": { "doctrine/doctrine-bundle": "^1.3", "friendsofphp/php-cs-fixer": "^2.2", - "phpunit/phpunit": "^4.8.35|^5.7.11|^6.5", + "phpunit/phpunit": "^4.8.35 || ^5.7.11 || ^6.5", "swiftmailer/swiftmailer": "^4.3 || ^5.0 || ^6.0", "symfony/console": "^2.8 || ^3.0 || ^4.0", "symfony/phpunit-bridge": "^2.8 || ^3.0 || ^4.0", @@ -1618,7 +2043,7 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "2.2.x-dev" } }, "autoload": { @@ -1629,6 +2054,7 @@ "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1650,20 +2076,20 @@ "keywords": [ "User management" ], - "time": "2018-07-10T10:55:28+00:00" + "time": "2018-12-10T12:36:40+00:00" }, { "name": "giggsey/libphonenumber-for-php", - "version": "8.9.11", + "version": "8.10.2", "source": { "type": "git", "url": "https://github.com/giggsey/libphonenumber-for-php.git", - "reference": "2a6b6661f42644941e4c8e895518f27c99587a68" + "reference": "a71f260c2efce10ded8af030a20fa13edfb0e9be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/2a6b6661f42644941e4c8e895518f27c99587a68", - "reference": "2a6b6661f42644941e4c8e895518f27c99587a68", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/a71f260c2efce10ded8af030a20fa13edfb0e9be", + "reference": "a71f260c2efce10ded8af030a20fa13edfb0e9be", "shasum": "" }, "require": { @@ -1677,7 +2103,7 @@ "pear/versioncontrol_git": "^0.5", "phing/phing": "^2.7", "php-coveralls/php-coveralls": "^1.0|^2.0", - "phpunit/phpunit": "^4.8|^5.0", + "phpunit/phpunit": "^4.8.36|^5.0", "symfony/console": "^2.8|^3.0" }, "type": "library", @@ -1718,20 +2144,20 @@ "phonenumber", "validation" ], - "time": "2018-07-26T10:50:48+00:00" + "time": "2018-12-06T10:42:08+00:00" }, { "name": "giggsey/locale", - "version": "1.5", + "version": "1.6", "source": { "type": "git", "url": "https://github.com/giggsey/Locale.git", - "reference": "3c9cc23c15851c54cb3ccd41a00fd4b5a89feeff" + "reference": "da6845720b5d104d319d7e84576f54e44dd9e4f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/Locale/zipball/3c9cc23c15851c54cb3ccd41a00fd4b5a89feeff", - "reference": "3c9cc23c15851c54cb3ccd41a00fd4b5a89feeff", + "url": "https://api.github.com/repos/giggsey/Locale/zipball/da6845720b5d104d319d7e84576f54e44dd9e4f5", + "reference": "da6845720b5d104d319d7e84576f54e44dd9e4f5", "shasum": "" }, "require": { @@ -1767,20 +2193,20 @@ } ], "description": "Locale functions required by libphonenumber-for-php", - "time": "2018-04-03T15:53:12+00:00" + "time": "2018-10-18T07:17:52+00:00" }, { "name": "google/recaptcha", - "version": "1.2", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/google/recaptcha.git", - "reference": "3875d025d0465f36f32452f614e7ffc1462c889f" + "reference": "e7add3be59211482ecdb942288f52da64a35f61a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/google/recaptcha/zipball/3875d025d0465f36f32452f614e7ffc1462c889f", - "reference": "3875d025d0465f36f32452f614e7ffc1462c889f", + "url": "https://api.github.com/repos/google/recaptcha/zipball/e7add3be59211482ecdb942288f52da64a35f61a", + "reference": "e7add3be59211482ecdb942288f52da64a35f61a", "shasum": "" }, "require": { @@ -1814,7 +2240,7 @@ "recaptcha", "spam" ], - "time": "2018-08-01T11:58:31+00:00" + "time": "2018-08-05T09:31:53+00:00" }, { "name": "gree/jose", @@ -2028,32 +2454,33 @@ }, { "name": "guzzlehttp/psr7", - "version": "1.4.2", + "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + "reference": "9f83dded91781a01c63574e387eaa769be769115" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115", + "reference": "9f83dded91781a01c63574e387eaa769be769115", "shasum": "" }, "require": { "php": ">=5.4.0", - "psr/http-message": "~1.0" + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5" }, "provide": { "psr/http-message-implementation": "1.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.5-dev" } }, "autoload": { @@ -2083,37 +2510,43 @@ "keywords": [ "http", "message", + "psr-7", "request", "response", "stream", "uri", "url" ], - "time": "2017-03-20T17:10:46+00:00" + "time": "2018-12-04T20:46:45+00:00" }, { "name": "hwi/oauth-bundle", - "version": "0.5.3", + "version": "0.6.3", "source": { "type": "git", "url": "https://github.com/hwi/HWIOAuthBundle.git", - "reference": "50f4bcbe5c217cfdf0f7f40a174b87199b76d1e1" + "reference": "0963709b04d8ac0d6d6c0c78787f6f59bd0d9a01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hwi/HWIOAuthBundle/zipball/50f4bcbe5c217cfdf0f7f40a174b87199b76d1e1", - "reference": "50f4bcbe5c217cfdf0f7f40a174b87199b76d1e1", + "url": "https://api.github.com/repos/hwi/HWIOAuthBundle/zipball/0963709b04d8ac0d6d6c0c78787f6f59bd0d9a01", + "reference": "0963709b04d8ac0d6d6c0c78787f6f59bd0d9a01", "shasum": "" }, "require": { - "kriswallsmith/buzz": "~0.13", - "php": "^5.3.3|^7.0", - "symfony/form": "^2.3|^3.0", - "symfony/framework-bundle": "^2.3|^3.0", - "symfony/options-resolver": "^2.3|^3.0", - "symfony/security-bundle": "^2.3|^3.0", - "symfony/templating": "^2.7|^3.0", - "symfony/yaml": "^2.3|^3.0" + "php": "^5.6|^7.0", + "php-http/client-common": "^1.3", + "php-http/client-implementation": "^1.0", + "php-http/discovery": "^1.0", + "php-http/httplug": "^1.0", + "php-http/message-factory": "^1.0", + "psr/http-message": "^1.0", + "symfony/form": "^2.8|^3.0|^4.0", + "symfony/framework-bundle": "^2.8|^3.0|^4.0", + "symfony/options-resolver": "^2.8|^3.0|^4.0", + "symfony/security-bundle": "^2.8|^3.0|^4.0", + "symfony/templating": "^2.8|^3.0|^4.0", + "symfony/yaml": "^2.8|^3.0|^4.0" }, "conflict": { "twig/twig": "<1.12" @@ -2122,23 +2555,26 @@ "doctrine/orm": "^2.3", "friendsofphp/php-cs-fixer": "^2.0", "friendsofsymfony/user-bundle": "^1.3|^2.0", - "phpunit/phpunit": "^4.8|^5.0", - "symfony/phpunit-bridge": "^2.7|^3.0", - "symfony/property-access": "^2.3|^3.0", - "symfony/stopwatch": "^2.5|^3.0", - "symfony/twig-bundle": "^2.3|^3.0", - "symfony/validator": "^2.3|^3.0" + "php-http/guzzle6-adapter": "^1.1", + "php-http/httplug-bundle": "^1.7", + "phpunit/phpunit": "^5.7", + "symfony/phpunit-bridge": "^2.8|^3.0|^4.0", + "symfony/property-access": "^2.8|^3.0|^4.0", + "symfony/stopwatch": "^2.8|^3.0|^4.0", + "symfony/twig-bundle": "^2.8|^3.0|^4.0", + "symfony/validator": "^2.8|^3.0|^4.0" }, "suggest": { "doctrine/doctrine-bundle": "to use Doctrine user provider", "friendsofsymfony/user-bundle": "to connect FOSUB with this bundle", + "php-http/httplug-bundle": "to provide required HTTP client with ease.", "symfony/property-access": "to use FOSUB integration with this bundle", "symfony/twig-bundle": "to use the Twig hwi_oauth_* functions" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "0.5-dev" + "dev-master": "0.6-dev" } }, "autoload": { @@ -2199,6 +2635,7 @@ "flickr", "foursquare", "github", + "gitlab", "google", "hubic", "instagram", @@ -2230,7 +2667,6 @@ "twitch", "twitter", "vkontakte", - "wechat", "windows live", "wordpress", "wunderlist", @@ -2239,7 +2675,7 @@ "yandex", "youtube" ], - "time": "2017-01-08T14:13:58+00:00" + "time": "2018-07-31T10:19:28+00:00" }, { "name": "incenteev/composer-parameter-handler", @@ -2292,48 +2728,6 @@ ], "time": "2018-02-13T18:05:56+00:00" }, - { - "name": "ircmaxell/password-compat", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/ircmaxell/password_compat.git", - "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", - "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "4.*" - }, - "type": "library", - "autoload": { - "files": [ - "lib/password.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Anthony Ferrara", - "email": "ircmaxell@php.net", - "homepage": "http://blog.ircmaxell.com" - } - ], - "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", - "homepage": "https://github.com/ircmaxell/password_compat", - "keywords": [ - "hashing", - "password" - ], - "time": "2014-11-20T16:49:30+00:00" - }, { "name": "jakeasmith/http_build_url", "version": "1.0.1", @@ -2590,16 +2984,16 @@ }, { "name": "jms/metadata", - "version": "1.6.0", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/metadata.git", - "reference": "6a06970a10e0a532fb52d3959547123b84a3b3ab" + "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/6a06970a10e0a532fb52d3959547123b84a3b3ab", - "reference": "6a06970a10e0a532fb52d3959547123b84a3b3ab", + "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/e5854ab1aa643623dc64adde718a8eec32b957a8", + "reference": "e5854ab1aa643623dc64adde718a8eec32b957a8", "shasum": "" }, "require": { @@ -2622,9 +3016,13 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "MIT" ], "authors": [ + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" + }, { "name": "Johannes M. Schmitt", "email": "schmittjoh@gmail.com" @@ -2637,7 +3035,7 @@ "xml", "yaml" ], - "time": "2016-12-05T10:18:33+00:00" + "time": "2018-10-26T12:40:10+00:00" }, { "name": "jms/parser-lib", @@ -2836,16 +3234,16 @@ }, { "name": "jms/serializer-bundle", - "version": "2.4.2", + "version": "2.4.3", "source": { "type": "git", "url": "https://github.com/schmittjoh/JMSSerializerBundle.git", - "reference": "22eb9a2f7983394b0770237ca91e879eb2a4b4a6" + "reference": "e5231652ce24b8673b2ac70bc76b0cabaf35deea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/JMSSerializerBundle/zipball/22eb9a2f7983394b0770237ca91e879eb2a4b4a6", - "reference": "22eb9a2f7983394b0770237ca91e879eb2a4b4a6", + "url": "https://api.github.com/repos/schmittjoh/JMSSerializerBundle/zipball/e5231652ce24b8673b2ac70bc76b0cabaf35deea", + "reference": "e5231652ce24b8673b2ac70bc76b0cabaf35deea", "shasum": "" }, "require": { @@ -2883,6 +3281,7 @@ "/Tests/" ] }, + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2905,20 +3304,20 @@ "serialization", "xml" ], - "time": "2018-06-19T13:39:25+00:00" + "time": "2018-12-09T07:52:19+00:00" }, { "name": "knplabs/gaufrette", - "version": "v0.6.0", + "version": "v0.7.0", "source": { "type": "git", "url": "https://github.com/KnpLabs/Gaufrette.git", - "reference": "a7c71edef4528d9881f534515f9061660255afe3" + "reference": "a0627e91e8753f442eea6560cb347151cd306b2c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/KnpLabs/Gaufrette/zipball/a7c71edef4528d9881f534515f9061660255afe3", - "reference": "a7c71edef4528d9881f534515f9061660255afe3", + "url": "https://api.github.com/repos/KnpLabs/Gaufrette/zipball/a0627e91e8753f442eea6560cb347151cd306b2c", + "reference": "a0627e91e8753f442eea6560cb347151cd306b2c", "shasum": "" }, "require": { @@ -2994,20 +3393,20 @@ "filesystem", "media" ], - "time": "2018-03-26T12:19:49+00:00" + "time": "2018-08-30T13:26:15+00:00" }, { "name": "knplabs/knp-components", - "version": "1.3.8", + "version": "v1.3.10", "source": { "type": "git", "url": "https://github.com/KnpLabs/knp-components.git", - "reference": "b65f69ff04d2f1b7a67ae592273ca6f4d1aa3e5f" + "reference": "fc1755ba2b77f83a3d3c99e21f3026ba2a1429be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/KnpLabs/knp-components/zipball/b65f69ff04d2f1b7a67ae592273ca6f4d1aa3e5f", - "reference": "b65f69ff04d2f1b7a67ae592273ca6f4d1aa3e5f", + "url": "https://api.github.com/repos/KnpLabs/knp-components/zipball/fc1755ba2b77f83a3d3c99e21f3026ba2a1429be", + "reference": "fc1755ba2b77f83a3d3c99e21f3026ba2a1429be", "shasum": "" }, "require": { @@ -3024,13 +3423,6 @@ "symfony/property-access": ">=2.3" }, "suggest": { - "doctrine/common": "to allow usage pagination with Doctrine ArrayCollection", - "doctrine/mongodb-odm": "to allow usage pagination with Doctrine ODM MongoDB", - "doctrine/orm": "to allow usage pagination with Doctrine ORM", - "doctrine/phpcr-odm": "to allow usage pagination with Doctrine ODM PHPCR", - "propel/propel1": "to allow usage pagination with Propel ORM", - "ruflin/Elastica": "to allow usage pagination with ElasticSearch Client", - "solarium/solarium": "to allow usage pagination with Solarium Client", "symfony/property-access": "To allow sorting arrays" }, "type": "library", @@ -3067,7 +3459,7 @@ "pager", "paginator" ], - "time": "2018-04-03T12:20:48+00:00" + "time": "2018-09-11T07:54:48+00:00" }, { "name": "knplabs/knp-gaufrette-bundle", @@ -3269,89 +3661,39 @@ ], "time": "2016-11-11T18:43:20+00:00" }, - { - "name": "kriswallsmith/buzz", - "version": "v0.16.1", - "source": { - "type": "git", - "url": "https://github.com/kriswallsmith/Buzz.git", - "reference": "4977b7d44dbef49cdc641f14be6512fdcfe32f12" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kriswallsmith/Buzz/zipball/4977b7d44dbef49cdc641f14be6512fdcfe32f12", - "reference": "4977b7d44dbef49cdc641f14be6512fdcfe32f12", - "shasum": "" - }, - "require": { - "guzzlehttp/psr7": "^1.4", - "php": "^5.4 || ^7.0" - }, - "require-dev": { - "php-http/client-integration-tests": "^0.6.2", - "symfony/phpunit-bridge": "^3.4 || ^4.0" - }, - "suggest": { - "ext-curl": "*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Buzz\\": "lib/Buzz" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kris Wallsmith", - "email": "kris.wallsmith@gmail.com", - "homepage": "http://kriswallsmith.net/" - } - ], - "description": "Lightweight HTTP client", - "homepage": "https://github.com/kriswallsmith/Buzz", - "keywords": [ - "curl", - "http client" - ], - "time": "2018-03-19T10:34:40+00:00" - }, { "name": "liip/monitor-bundle", - "version": "2.6.7", + "version": "2.7.5", "source": { "type": "git", "url": "https://github.com/liip/LiipMonitorBundle.git", - "reference": "ec3cb6c138db79c78ab48a2409146194f2576bce" + "reference": "ba75134e260afbfafc8c918b2e2215e7d708531f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/liip/LiipMonitorBundle/zipball/ec3cb6c138db79c78ab48a2409146194f2576bce", - "reference": "ec3cb6c138db79c78ab48a2409146194f2576bce", + "url": "https://api.github.com/repos/liip/LiipMonitorBundle/zipball/ba75134e260afbfafc8c918b2e2215e7d708531f", + "reference": "ba75134e260afbfafc8c918b2e2215e7d708531f", "shasum": "" }, "require": { - "php": "^5.4|^7.0", - "symfony/framework-bundle": "~2.7|~3.0|^4.0", - "zendframework/zenddiagnostics": "^1.0.2" + "php": "^7.0", + "symfony/framework-bundle": "~3.1|^4.0", + "zendframework/zenddiagnostics": "^1.2.0" }, "require-dev": { "doctrine/doctrine-migrations-bundle": "~1.0", "doctrine/migrations": "~1.0", - "guzzlehttp/guzzle": "~3.8|~4.0|~5.0|~6.0", + "guzzlehttp/guzzle": "^5.3.2|^6.3.3", "matthiasnoback/symfony-dependency-injection-test": "^1.0|^2.0", - "phpunit/phpunit": "^4.8.35|^6.0", + "phpunit/phpunit": "^6.0", "sensiolabs/security-checker": "~1.3|~2.0|~3.0|~4.0", "swiftmailer/swiftmailer": "~5.4", - "symfony/asset": "^2.0|^3.0|^4.0", - "symfony/browser-kit": "^2.0|^3.0|^4.0", - "symfony/expression-language": "~2.3|~3.0|^4.0", - "symfony/finder": "^2.0|^3.0|^4.0", - "symfony/templating": "^2.0|^3.0|^4.0", - "symfony/twig-bundle": "^2.0|^3.0|^4.0" + "symfony/asset": "^3.1|^4.0", + "symfony/browser-kit": "^3.1|^4.0", + "symfony/expression-language": "~3.1|^4.0", + "symfony/finder": "^3.1|^4.0", + "symfony/templating": "^3.1|^4.0", + "symfony/twig-bundle": "^3.1|^4.0" }, "suggest": { "sensio/distribution-bundle": "To be able to use the composer ScriptHandler", @@ -3397,7 +3739,7 @@ "monitor", "monitoring" ], - "time": "2018-06-28T05:13:08+00:00" + "time": "2018-11-23T22:56:06+00:00" }, { "name": "michelf/php-markdown", @@ -3517,16 +3859,16 @@ }, { "name": "monolog/monolog", - "version": "1.23.0", + "version": "1.24.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", - "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", "shasum": "" }, "require": { @@ -3591,7 +3933,7 @@ "logging", "psr-3" ], - "time": "2017-06-19T01:22:40+00:00" + "time": "2018-11-05T09:00:11+00:00" }, { "name": "nelmio/api-doc-bundle", @@ -3917,21 +4259,21 @@ }, { "name": "oro/doctrine-extensions", - "version": "1.2.0", + "version": "1.2.2", "source": { "type": "git", - "url": "https://github.com/orocrm/doctrine-extensions.git", - "reference": "26f38a2065d36d308331ccecb0b5ef31d61541d2" + "url": "https://github.com/oroinc/doctrine-extensions.git", + "reference": "71b38bd772d68723b3999843d710b039b667426e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orocrm/doctrine-extensions/zipball/26f38a2065d36d308331ccecb0b5ef31d61541d2", - "reference": "26f38a2065d36d308331ccecb0b5ef31d61541d2", + "url": "https://api.github.com/repos/oroinc/doctrine-extensions/zipball/71b38bd772d68723b3999843d710b039b667426e", + "reference": "71b38bd772d68723b3999843d710b039b667426e", "shasum": "" }, "require": { "doctrine/orm": ">=2.2.3", - "php": ">=5.3.0" + "php": ">=5.4.0" }, "require-dev": { "doctrine/data-fixtures": "^1.0", @@ -3968,7 +4310,7 @@ "postgresql", "type" ], - "time": "2017-07-17T10:33:16+00:00" + "time": "2018-11-12T09:15:04+00:00" }, { "name": "paragonie/random_compat", @@ -4019,16 +4361,687 @@ "time": "2018-07-04T16:31:37+00:00" }, { - "name": "phpcollection/phpcollection", - "version": "0.5.0", + "name": "php-http/cache-plugin", + "version": "v1.5.0", "source": { "type": "git", - "url": "https://github.com/schmittjoh/php-collection.git", - "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6" + "url": "https://github.com/php-http/cache-plugin.git", + "reference": "c573ac6ea9b4e33fad567f875b844229d18000b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", + "url": "https://api.github.com/repos/php-http/cache-plugin/zipball/c573ac6ea9b4e33fad567f875b844229d18000b9", + "reference": "c573ac6ea9b4e33fad567f875b844229d18000b9", + "shasum": "" + }, + "require": { + "php": "^5.4 || ^7.0", + "php-http/client-common": "^1.1", + "php-http/message-factory": "^1.0", + "psr/cache": "^1.0", + "symfony/options-resolver": "^2.6 || ^3.0 || ^4.0" + }, + "require-dev": { + "henrikbjorn/phpspec-code-coverage": "^1.0", + "phpspec/phpspec": "^2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Client\\Common\\Plugin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "PSR-6 Cache plugin for HTTPlug", + "homepage": "http://httplug.io", + "keywords": [ + "cache", + "http", + "httplug", + "plugin" + ], + "time": "2017-11-29T20:45:41+00:00" + }, + { + "name": "php-http/client-common", + "version": "1.8.2", + "source": { + "type": "git", + "url": "https://github.com/php-http/client-common.git", + "reference": "efe327f4305813aa9025662259b78323d25b9948" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/client-common/zipball/efe327f4305813aa9025662259b78323d25b9948", + "reference": "efe327f4305813aa9025662259b78323d25b9948", + "shasum": "" + }, + "require": { + "php": "^5.4 || ^7.0", + "php-http/httplug": "^1.1", + "php-http/message": "^1.6", + "php-http/message-factory": "^1.0", + "symfony/options-resolver": "^2.6 || ^3.0 || ^4.0" + }, + "require-dev": { + "guzzlehttp/psr7": "^1.4", + "phpspec/phpspec": "^2.5 || ^3.4 || ^4.2" + }, + "suggest": { + "php-http/cache-plugin": "PSR-6 Cache plugin", + "php-http/logger-plugin": "PSR-3 Logger plugin", + "php-http/stopwatch-plugin": "Symfony Stopwatch plugin" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Client\\Common\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Common HTTP Client implementations and tools for HTTPlug", + "homepage": "http://httplug.io", + "keywords": [ + "client", + "common", + "http", + "httplug" + ], + "time": "2018-12-14T22:12:45+00:00" + }, + { + "name": "php-http/curl-client", + "version": "v1.7.1", + "source": { + "type": "git", + "url": "https://github.com/php-http/curl-client.git", + "reference": "6341a93d00e5d953fc868a3928b5167e6513f2b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/curl-client/zipball/6341a93d00e5d953fc868a3928b5167e6513f2b6", + "reference": "6341a93d00e5d953fc868a3928b5167e6513f2b6", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": "^5.5 || ^7.0", + "php-http/discovery": "^1.0", + "php-http/httplug": "^1.0", + "php-http/message": "^1.2", + "php-http/message-factory": "^1.0.2" + }, + "provide": { + "php-http/async-client-implementation": "1.0", + "php-http/client-implementation": "1.0" + }, + "require-dev": { + "guzzlehttp/psr7": "^1.0", + "php-http/client-integration-tests": "^0.6", + "phpunit/phpunit": "^4.8.27", + "zendframework/zend-diactoros": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Http\\Client\\Curl\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Михаил Красильников", + "email": "m.krasilnikov@yandex.ru" + } + ], + "description": "cURL client for PHP-HTTP", + "homepage": "http://php-http.org", + "keywords": [ + "curl", + "http" + ], + "time": "2018-03-26T19:21:48+00:00" + }, + { + "name": "php-http/discovery", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/discovery.git", + "reference": "9a6cb24de552bfe1aa9d7d1569e2d49c5b169a33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/discovery/zipball/9a6cb24de552bfe1aa9d7d1569e2d49c5b169a33", + "reference": "9a6cb24de552bfe1aa9d7d1569e2d49c5b169a33", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0" + }, + "require-dev": { + "henrikbjorn/phpspec-code-coverage": "^2.0.2", + "php-http/httplug": "^1.0", + "php-http/message-factory": "^1.0", + "phpspec/phpspec": "^2.4", + "puli/composer-plugin": "1.0.0-beta10" + }, + "suggest": { + "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories", + "puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Discovery\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Finds installed HTTPlug implementations and PSR-7 message factories", + "homepage": "http://php-http.org", + "keywords": [ + "adapter", + "client", + "discovery", + "factory", + "http", + "message", + "psr7" + ], + "time": "2018-02-06T10:55:24+00:00" + }, + { + "name": "php-http/httplug", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/httplug.git", + "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/httplug/zipball/1c6381726c18579c4ca2ef1ec1498fdae8bdf018", + "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "php-http/promise": "^1.0", + "psr/http-message": "^1.0" + }, + "require-dev": { + "henrikbjorn/phpspec-code-coverage": "^1.0", + "phpspec/phpspec": "^2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eric GELOEN", + "email": "geloen.eric@gmail.com" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "HTTPlug, the HTTP client abstraction for PHP", + "homepage": "http://httplug.io", + "keywords": [ + "client", + "http" + ], + "time": "2016-08-31T08:30:17+00:00" + }, + { + "name": "php-http/httplug-bundle", + "version": "1.13.1", + "source": { + "type": "git", + "url": "https://github.com/php-http/HttplugBundle.git", + "reference": "7dff65a21c324389a0c37064319e309cbc11357b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/HttplugBundle/zipball/7dff65a21c324389a0c37064319e309cbc11357b", + "reference": "7dff65a21c324389a0c37064319e309cbc11357b", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "php-http/cache-plugin": "^1.4", + "php-http/client-common": "^1.6", + "php-http/client-implementation": "^1.0", + "php-http/discovery": "^1.0", + "php-http/httplug": "^1.0 || ^2.0", + "php-http/logger-plugin": "^1.0", + "php-http/message": "^1.4", + "php-http/message-factory": "^1.0.2", + "php-http/stopwatch-plugin": "^1.0", + "psr/http-message": "^1.0", + "symfony/config": "^2.8 || ^3.0 || ^4.0", + "symfony/dependency-injection": "^2.8.3 || ^3.0.3 || ^4.0", + "symfony/event-dispatcher": "^2.8 || ^3.0 || ^4.0", + "symfony/http-kernel": "^2.8 || ^3.0 || ^4.0", + "symfony/options-resolver": "^2.8 || ^3.0 || ^4.0", + "twig/twig": "^1.18 || ^2.0" + }, + "conflict": { + "php-http/guzzle6-adapter": "<1.1" + }, + "require-dev": { + "guzzlehttp/psr7": "^1.0", + "matthiasnoback/symfony-dependency-injection-test": "^1.1 || ^2.3", + "nyholm/nsa": "^1.1", + "php-http/buzz-adapter": "^0.3", + "php-http/curl-client": "^1.0", + "php-http/guzzle6-adapter": "^1.1.1", + "php-http/mock-client": "^1.0", + "php-http/promise": "^1.0", + "php-http/react-adapter": "^0.2.1", + "php-http/socket-client": "^1.0", + "polishsymfonycommunity/symfony-mocker-container": "^1.0", + "symfony/browser-kit": "^2.8 || ^3.0 || ^4.0", + "symfony/cache": "^3.1 || ^4.0", + "symfony/dom-crawler": "^2.8 || ^3.0 || ^4.0", + "symfony/framework-bundle": "^2.8.1 || ^3.0.1 || ^4.0", + "symfony/http-foundation": "^2.8 || ^3.0 || ^4.0", + "symfony/phpunit-bridge": "^3.3 || ^4.0", + "symfony/stopwatch": "^2.8 || ^3.0 || ^4.0", + "symfony/twig-bundle": "^2.8 || ^3.0 || ^4.0", + "symfony/web-profiler-bundle": "^2.8 || ^3.0 || ^4.0" + }, + "suggest": { + "php-http/mock-client": "Add this to your require-dev section to mock HTTP responses easily" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\HttplugBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "David Buchmann", + "email": "mail@davidbu.ch" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + } + ], + "description": "Symfony integration for HTTPlug", + "homepage": "http://httplug.io", + "keywords": [ + "adapter", + "bundle", + "discovery", + "factory", + "http", + "httplug", + "message", + "php-http" + ], + "time": "2018-11-28T16:17:38+00:00" + }, + { + "name": "php-http/logger-plugin", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/logger-plugin.git", + "reference": "d6c2ac7d542bf9928a0ac7a8a249d02848b824ec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/logger-plugin/zipball/d6c2ac7d542bf9928a0ac7a8a249d02848b824ec", + "reference": "d6c2ac7d542bf9928a0ac7a8a249d02848b824ec", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "php-http/client-common": "^1.1", + "php-http/message": "^1.0", + "psr/log": "^1.0" + }, + "require-dev": { + "henrikbjorn/phpspec-code-coverage": "^1.0", + "phpspec/phpspec": "^2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Client\\Common\\Plugin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "PSR-3 Logger plugin for HTTPlug", + "homepage": "http://httplug.io", + "keywords": [ + "http", + "httplug", + "logger", + "plugin" + ], + "time": "2016-05-04T22:43:46+00:00" + }, + { + "name": "php-http/message", + "version": "1.7.2", + "source": { + "type": "git", + "url": "https://github.com/php-http/message.git", + "reference": "b159ffe570dffd335e22ef0b91a946eacb182fa1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/message/zipball/b159ffe570dffd335e22ef0b91a946eacb182fa1", + "reference": "b159ffe570dffd335e22ef0b91a946eacb182fa1", + "shasum": "" + }, + "require": { + "clue/stream-filter": "^1.4", + "php": "^5.4 || ^7.0", + "php-http/message-factory": "^1.0.2", + "psr/http-message": "^1.0" + }, + "provide": { + "php-http/message-factory-implementation": "1.0" + }, + "require-dev": { + "akeneo/phpspec-skip-example-extension": "^1.0", + "coduo/phpspec-data-provider-extension": "^1.0", + "ext-zlib": "*", + "guzzlehttp/psr7": "^1.0", + "henrikbjorn/phpspec-code-coverage": "^1.0", + "phpspec/phpspec": "^2.4", + "slim/slim": "^3.0", + "zendframework/zend-diactoros": "^1.0" + }, + "suggest": { + "ext-zlib": "Used with compressor/decompressor streams", + "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", + "slim/slim": "Used with Slim Framework PSR-7 implementation", + "zendframework/zend-diactoros": "Used with Diactoros Factories" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Message\\": "src/" + }, + "files": [ + "src/filters.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "HTTP Message related tools", + "homepage": "http://php-http.org", + "keywords": [ + "http", + "message", + "psr-7" + ], + "time": "2018-11-01T09:32:41+00:00" + }, + { + "name": "php-http/message-factory", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-http/message-factory.git", + "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", + "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Factory interfaces for PSR-7 HTTP Message", + "homepage": "http://php-http.org", + "keywords": [ + "factory", + "http", + "message", + "stream", + "uri" + ], + "time": "2015-12-19T14:08:53+00:00" + }, + { + "name": "php-http/promise", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/promise.git", + "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/promise/zipball/dc494cdc9d7160b9a09bd5573272195242ce7980", + "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980", + "shasum": "" + }, + "require-dev": { + "henrikbjorn/phpspec-code-coverage": "^1.0", + "phpspec/phpspec": "^2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + }, + { + "name": "Joel Wurtz", + "email": "joel.wurtz@gmail.com" + } + ], + "description": "Promise used for asynchronous HTTP requests", + "homepage": "http://httplug.io", + "keywords": [ + "promise" + ], + "time": "2016-01-26T13:27:02+00:00" + }, + { + "name": "php-http/stopwatch-plugin", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/stopwatch-plugin.git", + "reference": "b9d4ab7a0f4ca1fc17e323e880d1235076e31dbf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/stopwatch-plugin/zipball/b9d4ab7a0f4ca1fc17e323e880d1235076e31dbf", + "reference": "b9d4ab7a0f4ca1fc17e323e880d1235076e31dbf", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "php-http/client-common": "^1.1", + "symfony/stopwatch": "^2.7|^3.0|^4.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.5 || ^3.0 || ^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Client\\Common\\Plugin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Symfony Stopwatch plugin for HTTPlug", + "homepage": "http://httplug.io", + "keywords": [ + "http", + "httplug", + "plugin", + "stopwatch" + ], + "time": "2017-11-29T19:20:03+00:00" + }, + { + "name": "phpcollection/phpcollection", + "version": "0.5.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-collection.git", + "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", "shasum": "" }, @@ -4118,16 +5131,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "2.0.11", + "version": "2.0.13", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "7053f06f91b3de78e143d430e55a8f7889efc08b" + "reference": "42603ce3f42a27f7e14e54feab95db7b680ad473" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/7053f06f91b3de78e143d430e55a8f7889efc08b", - "reference": "7053f06f91b3de78e143d430e55a8f7889efc08b", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/42603ce3f42a27f7e14e54feab95db7b680ad473", + "reference": "42603ce3f42a27f7e14e54feab95db7b680ad473", "shasum": "" }, "require": { @@ -4206,7 +5219,7 @@ "x.509", "x509" ], - "time": "2018-04-15T16:55:05+00:00" + "time": "2018-12-16T17:45:25+00:00" }, { "name": "predis/predis", @@ -4260,21 +5273,23 @@ }, { "name": "procergs/login-cidadao-badges-bundle", - "version": "2.0.2", + "version": "3.0.0", "target-dir": "LoginCidadao/BadgesBundle", "source": { "type": "git", "url": "https://github.com/PROCERGS/login-cidadao-badges-bundle.git", - "reference": "9621652344d60c6587bb82de028fbe576ea4e470" + "reference": "beb6820c16961e7e0eff31d83691ed546e1f4aa4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PROCERGS/login-cidadao-badges-bundle/zipball/9621652344d60c6587bb82de028fbe576ea4e470", - "reference": "9621652344d60c6587bb82de028fbe576ea4e470", + "url": "https://api.github.com/repos/PROCERGS/login-cidadao-badges-bundle/zipball/beb6820c16961e7e0eff31d83691ed546e1f4aa4", + "reference": "beb6820c16961e7e0eff31d83691ed546e1f4aa4", "shasum": "" }, "require": { - "php": ">=5.3.0" + "doctrine/orm": ">=2.4", + "php": ">=5.3.0", + "symfony/translation": "2.8.*|^3" }, "type": "symfony-bundle", "autoload": { @@ -4298,10 +5313,10 @@ "login-cidadao" ], "support": { - "source": "https://github.com/PROCERGS/login-cidadao-badges-bundle/tree/2.0.2", + "source": "https://github.com/PROCERGS/login-cidadao-badges-bundle/tree/3.0.0", "issues": "https://github.com/PROCERGS/login-cidadao-badges-bundle/issues" }, - "time": "2017-05-16T21:00:51+00:00" + "time": "2018-10-09T19:28:29+00:00" }, { "name": "procergs/meurs-monitor-bundle", @@ -4357,17 +5372,17 @@ }, { "name": "procergs/nfg-badges-bundle", - "version": "1.1.3", + "version": "2.0.0", "target-dir": "NFG/BadgesBundle", "source": { "type": "git", "url": "https://github.com/PROCERGS/nfg-badges-bundle.git", - "reference": "fb830032dc2475216d7b8faba75bfde0890cfbd2" + "reference": "8f1176b7d08a3d8806b783867d1a305e09de4042" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PROCERGS/nfg-badges-bundle/zipball/fb830032dc2475216d7b8faba75bfde0890cfbd2", - "reference": "fb830032dc2475216d7b8faba75bfde0890cfbd2", + "url": "https://api.github.com/repos/PROCERGS/nfg-badges-bundle/zipball/8f1176b7d08a3d8806b783867d1a305e09de4042", + "reference": "8f1176b7d08a3d8806b783867d1a305e09de4042", "shasum": "" }, "require": { @@ -4398,7 +5413,7 @@ "meurs", "nfg" ], - "time": "2018-06-12T17:09:33+00:00" + "time": "2018-10-09T21:00:17+00:00" }, { "name": "procergs/sms-service", @@ -4444,16 +5459,16 @@ }, { "name": "procergs/tos-bundle", - "version": "1.6.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/PROCERGS/tos-bundle.git", - "reference": "3b4328a3b4140e3e43763490f8a22ab8122bb5dd" + "reference": "bc51b4bb980be8a1885c0a781d5dacae8cdac0c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PROCERGS/tos-bundle/zipball/3b4328a3b4140e3e43763490f8a22ab8122bb5dd", - "reference": "3b4328a3b4140e3e43763490f8a22ab8122bb5dd", + "url": "https://api.github.com/repos/PROCERGS/tos-bundle/zipball/bc51b4bb980be8a1885c0a781d5dacae8cdac0c0", + "reference": "bc51b4bb980be8a1885c0a781d5dacae8cdac0c0", "shasum": "" }, "require": { @@ -4464,24 +5479,70 @@ "php": ">=5.3.3", "symfony/symfony": ">=2.3.0|^3" }, - "type": "symfony-bundle", + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "LoginCidadao\\TOSBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "AGPL-3.0" + ], + "authors": [ + { + "name": "Guilherme Donato", + "email": "guilhermednt@users.noreply.github.com" + } + ], + "description": "Terms of Service Bundle", + "time": "2018-10-02T12:51:27+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-4": { - "LoginCidadao\\TOSBundle\\": "" + "Psr\\Cache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "AGPL-3.0" + "MIT" ], "authors": [ { - "name": "Guilherme Donato", - "email": "guilhermednt@users.noreply.github.com" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Terms of Service Bundle", - "time": "2018-05-08T17:03:52+00:00" + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "time": "2016-08-06T20:24:11+00:00" }, { "name": "psr/container", @@ -4582,18 +5643,67 @@ ], "time": "2016-08-06T14:39:51+00:00" }, + { + "name": "psr/link", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/link.git", + "reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562", + "reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Link\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for HTTP links", + "keywords": [ + "http", + "http-link", + "link", + "psr", + "psr-13", + "rest" + ], + "time": "2016-10-28T16:06:13+00:00" + }, { "name": "psr/log", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", "shasum": "" }, "require": { @@ -4627,26 +5737,77 @@ "psr", "psr-3" ], - "time": "2016-10-10T12:19:37+00:00" + "time": "2018-11-20T15:27:04+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-10-23T01:57:42+00:00" }, { "name": "qandidate/stack-request-id", - "version": "dev-ramsey-uuid-v3", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/PROCERGS/stack-request-id.git", - "reference": "f3079f784bd1059e6182905516fc7659b7350443" + "url": "https://github.com/qandidate-labs/stack-request-id.git", + "reference": "8dec0d23ac7b9d66dea442d6b14ee305fb1cb451" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PROCERGS/stack-request-id/zipball/f3079f784bd1059e6182905516fc7659b7350443", - "reference": "f3079f784bd1059e6182905516fc7659b7350443", + "url": "https://api.github.com/repos/qandidate-labs/stack-request-id/zipball/8dec0d23ac7b9d66dea442d6b14ee305fb1cb451", + "reference": "8dec0d23ac7b9d66dea442d6b14ee305fb1cb451", "shasum": "" }, "require": { "ramsey/uuid": "~2.0|~3.0", - "symfony/http-foundation": "~2.1|~3.0", - "symfony/http-kernel": "~2.1|~3.0" + "symfony/http-foundation": "^2.7||^3.0||^4.0", + "symfony/http-kernel": "^2.7||^3.0||^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8" }, "suggest": { "symfony/monolog-bundle": "For registering the MonologProcessor" @@ -4657,6 +5818,7 @@ "Qandidate\\Stack": "src/" } }, + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -4665,20 +5827,57 @@ "name": "Alexander", "email": "iam.asm89@gmail.com" }, - { - "name": "Fritsjan", - "email": "fritsjan@qandidate.com" - }, { "name": "Qandidate.com", "homepage": "http://labs.qandidate.com/" + }, + { + "name": "Fritsjan", + "email": "fritsjan@qandidate.com" } ], "description": "Middleware for adding request id to Symfony Request.", - "support": { - "source": "https://github.com/PROCERGS/stack-request-id/tree/ramsey-uuid-v3" + "time": "2017-12-11T15:31:34+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "2.0.5", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa" }, - "time": "2016-09-05T18:20:15+00:00" + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7.0", + "satooshi/php-coveralls": ">=1.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2016-02-11T07:05:27+00:00" }, { "name": "ramsey/uuid", @@ -4764,35 +5963,34 @@ }, { "name": "rollerworks/password-strength-bundle", - "version": "v1.7.2", + "version": "v2.0.3", "source": { "type": "git", "url": "https://github.com/rollerworks/PasswordStrengthBundle.git", - "reference": "4a086a80f0c75f396d9f89c1efafe3892c6d4059" + "reference": "1ae996e0bbb7898357e2889159d3e74269555c8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rollerworks/PasswordStrengthBundle/zipball/4a086a80f0c75f396d9f89c1efafe3892c6d4059", - "reference": "4a086a80f0c75f396d9f89c1efafe3892c6d4059", + "url": "https://api.github.com/repos/rollerworks/PasswordStrengthBundle/zipball/1ae996e0bbb7898357e2889159d3e74269555c8a", + "reference": "1ae996e0bbb7898357e2889159d3e74269555c8a", "shasum": "" }, "require": { "php": "^5.6 || ^7.0", "rollerworks/password-strength-validator": "^1.0.1", - "symfony/console": "^2.8.25 || ^3.3.6", - "symfony/framework-bundle": "^2.8.25 || ^3.3.6", - "symfony/polyfill-mbstring": "^1.5.0", - "symfony/validator": "^2.8.25 || ^3.3.6" + "symfony/framework-bundle": "^3.3.6 || ^4.0" }, "require-dev": { "matthiasnoback/symfony-dependency-injection-test": "^1.1.0", "matthiasnoback/symfony-service-definition-validator": "^1.2.2", - "symfony/phpunit-bridge": "^3.3.6" + "symfony/console": "^3.3 || ^4.0", + "symfony/phpunit-bridge": "^3.3.6 || ^4.0", + "symfony/var-dumper": "^3.3 || ^4.0" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -4828,20 +6026,20 @@ "symfony", "validator" ], - "time": "2017-09-05T17:29:54+00:00" + "time": "2018-11-03T18:12:58+00:00" }, { "name": "rollerworks/password-strength-validator", - "version": "v1.1.3", + "version": "v1.1.4", "source": { "type": "git", "url": "https://github.com/rollerworks/PasswordStrengthValidator.git", - "reference": "43fe0c52e2aec9a7aaf0f4d3267978e7b3d52346" + "reference": "90459659cf9f3554029c4ff8206bbf20b79fd259" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rollerworks/PasswordStrengthValidator/zipball/43fe0c52e2aec9a7aaf0f4d3267978e7b3d52346", - "reference": "43fe0c52e2aec9a7aaf0f4d3267978e7b3d52346", + "url": "https://api.github.com/repos/rollerworks/PasswordStrengthValidator/zipball/90459659cf9f3554029c4ff8206bbf20b79fd259", + "reference": "90459659cf9f3554029c4ff8206bbf20b79fd259", "shasum": "" }, "require": { @@ -4896,7 +6094,7 @@ "symfony", "validator" ], - "time": "2018-05-02T12:13:40+00:00" + "time": "2018-08-21T15:01:59+00:00" }, { "name": "scheb/two-factor-bundle", @@ -4966,45 +6164,37 @@ }, { "name": "sensio/distribution-bundle", - "version": "v3.0.36", - "target-dir": "Sensio/Bundle/DistributionBundle", + "version": "v5.0.24", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioDistributionBundle.git", - "reference": "964a56e855acac38d4a81920b3a86543f7e8492f" + "reference": "59eac70f15f97ee945924948a6f5e2f6f86b7a4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/964a56e855acac38d4a81920b3a86543f7e8492f", - "reference": "964a56e855acac38d4a81920b3a86543f7e8492f", + "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/59eac70f15f97ee945924948a6f5e2f6f86b7a4b", + "reference": "59eac70f15f97ee945924948a6f5e2f6f86b7a4b", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sensiolabs/security-checker": "~3.0", - "symfony/class-loader": "~2.2", - "symfony/framework-bundle": "~2.3", - "symfony/process": "~2.2" - }, - "require-dev": { - "symfony/form": "~2.2", - "symfony/validator": "~2.2", - "symfony/yaml": "~2.2" - }, - "suggest": { - "symfony/form": "If you want to use the configurator", - "symfony/validator": "If you want to use the configurator", - "symfony/yaml": "If you want to use the configurator" + "php": ">=5.3.9", + "sensiolabs/security-checker": "~5.0", + "symfony/class-loader": "~2.3|~3.0", + "symfony/config": "~2.3|~3.0", + "symfony/dependency-injection": "~2.3|~3.0", + "symfony/filesystem": "~2.3|~3.0", + "symfony/http-kernel": "~2.3|~3.0", + "symfony/process": "~2.3|~3.0" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "5.0.x-dev" } }, "autoload": { - "psr-0": { - "Sensio\\Bundle\\DistributionBundle": "" + "psr-4": { + "Sensio\\Bundle\\DistributionBundle\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -5022,7 +6212,7 @@ "configuration", "distribution" ], - "time": "2016-04-25T20:46:43+00:00" + "time": "2018-12-14T17:36:15+00:00" }, { "name": "sensio/framework-extra-bundle", @@ -5096,20 +6286,22 @@ }, { "name": "sensiolabs/security-checker", - "version": "v3.0.7", + "version": "v5.0.3", "source": { "type": "git", "url": "https://github.com/sensiolabs/security-checker.git", - "reference": "59a6a299e2f5612dc8692d40e84373703a5df1b5" + "reference": "46be3f58adac13084497961e10eed9a7fb4d44d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/59a6a299e2f5612dc8692d40e84373703a5df1b5", - "reference": "59a6a299e2f5612dc8692d40e84373703a5df1b5", + "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/46be3f58adac13084497961e10eed9a7fb4d44d1", + "reference": "46be3f58adac13084497961e10eed9a7fb4d44d1", "shasum": "" }, "require": { - "symfony/console": "~2.0|~3.0" + "composer/ca-bundle": "^1.0", + "php": ">=5.5.9", + "symfony/console": "~2.7|~3.0|~4.0" }, "bin": [ "security-checker" @@ -5117,12 +6309,12 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { - "psr-0": { - "SensioLabs\\Security": "" + "psr-4": { + "SensioLabs\\Security\\": "SensioLabs/Security" } }, "notification-url": "https://packagist.org/downloads/", @@ -5136,7 +6328,7 @@ } ], "description": "A security checker for your composer.lock", - "time": "2017-03-29T09:29:53+00:00" + "time": "2018-12-19T17:14:59+00:00" }, { "name": "simplethings/entity-audit-bundle", @@ -5192,16 +6384,16 @@ }, { "name": "snc/redis-bundle", - "version": "2.1.6", + "version": "2.1.7", "source": { "type": "git", "url": "https://github.com/snc/SncRedisBundle.git", - "reference": "fd24b115b35d54ec2f0f356e36e793933ee57bb8" + "reference": "13dee3562945bbdbfc02286a476837f9f3ce9cd1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/snc/SncRedisBundle/zipball/fd24b115b35d54ec2f0f356e36e793933ee57bb8", - "reference": "fd24b115b35d54ec2f0f356e36e793933ee57bb8", + "url": "https://api.github.com/repos/snc/SncRedisBundle/zipball/13dee3562945bbdbfc02286a476837f9f3ce9cd1", + "reference": "13dee3562945bbdbfc02286a476837f9f3ce9cd1", "shasum": "" }, "require": { @@ -5254,7 +6446,7 @@ "redis", "symfony" ], - "time": "2018-07-31T08:05:28+00:00" + "time": "2018-10-15T12:07:05+00:00" }, { "name": "sonata-project/google-authenticator", @@ -5316,16 +6508,16 @@ }, { "name": "swiftmailer/swiftmailer", - "version": "v6.1.2", + "version": "v6.1.3", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "7d760881d266d63c5e7a1155cbcf2ac656a31ca8" + "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/7d760881d266d63c5e7a1155cbcf2ac656a31ca8", - "reference": "7d760881d266d63c5e7a1155cbcf2ac656a31ca8", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8ddcb66ac10c392d3beb54829eef8ac1438595f4", + "reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4", "shasum": "" }, "require": { @@ -5371,7 +6563,7 @@ "mail", "mailer" ], - "time": "2018-07-13T07:04:35+00:00" + "time": "2018-09-11T07:12:52+00:00" }, { "name": "symfony/assetic-bundle", @@ -5446,16 +6638,16 @@ }, { "name": "symfony/monolog-bundle", - "version": "v3.3.0", + "version": "v3.3.1", "source": { "type": "git", "url": "https://github.com/symfony/monolog-bundle.git", - "reference": "8204f3cd7c1bd6a6e2955c0a34475243a7bd9802" + "reference": "572e143afc03419a75ab002c80a2fd99299195ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/8204f3cd7c1bd6a6e2955c0a34475243a7bd9802", - "reference": "8204f3cd7c1bd6a6e2955c0a34475243a7bd9802", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/572e143afc03419a75ab002c80a2fd99299195ff", + "reference": "572e143afc03419a75ab002c80a2fd99299195ff", "shasum": "" }, "require": { @@ -5464,134 +6656,25 @@ "symfony/config": "~2.7|~3.3|~4.0", "symfony/dependency-injection": "~2.7|~3.4.10|^4.0.10", "symfony/http-kernel": "~2.7|~3.3|~4.0", - "symfony/monolog-bridge": "~2.7|~3.3|~4.0" - }, - "require-dev": { - "symfony/console": "~2.7|~3.3|~4.0", - "symfony/phpunit-bridge": "^3.3|^4.0", - "symfony/yaml": "~2.7|~3.3|~4.0" - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Bundle\\MonologBundle\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "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 MonologBundle", - "homepage": "http://symfony.com", - "keywords": [ - "log", - "logging" - ], - "time": "2018-06-04T05:55:43+00:00" - }, - { - "name": "symfony/polyfill-apcu", - "version": "v1.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-apcu.git", - "reference": "9b83bd010112ec196410849e840d9b9fefcb15ad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/9b83bd010112ec196410849e840d9b9fefcb15ad", - "reference": "9b83bd010112ec196410849e840d9b9fefcb15ad", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Apcu\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "apcu", - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2018-04-26T10:06:28+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae", - "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae", - "shasum": "" + "symfony/monolog-bridge": "~2.7|~3.3|~4.0" }, - "require": { - "php": ">=5.3.3" + "require-dev": { + "symfony/console": "~2.7|~3.3|~4.0", + "symfony/phpunit-bridge": "^3.3|^4.0", + "symfony/yaml": "~2.7|~3.3|~4.0" }, - "type": "library", + "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" + "Symfony\\Bundle\\MonologBundle\\": "" }, - "files": [ - "bootstrap.php" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -5601,51 +6684,48 @@ "authors": [ { "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "homepage": "http://symfony.com/contributors" }, { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" } ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", + "description": "Symfony MonologBundle", + "homepage": "http://symfony.com", "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" + "log", + "logging" ], - "time": "2018-04-30T19:57:29+00:00" + "time": "2018-11-04T09:58:13+00:00" }, { - "name": "symfony/polyfill-intl-icu", - "version": "v1.8.0", + "name": "symfony/polyfill-apcu", + "version": "v1.10.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "80ee17ae83c10cd513e5144f91a73607a21edb4e" + "url": "https://github.com/symfony/polyfill-apcu.git", + "reference": "19e1b73bf255265ad0b568f81766ae2a3266d8d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/80ee17ae83c10cd513e5144f91a73607a21edb4e", - "reference": "80ee17ae83c10cd513e5144f91a73607a21edb4e", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/19e1b73bf255265ad0b568f81766ae2a3266d8d2", + "reference": "19e1b73bf255265ad0b568f81766ae2a3266d8d2", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/intl": "~2.3|~3.0|~4.0" - }, - "suggest": { - "ext-intl": "For best performance" + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Apcu\\": "" + }, "files": [ "bootstrap.php" ] @@ -5664,47 +6744,46 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's ICU-related data and classes", + "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ + "apcu", "compatibility", - "icu", - "intl", "polyfill", "portable", "shim" ], - "time": "2018-04-25T14:53:50+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.8.0", + "name": "symfony/polyfill-ctype", + "version": "v1.10.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "3296adf6a6454a050679cde90f95350ad604b171" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", - "reference": "3296adf6a6454a050679cde90f95350ad604b171", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", "shasum": "" }, "require": { "php": ">=5.3.3" }, "suggest": { - "ext-mbstring": "For best performance" + "ext-ctype": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "Symfony\\Polyfill\\Ctype\\": "" }, "files": [ "bootstrap.php" @@ -5715,58 +6794,55 @@ "MIT" ], "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" + }, + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "mbstring", + "ctype", "polyfill", - "portable", - "shim" + "portable" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { - "name": "symfony/polyfill-php54", - "version": "v1.8.0", + "name": "symfony/polyfill-intl-icu", + "version": "v1.10.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php54.git", - "reference": "6c3a2b84c6025e4ea3f6a19feac35408c64b22e1" + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "f22a90256d577c7ef7efad8df1f0201663d57644" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/6c3a2b84c6025e4ea3f6a19feac35408c64b22e1", - "reference": "6c3a2b84c6025e4ea3f6a19feac35408c64b22e1", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/f22a90256d577c7ef7efad8df1f0201663d57644", + "reference": "f22a90256d577c7ef7efad8df1f0201663d57644", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "symfony/intl": "~2.3|~3.0|~4.0" + }, + "suggest": { + "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php54\\": "" - }, "files": [ "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -5783,34 +6859,38 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", + "description": "Symfony polyfill for intl's ICU-related data and classes", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "icu", + "intl", "polyfill", "portable", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { - "name": "symfony/polyfill-php55", + "name": "symfony/polyfill-mbstring", "version": "v1.10.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php55.git", - "reference": "42a4c00a347625ac8853c3358c47eeadc7fd4e96" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/42a4c00a347625ac8853c3358c47eeadc7fd4e96", - "reference": "42a4c00a347625ac8853c3358c47eeadc7fd4e96", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", "shasum": "" }, "require": { - "ircmaxell/password-compat": "~1.0", "php": ">=5.3.3" }, + "suggest": { + "ext-mbstring": "For best performance" + }, "type": "library", "extra": { "branch-alias": { @@ -5819,7 +6899,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Php55\\": "" + "Symfony\\Polyfill\\Mbstring\\": "" }, "files": [ "bootstrap.php" @@ -5839,28 +6919,29 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "mbstring", "polyfill", "portable", "shim" ], - "time": "2018-10-31T12:13:01+00:00" + "time": "2018-09-21T13:07:52+00:00" }, { "name": "symfony/polyfill-php56", - "version": "v1.8.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "af98553c84912459db3f636329567809d639a8f6" + "reference": "ff208829fe1aa48ab9af356992bb7199fed551af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/af98553c84912459db3f636329567809d639a8f6", - "reference": "af98553c84912459db3f636329567809d639a8f6", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/ff208829fe1aa48ab9af356992bb7199fed551af", + "reference": "ff208829fe1aa48ab9af356992bb7199fed551af", "shasum": "" }, "require": { @@ -5870,7 +6951,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -5903,30 +6984,30 @@ "portable", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2018-09-21T06:26:08+00:00" }, { "name": "symfony/polyfill-php70", - "version": "v1.8.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "77454693d8f10dd23bb24955cffd2d82db1007a6" + "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/77454693d8f10dd23bb24955cffd2d82db1007a6", - "reference": "77454693d8f10dd23bb24955cffd2d82db1007a6", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/6b88000cdd431cd2e940caa2cb569201f3f84224", + "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224", "shasum": "" }, "require": { - "paragonie/random_compat": "~1.0|~2.0", + "paragonie/random_compat": "~1.0|~2.0|~9.99", "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -5962,20 +7043,20 @@ "portable", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2018-09-21T06:26:08+00:00" }, { "name": "symfony/polyfill-util", - "version": "v1.8.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-util.git", - "reference": "1a5ad95d9436cbff3296034fe9f8d586dce3fb3a" + "reference": "3b58903eae668d348a7126f999b0da0f2f93611c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/1a5ad95d9436cbff3296034fe9f8d586dce3fb3a", - "reference": "1a5ad95d9436cbff3296034fe9f8d586dce3fb3a", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/3b58903eae668d348a7126f999b0da0f2f93611c", + "reference": "3b58903eae668d348a7126f999b0da0f2f93611c", "shasum": "" }, "require": { @@ -5984,7 +7065,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -6014,7 +7095,7 @@ "polyfill", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2018-09-30T16:36:12+00:00" }, { "name": "symfony/security-acl", @@ -6079,16 +7160,16 @@ }, { "name": "symfony/swiftmailer-bundle", - "version": "v3.2.2", + "version": "v3.2.4", "source": { "type": "git", "url": "https://github.com/symfony/swiftmailer-bundle.git", - "reference": "f1ba0552a9cd4df0191a58845fbd5541cf9eda2d" + "reference": "bd47db86d0b8415f6317c2be149bbacfab11a9cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/f1ba0552a9cd4df0191a58845fbd5541cf9eda2d", - "reference": "f1ba0552a9cd4df0191a58845fbd5541cf9eda2d", + "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/bd47db86d0b8415f6317c2be149bbacfab11a9cf", + "reference": "bd47db86d0b8415f6317c2be149bbacfab11a9cf", "shasum": "" }, "require": { @@ -6137,46 +7218,55 @@ ], "description": "Symfony SwiftmailerBundle", "homepage": "http://symfony.com", - "time": "2018-04-03T16:29:41+00:00" + "time": "2018-10-27T16:17:38+00:00" }, { "name": "symfony/symfony", - "version": "v2.8.44", + "version": "v3.4.20", "source": { "type": "git", "url": "https://github.com/symfony/symfony.git", - "reference": "789dc7eb57579185a430e65c5efce4b2d6b6b7b1" + "reference": "f6b8ddc362b1cf3fb06548693c3adbb736092412" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/789dc7eb57579185a430e65c5efce4b2d6b6b7b1", - "reference": "789dc7eb57579185a430e65c5efce4b2d6b6b7b1", + "url": "https://api.github.com/repos/symfony/symfony/zipball/f6b8ddc362b1cf3fb06548693c3adbb736092412", + "reference": "f6b8ddc362b1cf3fb06548693c3adbb736092412", "shasum": "" }, "require": { "doctrine/common": "~2.4", "ext-xml": "*", - "php": ">=5.3.9", + "fig/link-util": "^1.0", + "php": "^5.5.9|>=7.0.8", + "psr/cache": "~1.0", + "psr/container": "^1.0", + "psr/link": "^1.0", "psr/log": "~1.0", + "psr/simple-cache": "^1.0", "symfony/polyfill-apcu": "~1.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-icu": "~1.0", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php54": "~1.0", - "symfony/polyfill-php55": "~1.0", "symfony/polyfill-php56": "~1.0", - "symfony/polyfill-php70": "~1.0", - "symfony/polyfill-util": "~1.0", - "symfony/security-acl": "~2.7|~3.0.0", - "twig/twig": "~1.34|~2.4" + "symfony/polyfill-php70": "~1.6", + "twig/twig": "^1.35|^2.4.4" }, "conflict": { - "phpdocumentor/reflection": "<1.0.7", + "phpdocumentor/reflection-docblock": "<3.0||>=3.2.0,<3.2.2", + "phpdocumentor/type-resolver": "<0.3.0", "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0" }, + "provide": { + "psr/cache-implementation": "1.0", + "psr/container-implementation": "1.0", + "psr/log-implementation": "1.0", + "psr/simple-cache-implementation": "1.0" + }, "replace": { "symfony/asset": "self.version", "symfony/browser-kit": "self.version", + "symfony/cache": "self.version", "symfony/class-loader": "self.version", "symfony/config": "self.version", "symfony/console": "self.version", @@ -6186,6 +7276,7 @@ "symfony/dependency-injection": "self.version", "symfony/doctrine-bridge": "self.version", "symfony/dom-crawler": "self.version", + "symfony/dotenv": "self.version", "symfony/event-dispatcher": "self.version", "symfony/expression-language": "self.version", "symfony/filesystem": "self.version", @@ -6194,9 +7285,10 @@ "symfony/framework-bundle": "self.version", "symfony/http-foundation": "self.version", "symfony/http-kernel": "self.version", + "symfony/inflector": "self.version", "symfony/intl": "self.version", "symfony/ldap": "self.version", - "symfony/locale": "self.version", + "symfony/lock": "self.version", "symfony/monolog-bridge": "self.version", "symfony/options-resolver": "self.version", "symfony/process": "self.version", @@ -6212,33 +7304,38 @@ "symfony/security-http": "self.version", "symfony/serializer": "self.version", "symfony/stopwatch": "self.version", - "symfony/swiftmailer-bridge": "self.version", "symfony/templating": "self.version", "symfony/translation": "self.version", "symfony/twig-bridge": "self.version", "symfony/twig-bundle": "self.version", "symfony/validator": "self.version", "symfony/var-dumper": "self.version", + "symfony/web-link": "self.version", "symfony/web-profiler-bundle": "self.version", + "symfony/web-server-bundle": "self.version", + "symfony/workflow": "self.version", "symfony/yaml": "self.version" }, "require-dev": { + "cache/integration-tests": "dev-master", "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.6", "doctrine/data-fixtures": "1.0.*", "doctrine/dbal": "~2.4", - "doctrine/doctrine-bundle": "~1.2", + "doctrine/doctrine-bundle": "~1.4", "doctrine/orm": "~2.4,>=2.4.5", - "egulias/email-validator": "~1.2,>=1.2.1", + "egulias/email-validator": "~1.2,>=1.2.8|~2.0", "monolog/monolog": "~1.11", "ocramius/proxy-manager": "~0.4|~1.0|~2.0", - "phpdocumentor/reflection": "^1.0.7", - "sensio/framework-extra-bundle": "^3.0.2", - "symfony/phpunit-bridge": "~3.4|~4.0" + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "predis/predis": "~1.0", + "symfony/phpunit-bridge": "~3.4|~4.0", + "symfony/security-acl": "~2.8|~3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -6246,7 +7343,6 @@ "Symfony\\Bridge\\Doctrine\\": "src/Symfony/Bridge/Doctrine/", "Symfony\\Bridge\\Monolog\\": "src/Symfony/Bridge/Monolog/", "Symfony\\Bridge\\ProxyManager\\": "src/Symfony/Bridge/ProxyManager/", - "Symfony\\Bridge\\Swiftmailer\\": "src/Symfony/Bridge/Swiftmailer/", "Symfony\\Bridge\\Twig\\": "src/Symfony/Bridge/Twig/", "Symfony\\Bundle\\": "src/Symfony/Bundle/", "Symfony\\Component\\": "src/Symfony/Component/" @@ -6277,36 +7373,36 @@ "keywords": [ "framework" ], - "time": "2018-08-01T14:12:49+00:00" + "time": "2018-12-06T15:24:36+00:00" }, { "name": "twig/twig", - "version": "v2.5.0", + "version": "v2.6.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323" + "reference": "a11dd39f5b6589e14f0ff3b36675d06047c589b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/6a5f676b77a90823c2d4eaf76137b771adf31323", - "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/a11dd39f5b6589e14f0ff3b36675d06047c589b1", + "reference": "a11dd39f5b6589e14f0ff3b36675d06047c589b1", "shasum": "" }, "require": { "php": "^7.0", "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-mbstring": "~1.0" + "symfony/polyfill-mbstring": "^1.3" }, "require-dev": { "psr/container": "^1.0", "symfony/debug": "^2.7", - "symfony/phpunit-bridge": "^3.3" + "symfony/phpunit-bridge": "^3.4.19|^4.1.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -6344,31 +7440,37 @@ "keywords": [ "templating" ], - "time": "2018-07-13T07:18:09+00:00" + "time": "2018-12-16T10:36:48+00:00" }, { "name": "ua-parser/uap-php", - "version": "v3.5.0", + "version": "v3.8.0", "source": { "type": "git", "url": "https://github.com/ua-parser/uap-php.git", - "reference": "c8b31e5b8215a0c6dab4dd304050526a1907b17c" + "reference": "947f80b39130c83a3d1c75900ac1b58828ed8aef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ua-parser/uap-php/zipball/c8b31e5b8215a0c6dab4dd304050526a1907b17c", - "reference": "c8b31e5b8215a0c6dab4dd304050526a1907b17c", + "url": "https://api.github.com/repos/ua-parser/uap-php/zipball/947f80b39130c83a3d1c75900ac1b58828ed8aef", + "reference": "947f80b39130c83a3d1c75900ac1b58828ed8aef", "shasum": "" }, "require": { - "php": ">=5.3.0", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0", "symfony/console": "^2.0 || ^3.0 || ^4.0", "symfony/filesystem": "^2.0 || ^3.0 || ^4.0", "symfony/finder": "^2.0 || ^3.0 || ^4.0", "symfony/yaml": "^2.0 || ^3.0 || ^4.0" }, - "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0" + "suggest": { + "symfony/console": "Required for CLI usage - ^2.0 || ^3.0 || ^4.0", + "symfony/filesystem": "Required for CLI usage - 2.0 || ^3.0 || ^4.0", + "symfony/finder": "Required for CLI usage - ^2.0 || ^3.0 || ^4.0", + "symfony/yaml": "Required for CLI usage - ^4.0 || ^5.0" }, "bin": [ "bin/uaparser" @@ -6394,53 +7496,58 @@ } ], "description": "A multi-language port of Browserscope's user agent parser.", - "time": "2017-12-13T11:03:50+00:00" + "time": "2018-12-14T12:44:10+00:00" }, { "name": "vich/uploader-bundle", - "version": "1.7.1", + "version": "1.8.5", "source": { "type": "git", "url": "https://github.com/dustin10/VichUploaderBundle.git", - "reference": "b388f7bea5e0cfa49c6b3c874cb71b469d6d3bfc" + "reference": "ee1ffe8264d4ea09f97756580963d059809bb941" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dustin10/VichUploaderBundle/zipball/b388f7bea5e0cfa49c6b3c874cb71b469d6d3bfc", - "reference": "b388f7bea5e0cfa49c6b3c874cb71b469d6d3bfc", + "url": "https://api.github.com/repos/dustin10/VichUploaderBundle/zipball/ee1ffe8264d4ea09f97756580963d059809bb941", + "reference": "ee1ffe8264d4ea09f97756580963d059809bb941", "shasum": "" }, "require": { "behat/transliterator": "^1.2", - "doctrine/annotations": "^1.3", "jms/metadata": "^1.6", - "php": "^7.0", - "symfony/dependency-injection": "^2.8|^3.3|^4.0", - "symfony/form": "^2.8.8|^3.3|^4.0", - "symfony/framework-bundle": "^2.8.18|^3.3|^4.0", - "symfony/property-access": "^2.8|^3.3|^4.0", - "symfony/templating": "^2.8|^3.3|^4.0" + "php": "^7.1", + "symfony/config": "^3.4|^4.0", + "symfony/dependency-injection": "^3.4|^4.0", + "symfony/event-dispatcher": "^3.4|^4.0", + "symfony/form": "^3.4|^4.0", + "symfony/http-foundation": "^3.4|^4.0", + "symfony/http-kernel": "^3.4|^4.0", + "symfony/property-access": "^3.4|^4.0", + "symfony/templating": "^3.4|^4.0" }, "require-dev": { + "alcaeus/mongo-php-adapter": "^1.1", "doctrine/doctrine-bundle": "^1.8", - "doctrine/mongodb-odm": "^1.1", + "doctrine/mongodb-odm": "^1.2", "doctrine/orm": "^2.5", "ext-sqlite3": "*", - "knplabs/knp-gaufrette-bundle": "^0.4@dev", - "matthiasnoback/symfony-dependency-injection-test": "^2.3", + "knplabs/knp-gaufrette-bundle": "^0.5", + "matthiasnoback/symfony-dependency-injection-test": "^2.3|^3.0", "mikey179/vfsstream": "^1.6", - "oneup/flysystem-bundle": "^2.0|^3.0", - "phpunit/phpunit": "^6.0", - "symfony/browser-kit": "^2.8|^3.3|^4.0", - "symfony/css-selector": "^2.8|^3.3|^4.0", - "symfony/dom-crawler": "^2.8|^3.3|^4.0", + "oneup/flysystem-bundle": "^3.0", + "phpunit/phpunit": "^6.5|^7.0", + "symfony/browser-kit": "^3.4|^4.0", + "symfony/css-selector": "^3.4|^4.0", + "symfony/doctrine-bridge": "^3.4|^4.0", + "symfony/dom-crawler": "^3.4|^4.0", + "symfony/framework-bundle": "^3.4|^4.0", "symfony/phpunit-bridge": "^3.3", - "symfony/security-csrf": "^2.8|^3.3|^4.0", - "symfony/twig-bridge": "^2.8.10|^3.3|^4.0", - "symfony/twig-bundle": "^2.8|^3.3|^4.0", - "symfony/validator": "^2.8|^3.3|^4.0", - "symfony/var-dumper": "^2.8|^3.3|^4.0", - "symfony/yaml": "^2.8|^3.3|^4.0" + "symfony/security-csrf": "^3.4|^4.0", + "symfony/twig-bridge": "^3.4|^4.0", + "symfony/twig-bundle": "^3.4|^4.0", + "symfony/validator": "^3.4|^4.0", + "symfony/var-dumper": "^3.4|^4.0", + "symfony/yaml": "^3.4|^4.0" }, "suggest": { "doctrine/doctrine-bundle": "For integration with Doctrine", @@ -6457,7 +7564,7 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "1.7.x-dev" + "dev-master": "1.8.x-dev" } }, "autoload": { @@ -6481,7 +7588,7 @@ "file uploads", "upload" ], - "time": "2017-12-09T13:34:29+00:00" + "time": "2018-11-27T10:24:51+00:00" }, { "name": "willdurand/jsonp-callback-validator", @@ -6577,16 +7684,16 @@ }, { "name": "zendframework/zend-code", - "version": "3.3.0", + "version": "3.3.1", "source": { "type": "git", "url": "https://github.com/zendframework/zend-code.git", - "reference": "6b1059db5b368db769e4392c6cb6cc139e56640d" + "reference": "c21db169075c6ec4b342149f446e7b7b724f95eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-code/zipball/6b1059db5b368db769e4392c6cb6cc139e56640d", - "reference": "6b1059db5b368db769e4392c6cb6cc139e56640d", + "url": "https://api.github.com/repos/zendframework/zend-code/zipball/c21db169075c6ec4b342149f446e7b7b724f95eb", + "reference": "c21db169075c6ec4b342149f446e7b7b724f95eb", "shasum": "" }, "require": { @@ -6607,8 +7714,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev", - "dev-develop": "3.3-dev" + "dev-master": "3.3.x-dev", + "dev-develop": "3.4.x-dev" } }, "autoload": { @@ -6626,7 +7733,7 @@ "code", "zf2" ], - "time": "2017-10-20T15:21:32+00:00" + "time": "2018-08-13T20:36:59+00:00" }, { "name": "zendframework/zend-eventmanager", @@ -6684,16 +7791,16 @@ }, { "name": "zendframework/zenddiagnostics", - "version": "v1.3.0", + "version": "v1.3.1", "source": { "type": "git", "url": "https://github.com/zendframework/zend-diagnostics.git", - "reference": "6dd4a159a1bd6fcc8f14f2eda195b5caebabc414" + "reference": "90bc83201c8fdd97715705e58bf2688796086cde" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-diagnostics/zipball/6dd4a159a1bd6fcc8f14f2eda195b5caebabc414", - "reference": "6dd4a159a1bd6fcc8f14f2eda195b5caebabc414", + "url": "https://api.github.com/repos/zendframework/zend-diagnostics/zipball/90bc83201c8fdd97715705e58bf2688796086cde", + "reference": "90bc83201c8fdd97715705e58bf2688796086cde", "shasum": "" }, "require": { @@ -6745,32 +7852,32 @@ "test", "zf" ], - "time": "2018-07-30T20:31:14+00:00" + "time": "2018-09-17T16:14:52+00:00" } ], "packages-dev": [ { "name": "johnkary/phpunit-speedtrap", - "version": "v2.0.0", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/johnkary/phpunit-speedtrap.git", - "reference": "a1e39e0e3d07e0faee4ef3f342229d68fab07b5f" + "reference": "5f1ede99bd53fd0e5ff72669877420e801256d90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/johnkary/phpunit-speedtrap/zipball/a1e39e0e3d07e0faee4ef3f342229d68fab07b5f", - "reference": "a1e39e0e3d07e0faee4ef3f342229d68fab07b5f", + "url": "https://api.github.com/repos/johnkary/phpunit-speedtrap/zipball/5f1ede99bd53fd0e5ff72669877420e801256d90", + "reference": "5f1ede99bd53fd0e5ff72669877420e801256d90", "shasum": "" }, "require": { - "php": ">=7.0", - "phpunit/phpunit": "^6.0" + "php": ">=7.1", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -6795,7 +7902,7 @@ "profile", "slow" ], - "time": "2017-12-06T15:14:00+00:00" + "time": "2018-02-24T18:55:28+00:00" }, { "name": "myclabs/deep-copy", @@ -6846,22 +7953,22 @@ }, { "name": "phar-io/manifest", - "version": "1.0.1", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" + "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", - "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", "shasum": "" }, "require": { "ext-dom": "*", "ext-phar": "*", - "phar-io/version": "^1.0.1", + "phar-io/version": "^2.0", "php": "^5.6 || ^7.0" }, "type": "library", @@ -6897,20 +8004,20 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2017-03-05T18:14:27+00:00" + "time": "2018-07-08T19:23:20+00:00" }, { "name": "phar-io/version", - "version": "1.0.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" + "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", - "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", + "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", "shasum": "" }, "require": { @@ -6944,7 +8051,7 @@ } ], "description": "Library for handling version information and constraints", - "time": "2017-03-05T17:38:23+00:00" + "time": "2018-07-08T19:19:57+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -7100,16 +8207,16 @@ }, { "name": "phpspec/prophecy", - "version": "1.7.6", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712" + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712", - "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", "shasum": "" }, "require": { @@ -7121,12 +8228,12 @@ }, "require-dev": { "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7.x-dev" + "dev-master": "1.8.x-dev" } }, "autoload": { @@ -7159,44 +8266,44 @@ "spy", "stub" ], - "time": "2018-04-18T13:57:24+00:00" + "time": "2018-08-05T17:53:17+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "5.3.2", + "version": "6.1.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "c89677919c5dd6d3b3852f230a663118762218ac" + "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c89677919c5dd6d3b3852f230a663118762218ac", - "reference": "c89677919c5dd6d3b3852f230a663118762218ac", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", + "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", "shasum": "" }, "require": { "ext-dom": "*", "ext-xmlwriter": "*", - "php": "^7.0", - "phpunit/php-file-iterator": "^1.4.2", + "php": "^7.1", + "phpunit/php-file-iterator": "^2.0", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^2.0.1", + "phpunit/php-token-stream": "^3.0", "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.0", + "sebastian/environment": "^3.1 || ^4.0", "sebastian/version": "^2.0.1", "theseer/tokenizer": "^1.1" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^7.0" }, "suggest": { - "ext-xdebug": "^2.5.5" + "ext-xdebug": "^2.6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.3.x-dev" + "dev-master": "6.1-dev" } }, "autoload": { @@ -7222,29 +8329,32 @@ "testing", "xunit" ], - "time": "2018-04-06T15:36:58+00:00" + "time": "2018-10-31T16:06:48+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "1.4.5", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" + "reference": "050bedf145a257b1ff02746c31894800e5122946" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", - "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", + "reference": "050bedf145a257b1ff02746c31894800e5122946", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -7259,7 +8369,7 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -7269,7 +8379,7 @@ "filesystem", "iterator" ], - "time": "2017-11-27T13:52:08+00:00" + "time": "2018-09-13T20:33:42+00:00" }, { "name": "phpunit/php-text-template", @@ -7314,28 +8424,28 @@ }, { "name": "phpunit/php-timer", - "version": "1.0.9", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" + "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f", + "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -7350,7 +8460,7 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -7359,33 +8469,33 @@ "keywords": [ "timer" ], - "time": "2017-02-26T11:10:40+00:00" + "time": "2018-02-01T13:07:23+00:00" }, { "name": "phpunit/php-token-stream", - "version": "2.0.2", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "791198a2c6254db10131eecfe8c06670700904db" + "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", - "reference": "791198a2c6254db10131eecfe8c06670700904db", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/c99e3be9d3e85f60646f152f9002d46ed7770d18", + "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": "^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^6.2.4" + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -7408,57 +8518,57 @@ "keywords": [ "tokenizer" ], - "time": "2017-11-27T05:48:46+00:00" + "time": "2018-10-30T05:52:18+00:00" }, { "name": "phpunit/phpunit", - "version": "6.5.9", + "version": "7.5.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "093ca5508174cd8ab8efe44fd1dde447adfdec8f" + "reference": "c23d78776ad415d5506e0679723cb461d71f488f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/093ca5508174cd8ab8efe44fd1dde447adfdec8f", - "reference": "093ca5508174cd8ab8efe44fd1dde447adfdec8f", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c23d78776ad415d5506e0679723cb461d71f488f", + "reference": "c23d78776ad415d5506e0679723cb461d71f488f", "shasum": "" }, "require": { + "doctrine/instantiator": "^1.1", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", - "myclabs/deep-copy": "^1.6.1", - "phar-io/manifest": "^1.0.1", - "phar-io/version": "^1.0", - "php": "^7.0", + "myclabs/deep-copy": "^1.7", + "phar-io/manifest": "^1.0.2", + "phar-io/version": "^2.0", + "php": "^7.1", "phpspec/prophecy": "^1.7", - "phpunit/php-code-coverage": "^5.3", - "phpunit/php-file-iterator": "^1.4.3", + "phpunit/php-code-coverage": "^6.0.7", + "phpunit/php-file-iterator": "^2.0.1", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^1.0.9", - "phpunit/phpunit-mock-objects": "^5.0.5", - "sebastian/comparator": "^2.1", - "sebastian/diff": "^2.0", - "sebastian/environment": "^3.1", + "phpunit/php-timer": "^2.0", + "sebastian/comparator": "^3.0", + "sebastian/diff": "^3.0", + "sebastian/environment": "^4.0", "sebastian/exporter": "^3.1", "sebastian/global-state": "^2.0", "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^1.0", + "sebastian/resource-operations": "^2.0", "sebastian/version": "^2.0.1" }, "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2", - "phpunit/dbunit": "<3.0" + "phpunit/phpunit-mock-objects": "*" }, "require-dev": { "ext-pdo": "*" }, "suggest": { + "ext-soap": "*", "ext-xdebug": "*", - "phpunit/php-invoker": "^1.1" + "phpunit/php-invoker": "^2.0" }, "bin": [ "phpunit" @@ -7466,7 +8576,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "6.5.x-dev" + "dev-master": "7.5-dev" } }, "autoload": { @@ -7492,66 +8602,7 @@ "testing", "xunit" ], - "time": "2018-07-03T06:40:40+00:00" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "5.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "6f9a3c8bf34188a2b53ce2ae7a126089c53e0a9f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/6f9a3c8bf34188a2b53ce2ae7a126089c53e0a9f", - "reference": "6f9a3c8bf34188a2b53ce2ae7a126089c53e0a9f", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.5", - "php": "^7.0", - "phpunit/php-text-template": "^1.2.1", - "sebastian/exporter": "^3.1" - }, - "conflict": { - "phpunit/phpunit": "<6.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.5" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2018-07-13T03:27:23+00:00" + "time": "2018-12-12T07:20:32+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -7600,30 +8651,30 @@ }, { "name": "sebastian/comparator", - "version": "2.1.3", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9" + "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9", - "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/diff": "^2.0 || ^3.0", + "php": "^7.1", + "sebastian/diff": "^3.0", "sebastian/exporter": "^3.1" }, "require-dev": { - "phpunit/phpunit": "^6.4" + "phpunit/phpunit": "^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -7660,32 +8711,33 @@ "compare", "equality" ], - "time": "2018-02-01T13:46:46+00:00" + "time": "2018-07-12T15:12:46+00:00" }, { "name": "sebastian/diff", - "version": "2.0.1", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd" + "reference": "366541b989927187c4ca70490a35615d3fef2dce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", - "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/366541b989927187c4ca70490a35615d3fef2dce", + "reference": "366541b989927187c4ca70490a35615d3fef2dce", "shasum": "" }, "require": { - "php": "^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^6.2" + "phpunit/phpunit": "^7.0", + "symfony/process": "^2 || ^3.3 || ^4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -7710,34 +8762,37 @@ "description": "Diff implementation", "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ - "diff" + "diff", + "udiff", + "unidiff", + "unified diff" ], - "time": "2017-08-03T08:09:46+00:00" + "time": "2018-06-10T07:54:39+00:00" }, { "name": "sebastian/environment", - "version": "3.1.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" + "reference": "febd209a219cea7b56ad799b30ebbea34b71eb8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", - "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/febd209a219cea7b56ad799b30ebbea34b71eb8f", + "reference": "febd209a219cea7b56ad799b30ebbea34b71eb8f", "shasum": "" }, "require": { - "php": "^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^6.1" + "phpunit/phpunit": "^7.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -7762,7 +8817,7 @@ "environment", "hhvm" ], - "time": "2017-07-01T08:51:00+00:00" + "time": "2018-11-25T09:31:21+00:00" }, { "name": "sebastian/exporter", @@ -8029,25 +9084,25 @@ }, { "name": "sebastian/resource-operations", - "version": "1.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", "shasum": "" }, "require": { - "php": ">=5.6.0" + "php": "^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -8067,7 +9122,7 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2015-07-28T20:34:47+00:00" + "time": "2018-10-04T04:07:39+00:00" }, { "name": "sebastian/version", @@ -8114,38 +9169,44 @@ }, { "name": "sensio/generator-bundle", - "version": "v2.5.3", - "target-dir": "Sensio/Bundle/GeneratorBundle", + "version": "v3.1.7", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioGeneratorBundle.git", - "reference": "e50108c2133ee5c9c484555faed50c17a61221d3" + "reference": "28cbaa244bd0816fd8908b93f90380bcd7b67a65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/e50108c2133ee5c9c484555faed50c17a61221d3", - "reference": "e50108c2133ee5c9c484555faed50c17a61221d3", + "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/28cbaa244bd0816fd8908b93f90380bcd7b67a65", + "reference": "28cbaa244bd0816fd8908b93f90380bcd7b67a65", "shasum": "" }, "require": { - "symfony/console": "~2.5", - "symfony/framework-bundle": "~2.2" + "symfony/console": "~2.7|~3.0", + "symfony/framework-bundle": "~2.7|~3.0", + "symfony/process": "~2.7|~3.0", + "symfony/yaml": "~2.7|~3.0", + "twig/twig": "^1.28.2|^2.0" }, "require-dev": { - "doctrine/orm": "~2.2,>=2.2.3", - "symfony/doctrine-bridge": "~2.2", - "twig/twig": "~1.11" + "doctrine/orm": "~2.4", + "symfony/doctrine-bridge": "~2.7|~3.0", + "symfony/filesystem": "~2.7|~3.0", + "symfony/phpunit-bridge": "^3.3" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.5.x-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { - "psr-0": { - "Sensio\\Bundle\\GeneratorBundle": "" - } + "psr-4": { + "Sensio\\Bundle\\GeneratorBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8158,20 +9219,20 @@ } ], "description": "This bundle generates code for you", - "time": "2015-03-17T06:36:52+00:00" + "time": "2017-12-07T15:36:41+00:00" }, { "name": "symfony/phpunit-bridge", - "version": "v4.1.3", + "version": "v4.2.1", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "3c30714807f34b7de710cc33eb612cd42cf683b0" + "reference": "3f03b625710f24071e2937e88112e9a19099c9eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/3c30714807f34b7de710cc33eb612cd42cf683b0", - "reference": "3c30714807f34b7de710cc33eb612cd42cf683b0", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/3f03b625710f24071e2937e88112e9a19099c9eb", + "reference": "3f03b625710f24071e2937e88112e9a19099c9eb", "shasum": "" }, "require": { @@ -8190,7 +9251,7 @@ "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" }, "thanks": { "name": "phpunit/phpunit", @@ -8224,7 +9285,7 @@ ], "description": "Symfony PHPUnit Bridge", "homepage": "https://symfony.com", - "time": "2018-07-26T08:55:25+00:00" + "time": "2018-11-26T10:55:26+00:00" }, { "name": "theseer/tokenizer", @@ -8320,8 +9381,7 @@ "aliases": [], "minimum-stability": "stable", "stability-flags": { - "friendsofsymfony/user-bundle": 20, - "qandidate/stack-request-id": 20 + "friendsofsymfony/user-bundle": 20 }, "prefer-stable": false, "prefer-lowest": false, diff --git a/phpunit.xml.dist b/phpunit.xml.dist new file mode 100644 index 000000000..a91926ad9 --- /dev/null +++ b/phpunit.xml.dist @@ -0,0 +1,60 @@ + + + + + + + + + + + + + tests + + + src/*/*Bundle/Tests + src/*/Bundle/*Bundle/Tests + src/PROCERGS/*/*Bundle/Tests + + + + + + src + + src/*Bundle/Resources + src/*Bundle/Tests + src/*/*Bundle/Resources + src/*/Bundle/*Bundle/Resources + src/*/*Bundle/Tests + src/PROCERGS/*/*Bundle/Resources + src/PROCERGS/*/*Bundle/Tests + src/PROCERGS/*/Bundle/*Bundle/Resources + src/PROCERGS/*/Bundle/*Bundle/Tests + src/PROCERGS/*Bundle/Tests + + + + + + + + + + + 500 + + + 5 + + + + + + diff --git a/release.lvp b/release.lvp new file mode 100644 index 000000000..f0d929bee --- /dev/null +++ b/release.lvp @@ -0,0 +1,7 @@ +0;$Sistema$;$BuildDescr$;$Ambiente$;-;S;S;N;L;-;-;N;$RDM$;$Incidente$;S;S;S +1;-;$PathOrigem$\app;MEU PHP 5.4;\MEU\app;D;-;-;-;-;N;N;N +1;-;$PathOrigem$\src;MEU PHP 5.4;\MEU\src;D;-;-;-;-;N;N;N +1;-;$PathOrigem$\vendor;MEU PHP 5.4;\MEU\vendor;D;-;-;-;-;N;N;N +1;-;$PathOrigem$\web;MEU PHP 5.4;\MEU\web;D;-;-;-;-;N;N;N +1;composer.lock;$PathOrigem$\;MEU PHP 5.4;\MEU\;A;-;-;-;-;N;N;N +1;composer.json;$PathOrigem$\;MEU PHP 5.4;\MEU\;A;-;-;-;-;N;N;N diff --git a/screenshots/0.png b/screenshots/0.png new file mode 100644 index 000000000..45ecde5c7 Binary files /dev/null and b/screenshots/0.png differ diff --git a/screenshots/1.png b/screenshots/1.png new file mode 100644 index 000000000..afab95577 Binary files /dev/null and b/screenshots/1.png differ diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 000000000..e7abe337e --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,5 @@ +sonar.projectKey=meu:login-cidadao +sonar.sources=src/ +sonar.exclusions=src/**/Tests/** +sonar.php.tests.reportPath=junit.xml +sonar.php.coverage.reportPaths=clover.xml diff --git a/src/LoginCidadao/APIBundle/Resources/config/services.yml b/src/LoginCidadao/APIBundle/Resources/config/services.yml index 7ac187d6f..8fd93ae33 100644 --- a/src/LoginCidadao/APIBundle/Resources/config/services.yml +++ b/src/LoginCidadao/APIBundle/Resources/config/services.yml @@ -5,7 +5,7 @@ parameters: services: lc.api.logged_in_user_listener: - class: %lc_api_access_token_definer.class% + class: '%lc_api_access_token_definer.class%' arguments: - "@lc.access_token.repository" - "@security.token_storage" @@ -14,14 +14,14 @@ services: - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest } lc.action_logger.listenner: - class: %lc.action_logger.listenner.class% + class: '%lc.action_logger.listenner.class%' arguments: [ "@annotation_reader", "@lc.action_logger" ] tags: - { name: kernel.event_listener, event: kernel.controller, method: onKernelController, priority: 1 } - { name: kernel.event_listener, event: kernel.response, method: onKernelResponse, priority: 1 } lc.action_logger: - class: %lc.action_logger.class% + class: '%lc.action_logger.class%' lazy: true arguments: - "@security.token_storage" @@ -29,12 +29,12 @@ services: - "@doctrine.orm.entity_manager" lc.action_log.repository: - myrepository: class: Doctrine\ORM\EntityRepository factory: ["@doctrine.orm.entity_manager", getRepository] arguments: - LoginCidadao\APIBundle\Entity\ActionLog + lc.api.version: class: LoginCidadao\APIBundle\Service\VersionService arguments: diff --git a/src/LoginCidadao/BadgesControlBundle/Model/Badge.php b/src/LoginCidadao/BadgesControlBundle/Model/Badge.php index 6dc3592b9..fb5be148f 100644 --- a/src/LoginCidadao/BadgesControlBundle/Model/Badge.php +++ b/src/LoginCidadao/BadgesControlBundle/Model/Badge.php @@ -1,4 +1,12 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace LoginCidadao\BadgesControlBundle\Model; @@ -57,4 +65,13 @@ public function getNamespace() return $this->namespace; } + /** + * @inheritDoc + */ + public function __toString(): string + { + return "{$this->getNamespace()}.{$this->getName()}={$this->getData()}"; + } + + } diff --git a/src/LoginCidadao/BadgesControlBundle/Model/BadgeInterface.php b/src/LoginCidadao/BadgesControlBundle/Model/BadgeInterface.php index 9a4d91b74..3193c768f 100644 --- a/src/LoginCidadao/BadgesControlBundle/Model/BadgeInterface.php +++ b/src/LoginCidadao/BadgesControlBundle/Model/BadgeInterface.php @@ -12,7 +12,6 @@ */ interface BadgeInterface { - /** * @JMS\Groups({"public_profile"}) * @JMS\VirtualProperty @@ -36,4 +35,9 @@ public function getName(); * @return mixed */ public function getData(); + + /** + * @return string + */ + public function __toString(): string; } diff --git a/src/LoginCidadao/BadgesControlBundle/Tests/Event/EvaluateBadgesEventTest.php b/src/LoginCidadao/BadgesControlBundle/Tests/Event/EvaluateBadgesEventTest.php index eeb0fa884..c1cb8d20d 100644 --- a/src/LoginCidadao/BadgesControlBundle/Tests/Event/EvaluateBadgesEventTest.php +++ b/src/LoginCidadao/BadgesControlBundle/Tests/Event/EvaluateBadgesEventTest.php @@ -11,6 +11,7 @@ namespace LoginCidadao\BadgesControlBundle\Tests\Event; use LoginCidadao\BadgesControlBundle\Event\EvaluateBadgesEvent; +use LoginCidadao\BadgesControlBundle\Model\BadgeInterface; use LoginCidadao\CoreBundle\Entity\Person; use PHPUnit\Framework\TestCase; @@ -21,8 +22,10 @@ public function testEvent() $person = new Person(); $this->assertEmpty($person->getBadges()); - $badge1 = $this->createMock('LoginCidadao\BadgesControlBundle\Model\BadgeInterface'); - $badge2 = $this->createMock('LoginCidadao\BadgesControlBundle\Model\BadgeInterface'); + $badge1 = $this->createMock(BadgeInterface::class); + $badge1->expects($this->any())->method('__toString')->willReturn('badge1'); + $badge2 = $this->createMock(BadgeInterface::class); + $badge2->expects($this->any())->method('__toString')->willReturn('badge2'); $event = new EvaluateBadgesEvent($person); $event->registerBadges([$badge1, $badge2]); diff --git a/src/LoginCidadao/CoreBundle/Command/MobileCleanupCommand.php b/src/LoginCidadao/CoreBundle/Command/MobileCleanupCommand.php index 272d82863..d2b8ce969 100644 --- a/src/LoginCidadao/CoreBundle/Command/MobileCleanupCommand.php +++ b/src/LoginCidadao/CoreBundle/Command/MobileCleanupCommand.php @@ -82,7 +82,10 @@ protected function execute(InputInterface $input, OutputInterface $output) */ private function getManager() { - return $this->getContainer()->get('doctrine')->getManager(); + /** @var EntityManager $em */ + $em = $this->getContainer()->get('doctrine')->getManager(); + + return $em; } private function processPhones(InputInterface $input, OutputInterface $output) @@ -133,6 +136,7 @@ private function processPhones(InputInterface $input, OutputInterface $output) private function getNextEntry(IterableResult $results) { try { + /** @var array|false $next */ $next = $results->next(); if (false === $next) { diff --git a/src/LoginCidadao/CoreBundle/Command/PopulateDatabaseCommand.php b/src/LoginCidadao/CoreBundle/Command/PopulateDatabaseCommand.php index 9022575ef..afe700072 100644 --- a/src/LoginCidadao/CoreBundle/Command/PopulateDatabaseCommand.php +++ b/src/LoginCidadao/CoreBundle/Command/PopulateDatabaseCommand.php @@ -78,7 +78,10 @@ private function loadDumpFiles($dir, OutputInterface $output) */ private function getManager() { - return $this->getContainer()->get('doctrine')->getManager(); + /** @var EntityManager $em */ + $em = $this->getContainer()->get('doctrine')->getManager(); + + return $em; } protected function prepareCountryData($row) diff --git a/src/LoginCidadao/CoreBundle/Controller/Admin/PersonController.php b/src/LoginCidadao/CoreBundle/Controller/Admin/PersonController.php index 62778b84e..8143dbe48 100644 --- a/src/LoginCidadao/CoreBundle/Controller/Admin/PersonController.php +++ b/src/LoginCidadao/CoreBundle/Controller/Admin/PersonController.php @@ -6,6 +6,7 @@ use libphonenumber\PhoneNumber; use LoginCidadao\APIBundle\Security\Audit\ActionLogger; use LoginCidadao\CoreBundle\Entity\PersonRepository; +use LoginCidadao\CoreBundle\Form\Type\PersonResumeFormType; use LoginCidadao\CoreBundle\Security\User\Manager\UserManager; use LoginCidadao\PhoneVerificationBundle\Service\PhoneVerificationServiceInterface; use LoginCidadao\TOSBundle\Model\TOSManager; @@ -228,9 +229,9 @@ private function createPersonForm(PersonInterface $person) $rolesNames = $this->getRolesNames(); return $this->get('form.factory')->create( - $this->get('lc.person.resume.form.type'), + PersonResumeFormType::class, $person, - array('available_roles' => $rolesNames) + ['available_roles' => $rolesNames] ); } diff --git a/src/LoginCidadao/CoreBundle/Controller/AuthorizationController.php b/src/LoginCidadao/CoreBundle/Controller/AuthorizationController.php index 0c353a45c..f9577decb 100644 --- a/src/LoginCidadao/CoreBundle/Controller/AuthorizationController.php +++ b/src/LoginCidadao/CoreBundle/Controller/AuthorizationController.php @@ -7,6 +7,8 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; +use Symfony\Component\Form\Form; +use Symfony\Component\Form\FormInterface; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use LoginCidadao\CoreBundle\Entity\ClientSuggestion; @@ -48,7 +50,7 @@ public function listAction(Request $request) /** * @param Request $request - * @return \Symfony\Component\Form\Form|\Symfony\Component\HttpFoundation\RedirectResponse + * @return FormInterface|RedirectResponse */ private function handleSuggestion(Request $request) { diff --git a/src/LoginCidadao/CoreBundle/Controller/DefaultController.php b/src/LoginCidadao/CoreBundle/Controller/DefaultController.php index 30b4a7dc5..89ff4942a 100644 --- a/src/LoginCidadao/CoreBundle/Controller/DefaultController.php +++ b/src/LoginCidadao/CoreBundle/Controller/DefaultController.php @@ -11,6 +11,7 @@ namespace LoginCidadao\CoreBundle\Controller; use LoginCidadao\APIBundle\Entity\ActionLogRepository; +use LoginCidadao\CoreBundle\Form\Type\ContactFormType; use LoginCidadao\CoreBundle\Model\PersonInterface; use LoginCidadao\CoreBundle\Model\SupportMessage; use Symfony\Component\HttpFoundation\Request; @@ -48,7 +49,7 @@ public function contactAction(Request $request, $correlationId = null) $data = new SupportMessage($person); $data->setExtra('Correlation Id', $correlationId); - $form = $this->createForm('contact_form_type', $data, ['loggedIn' => $person instanceof PersonInterface]); + $form = $this->createForm(ContactFormType::class, $data, ['loggedIn' => $person instanceof PersonInterface]); $form->handleRequest($request); /** @var TranslatorInterface $translator */ diff --git a/src/LoginCidadao/CoreBundle/Controller/IdCardController.php b/src/LoginCidadao/CoreBundle/Controller/IdCardController.php index aa044d58b..4aa5f9be3 100644 --- a/src/LoginCidadao/CoreBundle/Controller/IdCardController.php +++ b/src/LoginCidadao/CoreBundle/Controller/IdCardController.php @@ -1,9 +1,19 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace LoginCidadao\CoreBundle\Controller; use LoginCidadao\CoreBundle\Entity\IdCardRepository; use LoginCidadao\CoreBundle\Entity\StateRepository; +use LoginCidadao\CoreBundle\Form\Type\IdCardType; +use LoginCidadao\CoreBundle\Form\Type\RemoveIdCardFormType; use Symfony\Component\HttpFoundation\Request; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; @@ -20,7 +30,7 @@ class IdCardController extends Controller * @Route("/person/idcards", name="lc_person_id_cards_list") * @Template */ - public function listAction(Request $request) + public function listAction() { $idCards = $this->getIdCards(); $deleteForms = $this->getDeleteForms($idCards); @@ -50,7 +60,7 @@ public function newAction(Request $request) $idCard = $validationHandler->instantiateIdCard($state); $idCard->setPerson($this->getPerson()); - $form = $this->createForm('lc_idcard_form', $idCard); + $form = $this->createForm(IdCardType::class, $idCard); $form->handleRequest($request); if ($form->isValid()) { $em->persist($form->getData()); @@ -81,7 +91,7 @@ public function editAction(Request $request, $id) $idCards = $em->getRepository('LoginCidadaoCoreBundle:IdCard'); $idCard = $idCards->findPersonIdCard($person, $id); - $form = $this->createForm('lc_idcard_form', $idCard); + $form = $this->createForm(IdCardType::class, $idCard); $form->handleRequest($request); if ($form->isValid()) { @@ -107,7 +117,7 @@ public function editAction(Request $request, $id) public function deleteAction(Request $request, $id) { $translator = $this->get('translator'); - $form = $this->createForm('LoginCidadao\CoreBundle\Form\Type\RemoveIdCardFormType'); + $form = $this->createForm(RemoveIdCardFormType::class); $form->handleRequest($request); if ($form->isValid()) { @@ -163,11 +173,8 @@ protected function getDeleteForms($idCards = null) if (is_array($idCards) || $idCards instanceof Collection) { foreach ($idCards as $idCard) { - $data = array('id_card_id' => $idCard->getId()); - $deleteForms[$idCard->getId()] = $this->createForm( - 'LoginCidadao\CoreBundle\Form\Type\RemoveIdCardFormType', - $data) - ->createView(); + $data = ['id_card_id' => $idCard->getId()]; + $deleteForms[$idCard->getId()] = $this->createForm(RemoveIdCardFormType::class, $data)->createView(); } } diff --git a/src/LoginCidadao/CoreBundle/Controller/TwitterController.php b/src/LoginCidadao/CoreBundle/Controller/TwitterController.php index 284878289..bc26ca74c 100644 --- a/src/LoginCidadao/CoreBundle/Controller/TwitterController.php +++ b/src/LoginCidadao/CoreBundle/Controller/TwitterController.php @@ -1,9 +1,19 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace LoginCidadao\CoreBundle\Controller; use LoginCidadao\CoreBundle\Entity\PersonRepository; use Symfony\Bundle\FrameworkBundle\Controller\Controller; +use Symfony\Component\Form\Extension\Core\Type\EmailType; +use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Routing\Annotation\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; use Symfony\Component\Validator\Constraints\Length; @@ -20,13 +30,13 @@ class TwitterController extends Controller public function beforeRegisterAction(Request $request) { $formBuilder = $this->createFormBuilder() - ->add('email', 'email', [ + ->add('email', EmailType::class, [ 'constraints' => [ new NotBlank(), new Length(['min' => 3]), ], ]) - ->add('save', 'submit'); + ->add('save', SubmitType::class); $form = $formBuilder->getForm(); diff --git a/src/LoginCidadao/CoreBundle/Controller/TwoFactorAuthenticationController.php b/src/LoginCidadao/CoreBundle/Controller/TwoFactorAuthenticationController.php index e346be9f4..6666f6f29 100644 --- a/src/LoginCidadao/CoreBundle/Controller/TwoFactorAuthenticationController.php +++ b/src/LoginCidadao/CoreBundle/Controller/TwoFactorAuthenticationController.php @@ -25,7 +25,6 @@ */ class TwoFactorAuthenticationController extends Controller { - /** * @Route("/enable", name="2fa_enable") * @Template() @@ -39,7 +38,7 @@ public function enableAction(Request $request) $person = $this->getUser(); $person->setGoogleAuthenticatorSecret($twoFactor->generateSecret()); - $form = $this->createForm(new TwoFactorAuthenticationFormType(), $person); + $form = $this->createForm(TwoFactorAuthenticationFormType::class, $person); $form->handleRequest($request); if ($form->isValid()) { @@ -71,7 +70,7 @@ public function disableAction(Request $request) $twoFactor = $this->get('lc.two_factor'); $person = $this->getUser(); - $form = $this->createForm(new TwoFactorAuthenticationDisableFormType(), $person); + $form = $this->createForm(TwoFactorAuthenticationDisableFormType::class, $person); $form->handleRequest($request); if ($form->isValid()) { @@ -96,7 +95,7 @@ public function generateBackupCodesAction(Request $request) $twoFactor = $this->get('lc.two_factor'); $person = $this->getUser(); - $form = $this->createForm(new TwoFactorAuthenticationBackupCodeGenerationFormType(), $person); + $form = $this->createForm(TwoFactorAuthenticationBackupCodeGenerationFormType::class, $person); $form->handleRequest($request); if ($form->isValid()) { @@ -112,13 +111,4 @@ public function generateBackupCodesAction(Request $request) return ['form' => $form->createView()]; } - - /** - * @Route("/teste") - * @Template() - */ - public function formAction() - { - return []; - } } diff --git a/src/LoginCidadao/CoreBundle/Diagnostics/RedisServiceCheck.php b/src/LoginCidadao/CoreBundle/Diagnostics/RedisServiceCheck.php new file mode 100644 index 000000000..07d4213e6 --- /dev/null +++ b/src/LoginCidadao/CoreBundle/Diagnostics/RedisServiceCheck.php @@ -0,0 +1,73 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace LoginCidadao\CoreBundle\Diagnostics; + +use Predis\ClientInterface; +use Predis\PredisException; +use ZendDiagnostics\Check\CheckInterface; +use ZendDiagnostics\Result\Failure; +use ZendDiagnostics\Result\Success; +use ZendDiagnostics\Result\Warning; + +class RedisServiceCheck implements CheckInterface +{ + private const KEY_PREFIX = 'redis_check_'; + + /** + * @var ClientInterface + */ + private $redis; + + /** + * RedisServiceCheck constructor. + * @param ClientInterface $redis + */ + public function __construct(ClientInterface $redis = null) + { + $this->redis = $redis; + } + + /** + * @inheritDoc + */ + public function check() + { + if ($this->redis === null) { + return new Warning('Redis is not configured. Nothing to test...'); + } + + $key = self::KEY_PREFIX.random_int(0, PHP_INT_MAX); + $value = random_bytes(random_int(10, 255)); + + try { + $this->redis->set($key, $value); + sleep(2); + $response = $this->redis->get($key); + $this->redis->del([$key]); + + if ($response === $value) { + return new Success("Redis is working. Tested SET, GET and DEL"); + } + + return new Failure("Redis is not working properly. GET didn't return expected value."); + } catch (PredisException $e) { + return new Failure("Redis is not working properly. Exception: {$e->getMessage()}"); + } + } + + /** + * @inheritDoc + */ + public function getLabel() + { + return 'Predis Redis'; + } +} diff --git a/src/LoginCidadao/CoreBundle/Entity/Person.php b/src/LoginCidadao/CoreBundle/Entity/Person.php index 466d041fe..f0dd4d95a 100644 --- a/src/LoginCidadao/CoreBundle/Entity/Person.php +++ b/src/LoginCidadao/CoreBundle/Entity/Person.php @@ -29,7 +29,7 @@ use LoginCidadao\ValidationBundle\Validator\Constraints as LCAssert; use Donato\PathWellBundle\Validator\Constraints\PathWell; use Misd\PhoneNumberBundle\Validator\Constraints\PhoneNumber as AssertPhoneNumber; -use Rollerworks\Bundle\PasswordStrengthBundle\Validator\Constraints as RollerworksPassword; +use Rollerworks\Component\PasswordStrength\Validator\Constraints as RollerworksPassword; /** * @ORM\Entity(repositoryClass="LoginCidadao\CoreBundle\Entity\PersonRepository") @@ -956,11 +956,6 @@ public function getAgeRange() return $range; } - public function hasLocalProfilePicture() - { - return !is_null($this->getImageName()); - } - public function getSuggestions() { return $this->suggestions; @@ -973,34 +968,6 @@ public function setSuggestions($suggestions) return $this; } - public function prepareAPISerialize( - $imageHelper, - $templateHelper, - $isDev, - $request - ) { - // User's profile picture - if ($this->hasLocalProfilePicture()) { - $picturePath = $imageHelper->asset($this, 'image'); - $pictureUrl = $request->getUriForPath($picturePath); - if ($isDev) { - $pictureUrl = str_replace('/app_dev.php', '', $pictureUrl); - } - } else { - $pictureUrl = $this->getSocialNetworksPicture(); - } - if (is_null($pictureUrl)) { - // TODO: fix this and make it comply to DRY - $picturePath = $templateHelper->getUrl('bundles/logincidadaocore/images/userav.png'); - $pictureUrl = $request->getUriForPath($picturePath); - if ($isDev) { - $pictureUrl = str_replace('/app_dev.php', '', $pictureUrl); - } - } - $this->setProfilePictureUrl($pictureUrl); - $this->serialize(); - } - public function isClientAuthorized($app_id) { foreach ($this->getAuthorizations() as $auth) { @@ -1093,8 +1060,7 @@ public function getBadges() public function mergeBadges(array $badges) { /** @scrutinizer ignore-deprecated */ - $this->badges = array_merge(/** @scrutinizer ignore-deprecated */ - $this->badges, $badges); + $this->badges = array_unique(array_merge($this->badges, $badges)); return $this; } diff --git a/src/LoginCidadao/CoreBundle/EventListener/PersonSerializeEventListener.php b/src/LoginCidadao/CoreBundle/EventListener/PersonSerializeEventListener.php index 872e719ca..3a860326a 100644 --- a/src/LoginCidadao/CoreBundle/EventListener/PersonSerializeEventListener.php +++ b/src/LoginCidadao/CoreBundle/EventListener/PersonSerializeEventListener.php @@ -10,10 +10,10 @@ namespace LoginCidadao\CoreBundle\EventListener; +use Symfony\Component\Asset\Packages; use Symfony\Component\HttpKernel\Kernel; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; -use JMS\Serializer\EventDispatcher\ObjectEvent; use JMS\Serializer\EventDispatcher\PreSerializeEvent; use JMS\Serializer\EventDispatcher\EventSubscriberInterface; use Vich\UploaderBundle\Templating\Helper\UploaderHelper; @@ -21,6 +21,7 @@ class PersonSerializeEventListener implements EventSubscriberInterface { + /** @var Packages */ protected $templateHelper; /** @var UploaderHelper */ @@ -34,7 +35,7 @@ class PersonSerializeEventListener implements EventSubscriberInterface public function __construct( UploaderHelper $uploaderHelper, - $templateHelper, + Packages $templateHelper, Kernel $kernel, RequestStack $requestStack ) { @@ -59,15 +60,38 @@ public function onPreSerialize(PreSerializeEvent $event) { $person = $event->getObject(); if ($person instanceof PersonInterface) { - $imgHelper = $this->uploaderHelper; - $templateHelper = $this->templateHelper; - $isDev = $this->kernel->getEnvironment() === 'dev'; - $person->prepareAPISerialize( - $imgHelper, - $templateHelper, - $isDev, - $this->request - ); + $this->preparePictureUri($person); } } + + private function preparePictureUri(PersonInterface $person) + { + if ($this->hasLocalProfilePicture($person)) { + $picturePath = $this->uploaderHelper->asset($person, 'image'); + $pictureUrl = $this->request->getUriForPath($picturePath); + } elseif ($this->hasSocialNetworkPicture($person)) { + $pictureUrl = $person->getSocialNetworksPicture(); + } else { + $picturePath = $this->templateHelper->getUrl('bundles/logincidadaocore/images/userav.png'); + $pictureUrl = $this->request->getUriForPath($picturePath); + } + + if ($this->kernel->getEnvironment() === 'dev') { + $pictureUrl = str_replace('/app_dev.php', '', $pictureUrl); + } + + $person->setProfilePictureUrl($pictureUrl); + $person->serialize(); + } + + private function hasLocalProfilePicture(PersonInterface $person) + { + return !is_null($person->getImageName()); + } + + private function hasSocialNetworkPicture(PersonInterface $person) + { + // Currently only Facebook is supported + return !is_null($person->getFacebookId()); + } } diff --git a/src/LoginCidadao/CoreBundle/EventListener/ResettingListener.php b/src/LoginCidadao/CoreBundle/EventListener/ResettingListener.php index 104b6719c..93c91055c 100644 --- a/src/LoginCidadao/CoreBundle/EventListener/ResettingListener.php +++ b/src/LoginCidadao/CoreBundle/EventListener/ResettingListener.php @@ -1,7 +1,16 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace LoginCidadao\CoreBundle\EventListener; +use FOS\UserBundle\Event\GetResponseNullableUserEvent; use FOS\UserBundle\FOSUserEvents; use FOS\UserBundle\Event\FormEvent; use FOS\UserBundle\Event\GetResponseUserEvent; @@ -11,7 +20,10 @@ class ResettingListener implements EventSubscriberInterface { + /** @var UrlGeneratorInterface */ private $router; + + /** @var int */ private $tokenTtl; public function __construct(UrlGeneratorInterface $router, $tokenTtl) @@ -22,10 +34,11 @@ public function __construct(UrlGeneratorInterface $router, $tokenTtl) public static function getSubscribedEvents() { - return array( + return [ FOSUserEvents::RESETTING_RESET_INITIALIZE => 'onResettingResetInitialize', - FOSUserEvents::RESETTING_RESET_SUCCESS => 'onResettingResetSuccess' - ); + FOSUserEvents::RESETTING_RESET_SUCCESS => 'onResettingResetSuccess', + FOSUserEvents::RESETTING_SEND_EMAIL_INITIALIZE => 'onResettingEmailRequested', + ]; } public function onResettingResetInitialize(GetResponseUserEvent $event) @@ -43,8 +56,15 @@ public function onResettingResetSuccess(FormEvent $event) $user->setConfirmationToken(null); $user->setPasswordRequestedAt(null); $user->setEnabled(true); - + $url = $this->router->generate('fos_user_profile_edit'); - $event->setResponse(new RedirectResponse($url)); + $event->setResponse(new RedirectResponse($url)); + } + + public function onResettingEmailRequested(GetResponseNullableUserEvent $event) + { + if (null === $event->getUser()) { + $event->setResponse(new RedirectResponse($this->router->generate('lc_resetting_user_not_found'))); + } } } diff --git a/src/LoginCidadao/CoreBundle/Form/ImpersonationReportType.php b/src/LoginCidadao/CoreBundle/Form/ImpersonationReportType.php index 36b799481..6c9b134db 100644 --- a/src/LoginCidadao/CoreBundle/Form/ImpersonationReportType.php +++ b/src/LoginCidadao/CoreBundle/Form/ImpersonationReportType.php @@ -10,10 +10,11 @@ namespace LoginCidadao\CoreBundle\Form; +use LoginCidadao\CoreBundle\Entity\ImpersonationReport; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\TextareaType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; -use Symfony\Component\OptionsResolver\OptionsResolverInterface; class ImpersonationReportType extends AbstractType { @@ -25,24 +26,13 @@ class ImpersonationReportType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('report', - 'Symfony\Component\Form\Extension\Core\Type\TextareaType', - array('label' => 'admin.impersonation_report.form.report.label')) - ; + ->add('report', TextareaType::class, ['label' => 'admin.impersonation_report.form.report.label']); } public function configureOptions(OptionsResolver $resolver) { - $resolver->setDefaults(array( - 'data_class' => 'LoginCidadao\CoreBundle\Entity\ImpersonationReport' - )); - } - - /** - * @param OptionsResolverInterface $resolver - */ - public function setDefaultOptions(OptionsResolverInterface $resolver) - { - $this->configureOptions($resolver); + $resolver->setDefaults([ + 'data_class' => ImpersonationReport::class, + ]); } } diff --git a/src/LoginCidadao/CoreBundle/Form/Type/BirthdayTelType.php b/src/LoginCidadao/CoreBundle/Form/Type/BirthdayTelType.php index e9137747f..45453df9c 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/BirthdayTelType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/BirthdayTelType.php @@ -11,6 +11,7 @@ namespace LoginCidadao\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\BirthdayType; class BirthdayTelType extends AbstractType { @@ -21,6 +22,6 @@ public function getName() public function getParent() { - return 'birthday'; + return BirthdayType::class; } } diff --git a/src/LoginCidadao/CoreBundle/Form/Type/ClientBaseFormType.php b/src/LoginCidadao/CoreBundle/Form/Type/ClientBaseFormType.php index f9486293d..a43ee3397 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/ClientBaseFormType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/ClientBaseFormType.php @@ -11,6 +11,9 @@ namespace LoginCidadao\CoreBundle\Form\Type; use LoginCidadao\OpenIDBundle\Form\ClientMetadataWebForm; +use Symfony\Component\Form\Extension\Core\Type\HiddenType; +use Symfony\Component\Form\Extension\Core\Type\TextareaType; +use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\AbstractType; use LoginCidadao\CoreBundle\Form\DataTransformer\FromArray; @@ -20,6 +23,8 @@ use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; +use Symfony\Component\Validator\Constraints\Valid; +use Vich\UploaderBundle\Form\Type\VichFileType; class ClientBaseFormType extends AbstractType { @@ -42,64 +47,25 @@ public function setTokenStorage(TokenStorageInterface $tokenStorage) public function buildForm(FormBuilderInterface $builder, array $options) { $builder + ->add('name', TextType::class, ['required' => true]) + ->add('description', TextareaType::class, ['required' => true, 'attr' => array('rows' => 4)]) + ->add('metadata', ClientMetadataWebForm::class) + ->add('siteUrl', TextType::class, ['required' => true]) ->add( - 'name', - 'Symfony\Component\Form\Extension\Core\Type\TextType', - ['required' => true] - ) - ->add( - 'description', - 'Symfony\Component\Form\Extension\Core\Type\TextareaType', - ['required' => true, 'attr' => array('rows' => 4)] - ) - ->add('metadata', 'oidc_client_metadata_form_type') - ->add( - 'siteUrl', - 'Symfony\Component\Form\Extension\Core\Type\TextType', - ['required' => true] - ) - ->add( - $builder->create( - 'redirectUris', - 'Symfony\Component\Form\Extension\Core\Type\TextareaType', - ['required' => true, 'attr' => ['rows' => 4]] - ) + $builder + ->create('redirectUris', TextareaType::class, ['required' => true, 'attr' => ['rows' => 4]]) ->addModelTransformer(new FromArray()) ) - ->add( - 'landingPageUrl', - 'Symfony\Component\Form\Extension\Core\Type\TextType', - ['required' => true] - ) - ->add( - 'termsOfUseUrl', - 'Symfony\Component\Form\Extension\Core\Type\TextType', - ['required' => true] - ) - ->add( - 'image', - 'Vich\UploaderBundle\Form\Type\VichFileType', - [ - 'required' => false, - 'allow_delete' => true, // not mandatory, default is true - 'download_uri' => true, // not mandatory, default is true - ] - ) - ->add( - 'id', - 'Symfony\Component\Form\Extension\Core\Type\HiddenType', - ['required' => false] - ) - ->add( - 'published', - 'LoginCidadao\CoreBundle\Form\Type\SwitchType', - ['required' => false] - ) - ->add( - 'visible', - 'LoginCidadao\CoreBundle\Form\Type\SwitchType', - ['required' => false] - ); + ->add('landingPageUrl', TextType::class, ['required' => true]) + ->add('termsOfUseUrl', TextType::class, ['required' => true]) + ->add('image', VichFileType::class, [ + 'required' => false, + 'allow_delete' => true, // not mandatory, default is true + 'download_uri' => true, // not mandatory, default is true + ]) + ->add('id', HiddenType::class, ['required' => false]) + ->add('published', SwitchType::class, ['required' => false]) + ->add('visible', SwitchType::class, ['required' => false]); $builder->addEventListener( FormEvents::PRE_SUBMIT, @@ -108,7 +74,7 @@ function (FormEvent $event) { $form = $event->getForm(); $form->add( 'owners', - 'LoginCidadao\CoreBundle\Form\Type\AjaxChoiceType', + AjaxChoiceType::class, [ 'label' => 'dev.ac.owners', 'ajax_choice_attr' => [ @@ -153,7 +119,7 @@ function (FormEvent $event) { if ($entity->getId()) { $form->add( 'owners', - 'LoginCidadao\CoreBundle\Form\Type\AjaxChoiceType', + AjaxChoiceType::class, [ 'label' => 'dev.ac.owners', 'ajax_choice_attr' => [ @@ -190,6 +156,6 @@ function (FormEvent $event) { public function configureOptions(OptionsResolver $resolver) { - $resolver->setDefaults(['cascade_validation' => true]); + $resolver->setDefaults(['constraints' => new Valid()]); } } diff --git a/src/LoginCidadao/CoreBundle/Form/Type/ClientFormType.php b/src/LoginCidadao/CoreBundle/Form/Type/ClientFormType.php index bd044501c..c679e39d7 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/ClientFormType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/ClientFormType.php @@ -2,20 +2,26 @@ namespace LoginCidadao\CoreBundle\Form\Type; +use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormEvents; use Symfony\Component\Form\FormEvent; class ClientFormType extends ClientBaseFormType { + /** @var string[] */ protected $supportedScopes; + + /** @var string[] */ protected $publicScopes; + + /** @var string[] */ protected $reservedScopes; public function setScopes($publicScopes, $reservedScopes) { $this->reservedScopes = explode(' ', $reservedScopes); - $this->publicScopes = explode(' ', $publicScopes); + $this->publicScopes = explode(' ', $publicScopes); $this->supportedScopes = $this->publicScopes + $this->reservedScopes; @@ -26,31 +32,29 @@ public function buildForm(FormBuilderInterface $builder, array $options) parent::buildForm($builder, $options); $security = $this->security; - $public = array_combine($this->publicScopes, $this->publicScopes); + $public = array_combine($this->publicScopes, $this->publicScopes); $reserved = array_combine($this->reservedScopes, $this->reservedScopes); $builder->addEventListener(FormEvents::PRE_SET_DATA, - function(FormEvent $event) use ($security, $public, $reserved) { - $form = $event->getForm(); - - if ($security->isGranted('ROLE_EDIT_CLIENT_ALLOWED_SCOPES') === false) { - return; - } - - $choices = array( - 'Public Scopes' => array_flip($public) - ); - if ($security->isGranted('ROLE_EDIT_CLIENT_ALLOWED_RESTRICTED_SCOPES')) { - $choices['Restricted Scopes'] = array_flip($reserved); - } - - $form->add('allowedScopes', - 'Symfony\Component\Form\Extension\Core\Type\ChoiceType', - array( - 'choices' => $choices, - 'multiple' => true, - 'choices_as_values' => true, - )); - }); + function (FormEvent $event) use ($security, $public, $reserved) { + $form = $event->getForm(); + + if ($security->isGranted('ROLE_EDIT_CLIENT_ALLOWED_SCOPES') === false) { + return; + } + + $choices = array( + 'Public Scopes' => array_flip($public), + ); + if ($security->isGranted('ROLE_EDIT_CLIENT_ALLOWED_RESTRICTED_SCOPES')) { + $choices['Restricted Scopes'] = array_flip($reserved); + } + + $form->add('allowedScopes', ChoiceType::class, [ + 'choices' => $choices, + 'multiple' => true, + 'choices_as_values' => true, + ]); + }); } } diff --git a/src/LoginCidadao/CoreBundle/Form/Type/CommonFormType.php b/src/LoginCidadao/CoreBundle/Form/Type/CommonFormType.php index edc602fcf..86acf422a 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/CommonFormType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/CommonFormType.php @@ -20,7 +20,11 @@ abstract class CommonFormType extends AbstractType { /** @var TokenStorageInterface */ protected $tokenStorage; + + /** @var TranslatorInterface */ protected $translator; + + /** @var RouterInterface */ protected $router; public function setTokenStorage(TokenStorageInterface $tokenStorage) diff --git a/src/LoginCidadao/CoreBundle/Form/Type/CountrySelectorComboType.php b/src/LoginCidadao/CoreBundle/Form/Type/CountrySelectorComboType.php index c81c24e45..713582a17 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/CountrySelectorComboType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/CountrySelectorComboType.php @@ -26,7 +26,7 @@ public function configureOptions(OptionsResolver $resolver) $resolver->setDefaults(array( 'class' => 'LoginCidadaoCoreBundle:Country', 'choice_label' => 'name', - 'empty_value' => '', + 'placeholder' => '', 'query_builder' => $this->getFilterFunction(), 'label' => 'Place of birth - Country', 'attr' => array( diff --git a/src/LoginCidadao/CoreBundle/Form/Type/IdCardType.php b/src/LoginCidadao/CoreBundle/Form/Type/IdCardType.php index 07d5a3a48..06e139d0a 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/IdCardType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/IdCardType.php @@ -1,8 +1,20 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace LoginCidadao\CoreBundle\Form\Type; +use LoginCidadao\CoreBundle\Entity\IdCard; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\HiddenType; +use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; use Doctrine\ORM\EntityRepository; @@ -16,11 +28,13 @@ class IdCardType extends AbstractType { protected $countryAcronym; - public function __construct($countryAcronym, - EventDispatcherInterface $dispatcher) + /** @var EventDispatcherInterface */ + private $dispatcher; + + public function __construct($countryAcronym, EventDispatcherInterface $dispatcher) { $this->countryAcronym = $countryAcronym; - $this->dispatcher = $dispatcher; + $this->dispatcher = $dispatcher; } /** @@ -31,47 +45,36 @@ public function __construct($countryAcronym, public function buildForm(FormBuilderInterface $builder, array $options) { $countryAcronym = $this->countryAcronym; - $builder->add('id', 'hidden', - array( - 'required' => false - )); - $builder->add('state', 'entity', - array( + $builder->add('id', HiddenType::class, ['required' => false]); + $builder->add('state', EntityType::class, [ 'required' => true, 'class' => 'LoginCidadaoCoreBundle:State', 'choice_label' => 'name', - 'read_only' => true, - 'query_builder' => function(EntityRepository $er) use($countryAcronym) { + 'attr' => ['readonly' => true], + 'query_builder' => function (EntityRepository $er) use ($countryAcronym) { return $er->createQueryBuilder('s') - ->join('LoginCidadaoCoreBundle:Country', 'c', - 'WITH', 's.country = c') - ->where('s.reviewed = '.Country::REVIEWED_OK) - ->andWhere('c.iso2 = :country') - ->setParameter('country', $countryAcronym) - ->orderBy('s.name', 'ASC'); - } - )); - $builder->add('issuer', 'text', - array( - 'required' => true - )); - $builder->add('value', 'text', - array( - 'required' => true, - 'label' => 'Idcard value', - )); + ->join('LoginCidadaoCoreBundle:Country', 'c', + 'WITH', 's.country = c') + ->where('s.reviewed = '.Country::REVIEWED_OK) + ->andWhere('c.iso2 = :country') + ->setParameter('country', $countryAcronym) + ->orderBy('s.name', 'ASC'); + }, + ]); + $builder->add('issuer', TextType::class, ['required' => true]); + $builder->add('value', TextType::class, ['required' => true, 'label' => 'Idcard value']); $dispatcher = $this->dispatcher; $builder->addEventListener(FormEvents::PRE_SET_DATA, - function(FormEvent $event) use ($dispatcher) { - $dispatcher->dispatch(ValidationEvents::ID_CARD_FORM_PRE_SET_DATA, - $event); - }); + function (FormEvent $event) use ($dispatcher) { + $dispatcher->dispatch(ValidationEvents::ID_CARD_FORM_PRE_SET_DATA, + $event); + }); $builder->addEventListener(FormEvents::PRE_SUBMIT, - function(FormEvent $event) use ($dispatcher) { - $dispatcher->dispatch(ValidationEvents::ID_CARD_FORM_PRE_SUBMIT, - $event); - }); + function (FormEvent $event) use ($dispatcher) { + $dispatcher->dispatch(ValidationEvents::ID_CARD_FORM_PRE_SUBMIT, + $event); + }); } /** @@ -80,9 +83,9 @@ function(FormEvent $event) use ($dispatcher) { */ public function configureOptions(OptionsResolver $resolver) { - $resolver->setDefaults(array( - 'data_class' => 'LoginCidadao\CoreBundle\Entity\IdCard' - )); + $resolver->setDefaults([ + 'data_class' => IdCard::class, + ]); } /** diff --git a/src/LoginCidadao/CoreBundle/Form/Type/LoginFormType.php b/src/LoginCidadao/CoreBundle/Form/Type/LoginFormType.php index 0df664ae1..6952590d6 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/LoginFormType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/LoginFormType.php @@ -16,6 +16,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\Form\AbstractType; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\Security\Core\Security; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -40,8 +41,11 @@ class LoginFormType extends AbstractType */ public function setContainer(ContainerInterface $container) { + /** @var RequestStack $requestStack */ + $requestStack = $container->get('request_stack'); + $this->em = $container->get('doctrine.orm.entity_manager'); - $this->request = $container->get('request'); + $this->request = $requestStack->getCurrentRequest(); $this->bruteForceThreshold = $container->getParameter('brute_force_threshold'); } diff --git a/src/LoginCidadao/CoreBundle/Form/Type/PersonResumeFormType.php b/src/LoginCidadao/CoreBundle/Form/Type/PersonResumeFormType.php index d50f216ab..7eb3cc671 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/PersonResumeFormType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/PersonResumeFormType.php @@ -2,10 +2,14 @@ namespace LoginCidadao\CoreBundle\Form\Type; +use Misd\PhoneNumberBundle\Form\Type\PhoneNumberType; +use Symfony\Component\Form\Extension\Core\Type\BirthdayType; +use Symfony\Component\Form\Extension\Core\Type\ChoiceType; +use Symfony\Component\Form\Extension\Core\Type\EmailType; +use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormEvent; use Symfony\Component\Form\FormEvents; -use LoginCidadao\CoreBundle\Form\Type\CommonFormType; use LoginCidadao\CoreBundle\Model\PersonInterface; use Symfony\Component\Form\FormInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -23,71 +27,43 @@ public function __construct(SecurityHelper $securityHelper) public function configureOptions(OptionsResolver $resolver) { - $resolver->setDefaults( - array( - 'available_roles' => array(), - ) - ); + $resolver->setDefaults([ + 'available_roles' => [], + ]); } public function buildForm(FormBuilderInterface $builder, array $options) { - $builder->add( - 'username', - null, - array( - 'read_only' => 'true', - ) - ); - $builder->add( - 'email', - 'email', - array( - 'label' => 'form.email', - 'read_only' => 'true', - 'translation_domain' => 'FOSUserBundle', - ) - ); - $builder->add( - 'firstName', - 'text', - array( - 'label' => 'form.firstName', - 'read_only' => 'true', - 'translation_domain' => 'FOSUserBundle', - ) - ); - $builder->add( - 'surname', - 'text', - array( - 'label' => 'form.surname', - 'read_only' => 'true', - 'translation_domain' => 'FOSUserBundle', - ) - ); - $builder->add( - 'birthdate', - 'birthday', - array( - 'required' => false, - 'read_only' => 'true', - 'format' => 'yyyy-MM-dd', - 'widget' => 'single_text', - 'label' => 'form.birthdate', - 'translation_domain' => 'FOSUserBundle', - ) - ); - $builder->add( - 'mobile', - 'Misd\PhoneNumberBundle\Form\Type\PhoneNumberType', - array( - 'required' => false, - 'read_only' => 'true', - 'label' => 'form.mobile', - 'translation_domain' => 'FOSUserBundle', - ) - ); + $builder->add('username', null, ['attr' => ['readonly' => true]]); + $builder->add('email', EmailType::class, [ + 'label' => 'form.email', + 'attr' => ['readonly' => true], + 'translation_domain' => 'FOSUserBundle', + ]); + $builder->add('firstName', TextType::class, [ + 'label' => 'form.firstName', + 'attr' => ['readonly' => true], + 'translation_domain' => 'FOSUserBundle', + ]); + $builder->add('surname', TextType::class, [ + 'label' => 'form.surname', + 'attr' => ['readonly' => true], + 'translation_domain' => 'FOSUserBundle', + ]); + $builder->add('birthdate', BirthdayType::class, [ + 'required' => false, + 'attr' => ['readonly' => true], + 'format' => 'yyyy-MM-dd', + 'widget' => 'single_text', + 'label' => 'form.birthdate', + 'translation_domain' => 'FOSUserBundle', + ]); + $builder->add('mobile', PhoneNumberType::class, [ + 'required' => false, + 'attr' => ['readonly' => true], + 'label' => 'form.mobile', + 'translation_domain' => 'FOSUserBundle', + ]); $user = $this->getUser(); @@ -124,48 +100,34 @@ public static function populateCountryStateCity( if ($country) { $countryName = $country->getName(); } - $form->add( - 'country', - 'text', - array( - 'required' => true, - 'mapped' => false, - 'read_only' => true, - 'data' => $countryName, - ) - ); + $form->add('country', TextType::class, [ + 'required' => true, + 'mapped' => false, + 'attr' => ['readonly' => true], + 'data' => $countryName, + ]); $stateName = ''; if ($state) { $stateName = $state->getName(); } - $form->add( - 'state', - 'text', - array( - 'required' => true, - 'read_only' => 'true', - 'mapped' => false, - 'read_only' => true, - 'data' => $stateName, - ) - ); + $form->add('state', TextType::class, [ + 'required' => true, + 'attr' => ['readonly' => true], + 'mapped' => false, + 'data' => $stateName, + ]); $cityName = ''; if ($city) { $cityName = $city->getName(); } - $form->add( - 'city', - 'text', - array( - 'required' => true, - 'read_only' => 'true', - 'mapped' => false, - 'read_only' => true, - 'data' => $cityName, - ) - ); + $form->add('city', TextType::class, [ + 'required' => true, + 'attr' => ['readonly' => true], + 'mapped' => false, + 'data' => $cityName, + ]); return $form; } @@ -208,16 +170,12 @@ public static function filterRoles( } asort($filteredRoles); - $form->add( - 'roles', - 'choice', - array( - 'choices' => $filteredRoles, - 'multiple' => true, - 'read_only' => ($targetPersonLevel > $loggedUserLevel), - 'disabled' => ($targetPersonLevel > $loggedUserLevel), - ) - ); + $form->add('roles', ChoiceType::class, [ + 'choices' => $filteredRoles, + 'multiple' => true, + 'attr' => ['readonly' => ($targetPersonLevel > $loggedUserLevel)], + 'disabled' => ($targetPersonLevel > $loggedUserLevel), + ]); return $filteredRoles; } diff --git a/src/LoginCidadao/CoreBundle/Form/Type/RegistrationFormType.php b/src/LoginCidadao/CoreBundle/Form/Type/RegistrationFormType.php index a8f30f75f..613918426 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/RegistrationFormType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/RegistrationFormType.php @@ -107,7 +107,7 @@ private function addDynamicField(FormBuilderInterface $builder, $scope) ]); }, 'birthday' => function (FormBuilderInterface $builder) { - $builder->add('birthdate', 'LoginCidadao\CoreBundle\Form\Type\BirthdayTelType', [ + $builder->add('birthdate', BirthdayTelType::class, [ 'required' => true, 'format' => 'dd/MM/yyyy', 'widget' => 'single_text', diff --git a/src/LoginCidadao/CoreBundle/Form/Type/ResettingFormType.php b/src/LoginCidadao/CoreBundle/Form/Type/ResettingFormType.php index 1efc998dd..e61fe5c56 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/ResettingFormType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/ResettingFormType.php @@ -1,7 +1,18 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace LoginCidadao\CoreBundle\Form\Type; +use Symfony\Component\Form\Extension\Core\Type\PasswordType; +use Symfony\Component\Form\Extension\Core\Type\RepeatedType; +use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\FormBuilderInterface; use FOS\UserBundle\Form\Type\ResettingFormType as BaseType; @@ -12,15 +23,16 @@ public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); - $builder->add('plainPassword', 'repeated', array( - 'type' => 'password', - 'attr' => array('autocomplete' => 'off'), - 'options' => array('translation_domain' => 'FOSUserBundle'), - 'first_options' => array('label' => 'form.new_password'), - 'second_options' => array('label' => 'form.new_password_confirmation'), - 'invalid_message' => 'fos_user.password.mismatch', - )) - ->add('save', 'submit'); + $builder + ->add('plainPassword', RepeatedType::class, [ + 'type' => PasswordType::class, + 'attr' => ['autocomplete' => 'off'], + 'options' => ['translation_domain' => 'FOSUserBundle'], + 'first_options' => ['label' => 'form.new_password'], + 'second_options' => ['label' => 'form.new_password_confirmation'], + 'invalid_message' => 'fos_user.password.mismatch', + ]) + ->add('save', SubmitType::class); } public function getName() diff --git a/src/LoginCidadao/CoreBundle/Form/Type/StateSelectorComboType.php b/src/LoginCidadao/CoreBundle/Form/Type/StateSelectorComboType.php index fc7f8882e..99326f98a 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/StateSelectorComboType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/StateSelectorComboType.php @@ -37,7 +37,7 @@ public function configureOptions(OptionsResolver $resolver) 'invalid_message' => 'The selected state was not found', 'class' => 'LoginCidadaoCoreBundle:State', 'choice_label' => 'name', - 'empty_value' => '', + 'placeholder' => '', 'query_builder' => $this->getFilterFunction($country), 'label' => 'Place of birth - State', 'attr' => array( diff --git a/src/LoginCidadao/CoreBundle/Form/Type/SuggestionFilterFormType.php b/src/LoginCidadao/CoreBundle/Form/Type/SuggestionFilterFormType.php index 252749770..0e3bc52a8 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/SuggestionFilterFormType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/SuggestionFilterFormType.php @@ -1,8 +1,18 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace LoginCidadao\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\DateType; +use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -11,45 +21,29 @@ class SuggestionFilterFormType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { - $builder->add('username', - 'Symfony\Component\Form\Extension\Core\Type\TextType', - array( - 'required' => false, - 'label' => 'sugg.username' - )); - $builder->add('dateini', - 'Symfony\Component\Form\Extension\Core\Type\DateType', - array( + $builder->add('username', TextType::class, ['required' => false, 'label' => 'sugg.username']); + $builder->add('dateini', DateType::class, [ 'required' => false, 'format' => 'dd/MM/yyyy', 'widget' => 'single_text', 'years' => range(date('Y'), 1898), 'label' => 'sugg.dateini', - 'attr' => array('pattern' => '[0-9/]*', 'class' => 'date') - )); - $builder->add('dateend', - 'Symfony\Component\Form\Extension\Core\Type\DateType', - array( + 'attr' => ['pattern' => '[0-9/]*', 'class' => 'date'], + ]); + $builder->add('dateend', DateType::class, [ 'required' => false, 'format' => 'dd/MM/yyyy', 'widget' => 'single_text', 'years' => range(date('Y'), 1898), 'label' => 'sugg.dateend', - 'attr' => array('pattern' => '[0-9/]*', 'class' => 'date') - )); - $builder->add('text', - 'Symfony\Component\Form\Extension\Core\Type\TextType', - array( - 'required' => false, - 'label' => 'sugg.text' - )); + 'attr' => ['pattern' => '[0-9/]*', 'class' => 'date'], + ]); + $builder->add('text', TextType::class, ['required' => false, 'label' => 'sugg.text']); $builder->setMethod('GET'); } public function configureOptions(OptionsResolver $resolver) { - $resolver->setDefaults(array( - 'csrf_protection' => false, - )); + $resolver->setDefaults(['csrf_protection' => false]); } } diff --git a/src/LoginCidadao/CoreBundle/Form/Type/TelType.php b/src/LoginCidadao/CoreBundle/Form/Type/TelType.php index 9a73b83bf..f14c1b91c 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/TelType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/TelType.php @@ -11,6 +11,7 @@ namespace LoginCidadao\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\TextType; class TelType extends AbstractType { @@ -21,6 +22,6 @@ public function getName() public function getParent() { - return 'text'; + return TextType::class; } } diff --git a/src/LoginCidadao/CoreBundle/Form/Type/TwoFactorAuthenticationBackupCodeGenerationFormType.php b/src/LoginCidadao/CoreBundle/Form/Type/TwoFactorAuthenticationBackupCodeGenerationFormType.php index 9745a3d98..fd6e396dd 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/TwoFactorAuthenticationBackupCodeGenerationFormType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/TwoFactorAuthenticationBackupCodeGenerationFormType.php @@ -1,7 +1,18 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace LoginCidadao\CoreBundle\Form\Type; +use LoginCidadao\CoreBundle\Entity\Person; +use Symfony\Component\Form\Extension\Core\Type\PasswordType; +use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\AbstractType; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -13,26 +24,24 @@ class TwoFactorAuthenticationBackupCodeGenerationFormType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('current_password', 'password', - array( + ->add('current_password', PasswordType::class, [ 'label' => 'To prevent unauthorized Backup Code generation type your password to confirm:', - 'attr' => array('autocomplete' => 'off'), + 'attr' => ['autocomplete' => 'off'], 'required' => true, 'constraints' => new UserPassword(), - 'mapped' => false - )) - ->add('generate', 'submit', - array( - 'attr' => array('class' => 'btn btn-success'), - 'label' => 'Generate new Backup Codes') - ); + 'mapped' => false, + ]) + ->add('generate', SubmitType::class, [ + 'attr' => ['class' => 'btn btn-success'], + 'label' => 'Generate new Backup Codes', + ]); } public function configureOptions(OptionsResolver $resolver) { - $resolver->setDefaults(array( - 'data_class' => 'LoginCidadao\CoreBundle\Entity\Person' - )); + $resolver->setDefaults([ + 'data_class' => Person::class, + ]); } public function getName() diff --git a/src/LoginCidadao/CoreBundle/Form/Type/TwoFactorAuthenticationDisableFormType.php b/src/LoginCidadao/CoreBundle/Form/Type/TwoFactorAuthenticationDisableFormType.php index 60f24b357..d8a945483 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/TwoFactorAuthenticationDisableFormType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/TwoFactorAuthenticationDisableFormType.php @@ -1,11 +1,21 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace LoginCidadao\CoreBundle\Form\Type; +use LoginCidadao\CoreBundle\Entity\Person; +use Symfony\Component\Form\Extension\Core\Type\PasswordType; +use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\AbstractType; use Symfony\Component\OptionsResolver\OptionsResolver; -use Symfony\Component\Translation\TranslatorInterface; use Symfony\Component\Security\Core\Validator\Constraints\UserPassword; class TwoFactorAuthenticationDisableFormType extends AbstractType @@ -14,26 +24,24 @@ class TwoFactorAuthenticationDisableFormType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('current_password', 'password', - array( + ->add('current_password', PasswordType::class, [ 'label' => 'If you want to proceed, type your account\'s password to confirm:', - 'attr' => array('autocomplete' => 'off'), + 'attr' => ['autocomplete' => 'off'], 'required' => true, 'constraints' => new UserPassword(), - 'mapped' => false - )) - ->add('disable', 'submit', - array( - 'attr' => array('class' => 'btn btn-danger'), - 'label' => 'I understand the risks. Disable Two-Factor Authentication') - ); + 'mapped' => false, + ]) + ->add('disable', SubmitType::class, [ + 'attr' => ['class' => 'btn btn-danger'], + 'label' => 'I understand the risks. Disable Two-Factor Authentication', + ]); } public function configureOptions(OptionsResolver $resolver) { - $resolver->setDefaults(array( - 'data_class' => 'LoginCidadao\CoreBundle\Entity\Person' - )); + $resolver->setDefaults([ + 'data_class' => Person::class, + ]); } public function getName() diff --git a/src/LoginCidadao/CoreBundle/Form/Type/TwoFactorAuthenticationFormType.php b/src/LoginCidadao/CoreBundle/Form/Type/TwoFactorAuthenticationFormType.php index c80f2b09c..87534e564 100644 --- a/src/LoginCidadao/CoreBundle/Form/Type/TwoFactorAuthenticationFormType.php +++ b/src/LoginCidadao/CoreBundle/Form/Type/TwoFactorAuthenticationFormType.php @@ -1,8 +1,21 @@ + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace LoginCidadao\CoreBundle\Form\Type; +use LoginCidadao\CoreBundle\Entity\Person; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\PasswordType; +use Symfony\Component\Form\Extension\Core\Type\RepeatedType; +use Symfony\Component\Form\Extension\Core\Type\SubmitType; +use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\Security\Core\Validator\Constraints\UserPassword; @@ -13,51 +26,39 @@ class TwoFactorAuthenticationFormType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('googleAuthenticatorSecret', 'text', - array( - 'read_only' => true, - 'label' => "Authenticator Secret" - ) - ) - ->add('verification', 'text', - array( + ->add('googleAuthenticatorSecret', TextType::class, [ + 'attr' => ['readonly' => true], + 'label' => "Authenticator Secret", + ]) + ->add('verification', TextType::class, [ 'label' => 'Generated Code', - 'mapped' => false - ) - ) - ; + 'mapped' => false, + ]); if (strlen($builder->getData()->getPassword()) == 0) { - $builder->add('plainPassword', 'repeated', - array( + $builder->add('plainPassword', RepeatedType::class, [ 'type' => 'password', - 'attr' => array('autocomplete' => 'off') - ) - ); + 'attr' => ['autocomplete' => 'off'], + ]); } else { - $builder->add('current_password', 'password', - array( + $builder->add('current_password', PasswordType::class, [ 'required' => true, - 'attr' => array('autocomplete' => 'off'), + 'attr' => ['autocomplete' => 'off'], 'constraints' => new UserPassword(), - 'mapped' => false - ) - ); + 'mapped' => false, + ]); } $builder - ->add('enable', 'submit', - array( - 'attr' => array('class' => 'btn btn-success'), - 'label' => 'Activate Two-Factor Authentication' - ) - ) - ; + ->add('enable', SubmitType::class, [ + 'attr' => ['class' => 'btn btn-success'], + 'label' => 'Activate Two-Factor Authentication', + ]); } public function configureOptions(OptionsResolver $resolver) { - $resolver->setDefaults(array( - 'data_class' => 'LoginCidadao\CoreBundle\Entity\Person' - )); + $resolver->setDefaults([ + 'data_class' => Person::class, + ]); } public function getName() diff --git a/src/LoginCidadao/CoreBundle/Model/PersonInterface.php b/src/LoginCidadao/CoreBundle/Model/PersonInterface.php index baadbd008..5f27538ed 100644 --- a/src/LoginCidadao/CoreBundle/Model/PersonInterface.php +++ b/src/LoginCidadao/CoreBundle/Model/PersonInterface.php @@ -198,19 +198,10 @@ public function getProfilePictureUrl(); */ public function getAgeRange(); - public function hasLocalProfilePicture(); - public function getSuggestions(); public function setSuggestions($suggestions); - public function prepareAPISerialize( - $imageHelper, - $templateHelper, - $isDev, - $request - ); - public function isClientAuthorized($app_id); public function getUpdatedAt(); diff --git a/src/LoginCidadao/CoreBundle/Resources/config/services.yml b/src/LoginCidadao/CoreBundle/Resources/config/services.yml index 6c26e92a7..9c4c05ac1 100644 --- a/src/LoginCidadao/CoreBundle/Resources/config/services.yml +++ b/src/LoginCidadao/CoreBundle/Resources/config/services.yml @@ -21,8 +21,6 @@ parameters: lc.emailChanged.template: LoginCidadaoCoreBundle:Person:emailChangedMessage.html.twig lc.notification.email.template: LoginCidadaoCoreBundle:Email:notification.html.twig - lc.person.serialize.listenner.class: LoginCidadao\CoreBundle\EventListener\PersonSerializeEventListener - lc.idcard.form.class: LoginCidadao\CoreBundle\Form\Type\IdCardType lc.security.helper.class: LoginCidadao\CoreBundle\Helper\SecurityHelper account.security_listener.class: LoginCidadao\CoreBundle\EventListener\SecurityListener @@ -271,11 +269,11 @@ services: - [setTranslator, ["@translator"]] - [setTokenStorage, ["@security.token_storage"]] - lc.person.serialize.listenner: - class: %lc.person.serialize.listenner.class% + lc.person.serialize.listener: + class: LoginCidadao\CoreBundle\EventListener\PersonSerializeEventListener arguments: - "@vich_uploader.templating.helper.uploader_helper" - - "@templating.helper.assets" + - "@assets.packages" - "@kernel" - "@request_stack" tags: @@ -300,7 +298,7 @@ services: - { name: form.type, alias: lc_idcard_form } lc.feature_hierarchy.voter: - class: %security.access.role_hierarchy_voter.class% + class: Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter arguments: [ "@security.role_hierarchy", 'FEATURE_' ] tags: - { name: security.voter } @@ -400,7 +398,6 @@ services: - "@lc.register_requested_scope" lc.invalidate_session_request.repository: - myrepository: class: Doctrine\ORM\EntityRepository factory: ["@doctrine.orm.entity_manager", getRepository] arguments: @@ -475,7 +472,6 @@ services: - "@scheb_two_factor.security.google_authenticator" lc.person.repository: - myrepository: class: Doctrine\ORM\EntityRepository factory: ["@doctrine.orm.entity_manager", getRepository] arguments: @@ -501,3 +497,10 @@ services: arguments: - "@doctrine.orm.entity_manager" - "@lc.authorization.repository" + + monitor.check.redis_predis: + class: LoginCidadao\CoreBundle\Diagnostics\RedisServiceCheck + arguments: + - "@?snc_redis.default" + tags: + - { name: liip_monitor.check, alias: redis_predis } diff --git a/src/LoginCidadao/CoreBundle/Resources/translations/FOSUserBundle.en.yml b/src/LoginCidadao/CoreBundle/Resources/translations/FOSUserBundle.en.yml index fc951f077..1eb08005c 100644 --- a/src/LoginCidadao/CoreBundle/Resources/translations/FOSUserBundle.en.yml +++ b/src/LoginCidadao/CoreBundle/Resources/translations/FOSUserBundle.en.yml @@ -8,7 +8,7 @@ registration.email.subject: '%username%''s email confirmation!' registration.email.message: "Hello %username%!\n\nTo finish activating your account - please visit %confirmationUrl%\n\nRegards, the Staff\n" registration.submit: Register registration.register: Register -resseting.forgot_password: 'Forgot your password?' +resetting.forgot_password: 'Forgot your password?' resetting.password_already_requested: 'The password for this user has already been requested within the last 24 hours.' resetting.email.subject: 'Reset Password' resetting.email.message: 'Someone recently requested to reset your password Citizen''s Login.' diff --git a/src/LoginCidadao/CoreBundle/Resources/translations/FOSUserBundle.pt_BR.yml b/src/LoginCidadao/CoreBundle/Resources/translations/FOSUserBundle.pt_BR.yml index 65de9741e..256a62efa 100644 --- a/src/LoginCidadao/CoreBundle/Resources/translations/FOSUserBundle.pt_BR.yml +++ b/src/LoginCidadao/CoreBundle/Resources/translations/FOSUserBundle.pt_BR.yml @@ -35,10 +35,12 @@ form.phone: Telefone form.phone.example: (51) 99999-9999 form.mobile: Celular form.mobile.example: (51) 99999-9999 -resseting.forgot_password: 'Esqueceu sua senha?' -resetting.email.subject: 'Redefinir senha' -resetting.email.message: 'Alguém solicitou recentemente para redefinir sua senha do Login Cidadão. Se você não fez essa solicitação, apenas ignore essa mensagem.' -resetting.password_already_requested: 'Este usuário já solicitou uma senha nas últimas 24 horas.' +resetting: + forgot_password: 'Esqueceu sua senha?' + email: + subject: 'Redefinir senha' + message: 'Alguém solicitou recentemente para redefinir sua senha do Login Cidadão. Se você não fez essa solicitação, apenas ignore essa mensagem.' + password_already_requested: 'Este usuário já solicitou uma senha nas últimas 24 horas.' change_password.submit: 'Alterar senha' change_password.flash.success: 'Senha alterada com sucesso!' 'As a safety measure we need you to type your password to confirm any changes.': 'Como medida de segurança, por favor informe sua senha para confirmar quaisquer mudanças.' diff --git a/src/LoginCidadao/CoreBundle/Resources/translations/messages.en.yml b/src/LoginCidadao/CoreBundle/Resources/translations/messages.en.yml index f3778e5eb..134f993fa 100644 --- a/src/LoginCidadao/CoreBundle/Resources/translations/messages.en.yml +++ b/src/LoginCidadao/CoreBundle/Resources/translations/messages.en.yml @@ -413,16 +413,29 @@ tasks.confirm_email: resent.alert: Another message was sent success.alert: Email successfuly verified! Close: Close -resetting.request.title: Password Recovery -resetting.request.description: To recover your password type your email below and we'll send you instructions on how to create a new password. -resetting.request.invalid_username: '"%username%" is not registered.' -resetting.request.username.label: 'Email:' -resetting.request.username.placeholder: Type your Email -resetting.request.submit: Recover Password -resetting.check_email: An email with password recovery instructions was sent to you. Open the email and click the link in the message. -resetting.reset.title: Creating new Password -resetting.reset.description: Fill the following fields to create a new password. -resetting.reset.submit: Change password +resetting: + request: + title: Password Recovery + description: To recover your password type your email below and we'll send you instructions on how to create a new password. + invalid_username: '"%username%" is not registered.' + username: + label: 'Email:' + placeholder: Type your Email + submit: Recover Password + check_email: An email with password recovery instructions was sent to you. Open the email and click the link in the message. + reset: + title: Creating new Password + description: Fill the following fields to create a new password. + submit: Change password + user_not_found: + body: | + We didn't find an account with the provided information. + + Check if you didn't use a diferent email address when you created your account. + + If you typed your taxpayer's ID (CPF), type your email since your account might not have a CPF yet. + back_to_form: 'Back to the form' + openid.session.end: title: logging_out: You are being logged out. diff --git a/src/LoginCidadao/CoreBundle/Resources/translations/messages.pt_BR.yml b/src/LoginCidadao/CoreBundle/Resources/translations/messages.pt_BR.yml index cae652b43..c3752adf1 100644 --- a/src/LoginCidadao/CoreBundle/Resources/translations/messages.pt_BR.yml +++ b/src/LoginCidadao/CoreBundle/Resources/translations/messages.pt_BR.yml @@ -814,16 +814,28 @@ tasks.confirm_email: resent.alert: Mensagem reenviada success.alert: Email verificado com sucesso! Close: Fechar -resetting.request.title: Recuperação de Senha -resetting.request.description: Para alterar sua senha, digite seu email ou CPF a seguir e lhe enviaremos um email com instruções para criação de uma nova senha. -resetting.request.invalid_username: '"%username%" não está cadastrado.' -resetting.request.username.label: 'Email ou CPF:' -resetting.request.username.placeholder: Digite seu email ou CPF -resetting.request.submit: Recuperar senha -resetting.check_email: Foi enviado um email com instruções para recuperação de senha para o endereço cadastrado. Acesse seu email e clique no link presente na mensagem enviada. -resetting.reset.title: Criando Nova Senha -resetting.reset.description: Preencha os campos a seguir para criar uma nova senha para sua conta. -resetting.reset.submit: Alterar senha +resetting: + request: + title: Recuperação de Senha + description: Para alterar sua senha, digite seu email ou CPF a seguir e lhe enviaremos um email com instruções para criação de uma nova senha. + invalid_username: '"%username%" não está cadastrado.' + username: + label: 'Email ou CPF:' + placeholder: Digite seu email ou CPF + submit: Recuperar senha + check_email: Foi enviado um email com instruções para recuperação de senha para o endereço cadastrado. Acesse seu email e clique no link presente na mensagem enviada. + reset: + title: Criando Nova Senha + description: Preencha os campos a seguir para criar uma nova senha para sua conta. + submit: Alterar senha + user_not_found: + body: | + Não encontramos uma conta com as informações informadas. + + Certifique-se que não usou outro endereço de email para criar sua conta. + + Se você digitou seu CPF, informe seu email pois sua conta pode não possuir um CPF cadastrado. + back_to_form: 'Voltar ao formulário' openid.session.end: title: logging_out: Sua sessão está sendo encerrada. diff --git a/src/LoginCidadao/CoreBundle/Resources/views/Form/fields.html.twig b/src/LoginCidadao/CoreBundle/Resources/views/Form/fields.html.twig index f8066342d..23c04b724 100644 --- a/src/LoginCidadao/CoreBundle/Resources/views/Form/fields.html.twig +++ b/src/LoginCidadao/CoreBundle/Resources/views/Form/fields.html.twig @@ -17,7 +17,7 @@ {% block widget_attributes -%} id="{{ id }}" name="{{ full_name }}" - {%- if read_only %} readonly="readonly"{% endif -%} + {%- if read_only is defined and read_only %} readonly="readonly"{% endif -%} {%- if disabled %} disabled="disabled"{% endif -%} {%- if required %} required="required"{% endif -%} {%- if attr.class is not defined %} @@ -88,7 +88,7 @@ {%- endblock ajax_choice_label %} {% block ajax_choice_widget -%} - {% if required and empty_value is none and not empty_value_in_choices and not multiple -%} + {% if required and placeholder is none and not placeholder_in_choices and not multiple -%} {% set required = false %} {%- endif -%}
@@ -105,8 +105,8 @@ {%- endif -%}