From: Nicolas Lœuillet Date: Fri, 15 Jan 2016 14:47:13 +0000 (+0100) Subject: Merge pull request #1583 from wallabag/v2-fix-delete X-Git-Tag: 2.0.0-alpha.2~11 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=86719c63bf47686ca55020e6b0443344de36d45a;hp=78833672469f7beb0c4a195aa0a76f7ca4133057;p=github%2Fwallabag%2Fwallabag.git Merge pull request #1583 from wallabag/v2-fix-delete Fix `findOneByUrl` side effect in tests --- diff --git a/.gitignore b/.gitignore index f88370d7..b6d6aa5d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,25 +1,20 @@ -# Cache and logs (Symfony2) -/app/cache/* -/app/logs/* -!app/cache/.gitkeep -!app/logs/.gitkeep - -# Cache and logs (Symfony3) +# Cache, logs & sessions +/var/* +!/var/cache /var/cache/* -/var/logs/* !var/cache/.gitkeep +!/var/logs +/var/logs/* !var/logs/.gitkeep +!/var/sessions +/var/sessions/* +!var/sessions/.gitkeep +!var/SymfonyRequirements.php # Parameters /app/config/parameters.yml -/app/config/parameters.ini # Managed by Composer -/app/bootstrap.php.cache -/var/bootstrap.php.cache -/bin/* -!bin/console -!bin/symfony_requirements /vendor/ # Assets and user uploads diff --git a/.travis.yml b/.travis.yml index 7a7c9056..07d66f88 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,17 +43,8 @@ before_script: - if [ -n "$GH_TOKEN" ]; then composer config github-oauth.github.com ${GH_TOKEN}; fi; # disable xdebug since we don't use code-coverage for now - if [[ $TRAVIS_PHP_VERSION != '5.6' && $TRAVIS_PHP_VERSION != 'hhvm' && $TRAVIS_PHP_VERSION != '7.0' ]]; then phpenv config-rm xdebug.ini; fi - # build coverage only on one build, to speed up results feedbacks - # - if [[ "$TRAVIS_PHP_VERSION" = "5.6" ]]; then PHPUNIT_FLAGS="--coverage-clover=coverage.clover"; else PHPUNIT_FLAGS=""; fi; - if [[ "$DB" = "pgsql" ]]; then psql -c 'create database wallabag;' -U postgres; fi; script: - ant prepare-$DB - - SYMFONY_DEPRECATIONS_HELPER=weak bin/phpunit -v - -# after_script: - # - | - # if [ $TRAVIS_PHP_VERSION = '5.6' ]; then - # wget https://scrutinizer-ci.com/ocular.phar - # php ocular.phar code-coverage:upload --format=php-clover coverage.clover - # fi + - bin/phpunit -v diff --git a/COPYING.md b/COPYING.md index b30299fe..bc5be341 100644 --- a/COPYING.md +++ b/COPYING.md @@ -1,19 +1,19 @@ -Copyright (c) 2013-2015 Nicolas Lœuillet - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +Copyright (c) 2013-2016 Nicolas Lœuillet + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/CREDITS.md b/CREDITS.md index e3916170..eb2096e0 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -2,5 +2,4 @@ wallabag is mainly developed by [Nicolas Lœuillet](https://github.com/nicosomb) Thank you so much to [@tcitworld](https://github.com/tcitworld) and [@j0k3r](https://github.com/j0k3r). -Thank you [to others contributors](https://github.com/wallabag/wallabag/graphs/contributors -). +Thank you [to others contributors](https://github.com/wallabag/wallabag/graphs/contributors). diff --git a/README.md b/README.md index 6d545ff5..927f39a8 100644 --- a/README.md +++ b/README.md @@ -16,12 +16,11 @@ If you don't have it yet, please [install composer](https://getcomposer.org/down ``` composer create-project wallabag/wallabag wallabag 2.0.0-alpha.1 -cd wallabag -php app/console wallabag:install -php app/console server:run +php bin/console wallabag:install +php bin/console server:run ``` ## License -Copyright © 2013-2015 Nicolas Lœuillet +Copyright © 2013-2016 Nicolas Lœuillet This work is free. You can redistribute it and/or modify it under the terms of the MIT License. See the COPYING file for more details. diff --git a/app/AppCache.php b/app/AppCache.php index ddb51db0..639ec2cd 100644 --- a/app/AppCache.php +++ b/app/AppCache.php @@ -1,7 +1,5 @@ getEnvironment(), array('dev', 'test'))) { + if (in_array($this->getEnvironment(), ['dev', 'test'], true)) { $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle(); $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); @@ -46,8 +46,23 @@ class AppKernel extends Kernel return $bundles; } + public function getRootDir() + { + return __DIR__; + } + + public function getCacheDir() + { + return dirname(__DIR__).'/var/cache/'.$this->getEnvironment(); + } + + public function getLogDir() + { + return dirname(__DIR__).'/var/logs'; + } + public function registerContainerConfiguration(LoaderInterface $loader) { - $loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml'); + $loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml'); } } diff --git a/app/autoload.php b/app/autoload.php index 70526bb5..fa582ecd 100644 --- a/app/autoload.php +++ b/app/autoload.php @@ -8,6 +8,6 @@ use Composer\Autoload\ClassLoader; */ $loader = require __DIR__.'/../vendor/autoload.php'; -AnnotationRegistry::registerLoader(array($loader, 'loadClass')); +AnnotationRegistry::registerLoader([$loader, 'loadClass']); return $loader; diff --git a/app/config/config.yml b/app/config/config.yml index 8e9369c2..19e7155d 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -21,9 +21,11 @@ framework: trusted_proxies: ~ session: # handler_id set to null will use default session handler from php.ini - handler_id: ~ + handler_id: session.handler.native_file + save_path: "%kernel.root_dir%/../var/sessions/%kernel.environment%" fragments: ~ http_method_override: true + assets: ~ wallabag_core: languages: @@ -59,9 +61,8 @@ twig: warning_message: %warning_message% paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb" flattr_url: "https://flattr.com/thing/1265480" - form: - resources: - - LexikFormFilterBundle:Form:form_div_layout.html.twig + form_themes: + - "LexikFormFilterBundle:Form:form_div_layout.html.twig" # Assetic Configuration assetic: @@ -171,14 +172,8 @@ liip_theme: autodetect_theme: wallabag_core.helper.detect_active_theme path_patterns: - # app_resource: - # - %%app_path%%/views/themes/%%current_theme%%/%%template%% - # - %%app_path%%/views/%%template%% bundle_resource: - %%bundle_path%%/Resources/views/themes/%%current_theme%%/%%template%% - # bundle_resource_dir: - # - %%dir%%/views/themes/%%current_theme%%/%%bundle_name%%/%%template%% - # - %%dir%%/views/%%bundle_name%%/%%override_path%% fos_user: db_driver: orm diff --git a/app/config/config_dev.yml b/app/config/config_dev.yml index 205e0f66..6b077fdb 100644 --- a/app/config/config_dev.yml +++ b/app/config/config_dev.yml @@ -17,13 +17,14 @@ monolog: type: stream path: "%kernel.logs_dir%/%kernel.environment%.log" level: debug + channels: [!event] console: type: console bubble: false verbosity_levels: VERBOSITY_VERBOSE: INFO VERBOSITY_VERY_VERBOSE: DEBUG - channels: ["!doctrine"] + channels: [!event, !doctrine] console_very_verbose: type: console bubble: false @@ -31,15 +32,7 @@ monolog: VERBOSITY_VERBOSE: NOTICE VERBOSITY_VERY_VERBOSE: NOTICE VERBOSITY_DEBUG: DEBUG - channels: ["doctrine"] - # uncomment to get logging in your browser - # you may have to allow bigger header sizes in your Web server configuration - #firephp: - # type: firephp - # level: info - #chromephp: - # type: chromephp - # level: info + channels: [doctrine] assetic: use_controller: true diff --git a/app/config/routing.yml b/app/config/routing.yml index 1ca2f677..84b98d23 100644 --- a/app/config/routing.yml +++ b/app/config/routing.yml @@ -8,7 +8,7 @@ wallabag_api: prefix: / app: - resource: @WallabagCoreBundle/Controller/ + resource: "@WallabagCoreBundle/Controller/" type: annotation doc-api: diff --git a/app/config/routing_dev.yml b/app/config/routing_dev.yml index 1a236e28..404f6a3b 100644 --- a/app/config/routing_dev.yml +++ b/app/config/routing_dev.yml @@ -6,13 +6,9 @@ _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 _main: - resource: routing.yml \ No newline at end of file + resource: routing.yml diff --git a/app/config/security.yml b/app/config/security.yml index 576cfd25..a99a7d80 100644 --- a/app/config/security.yml +++ b/app/config/security.yml @@ -15,6 +15,11 @@ security: # the main part of the security, where you can set up firewalls # for specific sections of your app firewalls: + # disables authentication for assets and the profiler, adapt it according to your needs + dev: + pattern: ^/(_(profiler|wdt)|css|images|js)/ + security: false + oauth_token: pattern: ^/oauth/v2/token security: false @@ -33,11 +38,11 @@ security: pattern: ^/ form_login: provider: fos_userbundle - csrf_provider: security.csrf.token_manager + csrf_token_generator: security.csrf.token_manager anonymous: true remember_me: - key: "%secret%" + secret: "%secret%" lifetime: 31536000 path: / domain: ~ diff --git a/app/console b/bin/console similarity index 73% rename from app/console rename to bin/console index fa6a36e2..49247c94 100755 --- a/app/console +++ b/bin/console @@ -1,22 +1,24 @@ #!/usr/bin/env php getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev'); -$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(array('--no-debug', '')) && $env !== 'prod'; +$env = $input->getParameterOption(['--env', '-e'], getenv('SYMFONY_ENV') ?: 'dev'); +$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(['--no-debug', '']) && $env !== 'prod'; if ($debug) { Debug::enable(); diff --git a/bin/doctrine b/bin/doctrine new file mode 120000 index 00000000..0f72e36f --- /dev/null +++ b/bin/doctrine @@ -0,0 +1 @@ +../vendor/doctrine/orm/bin/doctrine \ No newline at end of file diff --git a/bin/doctrine-dbal b/bin/doctrine-dbal new file mode 120000 index 00000000..110e93c5 --- /dev/null +++ b/bin/doctrine-dbal @@ -0,0 +1 @@ +../vendor/doctrine/dbal/bin/doctrine-dbal \ No newline at end of file diff --git a/bin/doctrine-migrations b/bin/doctrine-migrations new file mode 120000 index 00000000..7184da71 --- /dev/null +++ b/bin/doctrine-migrations @@ -0,0 +1 @@ +../vendor/doctrine/migrations/bin/doctrine-migrations \ No newline at end of file diff --git a/bin/doctrine.php b/bin/doctrine.php new file mode 120000 index 00000000..b22b74da --- /dev/null +++ b/bin/doctrine.php @@ -0,0 +1 @@ +../vendor/doctrine/orm/bin/doctrine.php \ No newline at end of file diff --git a/bin/poche.sqlite b/bin/poche.sqlite deleted file mode 100644 index f2b79b68..00000000 Binary files a/bin/poche.sqlite and /dev/null differ diff --git a/bin/security-checker b/bin/security-checker new file mode 120000 index 00000000..85f6e8ed --- /dev/null +++ b/bin/security-checker @@ -0,0 +1 @@ +../vendor/sensiolabs/security-checker/security-checker \ No newline at end of file diff --git a/app/check.php b/bin/symfony_requirements old mode 100644 new mode 100755 similarity index 91% rename from app/check.php rename to bin/symfony_requirements index 60ae0a8b..1eca6719 --- a/app/check.php +++ b/bin/symfony_requirements @@ -1,6 +1,7 @@ +#!/usr/bin/env php 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; @@ -121,8 +122,8 @@ 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_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); } diff --git a/build.xml b/build.xml index 110011e8..ab8cac29 100644 --- a/build.xml +++ b/build.xml @@ -6,7 +6,7 @@ - + @@ -19,28 +19,28 @@ - + - + - + - + - + @@ -55,7 +55,7 @@ - + @@ -69,7 +69,7 @@ - + @@ -83,7 +83,7 @@ - + diff --git a/composer.json b/composer.json index 3300c0fb..78b32307 100644 --- a/composer.json +++ b/composer.json @@ -28,35 +28,36 @@ "issues": "https://github.com/wallabag/wallabag/issues" }, "require": { - "php": ">=5.5.0", - "symfony/symfony": "~2.7.0", - "doctrine/orm": "~2.3", - "doctrine/doctrine-bundle": "1.5.2", + "php": ">=5.5.9", + "symfony/symfony": "3.0.*", + "doctrine/orm": "^2.5", + "doctrine/doctrine-bundle": "^1.6", + "doctrine/doctrine-cache-bundle": "^1.2", "twig/extensions": "~1.0", "symfony/assetic-bundle": "~2.3", - "symfony/swiftmailer-bundle": "~2.3", - "symfony/monolog-bundle": "~2.4", - "sensio/distribution-bundle": "~3.0.12", - "sensio/framework-extra-bundle": "~3.0", - "incenteev/composer-parameter-handler": "~2.0", + "symfony/swiftmailer-bundle": "^2.3", + "symfony/monolog-bundle": "^2.8", + "sensio/distribution-bundle": "^5.0", + "sensio/framework-extra-bundle": "^3.0.2", + "incenteev/composer-parameter-handler": "^2.0", "nelmio/cors-bundle": "~1.4.0", "friendsofsymfony/rest-bundle": "~1.4", - "jms/serializer-bundle": "~0.13", + "jms/serializer-bundle": "~1.0", "nelmio/api-doc-bundle": "~2.7", "ezyang/htmlpurifier": "~4.6", "mgargano/simplehtmldom": "~1.5", "tecnickcom/tcpdf": "~6.2", "simplepie/simplepie": "~1.3.1", - "willdurand/hateoas-bundle": "~0.5.0", + "willdurand/hateoas-bundle": "~1.0", "htmlawed/htmlawed": "~1.1.19", - "liip/theme-bundle": "~1.1.3", + "liip/theme-bundle": "~1.1", "pagerfanta/pagerfanta": "~1.0.3", - "lexik/form-filter-bundle": "~4.0", + "lexik/form-filter-bundle": "~5.0", "j0k3r/graby": "~1.0", "friendsofsymfony/user-bundle": "dev-master", - "friendsofsymfony/oauth-server-bundle": "^1.4@dev", + "friendsofsymfony/oauth-server-bundle": "^1.5@dev", "stof/doctrine-extensions-bundle": "^1.2@dev", - "scheb/two-factor-bundle": "~1.4.0", + "scheb/two-factor-bundle": "~2.0", "grandt/phpepub": "~4.0", "wallabag/php-mobi": "~1.0.0", "kphoen/rulerz-bundle": "~0.10", @@ -64,39 +65,36 @@ "doctrine/doctrine-migrations-bundle": "^1.0" }, "require-dev": { - "doctrine/doctrine-fixtures-bundle": "~2.2.0", - "sensio/generator-bundle": "~2.5", + "doctrine/doctrine-fixtures-bundle": "~2.2", + "sensio/generator-bundle": "^3.0", "phpunit/phpunit": "~4.4", - "symfony/phpunit-bridge": "~2.7.0" + "symfony/phpunit-bridge": "^2.7" }, - "repositories": [ - { - "type": "vcs", - "url": "https://github.com/wallabag/phpMobi" - } - ], "scripts": { - "post-install-cmd": [ - "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", - "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", - "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", - "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", - "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" + "build-parameters": [ + "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters" ], - "post-update-cmd": [ - "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", + "post-cmd": [ + "@build-parameters", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", - "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget" ], - "build-parameters": [ - "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters" + "post-install-cmd": [ + "@post-cmd" + ], + "post-update-cmd": [ + "@post-cmd" ] }, "extra": { "symfony-app-dir": "app", + "symfony-bin-dir": "bin", + "symfony-var-dir": "var", "symfony-web-dir": "web", + "symfony-tests-dir": "tests", "symfony-assets-install": "relative", "incenteev-parameters": { "file": "app/config/parameters.yml", @@ -109,7 +107,8 @@ } }, "autoload": { - "psr-0": { "": "src/" } + "psr-4": { "": "src/" }, + "classmap": [ "app/AppKernel.php", "app/AppCache.php" ] }, "config": { "bin-dir": "bin" diff --git a/composer.lock b/composer.lock index f47e8574..842b749d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "e738598a939db93e1c63d4aca980e42b", - "content-hash": "19dffb1d7e701242746aea4ca17cebc2", + "hash": "084bbfd3166c16fd6bb6feb2c954a9da", + "content-hash": "9352d3c7f307a23d5fec42c350ea0653", "packages": [ { "name": "behat/transliterator", @@ -397,16 +397,16 @@ }, { "name": "doctrine/doctrine-bundle", - "version": "v1.5.2", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "d63be7eb9a95d46720f7d6badac4e5bc2bcff2e3" + "reference": "c4ffef2b2296e9d0179eb0b5248e5ae25c9bba3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/d63be7eb9a95d46720f7d6badac4e5bc2bcff2e3", - "reference": "d63be7eb9a95d46720f7d6badac4e5bc2bcff2e3", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/c4ffef2b2296e9d0179eb0b5248e5ae25c9bba3b", + "reference": "c4ffef2b2296e9d0179eb0b5248e5ae25c9bba3b", "shasum": "" }, "require": { @@ -471,7 +471,7 @@ "orm", "persistence" ], - "time": "2015-08-31 14:47:06" + "time": "2015-11-16 17:11:46" }, { "name": "doctrine/doctrine-cache-bundle", @@ -983,32 +983,33 @@ }, { "name": "friendsofsymfony/oauth-server-bundle", - "version": "1.4.2", - "target-dir": "FOS/OAuthServerBundle", + "version": "1.5.0-BETA", "source": { "type": "git", "url": "https://github.com/FriendsOfSymfony/FOSOAuthServerBundle.git", - "reference": "9e15c229eff547443d686445d629e9356ab0672e" + "reference": "a67c26e3a37cd6a63f75e2607418dd9247ed741b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfSymfony/FOSOAuthServerBundle/zipball/9e15c229eff547443d686445d629e9356ab0672e", - "reference": "9e15c229eff547443d686445d629e9356ab0672e", + "url": "https://api.github.com/repos/FriendsOfSymfony/FOSOAuthServerBundle/zipball/a67c26e3a37cd6a63f75e2607418dd9247ed741b", + "reference": "a67c26e3a37cd6a63f75e2607418dd9247ed741b", "shasum": "" }, "require": { - "friendsofsymfony/oauth2-php": "~1.1.0", + "friendsofsymfony/oauth2-php": "~1.1", "php": ">=5.3.3", - "symfony/framework-bundle": "~2.1", - "symfony/security-bundle": "~2.1" + "symfony/framework-bundle": "~2.2|~3.0", + "symfony/security-bundle": "~2.1|~3.0" }, "require-dev": { "doctrine/doctrine-bundle": "~1.0", - "doctrine/mongodb-odm": "1.0.*@dev", - "doctrine/orm": ">=2.2,<2.5-dev", - "symfony/class-loader": "~2.1", - "symfony/yaml": "~2.1", - "willdurand/propel-typehintable-behavior": "1.0.*" + "doctrine/mongodb-odm": "~1.0", + "doctrine/orm": "~2.2", + "phing/phing": "~2.4", + "propel/propel1": "^1.6.5", + "symfony/class-loader": "~2.1|~3.0", + "symfony/yaml": "~2.1|~3.0", + "willdurand/propel-typehintable-behavior": "^1.0.4" }, "suggest": { "doctrine/doctrine-bundle": "*", @@ -1019,12 +1020,12 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.5-dev" } }, "autoload": { - "psr-0": { - "FOS\\OAuthServerBundle": "" + "psr-4": { + "FOS\\OAuthServerBundle\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1048,25 +1049,25 @@ "oauth2", "server" ], - "time": "2014-10-31 13:44:14" + "time": "2016-01-14 12:20:34" }, { "name": "friendsofsymfony/oauth2-php", - "version": "1.1.1", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/FriendsOfSymfony/oauth2-php.git", - "reference": "23e76537c4a02e666ab4ba5abe67a69a886a0310" + "reference": "4ae0a2aa85566146ef6f0f7169854c49e0c9243a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfSymfony/oauth2-php/zipball/23e76537c4a02e666ab4ba5abe67a69a886a0310", - "reference": "23e76537c4a02e666ab4ba5abe67a69a886a0310", + "url": "https://api.github.com/repos/FriendsOfSymfony/oauth2-php/zipball/4ae0a2aa85566146ef6f0f7169854c49e0c9243a", + "reference": "4ae0a2aa85566146ef6f0f7169854c49e0c9243a", "shasum": "" }, "require": { "php": ">=5.3.2", - "symfony/http-foundation": "~2.0" + "symfony/http-foundation": "~2.0|~3.0" }, "require-dev": { "phpunit/phpunit": "~4.0" @@ -1102,7 +1103,7 @@ "oauth", "oauth2" ], - "time": "2014-11-03 10:21:20" + "time": "2015-12-21 11:32:17" }, { "name": "friendsofsymfony/rest-bundle", @@ -1737,34 +1738,36 @@ }, { "name": "hoa/compiler", - "version": "2.15.10.29", + "version": "3.16.01.14", "source": { "type": "git", "url": "https://github.com/hoaproject/Compiler.git", - "reference": "ec0849fd3c1472fbcd86c3c961981f0cfe1f8d39" + "reference": "a1505e507e8368dbf7a5b490c4a5a90e06d7bd69" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/Compiler/zipball/ec0849fd3c1472fbcd86c3c961981f0cfe1f8d39", - "reference": "ec0849fd3c1472fbcd86c3c961981f0cfe1f8d39", + "url": "https://api.github.com/repos/hoaproject/Compiler/zipball/a1505e507e8368dbf7a5b490c4a5a90e06d7bd69", + "reference": "a1505e507e8368dbf7a5b490c4a5a90e06d7bd69", "shasum": "" }, "require": { - "hoa/core": "~2.0", - "hoa/file": "~0.0", - "hoa/iterator": "~1.0", - "hoa/math": "~0.0", - "hoa/regex": "~0.0", - "hoa/visitor": "~1.0" + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0", + "hoa/file": "~1.0", + "hoa/iterator": "~2.0", + "hoa/math": "~1.0", + "hoa/protocol": "~1.0", + "hoa/regex": "~1.0", + "hoa/visitor": "~2.0" }, "require-dev": { - "hoa/json": "~1.0", - "hoa/test": "~1.0" + "hoa/json": "~2.0", + "hoa/test": "~2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "3.x-dev" } }, "autoload": { @@ -1813,45 +1816,42 @@ "trace", "uniform" ], - "time": "2015-10-29 21:35:12" + "time": "2016-01-14 20:44:59" }, { - "name": "hoa/core", - "version": "2.15.11.09", + "name": "hoa/consistency", + "version": "1.16.01.14", "source": { "type": "git", - "url": "https://github.com/hoaproject/Core.git", - "reference": "5538b1e90e2c66c90df5cc45e03fb85d047be900" + "url": "https://github.com/hoaproject/Consistency.git", + "reference": "7656b971a8248a8d314ed0c5bb0668936438f62a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/Core/zipball/5538b1e90e2c66c90df5cc45e03fb85d047be900", - "reference": "5538b1e90e2c66c90df5cc45e03fb85d047be900", + "url": "https://api.github.com/repos/hoaproject/Consistency/zipball/7656b971a8248a8d314ed0c5bb0668936438f62a", + "reference": "7656b971a8248a8d314ed0c5bb0668936438f62a", "shasum": "" }, "require": { - "ext-spl": "*", - "php": ">=5.4.0" + "hoa/exception": "~1.0", + "php": ">=5.5.0" }, "require-dev": { - "hoa/test": "~1.0" - }, - "suggest": { - "ext-mbstring": "ext/mbstring must be present (or a third implementation).", - "hoa/cli": "To use the `hoa` script." + "hoa/stream": "~0.0", + "hoa/test": "~2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "Hoa\\Core\\": "." + "Hoa\\Consistency\\": "." }, "files": [ - "Core.php" + "Prelude.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1868,46 +1868,157 @@ "homepage": "http://hoa-project.net/" } ], - "description": "The Hoa\\Core library.", + "description": "The Hoa\\Consistency library.", "homepage": "http://hoa-project.net/", "keywords": [ + "autoloader", + "callable", "consistency", - "core", - "data", + "entity", + "flex", + "keyword", + "library" + ], + "time": "2016-01-14 10:26:48" + }, + { + "name": "hoa/event", + "version": "1.16.01.11", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Event.git", + "reference": "4470e090207336c01ea0cc6f9f1fa8832e4d9866" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Event/zipball/4470e090207336c01ea0cc6f9f1fa8832e4d9866", + "reference": "4470e090207336c01ea0cc6f9f1fa8832e4d9866", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Event\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Event library.", + "homepage": "http://hoa-project.net/", + "keywords": [ "event", "library", "listener", - "parameter", - "protocol" + "observer" + ], + "time": "2016-01-11 08:34:41" + }, + { + "name": "hoa/exception", + "version": "1.16.01.11", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Exception.git", + "reference": "fa4a9648aef2c8ca8f4cd543429b24dc8feaa366" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Exception/zipball/fa4a9648aef2c8ca8f4cd543429b24dc8feaa366", + "reference": "fa4a9648aef2c8ca8f4cd543429b24dc8feaa366", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/event": "~1.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Exception\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Exception library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "exception", + "library" ], - "time": "2015-11-09 06:51:06" + "time": "2016-01-11 08:38:17" }, { "name": "hoa/file", - "version": "0.15.11.09", + "version": "1.16.01.15", "source": { "type": "git", "url": "https://github.com/hoaproject/File.git", - "reference": "f46fe552ff79cb6c93a2ff9c25cfbc134fbd57ee" + "reference": "bc04ddb476bfeee03c2be585fc37a98d2887277b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/File/zipball/f46fe552ff79cb6c93a2ff9c25cfbc134fbd57ee", - "reference": "f46fe552ff79cb6c93a2ff9c25cfbc134fbd57ee", + "url": "https://api.github.com/repos/hoaproject/File/zipball/bc04ddb476bfeee03c2be585fc37a98d2887277b", + "reference": "bc04ddb476bfeee03c2be585fc37a98d2887277b", "shasum": "" }, "require": { - "hoa/core": "~2.0", - "hoa/iterator": "~1.0", - "hoa/stream": "~0.0" + "hoa/consistency": "~1.0", + "hoa/event": "~1.0", + "hoa/exception": "~1.0", + "hoa/iterator": "~2.0", + "hoa/stream": "~1.0" }, "require-dev": { - "hoa/test": "~1.0" + "hoa/test": "~2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -1940,32 +2051,33 @@ "link", "temporary" ], - "time": "2015-11-09 06:55:20" + "time": "2016-01-14 20:55:07" }, { "name": "hoa/iterator", - "version": "1.15.10.29", + "version": "2.16.01.11", "source": { "type": "git", "url": "https://github.com/hoaproject/Iterator.git", - "reference": "a64ed9fd62579a34e4450134d6d1abdf77d54435" + "reference": "eed36f2ec8233f494fd4450d570453b9a84736da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/Iterator/zipball/a64ed9fd62579a34e4450134d6d1abdf77d54435", - "reference": "a64ed9fd62579a34e4450134d6d1abdf77d54435", + "url": "https://api.github.com/repos/hoaproject/Iterator/zipball/eed36f2ec8233f494fd4450d570453b9a84736da", + "reference": "eed36f2ec8233f494fd4450d570453b9a84736da", "shasum": "" }, "require": { - "hoa/core": "~2.0" + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" }, "require-dev": { - "hoa/test": "~1.0" + "hoa/test": "~2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -1993,34 +2105,37 @@ "iterator", "library" ], - "time": "2015-10-29 21:37:16" + "time": "2016-01-11 09:13:46" }, { "name": "hoa/math", - "version": "0.15.10.26", + "version": "1.16.01.15", "source": { "type": "git", "url": "https://github.com/hoaproject/Math.git", - "reference": "62631c65d9a4f1b8bb4c4a3d6cdff0e8971d684e" + "reference": "218e6b4a42b66094e94cf9cbabf0a4276fece6bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/Math/zipball/62631c65d9a4f1b8bb4c4a3d6cdff0e8971d684e", - "reference": "62631c65d9a4f1b8bb4c4a3d6cdff0e8971d684e", + "url": "https://api.github.com/repos/hoaproject/Math/zipball/218e6b4a42b66094e94cf9cbabf0a4276fece6bf", + "reference": "218e6b4a42b66094e94cf9cbabf0a4276fece6bf", "shasum": "" }, "require": { - "hoa/compiler": "~2.0", - "hoa/core": "~2.0", - "hoa/iterator": "~1.0" + "hoa/compiler": "~3.0", + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0", + "hoa/iterator": "~2.0", + "hoa/protocol": "~1.0", + "hoa/zformat": "~1.0" }, "require-dev": { - "hoa/test": "~1.0" + "hoa/test": "~2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -2055,32 +2170,94 @@ "sampler", "set" ], - "time": "2015-10-26 15:22:52" + "time": "2016-01-14 21:02:22" + }, + { + "name": "hoa/protocol", + "version": "1.16.01.11", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Protocol.git", + "reference": "97a33357e9f0827b75e19a78429d037fab18c1ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Protocol/zipball/97a33357e9f0827b75e19a78429d037fab18c1ce", + "reference": "97a33357e9f0827b75e19a78429d037fab18c1ce", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Protocol\\": "." + }, + "files": [ + "Wrapper.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Protocol library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "library", + "protocol", + "resource", + "stream", + "wrapper" + ], + "time": "2016-01-11 08:41:20" }, { "name": "hoa/regex", - "version": "0.15.08.13", + "version": "1.16.01.15", "source": { "type": "git", "url": "https://github.com/hoaproject/Regex.git", - "reference": "2ef8a77ef3885ca202fcd9c31a8e54c44cd04232" + "reference": "e7fb36fdea23ea9fc814a1a68bd0144df1891463" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/Regex/zipball/2ef8a77ef3885ca202fcd9c31a8e54c44cd04232", - "reference": "2ef8a77ef3885ca202fcd9c31a8e54c44cd04232", + "url": "https://api.github.com/repos/hoaproject/Regex/zipball/e7fb36fdea23ea9fc814a1a68bd0144df1891463", + "reference": "e7fb36fdea23ea9fc814a1a68bd0144df1891463", "shasum": "" }, "require": { - "hoa/core": "~2.0", - "hoa/math": "~0.0", - "hoa/ustring": "~3.0", - "hoa/visitor": "~1.0" + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0", + "hoa/math": "~1.0", + "hoa/protocol": "~1.0", + "hoa/ustring": "~4.0", + "hoa/visitor": "~2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -2109,35 +2286,36 @@ "library", "regex" ], - "time": "2015-08-13 06:48:47" + "time": "2016-01-14 21:10:33" }, { "name": "hoa/ruler", - "version": "1.15.11.09", + "version": "2.16.01.15", "source": { "type": "git", "url": "https://github.com/hoaproject/Ruler.git", - "reference": "9afc9ae032d40b6dc10bff85c9126cf516953925" + "reference": "0aeb1a48d78427a55fbf656c65c6406c096a4325" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/Ruler/zipball/9afc9ae032d40b6dc10bff85c9126cf516953925", - "reference": "9afc9ae032d40b6dc10bff85c9126cf516953925", + "url": "https://api.github.com/repos/hoaproject/Ruler/zipball/0aeb1a48d78427a55fbf656c65c6406c096a4325", + "reference": "0aeb1a48d78427a55fbf656c65c6406c096a4325", "shasum": "" }, "require": { - "hoa/compiler": "~2.0", - "hoa/core": "~2.0", - "hoa/file": "~0.0", - "hoa/visitor": "~1.0" + "hoa/compiler": "~3.0", + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0", + "hoa/file": "~1.0", + "hoa/visitor": "~2.0" }, "require-dev": { - "hoa/test": "~1.0" + "hoa/test": "~2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -2165,29 +2343,32 @@ "library", "ruler" ], - "time": "2015-11-09 06:58:52" + "time": "2016-01-14 21:42:47" }, { "name": "hoa/stream", - "version": "0.15.10.26", + "version": "1.16.01.14", "source": { "type": "git", "url": "https://github.com/hoaproject/Stream.git", - "reference": "011ab91d942f1d7096deade4c8a10fe57d51c5b3" + "reference": "c00b35078ef8c0881b7d2ed533de19fe0aaf9896" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/Stream/zipball/011ab91d942f1d7096deade4c8a10fe57d51c5b3", - "reference": "011ab91d942f1d7096deade4c8a10fe57d51c5b3", + "url": "https://api.github.com/repos/hoaproject/Stream/zipball/c00b35078ef8c0881b7d2ed533de19fe0aaf9896", + "reference": "c00b35078ef8c0881b7d2ed533de19fe0aaf9896", "shasum": "" }, "require": { - "hoa/core": "~2.0" + "hoa/consistency": "~1.0", + "hoa/event": "~1.0", + "hoa/exception": "~1.0", + "hoa/protocol": "~1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -2223,27 +2404,28 @@ "stream", "wrapper" ], - "time": "2015-10-22 06:30:43" + "time": "2016-01-14 20:11:37" }, { "name": "hoa/ustring", - "version": "3.15.11.09", + "version": "4.16.01.11", "source": { "type": "git", "url": "https://github.com/hoaproject/Ustring.git", - "reference": "8506be4910212b1a2beb9014763a8a4fbd871001" + "reference": "9f76b9aae5901b4f476ef854e29ccd746d6899d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/Ustring/zipball/8506be4910212b1a2beb9014763a8a4fbd871001", - "reference": "8506be4910212b1a2beb9014763a8a4fbd871001", + "url": "https://api.github.com/repos/hoaproject/Ustring/zipball/9f76b9aae5901b4f476ef854e29ccd746d6899d2", + "reference": "9f76b9aae5901b4f476ef854e29ccd746d6899d2", "shasum": "" }, "require": { - "hoa/core": "~2.0" + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" }, "require-dev": { - "hoa/test": "~1.0" + "hoa/test": "~2.0" }, "suggest": { "ext-iconv": "ext/iconv must be present (or a third implementation) to use Hoa\\Ustring::transcode().", @@ -2252,7 +2434,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.x-dev" + "dev-master": "4.x-dev" } }, "autoload": { @@ -2282,32 +2464,32 @@ "string", "unicode" ], - "time": "2015-11-09 06:44:33" + "time": "2016-01-11 09:51:34" }, { "name": "hoa/visitor", - "version": "1.15.08.17", + "version": "2.16.01.11", "source": { "type": "git", "url": "https://github.com/hoaproject/Visitor.git", - "reference": "e30bfff741f71979f6476a41548e34afe8053c67" + "reference": "cb21074b7eb89c3ac9f76d25c72671d579735ca9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hoaproject/Visitor/zipball/e30bfff741f71979f6476a41548e34afe8053c67", - "reference": "e30bfff741f71979f6476a41548e34afe8053c67", + "url": "https://api.github.com/repos/hoaproject/Visitor/zipball/cb21074b7eb89c3ac9f76d25c72671d579735ca9", + "reference": "cb21074b7eb89c3ac9f76d25c72671d579735ca9", "shasum": "" }, "require": { - "hoa/core": "~2.0" + "hoa/consistency": "~1.0" }, "require-dev": { - "hoa/test": "~1.0" + "hoa/test": "~2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -2337,7 +2519,59 @@ "visit", "visitor" ], - "time": "2015-08-17 06:30:58" + "time": "2016-01-11 09:54:01" + }, + { + "name": "hoa/zformat", + "version": "1.16.01.14", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Zformat.git", + "reference": "685bba314c5cacb97afdd5e638b64c42399a580c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Zformat/zipball/685bba314c5cacb97afdd5e638b64c42399a580c", + "reference": "685bba314c5cacb97afdd5e638b64c42399a580c", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Zformat\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Zformat library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "library", + "parameter", + "zformat" + ], + "time": "2016-01-14 20:19:54" }, { "name": "htmlawed/htmlawed", @@ -2438,23 +2672,23 @@ }, { "name": "j0k3r/graby", - "version": "1.0.8", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/j0k3r/graby.git", - "reference": "bf152ccc6629bdd63b1e5e8b297c2912516b5f1e" + "reference": "fa5356fbbabe8288ed57a978ab05725c7063727e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/j0k3r/graby/zipball/bf152ccc6629bdd63b1e5e8b297c2912516b5f1e", - "reference": "bf152ccc6629bdd63b1e5e8b297c2912516b5f1e", + "url": "https://api.github.com/repos/j0k3r/graby/zipball/fa5356fbbabe8288ed57a978ab05725c7063727e", + "reference": "fa5356fbbabe8288ed57a978ab05725c7063727e", "shasum": "" }, "require": { "ext-curl": "*", "guzzlehttp/guzzle": "^5.2.0", "htmlawed/htmlawed": "^1.1.19", - "j0k3r/graby-site-config": "^1.0.0", + "j0k3r/graby-site-config": "^1.0", "j0k3r/php-readability": "^1.0", "j0k3r/safecurl": "~2.0", "monolog/monolog": "^1.13.1", @@ -2490,20 +2724,20 @@ } ], "description": "Graby helps you extract article content from web pages", - "time": "2015-12-24 08:28:38" + "time": "2016-01-15 09:52:40" }, { "name": "j0k3r/graby-site-config", - "version": "1.0.11", + "version": "1.0.12", "source": { "type": "git", "url": "https://github.com/j0k3r/graby-site-config.git", - "reference": "ac198f308beabccc97bbd35ed0daeaac63fbf1e3" + "reference": "ddd602cab137ee40ac3f5a8dd9b749bea7d2f541" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/j0k3r/graby-site-config/zipball/ac198f308beabccc97bbd35ed0daeaac63fbf1e3", - "reference": "ac198f308beabccc97bbd35ed0daeaac63fbf1e3", + "url": "https://api.github.com/repos/j0k3r/graby-site-config/zipball/ddd602cab137ee40ac3f5a8dd9b749bea7d2f541", + "reference": "ddd602cab137ee40ac3f5a8dd9b749bea7d2f541", "shasum": "" }, "require": { @@ -2526,7 +2760,7 @@ } ], "description": "Graby site config files", - "time": "2015-12-23 22:52:15" + "time": "2016-01-15 09:59:00" }, { "name": "j0k3r/php-readability", @@ -2781,36 +3015,41 @@ }, { "name": "jms/serializer", - "version": "0.16.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/serializer.git", - "reference": "c8a171357ca92b6706e395c757f334902d430ea9" + "reference": "fe13a1f993ea3456e195b7820692f2eb2b6bbb48" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/c8a171357ca92b6706e395c757f334902d430ea9", - "reference": "c8a171357ca92b6706e395c757f334902d430ea9", + "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/fe13a1f993ea3456e195b7820692f2eb2b6bbb48", + "reference": "fe13a1f993ea3456e195b7820692f2eb2b6bbb48", "shasum": "" }, "require": { "doctrine/annotations": "1.*", + "doctrine/instantiator": "~1.0.3", "jms/metadata": "~1.1", "jms/parser-lib": "1.*", - "php": ">=5.3.2", + "php": ">=5.4.0", "phpcollection/phpcollection": "~0.1" }, + "conflict": { + "twig/twig": "<1.12" + }, "require-dev": { "doctrine/orm": "~2.1", "doctrine/phpcr-odm": "~1.0.1", "jackalope/jackalope-doctrine-dbal": "1.0.*", + "phpunit/phpunit": "~4.0", "propel/propel1": "~1.7", "symfony/filesystem": "2.*", "symfony/form": "~2.1", "symfony/translation": "~2.0", "symfony/validator": "~2.0", "symfony/yaml": "2.*", - "twig/twig": ">=1.8,<2.0-dev" + "twig/twig": "~1.12|~2.0" }, "suggest": { "symfony/yaml": "Required if you'd like to serialize data to YAML format." @@ -2818,7 +3057,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.15-dev" + "dev-master": "1.1-dev" } }, "autoload": { @@ -2832,10 +3071,8 @@ ], "authors": [ { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" } ], "description": "Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.", @@ -2847,27 +3084,28 @@ "serialization", "xml" ], - "time": "2014-03-18 08:39:00" + "time": "2015-10-27 09:24:41" }, { "name": "jms/serializer-bundle", - "version": "0.13.0", + "version": "1.1.0", "target-dir": "JMS/SerializerBundle", "source": { "type": "git", "url": "https://github.com/schmittjoh/JMSSerializerBundle.git", - "reference": "bb15db3e661168f4310fad48b86915ff1ca33795" + "reference": "3e396c980545350c2efb65a50041d2a9f9d6562e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/JMSSerializerBundle/zipball/bb15db3e661168f4310fad48b86915ff1ca33795", - "reference": "bb15db3e661168f4310fad48b86915ff1ca33795", + "url": "https://api.github.com/repos/schmittjoh/JMSSerializerBundle/zipball/3e396c980545350c2efb65a50041d2a9f9d6562e", + "reference": "3e396c980545350c2efb65a50041d2a9f9d6562e", "shasum": "" }, "require": { - "jms/serializer": "~0.11", - "php": ">=5.3.2", - "symfony/framework-bundle": "~2.1" + "jms/serializer": "^1.0.0", + "php": ">=5.4.0", + "phpoption/phpoption": "^1.1.0", + "symfony/framework-bundle": "~2.3|~3.0" }, "require-dev": { "doctrine/doctrine-bundle": "*", @@ -2878,6 +3116,7 @@ "symfony/finder": "*", "symfony/form": "*", "symfony/process": "*", + "symfony/stopwatch": "*", "symfony/twig-bundle": "*", "symfony/validator": "*", "symfony/yaml": "*" @@ -2888,7 +3127,7 @@ "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "0.13-dev" + "dev-master": "1.1-dev" } }, "autoload": { @@ -2902,10 +3141,8 @@ ], "authors": [ { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" } ], "description": "Allows you to easily serialize, and deserialize data of any complexity", @@ -2917,26 +3154,26 @@ "serialization", "xml" ], - "time": "2013-12-05 14:36:11" + "time": "2015-11-10 12:26:42" }, { "name": "kphoen/rulerz", - "version": "0.16.2", + "version": "0.17.0", "source": { "type": "git", "url": "https://github.com/K-Phoen/rulerz.git", - "reference": "2b4fd796dadad204353e966b9f53040225ce6871" + "reference": "4ebd03bd801d17f108ab74f611b8ec1b430c909f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/K-Phoen/rulerz/zipball/2b4fd796dadad204353e966b9f53040225ce6871", - "reference": "2b4fd796dadad204353e966b9f53040225ce6871", + "url": "https://api.github.com/repos/K-Phoen/rulerz/zipball/4ebd03bd801d17f108ab74f611b8ec1b430c909f", + "reference": "4ebd03bd801d17f108ab74f611b8ec1b430c909f", "shasum": "" }, "require": { - "hoa/ruler": "~1.0", + "hoa/ruler": "~2.0", "php": ">=5.5", - "symfony/property-access": "~2.3" + "symfony/property-access": "~2.3|~3.0" }, "require-dev": { "behat/behat": "~3.0", @@ -2987,31 +3224,32 @@ "doctrine", "specification" ], - "time": "2015-12-07 22:24:24" + "time": "2016-01-13 16:55:19" }, { "name": "kphoen/rulerz-bundle", - "version": "0.11.0", + "version": "0.11.1", "source": { "type": "git", "url": "https://github.com/K-Phoen/RulerZBundle.git", - "reference": "dcaaed69d8252fa1e3a25802f8cf697947570778" + "reference": "57416b75d70d21c10c1f1c31b9fd6d2a7f82a277" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/K-Phoen/RulerZBundle/zipball/dcaaed69d8252fa1e3a25802f8cf697947570778", - "reference": "dcaaed69d8252fa1e3a25802f8cf697947570778", + "url": "https://api.github.com/repos/K-Phoen/RulerZBundle/zipball/57416b75d70d21c10c1f1c31b9fd6d2a7f82a277", + "reference": "57416b75d70d21c10c1f1c31b9fd6d2a7f82a277", "shasum": "" }, "require": { "kphoen/rulerz": "~0.1, >=0.13.0", - "symfony/framework-bundle": "~2.3|~3.0", - "symfony/validator": "~2.3|~3.0" + "symfony/framework-bundle": "~2.5|~3.0", + "symfony/validator": "~2.5|~3.0" }, "require-dev": { "matthiasnoback/symfony-dependency-injection-test": "~0.7", "mikey179/vfsstream": "~1.0", - "phpunit/phpunit": "~4.8" + "phpunit/phpunit": "~4.8", + "symfony/phpunit-bridge": "~2.7|~3.0" }, "type": "symfony-bundle", "autoload": { @@ -3037,7 +3275,7 @@ "rulerz", "specification" ], - "time": "2015-11-13 13:00:14" + "time": "2016-01-11 13:54:58" }, { "name": "kriswallsmith/assetic", @@ -3118,31 +3356,32 @@ }, { "name": "lexik/form-filter-bundle", - "version": "v4.0.2", + "version": "v5.0.0", "source": { "type": "git", "url": "https://github.com/lexik/LexikFormFilterBundle.git", - "reference": "d6081d308b71e14509602722c78d28801e4ed78a" + "reference": "dbc3c81600d2334a3408b37dccc3627d2019472c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lexik/LexikFormFilterBundle/zipball/d6081d308b71e14509602722c78d28801e4ed78a", - "reference": "d6081d308b71e14509602722c78d28801e4ed78a", + "url": "https://api.github.com/repos/lexik/LexikFormFilterBundle/zipball/dbc3c81600d2334a3408b37dccc3627d2019472c", + "reference": "dbc3c81600d2334a3408b37dccc3627d2019472c", "shasum": "" }, "require": { - "doctrine/orm": "~2.2", - "php": ">=5.3.2", - "symfony/form": "~2.7", - "symfony/framework-bundle": "~2.7" + "doctrine/orm": "^2.4.8", + "php": ">=5.5.9", + "symfony/form": "~2.8|~3.0", + "symfony/framework-bundle": "~2.8|~3.0" }, "require-dev": { + "doctrine/mongodb-odm-bundle": "~3.0", "phpunit/phpunit": "~3.7" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "4.x.x-dev" + "dev-master": "5.x.x-dev" } }, "autoload": { @@ -3173,40 +3412,44 @@ "filter", "form" ], - "time": "2015-10-20 12:45:52" + "time": "2016-01-11 17:05:05" }, { "name": "liip/theme-bundle", - "version": "1.1.3", - "target-dir": "Liip/ThemeBundle", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/liip/LiipThemeBundle.git", - "reference": "a594cc6deda293034b8fd7795c9950f02fc8251b" + "reference": "ae4f0f1b045689bed9150d5bd32d2f7f2f98b905" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/liip/LiipThemeBundle/zipball/a594cc6deda293034b8fd7795c9950f02fc8251b", - "reference": "a594cc6deda293034b8fd7795c9950f02fc8251b", + "url": "https://api.github.com/repos/liip/LiipThemeBundle/zipball/ae4f0f1b045689bed9150d5bd32d2f7f2f98b905", + "reference": "ae4f0f1b045689bed9150d5bd32d2f7f2f98b905", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/framework-bundle": "~2.0" + "php": "^5.3.9|^7.0", + "psr/log": "~1.0", + "symfony/framework-bundle": "~2.3|~3.0" }, "require-dev": { - "symfony/console": "~2.0", - "symfony/expression-language": "~2.6" + "kriswallsmith/assetic": "~1.1", + "phpunit/php-code-coverage": "~2.2@stable", + "phpunit/phpunit": "~4.5@stable", + "symfony/console": "~2.3|~3.0", + "symfony/expression-language": "~2.6|~3.0", + "twig/twig": "~1.4|~2.0@dev" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "1.4-dev" } }, "autoload": { - "psr-0": { - "Liip\\ThemeBundle": "" + "psr-4": { + "Liip\\ThemeBundle\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -3228,7 +3471,7 @@ "themes", "theming" ], - "time": "2015-02-02 15:55:54" + "time": "2015-12-05 09:33:29" }, { "name": "mgargano/simplehtmldom", @@ -3646,34 +3889,82 @@ "time": "2014-10-06 10:57:25" }, { - "name": "phpcollection/phpcollection", - "version": "0.4.0", + "name": "paragonie/random_compat", + "version": "1.1.5", "source": { "type": "git", - "url": "https://github.com/schmittjoh/php-collection.git", - "reference": "b8bf55a0a929ca43b01232b36719f176f86c7e83" + "url": "https://github.com/paragonie/random_compat.git", + "reference": "dd8998b7c846f6909f4e7a5f67fabebfc412a4f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/b8bf55a0a929ca43b01232b36719f176f86c7e83", - "reference": "b8bf55a0a929ca43b01232b36719f176f86c7e83", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/dd8998b7c846f6909f4e7a5f67fabebfc412a4f7", + "reference": "dd8998b7c846f6909f4e7a5f67fabebfc412a4f7", "shasum": "" }, "require": { - "phpoption/phpoption": "1.*" + "php": ">=5.2.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.3-dev" - } + "require-dev": { + "phpunit/phpunit": "4.*|5.*" }, - "autoload": { - "psr-0": { - "PhpCollection": "src/" - } + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." }, - "notification-url": "https://packagist.org/downloads/", + "type": "library", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "pseudorandom", + "random" + ], + "time": "2016-01-06 13:31:20" + }, + { + "name": "phpcollection/phpcollection", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-collection.git", + "reference": "b8bf55a0a929ca43b01232b36719f176f86c7e83" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/b8bf55a0a929ca43b01232b36719f176f86c7e83", + "reference": "b8bf55a0a929ca43b01232b36719f176f86c7e83", + "shasum": "" + }, + "require": { + "phpoption/phpoption": "1.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.3-dev" + } + }, + "autoload": { + "psr-0": { + "PhpCollection": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", "license": [ "Apache2" ], @@ -3890,26 +4181,27 @@ }, { "name": "scheb/two-factor-bundle", - "version": "v1.4.7", + "version": "v2.0.0", "source": { "type": "git", "url": "https://github.com/scheb/two-factor-bundle.git", - "reference": "ef6830dbbf62b22efd335db8f64bf0f51d4284a2" + "reference": "27c8e3530c077bbfb2a5312dd8fc3005f26c0fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/scheb/two-factor-bundle/zipball/ef6830dbbf62b22efd335db8f64bf0f51d4284a2", - "reference": "ef6830dbbf62b22efd335db8f64bf0f51d4284a2", + "url": "https://api.github.com/repos/scheb/two-factor-bundle/zipball/27c8e3530c077bbfb2a5312dd8fc3005f26c0fc4", + "reference": "27c8e3530c077bbfb2a5312dd8fc3005f26c0fc4", "shasum": "" }, "require": { + "paragonie/random_compat": "~1.0", "sonata-project/google-authenticator": "~1.0", - "symfony/symfony": "~2.1" + "symfony/symfony": "~2.6|~3.0" }, "require-dev": { "satooshi/php-coveralls": "~0.6", "swiftmailer/swiftmailer": ">=4.3, <6.0", - "symfony/phpunit-bridge": "~2.7" + "symfony/phpunit-bridge": "~2.7|~3.0" }, "type": "symfony-bundle", "autoload": { @@ -3927,57 +4219,50 @@ "email": "me@christianscheb.de" } ], - "description": "Provides two-factor authenticaton for Symfony2", + "description": "Provides two-factor authentication for Symfony applications", "homepage": "https://github.com/scheb/two-factor-bundle", "keywords": [ "Authentication", - "Symfony2", + "security", + "symfony", "two-factor", "two-step" ], - "time": "2015-08-25 19:58:00" + "time": "2015-12-31 17:20:20" }, { "name": "sensio/distribution-bundle", - "version": "v3.0.34", - "target-dir": "Sensio/Bundle/DistributionBundle", + "version": "v5.0.3", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioDistributionBundle.git", - "reference": "587f3cd08bf8856cfc888b255f34f18b85930657" + "reference": "419c1824af940e2be0f833aca2327e1181a6b503" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/587f3cd08bf8856cfc888b255f34f18b85930657", - "reference": "587f3cd08bf8856cfc888b255f34f18b85930657", + "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/419c1824af940e2be0f833aca2327e1181a6b503", + "reference": "419c1824af940e2be0f833aca2327e1181a6b503", "shasum": "" }, "require": { - "php": ">=5.3.3", + "php": ">=5.3.9", "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" + "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/", @@ -3995,7 +4280,7 @@ "configuration", "distribution" ], - "time": "2015-11-26 18:10:17" + "time": "2015-12-18 17:44:11" }, { "name": "sensio/framework-extra-bundle", @@ -4245,22 +4530,22 @@ }, { "name": "stof/doctrine-extensions-bundle", - "version": "v1.2.1", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/stof/StofDoctrineExtensionsBundle.git", - "reference": "7b3144572617b0555f9a443317dbc2f9cf5b524e" + "reference": "6672ca37fe19a8e2a8ae52a93a7163e1b00ef7d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stof/StofDoctrineExtensionsBundle/zipball/7b3144572617b0555f9a443317dbc2f9cf5b524e", - "reference": "7b3144572617b0555f9a443317dbc2f9cf5b524e", + "url": "https://api.github.com/repos/stof/StofDoctrineExtensionsBundle/zipball/6672ca37fe19a8e2a8ae52a93a7163e1b00ef7d5", + "reference": "6672ca37fe19a8e2a8ae52a93a7163e1b00ef7d5", "shasum": "" }, "require": { "gedmo/doctrine-extensions": "^2.3.1", "php": ">=5.3.2", - "symfony/framework-bundle": "~2.1" + "symfony/framework-bundle": "~2.1|~3.0" }, "suggest": { "doctrine/doctrine-bundle": "to use the ORM extensions", @@ -4302,7 +4587,7 @@ "translatable", "tree" ], - "time": "2015-08-12 16:23:48" + "time": "2015-11-26 18:29:38" }, { "name": "swiftmailer/swiftmailer", @@ -4486,18 +4771,299 @@ ], "time": "2015-11-17 10:02:29" }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "2deb44160e1c886241c06602b12b98779f728177" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/2deb44160e1c886241c06602b12b98779f728177", + "reference": "2deb44160e1c886241c06602b12b98779f728177", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/intl": "~2.3|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "time": "2015-11-04 20:28:58" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "49ff736bd5d41f45240cec77b44967d76e0c3d25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/49ff736bd5d41f45240cec77b44967d76e0c3d25", + "reference": "49ff736bd5d41f45240cec77b44967d76e0c3d25", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2015-11-20 09:19:13" + }, + { + "name": "symfony/polyfill-php56", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "e2e77609a9e2328eb370fbb0e0d8b2000ebb488f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/e2e77609a9e2328eb370fbb0e0d8b2000ebb488f", + "reference": "e2e77609a9e2328eb370fbb0e0d8b2000ebb488f", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-util": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php56\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2015-12-18 15:10:25" + }, + { + "name": "symfony/polyfill-php70", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php70.git", + "reference": "7f7f3c9c2b9f17722e0cd64fdb4f957330c53146" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/7f7f3c9c2b9f17722e0cd64fdb4f957330c53146", + "reference": "7f7f3c9c2b9f17722e0cd64fdb4f957330c53146", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "~1.0", + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php70\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2015-11-04 20:28:58" + }, + { + "name": "symfony/polyfill-util", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-util.git", + "reference": "4271c55cbc0a77b2641f861b978123e46b3da969" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/4271c55cbc0a77b2641f861b978123e46b3da969", + "reference": "4271c55cbc0a77b2641f861b978123e46b3da969", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Util\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony utilities for portability of PHP codes", + "homepage": "https://symfony.com", + "keywords": [ + "compat", + "compatibility", + "polyfill", + "shim" + ], + "time": "2015-11-04 20:28:58" + }, { "name": "symfony/swiftmailer-bundle", - "version": "v2.3.9", + "version": "v2.3.10", "source": { "type": "git", "url": "https://github.com/symfony/swiftmailer-bundle.git", - "reference": "3d21ada19f23631f558ad6df653b168e35362e78" + "reference": "de5a2ddcaf91d2e44c19161e0fe8ed88022ceb51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/3d21ada19f23631f558ad6df653b168e35362e78", - "reference": "3d21ada19f23631f558ad6df653b168e35362e78", + "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/de5a2ddcaf91d2e44c19161e0fe8ed88022ceb51", + "reference": "de5a2ddcaf91d2e44c19161e0fe8ed88022ceb51", "shasum": "" }, "require": { @@ -4541,28 +5107,36 @@ ], "description": "Symfony SwiftmailerBundle", "homepage": "http://symfony.com", - "time": "2015-11-28 10:59:29" + "time": "2016-01-14 10:25:38" }, { "name": "symfony/symfony", - "version": "v2.7.8", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/symfony.git", - "reference": "ad264021e44a5aaa132f16aef69f92e56795683e" + "reference": "979d7323716fec847508eac3e62d59b117612a6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/ad264021e44a5aaa132f16aef69f92e56795683e", - "reference": "ad264021e44a5aaa132f16aef69f92e56795683e", + "url": "https://api.github.com/repos/symfony/symfony/zipball/979d7323716fec847508eac3e62d59b117612a6e", + "reference": "979d7323716fec847508eac3e62d59b117612a6e", "shasum": "" }, "require": { "doctrine/common": "~2.4", - "php": ">=5.3.9", + "php": ">=5.5.9", "psr/log": "~1.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php56": "~1.0", + "symfony/polyfill-php70": "~1.0", + "symfony/polyfill-util": "~1.0", "twig/twig": "~1.23|~2.0" }, + "conflict": { + "phpdocumentor/reflection": "<1.0.7" + }, "replace": { "symfony/asset": "self.version", "symfony/browser-kit": "self.version", @@ -4584,22 +5158,22 @@ "symfony/http-foundation": "self.version", "symfony/http-kernel": "self.version", "symfony/intl": "self.version", - "symfony/locale": "self.version", + "symfony/ldap": "self.version", "symfony/monolog-bridge": "self.version", "symfony/options-resolver": "self.version", "symfony/process": "self.version", "symfony/property-access": "self.version", + "symfony/property-info": "self.version", "symfony/proxy-manager-bridge": "self.version", "symfony/routing": "self.version", "symfony/security": "self.version", - "symfony/security-acl": "self.version", "symfony/security-bundle": "self.version", "symfony/security-core": "self.version", "symfony/security-csrf": "self.version", + "symfony/security-guard": "self.version", "symfony/security-http": "self.version", "symfony/serializer": "self.version", "symfony/stopwatch": "self.version", - "symfony/swiftmailer-bridge": "self.version", "symfony/templating": "self.version", "symfony/translation": "self.version", "symfony/twig-bridge": "self.version", @@ -4612,17 +5186,18 @@ "require-dev": { "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", - "ircmaxell/password-compat": "~1.0", "monolog/monolog": "~1.11", - "ocramius/proxy-manager": "~0.4|~1.0" + "ocramius/proxy-manager": "~0.4|~1.0", + "phpdocumentor/reflection": "^1.0.7", + "symfony/security-acl": "~2.8|~3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -4636,12 +5211,8 @@ "Symfony\\Component\\": "src/Symfony/Component/" }, "classmap": [ - "src/Symfony/Component/HttpFoundation/Resources/stubs", "src/Symfony/Component/Intl/Resources/stubs" ], - "files": [ - "src/Symfony/Component/Intl/Resources/stubs/functions.php" - ], "exclude-from-classmap": [ "**/Tests/" ] @@ -4665,7 +5236,7 @@ "keywords": [ "framework" ], - "time": "2015-12-26 15:02:06" + "time": "2015-12-26 16:49:48" }, { "name": "tecnickcom/tcpdf", @@ -4784,16 +5355,16 @@ }, { "name": "twig/twig", - "version": "v1.23.1", + "version": "v1.23.3", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "d9b6333ae8dd2c8e3fd256e127548def0bc614c6" + "reference": "ae53fc2c312fdee63773b75cb570304f85388b08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/d9b6333ae8dd2c8e3fd256e127548def0bc614c6", - "reference": "d9b6333ae8dd2c8e3fd256e127548def0bc614c6", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/ae53fc2c312fdee63773b75cb570304f85388b08", + "reference": "ae53fc2c312fdee63773b75cb570304f85388b08", "shasum": "" }, "require": { @@ -4841,7 +5412,7 @@ "keywords": [ "templating" ], - "time": "2015-11-05 12:49:06" + "time": "2016-01-11 14:02:19" }, { "name": "wallabag/php-mobi", @@ -4891,34 +5462,34 @@ }, { "name": "willdurand/hateoas", - "version": "v2.6.0", + "version": "v2.9.0", "source": { "type": "git", "url": "https://github.com/willdurand/Hateoas.git", - "reference": "fc0869381d6934e5d430084154584761297caa6c" + "reference": "6e6ee945100bef3534c9276f0cf1c70d0115670c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/willdurand/Hateoas/zipball/fc0869381d6934e5d430084154584761297caa6c", - "reference": "fc0869381d6934e5d430084154584761297caa6c", + "url": "https://api.github.com/repos/willdurand/Hateoas/zipball/6e6ee945100bef3534c9276f0cf1c70d0115670c", + "reference": "6e6ee945100bef3534c9276f0cf1c70d0115670c", "shasum": "" }, "require": { "doctrine/annotations": "~1.0", "doctrine/common": "~2.0", "jms/metadata": "~1.1", - "jms/serializer": "~0.13", - "php": ">=5.3", - "symfony/expression-language": "~2.4" + "jms/serializer": "~1.0", + "php": ">=5.4", + "symfony/expression-language": "~2.4 || ~3.0" }, "require-dev": { "atoum/atoum": "*@dev", "hautelook/frankenstein": "~0.1", "pagerfanta/pagerfanta": "~1.0", "phpunit/phpunit": "~3.7", - "symfony/dependency-injection": "~2.0", - "symfony/routing": "~2.0", - "symfony/yaml": "~2.0", + "symfony/dependency-injection": "~2.0 || ~3.0", + "symfony/routing": "~2.0 || ~3.0", + "symfony/yaml": "~2.0 || ~3.0", "twig/twig": "~1.12" }, "suggest": { @@ -4929,7 +5500,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.9-dev" } }, "autoload": { @@ -4952,36 +5523,36 @@ } ], "description": "A PHP library to support implementing representations for HATEOAS REST web services", - "time": "2015-05-21 21:57:34" + "time": "2015-12-04 15:31:02" }, { "name": "willdurand/hateoas-bundle", - "version": "0.5.0", + "version": "1.1.0", "target-dir": "Bazinga/Bundle/HateoasBundle", "source": { "type": "git", "url": "https://github.com/willdurand/BazingaHateoasBundle.git", - "reference": "3c86e8080e8a229365a0ce91818da6fe6562376b" + "reference": "205a5a16899716f33edfb7a5afc4d451d0d2d0b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/willdurand/BazingaHateoasBundle/zipball/3c86e8080e8a229365a0ce91818da6fe6562376b", - "reference": "3c86e8080e8a229365a0ce91818da6fe6562376b", + "url": "https://api.github.com/repos/willdurand/BazingaHateoasBundle/zipball/205a5a16899716f33edfb7a5afc4d451d0d2d0b2", + "reference": "205a5a16899716f33edfb7a5afc4d451d0d2d0b2", "shasum": "" }, "require": { - "jms/serializer-bundle": "~0.13", - "symfony/framework-bundle": "~2.2", - "willdurand/hateoas": "~2.0" + "jms/serializer-bundle": "~1.0", + "symfony/framework-bundle": "~2.2 || ~3.0", + "willdurand/hateoas": "~2.9" }, "require-dev": { - "symfony/expression-language": "~2.4", + "symfony/expression-language": "~2.4 || ~3.0", "twig/twig": "~1.12" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.2-dev" } }, "autoload": { @@ -5004,7 +5575,7 @@ "HATEOAS", "rest" ], - "time": "2015-02-19 16:27:51" + "time": "2015-12-07 08:25:05" }, { "name": "willdurand/jsonp-callback-validator", @@ -5156,23 +5727,23 @@ }, { "name": "doctrine/doctrine-fixtures-bundle", - "version": "v2.2.1", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineFixturesBundle.git", - "reference": "817c2d233fde0fe85cb7e4d25d43fbfcd028aef8" + "reference": "0f1a2f91b349e10f5c343f75ab71d23aace5b029" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/817c2d233fde0fe85cb7e4d25d43fbfcd028aef8", - "reference": "817c2d233fde0fe85cb7e4d25d43fbfcd028aef8", + "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/0f1a2f91b349e10f5c343f75ab71d23aace5b029", + "reference": "0f1a2f91b349e10f5c343f75ab71d23aace5b029", "shasum": "" }, "require": { "doctrine/data-fixtures": "~1.0", "doctrine/doctrine-bundle": "~1.0", "php": ">=5.3.2", - "symfony/doctrine-bridge": "~2.1" + "symfony/doctrine-bridge": "~2.3|~3.0" }, "type": "symfony-bundle", "extra": { @@ -5209,7 +5780,7 @@ "Fixture", "persistence" ], - "time": "2015-08-04 22:43:14" + "time": "2015-11-04 21:23:23" }, { "name": "phpdocumentor/reflection-docblock", @@ -6061,38 +6632,42 @@ }, { "name": "sensio/generator-bundle", - "version": "v2.5.3", - "target-dir": "Sensio/Bundle/GeneratorBundle", + "version": "v3.0.5", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioGeneratorBundle.git", - "reference": "e50108c2133ee5c9c484555faed50c17a61221d3" + "reference": "5274eafa251359087230bade2ff35dd6cec2e530" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/e50108c2133ee5c9c484555faed50c17a61221d3", - "reference": "e50108c2133ee5c9c484555faed50c17a61221d3", + "url": "https://api.github.com/repos/sensiolabs/SensioGeneratorBundle/zipball/5274eafa251359087230bade2ff35dd6cec2e530", + "reference": "5274eafa251359087230bade2ff35dd6cec2e530", "shasum": "" }, "require": { - "symfony/console": "~2.5", - "symfony/framework-bundle": "~2.2" + "symfony/console": "~2.7|~3.0", + "symfony/framework-bundle": "~2.7|~3.0", + "symfony/process": "~2.7|~3.0", + "symfony/yaml": "~2.7|~3.0" }, "require-dev": { - "doctrine/orm": "~2.2,>=2.2.3", - "symfony/doctrine-bridge": "~2.2", - "twig/twig": "~1.11" + "doctrine/orm": "~2.4", + "symfony/doctrine-bridge": "~2.7|~3.0", + "twig/twig": "~1.18" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "2.5.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { - "psr-0": { - "Sensio\\Bundle\\GeneratorBundle": "" - } + "psr-4": { + "Sensio\\Bundle\\GeneratorBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6105,24 +6680,24 @@ } ], "description": "This bundle generates code for you", - "time": "2015-03-17 06:36:52" + "time": "2016-01-05 16:30:36" }, { "name": "symfony/phpunit-bridge", - "version": "v2.7.8", + "version": "v2.8.2", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "e960e64acbed50e49818eb78840486c8d7fe1bed" + "reference": "855dc0e829fad123966347612b4183e307338c11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/e960e64acbed50e49818eb78840486c8d7fe1bed", - "reference": "e960e64acbed50e49818eb78840486c8d7fe1bed", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/855dc0e829fad123966347612b4183e307338c11", + "reference": "855dc0e829fad123966347612b4183e307338c11", "shasum": "" }, "require": { - "php": ">=5.3.9" + "php": ">=5.3.3" }, "suggest": { "symfony/debug": "For tracking deprecated interfaces usages at runtime with DebugClassLoader" @@ -6130,7 +6705,7 @@ "type": "symfony-bridge", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "2.8-dev" } }, "autoload": { @@ -6160,7 +6735,7 @@ ], "description": "Symfony PHPUnit Bridge", "homepage": "https://symfony.com", - "time": "2015-11-06 10:15:01" + "time": "2016-01-06 09:59:23" } ], "aliases": [], @@ -6173,7 +6748,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=5.5.0" + "php": ">=5.5.9" }, "platform-dev": [] } diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 7bec5b5e..e68df9de 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -9,32 +9,27 @@ processIsolation="false" stopOnFailure="false" syntaxCheck="false" - bootstrap="app/bootstrap.php.cache" + bootstrap="app/autoload.php" > - ./src/Wallabag/*Bundle/Tests + src/Wallabag/*Bundle/Tests - - - + - ./src + src - ./vendor - ./src/Wallabag/*Bundle/Resources - ./src/Wallabag/*Bundle/Tests - ./src/Wallabag/*Bundle/DataFixtures + vendor + src/Wallabag/*Bundle/Resources + src/Wallabag/*Bundle/Tests + src/Wallabag/*Bundle/DataFixtures diff --git a/src/Wallabag/ApiBundle/Controller/WallabagRestController.php b/src/Wallabag/ApiBundle/Controller/WallabagRestController.php index 354a6f8e..d9035cac 100644 --- a/src/Wallabag/ApiBundle/Controller/WallabagRestController.php +++ b/src/Wallabag/ApiBundle/Controller/WallabagRestController.php @@ -3,13 +3,14 @@ namespace Wallabag\ApiBundle\Controller; use FOS\RestBundle\Controller\FOSRestController; +use Hateoas\Configuration\Route; +use Hateoas\Representation\Factory\PagerfantaFactory; use Nelmio\ApiDocBundle\Annotation\ApiDoc; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\Routing\Generator\UrlGeneratorInterface; use Wallabag\CoreBundle\Entity\Entry; use Wallabag\CoreBundle\Entity\Tag; -use Hateoas\Configuration\Route; -use Hateoas\Representation\Factory\PagerfantaFactory; class WallabagRestController extends FOSRestController { @@ -84,7 +85,7 @@ class WallabagRestController extends FOSRestController $pagerfantaFactory = new PagerfantaFactory('page', 'perPage'); $paginatedCollection = $pagerfantaFactory->createRepresentation( $pager, - new Route('api_get_entries', [], $absolute = true) + new Route('api_get_entries', [], UrlGeneratorInterface::ABSOLUTE_URL) ); $json = $this->get('serializer')->serialize($paginatedCollection, 'json'); diff --git a/src/Wallabag/ApiBundle/Entity/AccessToken.php b/src/Wallabag/ApiBundle/Entity/AccessToken.php index b1f4e7de..2ff63a83 100644 --- a/src/Wallabag/ApiBundle/Entity/AccessToken.php +++ b/src/Wallabag/ApiBundle/Entity/AccessToken.php @@ -2,8 +2,8 @@ namespace Wallabag\ApiBundle\Entity; -use FOS\OAuthServerBundle\Entity\AccessToken as BaseAccessToken; use Doctrine\ORM\Mapping as ORM; +use FOS\OAuthServerBundle\Entity\AccessToken as BaseAccessToken; /** * @ORM\Table("oauth2_access_tokens") diff --git a/src/Wallabag/ApiBundle/Entity/AuthCode.php b/src/Wallabag/ApiBundle/Entity/AuthCode.php index 81398158..4d4b09fe 100644 --- a/src/Wallabag/ApiBundle/Entity/AuthCode.php +++ b/src/Wallabag/ApiBundle/Entity/AuthCode.php @@ -2,8 +2,8 @@ namespace Wallabag\ApiBundle\Entity; -use FOS\OAuthServerBundle\Entity\AuthCode as BaseAuthCode; use Doctrine\ORM\Mapping as ORM; +use FOS\OAuthServerBundle\Entity\AuthCode as BaseAuthCode; /** * @ORM\Table("oauth2_auth_codes") diff --git a/src/Wallabag/ApiBundle/Entity/Client.php b/src/Wallabag/ApiBundle/Entity/Client.php index d449870a..c04ed0f6 100644 --- a/src/Wallabag/ApiBundle/Entity/Client.php +++ b/src/Wallabag/ApiBundle/Entity/Client.php @@ -2,8 +2,8 @@ namespace Wallabag\ApiBundle\Entity; -use FOS\OAuthServerBundle\Entity\Client as BaseClient; use Doctrine\ORM\Mapping as ORM; +use FOS\OAuthServerBundle\Entity\Client as BaseClient; /** * @ORM\Table("oauth2_clients") diff --git a/src/Wallabag/ApiBundle/Entity/RefreshToken.php b/src/Wallabag/ApiBundle/Entity/RefreshToken.php index be2c1d2e..6d0cab68 100644 --- a/src/Wallabag/ApiBundle/Entity/RefreshToken.php +++ b/src/Wallabag/ApiBundle/Entity/RefreshToken.php @@ -2,8 +2,8 @@ namespace Wallabag\ApiBundle\Entity; -use FOS\OAuthServerBundle\Entity\RefreshToken as BaseRefreshToken; use Doctrine\ORM\Mapping as ORM; +use FOS\OAuthServerBundle\Entity\RefreshToken as BaseRefreshToken; /** * @ORM\Table("oauth2_refresh_tokens") diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php index e791d4dd..da099a19 100644 --- a/src/Wallabag/CoreBundle/Command/InstallCommand.php +++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php @@ -3,14 +3,14 @@ namespace Wallabag\CoreBundle\Command; use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; +use Symfony\Component\Console\Helper\Table; +use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Input\ArrayInput; -use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\NullOutput; -use Symfony\Component\Console\Question\Question; +use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Question\ConfirmationQuestion; -use Symfony\Component\Console\Helper\Table; +use Symfony\Component\Console\Question\Question; use Wallabag\CoreBundle\Entity\Config; class InstallCommand extends ContainerAwareCommand @@ -55,7 +55,7 @@ class InstallCommand extends ContainerAwareCommand ; $output->writeln('Wallabag has been successfully installed.'); - $output->writeln('Just execute `php app/console server:run` for using wallabag: http://localhost:8000'); + $output->writeln('Just execute `php bin/console server:run` for using wallabag: http://localhost:8000'); } protected function checkRequirements() diff --git a/src/Wallabag/CoreBundle/Controller/ConfigController.php b/src/Wallabag/CoreBundle/Controller/ConfigController.php index 7a187710..d0cf91de 100644 --- a/src/Wallabag/CoreBundle/Controller/ConfigController.php +++ b/src/Wallabag/CoreBundle/Controller/ConfigController.php @@ -4,17 +4,18 @@ namespace Wallabag\CoreBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Controller; -use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\JsonResponse; +use Symfony\Component\HttpFoundation\Request; use Wallabag\CoreBundle\Entity\Config; use Wallabag\CoreBundle\Entity\TaggingRule; -use Wallabag\UserBundle\Entity\User; +use Wallabag\CoreBundle\Form\Type\ConfigType; use Wallabag\CoreBundle\Form\Type\ChangePasswordType; -use Wallabag\CoreBundle\Form\Type\UserInformationType; -use Wallabag\CoreBundle\Form\Type\TaggingRuleType; use Wallabag\CoreBundle\Form\Type\NewUserType; use Wallabag\CoreBundle\Form\Type\RssType; +use Wallabag\CoreBundle\Form\Type\TaggingRuleType; +use Wallabag\CoreBundle\Form\Type\UserInformationType; use Wallabag\CoreBundle\Tools\Utils; +use Wallabag\UserBundle\Entity\User; class ConfigController extends Controller { @@ -31,7 +32,7 @@ class ConfigController extends Controller $user = $this->getUser(); // handle basic config detail (this form is defined as a service) - $configForm = $this->createForm('config', $config, array('action' => $this->generateUrl('config'))); + $configForm = $this->createForm(ConfigType::class, $config, array('action' => $this->generateUrl('config'))); $configForm->handleRequest($request); if ($configForm->isValid()) { @@ -51,7 +52,7 @@ class ConfigController extends Controller } // handle changing password - $pwdForm = $this->createForm(new ChangePasswordType(), null, array('action' => $this->generateUrl('config').'#set4')); + $pwdForm = $this->createForm(ChangePasswordType::class, null, array('action' => $this->generateUrl('config').'#set4')); $pwdForm->handleRequest($request); if ($pwdForm->isValid()) { @@ -67,7 +68,7 @@ class ConfigController extends Controller } // handle changing user information - $userForm = $this->createForm(new UserInformationType(), $user, array( + $userForm = $this->createForm(UserInformationType::class, $user, array( 'validation_groups' => array('Profile'), 'action' => $this->generateUrl('config').'#set3', )); @@ -85,7 +86,7 @@ class ConfigController extends Controller } // handle rss information - $rssForm = $this->createForm(new RssType(), $config, array('action' => $this->generateUrl('config').'#set2')); + $rssForm = $this->createForm(RssType::class, $config, array('action' => $this->generateUrl('config').'#set2')); $rssForm->handleRequest($request); if ($rssForm->isValid()) { @@ -102,7 +103,7 @@ class ConfigController extends Controller // handle tagging rule $taggingRule = new TaggingRule(); - $newTaggingRule = $this->createForm(new TaggingRuleType(), $taggingRule, array('action' => $this->generateUrl('config').'#set5')); + $newTaggingRule = $this->createForm(TaggingRuleType::class, $taggingRule, array('action' => $this->generateUrl('config').'#set5')); $newTaggingRule->handleRequest($request); if ($newTaggingRule->isValid()) { @@ -122,7 +123,7 @@ class ConfigController extends Controller $newUser = $userManager->createUser(); // enable created user by default $newUser->setEnabled(true); - $newUserForm = $this->createForm(new NewUserType(), $newUser, array( + $newUserForm = $this->createForm(NewUserType::class, $newUser, array( 'validation_groups' => array('Profile'), 'action' => $this->generateUrl('config').'#set5', )); diff --git a/src/Wallabag/CoreBundle/Controller/EntryController.php b/src/Wallabag/CoreBundle/Controller/EntryController.php index 1949bdf8..9dd904f1 100644 --- a/src/Wallabag/CoreBundle/Controller/EntryController.php +++ b/src/Wallabag/CoreBundle/Controller/EntryController.php @@ -2,16 +2,16 @@ namespace Wallabag\CoreBundle\Controller; +use Pagerfanta\Adapter\DoctrineORMAdapter; +use Pagerfanta\Pagerfanta; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; use Wallabag\CoreBundle\Entity\Entry; -use Wallabag\CoreBundle\Form\Type\NewEntryType; -use Wallabag\CoreBundle\Form\Type\EditEntryType; use Wallabag\CoreBundle\Filter\EntryFilterType; -use Pagerfanta\Adapter\DoctrineORMAdapter; -use Pagerfanta\Pagerfanta; +use Wallabag\CoreBundle\Form\Type\EditEntryType; +use Wallabag\CoreBundle\Form\Type\NewEntryType; class EntryController extends Controller { @@ -43,7 +43,7 @@ class EntryController extends Controller { $entry = new Entry($this->getUser()); - $form = $this->createForm(new NewEntryType(), $entry); + $form = $this->createForm(NewEntryType::class, $entry); $form->handleRequest($request); @@ -116,7 +116,7 @@ class EntryController extends Controller { $this->checkUserAction($entry); - $form = $this->createForm(new EditEntryType(), $entry); + $form = $this->createForm(EditEntryType::class, $entry); $form->handleRequest($request); @@ -238,7 +238,7 @@ class EntryController extends Controller throw new \InvalidArgumentException(sprintf('Type "%s" is not implemented.', $type)); } - $form = $this->get('form.factory')->create(new EntryFilterType($repository, $this->getUser())); + $form = $this->createForm(EntryFilterType::class); if ($request->query->has($form->getName())) { // manually bind values from the request diff --git a/src/Wallabag/CoreBundle/Controller/RssController.php b/src/Wallabag/CoreBundle/Controller/RssController.php index 023a6228..2b7ef598 100644 --- a/src/Wallabag/CoreBundle/Controller/RssController.php +++ b/src/Wallabag/CoreBundle/Controller/RssController.php @@ -2,13 +2,13 @@ namespace Wallabag\CoreBundle\Controller; -use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; +use Pagerfanta\Adapter\DoctrineORMAdapter; +use Pagerfanta\Pagerfanta; use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter; +use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Controller; -use Wallabag\UserBundle\Entity\User; use Wallabag\CoreBundle\Entity\Entry; -use Pagerfanta\Adapter\DoctrineORMAdapter; -use Pagerfanta\Pagerfanta; +use Wallabag\UserBundle\Entity\User; class RssController extends Controller { diff --git a/src/Wallabag/CoreBundle/Controller/TagController.php b/src/Wallabag/CoreBundle/Controller/TagController.php index 64d53f0c..ff4d64a8 100644 --- a/src/Wallabag/CoreBundle/Controller/TagController.php +++ b/src/Wallabag/CoreBundle/Controller/TagController.php @@ -5,9 +5,9 @@ namespace Wallabag\CoreBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Request; -use Wallabag\CoreBundle\Form\Type\NewTagType; -use Wallabag\CoreBundle\Entity\Tag; use Wallabag\CoreBundle\Entity\Entry; +use Wallabag\CoreBundle\Entity\Tag; +use Wallabag\CoreBundle\Form\Type\NewTagType; class TagController extends Controller { @@ -21,7 +21,7 @@ class TagController extends Controller public function addTagFormAction(Request $request, Entry $entry) { $tag = new Tag(); - $form = $this->createForm(new NewTagType(), $tag); + $form = $this->createForm(NewTagType::class, $tag); $form->handleRequest($request); if ($form->isValid()) { diff --git a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php index 330cc957..9ff9b732 100644 --- a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php +++ b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php @@ -2,10 +2,10 @@ namespace Wallabag\CoreBundle\DependencyInjection; -use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\Config\FileLocator; -use Symfony\Component\HttpKernel\DependencyInjection\Extension; +use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Loader; +use Symfony\Component\HttpKernel\DependencyInjection\Extension; class WallabagCoreExtension extends Extension { diff --git a/src/Wallabag/CoreBundle/Entity/Entry.php b/src/Wallabag/CoreBundle/Entity/Entry.php index f11a7786..24b24dbb 100644 --- a/src/Wallabag/CoreBundle/Entity/Entry.php +++ b/src/Wallabag/CoreBundle/Entity/Entry.php @@ -4,10 +4,10 @@ namespace Wallabag\CoreBundle\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; -use Symfony\Component\Validator\Constraints as Assert; use Hateoas\Configuration\Annotation as Hateoas; use JMS\Serializer\Annotation\Groups; use JMS\Serializer\Annotation\XmlRoot; +use Symfony\Component\Validator\Constraints as Assert; use Wallabag\UserBundle\Entity\User; /** diff --git a/src/Wallabag/CoreBundle/Entity/Tag.php b/src/Wallabag/CoreBundle/Entity/Tag.php index 0689c7b3..c1940e99 100644 --- a/src/Wallabag/CoreBundle/Entity/Tag.php +++ b/src/Wallabag/CoreBundle/Entity/Tag.php @@ -2,12 +2,12 @@ namespace Wallabag\CoreBundle\Entity; +use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; -use JMS\Serializer\Annotation\XmlRoot; use JMS\Serializer\Annotation\ExclusionPolicy; use JMS\Serializer\Annotation\Expose; -use Doctrine\Common\Collections\ArrayCollection; use Gedmo\Mapping\Annotation as Gedmo; +use JMS\Serializer\Annotation\XmlRoot; /** * Tag. diff --git a/src/Wallabag/CoreBundle/Entity/TaggingRule.php b/src/Wallabag/CoreBundle/Entity/TaggingRule.php index 329d7ff8..28914cc1 100644 --- a/src/Wallabag/CoreBundle/Entity/TaggingRule.php +++ b/src/Wallabag/CoreBundle/Entity/TaggingRule.php @@ -3,8 +3,8 @@ namespace Wallabag\CoreBundle\Entity; use Doctrine\ORM\Mapping as ORM; -use Symfony\Component\Validator\Constraints as Assert; use KPhoen\RulerZBundle\Validator\Constraints as RulerZAssert; +use Symfony\Component\Validator\Constraints as Assert; /** * Tagging rule. diff --git a/src/Wallabag/CoreBundle/Event/Subscriber/CustomDoctrineORMSubscriber.php b/src/Wallabag/CoreBundle/Event/Subscriber/CustomDoctrineORMSubscriber.php index cfdbfe97..cabb3eca 100644 --- a/src/Wallabag/CoreBundle/Event/Subscriber/CustomDoctrineORMSubscriber.php +++ b/src/Wallabag/CoreBundle/Event/Subscriber/CustomDoctrineORMSubscriber.php @@ -2,8 +2,8 @@ namespace Wallabag\CoreBundle\Event\Subscriber; -use Lexik\Bundle\FormFilterBundle\Event\Subscriber\DoctrineORMSubscriber; use Lexik\Bundle\FormFilterBundle\Event\GetFilterConditionEvent; +use Lexik\Bundle\FormFilterBundle\Event\Subscriber\DoctrineORMSubscriber; use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** diff --git a/src/Wallabag/CoreBundle/EventListener/LocaleListener.php b/src/Wallabag/CoreBundle/EventListener/LocaleListener.php index 80f59504..05deac0a 100644 --- a/src/Wallabag/CoreBundle/EventListener/LocaleListener.php +++ b/src/Wallabag/CoreBundle/EventListener/LocaleListener.php @@ -2,9 +2,9 @@ namespace Wallabag\CoreBundle\EventListener; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpKernel\Event\GetResponseEvent; use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** * @see http://symfony.com/doc/current/cookbook/session/locale_sticky_session.html diff --git a/src/Wallabag/CoreBundle/EventListener/RegistrationConfirmedListener.php b/src/Wallabag/CoreBundle/EventListener/RegistrationConfirmedListener.php index 68c25f1f..1c9160d5 100644 --- a/src/Wallabag/CoreBundle/EventListener/RegistrationConfirmedListener.php +++ b/src/Wallabag/CoreBundle/EventListener/RegistrationConfirmedListener.php @@ -2,11 +2,11 @@ namespace Wallabag\CoreBundle\EventListener; -use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Doctrine\ORM\EntityManager; use FOS\UserBundle\Event\FilterUserResponseEvent; use FOS\UserBundle\FOSUserEvents; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Wallabag\CoreBundle\Entity\Config; class RegistrationConfirmedListener implements EventSubscriberInterface diff --git a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php index 32de21ca..c38be832 100644 --- a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php +++ b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php @@ -2,12 +2,17 @@ namespace Wallabag\CoreBundle\Filter; +use Doctrine\ORM\EntityRepository; +use Lexik\Bundle\FormFilterBundle\Filter\Query\QueryInterface; +use Lexik\Bundle\FormFilterBundle\Filter\Form\Type\NumberRangeFilterType; +use Lexik\Bundle\FormFilterBundle\Filter\Form\Type\DateRangeFilterType; +use Lexik\Bundle\FormFilterBundle\Filter\Form\Type\TextFilterType; +use Lexik\Bundle\FormFilterBundle\Filter\Form\Type\CheckboxFilterType; +use Lexik\Bundle\FormFilterBundle\Filter\Form\Type\ChoiceFilterType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; -use Lexik\Bundle\FormFilterBundle\Filter\Query\QueryInterface; -use Doctrine\ORM\EntityRepository; -use Wallabag\UserBundle\Entity\User; +use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage; class EntryFilterType extends AbstractType { @@ -18,19 +23,19 @@ class EntryFilterType extends AbstractType * Repository & user are used to get a list of language entries for this user. * * @param EntityRepository $entryRepository - * @param User $user + * @param TokenStorage $token */ - public function __construct(EntityRepository $entryRepository, User $user) + public function __construct(EntityRepository $entryRepository, TokenStorage $token) { $this->repository = $entryRepository; - $this->user = $user; + $this->user = $token->getToken()->getUser(); } public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('readingTime', 'filter_number_range') - ->add('createdAt', 'filter_date_range', array( + ->add('readingTime', NumberRangeFilterType::class) + ->add('createdAt', DateRangeFilterType::class, array( 'left_date_options' => array( 'attr' => array( 'placeholder' => 'dd/mm/yyyy', @@ -47,20 +52,20 @@ class EntryFilterType extends AbstractType ), ) ) - ->add('domainName', 'filter_text', array( + ->add('domainName', TextFilterType::class, array( 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) { - $value = $values['value']; - if (strlen($value) <= 2 || empty($value)) { - return; - } - $expression = $filterQuery->getExpr()->like($field, $filterQuery->getExpr()->literal('%'.$value.'%')); + $value = $values['value']; + if (strlen($value) <= 2 || empty($value)) { + return; + } + $expression = $filterQuery->getExpr()->like($field, $filterQuery->getExpr()->literal('%'.$value.'%')); - return $filterQuery->createCondition($expression); + return $filterQuery->createCondition($expression); }, )) - ->add('isArchived', 'filter_checkbox') - ->add('isStarred', 'filter_checkbox') - ->add('previewPicture', 'filter_checkbox', array( + ->add('isArchived', CheckboxFilterType::class) + ->add('isStarred', CheckboxFilterType::class) + ->add('previewPicture', CheckboxFilterType::class, array( 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) { if (false === $values['value']) { return; @@ -71,13 +76,14 @@ class EntryFilterType extends AbstractType return $filterQuery->createCondition($expression); }, )) - ->add('language', 'filter_choice', array( - 'choices' => $this->repository->findDistinctLanguageByUser($this->user->getId()), + ->add('language', ChoiceFilterType::class, array( + 'choices' => array_flip($this->repository->findDistinctLanguageByUser($this->user->getId())), + 'choices_as_values' => true, )) ; } - public function getName() + public function getBlockPrefix() { return 'entry_filter'; } diff --git a/src/Wallabag/CoreBundle/Form/Type/ChangePasswordType.php b/src/Wallabag/CoreBundle/Form/Type/ChangePasswordType.php index 82e1954d..7d05a5d8 100644 --- a/src/Wallabag/CoreBundle/Form/Type/ChangePasswordType.php +++ b/src/Wallabag/CoreBundle/Form/Type/ChangePasswordType.php @@ -3,6 +3,9 @@ namespace Wallabag\CoreBundle\Form\Type; 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\FormBuilderInterface; use Symfony\Component\Security\Core\Validator\Constraints\UserPassword; use Symfony\Component\Validator\Constraints; @@ -12,11 +15,11 @@ class ChangePasswordType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('old_password', 'password', array( + ->add('old_password', PasswordType::class, array( 'constraints' => new UserPassword(array('message' => 'Wrong value for your current password')), )) - ->add('new_password', 'repeated', array( - 'type' => 'password', + ->add('new_password', RepeatedType::class, array( + 'type' => PasswordType::class, 'invalid_message' => 'The password fields must match.', 'required' => true, 'first_options' => array('label' => 'New password'), @@ -29,11 +32,11 @@ class ChangePasswordType extends AbstractType new Constraints\NotBlank(), ), )) - ->add('save', 'submit') + ->add('save', SubmitType::class) ; } - public function getName() + public function getBlockPrefix() { return 'change_passwd'; } diff --git a/src/Wallabag/CoreBundle/Form/Type/ConfigType.php b/src/Wallabag/CoreBundle/Form/Type/ConfigType.php index 1f0ad89d..a139f2df 100644 --- a/src/Wallabag/CoreBundle/Form/Type/ConfigType.php +++ b/src/Wallabag/CoreBundle/Form/Type/ConfigType.php @@ -3,6 +3,8 @@ namespace Wallabag\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\ChoiceType; +use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -28,15 +30,16 @@ class ConfigType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('theme', 'choice', array( + ->add('theme', ChoiceType::class, array( 'choices' => array_flip($this->themes), 'choices_as_values' => true, )) ->add('items_per_page') - ->add('language', 'choice', array( - 'choices' => $this->languages, + ->add('language', ChoiceType::class, array( + 'choices' => array_flip($this->languages), + 'choices_as_values' => true, )) - ->add('save', 'submit') + ->add('save', SubmitType::class) ; } @@ -47,7 +50,7 @@ class ConfigType extends AbstractType )); } - public function getName() + public function getBlockPrefix() { return 'config'; } diff --git a/src/Wallabag/CoreBundle/Form/Type/EditEntryType.php b/src/Wallabag/CoreBundle/Form/Type/EditEntryType.php index 0fa4b71f..0cb29881 100644 --- a/src/Wallabag/CoreBundle/Form/Type/EditEntryType.php +++ b/src/Wallabag/CoreBundle/Form/Type/EditEntryType.php @@ -3,6 +3,9 @@ namespace Wallabag\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\CheckboxType; +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; @@ -11,14 +14,14 @@ class EditEntryType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('title', 'text', array('required' => true)) - ->add('is_public', 'checkbox', array('required' => false)) + ->add('title', TextType::class, array('required' => true)) + ->add('is_public', CheckboxType::class, array('required' => false)) // @todo: add autocomplete // ->add('tags', 'entity', array( // 'class' => 'Wallabag\CoreBundle\Entity\Tag', // 'choice_translation_domain' => true, // )) - ->add('save', 'submit') + ->add('save', SubmitType::class) ; } @@ -29,7 +32,7 @@ class EditEntryType extends AbstractType )); } - public function getName() + public function getBlockPrefix() { return 'entry'; } diff --git a/src/Wallabag/CoreBundle/Form/Type/NewEntryType.php b/src/Wallabag/CoreBundle/Form/Type/NewEntryType.php index cb96d11a..fbce13f1 100644 --- a/src/Wallabag/CoreBundle/Form/Type/NewEntryType.php +++ b/src/Wallabag/CoreBundle/Form/Type/NewEntryType.php @@ -3,6 +3,8 @@ namespace Wallabag\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\SubmitType; +use Symfony\Component\Form\Extension\Core\Type\UrlType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -11,8 +13,8 @@ class NewEntryType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('url', 'url', array('required' => true)) - ->add('save', 'submit') + ->add('url', UrlType::class, array('required' => true)) + ->add('save', SubmitType::class) ; } @@ -23,7 +25,7 @@ class NewEntryType extends AbstractType )); } - public function getName() + public function getBlockPrefix() { return 'entry'; } diff --git a/src/Wallabag/CoreBundle/Form/Type/NewTagType.php b/src/Wallabag/CoreBundle/Form/Type/NewTagType.php index 8e4ab649..0f559031 100644 --- a/src/Wallabag/CoreBundle/Form/Type/NewTagType.php +++ b/src/Wallabag/CoreBundle/Form/Type/NewTagType.php @@ -3,6 +3,8 @@ namespace Wallabag\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; +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; @@ -11,8 +13,8 @@ class NewTagType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('label', 'text', array('required' => true)) - ->add('save', 'submit') + ->add('label', TextType::class, array('required' => true)) + ->add('save', SubmitType::class) ; } @@ -23,7 +25,7 @@ class NewTagType extends AbstractType )); } - public function getName() + public function getBlockPrefix() { return 'tag'; } diff --git a/src/Wallabag/CoreBundle/Form/Type/NewUserType.php b/src/Wallabag/CoreBundle/Form/Type/NewUserType.php index 8aabc8bb..ffbe9ba2 100644 --- a/src/Wallabag/CoreBundle/Form/Type/NewUserType.php +++ b/src/Wallabag/CoreBundle/Form/Type/NewUserType.php @@ -3,6 +3,11 @@ namespace Wallabag\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\EmailType; +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\Validator\Constraints; @@ -12,9 +17,9 @@ class NewUserType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('username', 'text', array('required' => true)) - ->add('plainPassword', 'repeated', array( - 'type' => 'password', + ->add('username', TextType::class, array('required' => true)) + ->add('plainPassword', RepeatedType::class, array( + 'type' => PasswordType::class, 'constraints' => array( new Constraints\Length(array( 'min' => 8, @@ -23,8 +28,8 @@ class NewUserType extends AbstractType new Constraints\NotBlank(), ), )) - ->add('email', 'email') - ->add('save', 'submit') + ->add('email', EmailType::class) + ->add('save', SubmitType::class) ; } @@ -35,7 +40,7 @@ class NewUserType extends AbstractType )); } - public function getName() + public function getBlockPrefix() { return 'new_user'; } diff --git a/src/Wallabag/CoreBundle/Form/Type/RssType.php b/src/Wallabag/CoreBundle/Form/Type/RssType.php index 1f7f4c68..def8782c 100644 --- a/src/Wallabag/CoreBundle/Form/Type/RssType.php +++ b/src/Wallabag/CoreBundle/Form/Type/RssType.php @@ -3,6 +3,7 @@ namespace Wallabag\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -12,7 +13,7 @@ class RssType extends AbstractType { $builder ->add('rss_limit') - ->add('save', 'submit') + ->add('save', SubmitType::class) ; } @@ -23,7 +24,7 @@ class RssType extends AbstractType )); } - public function getName() + public function getBlockPrefix() { return 'rss_config'; } diff --git a/src/Wallabag/CoreBundle/Form/Type/TaggingRuleType.php b/src/Wallabag/CoreBundle/Form/Type/TaggingRuleType.php index 428d94b3..5815b8c6 100644 --- a/src/Wallabag/CoreBundle/Form/Type/TaggingRuleType.php +++ b/src/Wallabag/CoreBundle/Form/Type/TaggingRuleType.php @@ -3,6 +3,8 @@ namespace Wallabag\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; +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 Wallabag\CoreBundle\Form\DataTransformer\StringToListTransformer; @@ -12,12 +14,12 @@ class TaggingRuleType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('rule', 'text', array('required' => true)) - ->add('save', 'submit') + ->add('rule', TextType::class, array('required' => true)) + ->add('save', SubmitType::class) ; $tagsField = $builder - ->create('tags', 'text') + ->create('tags', TextType::class) ->addModelTransformer(new StringToListTransformer(',')); $builder->add($tagsField); @@ -30,7 +32,7 @@ class TaggingRuleType extends AbstractType )); } - public function getName() + public function getBlockPrefix() { return 'tagging_rule'; } diff --git a/src/Wallabag/CoreBundle/Form/Type/UserInformationType.php b/src/Wallabag/CoreBundle/Form/Type/UserInformationType.php index e06c937d..f491b0ae 100644 --- a/src/Wallabag/CoreBundle/Form/Type/UserInformationType.php +++ b/src/Wallabag/CoreBundle/Form/Type/UserInformationType.php @@ -3,6 +3,10 @@ namespace Wallabag\CoreBundle\Form\Type; use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\Extension\Core\Type\CheckboxType; +use Symfony\Component\Form\Extension\Core\Type\EmailType; +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; @@ -11,10 +15,10 @@ class UserInformationType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('name', 'text') - ->add('email', 'email') - ->add('twoFactorAuthentication', 'checkbox', array('required' => false)) - ->add('save', 'submit') + ->add('name', TextType::class) + ->add('email', EmailType::class) + ->add('twoFactorAuthentication', CheckboxType::class, array('required' => false)) + ->add('save', SubmitType::class) ->remove('username') ->remove('plainPassword') ; @@ -22,7 +26,7 @@ class UserInformationType extends AbstractType public function getParent() { - return 'fos_user_registration'; + return 'FOS\UserBundle\Form\Type\RegistrationFormType'; } public function configureOptions(OptionsResolver $resolver) @@ -32,7 +36,7 @@ class UserInformationType extends AbstractType )); } - public function getName() + public function getBlockPrefix() { return 'update_user'; } diff --git a/src/Wallabag/CoreBundle/Helper/EntriesExport.php b/src/Wallabag/CoreBundle/Helper/EntriesExport.php index d6a4d094..31a80d6e 100644 --- a/src/Wallabag/CoreBundle/Helper/EntriesExport.php +++ b/src/Wallabag/CoreBundle/Helper/EntriesExport.php @@ -2,12 +2,12 @@ namespace Wallabag\CoreBundle\Helper; +use JMS\Serializer; +use JMS\Serializer\SerializationContext; +use JMS\Serializer\SerializerBuilder; use PHPePub\Core\EPub; use PHPePub\Core\Structure\OPF\DublinCore; use Symfony\Component\HttpFoundation\Response; -use JMS\Serializer; -use JMS\Serializer\SerializerBuilder; -use JMS\Serializer\SerializationContext; /** * This class doesn't have unit test BUT it's fully covered by a functional test with ExportControllerTest. diff --git a/src/Wallabag/CoreBundle/ParamConverter/UsernameRssTokenConverter.php b/src/Wallabag/CoreBundle/ParamConverter/UsernameRssTokenConverter.php index f7faa2c1..6ea2a4f3 100644 --- a/src/Wallabag/CoreBundle/ParamConverter/UsernameRssTokenConverter.php +++ b/src/Wallabag/CoreBundle/ParamConverter/UsernameRssTokenConverter.php @@ -2,9 +2,9 @@ namespace Wallabag\CoreBundle\ParamConverter; -use Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\ParamConverterInterface; use Doctrine\Common\Persistence\ManagerRegistry; use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter; +use Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\ParamConverterInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Wallabag\UserBundle\Entity\User; diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml index 96b1c931..43600735 100644 --- a/src/Wallabag/CoreBundle/Resources/config/services.yml +++ b/src/Wallabag/CoreBundle/Resources/config/services.yml @@ -2,7 +2,7 @@ services: wallabag_core.helper.detect_active_theme: class: Wallabag\CoreBundle\Helper\DetectActiveTheme arguments: - - @security.token_storage + - "@security.token_storage" - %theme% # default theme from parameters.yml # custom form type @@ -12,26 +12,22 @@ services: - %liip_theme.themes% - %wallabag_core.languages% tags: - - { name: form.type, alias: config } + - { name: form.type } - wallabag_core.form.registration: - class: Wallabag\CoreBundle\Form\Type\RegistrationType - tags: - - { name: form.type, alias: wallabag_user_registration } - - wallabag_core.form.type.forgot_password: - class: Wallabag\CoreBundle\Form\Type\ForgotPasswordType + wallabag_core.filter.type.entry: + class: Wallabag\CoreBundle\Filter\EntryFilterType arguments: - - @doctrine + - "@wallabag_core.entry_repository" + - "@security.token_storage" tags: - - { name: form.type, alias: forgot_password } + - { name: form.type } wallabag_core.param_converter.username_rsstoken_converter: class: Wallabag\CoreBundle\ParamConverter\UsernameRssTokenConverter tags: - { name: request.param_converter, converter: username_rsstoken_converter } arguments: - - @doctrine + - "@doctrine" wallabag_core.table_prefix_subscriber: class: Wallabag\CoreBundle\Subscriber\TablePrefixSubscriber @@ -45,41 +41,41 @@ services: arguments: - { error_message: false } calls: - - [ setLogger, [ @logger ] ] + - [ setLogger, [ "@logger" ] ] tags: - { name: monolog.logger, channel: graby } wallabag_core.content_proxy: class: Wallabag\CoreBundle\Helper\ContentProxy arguments: - - @wallabag_core.graby - - @wallabag_core.rule_based_tagger - - @logger + - "@wallabag_core.graby" + - "@wallabag_core.rule_based_tagger" + - "@logger" wallabag_core.rule_based_tagger: class: Wallabag\CoreBundle\Helper\RuleBasedTagger arguments: - - @rulerz - - @wallabag_core.tag_repository - - @wallabag_core.entry_repository + - "@rulerz" + - "@wallabag_core.tag_repository" + - "@wallabag_core.entry_repository" # repository as a service wallabag_core.entry_repository: class: Wallabag\CoreBundle\Repository\EntryRepository - factory: [ @doctrine.orm.default_entity_manager, getRepository ] + factory: [ "@doctrine.orm.default_entity_manager", getRepository ] arguments: - WallabagCoreBundle:Entry wallabag_core.tag_repository: class: Wallabag\CoreBundle\Repository\TagRepository - factory: [ @doctrine.orm.default_entity_manager, getRepository ] + factory: [ "@doctrine.orm.default_entity_manager", getRepository ] arguments: - WallabagCoreBundle:Tag wallabag_core.registration_confirmed: class: Wallabag\CoreBundle\EventListener\RegistrationConfirmedListener arguments: - - @doctrine.orm.entity_manager + - "@doctrine.orm.entity_manager" - %theme% - %items_on_page% - %rss_limit% diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig index d9850f7a..6ac6decb 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig @@ -164,7 +164,7 @@ {% endfor %} -
+ {{ form_start(form.new_tagging_rule) }} {{ form_errors(form.new_tagging_rule) }}
diff --git a/src/Wallabag/CoreBundle/Subscriber/TablePrefixSubscriber.php b/src/Wallabag/CoreBundle/Subscriber/TablePrefixSubscriber.php index 0019eead..9a4b16ee 100644 --- a/src/Wallabag/CoreBundle/Subscriber/TablePrefixSubscriber.php +++ b/src/Wallabag/CoreBundle/Subscriber/TablePrefixSubscriber.php @@ -2,8 +2,8 @@ namespace Wallabag\CoreBundle\Subscriber; -use Doctrine\ORM\Event\LoadClassMetadataEventArgs; use Doctrine\Common\EventSubscriber; +use Doctrine\ORM\Event\LoadClassMetadataEventArgs; use Doctrine\ORM\Mapping\ClassMetadataInfo; /** diff --git a/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php b/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php index c9346040..7d75e2b7 100644 --- a/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php +++ b/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php @@ -2,15 +2,15 @@ namespace Wallabag\CoreBundle\Tests\Command; -use Wallabag\CoreBundle\Tests\WallabagCoreTestCase; -use Wallabag\CoreBundle\Command\InstallCommand; -use Wallabag\CoreBundle\Tests\Mock\InstallCommandMock; +use Doctrine\Bundle\DoctrineBundle\Command\CreateDatabaseDoctrineCommand; +use Doctrine\Bundle\DoctrineBundle\Command\DropDatabaseDoctrineCommand; use Symfony\Bundle\FrameworkBundle\Console\Application; -use Symfony\Component\Console\Tester\CommandTester; use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Output\NullOutput; -use Doctrine\Bundle\DoctrineBundle\Command\DropDatabaseDoctrineCommand; -use Doctrine\Bundle\DoctrineBundle\Command\CreateDatabaseDoctrineCommand; +use Symfony\Component\Console\Tester\CommandTester; +use Wallabag\CoreBundle\Command\InstallCommand; +use Wallabag\CoreBundle\Tests\Mock\InstallCommandMock; +use Wallabag\CoreBundle\Tests\WallabagCoreTestCase; class InstallCommandTest extends WallabagCoreTestCase { diff --git a/src/Wallabag/CoreBundle/Tests/EventListener/LocaleListenerTest.php b/src/Wallabag/CoreBundle/Tests/EventListener/LocaleListenerTest.php index d89bee04..b4c022d5 100644 --- a/src/Wallabag/CoreBundle/Tests/EventListener/LocaleListenerTest.php +++ b/src/Wallabag/CoreBundle/Tests/EventListener/LocaleListenerTest.php @@ -4,11 +4,11 @@ namespace Wallabag\CoreBundle\Tests\EventListener; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\KernelEvents; +use Symfony\Component\HttpFoundation\Session\Session; +use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; use Symfony\Component\HttpKernel\Event\GetResponseEvent; use Symfony\Component\HttpKernel\HttpKernelInterface; -use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; -use Symfony\Component\HttpFoundation\Session\Session; +use Symfony\Component\HttpKernel\KernelEvents; use Wallabag\CoreBundle\EventListener\LocaleListener; class LocaleListenerTest extends \PHPUnit_Framework_TestCase diff --git a/src/Wallabag/CoreBundle/Tests/EventListener/RegistrationConfirmedListenerTest.php b/src/Wallabag/CoreBundle/Tests/EventListener/RegistrationConfirmedListenerTest.php index 31283399..7039dc61 100644 --- a/src/Wallabag/CoreBundle/Tests/EventListener/RegistrationConfirmedListenerTest.php +++ b/src/Wallabag/CoreBundle/Tests/EventListener/RegistrationConfirmedListenerTest.php @@ -2,13 +2,13 @@ namespace Wallabag\CoreBundle\Tests\EventListener; +use FOS\UserBundle\Event\FilterUserResponseEvent; +use FOS\UserBundle\FOSUserEvents; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; -use FOS\UserBundle\FOSUserEvents; -use FOS\UserBundle\Event\FilterUserResponseEvent; -use Wallabag\CoreBundle\EventListener\RegistrationConfirmedListener; use Wallabag\CoreBundle\Entity\Config; +use Wallabag\CoreBundle\EventListener\RegistrationConfirmedListener; use Wallabag\UserBundle\Entity\User; class RegistrationConfirmedListenerTest extends \PHPUnit_Framework_TestCase diff --git a/src/Wallabag/CoreBundle/Tests/EventListener/UserLocaleListenerTest.php b/src/Wallabag/CoreBundle/Tests/EventListener/UserLocaleListenerTest.php index 80ddb457..d9ffe30e 100644 --- a/src/Wallabag/CoreBundle/Tests/EventListener/UserLocaleListenerTest.php +++ b/src/Wallabag/CoreBundle/Tests/EventListener/UserLocaleListenerTest.php @@ -3,12 +3,12 @@ namespace Wallabag\CoreBundle\Tests\EventListener; use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; use Symfony\Component\HttpFoundation\Session\Session; -use Symfony\Component\Security\Http\Event\InteractiveLoginEvent; +use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; -use Wallabag\CoreBundle\EventListener\UserLocaleListener; +use Symfony\Component\Security\Http\Event\InteractiveLoginEvent; use Wallabag\CoreBundle\Entity\Config; +use Wallabag\CoreBundle\EventListener\UserLocaleListener; use Wallabag\UserBundle\Entity\User; class UserLocaleListenerTest extends \PHPUnit_Framework_TestCase diff --git a/src/Wallabag/CoreBundle/Tests/Helper/ContentProxyTest.php b/src/Wallabag/CoreBundle/Tests/Helper/ContentProxyTest.php index ac518dbb..d29984e9 100644 --- a/src/Wallabag/CoreBundle/Tests/Helper/ContentProxyTest.php +++ b/src/Wallabag/CoreBundle/Tests/Helper/ContentProxyTest.php @@ -4,8 +4,8 @@ namespace Wallabag\CoreBundle\Tests\Helper; use Psr\Log\NullLogger; use Wallabag\CoreBundle\Entity\Entry; -use Wallabag\UserBundle\Entity\User; use Wallabag\CoreBundle\Helper\ContentProxy; +use Wallabag\UserBundle\Entity\User; class ContentProxyTest extends \PHPUnit_Framework_TestCase { diff --git a/src/Wallabag/CoreBundle/Tests/Helper/RuleBasedTaggerTest.php b/src/Wallabag/CoreBundle/Tests/Helper/RuleBasedTaggerTest.php index dee17d65..c43c62c3 100644 --- a/src/Wallabag/CoreBundle/Tests/Helper/RuleBasedTaggerTest.php +++ b/src/Wallabag/CoreBundle/Tests/Helper/RuleBasedTaggerTest.php @@ -6,8 +6,8 @@ use Wallabag\CoreBundle\Entity\Config; use Wallabag\CoreBundle\Entity\Entry; use Wallabag\CoreBundle\Entity\Tag; use Wallabag\CoreBundle\Entity\TaggingRule; -use Wallabag\UserBundle\Entity\User; use Wallabag\CoreBundle\Helper\RuleBasedTagger; +use Wallabag\UserBundle\Entity\User; class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase { diff --git a/src/Wallabag/CoreBundle/Tests/ParamConverter/UsernameRssTokenConverterTest.php b/src/Wallabag/CoreBundle/Tests/ParamConverter/UsernameRssTokenConverterTest.php index 1c9a4ad7..b95be133 100644 --- a/src/Wallabag/CoreBundle/Tests/ParamConverter/UsernameRssTokenConverterTest.php +++ b/src/Wallabag/CoreBundle/Tests/ParamConverter/UsernameRssTokenConverterTest.php @@ -2,9 +2,9 @@ namespace Wallabag\CoreBundle\Tests\Command; -use Wallabag\CoreBundle\ParamConverter\UsernameRssTokenConverter; use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter; use Symfony\Component\HttpFoundation\Request; +use Wallabag\CoreBundle\ParamConverter\UsernameRssTokenConverter; use Wallabag\UserBundle\Entity\User; class UsernameRssTokenConverterTest extends \PHPUnit_Framework_TestCase diff --git a/src/Wallabag/CoreBundle/Tests/Subscriber/TablePrefixSubscriberTest.php b/src/Wallabag/CoreBundle/Tests/Subscriber/TablePrefixSubscriberTest.php index a26ff436..49dbb316 100644 --- a/src/Wallabag/CoreBundle/Tests/Subscriber/TablePrefixSubscriberTest.php +++ b/src/Wallabag/CoreBundle/Tests/Subscriber/TablePrefixSubscriberTest.php @@ -2,9 +2,9 @@ namespace Wallabag\CoreBundle\Tests\Subscriber; -use Doctrine\ORM\Mapping\ClassMetadata; -use Doctrine\ORM\Event\LoadClassMetadataEventArgs; use Doctrine\Common\EventManager; +use Doctrine\ORM\Event\LoadClassMetadataEventArgs; +use Doctrine\ORM\Mapping\ClassMetadata; use Wallabag\CoreBundle\Subscriber\TablePrefixSubscriber; class TablePrefixSubscriberTest extends \PHPUnit_Framework_TestCase diff --git a/src/Wallabag/ImportBundle/Controller/PocketController.php b/src/Wallabag/ImportBundle/Controller/PocketController.php index a0853383..7aee302f 100644 --- a/src/Wallabag/ImportBundle/Controller/PocketController.php +++ b/src/Wallabag/ImportBundle/Controller/PocketController.php @@ -3,6 +3,7 @@ namespace Wallabag\ImportBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; +use Symfony\Component\Routing\Generator\UrlGeneratorInterface; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; class PocketController extends Controller @@ -23,12 +24,12 @@ class PocketController extends Controller public function authAction() { $requestToken = $this->get('wallabag_import.pocket.import') - ->getRequestToken($this->generateUrl('import', [], true)); + ->getRequestToken($this->generateUrl('import', array(), UrlGeneratorInterface::ABSOLUTE_URL)); $this->get('session')->set('import.pocket.code', $requestToken); return $this->redirect( - 'https://getpocket.com/auth/authorize?request_token='.$requestToken.'&redirect_uri='.$this->generateUrl('import_pocket_callback', [], true), + 'https://getpocket.com/auth/authorize?request_token='.$requestToken.'&redirect_uri='.$this->generateUrl('import_pocket_callback', array(), UrlGeneratorInterface::ABSOLUTE_URL), 301 ); } diff --git a/src/Wallabag/ImportBundle/Controller/WallabagV1Controller.php b/src/Wallabag/ImportBundle/Controller/WallabagV1Controller.php index e50a6c35..35fe620f 100644 --- a/src/Wallabag/ImportBundle/Controller/WallabagV1Controller.php +++ b/src/Wallabag/ImportBundle/Controller/WallabagV1Controller.php @@ -14,7 +14,7 @@ class WallabagV1Controller extends Controller */ public function indexAction(Request $request) { - $form = $this->createForm(new UploadImportType()); + $form = $this->createForm(UploadImportType::class); $form->handleRequest($request); $wallabag = $this->get('wallabag_import.wallabag_v1.import'); diff --git a/src/Wallabag/ImportBundle/Form/Type/UploadImportType.php b/src/Wallabag/ImportBundle/Form/Type/UploadImportType.php index 415890f3..2e6b59cb 100644 --- a/src/Wallabag/ImportBundle/Form/Type/UploadImportType.php +++ b/src/Wallabag/ImportBundle/Form/Type/UploadImportType.php @@ -4,18 +4,20 @@ namespace Wallabag\ImportBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\Form\Extension\Core\Type\SubmitType; +use Symfony\Component\Form\Extension\Core\Type\FileType; class UploadImportType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('file', 'file') - ->add('save', 'submit') + ->add('file', FileType::class) + ->add('save', SubmitType::class) ; } - public function getName() + public function getBlockPrefix() { return 'upload_import_file'; } diff --git a/src/Wallabag/UserBundle/Controller/ResettingController.php b/src/Wallabag/UserBundle/Controller/ResettingController.php index 8aa1e230..62e27d00 100644 --- a/src/Wallabag/UserBundle/Controller/ResettingController.php +++ b/src/Wallabag/UserBundle/Controller/ResettingController.php @@ -2,12 +2,12 @@ namespace Wallabag\UserBundle\Controller; -use FOS\UserBundle\FOSUserEvents; +use FOS\UserBundle\Event\FilterUserResponseEvent; use FOS\UserBundle\Event\FormEvent; use FOS\UserBundle\Event\GetResponseUserEvent; -use FOS\UserBundle\Event\FilterUserResponseEvent; -use Symfony\Component\HttpFoundation\Request; +use FOS\UserBundle\FOSUserEvents; use Symfony\Component\HttpFoundation\RedirectResponse; +use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; class ResettingController extends \FOS\UserBundle\Controller\ResettingController diff --git a/src/Wallabag/UserBundle/Entity/User.php b/src/Wallabag/UserBundle/Entity/User.php index e6528420..4bbb68dc 100644 --- a/src/Wallabag/UserBundle/Entity/User.php +++ b/src/Wallabag/UserBundle/Entity/User.php @@ -6,11 +6,11 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Scheb\TwoFactorBundle\Model\Email\TwoFactorInterface; use Scheb\TwoFactorBundle\Model\TrustedComputerInterface; -use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; -use Symfony\Component\Security\Core\User\UserInterface; +use FOS\UserBundle\Model\User as BaseUser; use JMS\Serializer\Annotation\ExclusionPolicy; use JMS\Serializer\Annotation\Expose; -use FOS\UserBundle\Model\User as BaseUser; +use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; +use Symfony\Component\Security\Core\User\UserInterface; use Wallabag\CoreBundle\Entity\Config; use Wallabag\CoreBundle\Entity\Entry; diff --git a/src/Wallabag/UserBundle/Resources/views/themes/baggy/Registration/register.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/baggy/Registration/register.html.twig index e5c1876b..2713bf45 100644 --- a/src/Wallabag/UserBundle/Resources/views/themes/baggy/Registration/register.html.twig +++ b/src/Wallabag/UserBundle/Resources/views/themes/baggy/Registration/register.html.twig @@ -8,7 +8,7 @@ {% block messages %}{% endblock %} {% block content %} - + {{ form_start(form) }}

{% trans %}create an account{% endtrans %}

{% include "FOSUserBundle:Registration:register_content.html.twig" %} diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/ChangePassword/changePassword_content.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/ChangePassword/changePassword_content.html.twig index e7b7318b..abb68421 100644 --- a/src/Wallabag/UserBundle/Resources/views/themes/material/ChangePassword/changePassword_content.html.twig +++ b/src/Wallabag/UserBundle/Resources/views/themes/material/ChangePassword/changePassword_content.html.twig @@ -1,6 +1,6 @@ {% trans_default_domain 'FOSUserBundle' %} - +{{ form_start(form, { 'action': path('fos_user_change_password'), 'attr': { 'class': 'fos_user_change_password' } }) }}
{{ form_widget(form) }} diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Registration/register_content.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Registration/register_content.html.twig index 865a24ae..e92b515e 100644 --- a/src/Wallabag/UserBundle/Resources/views/themes/material/Registration/register_content.html.twig +++ b/src/Wallabag/UserBundle/Resources/views/themes/material/Registration/register_content.html.twig @@ -1,6 +1,6 @@ {% trans_default_domain 'FOSUserBundle' %} - +{{ form_start(form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'fos_user_registration_register'}}) }}
diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/passwordAlreadyRequested.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/passwordAlreadyRequested.html.twig index 0eec4301..1e245372 100644 --- a/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/passwordAlreadyRequested.html.twig +++ b/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/passwordAlreadyRequested.html.twig @@ -5,7 +5,7 @@ {% block fos_user_content %}
- {{ 'resetting.password_already_requested'|trans }} + {{ 'resetting.password_already_requested'|trans }}
{% endblock fos_user_content %} diff --git a/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/reset_content.html.twig b/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/reset_content.html.twig index f7e061dd..9d0a061c 100644 --- a/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/reset_content.html.twig +++ b/src/Wallabag/UserBundle/Resources/views/themes/material/Resetting/reset_content.html.twig @@ -1,6 +1,6 @@ {% trans_default_domain 'FOSUserBundle' %} - +{{ form_start(form, { 'action': path('fos_user_resetting_reset', {'token': token}), 'attr': { 'class': 'fos_user_resetting_reset' } }) }}
{{ form_widget(form) }} diff --git a/app/SymfonyRequirements.php b/var/SymfonyRequirements.php similarity index 100% rename from app/SymfonyRequirements.php rename to var/SymfonyRequirements.php diff --git a/app/logs/.gitkeep b/var/cache/.gitkeep similarity index 100% rename from app/logs/.gitkeep rename to var/cache/.gitkeep diff --git a/var/logs/.gitkeep b/var/logs/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/var/sessions/.gitkeep b/var/sessions/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/web/.htaccess b/web/.htaccess index b52e3ae6..4dc72516 100644 --- a/web/.htaccess +++ b/web/.htaccess @@ -5,6 +5,18 @@ # to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl). DirectoryIndex app.php +# By default, Apache does not evaluate symbolic links if you did not enable this +# feature in your server configuration. Uncomment the following line if you +# install assets as symlinks or if you experience problems related to symlinks +# when compiling LESS/Sass/CoffeScript assets. +# Options FollowSymlinks + +# Disabling MultiViews prevents unwanted negotiation, e.g. "/app" should not resolve +# to the front controller "/app.php" but be rewritten to "/app.php/app". + + Options -MultiViews + + RewriteEngine On @@ -18,9 +30,9 @@ DirectoryIndex app.php RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ RewriteRule ^(.*) - [E=BASE:%1] - # Sets the HTTP_AUTHORIZATION header removed by apache + # Sets the HTTP_AUTHORIZATION header removed by Apache RewriteCond %{HTTP:Authorization} . - RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect to URI without front controller to prevent duplicate content # (with and without `/app.php`). Only do this redirect on the initial @@ -34,15 +46,15 @@ DirectoryIndex app.php # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the # following RewriteCond (best solution) RewriteCond %{ENV:REDIRECT_STATUS} ^$ - RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L] + RewriteRule ^app\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] # If the requested filename exists, simply serve it. # We only want to let Apache serve files and not directories. RewriteCond %{REQUEST_FILENAME} -f - RewriteRule .? - [L] + RewriteRule ^ - [L] # Rewrite all other queries to the front controller. - RewriteRule .? %{ENV:BASE}/app.php [L] + RewriteRule ^ %{ENV:BASE}/app.php [L] diff --git a/web/app.php b/web/app.php index c5c26409..5c5ee03b 100644 --- a/web/app.php +++ b/web/app.php @@ -1,23 +1,23 @@ unregister(); $apcLoader->register(true); */ -require_once __DIR__.'/../app/AppKernel.php'; -//require_once __DIR__.'/../app/AppCache.php'; - $kernel = new AppKernel('prod', false); $kernel->loadClassCache(); //$kernel = new AppCache($kernel); diff --git a/web/app_dev.php b/web/app_dev.php index e0279c2a..8456754d 100644 --- a/web/app_dev.php +++ b/web/app_dev.php @@ -4,24 +4,26 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Debug\Debug; // If you don't want to setup permissions the proper way, just uncomment the following PHP line -// read http://symfony.com/doc/current/book/installation.html#configuration-and-setup for more information +// read http://symfony.com/doc/current/book/installation.html#checking-symfony-application-configuration-and-setup +// for more information //umask(0000); // This check prevents access to debug front controllers that are deployed by accident to production servers. // Feel free to remove this, extend it, or make something more sophisticated. if (isset($_SERVER['HTTP_CLIENT_IP']) || isset($_SERVER['HTTP_X_FORWARDED_FOR']) - || !(in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1')) || php_sapi_name() === 'cli-server') + || !(in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', 'fe80::1', '::1']) || php_sapi_name() === 'cli-server') ) { header('HTTP/1.0 403 Forbidden'); exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); } -$loader = require_once __DIR__.'/../app/bootstrap.php.cache'; +/** + * @var Composer\Autoload\ClassLoader $loader + */ +$loader = require __DIR__.'/../app/autoload.php'; Debug::enable(); -require_once __DIR__.'/../app/AppKernel.php'; - $kernel = new AppKernel('dev', true); $kernel->loadClassCache(); $request = Request::createFromGlobals(); diff --git a/web/robots.txt b/web/robots.txt index 77470cb3..214e4119 100644 --- a/web/robots.txt +++ b/web/robots.txt @@ -1,2 +1,4 @@ +# www.robotstxt.org/ +# www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449 + User-agent: * -Disallow: / \ No newline at end of file