diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..a1fd07b
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,32 @@
+**/*.DS_Store
+**/*.log
+**/*.md
+**/*.php~
+**/*.sql.gz
+**/._*
+**/.dockerignore
+**/.gitignore
+**/Dockerfile
+**/Thumbs.db
+*.env.dist
+*.sublime-project
+*.sublime-workspace
+.editorconfig
+.env
+.git/
+.gitattributes
+.gitlab-ci.yml
+.gitmodules
+.php_cs.cache
+.travis.yml
+app/config/parameters.yml
+bin/symfony_requirements
+build/
+composer.phar
+docker-compose.override.yml
+docker-compose.yml
+docker/db/data/
+var/
+vendor/
+web/index.php
+web/bundles/
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index c6b5dc5..a73deb1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,31 +4,34 @@ sudo: false
cache:
directories:
- - bin
- - vendor
- - $HOME/.composer/cache
+ - $HOME/.composer/cache/files
+ - $HOME/symfony-bridge/.phpunit
-php:
- - 7.0
- - 7.1
- - 7.2
+matrix:
+ fast_finish: true
+ include:
+ - php: 7.1
+ - php: 7.2
env:
- global:
- - SYMFONY_PHPUNIT_VERSION=5.5
- - SYMFONY_DEPRECATIONS_HELPER=disabled
+ global:
+ - SYMFONY_PHPUNIT_DIR="$HOME/symfony-bridge/.phpunit"
+ - SYMFONY_PHPUNIT_VERSION=5.7
before_install:
- phpenv config-rm xdebug.ini
- composer self-update
install:
- - composer update --prefer-dist --no-interaction --no-progress
+ - composer install
+ - ./vendor/bin/simple-phpunit install
script:
- vendor/bin/simple-phpunit
- vendor/bin/php-cs-fixer fix --config=.php_cs -v --dry-run --using-cache=no --path-mode=intersection `git diff --name-only --diff-filter=ACMRTUXB $TRAVIS_COMMIT_RANGE`
-
+ - ./bin/console lint:yaml app/config
+ - ./bin/console lint:twig app/Resources
+ - ./bin/console security:check --end-point=http://security.sensiolabs.org/check_lock
notifications:
email: false
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..c522e31
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,67 @@
+FROM php:7.1-fpm-alpine
+
+RUN apk add --no-cache --virtual .persistent-deps \
+ git \
+ icu-libs \
+ zlib
+
+ENV APCU_VERSION 5.1.8
+
+RUN set -xe \
+ && apk add --no-cache --virtual .build-deps \
+ $PHPIZE_DEPS \
+ icu-dev \
+ zlib-dev \
+ && docker-php-ext-install \
+ intl \
+ pdo_mysql \
+ zip \
+ && pecl install \
+ apcu-${APCU_VERSION} \
+ && docker-php-ext-enable --ini-name 20-apcu.ini apcu \
+ && docker-php-ext-enable --ini-name 05-opcache.ini opcache \
+ && apk del .build-deps
+
+COPY docker/app/php.ini /usr/local/etc/php/php.ini
+
+COPY docker/app/install-composer.sh /usr/local/bin/docker-app-install-composer
+RUN chmod +x /usr/local/bin/docker-app-install-composer
+
+RUN set -xe \
+ && apk add --no-cache --virtual .fetch-deps \
+ openssl \
+ && docker-app-install-composer \
+ && mv composer.phar /usr/local/bin/composer \
+ && apk del .fetch-deps
+
+# https://getcomposer.org/doc/03-cli.md#composer-allow-superuser
+ENV COMPOSER_ALLOW_SUPERUSER 1
+
+RUN composer global require "hirak/prestissimo:^0.3" --prefer-dist --no-progress --no-suggest --optimize-autoloader --classmap-authoritative \
+ && composer clear-cache
+
+WORKDIR /srv/prestonbot
+
+COPY composer.json ./
+
+RUN mkdir -p \
+ var/cache \
+ var/logs \
+ var/sessions \
+ && composer install --prefer-dist --no-dev --no-autoloader --no-scripts --no-progress --no-suggest \
+ && composer clear-cache \
+ # Permissions hack because setfacl does not work on Mac and Windows
+ && chown -R www-data var
+
+COPY app app/
+COPY bin bin/
+COPY src src/
+COPY web web/
+
+RUN composer dump-autoload --optimize --classmap-authoritative --no-dev
+
+COPY docker/app/docker-entrypoint.sh /usr/local/bin/docker-app-entrypoint
+RUN chmod +x /usr/local/bin/docker-app-entrypoint
+
+ENTRYPOINT ["docker-app-entrypoint"]
+CMD ["php-fpm"]
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..37f5d27
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,51 @@
+# Makefile for docker use
+
+APP=docker-compose exec -T app
+TAPP=docker-compose exec
+TTAPP=docker-compose exec -e APP_ENV=test
+CAPP=docker-compose run app composer
+CONSOLE=$(APP) /usr/local/bin/php bin/console
+
+.PHONY: help install start stop destroy composer console app nginx test cs server
+
+help: ## Show this help
+ @fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed -e 's/##//'
+
+install: ## Setup the project using Docker and docker-compose
+install: start composer-install
+
+start: ## Start the containers
+ docker-compose up -d
+
+stop: ## Stop the Docker containers and remove the volumes
+ docker-compose down -v
+
+destroy: ## Destroy all containers, volumes, networks
+ docker-compose down --rmi all
+
+composer: ## Composer
+ $(CAPP) $(filter-out $@,$(MAKECMDGOALS))
+
+composer-install: # Install the project PHP dependencies
+ $(CAPP) install -o
+
+console: ## Console
+ $(CONSOLE) $(filter-out $@,$(MAKECMDGOALS))
+
+app: ## Shell of Application container
+ $(TAPP) app sh
+
+nginx: ## Shell of Nginx container
+ $(TAPP) nginx sh
+
+test: ## Launch tests
+ $(TAPP) app env APP_ENV=test ./vendor/bin/simple-phpunit
+
+cs: ## Fix Coding styles
+ $(TAPP) app ./vendor/bin/php-cs-fixer fix
+
+server: ## Start local PHP server (Non docker use only)
+ php -S localhost:8888 -t web
+
+%:
+@:
\ No newline at end of file
diff --git a/README.md b/README.md
index b7f7c31..8654b35 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@ This application is based on Symfony CarsonBot and aims to help PrestaShop maint
![Preston, the PrestaShop contributor best friend](http://i.imgur.com/r26gJW4.png)
-## How to install ?
+### Classic installation
First of all you have to configure your GitHub repository and have a GitHub token.
@@ -12,20 +12,32 @@ First of all you have to configure your GitHub repository and have a GitHub toke
composer install // and complete the interactive fields asked
```
-## How to test ?
+### Docker installation
+
+First, setup the `docker-compose.yml` file with a valid GitHub token and a valid Secure token (can be empty).
```bash
-./vendor/bin/simple-phpunit
+make start
```
+The Home page is now available at "http://localhost:81/".
+
You need also to create your own GitHub [personal token](https://github.com/settings/tokens) and export it:
```bash
-export SYMFONY_PHPUNIT_VERSION=5.5
+export SYMFONY_PHPUNIT_VERSION=5.7
export GH_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXX
export GH_SECURED_TOKEN=YYYYYYYYYYYYYYYYYYYYYYYYYYYY
```
+## How to run the test suite ?
+
+```bash
+./vendor/bin/simple-phpunit
+# or (using docker)
+make test
+```
+
> To launch unit tests, you only need to setup your own Github token (`GH_TOKEN`).
## Our standards ?
@@ -42,7 +54,6 @@ Yeah, mostly the *Symfony* ones:
* Extract data from the pull request and look for some terms;
* Manage labels;
* Validate a pull request description;
-* Validate every commit label;
* Welcome every new contributor;
* Labelize a PR regarding information in description
* Labelize a PR regarding files updated
diff --git a/app/AppKernel.php b/app/AppKernel.php
index 4edc2f8..3739d35 100644
--- a/app/AppKernel.php
+++ b/app/AppKernel.php
@@ -13,7 +13,6 @@ public function registerBundles()
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
- new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new AppBundle\AppBundle(),
];
diff --git a/app/config/config.yml b/app/config/config.yml
index 08341d6..a02df25 100644
--- a/app/config/config.yml
+++ b/app/config/config.yml
@@ -7,8 +7,6 @@ imports:
# http://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
locale: en
- labels_pr_creation: false
- enable_labels: true
framework:
#esi: ~
@@ -26,7 +24,6 @@ framework:
engines: ['twig']
default_locale: "%locale%"
trusted_hosts: ~
- trusted_proxies: ~
session:
# http://symfony.com/doc/current/reference/configuration/framework.html#handler-id
handler_id: session.handler.native_file
@@ -44,28 +41,6 @@ twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
-# Doctrine Configuration
-doctrine:
- dbal:
- driver: pdo_mysql
- host: "%database_host%"
- port: "%database_port%"
- dbname: "%database_name%"
- user: "%database_user%"
- password: "%database_password%"
- charset: UTF8
- # if using pdo_sqlite as your database driver:
- # 1. add the path in parameters.yml
- # e.g. database_path: "%kernel.root_dir%/data/data.db3"
- # 2. Uncomment database_path in parameters.yml.dist
- # 3. Uncomment next line:
- # path: "%database_path%"
-
- orm:
- auto_generate_proxy_classes: "%kernel.debug%"
- naming_strategy: doctrine.orm.naming_strategy.underscore
- auto_mapping: true
-
# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
diff --git a/app/config/config_dev.yml b/app/config/config_dev.yml
index d7a33df..b3970f0 100644
--- a/app/config/config_dev.yml
+++ b/app/config/config_dev.yml
@@ -24,15 +24,8 @@ monolog:
verbosity_levels:
VERBOSITY_VERBOSE: INFO
VERBOSITY_VERY_VERBOSE: DEBUG
- channels: ["!doctrine"]
- console_very_verbose:
- type: console
- bubble: false
- verbosity_levels:
- VERBOSITY_VERBOSE: NOTICE
- VERBOSITY_VERY_VERBOSE: NOTICE
- VERBOSITY_DEBUG: DEBUG
- channels: ["doctrine"]
+ channels: []
+
# uncomment to get logging in your browser
# you may have to allow bigger header sizes in your Web server configuration
#firephp:
diff --git a/app/config/config_prod.yml b/app/config/config_prod.yml
index 5e5f0bc..161d1c3 100644
--- a/app/config/config_prod.yml
+++ b/app/config/config_prod.yml
@@ -7,12 +7,6 @@ imports:
# serializer:
# cache: serializer.mapping.cache.apc
-#doctrine:
-# orm:
-# metadata_cache_driver: apc
-# result_cache_driver: apc
-# query_cache_driver: apc
-
monolog:
handlers:
main:
diff --git a/app/config/config_test.yml b/app/config/config_test.yml
index 21edc53..9bbd8dd 100644
--- a/app/config/config_test.yml
+++ b/app/config/config_test.yml
@@ -20,7 +20,3 @@ monolog:
handlers:
main:
channels: ["!event", "!security", "!request"]
-
-parameters:
- enable_labels: true
- labels_pr_creation: true
diff --git a/app/config/parameters.yml.dist b/app/config/parameters.yml.dist
index cf9680d..6ddd728 100644
--- a/app/config/parameters.yml.dist
+++ b/app/config/parameters.yml.dist
@@ -2,14 +2,6 @@
# Set parameters here that may be different on each deployment target of the app, e.g. development, staging, production.
# http://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration
parameters:
- database_host: 127.0.0.1
- database_port: ~
- database_name: symfony
- database_user: root
- database_password: ~
- # You should uncomment this if you want use pdo_sqlite
- # database_path: "%kernel.root_dir%/data.db3"
-
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: ~
diff --git a/app/config/security.yml b/app/config/security.yml
index a187595..a7b8c37 100644
--- a/app/config/security.yml
+++ b/app/config/security.yml
@@ -11,3 +11,4 @@ security:
main:
anonymous: ~
+ logout_on_user_change: true
diff --git a/app/config/services.yml b/app/config/services.yml
index 58356fe..b0a808d 100644
--- a/app/config/services.yml
+++ b/app/config/services.yml
@@ -1,183 +1,63 @@
services:
- app.webhook_resolver:
- class: Lpdigital\Github\Parser\WebhookResolver
+ _defaults:
+ autowire: true
+ autoconfigure: true
+ public: false
+ bind:
+ $repositoryOwner: '%repository_username%'
+ $repositoryName: '%repository_name%'
+ $recipients: '%recipients%'
+ $adminMail: '%admin_mail%'
+ $expectedToken: '%github_secured_token%'
+
+ AppBundle\:
+ resource: '../../src/AppBundle/*'
+ exclude: '../../src/AppBundle/Event/GitHubEvent.php'
+
+ AppBundle\Controller\:
+ resource: '../../src/AppBundle/Controller'
+ public: true
+ tags: ['controller.service_arguments']
+
# Argument value resolver
- app.github_resolver.event:
- class: AppBundle\Event\GitHubEventResolver
- arguments:
- - '@app.webhook_resolver'
- - '@logger'
- - '%repository_username%'
- - '%repository_name%'
+ Lpdigital\Github\Parser\WebhookResolver:
+
+ AppBundle\Event\GitHubEventResolver:
tags:
- { name: controller.argument_value_resolver, priority: 110 }
# GitHub Client
- app.github.client.guzzle.adapter:
- class: Http\Adapter\Guzzle6\Client
- public: false
-
- app.github.client.builder:
- class: Github\HttpClient\Builder
- arguments: ['@app.github.client.guzzle.adapter']
- public: false
+ Http\Adapter\Guzzle6\Client:
- app.github.client:
- class: Github\Client
- arguments: ['@app.github.client.builder']
+ Github\Client:
calls:
- ['authenticate', ['http_token', '%github_token%']]
# GitHub API
- app.github.issues_api:
- class: Github\Api\Issue
- factory: ['@app.github.client', api]
+ Github\Api\Issue:
+ factory: 'Github\Client:api'
arguments: [issue]
- app.github.comments_api:
- class: Github\Api\Issue\Comments
- factory: ['@app.github.issues_api', comments]
+ Github\Api\Issue\Comments:
+ factory: 'Github\Api\Issue:comments'
- app.github.pullrequests_api:
- class: Github\Api\PullRequest
- factory: ['@app.github.client', api]
+ Github\Api\PullRequest:
+ factory: 'Github\Client:api'
arguments: [pull_request]
- app.github.repositories_api:
- class: Github\Api\Repo
- factory: ['@app.github.client', api]
+ Github\Api\Repo:
+ factory: 'Github\Client:api'
arguments: [repository]
- app.github.organizations_api:
- class: Github\Api\Organization
- factory: ['@app.github.client', api]
+ Github\Api\Organization:
+ factory: 'Github\Client:api'
arguments: [organization]
- app.github.search_api:
- class: Github\Api\Search
- factory: ['@app.github.client', api]
+ Github\Api\Search:
+ factory: 'Github\Client:api'
arguments: [search]
- app.github.labels_api:
- class: Github\Api\Issue\Labels
- factory: ['@app.github.issues_api', labels]
-
-# Application GitHub API
-
- app.github.cached_labels_api:
- class: AppBundle\Issues\CachedLabelsApi
- arguments: ['@app.github.labels_api', '%repository_username%', '%repository_name%']
-
- app.status_api:
- class: AppBundle\Issues\StatusApi
- arguments: ['@app.github.cached_labels_api', '%repository_username%', '%repository_name%']
-
- app.comment_api:
- class: AppBundle\Comments\CommentApi
- arguments:
- - '@app.github.comments_api'
- - '%repository_username%'
- - '%repository_name%'
- - '@twig'
-
-# Listeners (but not Symfony listeners)
-
- app.issue_listener:
- class: AppBundle\Issues\Listener
- arguments: ['@app.status_api', '@logger']
-
- app.pullrequest_listener:
- class: AppBundle\PullRequests\Listener
- arguments:
- - '@app.comment_api'
- - '@app.commit.repository'
- - '@validator'
- - '@app.pull_request.repository'
- - '@logger'
-
-# Event subscribers
-
- app.pullrequest_subscriber:
- class: AppBundle\EventSubscriber\PullRequestSubscriber
- calls:
- - ['setContainer', ['@service_container']]
- tags:
- - { name: kernel.event_subscriber }
-
- app.issuecomment_subscriber:
- class: AppBundle\EventSubscriber\IssueCommentSubscriber
- calls:
- - ['setContainer', ['@service_container']]
- tags:
- - { name: kernel.event_subscriber }
-
- app.issues_subscriber:
- class: AppBundle\EventSubscriber\IssueSubscriber
- calls:
- - ['setContainer', ['@service_container']]
- tags:
- - { name: kernel.event_subscriber }
-
- app.github_token_validator_subscriber:
- class: AppBundle\Security\GitHubTokenValidatorSubscriber
- arguments:
- - '@app.github_token_validator'
- - '%github_secured_token%'
- tags:
- - { name: kernel.event_subscriber }
-
-# Repositories
-
- app.pull_request.repository:
- class: AppBundle\PullRequests\Repository
- arguments:
- - '@app.search.repository'
- - '@app.github.comments_api'
- - '%repository_username%'
- - '%repository_name%'
-
- app.repository_repository:
- class: AppBundle\Repositories\Repository
- arguments:
- - '@app.github.repositories_api'
- - '%repository_username%'
- - '%repository_name%'
-
- app.organization_repository:
- class: AppBundle\Organizations\Repository
- arguments:
- - '@app.github.organizations_api'
- - '%repository_username%'
-
- app.search.repository:
- class: AppBundle\Search\Repository
- arguments: ['@app.github.search_api', '%repository_username%', '%repository_name%']
-
- app.commit.repository:
- class: AppBundle\Commits\Repository
- arguments:
- - '@app.repository_repository'
- - '@app.github.pullrequests_api'
- - '%repository_username%'
- - '%repository_name%'
-
-# Reporters
-
- app.pull_requests.reporter:
- class: AppBundle\PullRequests\Reporter
- arguments: ['@app.pull_request.repository']
-
- app.teams.reporter:
- class: AppBundle\Teams\Reporter
- arguments: ['@app.organization_repository']
-
-# Common services
- app.mailer:
- class: AppBundle\Services\Mailer
- arguments: ['@mailer', '@twig']
-
- app.github_token_validator:
- class: AppBundle\Security\SignatureValidator
-
+ Github\Api\Issue\Labels:
+ factory: 'Github\Api\Issue:labels'
diff --git a/app/config/services_test.yml b/app/config/services_test.yml
index 6272660..b1b6095 100644
--- a/app/config/services_test.yml
+++ b/app/config/services_test.yml
@@ -2,7 +2,7 @@ imports:
- { resource: services.yml }
parameters:
- # the token needs to have admin rights on loveOSS organisation
+ # The token needs to have admin rights on loveOSS organisation
# for testing purposes
repository_username: 'loveOSS'
repository_name: 'test'
@@ -15,24 +15,44 @@ parameters:
github_secured_token: 'totalyFakeTokenForTests'
+ # list of recipients for mail notifications
+ recipients:
+ 'waiting for code review':
+ - waiting_code_review@prestashop.com
+ 'waiting for QA feedback':
+ - foo@prestashop.com
+ - bar@prestashop.com
+ - baz@prestashop.com
+ 'waiting for PM feedback':
+ - waiting_for_pm@prestashop.com
+
services:
- fake_comment_api:
- class: Tests\AppBundle\Comments\FakeCommentApi
+
+ # Integration tests shouldn't post comments to github
+ Psr\Log\NullLogger:
+
+ Tests\AppBundle\Comments\FakeCommentApi:
+ - '@Github\Api\Issue\Comments'
+ - '%repository_username%'
+ - '%repository_name%'
+ - '@twig'
+
+ Tests\AppBundle\Issues\NullStatusApi:
arguments:
- - '@app.github.comments_api'
+ - '@AppBundle\Issues\CachedLabelsApi'
- '%repository_username%'
- '%repository_name%'
- - '@twig'
- app.status_api:
- class: Tests\AppBundle\Issues\NullStatusApi
- arguments: ['@app.github.cached_labels_api', '%repository_username%', '%repository_name%']
# Your integrations tests shouldn't post comments to github
- app.pullrequest_listener:
- class: AppBundle\PullRequests\Listener
+ AppBundle\PullRequests\Listener:
arguments:
- - '@fake_comment_api'
- - '@app.commit.repository'
+ - '@Tests\AppBundle\Comments\FakeCommentApi'
+ - '@AppBundle\Commits\Repository'
- '@validator'
- - '@app.pull_request.repository'
- - '@logger'
+ - '@AppBundle\PullRequests\Repository'
+ - '@Psr\Log\NullLogger'
+
+ AppBundle\Issues\Listener:
+ arguments:
+ - '@Tests\AppBundle\Issues\NullStatusApi'
+ - '@Psr\Log\NullLogger'
diff --git a/composer.json b/composer.json
index 99beb9a..fd82a7d 100644
--- a/composer.json
+++ b/composer.json
@@ -3,10 +3,14 @@
"description": "Preston is a GitHub bot that help both PrestaShop maintainers and contributors",
"license": "GPL-3.0+",
"authors": [
- {
- "name": "Mickaël Andrieu",
- "email": "andrieu.travail@gmail.com"
- }
+ {
+ "name": "Mickaël Andrieu",
+ "email": "andrieu.travail@gmail.com"
+ },
+ {
+ "name": "PrestaShop Community",
+ "homepage": "http://contributors.prestashop.com/"
+ }
],
"type": "project",
"autoload": {
@@ -17,26 +21,33 @@
"psr-4": { "Tests\\": "tests/" }
},
"require": {
- "php": ">=7.0",
+ "php": ">=7.1",
"ext-mbstring": "*",
- "symfony/symfony": "~3.4",
- "doctrine/orm": "^2.5",
- "doctrine/doctrine-bundle": "^1.6",
- "doctrine/doctrine-cache-bundle": "^1.2",
- "symfony/swiftmailer-bundle": "^2.3",
- "symfony/monolog-bundle": "^2.8",
+ "symfony/debug-bundle": "^3.4",
+ "symfony/framework-bundle": "^3.4",
+ "symfony/web-profiler-bundle": "^3.4",
+ "symfony/security-bundle": "^3.4",
+ "symfony/twig-bundle": "^3.4",
+ "symfony/asset": "^3.4",
+ "symfony/console": "^3.4",
+ "symfony/lts": "v3",
+ "symfony/templating": "^3.4",
+ "symfony/translation": "^3.4",
+ "symfony/validator": "^3.4",
+ "symfony/swiftmailer-bundle": "^3.1",
+ "symfony/monolog-bundle": "^3.2",
"symfony/polyfill-apcu": "^1.0",
"sensio/distribution-bundle": "^5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "^2.0",
"knplabs/github-api": "^2.0",
"php-http/guzzle6-adapter": "^1.0",
- "lp-digital/github-event-parser": "~0.8",
- "twig/twig": "~1.28"
+ "lp-digital/github-event-parser": "~0.8"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^2.0",
- "symfony/phpunit-bridge": "^3.0"
+ "symfony/phpunit-bridge": "^3.0",
+ "symfony/browser-kit": "^3.4"
},
"scripts": {
"symfony-scripts": [
@@ -63,9 +74,6 @@
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
- },
- "branch-alias": {
- "dev-master": "3.2-dev"
}
}
}
diff --git a/composer.lock b/composer.lock
index 360c2c0..6de86da 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "content-hash": "6d9536e73b0363ec0931f8d323aee32f",
+ "content-hash": "451107c32e382fedd0dc19dcbe333723",
"packages": [
{
"name": "clue/stream-filter",
@@ -397,46 +397,34 @@
"time": "2017-08-31T08:43:38+00:00"
},
{
- "name": "doctrine/dbal",
- "version": "v2.7.1",
+ "name": "doctrine/inflector",
+ "version": "v1.3.0",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/dbal.git",
- "reference": "11037b4352c008373561dc6fc836834eed80c3b5"
+ "url": "https://github.com/doctrine/inflector.git",
+ "reference": "5527a48b7313d15261292c149e55e26eae771b0a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/11037b4352c008373561dc6fc836834eed80c3b5",
- "reference": "11037b4352c008373561dc6fc836834eed80c3b5",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a",
+ "reference": "5527a48b7313d15261292c149e55e26eae771b0a",
"shasum": ""
},
"require": {
- "doctrine/common": "^2.7.1",
- "ext-pdo": "*",
"php": "^7.1"
},
"require-dev": {
- "doctrine/coding-standard": "^4.0",
- "phpunit/phpunit": "^7.0",
- "phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5",
- "symfony/console": "^2.0.5||^3.0",
- "symfony/phpunit-bridge": "^3.4.5|^4.0.5"
- },
- "suggest": {
- "symfony/console": "For helpful console commands such as SQL execution and import of files."
+ "phpunit/phpunit": "^6.2"
},
- "bin": [
- "bin/doctrine-dbal"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.7.x-dev"
+ "dev-master": "1.3.x-dev"
}
},
"autoload": {
- "psr-0": {
- "Doctrine\\DBAL\\": "lib/"
+ "psr-4": {
+ "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -459,69 +447,48 @@
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
+ },
+ {
+ "name": "Johannes Schmitt",
+ "email": "schmittjoh@gmail.com"
}
],
- "description": "Database Abstraction Layer",
+ "description": "Common String Manipulations with regard to casing and singular/plural rules.",
"homepage": "http://www.doctrine-project.org",
"keywords": [
- "database",
- "dbal",
- "persistence",
- "queryobject"
+ "inflection",
+ "pluralize",
+ "singularize",
+ "string"
],
- "time": "2018-04-07T18:44:18+00:00"
+ "time": "2018-01-09T20:05:19+00:00"
},
{
- "name": "doctrine/doctrine-bundle",
- "version": "1.8.1",
+ "name": "doctrine/lexer",
+ "version": "v1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/DoctrineBundle.git",
- "reference": "eb6e4fb904a459be28872765ab6e2d246aac7c87"
+ "url": "https://github.com/doctrine/lexer.git",
+ "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/eb6e4fb904a459be28872765ab6e2d246aac7c87",
- "reference": "eb6e4fb904a459be28872765ab6e2d246aac7c87",
+ "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
+ "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c",
"shasum": ""
},
"require": {
- "doctrine/dbal": "^2.5.12",
- "doctrine/doctrine-cache-bundle": "~1.2",
- "jdorn/sql-formatter": "^1.2.16",
- "php": "^5.5.9|^7.0",
- "symfony/console": "~2.7|~3.0|~4.0",
- "symfony/dependency-injection": "~2.7|~3.0|~4.0",
- "symfony/doctrine-bridge": "~2.7|~3.0|~4.0",
- "symfony/framework-bundle": "~2.7|~3.0|~4.0"
- },
- "conflict": {
- "symfony/http-foundation": "<2.6"
- },
- "require-dev": {
- "doctrine/orm": "~2.3",
- "phpunit/phpunit": "^4.8.36|^5.7|^6.4",
- "satooshi/php-coveralls": "^1.0",
- "symfony/phpunit-bridge": "~2.7|~3.0|~4.0",
- "symfony/property-info": "~2.8|~3.0|~4.0",
- "symfony/validator": "~2.7|~3.0|~4.0",
- "symfony/web-profiler-bundle": "~2.7|~3.0|~4.0",
- "symfony/yaml": "~2.7|~3.0|~4.0",
- "twig/twig": "~1.26|~2.0"
- },
- "suggest": {
- "doctrine/orm": "The Doctrine ORM integration is optional in the bundle.",
- "symfony/web-profiler-bundle": "To use the data collector."
+ "php": ">=5.3.2"
},
- "type": "symfony-bundle",
+ "type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.8.x-dev"
+ "dev-master": "1.0.x-dev"
}
},
"autoload": {
- "psr-4": {
- "Doctrine\\Bundle\\DoctrineBundle\\": ""
+ "psr-0": {
+ "Doctrine\\Common\\Lexer\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -530,80 +497,61 @@
],
"authors": [
{
- "name": "Symfony Community",
- "homepage": "http://symfony.com/contributors"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
+ "name": "Roman Borschel",
+ "email": "roman@code-factory.org"
},
{
- "name": "Doctrine Project",
- "homepage": "http://www.doctrine-project.org/"
+ "name": "Guilherme Blanco",
+ "email": "guilhermeblanco@gmail.com"
},
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Johannes Schmitt",
+ "email": "schmittjoh@gmail.com"
}
],
- "description": "Symfony DoctrineBundle",
+ "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.",
"homepage": "http://www.doctrine-project.org",
"keywords": [
- "database",
- "dbal",
- "orm",
- "persistence"
+ "lexer",
+ "parser"
],
- "time": "2017-11-24T13:09:19+00:00"
+ "time": "2014-09-09T13:34:57+00:00"
},
{
- "name": "doctrine/doctrine-cache-bundle",
- "version": "1.3.3",
+ "name": "egulias/email-validator",
+ "version": "2.1.4",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/DoctrineCacheBundle.git",
- "reference": "4c8e363f96427924e7e519c5b5119b4f54512697"
+ "url": "https://github.com/egulias/EmailValidator.git",
+ "reference": "8790f594151ca6a2010c6218e09d96df67173ad3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineCacheBundle/zipball/4c8e363f96427924e7e519c5b5119b4f54512697",
- "reference": "4c8e363f96427924e7e519c5b5119b4f54512697",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/8790f594151ca6a2010c6218e09d96df67173ad3",
+ "reference": "8790f594151ca6a2010c6218e09d96df67173ad3",
"shasum": ""
},
"require": {
- "doctrine/cache": "^1.4.2",
- "doctrine/inflector": "~1.0",
- "php": ">=5.3.2",
- "symfony/doctrine-bridge": "~2.7|~3.3|~4.0"
+ "doctrine/lexer": "^1.0.1",
+ "php": ">= 5.5"
},
"require-dev": {
- "instaclick/coding-standard": "~1.1",
- "instaclick/object-calisthenics-sniffs": "dev-master",
- "instaclick/symfony2-coding-standard": "dev-remaster",
- "phpunit/phpunit": "~4|~5",
- "predis/predis": "~0.8",
- "satooshi/php-coveralls": "^1.0",
- "squizlabs/php_codesniffer": "~1.5",
- "symfony/console": "~2.7|~3.3|~4.0",
- "symfony/finder": "~2.7|~3.3|~4.0",
- "symfony/framework-bundle": "~2.7|~3.3|~4.0",
- "symfony/phpunit-bridge": "~2.7|~3.3|~4.0",
- "symfony/security-acl": "~2.7|~3.3",
- "symfony/validator": "~2.7|~3.3|~4.0",
- "symfony/yaml": "~2.7|~3.3|~4.0"
+ "dominicsayers/isemail": "dev-master",
+ "phpunit/phpunit": "^4.8.35||^5.7||^6.0",
+ "satooshi/php-coveralls": "^1.0.1"
},
"suggest": {
- "symfony/security-acl": "For using this bundle to cache ACLs"
+ "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
},
- "type": "symfony-bundle",
+ "type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.3.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
- "Doctrine\\Bundle\\DoctrineCacheBundle\\": ""
+ "Egulias\\EmailValidator\\": "EmailValidator"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -612,67 +560,59 @@
],
"authors": [
{
- "name": "Symfony Community",
- "homepage": "http://symfony.com/contributors"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Fabio B. Silva",
- "email": "fabio.bat.silva@gmail.com"
- },
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@hotmail.com"
- },
- {
- "name": "Doctrine Project",
- "homepage": "http://www.doctrine-project.org/"
- },
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Eduardo Gulias Davis"
}
],
- "description": "Symfony Bundle for Doctrine Cache",
- "homepage": "http://www.doctrine-project.org",
+ "description": "A library for validating emails against several RFCs",
+ "homepage": "https://github.com/egulias/EmailValidator",
"keywords": [
- "cache",
- "caching"
+ "email",
+ "emailvalidation",
+ "emailvalidator",
+ "validation",
+ "validator"
],
- "time": "2018-03-27T09:22:12+00:00"
+ "time": "2018-04-10T10:11:19+00:00"
},
{
- "name": "doctrine/inflector",
- "version": "v1.3.0",
+ "name": "guzzlehttp/guzzle",
+ "version": "6.3.3",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/inflector.git",
- "reference": "5527a48b7313d15261292c149e55e26eae771b0a"
+ "url": "https://github.com/guzzle/guzzle.git",
+ "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a",
- "reference": "5527a48b7313d15261292c149e55e26eae771b0a",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba",
+ "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "guzzlehttp/promises": "^1.0",
+ "guzzlehttp/psr7": "^1.4",
+ "php": ">=5.5"
},
"require-dev": {
- "phpunit/phpunit": "^6.2"
+ "ext-curl": "*",
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
+ "psr/log": "^1.0"
+ },
+ "suggest": {
+ "psr/log": "Required for using the Log middleware"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.3.x-dev"
+ "dev-master": "6.3-dev"
}
},
"autoload": {
+ "files": [
+ "src/functions_include.php"
+ ],
"psr-4": {
- "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector"
+ "GuzzleHttp\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -681,70 +621,57 @@
],
"authors": [
{
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
}
],
- "description": "Common String Manipulations with regard to casing and singular/plural rules.",
- "homepage": "http://www.doctrine-project.org",
+ "description": "Guzzle is a PHP HTTP client library",
+ "homepage": "http://guzzlephp.org/",
"keywords": [
- "inflection",
- "pluralize",
- "singularize",
- "string"
+ "client",
+ "curl",
+ "framework",
+ "http",
+ "http client",
+ "rest",
+ "web service"
],
- "time": "2018-01-09T20:05:19+00:00"
+ "time": "2018-04-22T15:46:56+00:00"
},
{
- "name": "doctrine/instantiator",
- "version": "1.1.0",
+ "name": "guzzlehttp/promises",
+ "version": "v1.3.1",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
+ "url": "https://github.com/guzzle/promises.git",
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
- "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
"shasum": ""
},
"require": {
- "php": "^7.1"
+ "php": ">=5.5.0"
},
"require-dev": {
- "athletic/athletic": "~0.1.8",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpunit/phpunit": "^6.2.3",
- "squizlabs/php_codesniffer": "^3.0.2"
+ "phpunit/phpunit": "^4.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2.x-dev"
+ "dev-master": "1.4-dev"
}
},
"autoload": {
"psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
+ "GuzzleHttp\\Promise\\": "src/"
+ },
+ "files": [
+ "src/functions_include.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -752,46 +679,54 @@
],
"authors": [
{
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "http://ocramius.github.com/"
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
}
],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://github.com/doctrine/instantiator",
+ "description": "Guzzle promises library",
"keywords": [
- "constructor",
- "instantiate"
+ "promise"
],
- "time": "2017-07-22T11:58:36+00:00"
+ "time": "2016-12-20T10:07:11+00:00"
},
{
- "name": "doctrine/lexer",
- "version": "v1.0.1",
+ "name": "guzzlehttp/psr7",
+ "version": "1.4.2",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/lexer.git",
- "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c"
+ "url": "https://github.com/guzzle/psr7.git",
+ "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
- "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
+ "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
"shasum": ""
},
"require": {
- "php": ">=5.3.2"
+ "php": ">=5.4.0",
+ "psr/http-message": "~1.0"
+ },
+ "provide": {
+ "psr/http-message-implementation": "1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.4-dev"
}
},
"autoload": {
- "psr-0": {
- "Doctrine\\Common\\Lexer\\": "lib/"
- }
+ "psr-4": {
+ "GuzzleHttp\\Psr7\\": "src/"
+ },
+ "files": [
+ "src/functions_include.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -799,72 +734,59 @@
],
"authors": [
{
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
},
{
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
+ "name": "Tobias Schultze",
+ "homepage": "https://github.com/Tobion"
}
],
- "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.",
- "homepage": "http://www.doctrine-project.org",
+ "description": "PSR-7 message implementation that also provides common utility methods",
"keywords": [
- "lexer",
- "parser"
+ "http",
+ "message",
+ "request",
+ "response",
+ "stream",
+ "uri",
+ "url"
],
- "time": "2014-09-09T13:34:57+00:00"
+ "time": "2017-03-20T17:10:46+00:00"
},
{
- "name": "doctrine/orm",
- "version": "v2.6.1",
+ "name": "incenteev/composer-parameter-handler",
+ "version": "v2.1.3",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/doctrine2.git",
- "reference": "87ee409783a4a322b5597ebaae558661404055a7"
+ "url": "https://github.com/Incenteev/ParameterHandler.git",
+ "reference": "933c45a34814f27f2345c11c37d46b3ca7303550"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/87ee409783a4a322b5597ebaae558661404055a7",
- "reference": "87ee409783a4a322b5597ebaae558661404055a7",
+ "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/933c45a34814f27f2345c11c37d46b3ca7303550",
+ "reference": "933c45a34814f27f2345c11c37d46b3ca7303550",
"shasum": ""
},
"require": {
- "doctrine/annotations": "~1.5",
- "doctrine/cache": "~1.6",
- "doctrine/collections": "^1.4",
- "doctrine/common": "^2.7.1",
- "doctrine/dbal": "^2.6",
- "doctrine/instantiator": "~1.1",
- "ext-pdo": "*",
- "php": "^7.1",
- "symfony/console": "~3.0|~4.0"
+ "php": ">=5.3.3",
+ "symfony/yaml": "^2.3 || ^3.0 || ^4.0"
},
"require-dev": {
- "doctrine/coding-standard": "^1.0",
- "phpunit/phpunit": "^6.5",
- "squizlabs/php_codesniffer": "^3.2",
- "symfony/yaml": "~3.4|~4.0"
- },
- "suggest": {
- "symfony/yaml": "If you want to use YAML Metadata Mapping Driver"
+ "composer/composer": "^1.0@dev",
+ "symfony/filesystem": "^2.3 || ^3 || ^4",
+ "symfony/phpunit-bridge": "^4.0"
},
- "bin": [
- "bin/doctrine"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.6.x-dev"
+ "dev-master": "2.1.x-dev"
}
},
"autoload": {
"psr-4": {
- "Doctrine\\ORM\\": "lib/Doctrine/ORM"
+ "Incenteev\\ParameterHandler\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -873,128 +795,1354 @@
],
"authors": [
{
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
+ "name": "Christophe Coevoet",
+ "email": "stof@notk.org"
+ }
+ ],
+ "description": "Composer script handling your ignored parameter file",
+ "homepage": "https://github.com/Incenteev/ParameterHandler",
+ "keywords": [
+ "parameters management"
+ ],
+ "time": "2018-02-13T18:05:56+00:00"
+ },
+ {
+ "name": "knplabs/github-api",
+ "version": "2.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/KnpLabs/php-github-api.git",
+ "reference": "1e404bffaad30a7acf631b67340757646efbbf71"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/KnpLabs/php-github-api/zipball/1e404bffaad30a7acf631b67340757646efbbf71",
+ "reference": "1e404bffaad30a7acf631b67340757646efbbf71",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.6 || ^7.0",
+ "php-http/cache-plugin": "^1.4",
+ "php-http/client-common": "^1.6",
+ "php-http/client-implementation": "^1.0",
+ "php-http/discovery": "^1.0",
+ "php-http/httplug": "^1.1",
+ "psr/cache": "^1.0",
+ "psr/http-message": "^1.0"
+ },
+ "require-dev": {
+ "cache/array-adapter": "^0.4",
+ "guzzlehttp/psr7": "^1.2",
+ "php-http/guzzle6-adapter": "^1.0",
+ "php-http/mock-client": "^1.0",
+ "phpunit/phpunit": "^5.5 || ^6.0",
+ "sllh/php-cs-fixer-styleci-bridge": "^1.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.8.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Github\\": "lib/Github/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
{
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
+ "name": "Thibault Duplessis",
+ "email": "thibault.duplessis@gmail.com",
+ "homepage": "http://ornicar.github.com"
},
{
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
+ "name": "KnpLabs Team",
+ "homepage": "http://knplabs.com"
+ }
+ ],
+ "description": "GitHub API v3 client",
+ "homepage": "https://github.com/KnpLabs/php-github-api",
+ "keywords": [
+ "api",
+ "gh",
+ "gist",
+ "github"
+ ],
+ "time": "2018-03-23T16:42:55+00:00"
+ },
+ {
+ "name": "lp-digital/github-event-parser",
+ "version": "v0.8.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Lp-digital/github-event-parser.git",
+ "reference": "2a57cd8ab1cf7e12fb680fd61afd1e9725db708c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Lp-digital/github-event-parser/zipball/2a57cd8ab1cf7e12fb680fd61afd1e9725db708c",
+ "reference": "2a57cd8ab1cf7e12fb680fd61afd1e9725db708c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "~1.11",
+ "phpunit/phpunit": "~4.7"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Lpdigital\\Github\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-3.0+"
+ ],
+ "authors": [
+ {
+ "name": "Mickaël Andrieu",
+ "email": "mickael.andrieu@lp-digital.fr"
+ }
+ ],
+ "description": "PHP library to get a readable representation of events dispatched by Github API v3",
+ "homepage": "https://github.com/Lp-digital/github-event-parser",
+ "keywords": [
+ "event",
+ "github",
+ "json parser"
+ ],
+ "time": "2017-04-19T20:00:10+00:00"
+ },
+ {
+ "name": "monolog/monolog",
+ "version": "1.23.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Seldaek/monolog.git",
+ "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4",
+ "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0",
+ "psr/log": "~1.0"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0.0"
+ },
+ "require-dev": {
+ "aws/aws-sdk-php": "^2.4.9 || ^3.0",
+ "doctrine/couchdb": "~1.0@dev",
+ "graylog2/gelf-php": "~1.0",
+ "jakub-onderka/php-parallel-lint": "0.9",
+ "php-amqplib/php-amqplib": "~2.4",
+ "php-console/php-console": "^3.1.3",
+ "phpunit/phpunit": "~4.5",
+ "phpunit/phpunit-mock-objects": "2.3.0",
+ "ruflin/elastica": ">=0.90 <3.0",
+ "sentry/sentry": "^0.13",
+ "swiftmailer/swiftmailer": "^5.3|^6.0"
+ },
+ "suggest": {
+ "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
+ "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
+ "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
+ "ext-mongo": "Allow sending log messages to a MongoDB server",
+ "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
+ "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
+ "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
+ "php-console/php-console": "Allow sending log messages to Google Chrome",
+ "rollbar/rollbar": "Allow sending log messages to Rollbar",
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
+ "sentry/sentry": "Allow sending log messages to a Sentry server"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Monolog\\": "src/Monolog"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ }
+ ],
+ "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
+ "homepage": "http://github.com/Seldaek/monolog",
+ "keywords": [
+ "log",
+ "logging",
+ "psr-3"
+ ],
+ "time": "2017-06-19T01:22:40+00:00"
+ },
+ {
+ "name": "paragonie/random_compat",
+ "version": "v2.0.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/paragonie/random_compat.git",
+ "reference": "258c89a6b97de7dfaf5b8c7607d0478e236b04fb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/paragonie/random_compat/zipball/258c89a6b97de7dfaf5b8c7607d0478e236b04fb",
+ "reference": "258c89a6b97de7dfaf5b8c7607d0478e236b04fb",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.2.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "4.*|5.*"
+ },
+ "suggest": {
+ "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "lib/random.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Paragon Initiative Enterprises",
+ "email": "security@paragonie.com",
+ "homepage": "https://paragonie.com"
+ }
+ ],
+ "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
+ "keywords": [
+ "csprng",
+ "pseudorandom",
+ "random"
+ ],
+ "time": "2018-04-04T21:24:14+00:00"
+ },
+ {
+ "name": "php-http/cache-plugin",
+ "version": "v1.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-http/cache-plugin.git",
+ "reference": "c573ac6ea9b4e33fad567f875b844229d18000b9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-http/cache-plugin/zipball/c573ac6ea9b4e33fad567f875b844229d18000b9",
+ "reference": "c573ac6ea9b4e33fad567f875b844229d18000b9",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.4 || ^7.0",
+ "php-http/client-common": "^1.1",
+ "php-http/message-factory": "^1.0",
+ "psr/cache": "^1.0",
+ "symfony/options-resolver": "^2.6 || ^3.0 || ^4.0"
+ },
+ "require-dev": {
+ "henrikbjorn/phpspec-code-coverage": "^1.0",
+ "phpspec/phpspec": "^2.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.5-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Http\\Client\\Common\\Plugin\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
+ }
+ ],
+ "description": "PSR-6 Cache plugin for HTTPlug",
+ "homepage": "http://httplug.io",
+ "keywords": [
+ "cache",
+ "http",
+ "httplug",
+ "plugin"
+ ],
+ "time": "2017-11-29T20:45:41+00:00"
+ },
+ {
+ "name": "php-http/client-common",
+ "version": "1.7.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-http/client-common.git",
+ "reference": "9accb4a082eb06403747c0ffd444112eda41a0fd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-http/client-common/zipball/9accb4a082eb06403747c0ffd444112eda41a0fd",
+ "reference": "9accb4a082eb06403747c0ffd444112eda41a0fd",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.4 || ^7.0",
+ "php-http/httplug": "^1.1",
+ "php-http/message": "^1.6",
+ "php-http/message-factory": "^1.0",
+ "symfony/options-resolver": "^2.6 || ^3.0 || ^4.0"
+ },
+ "require-dev": {
+ "guzzlehttp/psr7": "^1.4",
+ "phpspec/phpspec": "^2.5 || ^3.4 || ^4.2"
+ },
+ "suggest": {
+ "php-http/cache-plugin": "PSR-6 Cache plugin",
+ "php-http/logger-plugin": "PSR-3 Logger plugin",
+ "php-http/stopwatch-plugin": "Symfony Stopwatch plugin"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Http\\Client\\Common\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
+ }
+ ],
+ "description": "Common HTTP Client implementations and tools for HTTPlug",
+ "homepage": "http://httplug.io",
+ "keywords": [
+ "client",
+ "common",
+ "http",
+ "httplug"
+ ],
+ "time": "2017-11-30T11:06:59+00:00"
+ },
+ {
+ "name": "php-http/discovery",
+ "version": "1.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-http/discovery.git",
+ "reference": "9a6cb24de552bfe1aa9d7d1569e2d49c5b169a33"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-http/discovery/zipball/9a6cb24de552bfe1aa9d7d1569e2d49c5b169a33",
+ "reference": "9a6cb24de552bfe1aa9d7d1569e2d49c5b169a33",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5 || ^7.0"
+ },
+ "require-dev": {
+ "henrikbjorn/phpspec-code-coverage": "^2.0.2",
+ "php-http/httplug": "^1.0",
+ "php-http/message-factory": "^1.0",
+ "phpspec/phpspec": "^2.4",
+ "puli/composer-plugin": "1.0.0-beta10"
+ },
+ "suggest": {
+ "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories",
+ "puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details."
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Http\\Discovery\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
+ }
+ ],
+ "description": "Finds installed HTTPlug implementations and PSR-7 message factories",
+ "homepage": "http://php-http.org",
+ "keywords": [
+ "adapter",
+ "client",
+ "discovery",
+ "factory",
+ "http",
+ "message",
+ "psr7"
+ ],
+ "time": "2018-02-06T10:55:24+00:00"
+ },
+ {
+ "name": "php-http/guzzle6-adapter",
+ "version": "v1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-http/guzzle6-adapter.git",
+ "reference": "a56941f9dc6110409cfcddc91546ee97039277ab"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-http/guzzle6-adapter/zipball/a56941f9dc6110409cfcddc91546ee97039277ab",
+ "reference": "a56941f9dc6110409cfcddc91546ee97039277ab",
+ "shasum": ""
+ },
+ "require": {
+ "guzzlehttp/guzzle": "^6.0",
+ "php": ">=5.5.0",
+ "php-http/httplug": "^1.0"
+ },
+ "provide": {
+ "php-http/async-client-implementation": "1.0",
+ "php-http/client-implementation": "1.0"
+ },
+ "require-dev": {
+ "ext-curl": "*",
+ "php-http/adapter-integration-tests": "^0.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.2-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Http\\Adapter\\Guzzle6\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
+ },
+ {
+ "name": "David de Boer",
+ "email": "david@ddeboer.nl"
+ }
+ ],
+ "description": "Guzzle 6 HTTP Adapter",
+ "homepage": "http://httplug.io",
+ "keywords": [
+ "Guzzle",
+ "http"
+ ],
+ "time": "2016-05-10T06:13:32+00:00"
+ },
+ {
+ "name": "php-http/httplug",
+ "version": "v1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-http/httplug.git",
+ "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-http/httplug/zipball/1c6381726c18579c4ca2ef1ec1498fdae8bdf018",
+ "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4",
+ "php-http/promise": "^1.0",
+ "psr/http-message": "^1.0"
+ },
+ "require-dev": {
+ "henrikbjorn/phpspec-code-coverage": "^1.0",
+ "phpspec/phpspec": "^2.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Http\\Client\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Eric GELOEN",
+ "email": "geloen.eric@gmail.com"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
+ }
+ ],
+ "description": "HTTPlug, the HTTP client abstraction for PHP",
+ "homepage": "http://httplug.io",
+ "keywords": [
+ "client",
+ "http"
+ ],
+ "time": "2016-08-31T08:30:17+00:00"
+ },
+ {
+ "name": "php-http/message",
+ "version": "1.6.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-http/message.git",
+ "reference": "2edd63bae5f52f79363c5f18904b05ce3a4b7253"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-http/message/zipball/2edd63bae5f52f79363c5f18904b05ce3a4b7253",
+ "reference": "2edd63bae5f52f79363c5f18904b05ce3a4b7253",
+ "shasum": ""
+ },
+ "require": {
+ "clue/stream-filter": "^1.3",
+ "php": ">=5.4",
+ "php-http/message-factory": "^1.0.2",
+ "psr/http-message": "^1.0"
+ },
+ "provide": {
+ "php-http/message-factory-implementation": "1.0"
+ },
+ "require-dev": {
+ "akeneo/phpspec-skip-example-extension": "^1.0",
+ "coduo/phpspec-data-provider-extension": "^1.0",
+ "ext-zlib": "*",
+ "guzzlehttp/psr7": "^1.0",
+ "henrikbjorn/phpspec-code-coverage": "^1.0",
+ "phpspec/phpspec": "^2.4",
+ "slim/slim": "^3.0",
+ "zendframework/zend-diactoros": "^1.0"
+ },
+ "suggest": {
+ "ext-zlib": "Used with compressor/decompressor streams",
+ "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories",
+ "slim/slim": "Used with Slim Framework PSR-7 implementation",
+ "zendframework/zend-diactoros": "Used with Diactoros Factories"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.6-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Http\\Message\\": "src/"
+ },
+ "files": [
+ "src/filters.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
+ }
+ ],
+ "description": "HTTP Message related tools",
+ "homepage": "http://php-http.org",
+ "keywords": [
+ "http",
+ "message",
+ "psr-7"
+ ],
+ "time": "2017-07-05T06:40:53+00:00"
+ },
+ {
+ "name": "php-http/message-factory",
+ "version": "v1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-http/message-factory.git",
+ "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1",
+ "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4",
+ "psr/http-message": "^1.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Http\\Message\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
+ }
+ ],
+ "description": "Factory interfaces for PSR-7 HTTP Message",
+ "homepage": "http://php-http.org",
+ "keywords": [
+ "factory",
+ "http",
+ "message",
+ "stream",
+ "uri"
+ ],
+ "time": "2015-12-19T14:08:53+00:00"
+ },
+ {
+ "name": "php-http/promise",
+ "version": "v1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-http/promise.git",
+ "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-http/promise/zipball/dc494cdc9d7160b9a09bd5573272195242ce7980",
+ "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980",
+ "shasum": ""
+ },
+ "require-dev": {
+ "henrikbjorn/phpspec-code-coverage": "^1.0",
+ "phpspec/phpspec": "^2.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Http\\Promise\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
+ },
+ {
+ "name": "Joel Wurtz",
+ "email": "joel.wurtz@gmail.com"
+ }
+ ],
+ "description": "Promise used for asynchronous HTTP requests",
+ "homepage": "http://httplug.io",
+ "keywords": [
+ "promise"
+ ],
+ "time": "2016-01-26T13:27:02+00:00"
+ },
+ {
+ "name": "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/container",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "homepage": "https://github.com/php-fig/container",
+ "keywords": [
+ "PSR-11",
+ "container",
+ "container-interface",
+ "container-interop",
+ "psr"
+ ],
+ "time": "2017-02-14T16:28:37+00:00"
+ },
+ {
+ "name": "psr/http-message",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/http-message.git",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for HTTP messages",
+ "homepage": "https://github.com/php-fig/http-message",
+ "keywords": [
+ "http",
+ "http-message",
+ "psr",
+ "psr-7",
+ "request",
+ "response"
+ ],
+ "time": "2016-08-06T14:39:51+00:00"
+ },
+ {
+ "name": "psr/log",
+ "version": "1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "Psr/Log/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "time": "2016-10-10T12:19:37+00:00"
+ },
+ {
+ "name": "psr/simple-cache",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/simple-cache.git",
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\SimpleCache\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interfaces for simple caching",
+ "keywords": [
+ "cache",
+ "caching",
+ "psr",
+ "psr-16",
+ "simple-cache"
+ ],
+ "time": "2017-10-23T01:57:42+00:00"
+ },
+ {
+ "name": "sensio/distribution-bundle",
+ "version": "v5.0.21",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sensiolabs/SensioDistributionBundle.git",
+ "reference": "eb6266b3b472e4002538610b28a0a04bcf94891a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/eb6266b3b472e4002538610b28a0a04bcf94891a",
+ "reference": "eb6266b3b472e4002538610b28a0a04bcf94891a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.9",
+ "sensiolabs/security-checker": "~3.0|~4.0",
+ "symfony/class-loader": "~2.3|~3.0",
+ "symfony/config": "~2.3|~3.0",
+ "symfony/dependency-injection": "~2.3|~3.0",
+ "symfony/filesystem": "~2.3|~3.0",
+ "symfony/http-kernel": "~2.3|~3.0",
+ "symfony/process": "~2.3|~3.0"
+ },
+ "type": "symfony-bundle",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Sensio\\Bundle\\DistributionBundle\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ }
+ ],
+ "description": "Base bundle for Symfony Distributions",
+ "keywords": [
+ "configuration",
+ "distribution"
+ ],
+ "time": "2017-08-25T16:55:44+00:00"
+ },
+ {
+ "name": "sensio/framework-extra-bundle",
+ "version": "v3.0.29",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git",
+ "reference": "bb907234df776b68922eb4b25bfa061683597b6a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/bb907234df776b68922eb4b25bfa061683597b6a",
+ "reference": "bb907234df776b68922eb4b25bfa061683597b6a",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/common": "~2.2",
+ "symfony/dependency-injection": "~2.3|~3.0",
+ "symfony/framework-bundle": "~2.3|~3.0|~4.0"
+ },
+ "require-dev": {
+ "doctrine/doctrine-bundle": "~1.5",
+ "doctrine/orm": "~2.4,>=2.4.5",
+ "symfony/asset": "~2.7|~3.0|~4.0",
+ "symfony/browser-kit": "~2.3|~3.0|~4.0",
+ "symfony/dom-crawler": "~2.3|~3.0|~4.0",
+ "symfony/expression-language": "~2.4|~3.0|~4.0",
+ "symfony/finder": "~2.3|~3.0|~4.0",
+ "symfony/phpunit-bridge": "~3.2|~4.0",
+ "symfony/psr-http-message-bridge": "^0.3|^1.0",
+ "symfony/security-bundle": "~2.4|~3.0|~4.0",
+ "symfony/templating": "~2.3|~3.0|~4.0",
+ "symfony/translation": "~2.3|~3.0|~4.0",
+ "symfony/twig-bundle": "~2.3|~3.0|~4.0",
+ "symfony/yaml": "~2.3|~3.0|~4.0",
+ "twig/twig": "~1.12|~2.0",
+ "zendframework/zend-diactoros": "^1.3"
+ },
+ "suggest": {
+ "symfony/expression-language": "",
+ "symfony/psr-http-message-bridge": "To use the PSR-7 converters",
+ "symfony/security-bundle": ""
+ },
+ "type": "symfony-bundle",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Sensio\\Bundle\\FrameworkExtraBundle\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ }
+ ],
+ "description": "This bundle provides a way to configure your controllers with annotations",
+ "keywords": [
+ "annotations",
+ "controllers"
+ ],
+ "time": "2017-12-14T19:03:23+00:00"
+ },
+ {
+ "name": "sensiolabs/security-checker",
+ "version": "v4.1.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sensiolabs/security-checker.git",
+ "reference": "dc270d5fec418cc6ac983671dba5d80ffaffb142"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/dc270d5fec418cc6ac983671dba5d80ffaffb142",
+ "reference": "dc270d5fec418cc6ac983671dba5d80ffaffb142",
+ "shasum": ""
+ },
+ "require": {
+ "composer/ca-bundle": "^1.0",
+ "symfony/console": "~2.7|~3.0|~4.0"
+ },
+ "bin": [
+ "security-checker"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.1-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "SensioLabs\\Security": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien.potencier@gmail.com"
+ }
+ ],
+ "description": "A security checker for your composer.lock",
+ "time": "2018-02-28T22:10:01+00:00"
+ },
+ {
+ "name": "swiftmailer/swiftmailer",
+ "version": "v6.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/swiftmailer/swiftmailer.git",
+ "reference": "412333372fb6c8ffb65496a2bbd7321af75733fc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/412333372fb6c8ffb65496a2bbd7321af75733fc",
+ "reference": "412333372fb6c8ffb65496a2bbd7321af75733fc",
+ "shasum": ""
+ },
+ "require": {
+ "egulias/email-validator": "~2.0",
+ "php": ">=7.0.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "~0.9.1",
+ "symfony/phpunit-bridge": "~3.3@dev"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "6.0-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "lib/swift_required.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
{
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
+ "name": "Chris Corbyn"
},
{
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
}
],
- "description": "Object-Relational-Mapper for PHP",
- "homepage": "http://www.doctrine-project.org",
+ "description": "Swiftmailer, free feature-rich PHP mailer",
+ "homepage": "http://swiftmailer.symfony.com",
"keywords": [
- "database",
- "orm"
+ "email",
+ "mail",
+ "mailer"
],
- "time": "2018-02-27T07:30:56+00:00"
+ "time": "2017-09-30T22:39:41+00:00"
},
{
- "name": "fig/link-util",
- "version": "1.0.0",
+ "name": "symfony/asset",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/link-util.git",
- "reference": "1a07821801a148be4add11ab0603e4af55a72fac"
+ "url": "https://github.com/symfony/asset.git",
+ "reference": "89e9267bf33a8214efceb1ead12fb73504e81089"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/link-util/zipball/1a07821801a148be4add11ab0603e4af55a72fac",
- "reference": "1a07821801a148be4add11ab0603e4af55a72fac",
+ "url": "https://api.github.com/repos/symfony/asset/zipball/89e9267bf33a8214efceb1ead12fb73504e81089",
+ "reference": "89e9267bf33a8214efceb1ead12fb73504e81089",
"shasum": ""
},
"require": {
- "php": ">=5.5.0",
- "psr/link": "~1.0@dev"
+ "php": "^5.5.9|>=7.0.8"
},
"require-dev": {
- "phpunit/phpunit": "^5.1",
- "squizlabs/php_codesniffer": "^2.3.1"
+ "symfony/http-foundation": "~2.8|~3.0|~4.0",
+ "symfony/http-kernel": "~2.8|~3.0|~4.0"
+ },
+ "suggest": {
+ "symfony/http-foundation": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Fig\\Link\\": "src/"
+ "Symfony\\Component\\Asset\\": ""
+ },
+ "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 Asset Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-01-03T07:37:34+00:00"
+ },
+ {
+ "name": "symfony/cache",
+ "version": "v3.4.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/cache.git",
+ "reference": "13255ddd056e49f3154747943f8ee175d555d394"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/13255ddd056e49f3154747943f8ee175d555d394",
+ "reference": "13255ddd056e49f3154747943f8ee175d555d394",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5.9|>=7.0.8",
+ "psr/cache": "~1.0",
+ "psr/log": "~1.0",
+ "psr/simple-cache": "^1.0",
+ "symfony/polyfill-apcu": "~1.1"
+ },
+ "conflict": {
+ "symfony/var-dumper": "<3.3"
+ },
+ "provide": {
+ "psr/cache-implementation": "1.0",
+ "psr/simple-cache-implementation": "1.0"
+ },
+ "require-dev": {
+ "cache/integration-tests": "dev-master",
+ "doctrine/cache": "~1.6",
+ "doctrine/dbal": "~2.4",
+ "predis/predis": "~1.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.4-dev"
}
},
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Cache\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Common utility implementations for HTTP links",
+ "description": "Symfony Cache component with PSR-6, PSR-16, and tags",
+ "homepage": "https://symfony.com",
"keywords": [
- "http",
- "http-link",
- "link",
- "psr",
- "psr-13",
- "rest"
+ "caching",
+ "psr6"
],
- "time": "2016-10-17T18:31:11+00:00"
+ "time": "2018-04-02T14:35:16+00:00"
},
{
- "name": "guzzlehttp/guzzle",
- "version": "6.3.2",
+ "name": "symfony/class-loader",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/guzzle.git",
- "reference": "68d0ea14d5a3f42a20e87632a5f84931e2709c90"
+ "url": "https://github.com/symfony/class-loader.git",
+ "reference": "e63c12699822bb3b667e7216ba07fbcc3a3e203e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/68d0ea14d5a3f42a20e87632a5f84931e2709c90",
- "reference": "68d0ea14d5a3f42a20e87632a5f84931e2709c90",
+ "url": "https://api.github.com/repos/symfony/class-loader/zipball/e63c12699822bb3b667e7216ba07fbcc3a3e203e",
+ "reference": "e63c12699822bb3b667e7216ba07fbcc3a3e203e",
"shasum": ""
},
"require": {
- "guzzlehttp/promises": "^1.0",
- "guzzlehttp/psr7": "^1.4",
- "php": ">=5.5"
+ "php": "^5.5.9|>=7.0.8"
},
"require-dev": {
- "ext-curl": "*",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4",
- "psr/log": "^1.0"
+ "symfony/finder": "~2.8|~3.0|~4.0",
+ "symfony/polyfill-apcu": "~1.1"
},
"suggest": {
- "psr/log": "Required for using the Log middleware"
+ "symfony/polyfill-apcu": "For using ApcClassLoader on HHVM"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "6.3-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
- "files": [
- "src/functions_include.php"
- ],
"psr-4": {
- "GuzzleHttp\\": "src/"
- }
+ "Symfony\\Component\\ClassLoader\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1002,56 +2150,61 @@
],
"authors": [
{
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Guzzle is a PHP HTTP client library",
- "homepage": "http://guzzlephp.org/",
- "keywords": [
- "client",
- "curl",
- "framework",
- "http",
- "http client",
- "rest",
- "web service"
- ],
- "time": "2018-03-26T16:33:04+00:00"
+ "description": "Symfony ClassLoader Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-01-03T07:37:34+00:00"
},
{
- "name": "guzzlehttp/promises",
- "version": "v1.3.1",
+ "name": "symfony/config",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/promises.git",
- "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
+ "url": "https://github.com/symfony/config.git",
+ "reference": "7c2a9d44f4433863e9bca682e7f03609234657f9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
- "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
+ "url": "https://api.github.com/repos/symfony/config/zipball/7c2a9d44f4433863e9bca682e7f03609234657f9",
+ "reference": "7c2a9d44f4433863e9bca682e7f03609234657f9",
"shasum": ""
},
"require": {
- "php": ">=5.5.0"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/filesystem": "~2.8|~3.0|~4.0"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<3.3",
+ "symfony/finder": "<3.3"
},
"require-dev": {
- "phpunit/phpunit": "^4.0"
+ "symfony/dependency-injection": "~3.3|~4.0",
+ "symfony/event-dispatcher": "~3.3|~4.0",
+ "symfony/finder": "~3.3|~4.0",
+ "symfony/yaml": "~3.0|~4.0"
+ },
+ "suggest": {
+ "symfony/yaml": "To use the yaml reference dumper"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.4-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "GuzzleHttp\\Promise\\": "src/"
+ "Symfony\\Component\\Config\\": ""
},
- "files": [
- "src/functions_include.php"
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -1060,53 +2213,67 @@
],
"authors": [
{
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Guzzle promises library",
- "keywords": [
- "promise"
- ],
- "time": "2016-12-20T10:07:11+00:00"
+ "description": "Symfony Config Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-03-19T22:32:39+00:00"
},
{
- "name": "guzzlehttp/psr7",
- "version": "1.4.2",
+ "name": "symfony/console",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/psr7.git",
- "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
+ "url": "https://github.com/symfony/console.git",
+ "reference": "d4bb70fa24d540c309d88a9d6e43fb2d339b1fbf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
- "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
+ "url": "https://api.github.com/repos/symfony/console/zipball/d4bb70fa24d540c309d88a9d6e43fb2d339b1fbf",
+ "reference": "d4bb70fa24d540c309d88a9d6e43fb2d339b1fbf",
"shasum": ""
},
"require": {
- "php": ">=5.4.0",
- "psr/http-message": "~1.0"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/debug": "~2.8|~3.0|~4.0",
+ "symfony/polyfill-mbstring": "~1.0"
},
- "provide": {
- "psr/http-message-implementation": "1.0"
+ "conflict": {
+ "symfony/dependency-injection": "<3.4",
+ "symfony/process": "<3.3"
},
"require-dev": {
- "phpunit/phpunit": "~4.0"
+ "psr/log": "~1.0",
+ "symfony/config": "~3.3|~4.0",
+ "symfony/dependency-injection": "~3.4|~4.0",
+ "symfony/event-dispatcher": "~2.8|~3.0|~4.0",
+ "symfony/lock": "~3.4|~4.0",
+ "symfony/process": "~3.3|~4.0"
+ },
+ "suggest": {
+ "psr/log": "For using the console logger",
+ "symfony/event-dispatcher": "",
+ "symfony/lock": "",
+ "symfony/process": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.4-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "GuzzleHttp\\Psr7\\": "src/"
+ "Symfony\\Component\\Console\\": ""
},
- "files": [
- "src/functions_include.php"
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -1115,60 +2282,55 @@
],
"authors": [
{
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
- "name": "Tobias Schultze",
- "homepage": "https://github.com/Tobion"
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "PSR-7 message implementation that also provides common utility methods",
- "keywords": [
- "http",
- "message",
- "request",
- "response",
- "stream",
- "uri",
- "url"
- ],
- "time": "2017-03-20T17:10:46+00:00"
+ "description": "Symfony Console Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-03T05:22:50+00:00"
},
{
- "name": "incenteev/composer-parameter-handler",
- "version": "v2.1.3",
+ "name": "symfony/debug",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/Incenteev/ParameterHandler.git",
- "reference": "933c45a34814f27f2345c11c37d46b3ca7303550"
+ "url": "https://github.com/symfony/debug.git",
+ "reference": "9cf7c2271cfb89ef9727db1b740ca77be57bf9d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/933c45a34814f27f2345c11c37d46b3ca7303550",
- "reference": "933c45a34814f27f2345c11c37d46b3ca7303550",
+ "url": "https://api.github.com/repos/symfony/debug/zipball/9cf7c2271cfb89ef9727db1b740ca77be57bf9d7",
+ "reference": "9cf7c2271cfb89ef9727db1b740ca77be57bf9d7",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
- "symfony/yaml": "^2.3 || ^3.0 || ^4.0"
+ "php": "^5.5.9|>=7.0.8",
+ "psr/log": "~1.0"
+ },
+ "conflict": {
+ "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
},
"require-dev": {
- "composer/composer": "^1.0@dev",
- "symfony/filesystem": "^2.3 || ^3 || ^4",
- "symfony/phpunit-bridge": "^4.0"
+ "symfony/http-kernel": "~2.8|~3.0|~4.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.1.x-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Incenteev\\ParameterHandler\\": ""
- }
+ "Symfony\\Component\\Debug\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1176,46 +2338,63 @@
],
"authors": [
{
- "name": "Christophe Coevoet",
- "email": "stof@notk.org"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Composer script handling your ignored parameter file",
- "homepage": "https://github.com/Incenteev/ParameterHandler",
- "keywords": [
- "parameters management"
- ],
- "time": "2018-02-13T18:05:56+00:00"
+ "description": "Symfony Debug Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-03T05:22:50+00:00"
},
{
- "name": "jdorn/sql-formatter",
- "version": "v1.2.17",
+ "name": "symfony/debug-bundle",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/jdorn/sql-formatter.git",
- "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc"
+ "url": "https://github.com/symfony/debug-bundle.git",
+ "reference": "e5de2664081e8c7753e951970af43f0ee01cf645"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc",
- "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc",
+ "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/e5de2664081e8c7753e951970af43f0ee01cf645",
+ "reference": "e5de2664081e8c7753e951970af43f0ee01cf645",
"shasum": ""
},
"require": {
- "php": ">=5.2.4"
+ "ext-xml": "*",
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/http-kernel": "~2.8|~3.0|~4.0",
+ "symfony/twig-bridge": "~2.8|~3.0|~4.0",
+ "symfony/var-dumper": "~3.4|~4.0"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<3.4"
},
"require-dev": {
- "phpunit/phpunit": "3.7.*"
+ "symfony/config": "~3.3|~4.0",
+ "symfony/dependency-injection": "~3.4|~4.0",
+ "symfony/web-profiler-bundle": "~2.8|~3.0|~4.0"
},
- "type": "library",
+ "suggest": {
+ "symfony/config": "For service container configuration",
+ "symfony/dependency-injection": "For using as a service from the container"
+ },
+ "type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "1.3.x-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
- "classmap": [
- "lib"
+ "psr-4": {
+ "Symfony\\Bundle\\DebugBundle\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -1224,61 +2403,70 @@
],
"authors": [
{
- "name": "Jeremy Dorn",
- "email": "jeremy@jeremydorn.com",
- "homepage": "http://jeremydorn.com/"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "a PHP SQL highlighting library",
- "homepage": "https://github.com/jdorn/sql-formatter/",
- "keywords": [
- "highlight",
- "sql"
- ],
- "time": "2014-01-12T16:20:24+00:00"
+ "description": "Symfony DebugBundle",
+ "homepage": "https://symfony.com",
+ "time": "2018-01-03T07:37:34+00:00"
},
{
- "name": "knplabs/github-api",
- "version": "2.8.0",
+ "name": "symfony/dependency-injection",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/KnpLabs/php-github-api.git",
- "reference": "1e404bffaad30a7acf631b67340757646efbbf71"
+ "url": "https://github.com/symfony/dependency-injection.git",
+ "reference": "24a68710c6ddc1e3d159a110cef94cedfcf3c611"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/KnpLabs/php-github-api/zipball/1e404bffaad30a7acf631b67340757646efbbf71",
- "reference": "1e404bffaad30a7acf631b67340757646efbbf71",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/24a68710c6ddc1e3d159a110cef94cedfcf3c611",
+ "reference": "24a68710c6ddc1e3d159a110cef94cedfcf3c611",
"shasum": ""
},
"require": {
- "php": "^5.6 || ^7.0",
- "php-http/cache-plugin": "^1.4",
- "php-http/client-common": "^1.6",
- "php-http/client-implementation": "^1.0",
- "php-http/discovery": "^1.0",
- "php-http/httplug": "^1.1",
- "psr/cache": "^1.0",
- "psr/http-message": "^1.0"
+ "php": "^5.5.9|>=7.0.8",
+ "psr/container": "^1.0"
+ },
+ "conflict": {
+ "symfony/config": "<3.3.7",
+ "symfony/finder": "<3.3",
+ "symfony/proxy-manager-bridge": "<3.4",
+ "symfony/yaml": "<3.4"
+ },
+ "provide": {
+ "psr/container-implementation": "1.0"
},
"require-dev": {
- "cache/array-adapter": "^0.4",
- "guzzlehttp/psr7": "^1.2",
- "php-http/guzzle6-adapter": "^1.0",
- "php-http/mock-client": "^1.0",
- "phpunit/phpunit": "^5.5 || ^6.0",
- "sllh/php-cs-fixer-styleci-bridge": "^1.3"
+ "symfony/config": "~3.3|~4.0",
+ "symfony/expression-language": "~2.8|~3.0|~4.0",
+ "symfony/yaml": "~3.4|~4.0"
+ },
+ "suggest": {
+ "symfony/config": "",
+ "symfony/expression-language": "For using expressions in service container configuration",
+ "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
+ "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
+ "symfony/yaml": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.8.x-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Github\\": "lib/Github/"
- }
+ "Symfony\\Component\\DependencyInjection\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1286,133 +2474,111 @@
],
"authors": [
{
- "name": "Thibault Duplessis",
- "email": "thibault.duplessis@gmail.com",
- "homepage": "http://ornicar.github.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
- "name": "KnpLabs Team",
- "homepage": "http://knplabs.com"
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "GitHub API v3 client",
- "homepage": "https://github.com/KnpLabs/php-github-api",
- "keywords": [
- "api",
- "gh",
- "gist",
- "github"
- ],
- "time": "2018-03-23T16:42:55+00:00"
+ "description": "Symfony DependencyInjection Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-03-29T11:25:31+00:00"
},
{
- "name": "lp-digital/github-event-parser",
- "version": "v0.8.3",
+ "name": "symfony/event-dispatcher",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/Lp-digital/github-event-parser.git",
- "reference": "2a57cd8ab1cf7e12fb680fd61afd1e9725db708c"
+ "url": "https://github.com/symfony/event-dispatcher.git",
+ "reference": "fdd5abcebd1061ec647089c6c41a07ed60af09f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Lp-digital/github-event-parser/zipball/2a57cd8ab1cf7e12fb680fd61afd1e9725db708c",
- "reference": "2a57cd8ab1cf7e12fb680fd61afd1e9725db708c",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/fdd5abcebd1061ec647089c6c41a07ed60af09f8",
+ "reference": "fdd5abcebd1061ec647089c6c41a07ed60af09f8",
"shasum": ""
},
"require": {
- "php": ">=5.4"
+ "php": "^5.5.9|>=7.0.8"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<3.3"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "~1.11",
- "phpunit/phpunit": "~4.7"
+ "psr/log": "~1.0",
+ "symfony/config": "~2.8|~3.0|~4.0",
+ "symfony/dependency-injection": "~3.3|~4.0",
+ "symfony/expression-language": "~2.8|~3.0|~4.0",
+ "symfony/stopwatch": "~2.8|~3.0|~4.0"
+ },
+ "suggest": {
+ "symfony/dependency-injection": "",
+ "symfony/http-kernel": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Lpdigital\\Github\\": ""
- }
+ "Symfony\\Component\\EventDispatcher\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "GPL-3.0+"
+ "MIT"
],
"authors": [
{
- "name": "Mickaël Andrieu",
- "email": "mickael.andrieu@lp-digital.fr"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "PHP library to get a readable representation of events dispatched by Github API v3",
- "homepage": "https://github.com/Lp-digital/github-event-parser",
- "keywords": [
- "event",
- "github",
- "json parser"
- ],
- "time": "2017-04-19T20:00:10+00:00"
+ "description": "Symfony EventDispatcher Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-06T07:35:25+00:00"
},
{
- "name": "monolog/monolog",
- "version": "1.23.0",
+ "name": "symfony/filesystem",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/Seldaek/monolog.git",
- "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4"
+ "url": "https://github.com/symfony/filesystem.git",
+ "reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4",
- "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/253a4490b528597aa14d2bf5aeded6f5e5e4a541",
+ "reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541",
"shasum": ""
},
"require": {
- "php": ">=5.3.0",
- "psr/log": "~1.0"
- },
- "provide": {
- "psr/log-implementation": "1.0.0"
- },
- "require-dev": {
- "aws/aws-sdk-php": "^2.4.9 || ^3.0",
- "doctrine/couchdb": "~1.0@dev",
- "graylog2/gelf-php": "~1.0",
- "jakub-onderka/php-parallel-lint": "0.9",
- "php-amqplib/php-amqplib": "~2.4",
- "php-console/php-console": "^3.1.3",
- "phpunit/phpunit": "~4.5",
- "phpunit/phpunit-mock-objects": "2.3.0",
- "ruflin/elastica": ">=0.90 <3.0",
- "sentry/sentry": "^0.13",
- "swiftmailer/swiftmailer": "^5.3|^6.0"
- },
- "suggest": {
- "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
- "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
- "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
- "ext-mongo": "Allow sending log messages to a MongoDB server",
- "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
- "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
- "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
- "php-console/php-console": "Allow sending log messages to Google Chrome",
- "rollbar/rollbar": "Allow sending log messages to Rollbar",
- "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
- "sentry/sentry": "Allow sending log messages to a Sentry server"
+ "php": "^5.5.9|>=7.0.8"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Monolog\\": "src/Monolog"
- }
+ "Symfony\\Component\\Filesystem\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1420,47 +2586,47 @@
],
"authors": [
{
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- }
- ],
- "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
- "homepage": "http://github.com/Seldaek/monolog",
- "keywords": [
- "log",
- "logging",
- "psr-3"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
],
- "time": "2017-06-19T01:22:40+00:00"
+ "description": "Symfony Filesystem Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-02-22T10:48:49+00:00"
},
{
- "name": "paragonie/random_compat",
- "version": "v2.0.12",
+ "name": "symfony/finder",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/paragonie/random_compat.git",
- "reference": "258c89a6b97de7dfaf5b8c7607d0478e236b04fb"
+ "url": "https://github.com/symfony/finder.git",
+ "reference": "bd14efe8b1fabc4de82bf50dce62f05f9a102433"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/258c89a6b97de7dfaf5b8c7607d0478e236b04fb",
- "reference": "258c89a6b97de7dfaf5b8c7607d0478e236b04fb",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/bd14efe8b1fabc4de82bf50dce62f05f9a102433",
+ "reference": "bd14efe8b1fabc4de82bf50dce62f05f9a102433",
"shasum": ""
},
"require": {
- "php": ">=5.2.0"
- },
- "require-dev": {
- "phpunit/phpunit": "4.*|5.*"
- },
- "suggest": {
- "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
+ "php": "^5.5.9|>=7.0.8"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.4-dev"
+ }
+ },
"autoload": {
- "files": [
- "lib/random.php"
+ "psr-4": {
+ "Symfony\\Component\\Finder\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -1469,54 +2635,114 @@
],
"authors": [
{
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
- "keywords": [
- "csprng",
- "pseudorandom",
- "random"
- ],
- "time": "2018-04-04T21:24:14+00:00"
+ "description": "Symfony Finder Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-04T05:07:11+00:00"
},
{
- "name": "php-http/cache-plugin",
- "version": "v1.5.0",
+ "name": "symfony/framework-bundle",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/php-http/cache-plugin.git",
- "reference": "c573ac6ea9b4e33fad567f875b844229d18000b9"
+ "url": "https://github.com/symfony/framework-bundle.git",
+ "reference": "ab19033db282fd56be8f4c444c1d07b11999fc48"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-http/cache-plugin/zipball/c573ac6ea9b4e33fad567f875b844229d18000b9",
- "reference": "c573ac6ea9b4e33fad567f875b844229d18000b9",
+ "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/ab19033db282fd56be8f4c444c1d07b11999fc48",
+ "reference": "ab19033db282fd56be8f4c444c1d07b11999fc48",
"shasum": ""
},
"require": {
- "php": "^5.4 || ^7.0",
- "php-http/client-common": "^1.1",
- "php-http/message-factory": "^1.0",
- "psr/cache": "^1.0",
- "symfony/options-resolver": "^2.6 || ^3.0 || ^4.0"
+ "ext-xml": "*",
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/cache": "~3.4|~4.0",
+ "symfony/class-loader": "~3.2",
+ "symfony/config": "~3.4|~4.0",
+ "symfony/dependency-injection": "^3.4.3|^4.0.3",
+ "symfony/event-dispatcher": "~3.4|~4.0",
+ "symfony/filesystem": "~2.8|~3.0|~4.0",
+ "symfony/finder": "~2.8|~3.0|~4.0",
+ "symfony/http-foundation": "^3.3.11|~4.0",
+ "symfony/http-kernel": "~3.4|~4.0",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/routing": "^3.4.5|^4.0.5"
+ },
+ "conflict": {
+ "phpdocumentor/reflection-docblock": "<3.0",
+ "phpdocumentor/type-resolver": "<0.2.1",
+ "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
+ "symfony/asset": "<3.3",
+ "symfony/console": "<3.4",
+ "symfony/form": "<3.4",
+ "symfony/property-info": "<3.3",
+ "symfony/serializer": "<3.3",
+ "symfony/stopwatch": "<3.4",
+ "symfony/translation": "<3.4",
+ "symfony/validator": "<3.4",
+ "symfony/workflow": "<3.3"
},
"require-dev": {
- "henrikbjorn/phpspec-code-coverage": "^1.0",
- "phpspec/phpspec": "^2.5"
+ "doctrine/annotations": "~1.0",
+ "doctrine/cache": "~1.0",
+ "fig/link-util": "^1.0",
+ "phpdocumentor/reflection-docblock": "^3.0|^4.0",
+ "symfony/asset": "~3.3|~4.0",
+ "symfony/browser-kit": "~2.8|~3.0|~4.0",
+ "symfony/console": "~3.4|~4.0",
+ "symfony/css-selector": "~2.8|~3.0|~4.0",
+ "symfony/dom-crawler": "~2.8|~3.0|~4.0",
+ "symfony/expression-language": "~2.8|~3.0|~4.0",
+ "symfony/form": "~3.4|~4.0",
+ "symfony/lock": "~3.4|~4.0",
+ "symfony/polyfill-intl-icu": "~1.0",
+ "symfony/process": "~2.8|~3.0|~4.0",
+ "symfony/property-info": "~3.3|~4.0",
+ "symfony/security": "~2.8|~3.0|~4.0",
+ "symfony/security-core": "~3.2|~4.0",
+ "symfony/security-csrf": "~2.8|~3.0|~4.0",
+ "symfony/serializer": "~3.3|~4.0",
+ "symfony/stopwatch": "~3.4|~4.0",
+ "symfony/templating": "~2.8|~3.0|~4.0",
+ "symfony/translation": "~3.4|~4.0",
+ "symfony/validator": "~3.4|~4.0",
+ "symfony/var-dumper": "~3.3|~4.0",
+ "symfony/web-link": "~3.3|~4.0",
+ "symfony/workflow": "~3.3|~4.0",
+ "symfony/yaml": "~3.2|~4.0",
+ "twig/twig": "~1.34|~2.4"
},
- "type": "library",
+ "suggest": {
+ "ext-apcu": "For best performance of the system caches",
+ "symfony/console": "For using the console commands",
+ "symfony/form": "For using forms",
+ "symfony/property-info": "For using the property_info service",
+ "symfony/serializer": "For using the serializer service",
+ "symfony/validator": "For using validation",
+ "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering",
+ "symfony/yaml": "For using the debug:config and lint:yaml commands"
+ },
+ "type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "1.5-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Http\\Client\\Common\\Plugin\\": "src/"
- }
+ "Symfony\\Bundle\\FrameworkBundle\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1524,60 +2750,53 @@
],
"authors": [
{
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "PSR-6 Cache plugin for HTTPlug",
- "homepage": "http://httplug.io",
- "keywords": [
- "cache",
- "http",
- "httplug",
- "plugin"
- ],
- "time": "2017-11-29T20:45:41+00:00"
+ "description": "Symfony FrameworkBundle",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-04T17:20:26+00:00"
},
{
- "name": "php-http/client-common",
- "version": "1.7.0",
+ "name": "symfony/http-foundation",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/php-http/client-common.git",
- "reference": "9accb4a082eb06403747c0ffd444112eda41a0fd"
+ "url": "https://github.com/symfony/http-foundation.git",
+ "reference": "b11e6d165ff4cbf5685d185ab19a90f2f3bb7d1e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-http/client-common/zipball/9accb4a082eb06403747c0ffd444112eda41a0fd",
- "reference": "9accb4a082eb06403747c0ffd444112eda41a0fd",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b11e6d165ff4cbf5685d185ab19a90f2f3bb7d1e",
+ "reference": "b11e6d165ff4cbf5685d185ab19a90f2f3bb7d1e",
"shasum": ""
},
"require": {
- "php": "^5.4 || ^7.0",
- "php-http/httplug": "^1.1",
- "php-http/message": "^1.6",
- "php-http/message-factory": "^1.0",
- "symfony/options-resolver": "^2.6 || ^3.0 || ^4.0"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/polyfill-mbstring": "~1.1",
+ "symfony/polyfill-php70": "~1.6"
},
"require-dev": {
- "guzzlehttp/psr7": "^1.4",
- "phpspec/phpspec": "^2.5 || ^3.4 || ^4.2"
- },
- "suggest": {
- "php-http/cache-plugin": "PSR-6 Cache plugin",
- "php-http/logger-plugin": "PSR-3 Logger plugin",
- "php-http/stopwatch-plugin": "Symfony Stopwatch plugin"
+ "symfony/expression-language": "~2.8|~3.0|~4.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.7-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Http\\Client\\Common\\": "src/"
- }
+ "Symfony\\Component\\HttpFoundation\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1585,58 +2804,87 @@
],
"authors": [
{
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Common HTTP Client implementations and tools for HTTPlug",
- "homepage": "http://httplug.io",
- "keywords": [
- "client",
- "common",
- "http",
- "httplug"
- ],
- "time": "2017-11-30T11:06:59+00:00"
+ "description": "Symfony HttpFoundation Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-03T05:22:50+00:00"
},
{
- "name": "php-http/discovery",
- "version": "1.4.0",
+ "name": "symfony/http-kernel",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/php-http/discovery.git",
- "reference": "9a6cb24de552bfe1aa9d7d1569e2d49c5b169a33"
+ "url": "https://github.com/symfony/http-kernel.git",
+ "reference": "3cc2d4374aa9590c09277ad68657671cf49dbbf4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-http/discovery/zipball/9a6cb24de552bfe1aa9d7d1569e2d49c5b169a33",
- "reference": "9a6cb24de552bfe1aa9d7d1569e2d49c5b169a33",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3cc2d4374aa9590c09277ad68657671cf49dbbf4",
+ "reference": "3cc2d4374aa9590c09277ad68657671cf49dbbf4",
"shasum": ""
},
"require": {
- "php": "^5.5 || ^7.0"
+ "php": "^5.5.9|>=7.0.8",
+ "psr/log": "~1.0",
+ "symfony/debug": "~2.8|~3.0|~4.0",
+ "symfony/event-dispatcher": "~2.8|~3.0|~4.0",
+ "symfony/http-foundation": "^3.4.4|^4.0.4"
+ },
+ "conflict": {
+ "symfony/config": "<2.8",
+ "symfony/dependency-injection": "<3.4.5|<4.0.5,>=4",
+ "symfony/var-dumper": "<3.3",
+ "twig/twig": "<1.34|<2.4,>=2"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0"
},
"require-dev": {
- "henrikbjorn/phpspec-code-coverage": "^2.0.2",
- "php-http/httplug": "^1.0",
- "php-http/message-factory": "^1.0",
- "phpspec/phpspec": "^2.4",
- "puli/composer-plugin": "1.0.0-beta10"
+ "psr/cache": "~1.0",
+ "symfony/browser-kit": "~2.8|~3.0|~4.0",
+ "symfony/class-loader": "~2.8|~3.0",
+ "symfony/config": "~2.8|~3.0|~4.0",
+ "symfony/console": "~2.8|~3.0|~4.0",
+ "symfony/css-selector": "~2.8|~3.0|~4.0",
+ "symfony/dependency-injection": "^3.4.5|^4.0.5",
+ "symfony/dom-crawler": "~2.8|~3.0|~4.0",
+ "symfony/expression-language": "~2.8|~3.0|~4.0",
+ "symfony/finder": "~2.8|~3.0|~4.0",
+ "symfony/process": "~2.8|~3.0|~4.0",
+ "symfony/routing": "~3.4|~4.0",
+ "symfony/stopwatch": "~2.8|~3.0|~4.0",
+ "symfony/templating": "~2.8|~3.0|~4.0",
+ "symfony/translation": "~2.8|~3.0|~4.0",
+ "symfony/var-dumper": "~3.3|~4.0"
},
"suggest": {
- "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories",
- "puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details."
+ "symfony/browser-kit": "",
+ "symfony/config": "",
+ "symfony/console": "",
+ "symfony/dependency-injection": "",
+ "symfony/finder": "",
+ "symfony/var-dumper": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.3-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Http\\Discovery\\": "src/"
- }
+ "Symfony\\Component\\HttpKernel\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1644,60 +2892,48 @@
],
"authors": [
{
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Finds installed HTTPlug implementations and PSR-7 message factories",
- "homepage": "http://php-http.org",
- "keywords": [
- "adapter",
- "client",
- "discovery",
- "factory",
- "http",
- "message",
- "psr7"
- ],
- "time": "2018-02-06T10:55:24+00:00"
+ "description": "Symfony HttpKernel Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-06T15:19:48+00:00"
},
{
- "name": "php-http/guzzle6-adapter",
- "version": "v1.1.1",
+ "name": "symfony/inflector",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/php-http/guzzle6-adapter.git",
- "reference": "a56941f9dc6110409cfcddc91546ee97039277ab"
+ "url": "https://github.com/symfony/inflector.git",
+ "reference": "217fa0f0e8fce417bd225e4195b12c56e87273a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-http/guzzle6-adapter/zipball/a56941f9dc6110409cfcddc91546ee97039277ab",
- "reference": "a56941f9dc6110409cfcddc91546ee97039277ab",
+ "url": "https://api.github.com/repos/symfony/inflector/zipball/217fa0f0e8fce417bd225e4195b12c56e87273a8",
+ "reference": "217fa0f0e8fce417bd225e4195b12c56e87273a8",
"shasum": ""
},
"require": {
- "guzzlehttp/guzzle": "^6.0",
- "php": ">=5.5.0",
- "php-http/httplug": "^1.0"
- },
- "provide": {
- "php-http/async-client-implementation": "1.0",
- "php-http/client-implementation": "1.0"
- },
- "require-dev": {
- "ext-curl": "*",
- "php-http/adapter-integration-tests": "^0.4"
+ "php": "^5.5.9|>=7.0.8"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Http\\Adapter\\Guzzle6\\": "src/"
- }
+ "Symfony\\Component\\Inflector\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1705,54 +2941,98 @@
],
"authors": [
{
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
},
{
- "name": "David de Boer",
- "email": "david@ddeboer.nl"
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Guzzle 6 HTTP Adapter",
- "homepage": "http://httplug.io",
+ "description": "Symfony Inflector Component",
+ "homepage": "https://symfony.com",
"keywords": [
- "Guzzle",
- "http"
+ "inflection",
+ "pluralize",
+ "singularize",
+ "string",
+ "symfony",
+ "words"
],
- "time": "2016-05-10T06:13:32+00:00"
+ "time": "2018-01-03T17:14:19+00:00"
},
{
- "name": "php-http/httplug",
- "version": "v1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/httplug.git",
- "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/httplug/zipball/1c6381726c18579c4ca2ef1ec1498fdae8bdf018",
- "reference": "1c6381726c18579c4ca2ef1ec1498fdae8bdf018",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4",
- "php-http/promise": "^1.0",
- "psr/http-message": "^1.0"
+ "name": "symfony/lts",
+ "version": "v3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/lts.git",
+ "reference": "3a4e88df038e3197e6b66d091d2495fd7d255c0b"
},
- "require-dev": {
- "henrikbjorn/phpspec-code-coverage": "^1.0",
- "phpspec/phpspec": "^2.4"
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/lts/zipball/3a4e88df038e3197e6b66d091d2495fd7d255c0b",
+ "reference": "3a4e88df038e3197e6b66d091d2495fd7d255c0b",
+ "shasum": ""
},
- "type": "library",
+ "conflict": {
+ "symfony/asset": ">=4",
+ "symfony/browser-kit": ">=4",
+ "symfony/cache": ">=4",
+ "symfony/class-loader": ">=4",
+ "symfony/config": ">=4",
+ "symfony/console": ">=4",
+ "symfony/css-selector": ">=4",
+ "symfony/debug": ">=4",
+ "symfony/debug-bundle": ">=4",
+ "symfony/dependency-injection": ">=4",
+ "symfony/doctrine-bridge": ">=4",
+ "symfony/dom-crawler": ">=4",
+ "symfony/dotenv": ">=4",
+ "symfony/event-dispatcher": ">=4",
+ "symfony/expression-language": ">=4",
+ "symfony/filesystem": ">=4",
+ "symfony/finder": ">=4",
+ "symfony/form": ">=4",
+ "symfony/framework-bundle": ">=4",
+ "symfony/http-foundation": ">=4",
+ "symfony/http-kernel": ">=4",
+ "symfony/inflector": ">=4",
+ "symfony/intl": ">=4",
+ "symfony/ldap": ">=4",
+ "symfony/lock": ">=4",
+ "symfony/monolog-bridge": ">=4",
+ "symfony/options-resolver": ">=4",
+ "symfony/process": ">=4",
+ "symfony/property-access": ">=4",
+ "symfony/property-info": ">=4",
+ "symfony/proxy-manager-bridge": ">=4",
+ "symfony/routing": ">=4",
+ "symfony/security": ">=4",
+ "symfony/security-bundle": ">=4",
+ "symfony/security-core": ">=4",
+ "symfony/security-csrf": ">=4",
+ "symfony/security-guard": ">=4",
+ "symfony/security-http": ">=4",
+ "symfony/serializer": ">=4",
+ "symfony/stopwatch": ">=4",
+ "symfony/symfony": ">=4",
+ "symfony/templating": ">=4",
+ "symfony/translation": ">=4",
+ "symfony/twig-bridge": ">=4",
+ "symfony/twig-bundle": ">=4",
+ "symfony/validator": ">=4",
+ "symfony/var-dumper": ">=4",
+ "symfony/web-link": ">=4",
+ "symfony/web-profiler-bundle": ">=4",
+ "symfony/web-server-bundle": ">=4",
+ "symfony/workflow": ">=4",
+ "symfony/yaml": ">=4"
+ },
+ "type": "metapackage",
"extra": {
"branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Http\\Client\\": "src/"
+ "dev-master": "3-dev"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1761,73 +3041,64 @@
],
"authors": [
{
- "name": "Eric GELOEN",
- "email": "geloen.eric@gmail.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "HTTPlug, the HTTP client abstraction for PHP",
- "homepage": "http://httplug.io",
- "keywords": [
- "client",
- "http"
- ],
- "time": "2016-08-31T08:30:17+00:00"
+ "description": "Enforces Long Term Supported versions of Symfony components",
+ "homepage": "https://symfony.com",
+ "time": "2017-10-19T02:02:36+00:00"
},
{
- "name": "php-http/message",
- "version": "1.6.0",
+ "name": "symfony/monolog-bridge",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/php-http/message.git",
- "reference": "2edd63bae5f52f79363c5f18904b05ce3a4b7253"
+ "url": "https://github.com/symfony/monolog-bridge.git",
+ "reference": "7d208fe9223e60a0196dbe8b90e9f697f248b9d6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-http/message/zipball/2edd63bae5f52f79363c5f18904b05ce3a4b7253",
- "reference": "2edd63bae5f52f79363c5f18904b05ce3a4b7253",
+ "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/7d208fe9223e60a0196dbe8b90e9f697f248b9d6",
+ "reference": "7d208fe9223e60a0196dbe8b90e9f697f248b9d6",
"shasum": ""
},
"require": {
- "clue/stream-filter": "^1.3",
- "php": ">=5.4",
- "php-http/message-factory": "^1.0.2",
- "psr/http-message": "^1.0"
+ "monolog/monolog": "~1.19",
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/http-kernel": "~2.8|~3.0|~4.0"
},
- "provide": {
- "php-http/message-factory-implementation": "1.0"
+ "conflict": {
+ "symfony/http-foundation": "<3.3"
},
"require-dev": {
- "akeneo/phpspec-skip-example-extension": "^1.0",
- "coduo/phpspec-data-provider-extension": "^1.0",
- "ext-zlib": "*",
- "guzzlehttp/psr7": "^1.0",
- "henrikbjorn/phpspec-code-coverage": "^1.0",
- "phpspec/phpspec": "^2.4",
- "slim/slim": "^3.0",
- "zendframework/zend-diactoros": "^1.0"
+ "symfony/console": "~2.8|~3.0|~4.0",
+ "symfony/event-dispatcher": "~2.8|~3.0|~4.0",
+ "symfony/security-core": "~2.8|~3.0|~4.0",
+ "symfony/var-dumper": "~3.3|~4.0"
},
"suggest": {
- "ext-zlib": "Used with compressor/decompressor streams",
- "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories",
- "slim/slim": "Used with Slim Framework PSR-7 implementation",
- "zendframework/zend-diactoros": "Used with Diactoros Factories"
+ "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings. You need version ~2.3 of the console for it.",
+ "symfony/event-dispatcher": "Needed when using log messages in console commands.",
+ "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.",
+ "symfony/var-dumper": "For using the debugging handlers like the console handler or the log server handler."
},
- "type": "library",
+ "type": "symfony-bridge",
"extra": {
"branch-alias": {
- "dev-master": "1.6-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Http\\Message\\": "src/"
+ "Symfony\\Bridge\\Monolog\\": ""
},
- "files": [
- "src/filters.php"
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -1836,47 +3107,58 @@
],
"authors": [
{
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "HTTP Message related tools",
- "homepage": "http://php-http.org",
- "keywords": [
- "http",
- "message",
- "psr-7"
- ],
- "time": "2017-07-05T06:40:53+00:00"
+ "description": "Symfony Monolog Bridge",
+ "homepage": "https://symfony.com",
+ "time": "2018-02-01T06:11:27+00:00"
},
{
- "name": "php-http/message-factory",
- "version": "v1.0.2",
+ "name": "symfony/monolog-bundle",
+ "version": "v3.2.0",
"source": {
"type": "git",
- "url": "https://github.com/php-http/message-factory.git",
- "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1"
+ "url": "https://github.com/symfony/monolog-bundle.git",
+ "reference": "8781649349fe418d51d194f8c9d212c0b97c40dd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1",
- "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1",
+ "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/8781649349fe418d51d194f8c9d212c0b97c40dd",
+ "reference": "8781649349fe418d51d194f8c9d212c0b97c40dd",
"shasum": ""
},
"require": {
- "php": ">=5.4",
- "psr/http-message": "^1.0"
+ "monolog/monolog": "~1.22",
+ "php": ">=5.3.2",
+ "symfony/config": "~2.7|~3.0|~4.0",
+ "symfony/dependency-injection": "~2.7|~3.0|~4.0",
+ "symfony/http-kernel": "~2.7|~3.0|~4.0",
+ "symfony/monolog-bridge": "~2.7|~3.0|~4.0"
},
- "type": "library",
+ "require-dev": {
+ "symfony/console": "~2.3|~3.0|~4.0",
+ "symfony/phpunit-bridge": "^3.3|^4.0",
+ "symfony/yaml": "~2.3|~3.0|~4.0"
+ },
+ "type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "3.x-dev"
}
},
"autoload": {
"psr-4": {
- "Http\\Message\\": "src/"
- }
+ "Symfony\\Bundle\\MonologBundle\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1884,49 +3166,52 @@
],
"authors": [
{
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
+ "name": "Symfony Community",
+ "homepage": "http://symfony.com/contributors"
+ },
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
}
],
- "description": "Factory interfaces for PSR-7 HTTP Message",
- "homepage": "http://php-http.org",
+ "description": "Symfony MonologBundle",
+ "homepage": "http://symfony.com",
"keywords": [
- "factory",
- "http",
- "message",
- "stream",
- "uri"
+ "log",
+ "logging"
],
- "time": "2015-12-19T14:08:53+00:00"
+ "time": "2018-03-05T14:51:36+00:00"
},
{
- "name": "php-http/promise",
- "version": "v1.0.0",
+ "name": "symfony/options-resolver",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/php-http/promise.git",
- "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980"
+ "url": "https://github.com/symfony/options-resolver.git",
+ "reference": "f3109a6aedd20e35c3a33190e932c2b063b7b50e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-http/promise/zipball/dc494cdc9d7160b9a09bd5573272195242ce7980",
- "reference": "dc494cdc9d7160b9a09bd5573272195242ce7980",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/f3109a6aedd20e35c3a33190e932c2b063b7b50e",
+ "reference": "f3109a6aedd20e35c3a33190e932c2b063b7b50e",
"shasum": ""
},
- "require-dev": {
- "henrikbjorn/phpspec-code-coverage": "^1.0",
- "phpspec/phpspec": "^2.4"
+ "require": {
+ "php": "^5.5.9|>=7.0.8"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.1-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Http\\Promise\\": "src/"
- }
+ "Symfony\\Component\\OptionsResolver\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1934,48 +3219,53 @@
],
"authors": [
{
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
- "name": "Joel Wurtz",
- "email": "joel.wurtz@gmail.com"
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Promise used for asynchronous HTTP requests",
- "homepage": "http://httplug.io",
+ "description": "Symfony OptionsResolver Component",
+ "homepage": "https://symfony.com",
"keywords": [
- "promise"
+ "config",
+ "configuration",
+ "options"
],
- "time": "2016-01-26T13:27:02+00:00"
+ "time": "2018-01-11T07:56:07+00:00"
},
{
- "name": "psr/cache",
- "version": "1.0.1",
+ "name": "symfony/polyfill-apcu",
+ "version": "v1.7.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/cache.git",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
+ "url": "https://github.com/symfony/polyfill-apcu.git",
+ "reference": "e8ae2136ddb53dea314df56fcd88e318ab936c00"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/e8ae2136ddb53dea314df56fcd88e318ab936c00",
+ "reference": "e8ae2136ddb53dea314df56fcd88e318ab936c00",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.7-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Cache\\": "src/"
- }
+ "Symfony\\Polyfill\\Apcu\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1983,45 +3273,58 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Common interface for caching libraries",
+ "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions",
+ "homepage": "https://symfony.com",
"keywords": [
- "cache",
- "psr",
- "psr-6"
+ "apcu",
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
],
- "time": "2016-08-06T20:24:11+00:00"
+ "time": "2018-01-30T19:27:44+00:00"
},
{
- "name": "psr/container",
- "version": "1.0.0",
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.7.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
+ "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=5.3.3"
+ },
+ "suggest": {
+ "ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.7-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Container\\": "src/"
- }
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2029,48 +3332,56 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Common Container Interface (PHP FIG PSR-11)",
- "homepage": "https://github.com/php-fig/container",
+ "description": "Symfony polyfill for the Mbstring extension",
+ "homepage": "https://symfony.com",
"keywords": [
- "PSR-11",
- "container",
- "container-interface",
- "container-interop",
- "psr"
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
],
- "time": "2017-02-14T16:28:37+00:00"
+ "time": "2018-01-30T19:27:44+00:00"
},
{
- "name": "psr/http-message",
- "version": "1.0.1",
+ "name": "symfony/polyfill-php56",
+ "version": "v1.7.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/http-message.git",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+ "url": "https://github.com/symfony/polyfill-php56.git",
+ "reference": "ebc999ce5f14204c5150b9bd15f8f04e621409d8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/ebc999ce5f14204c5150b9bd15f8f04e621409d8",
+ "reference": "ebc999ce5f14204c5150b9bd15f8f04e621409d8",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=5.3.3",
+ "symfony/polyfill-util": "~1.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.7-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
+ "Symfony\\Polyfill\\Php56\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2078,49 +3389,58 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Common interface for HTTP messages",
- "homepage": "https://github.com/php-fig/http-message",
+ "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
"keywords": [
- "http",
- "http-message",
- "psr",
- "psr-7",
- "request",
- "response"
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
],
- "time": "2016-08-06T14:39:51+00:00"
+ "time": "2018-01-30T19:27:44+00:00"
},
{
- "name": "psr/link",
- "version": "1.0.0",
+ "name": "symfony/polyfill-php70",
+ "version": "v1.7.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/link.git",
- "reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562"
+ "url": "https://github.com/symfony/polyfill-php70.git",
+ "reference": "3532bfcd8f933a7816f3a0a59682fc404776600f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/link/zipball/eea8e8662d5cd3ae4517c9b864493f59fca95562",
- "reference": "eea8e8662d5cd3ae4517c9b864493f59fca95562",
+ "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/3532bfcd8f933a7816f3a0a59682fc404776600f",
+ "reference": "3532bfcd8f933a7816f3a0a59682fc404776600f",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "paragonie/random_compat": "~1.0|~2.0",
+ "php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.7-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Link\\": "src/"
- }
+ "Symfony\\Polyfill\\Php70\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ],
+ "classmap": [
+ "Resources/stubs"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2128,47 +3448,50 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Common interfaces for HTTP links",
+ "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
"keywords": [
- "http",
- "http-link",
- "link",
- "psr",
- "psr-13",
- "rest"
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
],
- "time": "2016-10-28T16:06:13+00:00"
+ "time": "2018-01-30T19:27:44+00:00"
},
{
- "name": "psr/log",
- "version": "1.0.2",
+ "name": "symfony/polyfill-util",
+ "version": "v1.7.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
+ "url": "https://github.com/symfony/polyfill-util.git",
+ "reference": "e17c808ec4228026d4f5a8832afa19be85979563"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
- "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/e17c808ec4228026d4f5a8832afa19be85979563",
+ "reference": "e17c808ec4228026d4f5a8832afa19be85979563",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.7-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Log\\": "Psr/Log/"
+ "Symfony\\Polyfill\\Util\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2177,46 +3500,54 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
+ "description": "Symfony utilities for portability of PHP codes",
+ "homepage": "https://symfony.com",
"keywords": [
- "log",
- "psr",
- "psr-3"
+ "compat",
+ "compatibility",
+ "polyfill",
+ "shim"
],
- "time": "2016-10-10T12:19:37+00:00"
+ "time": "2018-01-31T18:08:44+00:00"
},
{
- "name": "psr/simple-cache",
- "version": "1.0.1",
+ "name": "symfony/process",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/simple-cache.git",
- "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
+ "url": "https://github.com/symfony/process.git",
+ "reference": "4b7d64e852886319e93ddfdecff0d744ab87658b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
- "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+ "url": "https://api.github.com/repos/symfony/process/zipball/4b7d64e852886319e93ddfdecff0d744ab87658b",
+ "reference": "4b7d64e852886319e93ddfdecff0d744ab87658b",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": "^5.5.9|>=7.0.8"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\SimpleCache\\": "src/"
- }
+ "Symfony\\Component\\Process\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2224,54 +3555,56 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Common interfaces for simple caching",
- "keywords": [
- "cache",
- "caching",
- "psr",
- "psr-16",
- "simple-cache"
- ],
- "time": "2017-10-23T01:57:42+00:00"
+ "description": "Symfony Process Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-03T05:22:50+00:00"
},
{
- "name": "sensio/distribution-bundle",
- "version": "v5.0.21",
+ "name": "symfony/property-access",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/sensiolabs/SensioDistributionBundle.git",
- "reference": "eb6266b3b472e4002538610b28a0a04bcf94891a"
+ "url": "https://github.com/symfony/property-access.git",
+ "reference": "a6e8c778b220dfd5cd5f5dcb09f87ee232dd608a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/eb6266b3b472e4002538610b28a0a04bcf94891a",
- "reference": "eb6266b3b472e4002538610b28a0a04bcf94891a",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/a6e8c778b220dfd5cd5f5dcb09f87ee232dd608a",
+ "reference": "a6e8c778b220dfd5cd5f5dcb09f87ee232dd608a",
"shasum": ""
},
"require": {
- "php": ">=5.3.9",
- "sensiolabs/security-checker": "~3.0|~4.0",
- "symfony/class-loader": "~2.3|~3.0",
- "symfony/config": "~2.3|~3.0",
- "symfony/dependency-injection": "~2.3|~3.0",
- "symfony/filesystem": "~2.3|~3.0",
- "symfony/http-kernel": "~2.3|~3.0",
- "symfony/process": "~2.3|~3.0"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/inflector": "~3.1|~4.0",
+ "symfony/polyfill-php70": "~1.0"
},
- "type": "symfony-bundle",
+ "require-dev": {
+ "symfony/cache": "~3.1|~4.0"
+ },
+ "suggest": {
+ "psr/cache-implementation": "To cache access methods."
+ },
+ "type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0.x-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Sensio\\Bundle\\DistributionBundle\\": ""
- }
+ "Symfony\\Component\\PropertyAccess\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2281,67 +3614,80 @@
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Base bundle for Symfony Distributions",
+ "description": "Symfony PropertyAccess Component",
+ "homepage": "https://symfony.com",
"keywords": [
- "configuration",
- "distribution"
- ],
- "time": "2017-08-25T16:55:44+00:00"
+ "access",
+ "array",
+ "extraction",
+ "index",
+ "injection",
+ "object",
+ "property",
+ "property path",
+ "reflection"
+ ],
+ "time": "2018-01-03T07:37:34+00:00"
},
{
- "name": "sensio/framework-extra-bundle",
- "version": "v3.0.29",
+ "name": "symfony/routing",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git",
- "reference": "bb907234df776b68922eb4b25bfa061683597b6a"
+ "url": "https://github.com/symfony/routing.git",
+ "reference": "50f333b707bef9f6972ad04e6df3ec8875c9a67c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/bb907234df776b68922eb4b25bfa061683597b6a",
- "reference": "bb907234df776b68922eb4b25bfa061683597b6a",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/50f333b707bef9f6972ad04e6df3ec8875c9a67c",
+ "reference": "50f333b707bef9f6972ad04e6df3ec8875c9a67c",
"shasum": ""
},
"require": {
- "doctrine/common": "~2.2",
- "symfony/dependency-injection": "~2.3|~3.0",
- "symfony/framework-bundle": "~2.3|~3.0|~4.0"
+ "php": "^5.5.9|>=7.0.8"
+ },
+ "conflict": {
+ "symfony/config": "<3.3.1",
+ "symfony/dependency-injection": "<3.3",
+ "symfony/yaml": "<3.4"
},
"require-dev": {
- "doctrine/doctrine-bundle": "~1.5",
- "doctrine/orm": "~2.4,>=2.4.5",
- "symfony/asset": "~2.7|~3.0|~4.0",
- "symfony/browser-kit": "~2.3|~3.0|~4.0",
- "symfony/dom-crawler": "~2.3|~3.0|~4.0",
- "symfony/expression-language": "~2.4|~3.0|~4.0",
- "symfony/finder": "~2.3|~3.0|~4.0",
- "symfony/phpunit-bridge": "~3.2|~4.0",
- "symfony/psr-http-message-bridge": "^0.3|^1.0",
- "symfony/security-bundle": "~2.4|~3.0|~4.0",
- "symfony/templating": "~2.3|~3.0|~4.0",
- "symfony/translation": "~2.3|~3.0|~4.0",
- "symfony/twig-bundle": "~2.3|~3.0|~4.0",
- "symfony/yaml": "~2.3|~3.0|~4.0",
- "twig/twig": "~1.12|~2.0",
- "zendframework/zend-diactoros": "^1.3"
+ "doctrine/annotations": "~1.0",
+ "doctrine/common": "~2.2",
+ "psr/log": "~1.0",
+ "symfony/config": "^3.3.1|~4.0",
+ "symfony/dependency-injection": "~3.3|~4.0",
+ "symfony/expression-language": "~2.8|~3.0|~4.0",
+ "symfony/http-foundation": "~2.8|~3.0|~4.0",
+ "symfony/yaml": "~3.4|~4.0"
},
"suggest": {
- "symfony/expression-language": "",
- "symfony/psr-http-message-bridge": "To use the PSR-7 converters",
- "symfony/security-bundle": ""
+ "doctrine/annotations": "For using the annotation loader",
+ "symfony/config": "For using the all-in-one router or any loader",
+ "symfony/dependency-injection": "For loading routes from a service",
+ "symfony/expression-language": "For using expression matching",
+ "symfony/http-foundation": "For using a Symfony Request object",
+ "symfony/yaml": "For using the YAML loader"
},
- "type": "symfony-bundle",
+ "type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0.x-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Sensio\\Bundle\\FrameworkExtraBundle\\": ""
- }
+ "Symfony\\Component\\Routing\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2351,46 +3697,82 @@
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "This bundle provides a way to configure your controllers with annotations",
+ "description": "Symfony Routing Component",
+ "homepage": "https://symfony.com",
"keywords": [
- "annotations",
- "controllers"
+ "router",
+ "routing",
+ "uri",
+ "url"
],
- "time": "2017-12-14T19:03:23+00:00"
+ "time": "2018-04-04T13:22:16+00:00"
},
{
- "name": "sensiolabs/security-checker",
- "version": "v4.1.8",
+ "name": "symfony/security",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/sensiolabs/security-checker.git",
- "reference": "dc270d5fec418cc6ac983671dba5d80ffaffb142"
+ "url": "https://github.com/symfony/security.git",
+ "reference": "67aeceb471baf282aadde8e8bc1a8f2320ac8a90"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/dc270d5fec418cc6ac983671dba5d80ffaffb142",
- "reference": "dc270d5fec418cc6ac983671dba5d80ffaffb142",
+ "url": "https://api.github.com/repos/symfony/security/zipball/67aeceb471baf282aadde8e8bc1a8f2320ac8a90",
+ "reference": "67aeceb471baf282aadde8e8bc1a8f2320ac8a90",
"shasum": ""
},
"require": {
- "composer/ca-bundle": "^1.0",
- "symfony/console": "~2.7|~3.0|~4.0"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/event-dispatcher": "~2.8|~3.0|~4.0",
+ "symfony/http-foundation": "^2.8.31|~3.3.13|~3.4|~4.0",
+ "symfony/http-kernel": "~3.3|~4.0",
+ "symfony/polyfill-php56": "~1.0",
+ "symfony/polyfill-php70": "~1.0",
+ "symfony/property-access": "~2.8|~3.0|~4.0"
+ },
+ "replace": {
+ "symfony/security-core": "self.version",
+ "symfony/security-csrf": "self.version",
+ "symfony/security-guard": "self.version",
+ "symfony/security-http": "self.version"
+ },
+ "require-dev": {
+ "psr/container": "^1.0",
+ "psr/log": "~1.0",
+ "symfony/expression-language": "~2.8|~3.0|~4.0",
+ "symfony/finder": "~2.8|~3.0|~4.0",
+ "symfony/ldap": "~3.1|~4.0",
+ "symfony/polyfill-intl-icu": "~1.0",
+ "symfony/routing": "~2.8|~3.0|~4.0",
+ "symfony/validator": "^3.2.5|~4.0"
+ },
+ "suggest": {
+ "psr/container": "To instantiate the Security class",
+ "symfony/expression-language": "For using the expression voter",
+ "symfony/form": "",
+ "symfony/ldap": "For using the LDAP user and authentication providers",
+ "symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs",
+ "symfony/validator": "For using the user password constraint"
},
- "bin": [
- "security-checker"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.1-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
- "psr-0": {
- "SensioLabs\\Security": ""
- }
+ "psr-4": {
+ "Symfony\\Component\\Security\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2399,42 +3781,82 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien.potencier@gmail.com"
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "A security checker for your composer.lock",
- "time": "2018-02-28T22:10:01+00:00"
+ "description": "Symfony Security Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-06T07:35:25+00:00"
},
{
- "name": "swiftmailer/swiftmailer",
- "version": "v5.4.9",
+ "name": "symfony/security-bundle",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/swiftmailer/swiftmailer.git",
- "reference": "7ffc1ea296ed14bf8260b6ef11b80208dbadba91"
+ "url": "https://github.com/symfony/security-bundle.git",
+ "reference": "085335af9afd4b6b41a8af6d2de21de36517289c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/7ffc1ea296ed14bf8260b6ef11b80208dbadba91",
- "reference": "7ffc1ea296ed14bf8260b6ef11b80208dbadba91",
+ "url": "https://api.github.com/repos/symfony/security-bundle/zipball/085335af9afd4b6b41a8af6d2de21de36517289c",
+ "reference": "085335af9afd4b6b41a8af6d2de21de36517289c",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "ext-xml": "*",
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/dependency-injection": "^3.4.3|^4.0.3",
+ "symfony/http-kernel": "~3.4|~4.0",
+ "symfony/polyfill-php70": "~1.0",
+ "symfony/security": "~3.4|~4.0"
+ },
+ "conflict": {
+ "symfony/console": "<3.4",
+ "symfony/event-dispatcher": "<3.4",
+ "symfony/framework-bundle": "<3.4",
+ "symfony/var-dumper": "<3.3"
},
"require-dev": {
- "mockery/mockery": "~0.9.1",
- "symfony/phpunit-bridge": "~3.2"
+ "doctrine/doctrine-bundle": "~1.5",
+ "symfony/asset": "~2.8|~3.0|~4.0",
+ "symfony/browser-kit": "~2.8|~3.0|~4.0",
+ "symfony/console": "~3.4|~4.0",
+ "symfony/css-selector": "~2.8|~3.0|~4.0",
+ "symfony/dom-crawler": "~2.8|~3.0|~4.0",
+ "symfony/event-dispatcher": "~3.4|~4.0",
+ "symfony/expression-language": "~2.8|~3.0|~4.0",
+ "symfony/form": "^3.4|~4.0",
+ "symfony/framework-bundle": "~3.4|~4.0",
+ "symfony/http-foundation": "~3.3|~4.0",
+ "symfony/process": "~3.3|~4.0",
+ "symfony/security-acl": "~2.8|~3.0",
+ "symfony/translation": "~3.4|~4.0",
+ "symfony/twig-bridge": "~3.4|~4.0",
+ "symfony/twig-bundle": "~3.4|~4.0",
+ "symfony/validator": "^3.4|~4.0",
+ "symfony/var-dumper": "~3.3|~4.0",
+ "symfony/yaml": "~3.4|~4.0",
+ "twig/twig": "~1.34|~2.4"
},
- "type": "library",
+ "suggest": {
+ "symfony/security-acl": "For using the ACL functionality of this bundle"
+ },
+ "type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "5.4-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
- "files": [
- "lib/swift_required.php"
+ "psr-4": {
+ "Symfony\\Bundle\\SecurityBundle\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -2442,60 +3864,62 @@
"MIT"
],
"authors": [
- {
- "name": "Chris Corbyn"
- },
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Swiftmailer, free feature-rich PHP mailer",
- "homepage": "https://swiftmailer.symfony.com",
- "keywords": [
- "email",
- "mail",
- "mailer"
- ],
- "time": "2018-01-23T07:37:21+00:00"
+ "description": "Symfony SecurityBundle",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-06T07:35:25+00:00"
},
{
- "name": "symfony/monolog-bundle",
- "version": "v2.12.1",
+ "name": "symfony/swiftmailer-bundle",
+ "version": "v3.2.2",
"source": {
"type": "git",
- "url": "https://github.com/symfony/monolog-bundle.git",
- "reference": "b0146bdca7ba2a65f3bbe7010423c7393b29ec3f"
+ "url": "https://github.com/symfony/swiftmailer-bundle.git",
+ "reference": "f1ba0552a9cd4df0191a58845fbd5541cf9eda2d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/b0146bdca7ba2a65f3bbe7010423c7393b29ec3f",
- "reference": "b0146bdca7ba2a65f3bbe7010423c7393b29ec3f",
+ "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/f1ba0552a9cd4df0191a58845fbd5541cf9eda2d",
+ "reference": "f1ba0552a9cd4df0191a58845fbd5541cf9eda2d",
"shasum": ""
},
"require": {
- "monolog/monolog": "~1.18",
- "php": ">=5.3.2",
- "symfony/config": "~2.3|~3.0",
- "symfony/dependency-injection": "~2.3|~3.0",
- "symfony/http-kernel": "~2.3|~3.0",
- "symfony/monolog-bridge": "~2.3|~3.0"
+ "php": ">=7.0.0",
+ "swiftmailer/swiftmailer": "^6.0.1",
+ "symfony/config": "~2.8|~3.3|~4.0",
+ "symfony/dependency-injection": "~2.7|~3.3|~4.0",
+ "symfony/http-kernel": "~2.7|~3.3|~4.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.8",
- "symfony/console": "~2.3|~3.0",
- "symfony/yaml": "~2.3|~3.0"
+ "symfony/console": "~2.7|~3.3|~4.0",
+ "symfony/framework-bundle": "~2.7|~3.3|~4.0",
+ "symfony/phpunit-bridge": "~3.3|~4.0",
+ "symfony/yaml": "~2.7|~3.3|~4.0"
+ },
+ "suggest": {
+ "psr/log": "Allows logging"
},
"type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "2.x-dev"
+ "dev-master": "3.2-dev"
}
},
"autoload": {
"psr-4": {
- "Symfony\\Bundle\\MonologBundle\\": ""
- }
+ "Symfony\\Bundle\\SwiftmailerBundle\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2511,43 +3935,45 @@
"email": "fabien@symfony.com"
}
],
- "description": "Symfony MonologBundle",
+ "description": "Symfony SwiftmailerBundle",
"homepage": "http://symfony.com",
- "keywords": [
- "log",
- "logging"
- ],
- "time": "2017-01-02T19:04:26+00:00"
+ "time": "2018-04-03T16:29:41+00:00"
},
{
- "name": "symfony/polyfill-apcu",
- "version": "v1.7.0",
+ "name": "symfony/templating",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-apcu.git",
- "reference": "e8ae2136ddb53dea314df56fcd88e318ab936c00"
+ "url": "https://github.com/symfony/templating.git",
+ "reference": "6ac0bb6dea36053b97027dae0bf3888e432c1f74"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/e8ae2136ddb53dea314df56fcd88e318ab936c00",
- "reference": "e8ae2136ddb53dea314df56fcd88e318ab936c00",
+ "url": "https://api.github.com/repos/symfony/templating/zipball/6ac0bb6dea36053b97027dae0bf3888e432c1f74",
+ "reference": "6ac0bb6dea36053b97027dae0bf3888e432c1f74",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": "^5.5.9|>=7.0.8"
+ },
+ "require-dev": {
+ "psr/log": "~1.0"
+ },
+ "suggest": {
+ "psr/log": "For using debug logging in loaders"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.7-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Symfony\\Polyfill\\Apcu\\": ""
+ "Symfony\\Component\\Templating\\": ""
},
- "files": [
- "bootstrap.php"
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -2556,55 +3982,66 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions",
+ "description": "Symfony Templating Component",
"homepage": "https://symfony.com",
- "keywords": [
- "apcu",
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "time": "2018-01-30T19:27:44+00:00"
+ "time": "2018-01-03T07:37:34+00:00"
},
{
- "name": "symfony/polyfill-intl-icu",
- "version": "v1.7.0",
+ "name": "symfony/translation",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-intl-icu.git",
- "reference": "254919c03761d46c29291616576ed003f10e91c1"
+ "url": "https://github.com/symfony/translation.git",
+ "reference": "80e19eaf12cbb546ac40384e5c55c36306823e57"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/254919c03761d46c29291616576ed003f10e91c1",
- "reference": "254919c03761d46c29291616576ed003f10e91c1",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/80e19eaf12cbb546ac40384e5c55c36306823e57",
+ "reference": "80e19eaf12cbb546ac40384e5c55c36306823e57",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
- "symfony/intl": "~2.3|~3.0|~4.0"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "symfony/config": "<2.8",
+ "symfony/dependency-injection": "<3.4",
+ "symfony/yaml": "<3.4"
+ },
+ "require-dev": {
+ "psr/log": "~1.0",
+ "symfony/config": "~2.8|~3.0|~4.0",
+ "symfony/dependency-injection": "~3.4|~4.0",
+ "symfony/finder": "~2.8|~3.0|~4.0",
+ "symfony/intl": "^2.8.18|^3.2.5|~4.0",
+ "symfony/yaml": "~3.4|~4.0"
},
"suggest": {
- "ext-intl": "For best performance"
+ "psr/log": "To use logging capability in translator",
+ "symfony/config": "",
+ "symfony/yaml": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.7-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
- "files": [
- "bootstrap.php"
+ "psr-4": {
+ "Symfony\\Component\\Translation\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -2613,58 +4050,88 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for intl's ICU-related data and classes",
+ "description": "Symfony Translation Component",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "icu",
- "intl",
- "polyfill",
- "portable",
- "shim"
- ],
- "time": "2018-01-30T19:27:44+00:00"
+ "time": "2018-02-22T06:28:18+00:00"
},
{
- "name": "symfony/polyfill-mbstring",
- "version": "v1.7.0",
+ "name": "symfony/twig-bridge",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
+ "url": "https://github.com/symfony/twig-bridge.git",
+ "reference": "36a48d915079a23bbc5ae017523ff2819a9e222f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
- "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
+ "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/36a48d915079a23bbc5ae017523ff2819a9e222f",
+ "reference": "36a48d915079a23bbc5ae017523ff2819a9e222f",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": "^5.5.9|>=7.0.8",
+ "twig/twig": "^1.35|^2.4.4"
+ },
+ "conflict": {
+ "symfony/console": "<3.4",
+ "symfony/form": "<3.4.7|<4.0.7,>=4.0"
+ },
+ "require-dev": {
+ "symfony/asset": "~2.8|~3.0|~4.0",
+ "symfony/console": "~3.4|~4.0",
+ "symfony/dependency-injection": "~2.8|~3.0|~4.0",
+ "symfony/expression-language": "~2.8|~3.0|~4.0",
+ "symfony/finder": "~2.8|~3.0|~4.0",
+ "symfony/form": "^3.4.7|^4.0.7",
+ "symfony/http-foundation": "^3.3.11|~4.0",
+ "symfony/http-kernel": "~3.2|~4.0",
+ "symfony/polyfill-intl-icu": "~1.0",
+ "symfony/routing": "~2.8|~3.0|~4.0",
+ "symfony/security": "~2.8|~3.0|~4.0",
+ "symfony/security-acl": "~2.8|~3.0",
+ "symfony/stopwatch": "~2.8|~3.0|~4.0",
+ "symfony/templating": "~2.8|~3.0|~4.0",
+ "symfony/translation": "~2.8|~3.0|~4.0",
+ "symfony/var-dumper": "~2.8.10|~3.1.4|~3.2|~4.0",
+ "symfony/web-link": "~3.3|~4.0",
+ "symfony/workflow": "~3.3|~4.0",
+ "symfony/yaml": "~2.8|~3.0|~4.0"
},
"suggest": {
- "ext-mbstring": "For best performance"
+ "symfony/asset": "For using the AssetExtension",
+ "symfony/expression-language": "For using the ExpressionExtension",
+ "symfony/finder": "",
+ "symfony/form": "For using the FormExtension",
+ "symfony/http-kernel": "For using the HttpKernelExtension",
+ "symfony/routing": "For using the RoutingExtension",
+ "symfony/security": "For using the SecurityExtension",
+ "symfony/stopwatch": "For using the StopwatchExtension",
+ "symfony/templating": "For using the TwigEngine",
+ "symfony/translation": "For using the TranslationExtension",
+ "symfony/var-dumper": "For using the DumpExtension",
+ "symfony/web-link": "For using the WebLinkExtension",
+ "symfony/yaml": "For using the YamlExtension"
},
- "type": "library",
+ "type": "symfony-bridge",
"extra": {
"branch-alias": {
- "dev-master": "1.7-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
+ "Symfony\\Bridge\\Twig\\": ""
},
- "files": [
- "bootstrap.php"
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -2673,55 +4140,71 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for the Mbstring extension",
+ "description": "Symfony Twig Bridge",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "mbstring",
- "polyfill",
- "portable",
- "shim"
- ],
- "time": "2018-01-30T19:27:44+00:00"
+ "time": "2018-04-02T13:55:46+00:00"
},
{
- "name": "symfony/polyfill-php56",
- "version": "v1.7.0",
+ "name": "symfony/twig-bundle",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php56.git",
- "reference": "ebc999ce5f14204c5150b9bd15f8f04e621409d8"
+ "url": "https://github.com/symfony/twig-bundle.git",
+ "reference": "c06e47e4b93500c1e6dbf9a29d10f88845d7958c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/ebc999ce5f14204c5150b9bd15f8f04e621409d8",
- "reference": "ebc999ce5f14204c5150b9bd15f8f04e621409d8",
+ "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/c06e47e4b93500c1e6dbf9a29d10f88845d7958c",
+ "reference": "c06e47e4b93500c1e6dbf9a29d10f88845d7958c",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
- "symfony/polyfill-util": "~1.0"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/config": "~3.2|~4.0",
+ "symfony/http-foundation": "~2.8|~3.0|~4.0",
+ "symfony/http-kernel": "^3.3|~4.0",
+ "symfony/twig-bridge": "^3.4.3|^4.0.3",
+ "twig/twig": "~1.34|~2.4"
},
- "type": "library",
+ "conflict": {
+ "symfony/dependency-injection": "<3.4",
+ "symfony/event-dispatcher": "<3.3.1"
+ },
+ "require-dev": {
+ "doctrine/annotations": "~1.0",
+ "doctrine/cache": "~1.0",
+ "symfony/asset": "~2.8|~3.0|~4.0",
+ "symfony/dependency-injection": "~3.4|~4.0",
+ "symfony/expression-language": "~2.8|~3.0|~4.0",
+ "symfony/finder": "~2.8|~3.0|~4.0",
+ "symfony/form": "~2.8|~3.0|~4.0",
+ "symfony/framework-bundle": "^3.3.11|~4.0",
+ "symfony/routing": "~2.8|~3.0|~4.0",
+ "symfony/stopwatch": "~2.8|~3.0|~4.0",
+ "symfony/templating": "~2.8|~3.0|~4.0",
+ "symfony/web-link": "~3.3|~4.0",
+ "symfony/yaml": "~2.8|~3.0|~4.0"
+ },
+ "type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "1.7-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Symfony\\Polyfill\\Php56\\": ""
+ "Symfony\\Bundle\\TwigBundle\\": ""
},
- "files": [
- "bootstrap.php"
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -2730,57 +4213,82 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
+ "description": "Symfony TwigBundle",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "time": "2018-01-30T19:27:44+00:00"
+ "time": "2018-02-14T12:23:44+00:00"
},
{
- "name": "symfony/polyfill-php70",
- "version": "v1.7.0",
+ "name": "symfony/validator",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php70.git",
- "reference": "3532bfcd8f933a7816f3a0a59682fc404776600f"
+ "url": "https://github.com/symfony/validator.git",
+ "reference": "6fa41262dcbd50eedb1e841cfd97f5a1956cf2e7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/3532bfcd8f933a7816f3a0a59682fc404776600f",
- "reference": "3532bfcd8f933a7816f3a0a59682fc404776600f",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/6fa41262dcbd50eedb1e841cfd97f5a1956cf2e7",
+ "reference": "6fa41262dcbd50eedb1e841cfd97f5a1956cf2e7",
"shasum": ""
},
- "require": {
- "paragonie/random_compat": "~1.0|~2.0",
- "php": ">=5.3.3"
+ "require": {
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/translation": "~2.8|~3.0|~4.0"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
+ "symfony/dependency-injection": "<3.3",
+ "symfony/http-kernel": "<3.3.5",
+ "symfony/yaml": "<3.4"
+ },
+ "require-dev": {
+ "doctrine/annotations": "~1.0",
+ "doctrine/cache": "~1.0",
+ "egulias/email-validator": "^1.2.8|~2.0",
+ "symfony/cache": "~3.1|~4.0",
+ "symfony/config": "~2.8|~3.0|~4.0",
+ "symfony/dependency-injection": "~3.3|~4.0",
+ "symfony/expression-language": "~2.8|~3.0|~4.0",
+ "symfony/http-foundation": "~2.8|~3.0|~4.0",
+ "symfony/http-kernel": "^3.3.5|~4.0",
+ "symfony/intl": "^2.8.18|^3.2.5|~4.0",
+ "symfony/property-access": "~2.8|~3.0|~4.0",
+ "symfony/var-dumper": "~3.3|~4.0",
+ "symfony/yaml": "~3.4|~4.0"
+ },
+ "suggest": {
+ "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
+ "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
+ "egulias/email-validator": "Strict (RFC compliant) email validation",
+ "psr/cache-implementation": "For using the metadata cache.",
+ "symfony/config": "",
+ "symfony/expression-language": "For using the Expression validator",
+ "symfony/http-foundation": "",
+ "symfony/intl": "",
+ "symfony/property-access": "For accessing properties within comparison constraints",
+ "symfony/yaml": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.7-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Symfony\\Polyfill\\Php70\\": ""
+ "Symfony\\Component\\Validator\\": ""
},
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -2789,51 +4297,64 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions",
+ "description": "Symfony Validator Component",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "time": "2018-01-30T19:27:44+00:00"
+ "time": "2018-04-06T07:35:25+00:00"
},
{
- "name": "symfony/polyfill-util",
- "version": "v1.7.0",
+ "name": "symfony/var-dumper",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-util.git",
- "reference": "e17c808ec4228026d4f5a8832afa19be85979563"
+ "url": "https://github.com/symfony/var-dumper.git",
+ "reference": "951643091b39a6fd40fce56cd16e21e12bef3feb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/e17c808ec4228026d4f5a8832afa19be85979563",
- "reference": "e17c808ec4228026d4f5a8832afa19be85979563",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/951643091b39a6fd40fce56cd16e21e12bef3feb",
+ "reference": "951643091b39a6fd40fce56cd16e21e12bef3feb",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0"
+ },
+ "require-dev": {
+ "ext-iconv": "*",
+ "twig/twig": "~1.34|~2.4"
+ },
+ "suggest": {
+ "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
+ "ext-intl": "To show region name in time zone dump",
+ "ext-symfony_debug": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.7-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
+ "files": [
+ "Resources/functions/dump.php"
+ ],
"psr-4": {
- "Symfony\\Polyfill\\Util\\": ""
- }
+ "Symfony\\Component\\VarDumper\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2849,185 +4370,106 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony utilities for portability of PHP codes",
+ "description": "Symfony mechanism for exploring and dumping PHP variables",
"homepage": "https://symfony.com",
"keywords": [
- "compat",
- "compatibility",
- "polyfill",
- "shim"
+ "debug",
+ "dump"
],
- "time": "2018-01-31T18:08:44+00:00"
+ "time": "2018-04-03T20:34:11+00:00"
},
{
- "name": "symfony/swiftmailer-bundle",
- "version": "v2.6.7",
+ "name": "symfony/web-profiler-bundle",
+ "version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/symfony/swiftmailer-bundle.git",
- "reference": "c4808f5169efc05567be983909d00f00521c53ec"
+ "url": "https://github.com/symfony/web-profiler-bundle.git",
+ "reference": "a6a1390c444d11bdb9dcabe42237dc584c2ef20e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/c4808f5169efc05567be983909d00f00521c53ec",
- "reference": "c4808f5169efc05567be983909d00f00521c53ec",
+ "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/a6a1390c444d11bdb9dcabe42237dc584c2ef20e",
+ "reference": "a6a1390c444d11bdb9dcabe42237dc584c2ef20e",
"shasum": ""
},
"require": {
- "php": ">=5.3.2",
- "swiftmailer/swiftmailer": "~4.2|~5.0",
- "symfony/config": "~2.7|~3.0",
- "symfony/dependency-injection": "~2.7|~3.0",
- "symfony/http-kernel": "~2.7|~3.0"
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/http-kernel": "~3.3|~4.0",
+ "symfony/polyfill-php70": "~1.0",
+ "symfony/routing": "~2.8|~3.0|~4.0",
+ "symfony/twig-bridge": "~2.8|~3.0|~4.0",
+ "symfony/var-dumper": "~3.3|~4.0",
+ "twig/twig": "~1.34|~2.4"
},
- "require-dev": {
- "symfony/console": "~2.7|~3.0",
- "symfony/framework-bundle": "~2.7|~3.0",
- "symfony/phpunit-bridge": "~3.3@dev",
- "symfony/yaml": "~2.7|~3.0"
+ "conflict": {
+ "symfony/config": "<3.4",
+ "symfony/dependency-injection": "<3.4",
+ "symfony/event-dispatcher": "<3.3.1",
+ "symfony/var-dumper": "<3.3"
},
- "suggest": {
- "psr/log": "Allows logging"
+ "require-dev": {
+ "symfony/config": "~3.4|~4.0",
+ "symfony/console": "~2.8|~3.0|~4.0",
+ "symfony/dependency-injection": "~3.4|~4.0",
+ "symfony/stopwatch": "~2.8|~3.0|~4.0"
},
"type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "2.6-dev"
+ "dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
- "Symfony\\Bundle\\SwiftmailerBundle\\": ""
- }
+ "Symfony\\Bundle\\WebProfilerBundle\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
- {
- "name": "Symfony Community",
- "homepage": "http://symfony.com/contributors"
- },
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony SwiftmailerBundle",
- "homepage": "http://symfony.com",
- "time": "2017-10-19T01:06:41+00:00"
+ "description": "Symfony WebProfilerBundle",
+ "homepage": "https://symfony.com",
+ "time": "2018-04-04T12:14:22+00:00"
},
{
- "name": "symfony/symfony",
+ "name": "symfony/yaml",
"version": "v3.4.8",
"source": {
"type": "git",
- "url": "https://github.com/symfony/symfony.git",
- "reference": "5304a36c5efbb01af7efe2bb5b1953dbaeebc293"
+ "url": "https://github.com/symfony/yaml.git",
+ "reference": "a42f9da85c7c38d59f5e53f076fe81a091f894d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/symfony/zipball/5304a36c5efbb01af7efe2bb5b1953dbaeebc293",
- "reference": "5304a36c5efbb01af7efe2bb5b1953dbaeebc293",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/a42f9da85c7c38d59f5e53f076fe81a091f894d0",
+ "reference": "a42f9da85c7c38d59f5e53f076fe81a091f894d0",
"shasum": ""
},
"require": {
- "doctrine/common": "~2.4",
- "ext-xml": "*",
- "fig/link-util": "^1.0",
- "php": "^5.5.9|>=7.0.8",
- "psr/cache": "~1.0",
- "psr/container": "^1.0",
- "psr/link": "^1.0",
- "psr/log": "~1.0",
- "psr/simple-cache": "^1.0",
- "symfony/polyfill-apcu": "~1.1",
- "symfony/polyfill-intl-icu": "~1.0",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php56": "~1.0",
- "symfony/polyfill-php70": "~1.6",
- "twig/twig": "^1.35|^2.4.4"
+ "php": "^5.5.9|>=7.0.8"
},
"conflict": {
- "phpdocumentor/reflection-docblock": "<3.0||>=3.2.0,<3.2.2",
- "phpdocumentor/type-resolver": "<0.2.1",
- "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0"
- },
- "provide": {
- "psr/cache-implementation": "1.0",
- "psr/container-implementation": "1.0",
- "psr/log-implementation": "1.0",
- "psr/simple-cache-implementation": "1.0"
- },
- "replace": {
- "symfony/asset": "self.version",
- "symfony/browser-kit": "self.version",
- "symfony/cache": "self.version",
- "symfony/class-loader": "self.version",
- "symfony/config": "self.version",
- "symfony/console": "self.version",
- "symfony/css-selector": "self.version",
- "symfony/debug": "self.version",
- "symfony/debug-bundle": "self.version",
- "symfony/dependency-injection": "self.version",
- "symfony/doctrine-bridge": "self.version",
- "symfony/dom-crawler": "self.version",
- "symfony/dotenv": "self.version",
- "symfony/event-dispatcher": "self.version",
- "symfony/expression-language": "self.version",
- "symfony/filesystem": "self.version",
- "symfony/finder": "self.version",
- "symfony/form": "self.version",
- "symfony/framework-bundle": "self.version",
- "symfony/http-foundation": "self.version",
- "symfony/http-kernel": "self.version",
- "symfony/inflector": "self.version",
- "symfony/intl": "self.version",
- "symfony/ldap": "self.version",
- "symfony/lock": "self.version",
- "symfony/monolog-bridge": "self.version",
- "symfony/options-resolver": "self.version",
- "symfony/process": "self.version",
- "symfony/property-access": "self.version",
- "symfony/property-info": "self.version",
- "symfony/proxy-manager-bridge": "self.version",
- "symfony/routing": "self.version",
- "symfony/security": "self.version",
- "symfony/security-bundle": "self.version",
- "symfony/security-core": "self.version",
- "symfony/security-csrf": "self.version",
- "symfony/security-guard": "self.version",
- "symfony/security-http": "self.version",
- "symfony/serializer": "self.version",
- "symfony/stopwatch": "self.version",
- "symfony/templating": "self.version",
- "symfony/translation": "self.version",
- "symfony/twig-bridge": "self.version",
- "symfony/twig-bundle": "self.version",
- "symfony/validator": "self.version",
- "symfony/var-dumper": "self.version",
- "symfony/web-link": "self.version",
- "symfony/web-profiler-bundle": "self.version",
- "symfony/web-server-bundle": "self.version",
- "symfony/workflow": "self.version",
- "symfony/yaml": "self.version"
+ "symfony/console": "<3.4"
},
"require-dev": {
- "cache/integration-tests": "dev-master",
- "doctrine/annotations": "~1.0",
- "doctrine/cache": "~1.6",
- "doctrine/data-fixtures": "1.0.*",
- "doctrine/dbal": "~2.4",
- "doctrine/doctrine-bundle": "~1.4",
- "doctrine/orm": "~2.4,>=2.4.5",
- "egulias/email-validator": "~1.2,>=1.2.8|~2.0",
- "monolog/monolog": "~1.11",
- "ocramius/proxy-manager": "~0.4|~1.0|~2.0",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0",
- "predis/predis": "~1.0",
- "symfony/phpunit-bridge": "~3.4|~4.0",
- "symfony/security-acl": "~2.8|~3.0"
+ "symfony/console": "~3.4|~4.0"
+ },
+ "suggest": {
+ "symfony/console": "For validating YAML files using the lint command"
},
"type": "library",
"extra": {
@@ -3037,18 +4479,10 @@
},
"autoload": {
"psr-4": {
- "Symfony\\Bridge\\Doctrine\\": "src/Symfony/Bridge/Doctrine/",
- "Symfony\\Bridge\\Monolog\\": "src/Symfony/Bridge/Monolog/",
- "Symfony\\Bridge\\ProxyManager\\": "src/Symfony/Bridge/ProxyManager/",
- "Symfony\\Bridge\\Twig\\": "src/Symfony/Bridge/Twig/",
- "Symfony\\Bundle\\": "src/Symfony/Bundle/",
- "Symfony\\Component\\": "src/Symfony/Component/"
+ "Symfony\\Component\\Yaml\\": ""
},
- "classmap": [
- "src/Symfony/Component/Intl/Resources/stubs"
- ],
"exclude-from-classmap": [
- "**/Tests/"
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -3065,29 +4499,27 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "The Symfony PHP framework",
+ "description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
- "keywords": [
- "framework"
- ],
- "time": "2018-04-06T15:20:04+00:00"
+ "time": "2018-04-03T05:14:20+00:00"
},
{
"name": "twig/twig",
- "version": "v1.35.3",
+ "version": "v2.4.8",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "b48680b6eb7d16b5025b9bfc4108d86f6b8af86f"
+ "reference": "7b604c89da162034bdf4bb66310f358d313dd16d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/b48680b6eb7d16b5025b9bfc4108d86f6b8af86f",
- "reference": "b48680b6eb7d16b5025b9bfc4108d86f6b8af86f",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/7b604c89da162034bdf4bb66310f358d313dd16d",
+ "reference": "7b604c89da162034bdf4bb66310f358d313dd16d",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": "^7.0",
+ "symfony/polyfill-mbstring": "~1.0"
},
"require-dev": {
"psr/container": "^1.0",
@@ -3097,7 +4529,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.35-dev"
+ "dev-master": "2.4-dev"
}
},
"autoload": {
@@ -3135,7 +4567,7 @@
"keywords": [
"templating"
],
- "time": "2018-03-20T04:25:58+00:00"
+ "time": "2018-04-02T09:24:19+00:00"
}
],
"packages-dev": [
@@ -3346,6 +4778,119 @@
],
"time": "2018-02-15T16:58:55+00:00"
},
+ {
+ "name": "symfony/browser-kit",
+ "version": "v3.4.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/browser-kit.git",
+ "reference": "840bb6f0d5b3701fd768b68adf7193c2d0f98f79"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/840bb6f0d5b3701fd768b68adf7193c2d0f98f79",
+ "reference": "840bb6f0d5b3701fd768b68adf7193c2d0f98f79",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/dom-crawler": "~2.8|~3.0|~4.0"
+ },
+ "require-dev": {
+ "symfony/css-selector": "~2.8|~3.0|~4.0",
+ "symfony/process": "~2.8|~3.0|~4.0"
+ },
+ "suggest": {
+ "symfony/process": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\BrowserKit\\": ""
+ },
+ "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 BrowserKit Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-03-19T22:32:39+00:00"
+ },
+ {
+ "name": "symfony/dom-crawler",
+ "version": "v3.4.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/dom-crawler.git",
+ "reference": "1a4cffeb059226ff6bee9f48acb388faf674afff"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/1a4cffeb059226ff6bee9f48acb388faf674afff",
+ "reference": "1a4cffeb059226ff6bee9f48acb388faf674afff",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "require-dev": {
+ "symfony/css-selector": "~2.8|~3.0|~4.0"
+ },
+ "suggest": {
+ "symfony/css-selector": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\DomCrawler\\": ""
+ },
+ "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 DomCrawler Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-03-19T22:32:39+00:00"
+ },
{
"name": "symfony/phpunit-bridge",
"version": "v3.4.8",
@@ -3466,6 +5011,55 @@
"shim"
],
"time": "2018-01-31T17:43:24+00:00"
+ },
+ {
+ "name": "symfony/stopwatch",
+ "version": "v3.4.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/stopwatch.git",
+ "reference": "eb17cfa072cab26537ac37e9c4ece6c0361369af"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/eb17cfa072cab26537ac37e9c4ece6c0361369af",
+ "reference": "eb17cfa072cab26537ac37e9c4ece6c0361369af",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5.9|>=7.0.8"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Stopwatch\\": ""
+ },
+ "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 Stopwatch Component",
+ "homepage": "https://symfony.com",
+ "time": "2018-02-17T14:55:25+00:00"
}
],
"aliases": [],
@@ -3474,8 +5068,9 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
- "php": ">=7.0",
- "ext-mbstring": "*"
+ "php": ">=7.1",
+ "ext-mbstring": "*",
+ "ext-zip": "*"
},
"platform-dev": []
}
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..34bcc0e
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,43 @@
+version: '3'
+
+services:
+ app:
+ build:
+ context: .
+ dockerfile: ./Dockerfile
+ environment:
+ # Change "dev" to "prod" in production
+ - APP_ENV=dev
+ - APP_DEBUG=true
+ - GH_TOKEN=putAValidGithubToken
+ - GH_SECURED_TOKEN=putAValidSecuredToken
+ volumes:
+ # Comment out the next line in production
+ - ./:/srv/prestonbot:rw
+ # This is for assets:install
+ - ./web:/srv/prestonbot/web:rw
+ # If you develop on Linux, comment out the following volumes to just use bind-mounted project directory from host
+ - /srv/prestonbot/var
+ - /srv/prestonbot/var/cache
+ - /srv/prestonbot/var/logs
+ - /srv/prestonbot/var/sessions
+ - /srv/prestonbot/vendor
+ networks:
+ - prestonbot
+ nginx:
+ image: nginx:1.11-alpine
+ depends_on:
+ - app
+ ports:
+ - '81:80'
+ volumes:
+ - ./docker/nginx/conf.d:/etc/nginx/conf.d:ro
+ - ./web:/srv/prestonbot/web:ro
+ networks:
+ - prestonbot
+
+volumes:
+ app-web: {}
+
+networks:
+ prestonbot: ~
diff --git a/docker/app/docker-entrypoint.sh b/docker/app/docker-entrypoint.sh
new file mode 100644
index 0000000..2882a73
--- /dev/null
+++ b/docker/app/docker-entrypoint.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+set -e
+
+# first arg is `-f` or `--some-option`
+if [ "${1#-}" != "$1" ]; then
+ set -- php-fpm "$@"
+fi
+
+if [ "$1" = 'php-fpm' ] || [ "$1" = 'bin/console' ]; then
+ # Detect the host IP
+ export DOCKER_BRIDGE_IP
+ DOCKER_BRIDGE_IP=$(ip ro | grep default | cut -d' ' -f 3)
+
+ if [ "$SYMFONY_ENV" = 'prod' ]; then
+ composer install --prefer-dist --no-dev --no-progress --no-suggest --optimize-autoloader --classmap-authoritative --no-interaction
+ else
+ composer install --prefer-dist --no-progress --no-suggest --no-interaction
+ fi
+
+ # Permissions hack because setfacl does not work on Mac and Windows
+ chown -R www-data var
+fi
+
+exec docker-php-entrypoint "$@"
diff --git a/docker/app/install-composer.sh b/docker/app/install-composer.sh
new file mode 100644
index 0000000..f4ad41b
--- /dev/null
+++ b/docker/app/install-composer.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+# Copyright (c) Nils Adermann, Jordi Boggiano
+# Origin: https://github.com/composer/composer/blob/master/doc/faqs/how-to-install-composer-programmatically.md
+# Licence: MIT
+
+EXPECTED_SIGNATURE=$(wget -q -O - https://composer.github.io/installer.sig)
+php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
+ACTUAL_SIGNATURE=$(php -r "echo hash_file('SHA384', 'composer-setup.php');")
+
+if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]
+then
+ >&2 echo 'ERROR: Invalid installer signature'
+ rm composer-setup.php
+ exit 1
+fi
+
+php composer-setup.php --quiet
+RESULT=$?
+rm composer-setup.php
+exit $RESULT
diff --git a/docker/app/php.ini b/docker/app/php.ini
new file mode 100644
index 0000000..2f8c7eb
--- /dev/null
+++ b/docker/app/php.ini
@@ -0,0 +1,9 @@
+apc.enable_cli = 1
+date.timezone = UTC
+session.auto_start = Off
+short_open_tag = Off
+
+# http://symfony.com/doc/current/performance.html
+opcache.max_accelerated_files = 20000
+realpath_cache_size = 4096K
+realpath_cache_ttl = 600
diff --git a/docker/nginx/conf.d/default.conf b/docker/nginx/conf.d/default.conf
new file mode 100644
index 0000000..2b50443
--- /dev/null
+++ b/docker/nginx/conf.d/default.conf
@@ -0,0 +1,34 @@
+server {
+ root /srv/prestonbot/web;
+ resolver 127.0.0.11;
+
+ location / {
+ # try to serve file directly, fallback to index.php
+ try_files $uri /index.php$is_args$args;
+ }
+ location ~ ^/index\.php(/|$) {
+ set $upstream_host app;
+ fastcgi_pass $upstream_host:9000;
+ fastcgi_split_path_info ^(.+\.php)(/.*)$;
+ include fastcgi_params;
+ # When you are using symlinks to link the document root to the
+ # current version of your application, you should pass the real
+ # application path instead of the path to the symlink to PHP
+ # FPM.
+ # Otherwise, PHP's OPcache may not properly detect changes to
+ # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
+ # for more information).
+ fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
+ fastcgi_param DOCUMENT_ROOT $realpath_root;
+ # Prevents URIs that include the front controller. This will 404:
+ # http://domain.tld/app.php/some-path
+ # Remove the internal directive to allow URIs like this
+ internal;
+ }
+
+ # return 404 for all other php files not matching the front controller
+ # this prevents access to other php files you don't want to be accessible.
+ location ~ \.php$ {
+ return 404;
+ }
+}
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 98cdee7..769cab6 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -20,7 +20,10 @@
-
+
+
+
+
diff --git a/src/AppBundle/Command/SendPullRequestReportCommand.php b/src/AppBundle/Command/SendPullRequestReportCommand.php
index 91484a5..487afca 100644
--- a/src/AppBundle/Command/SendPullRequestReportCommand.php
+++ b/src/AppBundle/Command/SendPullRequestReportCommand.php
@@ -2,7 +2,9 @@
namespace AppBundle\Command;
-use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
+use AppBundle\Mailer\Mailer;
+use AppBundle\PullRequests\Reporter;
+use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
@@ -12,17 +14,48 @@
* Generate report of repository activity to a group a defined users
* and send it by email.
*/
-class SendPullRequestReportCommand extends ContainerAwareCommand
+class SendPullRequestReportCommand extends Command
{
const DEFAULT_BRANCH = 'develop';
+ protected static $defaultName = 'pull_request:report:send_mail';
+
+ /**
+ * @var Reporter
+ */
+ private $reporter;
+
+ /**
+ * @var Mailer
+ */
+ private $mailer;
+
+ /**
+ * @var array
+ */
+ private $recipients;
+
+ /**
+ * @var string
+ */
+ private $adminMail;
+
+ public function __construct(Reporter $reporter, Mailer $mailer, array $recipients, string $adminMail)
+ {
+ parent::__construct();
+
+ $this->reporter = $reporter;
+ $this->mailer = $mailer;
+ $this->recipients = $recipients;
+ $this->adminMail = $adminMail;
+ }
+
/**
* {@inheritdoc}
*/
protected function configure()
{
$this
- ->setName('pull_request:report:send_mail')
->setDescription('Send pull requests by tag report mails.')
->addArgument(
'branch',
@@ -40,26 +73,22 @@ protected function execute(InputInterface $input, OutputInterface $output)
{
$io = new SymfonyStyle($input, $output);
$branch = $input->getArgument('branch') ? $input->getArgument('branch') : self::DEFAULT_BRANCH;
-
- $groups = $this->getContainer()->getParameter('recipients');
- $reporter = $this->getContainer()->get('app.pull_requests.reporter');
- $mailer = $this->getContainer()->get('app.mailer');
$nbMails = 0;
$io->title('Pull requests Reporter');
$io->comment('List of recipients');
$headers = ['Group', 'Emails'];
- $io->table($headers, $this->getRows($groups));
+ $io->table($headers, $this->getRows($this->recipients));
try {
- foreach ($groups as $groupName => $groupMembers) {
+ foreach ($this->recipients as $groupName => $groupMembers) {
foreach ($groupMembers as $groupMember) {
- $nbMails += $mailer->send(
+ $nbMails += $this->mailer->send(
'Daily report '.date('d/m/Y'),
- $this->getContainer()->getParameter('admin_mail'),
+ $this->adminMail,
$groupMember,
'mail/pr_sumup_for_mail.html.twig',
- $reporter->reportActivity($branch)
+ $this->reporter->reportActivity($branch)
);
}
}
diff --git a/src/AppBundle/Comments/CommentApi.php b/src/AppBundle/Comments/CommentApi.php
index 33ac126..51a4c59 100644
--- a/src/AppBundle/Comments/CommentApi.php
+++ b/src/AppBundle/Comments/CommentApi.php
@@ -19,7 +19,7 @@ class CommentApi implements CommentApiInterface
/**
* @var string
*/
- private $repositoryUsername;
+ private $repositoryOwner;
/**
* @var string
@@ -31,10 +31,10 @@ class CommentApi implements CommentApiInterface
*/
private $twig;
- public function __construct(KnpCommentApi $knpCommentApi, $repositoryUsername, $repositoryName, Twig_Environment $twig)
+ public function __construct(KnpCommentApi $knpCommentApi, $repositoryOwner, $repositoryName, Twig_Environment $twig)
{
$this->knpCommentApi = $knpCommentApi;
- $this->repositoryUsername = $repositoryUsername;
+ $this->repositoryOwner = $repositoryOwner;
$this->repositoryName = $repositoryName;
$this->twig = $twig;
}
@@ -46,7 +46,7 @@ public function send(PullRequest $pullRequest, $comment)
{
$this->knpCommentApi
->create(
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
$pullRequest->getNumber(), [
'body' => $comment,
@@ -63,7 +63,7 @@ public function sendWithTemplate(PullRequest $pullRequest, $templateName, $param
$comment = $this->twig->render($templateName, $params);
$this->knpCommentApi
->create(
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
$pullRequest->getNumber(), [
'body' => $comment,
@@ -79,7 +79,7 @@ public function remove($commentId)
{
$this->knpCommentApi
->remove(
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
$commentId
);
diff --git a/src/AppBundle/Commits/Repository.php b/src/AppBundle/Commits/Repository.php
index d1968f8..6cc02ab 100644
--- a/src/AppBundle/Commits/Repository.php
+++ b/src/AppBundle/Commits/Repository.php
@@ -24,7 +24,7 @@ class Repository implements RepositoryInterface
/**
* @var string
*/
- private $repositoryUsername;
+ private $repositoryOwner;
/**
* @var string
@@ -34,12 +34,12 @@ class Repository implements RepositoryInterface
public function __construct(
CommitsApi $commitsApi,
PullRequestApi $pullRequestApi,
- $repositoryUsername,
+ $repositoryOwner,
$repositoryName
) {
$this->commitsApi = $commitsApi;
$this->pullRequestApi = $pullRequestApi;
- $this->repositoryUsername = $repositoryUsername;
+ $this->repositoryOwner = $repositoryOwner;
$this->repositoryName = $repositoryName;
}
@@ -50,7 +50,7 @@ public function findAllByPullRequest(PullRequest $pullRequest)
{
try {
$responseApi = $this->pullRequestApi->commits(
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
$pullRequest->getNumber()
);
@@ -70,7 +70,7 @@ public function findAllByUser(User $user)
$responseApi = $this->commitsApi
->getCommits()
->all(
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
['author' => $user->getLogin()]
);
diff --git a/src/AppBundle/Controller/HomeController.php b/src/AppBundle/Controller/HomeController.php
index 1f323de..9188fa9 100644
--- a/src/AppBundle/Controller/HomeController.php
+++ b/src/AppBundle/Controller/HomeController.php
@@ -2,18 +2,17 @@
namespace AppBundle\Controller;
+use AppBundle\Issues\StatusApi;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
-use Symfony\Bundle\FrameworkBundle\Controller\Controller;
+use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
-class HomeController extends Controller
+class HomeController extends AbstractController
{
/**
* @Route("/", name="home_page")
*/
- public function homepageAction()
+ public function homepageAction(StatusApi $statusApi)
{
- $statusApi = $this->get('app.status_api');
-
return $this->render('default/homepage.html.twig', [
'needsReviewUrl' => $statusApi->getNeedsReviewUrl(),
'waitingForQAUrl' => $statusApi->getWaitingForQAUrl(),
diff --git a/src/AppBundle/Controller/WebhookController.php b/src/AppBundle/Controller/WebhookController.php
index b8df20a..7c40377 100644
--- a/src/AppBundle/Controller/WebhookController.php
+++ b/src/AppBundle/Controller/WebhookController.php
@@ -3,29 +3,33 @@
namespace AppBundle\Controller;
use AppBundle\Event\GitHubEvent;
+use Psr\Log\LoggerInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
-use Symfony\Bundle\FrameworkBundle\Controller\Controller;
+use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
+use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\HttpFoundation\JsonResponse;
-class WebhookController extends Controller
+class WebhookController extends AbstractController
{
/**
* @Route("/webhooks/github", name="webhooks_github")
* @Method("POST")
*/
- public function githubAction(GithubEvent $event = null)
+ public function githubAction(?GitHubEvent $event, LoggerInterface $logger, EventDispatcherInterface $eventDispatcher): JsonResponse
{
if (null === $event) {
return new JsonResponse('[err] event not found.');
}
+
$eventName = strtolower($event->getName()).'_'.$event->getEvent()->getAction();
- $this->get('logger')->info(sprintf('[Event] %s (%s) received',
+ $logger->info(sprintf('[Event] %s (%s) received',
$event->getName(),
$event->getEvent()->getAction()
));
- $this->get('event_dispatcher')->dispatch($eventName, $event);
+
+ $eventDispatcher->dispatch($eventName, $event);
return new JsonResponse($event->getStatuses());
}
diff --git a/src/AppBundle/Event/GitHubEvent.php b/src/AppBundle/Event/GitHubEvent.php
index 0352c69..ff2e161 100644
--- a/src/AppBundle/Event/GitHubEvent.php
+++ b/src/AppBundle/Event/GitHubEvent.php
@@ -2,6 +2,7 @@
namespace AppBundle\Event;
+use Lpdigital\Github\Entity\PullRequest;
use Lpdigital\Github\EventType\ActionableEventInterface;
use Symfony\Component\EventDispatcher\Event;
@@ -30,33 +31,26 @@ public function __construct(string $name, ActionableEventInterface $event)
$this->statuses = [];
}
- /**
- * @return string
- */
- public function getName()
+ public function getName(): string
{
return $this->name;
}
- /**
- * @return ActionableEventInterface
- */
- public function getEvent()
+ public function getEvent(): ActionableEventInterface
{
return $this->event;
}
- /**
- * @return array
- */
- public function getStatuses()
+ public function getPullRequest(): ?PullRequest
+ {
+ return property_exists($this->event, 'pullRequest') ? $this->event->pullRequest : null;
+ }
+
+ public function getStatuses(): array
{
return $this->statuses;
}
- /**
- * @param array $status
- */
public function addStatus(array $status)
{
$this->statuses[] = $status;
diff --git a/src/AppBundle/Event/GitHubEventResolver.php b/src/AppBundle/Event/GitHubEventResolver.php
index f1a7ff2..8c93ba9 100644
--- a/src/AppBundle/Event/GitHubEventResolver.php
+++ b/src/AppBundle/Event/GitHubEventResolver.php
@@ -33,17 +33,11 @@ class GitHubEventResolver implements ArgumentValueResolverInterface
*/
private $repositoryName;
- /**
- * @param WebhookResolver $resolver
- * @param $repositoryOnwer
- * @param $repositoryName
- * @param mixed $repositoryOwner
- */
public function __construct(
WebhookResolver $resolver,
LoggerInterface $logger,
- $repositoryOwner,
- $repositoryName
+ string $repositoryOwner,
+ string $repositoryName
) {
$this->resolver = $resolver;
$this->logger = $logger;
@@ -51,11 +45,19 @@ public function __construct(
$this->repositoryName = $repositoryName;
}
- public function supports(Request $request, ArgumentMetadata $argument)
+ public function supports(Request $request, ArgumentMetadata $argument): bool
{
return GitHubEvent::class === $argument->getType();
}
+ /**
+ * @param Request $request
+ * @param ArgumentMetadata $argument
+ *
+ * @return \Generator
+ *
+ * @throws \Lpdigital\Github\Exception\EventNotFoundException
+ */
public function resolve(Request $request, ArgumentMetadata $argument)
{
$payload = json_decode($request->getContent(), true);
@@ -91,10 +93,9 @@ public function resolve(Request $request, ArgumentMetadata $argument)
*
* @return bool
*/
- private function isValid(ActionableEventInterface $event)
+ private function isValid(ActionableEventInterface $event): bool
{
- $repository = $event->getRepository();
- list($repositoryUsername, $repositoryName) = explode('/', $repository->getFullName());
+ [$repositoryUsername, $repositoryName] = explode('/', $event->getRepository()->getFullName());
return $repositoryUsername === $this->repositoryOwner && $repositoryName === $this->repositoryName;
}
diff --git a/src/AppBundle/EventSubscriber/IssueCommentSubscriber.php b/src/AppBundle/EventSubscriber/IssueCommentSubscriber.php
deleted file mode 100644
index 75ed532..0000000
--- a/src/AppBundle/EventSubscriber/IssueCommentSubscriber.php
+++ /dev/null
@@ -1,57 +0,0 @@
-container = $container;
- }
-
- /**
- * @return array
- */
- public static function getSubscribedEvents()
- {
- return [
- 'issuecommentevent_created' => [
- ['addLabels', 255],
- ],
- ];
- }
-
- /**
- * @param GitHubEvent $githubEvent
- */
- public function addLabels(GitHubEvent $githubEvent)
- {
- if (true === $this->container->getParameter('enable_labels')) {
- $event = $githubEvent->getEvent();
-
- $this->container
- ->get('app.issue_listener')
- ->handleCommentAddedEvent(
- $event->issue->getNumber(),
- $event->comment->getBody()
- );
-
- $githubEvent->addStatus([
- 'event' => 'issue_comment_created',
- 'action' => 'add labels if required',
- ]);
- }
- }
-}
diff --git a/src/AppBundle/EventSubscriber/PullRequestSubscriber.php b/src/AppBundle/EventSubscriber/PullRequestSubscriber.php
index 6546ea6..a4362c5 100644
--- a/src/AppBundle/EventSubscriber/PullRequestSubscriber.php
+++ b/src/AppBundle/EventSubscriber/PullRequestSubscriber.php
@@ -4,7 +4,8 @@
use AppBundle\Diff\Diff;
use AppBundle\Event\GitHubEvent;
-use Symfony\Component\DependencyInjection\ContainerInterface;
+use AppBundle\Issues\Listener as IssuesListener;
+use AppBundle\PullRequests\Listener as PullRequestsListener;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class PullRequestSubscriber implements EventSubscriberInterface
@@ -13,25 +14,33 @@ class PullRequestSubscriber implements EventSubscriberInterface
const CLASSIC_PATH = '#^themes\/classic\/#';
/**
- * @param ContainerInterface $container
+ * @var IssuesListener
*/
- public function setContainer(ContainerInterface $container)
+ private $issuesListener;
+
+ /**
+ * @var PullRequestsListener
+ */
+ private $pullRequestsListener;
+
+ public function __construct(IssuesListener $issuesListener, PullRequestsListener $pullRequestsListener)
{
- $this->container = $container;
+ $this->issuesListener = $issuesListener;
+ $this->pullRequestsListener = $pullRequestsListener;
}
/**
* @return array
*/
- public static function getSubscribedEvents()
+ public static function getSubscribedEvents(): array
{
return [
'pullrequestevent_opened' => [
['checkForTableDescription', 254],
['welcomePeople', 255],
['checkForNewTranslations', 252],
- ['initLabels', 254],
['initBranchLabel', 254],
+ ['initPullRequestTypeLabel', 254],
['checkForClassicChanges', 252],
['checkIfPrFixCriticalIssue', 253],
],
@@ -40,47 +49,38 @@ public static function getSubscribedEvents()
['checkForNewTranslations', 252],
['checkForClassicChanges', 252],
['initBranchLabel', 254],
+ ['initPullRequestTypeLabel', 254],
],
];
}
/**
- * @param GitHubEvent $githubEvent
+ * @param gitHubEvent $githubEvent
*
- * For now, only add "Needs Review" label
+ * Add the branch label according to the branch selected in PR template
*/
- public function initLabels(GitHubEvent $githubEvent)
+ public function initBranchLabel(GitHubEvent $githubEvent)
{
- $pullRequest = $githubEvent->getEvent()->pullRequest;
-
- if (true === $this->container->getParameter('labels_pr_creation')) {
- $this->container
- ->get('app.issue_listener')
- ->handlePullRequestCreatedEvent($pullRequest->getNumber());
+ $this->issuesListener->addBranchLabel($githubEvent->getPullRequest());
- $githubEvent->addStatus([
- 'event' => 'pr_opened',
- 'action' => 'labels initialized',
- ]);
- }
+ $githubEvent->addStatus([
+ 'event' => 'pr_opened',
+ 'action' => 'branch label initialized',
+ ]);
}
/**
* @param gitHubEvent $githubEvent
*
- * Add the branch label according to the branch selected in PR template
+ * Add the pull request type according to the type selected in PR template
*/
- public function initBranchLabel(GitHubEvent $githubEvent)
+ public function initPullRequestTypeLabel(GitHubEvent $githubEvent)
{
- $pullRequest = $githubEvent->getEvent()->pullRequest;
-
- $this->container
- ->get('app.issue_listener')
- ->addBranchLabel($pullRequest);
+ $this->issuesListener->addPullRequestTypeLabel($githubEvent->getPullRequest());
$githubEvent->addStatus([
'event' => 'pr_opened',
- 'action' => 'branch label initialized',
+ 'action' => 'pr type label initialized',
]);
}
@@ -91,11 +91,7 @@ public function initBranchLabel(GitHubEvent $githubEvent)
*/
public function checkForTableDescription(GitHubEvent $githubEvent)
{
- $pullRequest = $githubEvent->getEvent()->pullRequest;
-
- $this->container
- ->get('app.pullrequest_listener')
- ->checkForTableDescription($pullRequest);
+ $this->pullRequestsListener->checkForTableDescription($githubEvent->getPullRequest());
$githubEvent->addStatus([
'event' => 'pr_opened',
@@ -116,9 +112,7 @@ public function checkForNewTranslations(GitHubEvent $githubEvent)
$diff = Diff::create(file_get_contents($pullRequest->getDiffUrl()));
if ($found = $diff->additions()->contains(self::TRANS_PATTERN)->match()) {
- $this->container
- ->get('app.issue_listener')
- ->handleWaitingForWordingEvent($pullRequest->getNumber());
+ $this->issuesListener->handleWaitingForWordingEvent($pullRequest->getNumber());
}
$eventStatus = 'opened' === $event->getAction() ? 'opened' : 'edited';
@@ -132,9 +126,7 @@ public function checkForNewTranslations(GitHubEvent $githubEvent)
public function checkIfPrFixCriticalIssue(GitHubEvent $githubEvent)
{
- $labelWasAdded = $this->container
- ->get('app.issue_listener')
- ->addLabelCriticalLabelIfNeeded($githubEvent->getEvent()->pullRequest);
+ $labelWasAdded = $this->issuesListener->addLabelCriticalLabelIfNeeded($githubEvent->getPullRequest());
if ($labelWasAdded) {
$githubEvent->addStatus([
@@ -157,9 +149,7 @@ public function checkForClassicChanges(GitHubEvent $githubEvent)
$diff = Diff::create(file_get_contents($pullRequest->getDiffUrl()));
if ($found = $diff->path(self::CLASSIC_PATH)->match()) {
- $this->container
- ->get('app.issue_listener')
- ->handleClassicChangesEvent($pullRequest->getNumber());
+ $this->issuesListener->handleClassicChangesEvent($pullRequest->getNumber());
}
$eventStatus = 'opened' === $event->getAction() ? 'opened' : 'edited';
@@ -179,12 +169,9 @@ public function checkForClassicChanges(GitHubEvent $githubEvent)
*/
public function welcomePeople(GitHubEvent $githubEvent)
{
- $pullRequest = $githubEvent->getEvent()->pullRequest;
$sender = $githubEvent->getEvent()->sender;
- $this->container
- ->get('app.pullrequest_listener')
- ->welcomePeople($pullRequest, $sender);
+ $this->pullRequestsListener->welcomePeople($githubEvent->getPullRequest(), $sender);
$githubEvent->addStatus([
'event' => 'pr_opened',
@@ -199,15 +186,13 @@ public function welcomePeople(GitHubEvent $githubEvent)
*/
public function removePullRequestValidationComment(GithubEvent $githubEvent)
{
- $pullRequest = $githubEvent->getEvent()->pullRequest;
+ $pullRequest = $githubEvent->getPullRequest();
if ($pullRequest->isClosed() || $pullRequest->isMerged()) {
return;
}
- $success = $this->container
- ->get('app.pullrequest_listener')
- ->removePullRequestValidationComment($pullRequest);
+ $success = $this->pullRequestsListener->removePullRequestValidationComment($pullRequest);
if ($success) {
$githubEvent->addStatus([
diff --git a/src/AppBundle/Issues/CachedLabelsApi.php b/src/AppBundle/Issues/CachedLabelsApi.php
index 1efc61c..8d5c948 100644
--- a/src/AppBundle/Issues/CachedLabelsApi.php
+++ b/src/AppBundle/Issues/CachedLabelsApi.php
@@ -22,17 +22,17 @@ class CachedLabelsApi
/**
* @var string
*/
- private $repositoryUsername;
+ private $repositoryOwner;
/**
* @var string
*/
private $repositoryName;
- public function __construct(Labels $labelsApi, $repositoryUsername, $repositoryName)
+ public function __construct(Labels $labelsApi, $repositoryOwner, $repositoryName)
{
$this->labelsApi = $labelsApi;
- $this->repositoryUsername = $repositoryUsername;
+ $this->repositoryOwner = $repositoryOwner;
$this->repositoryName = $repositoryName;
}
@@ -47,7 +47,7 @@ public function getIssueLabels($issueNumber)
$this->labelCache[$issueNumber] = [];
$labelsData = $this->labelsApi->all(
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
$issueNumber
);
@@ -72,7 +72,7 @@ public function addIssueLabel($issueNumber, $label)
}
$this->labelsApi->add(
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
$issueNumber,
$label
@@ -95,7 +95,7 @@ public function removeIssueLabel($issueNumber, $label)
}
$this->labelsApi->remove(
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
$issueNumber,
$label
diff --git a/src/AppBundle/Issues/Listener.php b/src/AppBundle/Issues/Listener.php
index cf0ec02..5fd6441 100644
--- a/src/AppBundle/Issues/Listener.php
+++ b/src/AppBundle/Issues/Listener.php
@@ -8,13 +8,6 @@
class Listener
{
- private static $triggerWordToStatus = [
- 'needs review' => Status::NEEDS_REVIEW,
- 'code reviewed' => Status::CODE_REVIEWED,
- 'qa approved' => Status::QA_APPROVED,
- 'pm approved' => Status::PM_APPROVED,
- ];
-
/**
* @var StatusApi
*/
@@ -31,54 +24,6 @@ public function __construct(StatusApi $statusApi, LoggerInterface $logger)
$this->logger = $logger;
}
- /**
- * Parses the text of the comment and looks for keywords to see
- * if this should cause any status change.
- *
- * Returns the status that this comment is causing or null of there
- * should be no status change.
- *
- * @param int $issueNumber The issue number
- * @param string $comment The text of the comment
- *
- * @return null|string The status that the issue was moved to or null
- */
- public function handleCommentAddedEvent($issueNumber, $comment)
- {
- $triggerWord = implode('|', array_keys(self::$triggerWordToStatus));
- $formatting = '[\\s\\*]*';
-
- // Match first character after "status:"
- // Case insensitive ("i"), ignores formatting with "*" before or after the ":"
- $pattern = "~(?=\n|^)${formatting}status${formatting}:${formatting}[\"']?($triggerWord)[\"']?${formatting}[.!]?${formatting}(?<=\r\n|\n|$)~i";
-
- if (preg_match_all($pattern, $comment, $matches)) {
- // Second subpattern = first status character
- $newStatus = self::$triggerWordToStatus[strtolower(end($matches[1]))];
- $this->statusApi->addIssueLabel($issueNumber, $newStatus);
- $this->log($issueNumber, $newStatus);
-
- return $newStatus;
- }
- }
-
- /**
- * Adds a "Needs Review" label to new PRs.
- *
- * @param int $prNumber The number of the PR
- *
- * @return string The new status
- */
- public function handlePullRequestCreatedEvent($prNumber)
- {
- $newStatus = Status::NEEDS_REVIEW;
-
- $this->statusApi->addIssueLabel($prNumber, $newStatus);
- $this->log($prNumber, $newStatus);
-
- return $newStatus;
- }
-
/**
* Add "waiting for wording" label to an issue.
*
@@ -86,7 +31,7 @@ public function handlePullRequestCreatedEvent($prNumber)
*
* @return string The new status
*/
- public function handleWaitingForWordingEvent($issueNumber)
+ public function handleWaitingForWordingEvent($issueNumber): string
{
$newStatus = Status::WAITING_FOR_WORDING;
@@ -101,7 +46,7 @@ public function handleWaitingForWordingEvent($issueNumber)
*
* @return bool
*/
- public function addLabelCriticalLabelIfNeeded(PullRequest $pullRequest)
+ public function addLabelCriticalLabelIfNeeded(PullRequest $pullRequest): bool
{
$bodyParser = new BodyParser($pullRequest->getBody());
@@ -121,17 +66,38 @@ public function addLabelCriticalLabelIfNeeded(PullRequest $pullRequest)
* Add a label for a branch described in Pull Request template.
*
* @param PullRequest $pullRequest
+ *
+ * @return bool
*/
- public function addBranchLabel(PullRequest $pullRequest)
+ public function addBranchLabel(PullRequest $pullRequest): bool
{
$bodyParser = new BodyParser($pullRequest->getBody());
$issueNumber = $pullRequest->getNumber();
$branch = trim($bodyParser->getBranch());
- if (in_array($branch, Status::$branches, true)) {
+ if (\in_array($branch, Status::$branches, true)) {
$this->statusApi->addIssueLabel($issueNumber, $branch);
$this->log($issueNumber, $branch);
+
+ return true;
}
+
+ return false;
+ }
+
+ /**
+ * Add a label for a type described in Pull Request template.
+ *
+ * @param PullRequest $pullRequest
+ */
+ public function addPullRequestTypeLabel(PullRequest $pullRequest)
+ {
+ $bodyParser = new BodyParser($pullRequest->getBody());
+ $issueNumber = $pullRequest->getNumber();
+ $pullRequestType = trim($bodyParser->getType());
+
+ $this->statusApi->addIssueLabel($issueNumber, $pullRequestType);
+ $this->log($issueNumber, $pullRequestType);
}
/**
@@ -141,7 +107,7 @@ public function addBranchLabel(PullRequest $pullRequest)
*
* @return string The new status
*/
- public function handleClassicChangesEvent($issueNumber)
+ public function handleClassicChangesEvent($issueNumber): string
{
$newStatus = Status::REPORT_ON_STARTER_THEME;
diff --git a/src/AppBundle/Issues/StatusApi.php b/src/AppBundle/Issues/StatusApi.php
index f65cba7..834de5b 100644
--- a/src/AppBundle/Issues/StatusApi.php
+++ b/src/AppBundle/Issues/StatusApi.php
@@ -14,17 +14,17 @@ class StatusApi
/**
* @var string
*/
- private $repositoryUsername;
+ private $repositoryOwner;
/**
* @var string
*/
private $repositoryName;
- public function __construct(CachedLabelsApi $labelsApi, $repositoryUsername, $repositoryName)
+ public function __construct(CachedLabelsApi $labelsApi, $repositoryOwner, $repositoryName)
{
$this->labelsApi = $labelsApi;
- $this->repositoryUsername = $repositoryUsername;
+ $this->repositoryOwner = $repositoryOwner;
$this->repositoryName = $repositoryName;
}
@@ -62,7 +62,7 @@ public function getNeedsReviewUrl()
{
return sprintf(
'https://github.com/%s/%s/labels/%s',
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
rawurlencode(Labels::WAITING_FOR_CODE_REVIEW)
);
@@ -75,7 +75,7 @@ public function getWaitingForQAUrl()
{
return sprintf(
'https://github.com/%s/%s/labels/%s',
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
rawurlencode(Labels::WAITING_FOR_QA_FEEDBACK)
);
@@ -88,7 +88,7 @@ public function getWaitingForPMUrl()
{
return sprintf(
'https://github.com/%s/%s/labels/%s',
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
rawurlencode(Labels::WAITING_FOR_PM_FEEDBACK)
);
diff --git a/src/AppBundle/Services/Mailer.php b/src/AppBundle/Mailer/Mailer.php
similarity index 84%
rename from src/AppBundle/Services/Mailer.php
rename to src/AppBundle/Mailer/Mailer.php
index 0cd4766..4a92f35 100644
--- a/src/AppBundle/Services/Mailer.php
+++ b/src/AppBundle/Mailer/Mailer.php
@@ -1,6 +1,6 @@
setSubject($subject)
+ $message = (new \Swift_Message($subject))
->setFrom($sender)
->setTo($recipient)
->setContentType('text/html')
diff --git a/src/AppBundle/PullRequests/Repository.php b/src/AppBundle/PullRequests/Repository.php
index d196edb..d30710a 100644
--- a/src/AppBundle/PullRequests/Repository.php
+++ b/src/AppBundle/PullRequests/Repository.php
@@ -27,7 +27,7 @@ class Repository implements RepositoryInterface
/**
* @var
*/
- private $repositoryUsername;
+ private $repositoryOwner;
/**
* @var
*/
@@ -36,12 +36,12 @@ class Repository implements RepositoryInterface
public function __construct(
SearchRepository $searchRepository,
KnpCommentsApi $knpCommentsApi,
- $repositoryUsername,
+ $repositoryOwner,
$repositoryName
) {
$this->searchRepository = $searchRepository;
$this->knpCommentsApi = $knpCommentsApi;
- $this->repositoryUsername = $repositoryUsername;
+ $this->repositoryOwner = $repositoryOwner;
$this->repositoryName = $repositoryName;
}
@@ -88,7 +88,7 @@ public function getComments(PullRequest $pullRequest)
try {
$commentsApi = $this->knpCommentsApi
->all(
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
$pullRequest->getNumber()
)
@@ -157,7 +157,7 @@ public function removeCommentsIfExists(PullRequest $pullRequest, $pattern, $user
if (count($comments) > 0) {
foreach ($comments as $comment) {
$this->knpCommentsApi->remove(
- $this->repositoryUsername,
+ $this->repositoryOwner,
$this->repositoryName,
$comment->getId()
);
diff --git a/src/AppBundle/Repositories/Repository.php b/src/AppBundle/Repositories/Repository.php
index f461db5..d70d794 100644
--- a/src/AppBundle/Repositories/Repository.php
+++ b/src/AppBundle/Repositories/Repository.php
@@ -14,17 +14,17 @@ class Repository
/**
* @var string
*/
- private $repositoryUsername;
+ private $repositoryOwner;
/**
* @var string
*/
private $repositoryName;
- public function __construct(Repo $repositoryApi, string $repositoryUsername, string $repositoryName)
+ public function __construct(Repo $repositoryApi, string $repositoryOwner, string $repositoryName)
{
$this->repositoryApi = $repositoryApi;
- $this->repositoryUsername = $repositoryUsername;
+ $this->repositoryOwner = $repositoryOwner;
$this->repositoryName = $repositoryName;
}
@@ -42,7 +42,7 @@ public function getName()
public function getActivity()
{
return $this->repositoryApi
- ->activity($this->repositoryUsername, $this->repositoryName)
+ ->activity($this->repositoryOwner, $this->repositoryName)
;
}
@@ -52,7 +52,7 @@ public function getActivity()
public function getStatistics()
{
return $this->repositoryApi
- ->statistics($this->repositoryUsername, $this->repositoryName)
+ ->statistics($this->repositoryOwner, $this->repositoryName)
;
}
@@ -62,7 +62,7 @@ public function getStatistics()
public function getTopContributors()
{
return $this->repositoryApi
- ->contributors($this->repositoryUsername, $this->repositoryName, true)
+ ->contributors($this->repositoryOwner, $this->repositoryName, true)
;
}
@@ -72,7 +72,7 @@ public function getTopContributors()
public function getStars()
{
return $this->repositoryApi
- ->stargazers($this->repositoryUsername, $this->repositoryName)
+ ->stargazers($this->repositoryOwner, $this->repositoryName)
;
}
@@ -99,7 +99,7 @@ public function getMembers()
{
return $this->repositoryApi
->collaborators()
- ->all($this->repositoryUsername, $this->repositoryName)
+ ->all($this->repositoryOwner, $this->repositoryName)
;
}
}
diff --git a/src/AppBundle/Search/Repository.php b/src/AppBundle/Search/Repository.php
index 9189c3e..6532c94 100644
--- a/src/AppBundle/Search/Repository.php
+++ b/src/AppBundle/Search/Repository.php
@@ -18,16 +18,16 @@ class Repository
/**
* @var string
*/
- private $repositoryUsername;
+ private $repositoryOwner;
/**
* @var string
*/
private $repositoryName;
- public function __construct(Search $searchApi, string $repositoryUsername, string $repositoryName)
+ public function __construct(Search $searchApi, string $repositoryOwner, string $repositoryName)
{
$this->searchApi = $searchApi;
- $this->repositoryUsername = $repositoryUsername;
+ $this->repositoryOwner = $repositoryOwner;
$this->repositoryName = $repositoryName;
}
@@ -36,12 +36,12 @@ public function __construct(Search $searchApi, string $repositoryUsername, strin
*
* @return array
*/
- public function getPullRequests($filters = [])
+ public function getPullRequests($filters = []): array
{
$basicFilters = [
'type' => 'pr',
'state' => 'open',
- 'repo' => $this->repositoryUsername.'/'.$this->repositoryName,
+ 'repo' => $this->repositoryOwner.'/'.$this->repositoryName,
];
$allFilters = array_merge($basicFilters, $filters);
diff --git a/tests/AppBundle/Command/SendPullRequestReportCommandTest.php b/tests/AppBundle/Command/SendPullRequestReportCommandTest.php
index d4b2b11..3d796e7 100644
--- a/tests/AppBundle/Command/SendPullRequestReportCommandTest.php
+++ b/tests/AppBundle/Command/SendPullRequestReportCommandTest.php
@@ -2,32 +2,29 @@
namespace tests\AppBundle\Command;
-use AppBundle\Command\SendPullRequestReportCommand;
use Symfony\Bundle\FrameworkBundle\Console\Application;
-use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
+use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use Symfony\Component\Console\Tester\CommandTester;
-class SendPullRequestReportCommandTest extends WebTestCase
+class SendPullRequestReportCommandTest extends KernelTestCase
{
- protected function setUp()
- {
- static::$kernel = static::createKernel();
- static::$kernel->boot();
- }
-
public function testExecute()
{
- $application = new Application(static::$kernel);
- $application->add(new SendPullRequestReportCommand());
+ $kernel = static::createKernel();
+ $kernel->boot();
+
+ $application = new Application($kernel);
$command = $application->find('pull_request:report:send_mail');
$commandTester = new CommandTester($command);
$commandTester->execute(['command' => $command->getName()]);
- $this->assertRegExp('/Pull requests Reporter/', $commandTester->getDisplay());
- $this->assertRegExp('/\/\/ List of recipients/', $commandTester->getDisplay());
- $this->assertRegExp('/waiting for code review/', $commandTester->getDisplay());
- $this->assertRegExp('/waiting for QA feedback/', $commandTester->getDisplay());
- $this->assertRegExp('/waiting for PM feedback/', $commandTester->getDisplay());
+ $output = $commandTester->getDisplay();
+
+ static::assertRegExp('/Pull requests Reporter/', $output);
+ static::assertRegExp('/\/\/ List of recipients/', $output);
+ static::assertRegExp('/waiting for code review/', $output);
+ static::assertRegExp('/waiting for QA feedback/', $output);
+ static::assertRegExp('/waiting for PM feedback/', $output);
}
}
diff --git a/tests/AppBundle/Controller/MinimalControllerTest.php b/tests/AppBundle/Controller/MinimalControllerTest.php
index a5493c0..846299f 100644
--- a/tests/AppBundle/Controller/MinimalControllerTest.php
+++ b/tests/AppBundle/Controller/MinimalControllerTest.php
@@ -5,15 +5,18 @@
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
/**
- * @tdodo: use data provider
+ * Functional tests for pages of PrestonBot website.
*/
class MinimalControllerTest extends WebTestCase
{
+ /**
+ * @var Symfony\Bundle\FrameworkBundle\Client
+ */
private $client;
protected function setUp()
{
- $this->client = $this->createClient();
+ $this->client = static::createClient();
}
public function testHomepageOk()
@@ -21,6 +24,6 @@ public function testHomepageOk()
$this->client->request('HEAD', '/');
$response = $this->client->getResponse();
- $this->assertSame(200, $response->getStatusCode());
+ static::assertSame(200, $response->getStatusCode());
}
}
diff --git a/tests/AppBundle/Controller/WebhookControllerTest.php b/tests/AppBundle/Controller/WebhookControllerTest.php
index b8baef5..33cd065 100644
--- a/tests/AppBundle/Controller/WebhookControllerTest.php
+++ b/tests/AppBundle/Controller/WebhookControllerTest.php
@@ -50,16 +50,6 @@ public function testActions($eventHeader, $payloadFilename, $expectedResponse, $
public function getTests()
{
$tests = [];
- $tests['Issue comments'] = [
- 'issue_comment',
- 'issue_comment.created.json',
- [
- [
- 'event' => 'issue_comment_created',
- 'action' => 'add labels if required',
- ],
- ],
- ];
$tests['Pull request creation'] = [
'pull_request',
'pull_request.opened.json',
@@ -74,11 +64,11 @@ public function getTests()
],
[
'event' => 'pr_opened',
- 'action' => 'labels initialized',
+ 'action' => 'branch label initialized',
],
[
'event' => 'pr_opened',
- 'action' => 'branch label initialized',
+ 'action' => 'pr type label initialized',
],
[
'event' => 'pr_opened',
@@ -106,11 +96,11 @@ public function getTests()
],
[
'event' => 'pr_opened',
- 'action' => 'labels initialized',
+ 'action' => 'branch label initialized',
],
[
'event' => 'pr_opened',
- 'action' => 'branch label initialized',
+ 'action' => 'pr type label initialized',
],
[
'event' => 'pr_opened',
@@ -138,11 +128,11 @@ public function getTests()
],
[
'event' => 'pr_opened',
- 'action' => 'labels initialized',
+ 'action' => 'branch label initialized',
],
[
'event' => 'pr_opened',
- 'action' => 'branch label initialized',
+ 'action' => 'pr type label initialized',
],
[
'event' => 'pr_opened',
diff --git a/tests/AppBundle/Issues/IssueListenerTest.php b/tests/AppBundle/Issues/IssueListenerTest.php
index 0cccfe0..5106736 100644
--- a/tests/AppBundle/Issues/IssueListenerTest.php
+++ b/tests/AppBundle/Issues/IssueListenerTest.php
@@ -28,133 +28,14 @@ protected function setUp()
$this->listener = new Listener($this->statusApi, new NullLogger());
}
- /**
- * @dataProvider getCommentsForStatusChange
- *
- * @param mixed $comment
- * @param mixed $expectedStatus
- */
- public function testHandleCommentAddedEvent($comment, $expectedStatus)
- {
- if (null !== $expectedStatus) {
- $this->statusApi->expects($this->once())
- ->method('addIssueLabel')
- ->with(1234, $expectedStatus);
- }
-
- $newStatus = $this->listener->handleCommentAddedEvent(1234, $comment);
-
- $this->assertSame($expectedStatus, $newStatus);
- }
-
- public function getCommentsForStatusChange()
- {
- $tests = [];
- $tests[] = [
- 'Have a great day!',
- null,
- ];
- $tests[] = [
- "Status: 'PM approved'",
- Status::PM_APPROVED,
- ];
- $tests[] = [
- "Status: 'QA approved'",
- Status::QA_APPROVED,
- ];
- // basic tests for status change
- $tests[] = [
- 'Status: needs review',
- Status::NEEDS_REVIEW,
- ];
- $tests[] = [
- 'Status: Code reviewed',
- Status::CODE_REVIEWED,
- ];
-
- // accept quotes
- $tests[] = [
- 'Status: "Code reviewed"',
- Status::CODE_REVIEWED,
- ];
- $tests[] = [
- "Status: 'Code reviewed'",
- Status::CODE_REVIEWED,
- ];
- // play with different formatting
- $tests[] = [
- 'STATUS: CODE REVIEWED',
- Status::CODE_REVIEWED,
- ];
- $tests[] = [
- '**Status**: code reviewed',
- Status::CODE_REVIEWED,
- ];
- $tests[] = [
- '**Status:** code reviewed',
- Status::CODE_REVIEWED,
- ];
- $tests[] = [
- '**Status: code reviewed**',
- Status::CODE_REVIEWED,
- ];
- $tests[] = [
- '**Status: code reviewed!**',
- Status::CODE_REVIEWED,
- ];
- $tests[] = [
- '**Status: code reviewed**.',
- Status::CODE_REVIEWED,
- ];
- $tests[] = [
- 'Status:code reviewed',
- Status::CODE_REVIEWED,
- ];
- $tests[] = [
- 'Status: code reviewed',
- Status::CODE_REVIEWED,
- ];
-
- // reject missing colon
- $tests[] = [
- 'Status code reviewed',
- null,
- ];
-
- // multiple matches - use the last one
- $tests[] = [
- "Status: needs review \r\n that is what the issue *was* marked as.\r\n Status: Code reviewed",
- Status::CODE_REVIEWED,
- ];
- // "needs review" does not come directly after status: , so there is no status change
- $tests[] = [
- 'Here is my status: I\'m really happy! I realize this needs review, but I\'m, having too much fun Googling cats!',
- null,
- ];
-
- // reject if the status is not on a line of its own
- // use case: someone posts instructions about how to change a status
- // in a comment
- $tests[] = [
- 'You should include e.g. the line `Status: needs review` in your comment',
- null,
- ];
- $tests[] = [
- 'Before the ticket was in state "Status: Code reviewed", but then the status was changed',
- null,
- ];
-
- return $tests;
- }
-
- public function testHandlePullRequestCreatedEvent()
+ public function testHandleWaitingForWordingEvent()
{
- $this->statusApi->expects($this->once())
+ $this->statusApi->expects(static::once())
->method('addIssueLabel')
- ->with(1234, Status::NEEDS_REVIEW);
+ ->with(1234, Status::WAITING_FOR_WORDING);
- $newStatus = $this->listener->handlePullRequestCreatedEvent(1234);
+ $newStatus = $this->listener->handleWaitingForWordingEvent(1234);
- $this->assertSame(Status::NEEDS_REVIEW, $newStatus);
+ static::assertSame(Status::WAITING_FOR_WORDING, $newStatus);
}
}
diff --git a/var/SymfonyRequirements.php b/var/SymfonyRequirements.php
index 6e9f8c6..3b14a40 100644
--- a/var/SymfonyRequirements.php
+++ b/var/SymfonyRequirements.php
@@ -118,7 +118,7 @@ class PhpIniRequirement extends Requirement
* Constructor that initializes the requirement.
*
* @param string $cfgName The configuration name used for ini_get()
- * @param bool|callable $evaluation Either a boolean indicating whether the configuration should evaluate to true or false,
+ * @param bool|callback $evaluation Either a boolean indicating whether the configuration should evaluate to true or false,
* or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement
* @param bool $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false.
* This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin.
@@ -154,7 +154,7 @@ public function __construct($cfgName, $evaluation, $approveCfgAbsence = false, $
);
}
- $fulfilled = $evaluation === $cfgValue;
+ $fulfilled = $evaluation == $cfgValue;
}
parent::__construct($fulfilled || ($approveCfgAbsence && false === $cfgValue), $testMessage, $helpHtml, $helpText, $optional);
@@ -171,7 +171,7 @@ class RequirementCollection implements IteratorAggregate
/**
* @var Requirement[]
*/
- private $requirements = [];
+ private $requirements = array();
/**
* Gets the current RequirementCollection as an Iterator.
@@ -223,7 +223,7 @@ public function addRecommendation($fulfilled, $testMessage, $helpHtml, $helpText
* Adds a mandatory requirement in form of a php.ini configuration.
*
* @param string $cfgName The configuration name used for ini_get()
- * @param bool|callable $evaluation Either a boolean indicating whether the configuration should evaluate to true or false,
+ * @param bool|callback $evaluation Either a boolean indicating whether the configuration should evaluate to true or false,
* or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement
* @param bool $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false.
* This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin.
@@ -241,7 +241,7 @@ public function addPhpIniRequirement($cfgName, $evaluation, $approveCfgAbsence =
* Adds an optional recommendation in form of a php.ini configuration.
*
* @param string $cfgName The configuration name used for ini_get()
- * @param bool|callable $evaluation Either a boolean indicating whether the configuration should evaluate to true or false,
+ * @param bool|callback $evaluation Either a boolean indicating whether the configuration should evaluate to true or false,
* or a callback function receiving the configuration value as parameter to determine the fulfillment of the requirement
* @param bool $approveCfgAbsence If true the Requirement will be fulfilled even if the configuration option does not exist, i.e. ini_get() returns false.
* This is helpful for abandoned configs in later PHP versions or configs of an optional extension, like Suhosin.
@@ -260,7 +260,7 @@ public function addPhpIniRecommendation($cfgName, $evaluation, $approveCfgAbsenc
*
* @param RequirementCollection $collection A RequirementCollection instance
*/
- public function addCollection(self $collection)
+ public function addCollection(RequirementCollection $collection)
{
$this->requirements = array_merge($this->requirements, $collection->all());
}
@@ -282,7 +282,7 @@ public function all()
*/
public function getRequirements()
{
- $array = [];
+ $array = array();
foreach ($this->requirements as $req) {
if (!$req->isOptional()) {
$array[] = $req;
@@ -299,7 +299,7 @@ public function getRequirements()
*/
public function getFailedRequirements()
{
- $array = [];
+ $array = array();
foreach ($this->requirements as $req) {
if (!$req->isFulfilled() && !$req->isOptional()) {
$array[] = $req;
@@ -316,7 +316,7 @@ public function getFailedRequirements()
*/
public function getRecommendations()
{
- $array = [];
+ $array = array();
foreach ($this->requirements as $req) {
if ($req->isOptional()) {
$array[] = $req;
@@ -333,7 +333,7 @@ public function getRecommendations()
*/
public function getFailedRecommendations()
{
- $array = [];
+ $array = array();
foreach ($this->requirements as $req) {
if (!$req->isFulfilled() && $req->isOptional()) {
$array[] = $req;
@@ -389,7 +389,7 @@ public function __construct()
{
/* mandatory requirements follow */
- $installedPhpVersion = PHP_VERSION;
+ $installedPhpVersion = phpversion();
$requiredPhpVersion = $this->getPhpRequiredVersion();
$this->addRecommendation(
@@ -448,7 +448,7 @@ public function __construct()
}
if (false !== $requiredPhpVersion && version_compare($installedPhpVersion, $requiredPhpVersion, '>=')) {
- $timezones = [];
+ $timezones = array();
foreach (DateTimeZone::listAbbreviations() as $abbreviations) {
foreach ($abbreviations as $abbreviation) {
$timezones[$abbreviation['timezone_id']] = true;
@@ -731,7 +731,7 @@ function_exists('posix_isatty'),
'Install and/or enable a PHP accelerator (highly recommended).'
);
- if ('WIN' === strtoupper(substr(PHP_OS, 0, 3))) {
+ if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
$this->addRecommendation(
$this->getRealpathCacheSize() >= 5 * 1024 * 1024,
'realpath_cache_size should be at least 5M in php.ini',
diff --git a/web/app.php b/web/app.php
deleted file mode 100644
index 2d8a7e2..0000000
--- a/web/app.php
+++ /dev/null
@@ -1,18 +0,0 @@
-loadClassCache();
-$kernel = new AppCache($kernel);
-
-$request = Request::createFromGlobals();
-$response = $kernel->handle($request);
-$response->send();
-$kernel->terminate($request, $response);
diff --git a/web/app_dev.php b/web/app_dev.php
deleted file mode 100644
index f6cdfa3..0000000
--- a/web/app_dev.php
+++ /dev/null
@@ -1,32 +0,0 @@
-loadClassCache();
-$request = Request::createFromGlobals();
-$response = $kernel->handle($request);
-$response->send();
-$kernel->terminate($request, $response);
diff --git a/web/index.php b/web/index.php
new file mode 100644
index 0000000..b3dcaaf
--- /dev/null
+++ b/web/index.php
@@ -0,0 +1,28 @@
+load(__DIR__.'/../.env');
+}
+
+if (getenv('APP_DEBUG')) {
+ // WARNING: You should setup permissions the proper way!
+ // REMOVE the following PHP line and read
+ // https://symfony.com/doc/current/book/installation.html#checking-symfony-application-configuration-and-setup
+ umask(0000);
+ Debug::enable();
+}
+
+Request::setTrustedProxies(['0.0.0.0/0'], Request::HEADER_FORWARDED);
+$kernel = new AppKernel(getenv('APP_ENV'), getenv('APP_DEBUG'));
+
+$request = Request::createFromGlobals();
+$response = $kernel->handle($request);
+$response->send();
+$kernel->terminate($request, $response);