Symfony upgraded to 3.2.1. Deprecations solved, BC breaks fixed. All tests passing right.

This commit is contained in:
Alexey Skobkin 2017-01-09 03:33:29 +03:00
parent cf005637f8
commit 0232dee4fb
16 changed files with 447 additions and 382 deletions

View File

@ -7,7 +7,7 @@ class AppKernel extends Kernel
{ {
public function registerBundles() public function registerBundles()
{ {
$bundles = array( $bundles = [
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(), new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(), new Symfony\Bundle\TwigBundle\TwigBundle(),
@ -22,7 +22,7 @@ class AppKernel extends Kernel
new Knp\Bundle\MarkdownBundle\KnpMarkdownBundle(), new Knp\Bundle\MarkdownBundle\KnpMarkdownBundle(),
new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(), new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(),
new Skobkin\Bundle\PointToolsBundle\SkobkinPointToolsBundle(), new Skobkin\Bundle\PointToolsBundle\SkobkinPointToolsBundle(),
); ];
if (in_array($this->getEnvironment(), ['dev', 'test'])) { if (in_array($this->getEnvironment(), ['dev', 'test'])) {
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle(); $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();

View File

@ -6,6 +6,6 @@ use Composer\Autoload\ClassLoader;
/** @var ClassLoader $loader */ /** @var ClassLoader $loader */
$loader = require __DIR__.'/../vendor/autoload.php'; $loader = require __DIR__.'/../vendor/autoload.php';
AnnotationRegistry::registerLoader(array($loader, 'loadClass')); AnnotationRegistry::registerLoader([$loader, 'loadClass']);
return $loader; return $loader;

View File

@ -37,9 +37,8 @@ sensio_framework_extra:
# Twig Configuration # Twig Configuration
twig: twig:
form: form_themes:
resources: - bootstrap_3_layout.html.twig
- bootstrap_3_layout.html.twig
debug: "%kernel.debug%" debug: "%kernel.debug%"
strict_variables: "%kernel.debug%" strict_variables: "%kernel.debug%"
@ -60,7 +59,7 @@ doctrine:
auto_mapping: true auto_mapping: true
doctrine_migrations: doctrine_migrations:
dir_name: %kernel.root_dir%/DoctrineMigrations dir_name: "%kernel.root_dir%/DoctrineMigrations"
namespace: Application\Migrations namespace: Application\Migrations
table_name: migration_versions table_name: migration_versions
name: Application Migrations name: Application Migrations
@ -73,6 +72,9 @@ swiftmailer:
password: "%mailer_password%" password: "%mailer_password%"
spool: { type: memory } spool: { type: memory }
jms_serializer:
enable_short_alias: false
knp_markdown: knp_markdown:
parser: parser:
service: app.point.markdown_parser service: app.point.markdown_parser

View File

@ -1,9 +1,6 @@
imports: imports:
- { resource: config.yml } - { resource: config.yml }
#framework:
# validation:
# cache: apc
#doctrine: #doctrine:
# orm: # orm:

View File

@ -17,8 +17,8 @@ set_time_limit(0);
$loader = require __DIR__.'/autoload.php'; $loader = require __DIR__.'/autoload.php';
$input = new ArgvInput(); $input = new ArgvInput();
$env = $input->getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev'); $env = $input->getParameterOption(['--env', '-e'], getenv('SYMFONY_ENV') ?: 'dev');
$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(array('--no-debug', '')) && $env !== 'prod'; $debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(['--no-debug', '']) && $env !== 'prod';
if ($debug) { if ($debug) {
Debug::enable(); Debug::enable();

View File

@ -9,17 +9,19 @@
}, },
"require": { "require": {
"php": ">=7.0.0", "php": ">=7.0.0",
"symfony/symfony": "2.8.*", "symfony/symfony": "3.2.*",
"doctrine/orm": "^2.4.8", "doctrine/orm": "^2.5",
"doctrine/doctrine-bundle": "~1.4", "doctrine/annotations": "^1.3.0",
"twig/extensions": "~1.0", "doctrine/doctrine-bundle": "^1.6",
"symfony/swiftmailer-bundle": "~2.3,>=2.3.10", "doctrine/doctrine-cache-bundle": "^1.2",
"symfony/monolog-bundle": "^3.0.2",
"sensio/distribution-bundle": "~5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "~2.0",
"ob/highcharts-bundle": "^1.2",
"doctrine/doctrine-migrations-bundle": "^1.0", "doctrine/doctrine-migrations-bundle": "^1.0",
"twig/extensions": "~1.0",
"symfony/swiftmailer-bundle": "^2.3.10",
"symfony/monolog-bundle": "^3.0.2",
"sensio/distribution-bundle": "^5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "^2.0",
"ob/highcharts-bundle": "^1.2",
"jms/serializer-bundle": "^1.1", "jms/serializer-bundle": "^1.1",
"knplabs/knp-markdown-bundle": "^1.4", "knplabs/knp-markdown-bundle": "^1.4",
"knplabs/knp-paginator-bundle": "^2.5", "knplabs/knp-paginator-bundle": "^2.5",
@ -27,8 +29,8 @@
"csa/guzzle-bundle": "^2.1" "csa/guzzle-bundle": "^2.1"
}, },
"require-dev": { "require-dev": {
"sensio/generator-bundle": "~3.0", "sensio/generator-bundle": "^3.0",
"symfony/phpunit-bridge": "~2.7", "symfony/phpunit-bridge": "^3.0",
"phpunit/phpunit": "^5.7", "phpunit/phpunit": "^5.7",
"doctrine/doctrine-fixtures-bundle": "^2.3" "doctrine/doctrine-fixtures-bundle": "^2.3"
}, },
@ -59,7 +61,7 @@
"file": "app/config/parameters.yml" "file": "app/config/parameters.yml"
}, },
"branch-alias": { "branch-alias": {
"dev-master": "2.8-dev" "dev-master": "3.2-dev"
} }
} }
} }

646
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "0ed6c570d9db8a02d84f65d8a5796f3e", "content-hash": "7541afcce35278a2be523a6ee017f623",
"packages": [ "packages": [
{ {
"name": "csa/guzzle-bundle", "name": "csa/guzzle-bundle",
@ -1192,48 +1192,6 @@
], ],
"time": "2015-11-10T17:04:01+00:00" "time": "2015-11-10T17:04:01+00:00"
}, },
{
"name": "ircmaxell/password-compat",
"version": "v1.0.4",
"source": {
"type": "git",
"url": "https://github.com/ircmaxell/password_compat.git",
"reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c",
"reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c",
"shasum": ""
},
"require-dev": {
"phpunit/phpunit": "4.*"
},
"type": "library",
"autoload": {
"files": [
"lib/password.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anthony Ferrara",
"email": "ircmaxell@php.net",
"homepage": "http://blog.ircmaxell.com"
}
],
"description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash",
"homepage": "https://github.com/ircmaxell/password_compat",
"keywords": [
"hashing",
"password"
],
"time": "2014-11-20T16:49:30+00:00"
},
{ {
"name": "jdorn/sql-formatter", "name": "jdorn/sql-formatter",
"version": "v1.2.17", "version": "v1.2.17",
@ -2201,6 +2159,52 @@
], ],
"time": "2015-07-25T16:39:46+00:00" "time": "2015-07-25T16:39:46+00:00"
}, },
{
"name": "psr/cache",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/cache.git",
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Cache\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for caching libraries",
"keywords": [
"cache",
"psr",
"psr-6"
],
"time": "2016-08-06T20:24:11+00:00"
},
{ {
"name": "psr/http-message", "name": "psr/http-message",
"version": "1.0.1", "version": "1.0.1",
@ -2576,59 +2580,6 @@
], ],
"time": "2017-01-03T12:32:45+00:00" "time": "2017-01-03T12:32:45+00:00"
}, },
{
"name": "symfony/polyfill-apcu",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-apcu.git",
"reference": "5d4474f447403c3348e37b70acc2b95475b7befa"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/5d4474f447403c3348e37b70acc2b95475b7befa",
"reference": "5d4474f447403c3348e37b70acc2b95475b7befa",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3-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 backporting apcu_* functions to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"apcu",
"compatibility",
"polyfill",
"portable",
"shim"
],
"time": "2016-11-14T01:06:16+00:00"
},
{ {
"name": "symfony/polyfill-intl-icu", "name": "symfony/polyfill-intl-icu",
"version": "v1.3.0", "version": "v1.3.0",
@ -2746,120 +2697,6 @@
], ],
"time": "2016-11-14T01:06:16+00:00" "time": "2016-11-14T01:06:16+00:00"
}, },
{
"name": "symfony/polyfill-php54",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php54.git",
"reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/90e085822963fdcc9d1c5b73deb3d2e5783b16a0",
"reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Php54\\": ""
},
"files": [
"bootstrap.php"
],
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"time": "2016-11-14T01:06:16+00:00"
},
{
"name": "symfony/polyfill-php55",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php55.git",
"reference": "03e3f0350bca2220e3623a0e340eef194405fc67"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/03e3f0350bca2220e3623a0e340eef194405fc67",
"reference": "03e3f0350bca2220e3623a0e340eef194405fc67",
"shasum": ""
},
"require": {
"ircmaxell/password-compat": "~1.0",
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Php55\\": ""
},
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"time": "2016-11-14T01:06:16+00:00"
},
{ {
"name": "symfony/polyfill-php56", "name": "symfony/polyfill-php56",
"version": "v1.3.0", "version": "v1.3.0",
@ -3027,67 +2864,6 @@
], ],
"time": "2016-11-14T01:06:16+00:00" "time": "2016-11-14T01:06:16+00:00"
}, },
{
"name": "symfony/security-acl",
"version": "v3.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-acl.git",
"reference": "053b49bf4aa333a392c83296855989bcf88ddad1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/security-acl/zipball/053b49bf4aa333a392c83296855989bcf88ddad1",
"reference": "053b49bf4aa333a392c83296855989bcf88ddad1",
"shasum": ""
},
"require": {
"php": ">=5.5.9",
"symfony/security-core": "~2.8|~3.0"
},
"require-dev": {
"doctrine/common": "~2.2",
"doctrine/dbal": "~2.2",
"psr/log": "~1.0",
"symfony/phpunit-bridge": "~2.8|~3.0"
},
"suggest": {
"doctrine/dbal": "For using the built-in ACL implementation",
"symfony/class-loader": "For using the ACL generateSql script",
"symfony/finder": "For using the ACL generateSql script"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.0-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Security\\Acl\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Security Component - ACL (Access Control List)",
"homepage": "https://symfony.com",
"time": "2015-12-28T09:39:46+00:00"
},
{ {
"name": "symfony/swiftmailer-bundle", "name": "symfony/swiftmailer-bundle",
"version": "v2.4.2", "version": "v2.4.2",
@ -3149,39 +2925,41 @@
}, },
{ {
"name": "symfony/symfony", "name": "symfony/symfony",
"version": "v2.8.15", "version": "v3.2.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/symfony.git", "url": "https://github.com/symfony/symfony.git",
"reference": "3ec15b9379ebb0758e296d4193926a7b4121a964" "reference": "5824d423678a0cc44f3eb46efc246aecd1836dd7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/symfony/zipball/3ec15b9379ebb0758e296d4193926a7b4121a964", "url": "https://api.github.com/repos/symfony/symfony/zipball/5824d423678a0cc44f3eb46efc246aecd1836dd7",
"reference": "3ec15b9379ebb0758e296d4193926a7b4121a964", "reference": "5824d423678a0cc44f3eb46efc246aecd1836dd7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/common": "~2.4", "doctrine/common": "~2.4",
"php": ">=5.3.9", "php": ">=5.5.9",
"psr/cache": "~1.0",
"psr/log": "~1.0", "psr/log": "~1.0",
"symfony/polyfill-apcu": "~1.1",
"symfony/polyfill-intl-icu": "~1.0", "symfony/polyfill-intl-icu": "~1.0",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php54": "~1.0",
"symfony/polyfill-php55": "~1.0",
"symfony/polyfill-php56": "~1.0", "symfony/polyfill-php56": "~1.0",
"symfony/polyfill-php70": "~1.0", "symfony/polyfill-php70": "~1.0",
"symfony/polyfill-util": "~1.0", "symfony/polyfill-util": "~1.0",
"symfony/security-acl": "~2.7|~3.0.0",
"twig/twig": "~1.28|~2.0" "twig/twig": "~1.28|~2.0"
}, },
"conflict": { "conflict": {
"phpdocumentor/reflection": "<1.0.7" "phpdocumentor/reflection-docblock": "<3.0",
"phpdocumentor/type-resolver": "<0.2.0"
},
"provide": {
"psr/cache-implementation": "1.0"
}, },
"replace": { "replace": {
"symfony/asset": "self.version", "symfony/asset": "self.version",
"symfony/browser-kit": "self.version", "symfony/browser-kit": "self.version",
"symfony/cache": "self.version",
"symfony/class-loader": "self.version", "symfony/class-loader": "self.version",
"symfony/config": "self.version", "symfony/config": "self.version",
"symfony/console": "self.version", "symfony/console": "self.version",
@ -3199,9 +2977,9 @@
"symfony/framework-bundle": "self.version", "symfony/framework-bundle": "self.version",
"symfony/http-foundation": "self.version", "symfony/http-foundation": "self.version",
"symfony/http-kernel": "self.version", "symfony/http-kernel": "self.version",
"symfony/inflector": "self.version",
"symfony/intl": "self.version", "symfony/intl": "self.version",
"symfony/ldap": "self.version", "symfony/ldap": "self.version",
"symfony/locale": "self.version",
"symfony/monolog-bridge": "self.version", "symfony/monolog-bridge": "self.version",
"symfony/options-resolver": "self.version", "symfony/options-resolver": "self.version",
"symfony/process": "self.version", "symfony/process": "self.version",
@ -3217,7 +2995,6 @@
"symfony/security-http": "self.version", "symfony/security-http": "self.version",
"symfony/serializer": "self.version", "symfony/serializer": "self.version",
"symfony/stopwatch": "self.version", "symfony/stopwatch": "self.version",
"symfony/swiftmailer-bridge": "self.version",
"symfony/templating": "self.version", "symfony/templating": "self.version",
"symfony/translation": "self.version", "symfony/translation": "self.version",
"symfony/twig-bridge": "self.version", "symfony/twig-bridge": "self.version",
@ -3225,23 +3002,29 @@
"symfony/validator": "self.version", "symfony/validator": "self.version",
"symfony/var-dumper": "self.version", "symfony/var-dumper": "self.version",
"symfony/web-profiler-bundle": "self.version", "symfony/web-profiler-bundle": "self.version",
"symfony/workflow": "self.version",
"symfony/yaml": "self.version" "symfony/yaml": "self.version"
}, },
"require-dev": { "require-dev": {
"cache/integration-tests": "dev-master",
"doctrine/cache": "~1.6",
"doctrine/data-fixtures": "1.0.*", "doctrine/data-fixtures": "1.0.*",
"doctrine/dbal": "~2.4", "doctrine/dbal": "~2.4",
"doctrine/doctrine-bundle": "~1.2", "doctrine/doctrine-bundle": "~1.4",
"doctrine/orm": "~2.4,>=2.4.5", "doctrine/orm": "~2.4,>=2.4.5",
"egulias/email-validator": "~1.2,>=1.2.1", "egulias/email-validator": "~1.2,>=1.2.8|~2.0",
"monolog/monolog": "~1.11", "monolog/monolog": "~1.11",
"ocramius/proxy-manager": "~0.4|~1.0|~2.0", "ocramius/proxy-manager": "~0.4|~1.0|~2.0",
"phpdocumentor/reflection": "^1.0.7", "phpdocumentor/reflection-docblock": "^3.0",
"symfony/phpunit-bridge": "~3.2" "predis/predis": "~1.0",
"symfony/phpunit-bridge": "~3.2",
"symfony/polyfill-apcu": "~1.1",
"symfony/security-acl": "~2.8|~3.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.8-dev" "dev-master": "3.2-dev"
} }
}, },
"autoload": { "autoload": {
@ -3280,7 +3063,7 @@
"keywords": [ "keywords": [
"framework" "framework"
], ],
"time": "2016-12-13T12:16:34+00:00" "time": "2016-12-13T13:20:15+00:00"
}, },
{ {
"name": "twig/extensions", "name": "twig/extensions",
@ -3721,6 +3504,48 @@
], ],
"time": "2015-11-04T21:23:23+00:00" "time": "2015-11-04T21:23:23+00:00"
}, },
{
"name": "ircmaxell/password-compat",
"version": "v1.0.4",
"source": {
"type": "git",
"url": "https://github.com/ircmaxell/password_compat.git",
"reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c",
"reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c",
"shasum": ""
},
"require-dev": {
"phpunit/phpunit": "4.*"
},
"type": "library",
"autoload": {
"files": [
"lib/password.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anthony Ferrara",
"email": "ircmaxell@php.net",
"homepage": "http://blog.ircmaxell.com"
}
],
"description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash",
"homepage": "https://github.com/ircmaxell/password_compat",
"keywords": [
"hashing",
"password"
],
"time": "2014-11-20T16:49:30+00:00"
},
{ {
"name": "myclabs/deep-copy", "name": "myclabs/deep-copy",
"version": "1.5.5", "version": "1.5.5",
@ -4924,16 +4749,16 @@
}, },
{ {
"name": "symfony/phpunit-bridge", "name": "symfony/phpunit-bridge",
"version": "v2.8.15", "version": "v3.2.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/phpunit-bridge.git", "url": "https://github.com/symfony/phpunit-bridge.git",
"reference": "3a1f8c81595f8f69e24cf03134996cb99a8537c1" "reference": "65e64a4f99cbaeae718573c3347fbe800f3f6661"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/3a1f8c81595f8f69e24cf03134996cb99a8537c1", "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/65e64a4f99cbaeae718573c3347fbe800f3f6661",
"reference": "3a1f8c81595f8f69e24cf03134996cb99a8537c1", "reference": "65e64a4f99cbaeae718573c3347fbe800f3f6661",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4942,10 +4767,13 @@
"suggest": { "suggest": {
"symfony/debug": "For tracking deprecated interfaces usages at runtime with DebugClassLoader" "symfony/debug": "For tracking deprecated interfaces usages at runtime with DebugClassLoader"
}, },
"bin": [
"bin/simple-phpunit"
],
"type": "symfony-bridge", "type": "symfony-bridge",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.8-dev" "dev-master": "3.2-dev"
} }
}, },
"autoload": { "autoload": {
@ -4975,7 +4803,235 @@
], ],
"description": "Symfony PHPUnit Bridge", "description": "Symfony PHPUnit Bridge",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2016-11-16T18:56:22+00:00" "time": "2016-12-12T13:31:08+00:00"
},
{
"name": "symfony/polyfill-apcu",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-apcu.git",
"reference": "5d4474f447403c3348e37b70acc2b95475b7befa"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/5d4474f447403c3348e37b70acc2b95475b7befa",
"reference": "5d4474f447403c3348e37b70acc2b95475b7befa",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3-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 backporting apcu_* functions to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"apcu",
"compatibility",
"polyfill",
"portable",
"shim"
],
"time": "2016-11-14T01:06:16+00:00"
},
{
"name": "symfony/polyfill-php54",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php54.git",
"reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/90e085822963fdcc9d1c5b73deb3d2e5783b16a0",
"reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Php54\\": ""
},
"files": [
"bootstrap.php"
],
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"time": "2016-11-14T01:06:16+00:00"
},
{
"name": "symfony/polyfill-php55",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php55.git",
"reference": "03e3f0350bca2220e3623a0e340eef194405fc67"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/03e3f0350bca2220e3623a0e340eef194405fc67",
"reference": "03e3f0350bca2220e3623a0e340eef194405fc67",
"shasum": ""
},
"require": {
"ircmaxell/password-compat": "~1.0",
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Php55\\": ""
},
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"time": "2016-11-14T01:06:16+00:00"
},
{
"name": "symfony/security-acl",
"version": "v3.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-acl.git",
"reference": "053b49bf4aa333a392c83296855989bcf88ddad1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/security-acl/zipball/053b49bf4aa333a392c83296855989bcf88ddad1",
"reference": "053b49bf4aa333a392c83296855989bcf88ddad1",
"shasum": ""
},
"require": {
"php": ">=5.5.9",
"symfony/security-core": "~2.8|~3.0"
},
"require-dev": {
"doctrine/common": "~2.2",
"doctrine/dbal": "~2.2",
"psr/log": "~1.0",
"symfony/phpunit-bridge": "~2.8|~3.0"
},
"suggest": {
"doctrine/dbal": "For using the built-in ACL implementation",
"symfony/class-loader": "For using the ACL generateSql script",
"symfony/finder": "For using the ACL generateSql script"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.0-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Security\\Acl\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Security Component - ACL (Access Control List)",
"homepage": "https://symfony.com",
"time": "2015-12-28T09:39:46+00:00"
}, },
{ {
"name": "webmozart/assert", "name": "webmozart/assert",

View File

@ -3,13 +3,13 @@
namespace Skobkin\Bundle\PointToolsBundle\Controller\Api; namespace Skobkin\Bundle\PointToolsBundle\Controller\Api;
use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Response;
class AbstractApiController extends Controller class AbstractApiController extends Controller
{ {
protected function createSuccessResponse($data, $code = 200) protected function createSuccessResponse($data, $code = 200): Response
{ {
return new JsonResponse([ return $this->json([
'status' => 'success', 'status' => 'success',
'data' => $data, 'data' => $data,
], $code); ], $code);
@ -18,9 +18,9 @@ class AbstractApiController extends Controller
/** /**
* *
*/ */
protected function createErrorResponse($message, $code = 400) protected function createErrorResponse($message, $code = 400): Response
{ {
return new JsonResponse([ return $this->json([
'status' => 'fail', 'status' => 'fail',
'error' => [ 'error' => [
'code' => (int) $code, 'code' => (int) $code,

View File

@ -8,7 +8,7 @@ use Symfony\Component\HttpFoundation\Response;
class CrawlerController extends AbstractApiController class CrawlerController extends AbstractApiController
{ {
public function receiveAllPageAction(Request $request) public function receiveAllPageAction(Request $request): Response
{ {
$remoteToken = $request->request->get('token'); $remoteToken = $request->request->get('token');
$localToken = $this->getParameter('crawler_token'); $localToken = $this->getParameter('crawler_token');

View File

@ -6,7 +6,6 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Skobkin\Bundle\PointToolsBundle\Entity\SubscriptionEvent; use Skobkin\Bundle\PointToolsBundle\Entity\SubscriptionEvent;
use Skobkin\Bundle\PointToolsBundle\Entity\User; use Skobkin\Bundle\PointToolsBundle\Entity\User;
use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
class ApiController extends Controller class ApiController extends Controller
@ -41,6 +40,6 @@ class ApiController extends Controller
]; ];
} }
return new JsonResponse($data); return $this->json($data);
} }
} }

View File

@ -8,12 +8,13 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Form\FormError; use Symfony\Component\Form\FormError;
use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class MainController extends Controller class MainController extends Controller
{ {
const AJAX_AUTOCOMPLETE_SIZE = 10; const AJAX_AUTOCOMPLETE_SIZE = 10;
public function indexAction(Request $request) public function indexAction(Request $request): Response
{ {
/** @var EntityManager $em */ /** @var EntityManager $em */
$em = $this->getDoctrine()->getManager(); $em = $this->getDoctrine()->getManager();
@ -23,7 +24,6 @@ class MainController extends Controller
null, null,
[ [
'action' => $this->generateUrl('index'), 'action' => $this->generateUrl('index'),
'method' => 'POST',
] ]
); );
@ -43,20 +43,20 @@ class MainController extends Controller
'form' => $form->createView(), 'form' => $form->createView(),
'autocomplete_size' => self::AJAX_AUTOCOMPLETE_SIZE, 'autocomplete_size' => self::AJAX_AUTOCOMPLETE_SIZE,
'users_count' => $em->getRepository('SkobkinPointToolsBundle:User')->getUsersCount(), 'users_count' => $em->getRepository('SkobkinPointToolsBundle:User')->getUsersCount(),
'subscribers_count' => $em->getRepository('SkobkinPointToolsBundle:Subscription')->getUserSubscribersCountById($this->container->getParameter('point_id')), 'subscribers_count' => $em->getRepository('SkobkinPointToolsBundle:Subscription')->getUserSubscribersCountById($this->getParameter('point_id')),
'events_count' => $em->getRepository('SkobkinPointToolsBundle:SubscriptionEvent')->getLastDayEventsCount(), 'events_count' => $em->getRepository('SkobkinPointToolsBundle:SubscriptionEvent')->getLastDayEventsCount(),
'service_login' => $this->container->getParameter('point_login'), 'service_login' => $this->getParameter('point_login'),
]); ]);
} }
/** /**
* Returns user search autocomplete data in JSON * Returns user search autocomplete data in JSON
* *
* @param $login * @param string $login
* *
* @return JsonResponse * @return JsonResponse
*/ */
public function searchUserAjaxAction($login) public function searchUserAjaxAction(string $login): Response
{ {
$em = $this->getDoctrine()->getManager(); $em = $this->getDoctrine()->getManager();
@ -69,6 +69,6 @@ class MainController extends Controller
]; ];
} }
return new JsonResponse($result); return $this->json($result);
} }
} }

View File

@ -3,7 +3,6 @@
namespace Skobkin\Bundle\PointToolsBundle\Controller; namespace Skobkin\Bundle\PointToolsBundle\Controller;
use Skobkin\Bundle\PointToolsBundle\Entity\Blogs\Post; use Skobkin\Bundle\PointToolsBundle\Entity\Blogs\Post;
use Skobkin\Bundle\PointToolsBundle\Service\UserApi;
use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter; use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
@ -15,7 +14,7 @@ class PostController extends Controller
* *
* @return Response * @return Response
*/ */
public function showAction(Post $post) public function showAction(Post $post): Response
{ {
return $this->render('SkobkinPointToolsBundle:Post:show.html.twig', [ return $this->render('SkobkinPointToolsBundle:Post:show.html.twig', [
'post' => $this->getDoctrine()->getRepository('SkobkinPointToolsBundle:Blogs\Post')->getPostWithComments($post->getId()), 'post' => $this->getDoctrine()->getRepository('SkobkinPointToolsBundle:Blogs\Post')->getPostWithComments($post->getId()),

View File

@ -9,13 +9,14 @@ use Skobkin\Bundle\PointToolsBundle\Service\UserApi;
use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Ob\HighchartsBundle\Highcharts\Highchart; use Ob\HighchartsBundle\Highcharts\Highchart;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class UserController extends Controller class UserController extends Controller
{ {
/** /**
* @param string $login * @param string $login
*/ */
public function showAction(Request $request, $login) public function showAction(Request $request, string $login): Response
{ {
/** @var EntityManager $em */ /** @var EntityManager $em */
$em = $this->getDoctrine()->getManager(); $em = $this->getDoctrine()->getManager();
@ -35,7 +36,7 @@ class UserController extends Controller
10 10
); );
$userApi = $this->container->get('app.point.api_user'); $userApi = $this->get('app.point.api_user');
return $this->render('SkobkinPointToolsBundle:User:show.html.twig', [ return $this->render('SkobkinPointToolsBundle:User:show.html.twig', [
'user' => $user, 'user' => $user,
@ -46,7 +47,7 @@ class UserController extends Controller
]); ]);
} }
public function topAction() public function topAction(): Response
{ {
$topUsers = $this->getDoctrine()->getManager()->getRepository('SkobkinPointToolsBundle:User')->getTopUsers(); $topUsers = $this->getDoctrine()->getManager()->getRepository('SkobkinPointToolsBundle:User')->getTopUsers();
@ -59,12 +60,15 @@ class UserController extends Controller
} }
/** /**
* @todo move to the service
*
* @param TopUserDTO[] $topUsers * @param TopUserDTO[] $topUsers
*
* @return Highchart * @return Highchart
*/ */
private function createTopUsersGraph(array $topUsers = []) private function createTopUsersGraph(array $topUsers = []): Highchart
{ {
$translator = $this->container->get('translator'); $translator = $this->get('translator');
$chartData = [ $chartData = [
'titles' => [], 'titles' => [],

View File

@ -1,46 +1,52 @@
index: index:
path: / path: /
defaults: { _controller: SkobkinPointToolsBundle:Main:index } defaults: { _controller: SkobkinPointToolsBundle:Main:index }
methods: [POST, GET]
telegram_webhook: telegram_webhook:
path: /telegram/webhook/{token} path: /telegram/webhook/{token}
defaults: { _controller: SkobkinPointToolsBundle:Telegram/WebHook:receiveUpdate, _format: json } defaults: { _controller: SkobkinPointToolsBundle:Telegram/WebHook:receiveUpdate, _format: json }
methods: [POST] methods: [POST]
requirements: requirements:
token: "\d+\:[\w-]+" token: '\d+\:[\w-]+'
_format: json _format: json
user_search_ajax: user_search_ajax:
path: /ajax/users/search/{login} path: /ajax/users/search/{login}
defaults: { _controller: SkobkinPointToolsBundle:Main:searchUserAjax, _format: json } defaults: { _controller: SkobkinPointToolsBundle:Main:searchUserAjax, _format: json }
methods: [GET]
requirements: requirements:
login: "[\w-]*" login: '[\w-]*'
_format: json _format: json
user_show: user_show:
path: /user/{login} path: /user/{login}
defaults: { _controller: SkobkinPointToolsBundle:User:show } defaults: { _controller: SkobkinPointToolsBundle:User:show }
methods: [GET]
requirements: requirements:
login: "[\w-]+" login: '[\w-]+'
users_top: users_top:
path: /users/top path: /users/top
defaults: { _controller: SkobkinPointToolsBundle:User:top } defaults: { _controller: SkobkinPointToolsBundle:User:top }
methods: [GET]
events_last: events_last:
path: /events/last path: /events/last
defaults: { _controller: SkobkinPointToolsBundle:Events:last } defaults: { _controller: SkobkinPointToolsBundle:Events:last }
methods: [GET]
post_show: post_show:
path: /{id} path: /{id}
defaults: { _controller: SkobkinPointToolsBundle:Post:show } defaults: { _controller: SkobkinPointToolsBundle:Post:show }
methods: [GET]
requirements: requirements:
id: "[a-z]+" id: '[a-z]+'
api_public: api_public:
resource: "@SkobkinPointToolsBundle/Resources/config/api/public.yml" resource: '@SkobkinPointToolsBundle/Resources/config/api/public.yml'
prefix: /api/v1 prefix: /api/v1
api_crawler: api_crawler:
resource: "@SkobkinPointToolsBundle/Resources/config/api/crawler.yml" resource: '@SkobkinPointToolsBundle/Resources/config/api/crawler.yml'
prefix: /api/crawler prefix: /api/crawler

View File

@ -9,7 +9,7 @@ services:
# HTTP client for Point API # HTTP client for Point API
app.http.point_client: app.http.point_client:
class: GuzzleHttp\Client class: GuzzleHttp\Client
arguments: [ { base_uri: "%point_base_url%", timeout: 5.0 } ] arguments: [ { base_uri: '%point_base_url%', timeout: 5.0 } ]
tags: tags:
- { name: csa_guzzle.client } - { name: csa_guzzle.client }
@ -18,70 +18,70 @@ services:
# Abstract API client with common dependency # Abstract API client with common dependency
app.point.abstract_api: app.point.abstract_api:
abstract: true abstract: true
arguments: [@app.http.point_client] arguments: ['@app.http.point_client']
app.point.api_user: app.point.api_user:
class: Skobkin\Bundle\PointToolsBundle\Service\UserApi class: Skobkin\Bundle\PointToolsBundle\Service\UserApi
parent: app.point.abstract_api parent: app.point.abstract_api
arguments: arguments:
- @doctrine.orm.entity_manager - '@doctrine.orm.entity_manager'
- @serializer - '@jms_serializer'
app.point.api_post: app.point.api_post:
class: Skobkin\Bundle\PointToolsBundle\Service\PostApi class: Skobkin\Bundle\PointToolsBundle\Service\PostApi
parent: app.point.abstract_api parent: app.point.abstract_api
arguments: arguments:
- @app.point.post_factory - '@app.point.post_factory'
# Point subscription manager # Point subscription manager
app.point.subscriptions_manager: app.point.subscriptions_manager:
class: Skobkin\Bundle\PointToolsBundle\Service\SubscriptionsManager class: Skobkin\Bundle\PointToolsBundle\Service\SubscriptionsManager
arguments: [ @doctrine.orm.entity_manager, @event_dispatcher ] arguments: [ '@doctrine.orm.entity_manager', '@event_dispatcher' ]
# Factories # Factories
# User factory # User factory
app.point.user_factory: app.point.user_factory:
class: Skobkin\Bundle\PointToolsBundle\Service\Factory\UserFactory class: Skobkin\Bundle\PointToolsBundle\Service\Factory\UserFactory
arguments: [ @doctrine.orm.entity_manager ] arguments: [ '@doctrine.orm.entity_manager' ]
# Comment factory # Comment factory
app.point.comment_factory: app.point.comment_factory:
class: Skobkin\Bundle\PointToolsBundle\Service\Factory\Blogs\CommentFactory class: Skobkin\Bundle\PointToolsBundle\Service\Factory\Blogs\CommentFactory
arguments: [ @doctrine.orm.entity_manager, @app.point.user_factory ] arguments: [ '@doctrine.orm.entity_manager', '@app.point.user_factory' ]
# Tag factory # Tag factory
app.point.tag_factory: app.point.tag_factory:
class: Skobkin\Bundle\PointToolsBundle\Service\Factory\Blogs\TagFactory class: Skobkin\Bundle\PointToolsBundle\Service\Factory\Blogs\TagFactory
arguments: [ @logger, @doctrine.orm.entity_manager ] arguments: [ '@logger', '@doctrine.orm.entity_manager' ]
# File factory # File factory
app.point.file_factory: app.point.file_factory:
class: Skobkin\Bundle\PointToolsBundle\Service\Factory\Blogs\FileFactory class: Skobkin\Bundle\PointToolsBundle\Service\Factory\Blogs\FileFactory
arguments: [ @logger, @doctrine.orm.entity_manager ] arguments: [ '@logger', '@doctrine.orm.entity_manager' ]
# Post factory # Post factory
app.point.post_factory: app.point.post_factory:
class: Skobkin\Bundle\PointToolsBundle\Service\Factory\Blogs\PostFactory class: Skobkin\Bundle\PointToolsBundle\Service\Factory\Blogs\PostFactory
arguments: arguments:
- @logger - '@logger'
- @doctrine.orm.entity_manager - '@doctrine.orm.entity_manager'
- @app.point.user_factory - '@app.point.user_factory'
- @app.point.file_factory - '@app.point.file_factory'
- @app.point.comment_factory - '@app.point.comment_factory'
- @app.point.tag_factory - '@app.point.tag_factory'
# Telegram accounts factory # Telegram accounts factory
app.telegram.telegram_account_factory: app.telegram.telegram_account_factory:
class: Skobkin\Bundle\PointToolsBundle\Service\Factory\Telegram\AccountFactory class: Skobkin\Bundle\PointToolsBundle\Service\Factory\Telegram\AccountFactory
arguments: [@doctrine.orm.entity_manager] arguments: ['@doctrine.orm.entity_manager']
# Custom Markdown parser # Custom Markdown parser
app.point.markdown_parser: app.point.markdown_parser:
class: Skobkin\Bundle\PointToolsBundle\Service\Markdown\PointParser class: Skobkin\Bundle\PointToolsBundle\Service\Markdown\PointParser
arguments: [[], @router] arguments: [[], '@router']
tags: tags:
- { name: markdown.parser } - { name: markdown.parser }
@ -89,19 +89,19 @@ services:
# Event listener # Event listener
app.event_listener.users_updated: app.event_listener.users_updated:
class: Skobkin\Bundle\PointToolsBundle\EventListener\UsersUpdatedSubscriber class: Skobkin\Bundle\PointToolsBundle\EventListener\UsersUpdatedSubscriber
arguments: [@event_dispatcher] arguments: ['@event_dispatcher']
tags: tags:
- { name: doctrine.event_subscriber, connection: default } - { name: doctrine.event_subscriber, connection: default }
app.event_listener.users_renamed_notifier: app.event_listener.users_renamed_notifier:
class: Skobkin\Bundle\PointToolsBundle\EventListener\UsersRenamedListener class: Skobkin\Bundle\PointToolsBundle\EventListener\UsersRenamedListener
arguments: [@app.telegram.notifier] arguments: ['@app.telegram.notifier']
tags: tags:
- { name: kernel.event_listener, event: app.users.renamed } - { name: kernel.event_listener, event: app.users.renamed }
app.event_listener.user_subscribers_updated: app.event_listener.user_subscribers_updated:
class: Skobkin\Bundle\PointToolsBundle\EventListener\UserSubscribersUpdatedListener class: Skobkin\Bundle\PointToolsBundle\EventListener\UserSubscribersUpdatedListener
arguments: [@app.telegram.notifier] arguments: ['@app.telegram.notifier']
tags: tags:
- { name: kernel.event_listener, event: app.user.subscribers_updated } - { name: kernel.event_listener, event: app.user.subscribers_updated }
@ -119,38 +119,38 @@ services:
# API client # API client
app.telegram.api_client: app.telegram.api_client:
class: unreal4u\TelegramAPI\TgLog class: unreal4u\TelegramAPI\TgLog
arguments: [%telegram_token%, @logger, @app.http.telegram_client] arguments: ['%telegram_token%', '@logger', '@app.http.telegram_client']
# Message sender # Message sender
app.telegram.message_sender: app.telegram.message_sender:
class: Skobkin\Bundle\PointToolsBundle\Service\Telegram\MessageSender class: Skobkin\Bundle\PointToolsBundle\Service\Telegram\MessageSender
arguments: [@app.telegram.api_client, @twig] arguments: ['@app.telegram.api_client', '@twig']
# User notifier # User notifier
app.telegram.notifier: app.telegram.notifier:
class: Skobkin\Bundle\PointToolsBundle\Service\Telegram\Notifier class: Skobkin\Bundle\PointToolsBundle\Service\Telegram\Notifier
arguments: [@doctrine.orm.entity_manager, @app.telegram.message_sender] arguments: ['@doctrine.orm.entity_manager', '@app.telegram.message_sender']
# Common incoming message processor # Common incoming message processor
app.telegram.update_dispatcher: app.telegram.update_dispatcher:
class: Skobkin\Bundle\PointToolsBundle\Service\Telegram\IncomingUpdateDispatcher class: Skobkin\Bundle\PointToolsBundle\Service\Telegram\IncomingUpdateDispatcher
arguments: arguments:
- @app.telegram.private_message_processor - '@app.telegram.private_message_processor'
- @app.telegram.inline_query_processor - '@app.telegram.inline_query_processor'
# InlineQuery processor # InlineQuery processor
app.telegram.inline_query_processor: app.telegram.inline_query_processor:
class: Skobkin\Bundle\PointToolsBundle\Service\Telegram\InlineQueryProcessor class: Skobkin\Bundle\PointToolsBundle\Service\Telegram\InlineQueryProcessor
lazy: true lazy: true
arguments: [@doctrine.orm.entity_manager, @app.telegram.api_client] arguments: ['@doctrine.orm.entity_manager', '@app.telegram.api_client']
# Private message processor # Private message processor
app.telegram.private_message_processor: app.telegram.private_message_processor:
class: Skobkin\Bundle\PointToolsBundle\Service\Telegram\PrivateMessageProcessor class: Skobkin\Bundle\PointToolsBundle\Service\Telegram\PrivateMessageProcessor
lazy: true lazy: true
arguments: arguments:
- @app.telegram.message_sender - '@app.telegram.message_sender'
- @app.point.api_user - '@app.point.api_user'
- @app.telegram.telegram_account_factory - '@app.telegram.telegram_account_factory'
- @doctrine.orm.entity_manager - '@doctrine.orm.entity_manager'
- %point_id% - '%point_id%'

View File

@ -10,9 +10,9 @@ umask(0002);
// This check prevents access to debug front controllers that are deployed by accident to production servers. // 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. // Feel free to remove this, extend it, or make something more sophisticated.
if (isset($_SERVER['HTTP_CLIENT_IP']) if (isset($_SERVER['HTTP_CLIENT_IP'])
//|| isset($_SERVER['HTTP_X_FORWARDED_FOR']) || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !( || !(
//in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1')) || in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1')) ||
php_sapi_name() === 'cli-server' php_sapi_name() === 'cli-server'
) )
) { ) {