From 924b7d1b8ef461995766e797fdbf2a34ac79c4c2 Mon Sep 17 00:00:00 2001 From: Arthur de Moulins Date: Fri, 21 Feb 2020 12:03:35 +0100 Subject: [PATCH 01/17] merge phraseanet-docker repo to this one --- .dockerignore | 26 +- .env | 68 + .gitignore | 2 + Dockerfile | 121 +- README.md | 85 +- build.sh | 13 - docker-compose.override.yml | 96 + docker-compose.yml | 128 + docker/caching/composer.json | 154 + docker/caching/composer.lock | 8839 +++++++++++++++++ docker/db/Dockerfile | 12 + docker/db/docker/custom.cnf | 3 + .../01-create_databases.sql | 5 + docker/db/docker/phraseanet-entrypoint.sh | 7 + docker/elasticsearch/Dockerfile | 3 + docker/phraseanet/phraseanet-entrypoint.sh | 14 +- docker/phraseanet/worker-boot.sh | 5 + 17 files changed, 9455 insertions(+), 126 deletions(-) create mode 100644 .env delete mode 100755 build.sh create mode 100644 docker-compose.override.yml create mode 100644 docker-compose.yml create mode 100644 docker/caching/composer.json create mode 100644 docker/caching/composer.lock create mode 100644 docker/db/Dockerfile create mode 100644 docker/db/docker/custom.cnf create mode 100644 docker/db/docker/docker-entrypoint-initdb.d/01-create_databases.sql create mode 100755 docker/db/docker/phraseanet-entrypoint.sh create mode 100644 docker/elasticsearch/Dockerfile diff --git a/.dockerignore b/.dockerignore index 9754e0bf0b..8a59e7871a 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,12 +1,16 @@ -.circleci -.git +/.circleci +/.git .settings -nodes_modules -vendor - - - - - - - +/nodes_modules +/vendor +/volumes +/docker-compose.* +/Dockerfile +/.env +/*.md +/.travis.yml +/CONTRIBUTORS +/LICENSE +/www/thumbnails +/www/assets +/www/custom diff --git a/.env b/.env new file mode 100644 index 0000000000..00198290f3 --- /dev/null +++ b/.env @@ -0,0 +1,68 @@ +# compose project name (used to name/group your stack containers) +COMPOSE_PROJECT_NAME=phraseanet +# Registry from where you pull Docker images +PHRASEANET_DOCKER_REGISTRY=local +# Tag of the Docker images +PHRASEANET_DOCKER_TAG=latest +# APPLICATION PORT +PHRASEANET_APP_PORT=8082 +# RabbitMQ configuration +RABBITMQ_DEFAULT_USER=alchemy +RABBITMQ_DEFAULT_PASS=vdh4dpe5Wy3R +RABBITMQ_MANAGEMENT_PORT=10811 +# Mysql configuration +MYSQL_ROOT_PASSWORD=root +SERVER_NAME=phraseanet-docker + + +# --------------- APPLICATION CONFIGURATION -------------------- + +# Max upload size +MAX_BODY_SIZE=2G +# Max input var +MAX_INPUT_VARS=12000 + +# Enable opcache ? (0/1) +OPCACHE_ENABLED=1 +# session cache limiter (off/on) +SESSION_CACHE_LIMITER=off + +# PHP LOG LEVEL : Possible Values: alert, error, warning, notice, debug +PHP_LOG_LEVEL=warning + +# --------------- APPLICATION STARTUP CONFIGURATION -------------------- + +# These variables are only used if the configuration.yml file is not present, in order to automate the installation procedure + +# set here the first user / email couple +INSTALL_ACCOUNT_EMAIL=admin@alchemy.fr +INSTALL_ACCOUNT_PASSWORD=iJRqXU0MwbyJewQLBbra6IWHsWly +# Database parameters +INSTALL_DB_HOST=db +INSTALL_DB_PORT=3306 +INSTALL_DB_USER=root +INSTALL_DB_PASSWORD=root +INSTALL_DB_TEMPLATE=en-simple +INSTALL_APPBOX=ab_master +INSTALL_DATABOX=db_databox1 +INSTALL_SERVER_NAME=localhost + +# Mysql max allowed packet +MYSQL_MAX_ALLOWED_PACKET=16M + + +# --- DEV purpose --- + +# PhpMyAdmin port +PHPMYADMIN_PORT=8089 + +# Mount local volumes +PHRASEANET_VOLUMES_DIR=./volumes + +# Xdebug +XDEBUG_ENABLED=1 +XDEBUG_PROFILER_ENABLED=0 +IDE_KEY=PHPSTORM +PHRASEANET_SUBNET_IPS=172.32.0.0/16 +PHRASEANET_GATEWAY_IP=172.32.0.1 +PHP_IDE_CONFIG=serverName=docker-server-phraseanet diff --git a/.gitignore b/.gitignore index dc81372af0..3fd4cc470b 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,5 @@ playbook.retry npm-debug.log /Phrasea_datas + +/volumes diff --git a/Dockerfile b/Dockerfile index 418e8e812d..d1346d0d28 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,3 @@ - ######################################################################### # This image contains every build tools that will be used by the builder and # the app images (usefull in dev mode) @@ -11,7 +10,8 @@ RUN apt-get update \ ca-certificates \ gnupg2 \ && apt-get update \ - && apt-get install -y --no-install-recommends zlib1g-dev \ + && apt-get install -y --no-install-recommends \ + zlib1g-dev \ git \ ghostscript \ gpac \ @@ -36,18 +36,32 @@ RUN apt-get update \ xpdf \ && update-locale "LANG=fr_FR.UTF-8 UTF-8" \ && dpkg-reconfigure --frontend noninteractive locales \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ - && docker-php-source extract \ + && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd \ && docker-php-ext-install zip exif iconv mbstring pcntl sockets xsl intl pdo_mysql gettext bcmath mcrypt \ - && pecl install redis amqp-1.9.3 zmq-beta imagick-beta \ + && pecl install \ + redis \ + amqp-1.9.3 \ + zmq-beta \ + imagick-beta \ + xdebug-2.6.1 \ && docker-php-ext-enable redis amqp zmq imagick \ && pecl clear-cache \ && docker-php-source delete \ - && rm -rf /var/lib/apt/lists/* + && apt-get clean \ + && rm -rf /var/lib/apt/lists \ + && mkdir /entrypoint /var/alchemy \ + && useradd -u 1000 app \ + && mkdir -p /home/app/.composer \ + && chown -R app: /home/app /var/alchemy + +ENV XDEBUG_ENABLED=0 + +######################################################################### +# This image is used to build the apps +######################################################################### + +FROM phraseanet-system as builder COPY --from=composer:1.9.1 /usr/bin/composer /usr/bin/composer @@ -56,73 +70,32 @@ COPY --from=composer:1.9.1 /usr/bin/composer /usr/bin/composer # https://linuxize.com/post/how-to-install-node-js-on-ubuntu-18.04/ # https://yarnpkg.com/lang/en/docs/install/#debian-stable RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \ - && apt install -y nodejs \ && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ - && apt-get update && apt-get install -y --no-install-recommends yarn \ + && apt-get update \ + && apt-get install -y --no-install-recommends \ + nodejs \ + yarn \ && apt-get clean \ - && rm -rf /var/lib/apt/lists/ + && rm -rf /var/lib/apt/lists -RUN mkdir /entrypoint /var/alchemy \ - && useradd -u 1000 app \ - && mkdir -p /home/app/.composer \ - && chown -R app: /home/app /var/alchemy +WORKDIR /var/alchemy/Phraseanet -######################################################################### -# This image is used to build the apps -######################################################################### +# Warm up composer cache for faster builds +COPY docker/caching/composer.* ./ +RUN composer install --prefer-dist --no-dev --no-progress --no-suggest --classmap-authoritative --no-interaction --no-scripts \ + && rm -rf vendor composer.* +# End warm up -FROM phraseanet-system as builder +COPY . . -WORKDIR /var/alchemy/ +RUN rm -rf docker \ + && make install_composer \ + && make clean_assets \ + && make install_asset_dependencies \ + && make install_assets -# Files that are needed at build stage - -COPY gulpfile.js /var/alchemy/ -COPY www/include /var/alchemy/www/include -COPY www/scripts/apps /var/alchemy/www/scripts/apps -COPY Makefile /var/alchemy/ -COPY package.json /var/alchemy/ -COPY phpunit.xml.dist /var/alchemy/ -COPY yarn.lock /var/alchemy/ -COPY bin /var/alchemy/bin -COPY composer.json /var/alchemy/ -COPY composer.lock /var/alchemy/ -RUN make install_composer -COPY resources /var/alchemy/resources - -# Application build phase - -RUN make clean_assets -RUN make install_asset_dependencies -RUN make install_assets - -# Application code - -COPY www /var/alchemy/www -ADD ./docker/phraseanet/ / -COPY lib /var/alchemy/lib -COPY tmp /var/alchemy/tmp -COPY config /var/alchemy/config -COPY grammar /var/alchemy/grammar -COPY templates-profiler /var/alchemy/templates-profiler -COPY templates /var/alchemy/templates -COPY tests /var/alchemy/tests - -# Create needed folders - -RUN mkdir -p /var/alchemy/Phraseanet/logs \ - && chmod -R 777 /var/alchemy/Phraseanet/logs \ - && mkdir -p /var/alchemy/Phraseanet/cache \ - && chmod -R 777 /var/alchemy/Phraseanet/cache \ - && mkdir -p /var/alchemy/Phraseanet/datas \ - && chmod -R 777 /var/alchemy/Phraseanet/datas \ - && mkdir -p /var/alchemy/Phraseanet/tmp \ - && chmod -R 777 /var/alchemy/Phraseanet/tmp \ - && mkdir -p /var/alchemy/Phraseanet/www/custom \ - && chmod -R 777 /var/alchemy/Phraseanet/www/custom \ - && mkdir -p /var/alchemy/Phraseanet/config \ - && chmod -R 777 /var/alchemy/Phraseanet/config +ADD docker/phraseanet/ / ######################################################################### # Phraseanet web application image @@ -130,13 +103,7 @@ RUN mkdir -p /var/alchemy/Phraseanet/logs \ FROM phraseanet-system as phraseanet-fpm -RUN docker-php-source extract \ - && pecl install xdebug-2.9.0 \ - && docker-php-ext-enable xdebug \ - #&& pecl clear-cache \ - && docker-php-source delete - -COPY --from=builder --chown=app /var/alchemy /var/alchemy/Phraseanet +COPY --from=builder --chown=app /var/alchemy/Phraseanet /var/alchemy/Phraseanet ADD ./docker/phraseanet/ / WORKDIR /var/alchemy/Phraseanet ENTRYPOINT ["/phraseanet-entrypoint.sh"] @@ -153,8 +120,8 @@ CMD ["/worker-boot.sh"] # phraseanet-nginx ######################################################################### -FROM nginx:1.15 as phraseanet-nginx +FROM nginx:1.17.8-alpine as phraseanet-nginx RUN useradd -u 1000 app ADD ./docker/nginx/ / -COPY --from=builder /var/alchemy/www /var/alchemy/Phraseanet/www +COPY --from=builder /var/alchemy/Phraseanet/www /var/alchemy/Phraseanet/www CMD ["/boot.sh"] diff --git a/README.md b/README.md index 0105de60fa..f16622602f 100644 --- a/README.md +++ b/README.md @@ -52,27 +52,82 @@ Ex: For development with Phraseanet API see https://docs.phraseanet.com/4.0/en/Devel/index.html -# Docker build +# With Docker -WARNING : still in a work-in-progress status and can be used only for test purposes. +## Prerequisites -The docker distribution come with 3 differents containers : -* An nginx that act as the front http server. -* The php-fpm who serves the php files through nginx. -* The worker who execute Phraseanet scheduler. +- docker-compose +- docker >=v18.01-ce -## How to build +## Get started -You can build all the images with the following command at the root directory, choosing an arbirary TAG name : +You should review the default env variables defined in `.env` file. +Use `export` to override these values. - ./build.sh +i.e: +```bash +export PHRASEANET_DOCKER_TAG=latest +export PHRASEANET_VOLUMES_DIR=/path/to/my/custom/dir +export INSTALL_ACCOUNT_EMAIL=foo@bar.com +export INSTALL_ACCOUNT_PASSWORD=$3cr3t! +export PHRASEANET_APP_PORT=8082 +``` -It will build and tag the following images : +### Running the application - local/phraseanet-worker: - local/phraseanet-fpm: - local/phraseanet-nginx: +If you are not interested in the development of Phraseanet, you can ignore everything in `.env` after the `DEV Purpose` part. -# Deploy the application + docker-compose -f docker-compose.yml up -d -Once the images are built, you can deploy the entire phraseanet stack using the repository : https://github.com/alchemy-fr/phraseanet-docker and follow the instruction inside its `README.md` file. +Why this option `-f docker-compose.yml`? +The development and integration concerns are separated using a `docker-compose.override.yml`. By default, `docker-compose` will include this files if it exists. +If you don't work on phraseanet development, avoiding this `-f docker-compose.yml` parameters will throw errors. So you have to add this options on every `docker-compose` commands to avoid this inclusion. + +> You can also delete the `docker-compose.override.yml` to get free from this behavior. + + +The default parameters allow you to reach the app with : `http://localhost:8082` + +## Development mode + +The development mode uses the `docker-compose-override.yml` file. + +You can run it with: + + docker-compose up -d + +The environment is not ready yet: you have to fetch all dependencies. + +This can be made easily from the builder container: + + docker-compose exec -u app builder make + +> Please note that the phraseanet image does not contain nor `composer` neither `node` tools. This allow the final image to be slim. +> If you need to use dev tools, ensure you are running the `builder` image! + +### Using Xdebug + +Xdebug is enabled by default with the `docker-compose.override.yml` +You can disable it by setting: + +```bash +export XDEBUG_ENABLED=0 +``` + +Remote host is fixed because of the subnet network from compose. + +You need to configure file mapping in your IDE. +For PhpStorm, you can follow this example: + +![PhpStorm mapping](https://i.ibb.co/GMb43Cv/image.png) + +> Configure the `Absolute path on the server` to `/var/alchemy/Phraseanet` at the project root path (i.e. `~/projects/Phraseanet`). + + +### How to change volumes location + +Before moving all the files, or to use a different location, you have to remove all containers and volume definitions with the following command : + + docker-compose down --volumes + +Then move the files and set the `VOLUMES_DIR` to the new location. diff --git a/build.sh b/build.sh deleted file mode 100755 index 60e95a3b7d..0000000000 --- a/build.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -set -xe - -# nginx server -docker build --target phraseanet-nginx -t local/phraseanet-nginx:$1 . - -# php-fpm application -docker build --target phraseanet-fpm -t local/phraseanet-fpm:$1 . - -# worker -docker build --target phraseanet-worker -t local/phraseanet-worker:$1 . - diff --git a/docker-compose.override.yml b/docker-compose.override.yml new file mode 100644 index 0000000000..69306401cb --- /dev/null +++ b/docker-compose.override.yml @@ -0,0 +1,96 @@ +version: "3.4" +services: + phpmyadmin: + image: phpmyadmin/phpmyadmin + restart: on-failure + ports: + - ${PHPMYADMIN_PORT}:80 + depends_on: + - db + + gateway: + volumes: + - .:/var/alchemy + + builder: + build: + context: . + target: builder + command: exit 0 + + phraseanet: + environment: + - XDEBUG_ENABLED + - XDEBUG_CONFIG=remote_host=${PHRASEANET_GATEWAY_IP} idekey=${IDE_KEY} remote_enable=1 profiler_enable=${XDEBUG_PROFILER_ENABLED} profiler_output_dir=/var/alchemy/Phraseanet/cache/profiler + - PHP_IDE_CONFIG + volumes: + - .:/var/alchemy + + worker: + volumes: + - .:/var/alchemy + + rabbitmq: + ports: + - ${RABBITMQ_MANAGEMENT_PORT}:15672 + + mailhog: + image: mailhog/mailhog + ports: + - 1025:1025 + - 8025:8025 + + elasticsearch: + ports: + - 9200:9200 + +networks: + default: + ipam: + config: + - subnet: $PHRASEANET_SUBNET_IPS + +volumes: + data_vol: + driver: local + driver_opts: + type: none + device: $PHRASEANET_VOLUMES_DIR/data + o: bind + db_vol: + driver: local + driver_opts: + type: none + device: $PHRASEANET_VOLUMES_DIR/db + o: bind + elasticsearch_vol: + driver: local + driver_opts: + type: none + device: $PHRASEANET_VOLUMES_DIR/elasticsearch + o: bind + config_vol: + driver: local + driver_opts: + type: none + device: $PHRASEANET_VOLUMES_DIR/config + o: bind + custom_vol: + driver: local + driver_opts: + type: none + device: $PHRASEANET_VOLUMES_DIR/custom + o: bind + thumbnails_vol: + driver: local + driver_opts: + type: none + device: $PHRASEANET_VOLUMES_DIR/thumbnails + o: bind + # to be replacer by stdout/stderr + logs_vol: + driver: local + driver_opts: + type: none + device: $PHRASEANET_VOLUMES_DIR/logs + o: bind diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000..197f324699 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,128 @@ +version: "3.4" + +services: + gateway: + build: + context: . + target: phraseanet-nginx + image: $PHRASEANET_DOCKER_REGISTRY/phraseanet-nginx:$PHRASEANET_DOCKER_TAG + restart: on-failure + volumes: + - data_vol:/var/alchemy/Phraseanet/datas:rw + - custom_vol:/var/alchemy/Phraseanet/www/custom:rw + - thumbnails_vol:/var/alchemy/Phraseanet/www/thumbnails:rw + depends_on: + - phraseanet + environment: + - MAX_BODY_SIZE + + ports: + - ${PHRASEANET_APP_PORT}:80 + + phraseanet: + build: + context: . + target: phraseanet-fpm + image: $PHRASEANET_DOCKER_REGISTRY/phraseanet-fpm:$PHRASEANET_DOCKER_TAG + restart: on-failure + depends_on: + - db + - redis + - rabbitmq + - elasticsearch + environment: + - MAX_BODY_SIZE + - MAX_INPUT_VARS + - OPCACHE_ENABLED + - SESSION_CACHE_LIMITER + - PHP_LOG_LEVEL + - INSTALL_ACCOUNT_EMAIL + - INSTALL_ACCOUNT_PASSWORD + - INSTALL_DB_HOST + - INSTALL_DB_PORT + - INSTALL_DB_USER + - INSTALL_DB_PASSWORD + - INSTALL_DB_TEMPLATE + - INSTALL_APPBOX + - INSTALL_DATABOX + - INSTALL_SERVER_NAME + - INSTALL_RABBITMQ_USER=$RABBITMQ_DEFAULT_USER + - INSTALL_RABBITMQ_PASSWORD=$RABBITMQ_DEFAULT_PASS + volumes: + - data_vol:/var/alchemy/Phraseanet/datas:rw + - config_vol:/var/alchemy/Phraseanet/config:rw + - tmp_vol:/var/alchemy/Phraseanet/tmp:rw + - logs_vol:/var/alchemy/Phraseanet/logs:rw + - thumbnails_vol:/var/alchemy/Phraseanet/www/thumbnails:rw + - custom_vol:/var/alchemy/Phraseanet/www/custom:rw + + worker: + build: + context: . + target: phraseanet-worker + image: $PHRASEANET_DOCKER_REGISTRY/phraseanet-worker:$PHRASEANET_DOCKER_TAG + restart: on-failure + depends_on: + - db + - redis + - rabbitmq + - elasticsearch + environment: + - MAX_BODY_SIZE + - MAX_INPUT_VARS + - OPCACHE_ENABLED + - SESSION_CACHE_LIMITER + - PHP_LOG_LEVEL + volumes: + - data_vol:/var/alchemy/Phraseanet/datas:rw + - config_vol:/var/alchemy/Phraseanet/config:rw + - tmp_vol:/var/alchemy/Phraseanet/tmp:rw + - logs_vol:/var/alchemy/Phraseanet/logs:rw + - thumbnails_vol:/var/alchemy/Phraseanet/www/thumbnails:rw + + db: + image: $PHRASEANET_DOCKER_REGISTRY/phraseanet-db:$PHRASEANET_DOCKER_TAG + build: ./docker/db + restart: on-failure + environment: + - MYSQL_ROOT_PASSWORD + - MYSQL_MAX_ALLOWED_PACKET + volumes: + - db_vol:/var/lib/mysql + + rabbitmq: + image: rabbitmq:3-management + restart: on-failure + environment: + - RABBITMQ_DEFAULT_USER + - RABBITMQ_DEFAULT_PASS + + redis: + image: redis + restart: on-failure + + elasticsearch: + image: $PHRASEANET_DOCKER_REGISTRY/phraseanet-elasticsearch:$PHRASEANET_DOCKER_TAG + build: ./docker/elasticsearch + restart: on-failure + volumes: + - elasticsearch_vol:/usr/share/elasticsearch/data + +volumes: + data_vol: + driver: local + tmp_vol: + driver: local + db_vol: + driver: local + elasticsearch_vol: + driver: local + config_vol: + driver: local + custom_vol: + driver: local + thumbnails_vol: + driver: local + # to be replacer by stdout/stderr + logs_vol: + driver: local diff --git a/docker/caching/composer.json b/docker/caching/composer.json new file mode 100644 index 0000000000..46ff98203e --- /dev/null +++ b/docker/caching/composer.json @@ -0,0 +1,154 @@ +{ + "name": "phraseanet/phraseanet", + "description": "Phraseanet", + "license": "GPL-3.0", + "config": { + "bin-dir": "bin/" + }, + "repositories": [ + { + "type": "package", + "package": { + "name": "facebook/php-sdk", + "version": "3.2.3", + "source": { + "url": "https://github.com/facebookarchive/facebook-php-sdk.git", + "type": "git", + "reference": "3.2.3" + } + } + }, + { + "type": "package", + "package": { + "name": "exiftool/exiftool", + "version": "11", + "source": { + "url": "https://github.com/exiftool/exiftool.git", + "type": "git", + "reference": "11.84" + } + } + }, + { + "type": "vcs", + "url": "https://github.com/alchemy-fr/tcpdf-clone" + }, + { + "type": "git", + "url": "https://github.com/romainneutron/ProcessManager.git" + }, + { + "type": "vcs", + "url": "https://github.com/alchemy-fr/imagine" + }, + { + "type": "vcs", + "url": "https://github.com/alchemy-fr/JMSTranslationBundle" + }, + { + "type": "vcs", + "url": "https://github.com/alchemy-fr/embed-bundle.git" + }, + { + "type": "git", + "url": "https://github.com/alchemy-fr/fractal.git" + } + ], + "require": { + "php": ">=5.5.9", + "ext-intl": "*", + "alchemy-fr/tcpdf-clone": "~6.0", + "alchemy/embed-bundle": "^2.0.7", + "alchemy/geonames-api-consumer": "~0.1.0", + "alchemy/mediavorus": "^0.4.4", + "alchemy/oauth2php": "1.1.0", + "alchemy/phlickr": "0.2.9", + "alchemy/phpexiftool": "^0.7.0", + "alchemy/rest-bundle": "^0.0.5", + "alchemy/symfony-cors": "^0.1.0", + "alchemy/task-manager": "2.0.x-dev@dev", + "alchemy/zippy": "^0.3.0", + "beberlei/assert": "^2.3", + "cocur/slugify": "^2.0", + "dailymotion/sdk": "~1.5", + "data-uri/data-uri": "~0.1.0", + "dflydev/doctrine-orm-service-provider": "~1.0", + "doctrine/cache": "1.6.x-dev", + "doctrine/dbal": "^2.4.0", + "doctrine/migrations": "^1.0.0", + "doctrine/orm": "^2.4.0", + "elasticsearch/elasticsearch": "~2.0", + "firebase/php-jwt": "^3.0.0", + "gedmo/doctrine-extensions": "~2.3.0", + "goodby/csv": "^1.3.0", + "google/apiclient": "^2.0", + "guzzle/guzzle": "~3.0", + "hoa/compiler": "~2.0", + "hoa/console": "~2.0", + "hoa/dispatcher": "~0.0", + "hoa/router": "~2.0", + "igorw/get-in": "~1.0", + "imagine/imagine": "0.6.x-dev", + "jms/serializer": "~0.10", + "jms/translation-bundle": "dev-rebase-2015-10-20", + "justinrainbow/json-schema": "2.0.3 as 1.6.1", + "league/flysystem": "^1.0", + "league/flysystem-aws-s3-v2": "^1.0", + "league/fractal": "dev-webgalleries#af1acc0275438571bc8c1d08a05a4b5af92c9f97 as 0.13.0", + "media-alchemyst/media-alchemyst": "^0.5.5", + "monolog/monolog": "~1.3", + "mrclay/minify": "~2.1.6", + "neutron/process-manager": "2.0.x-dev@dev", + "neutron/recaptcha": "~0.1.0", + "neutron/silex-filesystem-provider": "~1.0", + "neutron/silex-imagine-provider": "~0.1.0", + "neutron/temporary-filesystem": "~2.1", + "pagerfanta/pagerfanta": "^1.0", + "php-ffmpeg/php-ffmpeg": "~0.5.0", + "php-xpdf/php-xpdf": "~0.2.1", + "exiftool/exiftool": "^11", + "ramsey/uuid": "^3.0", + "roave/security-advisories": "dev-master", + "silex/silex": "^1.3.0", + "silex/web-profiler": "~1.0", + "simple-bus/doctrine-orm-bridge": "^4.0", + "simple-bus/jms-serializer-bridge": "^1.0", + "simple-bus/message-bus": "^2.1", + "simple-bus/serialization": "^2.0", + "sorien/silex-dbal-profiler": "^1.1", + "sorien/silex-pimple-dumper": "^1.0", + "swiftmailer/swiftmailer": "~5.4.5", + "symfony/symfony": "~2.7.10|~2.8.3", + "themattharris/tmhoauth": "~0.7", + "twig/extensions": "^1.2.0", + "twig/twig": "~1.14, >=1.14.2", + "vierbergenlars/php-semver": "~2.1", + "webmozart/json": "^1.1", + "willdurand/negotiation": "^2.0.0-alpha1", + "zend/gdata": "~1.12.1", + "alchemy/worker-bundle": "^0.1.6", + "alchemy/queue-bundle": "^0.1.5", + "google/recaptcha": "^1.1", + "facebook/graph-sdk": "^5.6", + "box/spout": "^2.7", + "paragonie/random-lib": "^2.0", + "czproject/git-php": "^3.17" + }, + "require-dev": { + "mikey179/vfsstream": "~1.5", + "phpunit/phpunit": "^4.8|^5.0" + }, + "autoload": { + "psr-0": { + "Alchemy\\": "lib", + "": "lib/classes" + } + }, + "include-path": ["vendor/zend/gdata/library"], + "extra": { + "branch-alias": { + "dev-master": "4.1.x-dev" + } + } +} diff --git a/docker/caching/composer.lock b/docker/caching/composer.lock new file mode 100644 index 0000000000..41a8b05beb --- /dev/null +++ b/docker/caching/composer.lock @@ -0,0 +1,8839 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "5a4a0be62b13071a6b06893b7ce08372", + "packages": [ + { + "name": "alchemy-fr/tcpdf-clone", + "version": "6.0.039", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/tcpdf-clone.git", + "reference": "2ba0248a7187f1626df6c128750650416267f0e7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/tcpdf-clone/zipball/2ba0248a7187f1626df6c128750650416267f0e7", + "reference": "2ba0248a7187f1626df6c128750650416267f0e7", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "fonts", + "config", + "include", + "tcpdf.php", + "tcpdf_parser.php", + "tcpdf_import.php", + "tcpdf_barcodes_1d.php", + "tcpdf_barcodes_2d.php", + "include/tcpdf_colors.php", + "include/tcpdf_filters.php", + "include/tcpdf_font_data.php", + "include/tcpdf_fonts.php", + "include/tcpdf_images.php", + "include/tcpdf_static.php", + "include/barcodes/datamatrix.php", + "include/barcodes/pdf417.php", + "include/barcodes/qrcode.php" + ] + }, + "license": [ + "LGPLv3" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "homepage": "http://nicolaasuni.tecnick.com" + } + ], + "description": "TCPDF is a PHP class for generating PDF documents.", + "homepage": "http://www.tcpdf.org/", + "keywords": [ + "PDF", + "PDFD32000-2008", + "barcodes", + "datamatrix", + "pdf417", + "qrcode", + "tcpdf" + ], + "support": { + "source": "https://github.com/alchemy-fr/tcpdf-clone/tree/6.0.039", + "issues": "https://github.com/alchemy-fr/tcpdf-clone/issues" + }, + "time": "2013-10-13T16:11:17+00:00" + }, + { + "name": "alchemy/binary-driver", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/BinaryDriver.git", + "reference": "80c6633890afb71d2417ae851d0ad167d8b00b95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/BinaryDriver/zipball/80c6633890afb71d2417ae851d0ad167d8b00b95", + "reference": "80c6633890afb71d2417ae851d0ad167d8b00b95", + "shasum": "" + }, + "require": { + "evenement/evenement": "^2.0|^1.0", + "monolog/monolog": "^1.3", + "php": ">=5.5", + "psr/log": "^1.0", + "symfony/process": "^2.0|^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0|^5.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Alchemy": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + }, + { + "name": "Phraseanet Team", + "email": "info@alchemy.fr", + "homepage": "http://www.phraseanet.com/" + }, + { + "name": "Nicolas Le Goff", + "email": "legoff.n@gmail.com" + } + ], + "description": "A set of tools to build binary drivers", + "keywords": [ + "binary", + "driver" + ], + "time": "2016-03-02T13:49:15+00:00" + }, + { + "name": "alchemy/embed-bundle", + "version": "2.0.9", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/embed-bundle.git", + "reference": "8cdb9612a9e3edd998b68f0803eacca8e0f50775" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/embed-bundle/zipball/8cdb9612a9e3edd998b68f0803eacca8e0f50775", + "reference": "8cdb9612a9e3edd998b68f0803eacca8e0f50775", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "^4.7", + "silex/silex": "^1.0.0", + "squizlabs/php_codesniffer": "^2.3", + "symfony/symfony": "~2.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Alchemy\\Embed\\": "src/Component", + "Alchemy\\EmbedBundle\\": "src/Bundle", + "Alchemy\\EmbedProvider\\": "src/Provider" + } + }, + "autoload-dev": { + "psr-4": { + "Alchemy\\EmbedBundle\\Tests\\": "tests/unit/Bundle" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Florian Blouet", + "email": "florian.blouet@gmail.com" + } + ], + "description": "Embed resources bundle", + "support": { + "source": "https://github.com/alchemy-fr/embed-bundle/tree/2.0.9", + "issues": "https://github.com/alchemy-fr/embed-bundle/issues" + }, + "time": "2020-02-04T14:53:00+00:00" + }, + { + "name": "alchemy/geonames-api-consumer", + "version": "0.1.2", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/GeonamesServer-PHP-Plugin.git", + "reference": "111a38233da7a5503f86e96877e044381698f647" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/GeonamesServer-PHP-Plugin/zipball/111a38233da7a5503f86e96877e044381698f647", + "reference": "111a38233da7a5503f86e96877e044381698f647", + "shasum": "" + }, + "require": { + "guzzle/guzzle": "~3.5", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7", + "silex/silex": "~1.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Alchemy": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A connector to a geonames server", + "keywords": [ + "geonames" + ], + "time": "2014-02-05T15:29:39+00:00" + }, + { + "name": "alchemy/ghostscript", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/Ghostscript-PHP.git", + "reference": "a5d40c29efa4c4e4016a1f83cd5645300ad602d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/Ghostscript-PHP/zipball/a5d40c29efa4c4e4016a1f83cd5645300ad602d7", + "reference": "a5d40c29efa4c4e4016a1f83cd5645300ad602d7", + "shasum": "" + }, + "require": { + "alchemy/binary-driver": "~1.5", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7", + "sami/sami": "~1.0", + "silex/silex": "~1.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Ghostscript": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + }, + { + "name": "Phraseanet Team", + "email": "info@alchemy.fr", + "homepage": "http://www.phraseanet.com/" + } + ], + "description": "Ghostscript PDF, a library to handle PDF through ghostscript", + "keywords": [ + "ghostscript", + "pdf" + ], + "time": "2013-06-25T09:12:58+00:00" + }, + { + "name": "alchemy/mediavorus", + "version": "0.4.10", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/MediaVorus.git", + "reference": "3e235eb1efb528aea2973c946f4bf47630b98985" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/MediaVorus/zipball/3e235eb1efb528aea2973c946f4bf47630b98985", + "reference": "3e235eb1efb528aea2973c946f4bf47630b98985", + "shasum": "" + }, + "require": { + "alchemy/phpexiftool": "~0.1", + "doctrine/collections": "~1.0", + "monolog/monolog": "~1.0", + "php": ">=5.3.0", + "php-ffmpeg/php-ffmpeg": "~0.3", + "symfony/http-foundation": "~2.0" + }, + "replace": { + "mediavorus/mediavorus": "<=0.4.4" + }, + "require-dev": { + "jms/serializer": "~0.12.0", + "phpunit/phpunit": "^4.0|^5.0", + "silex/silex": "~1.0", + "symfony/yaml": "~2.0" + }, + "suggest": { + "jms/serializer": "To serialize Medias", + "symfony/yaml": "To serialize Medias in Yaml format" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "MediaVorus": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + } + ], + "description": "MediaVorus", + "keywords": [ + "metadata" + ], + "time": "2020-02-18T13:37:45+00:00" + }, + { + "name": "alchemy/oauth2php", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/oauth2-php.git", + "reference": "801510972240555fa182813851efd96659d37a68" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/oauth2-php/zipball/801510972240555fa182813851efd96659d37a68", + "reference": "801510972240555fa182813851efd96659d37a68", + "shasum": "" + }, + "type": "library", + "autoload": { + "classmap": [ + "lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "time": "2019-01-17T14:34:10+00:00" + }, + { + "name": "alchemy/phlickr", + "version": "0.2.9", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/Phlickr.git", + "reference": "f9af93e27e9235db43e61ce2f9588d8ce9859b68" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/Phlickr/zipball/f9af93e27e9235db43e61ce2f9588d8ce9859b68", + "reference": "f9af93e27e9235db43e61ce2f9588d8ce9859b68", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-0": { + "Phlickr_": "./" + } + }, + "notification-url": "https://packagist.org/downloads/", + "time": "2014-12-15T14:27:57+00:00" + }, + { + "name": "alchemy/phpexiftool", + "version": "0.7.3", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/PHPExiftool.git", + "reference": "0b22e7d7cc40f2a6b9c85c0cfbd968a39a31dab2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/PHPExiftool/zipball/0b22e7d7cc40f2a6b9c85c0cfbd968a39a31dab2", + "reference": "0b22e7d7cc40f2a6b9c85c0cfbd968a39a31dab2", + "shasum": "" + }, + "require": { + "doctrine/cache": "^1.0", + "doctrine/collections": "^1.0", + "exiftool/exiftool": "^11", + "monolog/monolog": "^1.3", + "php": ">=5.5.9", + "symfony/console": "^2.1|^3.0", + "symfony/process": "^2.1|^3.0" + }, + "require-dev": { + "jms/serializer": "~0.10|^1.0", + "phpunit/phpunit": "^4.0|^5.0", + "silex/silex": "~1.0", + "symfony/css-selector": "^2.1|^3.0", + "symfony/dom-crawler": "^2.1|^3.0", + "symfony/finder": "^2.1|^3.0", + "symfony/yaml": "^2.1|^3.0" + }, + "suggest": { + "jms/serializer": "To serialize tags", + "symfony/yaml": "To serialize tags in Yaml format" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.5.x-dev" + } + }, + "autoload": { + "psr-0": { + "PHPExiftool\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + }, + { + "name": "Benoit Burnichon", + "email": "bburnichon@alchemy.fr", + "role": "Lead Developer" + } + ], + "description": "Exiftool driver for PHP", + "keywords": [ + "exiftool", + "metadata" + ], + "time": "2020-01-17T14:28:33+00:00" + }, + { + "name": "alchemy/queue-bundle", + "version": "0.1.5", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/queue-bundle.git", + "reference": "dcc64ac5e888250cf29a80570df66cdb5dc3857f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/queue-bundle/zipball/dcc64ac5e888250cf29a80570df66cdb5dc3857f", + "reference": "dcc64ac5e888250cf29a80570df66cdb5dc3857f", + "shasum": "" + }, + "require": { + "alchemy/queue-component": "^0.1.4", + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4|^5", + "silex/silex": "^1.3.0", + "symfony/symfony": "^2.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Alchemy\\QueueBundle\\": "src/QueueBundle", + "Alchemy\\QueueProvider\\": "src/QueueProvider" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Thibaud Fabre", + "email": "thibaud@aztech.io" + } + ], + "description": "Symfony bundle for alchemy/queue-component", + "time": "2016-10-04T14:19:39+00:00" + }, + { + "name": "alchemy/queue-component", + "version": "0.1.5", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/queue-component.git", + "reference": "5506445a5770e23075e78e02510752106ee284b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/queue-component/zipball/5506445a5770e23075e78e02510752106ee284b0", + "reference": "5506445a5770e23075e78e02510752106ee284b0", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "psr/log": "^1.0", + "ramsey/uuid": "^3.3" + }, + "require-dev": { + "empi89/php-amqp-stubs": "dev-master", + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^4.0|^5.0" + }, + "suggest": { + "ext-amqp": "To use the AMQP extension adapters" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Alchemy\\Queue\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Message queue component", + "time": "2016-10-05T10:41:36+00:00" + }, + { + "name": "alchemy/rest-bundle", + "version": "0.0.5", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/rest-bundle.git", + "reference": "e795b3cd565086d575ee919d1b23279656c982ad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/rest-bundle/zipball/e795b3cd565086d575ee919d1b23279656c982ad", + "reference": "e795b3cd565086d575ee919d1b23279656c982ad", + "shasum": "" + }, + "require": { + "league/fractal": "^0.12.0|^0.13.0", + "php": ">=5.4", + "willdurand/negotiation": "~2.0@dev" + }, + "require-dev": { + "pagerfanta/pagerfanta": "^1.0.3", + "phpunit/phpunit": "^4.7", + "silex/silex": "^1.0.0", + "squizlabs/php_codesniffer": "^2.3", + "symfony/symfony": "~2.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Alchemy\\Rest\\": "src/Component", + "Alchemy\\RestBundle\\": "src/Bundle", + "Alchemy\\RestProvider\\": "src/Provider" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Thibaud Fabre", + "email": "thibaud@aztech.io" + } + ], + "description": "Simple REST utility bundle", + "time": "2016-05-16T09:37:34+00:00" + }, + { + "name": "alchemy/symfony-cors", + "version": "0.1.1", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/symfony-cors.git", + "reference": "dbf7fcff1ce9fc1265db12955476ff169eab7375" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/symfony-cors/zipball/dbf7fcff1ce9fc1265db12955476ff169eab7375", + "reference": "dbf7fcff1ce9fc1265db12955476ff169eab7375", + "shasum": "" + }, + "require": { + "symfony/http-kernel": "^2.3.0|^3.0.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0", + "silex/silex": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Alchemy\\Cors\\": "src/Component/", + "Alchemy\\CorsProvider\\": "src/Provider/", + "Alchemy\\CorsBundle\\": "src/Bundle/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "BenoĆ®t Burnichon", + "email": "bburnichon@alchemy.fr" + } + ], + "description": "A library that adds CORS services to Silex/Symfony Applications", + "time": "2015-12-17T15:34:43+00:00" + }, + { + "name": "alchemy/task-manager", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/task-manager.git", + "reference": "6185ab425922580c3f7a6f0ae1b364e6a4626aae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/task-manager/zipball/6185ab425922580c3f7a6f0ae1b364e6a4626aae", + "reference": "6185ab425922580c3f7a6f0ae1b364e6a4626aae", + "shasum": "" + }, + "require": { + "ext-zmq": "*", + "neutron/process-manager": "2.0.x-dev@dev", + "neutron/signal-handler": "~1.0", + "php": ">=5.3.3", + "symfony/event-dispatcher": "~2.0", + "symfony/process": "~2.4" + }, + "require-dev": { + "monolog/monolog": "~1.0", + "phpunit/phpunit": "~3.7|^4.0|^5.0", + "symfony/console": "~2.3", + "symfony/finder": "~2.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-0": { + "Alchemy": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + }, + { + "name": "Phraseanet Team", + "email": "info@alchemy.fr", + "homepage": "http://www.phraseanet.com/" + } + ], + "description": "A manager for running parallel PHP processes command line.", + "keywords": [ + "cli", + "parallel", + "process" + ], + "time": "2016-11-30T13:34:30+00:00" + }, + { + "name": "alchemy/worker-bundle", + "version": "0.1.6", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/worker-bundle.git", + "reference": "a4911cc4a4c9ccf1195c78a11ca5899c9077b1df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/worker-bundle/zipball/a4911cc4a4c9ccf1195c78a11ca5899c9077b1df", + "reference": "a4911cc4a4c9ccf1195c78a11ca5899c9077b1df", + "shasum": "" + }, + "require": { + "alchemy/queue-bundle": "^0.1.5", + "alchemy/worker-component": "^0.1.0", + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^5.4", + "silex/silex": "^1.3.0", + "symfony/symfony": "^2.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Alchemy\\WorkerBundle\\": "src/WorkerBundle", + "Alchemy\\WorkerProvider\\": "src/WorkerProvider" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Thibaud Fabre", + "email": "thibaud@aztech.io" + } + ], + "description": "Symfony bundle for alchemy/worker-component", + "time": "2016-12-06T10:39:58+00:00" + }, + { + "name": "alchemy/worker-component", + "version": "0.1.4", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/worker-component.git", + "reference": "239927775b9097e6f1a540a975d2ea49bda550f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/worker-component/zipball/239927775b9097e6f1a540a975d2ea49bda550f4", + "reference": "239927775b9097e6f1a540a975d2ea49bda550f4", + "shasum": "" + }, + "require": { + "alchemy/queue-component": "^0.1.4", + "php": ">=5.5", + "psr/log": "^1.0", + "ramsey/uuid": "^3.3" + }, + "require-dev": { + "empi89/php-amqp-stubs": "dev-master", + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^4.0|^5.0" + }, + "suggest": { + "ext-amqp": "To use the AMQP extension adapters" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Alchemy\\Worker\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Message queue worker component", + "time": "2016-11-14T16:41:16+00:00" + }, + { + "name": "alchemy/zippy", + "version": "0.3.5", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/Zippy.git", + "reference": "92c773f7bbe47fdb30c61dbaea3dcbf4dd13a40a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/Zippy/zipball/92c773f7bbe47fdb30c61dbaea3dcbf4dd13a40a", + "reference": "92c773f7bbe47fdb30c61dbaea3dcbf4dd13a40a", + "shasum": "" + }, + "require": { + "doctrine/collections": "~1.0", + "ext-mbstring": "*", + "php": ">=5.3.3", + "symfony/filesystem": "^2.0.5|^3.0", + "symfony/process": "^2.1|^3.0" + }, + "require-dev": { + "ext-zip": "*", + "guzzle/guzzle": "~3.0", + "phpunit/phpunit": "^4.0|^5.0", + "symfony/finder": "^2.0.5|^3.0" + }, + "suggest": { + "ext-zip": "To use the ZipExtensionAdapter", + "guzzle/guzzle": "To use the GuzzleTeleporter" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Alchemy\\Zippy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alchemy", + "email": "dev.team@alchemy.fr", + "homepage": "http://www.alchemy.fr/" + } + ], + "description": "Zippy, the archive manager companion", + "keywords": [ + "bzip", + "compression", + "tar", + "zip" + ], + "time": "2016-02-15T22:46:40+00:00" + }, + { + "name": "aws/aws-sdk-php", + "version": "2.8.31", + "source": { + "type": "git", + "url": "https://github.com/aws/aws-sdk-php.git", + "reference": "64fa4b07f056e338a5f0f29eece75babaa83af68" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/64fa4b07f056e338a5f0f29eece75babaa83af68", + "reference": "64fa4b07f056e338a5f0f29eece75babaa83af68", + "shasum": "" + }, + "require": { + "guzzle/guzzle": "~3.7", + "php": ">=5.3.3" + }, + "require-dev": { + "doctrine/cache": "~1.0", + "ext-openssl": "*", + "monolog/monolog": "~1.4", + "phpunit/phpunit": "~4.0", + "phpunit/phpunit-mock-objects": "2.3.1", + "symfony/yaml": "~2.1" + }, + "suggest": { + "doctrine/cache": "Adds support for caching of credentials and responses", + "ext-apc": "Allows service description opcode caching, request and response caching, and credentials caching", + "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", + "monolog/monolog": "Adds support for logging HTTP requests and responses", + "symfony/yaml": "Eases the ability to write manifests for creating jobs in AWS Import/Export" + }, + "type": "library", + "autoload": { + "psr-0": { + "Aws": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Amazon Web Services", + "homepage": "http://aws.amazon.com" + } + ], + "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project", + "homepage": "http://aws.amazon.com/sdkforphp", + "keywords": [ + "amazon", + "aws", + "cloud", + "dynamodb", + "ec2", + "glacier", + "s3", + "sdk" + ], + "time": "2016-07-25T18:03:20+00:00" + }, + { + "name": "beberlei/assert", + "version": "v2.7.3", + "source": { + "type": "git", + "url": "https://github.com/beberlei/assert.git", + "reference": "5972776d6a9eedfd3c55216341434e19cb50418f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/beberlei/assert/zipball/5972776d6a9eedfd3c55216341434e19cb50418f", + "reference": "5972776d6a9eedfd3c55216341434e19cb50418f", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "phpunit/phpunit": "@stable" + }, + "type": "library", + "autoload": { + "psr-4": { + "Assert\\": "lib/Assert" + }, + "files": [ + "lib/Assert/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de", + "role": "Lead Developer" + }, + { + "name": "Richard Quadling", + "email": "rquadling@gmail.com", + "role": "Collaborator" + } + ], + "description": "Thin assertion library for input validation in business models.", + "keywords": [ + "assert", + "assertion", + "validation" + ], + "time": "2017-01-24T15:14:39+00:00" + }, + { + "name": "behat/transliterator", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/Behat/Transliterator.git", + "reference": "868e05be3a9f25ba6424c2dd4849567f50715003" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/Transliterator/zipball/868e05be3a9f25ba6424c2dd4849567f50715003", + "reference": "868e05be3a9f25ba6424c2dd4849567f50715003", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Transliterator": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Artistic-1.0" + ], + "description": "String transliterator", + "keywords": [ + "i18n", + "slug", + "transliterator" + ], + "time": "2015-09-28T16:26:35+00:00" + }, + { + "name": "box/spout", + "version": "v2.7.3", + "source": { + "type": "git", + "url": "https://github.com/box/spout.git", + "reference": "3681a3421a868ab9a65da156c554f756541f452b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/box/spout/zipball/3681a3421a868ab9a65da156c554f756541f452b", + "reference": "3681a3421a868ab9a65da156c554f756541f452b", + "shasum": "" + }, + "require": { + "ext-xmlreader": "*", + "ext-zip": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.0" + }, + "suggest": { + "ext-iconv": "To handle non UTF-8 CSV files (if \"php-intl\" is not already installed or is too limited)", + "ext-intl": "To handle non UTF-8 CSV files (if \"iconv\" is not already installed)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Box\\Spout\\": "src/Spout" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Adrien Loison", + "email": "adrien@box.com" + } + ], + "description": "PHP Library to read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way", + "homepage": "https://www.github.com/box/spout", + "keywords": [ + "OOXML", + "csv", + "excel", + "memory", + "odf", + "ods", + "office", + "open", + "php", + "read", + "scale", + "spreadsheet", + "stream", + "write", + "xlsx" + ], + "time": "2017-09-25T19:44:35+00:00" + }, + { + "name": "cocur/slugify", + "version": "v2.3", + "source": { + "type": "git", + "url": "https://github.com/cocur/slugify.git", + "reference": "57a00e06a382928e350cc7bbb13b19f1b8f4e73a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cocur/slugify/zipball/57a00e06a382928e350cc7bbb13b19f1b8f4e73a", + "reference": "57a00e06a382928e350cc7bbb13b19f1b8f4e73a", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "require-dev": { + "laravel/framework": "~5.1", + "latte/latte": "~2.2", + "league/container": "^2.2.0", + "mikey179/vfsstream": "~1.6", + "mockery/mockery": "~0.9", + "nette/di": "~2.2", + "phpunit/phpunit": "~4.8|~5.2", + "pimple/pimple": "~1.1", + "plumphp/plum": "~0.1", + "silex/silex": "~1.3", + "symfony/config": "~2.4|~3.0", + "symfony/dependency-injection": "~2.4|~3.0", + "symfony/http-kernel": "~2.4|~3.0", + "twig/twig": "~1.12", + "zendframework/zend-modulemanager": "~2.2", + "zendframework/zend-servicemanager": "~2.2", + "zendframework/zend-view": "~2.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cocur\\Slugify\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ivo Bathke", + "email": "ivo.bathke@gmail.com" + }, + { + "name": "Florian Eckerstorfer", + "email": "florian@eckerstorfer.co", + "homepage": "https://florian.ec" + } + ], + "description": "Converts a string into a slug.", + "keywords": [ + "slug", + "slugify" + ], + "time": "2016-08-09T20:10:17+00:00" + }, + { + "name": "czproject/git-php", + "version": "v3.17.0", + "source": { + "type": "git", + "url": "https://github.com/czproject/git-php.git", + "reference": "a7b911b81a2fe626f748a4ac8955353c5777bc6c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/czproject/git-php/zipball/a7b911b81a2fe626f748a4ac8955353c5777bc6c", + "reference": "a7b911b81a2fe626f748a4ac8955353c5777bc6c", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "nette/tester": "^1.1" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jan Pecha", + "email": "janpecha@email.cz" + } + ], + "description": "Library for work with Git repository in PHP.", + "keywords": [ + "git" + ], + "time": "2019-02-09T13:11:36+00:00" + }, + { + "name": "dailymotion/sdk", + "version": "1.6.5", + "source": { + "type": "git", + "url": "https://github.com/dailymotion/dailymotion-sdk-php.git", + "reference": "0f558978785f9a6ab9e59c393041d4896550973b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dailymotion/dailymotion-sdk-php/zipball/0f558978785f9a6ab9e59c393041d4896550973b", + "reference": "0f558978785f9a6ab9e59c393041d4896550973b", + "shasum": "" + }, + "type": "library", + "autoload": { + "classmap": [ + "Dailymotion.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Dailymotion PHP SDK", + "homepage": "http://dailymotion.com", + "keywords": [ + "api", + "dailymotion", + "sdk" + ], + "time": "2015-11-20T11:18:32+00:00" + }, + { + "name": "data-uri/data-uri", + "version": "0.1.1", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/PHP-dataURI.git", + "reference": "6b84ac5b57af163d30a18cdb145928a1b90526ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/PHP-dataURI/zipball/6b84ac5b57af163d30a18cdb145928a1b90526ac", + "reference": "6b84ac5b57af163d30a18cdb145928a1b90526ac", + "shasum": "" + }, + "require": { + "php": ">=5.3.2", + "symfony/http-foundation": "~2.0" + }, + "require-dev": { + "sami/sami": "dev-master" + }, + "type": "library", + "autoload": { + "psr-0": { + "DataURI": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "nlegoff", + "email": "legoff.n@gmail.com" + } + ], + "description": "PHP DataURI component", + "keywords": [ + "data", + "data-uri", + "uri" + ], + "time": "2014-08-22T15:01:57+00:00" + }, + { + "name": "dflydev/doctrine-orm-service-provider", + "version": "v1.0.7", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-doctrine-orm-service-provider.git", + "reference": "68f6805bbbedfdebccb9f24802f0484204b6a17d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-doctrine-orm-service-provider/zipball/68f6805bbbedfdebccb9f24802f0484204b6a17d", + "reference": "68f6805bbbedfdebccb9f24802f0484204b6a17d", + "shasum": "" + }, + "require": { + "doctrine/orm": "~2.3", + "php": ">=5.3.3", + "pimple/pimple": "1.*@dev" + }, + "require-dev": { + "cilex/cilex": "1.*@dev", + "cilex/console-service-provider": "@dev", + "silex/silex": "1.*@dev" + }, + "suggest": { + "dflydev/psr0-resource-locator-service-provider": "1.0.*@dev" + }, + "type": "library", + "autoload": { + "psr-0": { + "Dflydev\\Cilex\\Provider\\DoctrineOrm": "src", + "Dflydev\\Pimple\\Provider\\DoctrineOrm": "src", + "Dflydev\\Silex\\Provider\\DoctrineOrm": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + } + ], + "description": "Doctrine ORM Service Provider", + "homepage": "http://dflydev.com/projects/doctrine-orm-service-provider/", + "keywords": [ + "cilex", + "doctrine", + "orm", + "pimple", + "silex" + ], + "time": "2015-09-07T12:16:54+00:00" + }, + { + "name": "doctrine/annotations", + "version": "v1.2.7", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535", + "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "php": ">=5.3.2" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Annotations\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2015-08-31T12:32:49+00:00" + }, + { + "name": "doctrine/cache", + "version": "1.6.x-dev", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "b6f544a20f4807e81f7044d31e679ccbb1866dc3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/b6f544a20f4807e81f7044d31e679ccbb1866dc3", + "reference": "b6f544a20f4807e81f7044d31e679ccbb1866dc3", + "shasum": "" + }, + "require": { + "php": "~5.5|~7.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8|~5.0", + "predis/predis": "~1.0", + "satooshi/php-coveralls": "~0.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2016-10-29T11:16:17+00:00" + }, + { + "name": "doctrine/collections", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a", + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "array", + "collections", + "iterator" + ], + "time": "2015-04-14T22:21:58+00:00" + }, + { + "name": "doctrine/common", + "version": "v2.6.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "7bce00698899aa2c06fe7365c76e4d78ddb15fa3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/7bce00698899aa2c06fe7365c76e4d78ddb15fa3", + "reference": "7bce00698899aa2c06fe7365c76e4d78ddb15fa3", + "shasum": "" + }, + "require": { + "doctrine/annotations": "1.*", + "doctrine/cache": "1.*", + "doctrine/collections": "1.*", + "doctrine/inflector": "1.*", + "doctrine/lexer": "1.*", + "php": "~5.5|~7.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8|~5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common Library for Doctrine projects", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "collections", + "eventmanager", + "persistence", + "spl" + ], + "time": "2016-11-30T16:50:46+00:00" + }, + { + "name": "doctrine/dbal", + "version": "v2.5.10", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "fc376f7a61498e18520cd6fa083752a4ca08072b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/fc376f7a61498e18520cd6fa083752a4ca08072b", + "reference": "fc376f7a61498e18520cd6fa083752a4ca08072b", + "shasum": "" + }, + "require": { + "doctrine/common": ">=2.4,<2.8-dev", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "4.*", + "symfony/console": "2.*||^3.0" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\DBAL\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Database Abstraction Layer", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "persistence", + "queryobject" + ], + "time": "2017-01-23T23:17:10+00:00" + }, + { + "name": "doctrine/inflector", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Inflector\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2015-11-06T14:35:42+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "shasum": "" + }, + "require": { + "php": ">=5.3,<8.0-DEV" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2015-06-14T21:17:01+00:00" + }, + { + "name": "doctrine/lexer", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Lexer\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "lexer", + "parser" + ], + "time": "2014-09-09T13:34:57+00:00" + }, + { + "name": "doctrine/migrations", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/migrations.git", + "reference": "c81147c0f2938a6566594455367e095150547f72" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/c81147c0f2938a6566594455367e095150547f72", + "reference": "c81147c0f2938a6566594455367e095150547f72", + "shasum": "" + }, + "require": { + "doctrine/dbal": "~2.2", + "ocramius/proxy-manager": "^1.0|^2.0", + "php": "^5.5|^7.0", + "symfony/console": "~2.3|~3.0", + "symfony/yaml": "~2.3|~3.0" + }, + "require-dev": { + "doctrine/coding-standard": "dev-master", + "doctrine/orm": "2.*", + "jdorn/sql-formatter": "~1.1", + "johnkary/phpunit-speedtrap": "~1.0@dev", + "mikey179/vfsstream": "^1.6", + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "~4.7", + "satooshi/php-coveralls": "^1.0" + }, + "suggest": { + "jdorn/sql-formatter": "Allows to generate formatted SQL with the diff command." + }, + "bin": [ + "bin/doctrine-migrations" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "v1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\DBAL\\Migrations\\": "lib/Doctrine/DBAL/Migrations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1" + ], + "authors": [ + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Michael Simonson", + "email": "contact@mikesimonson.com" + } + ], + "description": "Database Schema migrations using Doctrine DBAL", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "migrations" + ], + "time": "2016-12-25T22:54:00+00:00" + }, + { + "name": "doctrine/orm", + "version": "v2.5.6", + "source": { + "type": "git", + "url": "https://github.com/doctrine/orm.git", + "reference": "e6c434196c8ef058239aaa0724b4aadb0107940b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/orm/zipball/e6c434196c8ef058239aaa0724b4aadb0107940b", + "reference": "e6c434196c8ef058239aaa0724b4aadb0107940b", + "shasum": "" + }, + "require": { + "doctrine/cache": "~1.4", + "doctrine/collections": "~1.2", + "doctrine/common": ">=2.5-dev,<2.8-dev", + "doctrine/dbal": ">=2.5-dev,<2.6-dev", + "doctrine/instantiator": "~1.0.1", + "ext-pdo": "*", + "php": ">=5.4", + "symfony/console": "~2.5|~3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "symfony/yaml": "~2.3|~3.0" + }, + "suggest": { + "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" + }, + "bin": [ + "bin/doctrine", + "bin/doctrine.php" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\ORM\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Object-Relational-Mapper for PHP", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "orm" + ], + "time": "2016-12-18T15:42:34+00:00" + }, + { + "name": "elasticsearch/elasticsearch", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/elastic/elasticsearch-php.git", + "reference": "12a400656e4cf4c231d83cb56af3f50a27dcde93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/elastic/elasticsearch-php/zipball/12a400656e4cf4c231d83cb56af3f50a27dcde93", + "reference": "12a400656e4cf4c231d83cb56af3f50a27dcde93", + "shasum": "" + }, + "require": { + "guzzlehttp/ringphp": "~1.0", + "php": ">=5.4", + "psr/log": "~1.0" + }, + "require-dev": { + "cpliakas/git-wrapper": "~1.0", + "mockery/mockery": "0.9.4", + "phpunit/phpunit": "~4.7", + "sami/sami": "~3.2", + "symfony/yaml": "2.4.3 as 2.4.2", + "twig/twig": "1.*" + }, + "suggest": { + "ext-curl": "*", + "monolog/monolog": "Allows for client-level logging and tracing" + }, + "type": "library", + "autoload": { + "psr-4": { + "Elasticsearch\\": "src/Elasticsearch/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Zachary Tong" + } + ], + "description": "PHP Client for Elasticsearch", + "keywords": [ + "client", + "elasticsearch", + "search" + ], + "time": "2016-11-30T17:15:05+00:00" + }, + { + "name": "evenement/evenement", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/igorw/evenement.git", + "reference": "fa966683e7df3e5dd5929d984a44abfbd6bafe8d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/igorw/evenement/zipball/fa966683e7df3e5dd5929d984a44abfbd6bafe8d", + "reference": "fa966683e7df3e5dd5929d984a44abfbd6bafe8d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Evenement": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch", + "homepage": "http://wiedler.ch/igor/" + } + ], + "description": "ƉvĆ©nement is a very simple event dispatching library for PHP 5.3", + "keywords": [ + "event-dispatcher" + ], + "time": "2012-05-30T15:01:08+00:00" + }, + { + "name": "exiftool/exiftool", + "version": "11", + "source": { + "type": "git", + "url": "https://github.com/exiftool/exiftool.git", + "reference": "11.84" + }, + "type": "library" + }, + { + "name": "facebook/graph-sdk", + "version": "5.6.1", + "source": { + "type": "git", + "url": "https://github.com/facebook/php-graph-sdk.git", + "reference": "2f9639c15ae043911f40ffe44080b32bac2c5280" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facebook/php-graph-sdk/zipball/2f9639c15ae043911f40ffe44080b32bac2c5280", + "reference": "2f9639c15ae043911f40ffe44080b32bac2c5280", + "shasum": "" + }, + "require": { + "php": "^5.4|^7.0" + }, + "require-dev": { + "guzzlehttp/guzzle": "~5.0", + "mockery/mockery": "~0.8", + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "guzzlehttp/guzzle": "Allows for implementation of the Guzzle HTTP client", + "paragonie/random_compat": "Provides a better CSPRNG option in PHP 5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "Facebook\\": "src/Facebook/" + }, + "files": [ + "src/Facebook/polyfills.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Facebook Platform" + ], + "authors": [ + { + "name": "Facebook", + "homepage": "https://github.com/facebook/php-graph-sdk/contributors" + } + ], + "description": "Facebook SDK for PHP", + "homepage": "https://github.com/facebook/php-graph-sdk", + "keywords": [ + "facebook", + "sdk" + ], + "time": "2017-08-16T17:28:07+00:00" + }, + { + "name": "firebase/php-jwt", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/firebase/php-jwt.git", + "reference": "fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1", + "reference": "fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Firebase\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Neuman Vong", + "email": "neuman+pear@twilio.com", + "role": "Developer" + }, + { + "name": "Anant Narayanan", + "email": "anant@php.net", + "role": "Developer" + } + ], + "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", + "homepage": "https://github.com/firebase/php-jwt", + "time": "2015-07-22T18:31:08+00:00" + }, + { + "name": "gedmo/doctrine-extensions", + "version": "v2.3.12", + "source": { + "type": "git", + "url": "https://github.com/Atlantic18/DoctrineExtensions.git", + "reference": "c3ff3c73c95b01e107af33d4fe3abf80794e2df9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Atlantic18/DoctrineExtensions/zipball/c3ff3c73c95b01e107af33d4fe3abf80794e2df9", + "reference": "c3ff3c73c95b01e107af33d4fe3abf80794e2df9", + "shasum": "" + }, + "require": { + "behat/transliterator": "~1.0", + "doctrine/common": "~2.4", + "php": ">=5.3.2" + }, + "require-dev": { + "doctrine/mongodb-odm": ">=1.0.0-BETA11", + "doctrine/orm": "~2.4", + "phpunit/phpunit": "~4.4", + "phpunit/phpunit-mock-objects": "~2.3", + "symfony/yaml": "~2.3" + }, + "suggest": { + "doctrine/mongodb-odm": "to use the extensions with the MongoDB ODM", + "doctrine/orm": "to use the extensions with the ORM" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Gedmo\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "David Buchmann", + "email": "david@liip.ch" + }, + { + "name": "Gediminas Morkevicius", + "email": "gediminas.morkevicius@gmail.com" + }, + { + "name": "Gustavo Falco", + "email": "comfortablynumb84@gmail.com" + } + ], + "description": "Doctrine2 behavioral extensions", + "homepage": "http://gediminasm.org/", + "keywords": [ + "Blameable", + "behaviors", + "doctrine2", + "extensions", + "gedmo", + "loggable", + "nestedset", + "sluggable", + "sortable", + "timestampable", + "translatable", + "tree", + "uploadable" + ], + "time": "2015-02-24T21:41:37+00:00" + }, + { + "name": "goodby/csv", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/goodby/csv.git", + "reference": "e71217b8d6110f3d1ac3784ef9b8a2383c3398b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/goodby/csv/zipball/e71217b8d6110f3d1ac3784ef9b8a2383c3398b9", + "reference": "e71217b8d6110f3d1ac3784ef9b8a2383c3398b9", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.3.2" + }, + "require-dev": { + "mikey179/vfsstream": ">=1.1.0", + "mockery/mockery": ">=0.7.2", + "phpunit/phpunit": "3.7.*", + "suin/php-expose": ">=1.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Goodby\\CSV": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "suin", + "email": "suinyeze@gmail.com", + "homepage": "https://www.facebook.com/suinyeze", + "role": "Developer, Renaming Specialist" + }, + { + "name": "reoring", + "email": "mori.reo@gmail.com", + "homepage": "https://www.facebook.com/reoring", + "role": "Developer" + } + ], + "description": "CSV import/export library", + "homepage": "https://github.com/goodby/csv", + "keywords": [ + "csv", + "export", + "import" + ], + "time": "2015-06-29T10:28:19+00:00" + }, + { + "name": "google/apiclient", + "version": "v2.2.1", + "source": { + "type": "git", + "url": "https://github.com/googleapis/google-api-php-client.git", + "reference": "b69b8ac4bf6501793c389d4e013a79d09c85c5f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/b69b8ac4bf6501793c389d4e013a79d09c85c5f2", + "reference": "b69b8ac4bf6501793c389d4e013a79d09c85c5f2", + "shasum": "" + }, + "require": { + "firebase/php-jwt": "~2.0|~3.0|~4.0|~5.0", + "google/apiclient-services": "~0.13", + "google/auth": "^1.0", + "guzzlehttp/guzzle": "~5.3.1|~6.0", + "guzzlehttp/psr7": "^1.2", + "monolog/monolog": "^1.17", + "php": ">=5.4", + "phpseclib/phpseclib": "~0.3.10|~2.0" + }, + "require-dev": { + "cache/filesystem-adapter": "^0.3.2", + "phpunit/phpunit": "~4", + "squizlabs/php_codesniffer": "~2.3", + "symfony/css-selector": "~2.1", + "symfony/dom-crawler": "~2.1" + }, + "suggest": { + "cache/filesystem-adapter": "For caching certs and tokens (using Google_Client::setCache)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Google_": "src/" + }, + "classmap": [ + "src/Google/Service/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Client library for Google APIs", + "homepage": "http://developers.google.com/api-client-library/php", + "keywords": [ + "google" + ], + "time": "2017-11-03T01:19:53+00:00" + }, + { + "name": "google/apiclient-services", + "version": "v0.36", + "source": { + "type": "git", + "url": "https://github.com/googleapis/google-api-php-client-services.git", + "reference": "2fd7d2876fbc0174faddba3241956a1393536159" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/2fd7d2876fbc0174faddba3241956a1393536159", + "reference": "2fd7d2876fbc0174faddba3241956a1393536159", + "shasum": "" + }, + "require": { + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "psr-0": { + "Google_Service_": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Client library for Google APIs", + "homepage": "http://developers.google.com/api-client-library/php", + "keywords": [ + "google" + ], + "time": "2017-11-25T00:23:12+00:00" + }, + { + "name": "google/auth", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/googleapis/google-auth-library-php.git", + "reference": "548d27d670f0236dc5258fa4cdde6e7b63464cfd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/548d27d670f0236dc5258fa4cdde6e7b63464cfd", + "reference": "548d27d670f0236dc5258fa4cdde6e7b63464cfd", + "shasum": "" + }, + "require": { + "firebase/php-jwt": "~2.0|~3.0|~4.0|~5.0", + "guzzlehttp/guzzle": "~5.3.1|~6.0", + "guzzlehttp/psr7": "~1.2", + "php": ">=5.4", + "psr/cache": "^1.0", + "psr/http-message": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^1.11", + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Google\\Auth\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Google Auth Library for PHP", + "homepage": "http://github.com/google/google-auth-library-php", + "keywords": [ + "Authentication", + "google", + "oauth2" + ], + "time": "2017-10-10T17:01:45+00:00" + }, + { + "name": "google/recaptcha", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/google/recaptcha.git", + "reference": "5a56d15ca10a7b75158178752b2ad8f755eb4f78" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/google/recaptcha/zipball/5a56d15ca10a7b75158178752b2ad8f755eb4f78", + "reference": "5a56d15ca10a7b75158178752b2ad8f755eb4f78", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "ReCaptcha\\": "src/ReCaptcha" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Client library for reCAPTCHA, a free service that protect websites from spam and abuse.", + "homepage": "http://www.google.com/recaptcha/", + "keywords": [ + "Abuse", + "captcha", + "recaptcha", + "spam" + ], + "time": "2017-03-09T18:44:34+00:00" + }, + { + "name": "guzzle/guzzle", + "version": "v3.9.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle3.git", + "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", + "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": ">=5.3.3", + "symfony/event-dispatcher": "~2.1" + }, + "replace": { + "guzzle/batch": "self.version", + "guzzle/cache": "self.version", + "guzzle/common": "self.version", + "guzzle/http": "self.version", + "guzzle/inflection": "self.version", + "guzzle/iterator": "self.version", + "guzzle/log": "self.version", + "guzzle/parser": "self.version", + "guzzle/plugin": "self.version", + "guzzle/plugin-async": "self.version", + "guzzle/plugin-backoff": "self.version", + "guzzle/plugin-cache": "self.version", + "guzzle/plugin-cookie": "self.version", + "guzzle/plugin-curlauth": "self.version", + "guzzle/plugin-error-response": "self.version", + "guzzle/plugin-history": "self.version", + "guzzle/plugin-log": "self.version", + "guzzle/plugin-md5": "self.version", + "guzzle/plugin-mock": "self.version", + "guzzle/plugin-oauth": "self.version", + "guzzle/service": "self.version", + "guzzle/stream": "self.version" + }, + "require-dev": { + "doctrine/cache": "~1.3", + "monolog/monolog": "~1.0", + "phpunit/phpunit": "3.7.*", + "psr/log": "~1.0", + "symfony/class-loader": "~2.1", + "zendframework/zend-cache": "2.*,<2.3", + "zendframework/zend-log": "2.*,<2.3" + }, + "suggest": { + "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.9-dev" + } + }, + "autoload": { + "psr-0": { + "Guzzle": "src/", + "Guzzle\\Tests": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Guzzle Community", + "homepage": "https://github.com/guzzle/guzzle/contributors" + } + ], + "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "abandoned": "guzzlehttp/guzzle", + "time": "2015-03-18T18:23:50+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.3.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699", + "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.0 || ^5.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2017-06-22T18:50:49+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "shasum": "" + }, + "require": { + "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.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "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" + }, + { + "name": "guzzlehttp/ringphp", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/RingPHP.git", + "reference": "dbbb91d7f6c191e5e405e900e3102ac7f261bc0b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/dbbb91d7f6c191e5e405e900e3102ac7f261bc0b", + "reference": "dbbb91d7f6c191e5e405e900e3102ac7f261bc0b", + "shasum": "" + }, + "require": { + "guzzlehttp/streams": "~3.0", + "php": ">=5.4.0", + "react/promise": "~2.0" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "ext-curl": "Guzzle will use specific adapters if cURL is present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Ring\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.", + "abandoned": true, + "time": "2015-05-20T03:37:09+00:00" + }, + { + "name": "guzzlehttp/streams", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/streams.git", + "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Stream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Provides a simple abstraction over streams of data", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "Guzzle", + "stream" + ], + "abandoned": true, + "time": "2014-10-12T19:18:40+00:00" + }, + { + "name": "hoa/compiler", + "version": "2.15.10.29", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Compiler.git", + "reference": "ec0849fd3c1472fbcd86c3c961981f0cfe1f8d39" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Compiler/zipball/ec0849fd3c1472fbcd86c3c961981f0cfe1f8d39", + "reference": "ec0849fd3c1472fbcd86c3c961981f0cfe1f8d39", + "shasum": "" + }, + "require": { + "hoa/core": "~2.0", + "hoa/file": "~0.0", + "hoa/iterator": "~1.0", + "hoa/math": "~0.0", + "hoa/regex": "~0.0", + "hoa/visitor": "~1.0" + }, + "require-dev": { + "hoa/json": "~1.0", + "hoa/test": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Compiler\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Compiler library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "algebraic", + "ast", + "compiler", + "context-free", + "coverage", + "exhaustive", + "grammar", + "isotropic", + "language", + "lexer", + "library", + "ll1", + "llk", + "parser", + "pp", + "random", + "regular", + "rule", + "sampler", + "syntax", + "token", + "trace", + "uniform" + ], + "time": "2015-10-29T21:35:12+00:00" + }, + { + "name": "hoa/console", + "version": "2.15.07.27", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Console.git", + "reference": "3b871f5f1059a3664acb5380ebadd988daa7a0db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Console/zipball/3b871f5f1059a3664acb5380ebadd988daa7a0db", + "reference": "3b871f5f1059a3664acb5380ebadd988daa7a0db", + "shasum": "" + }, + "require": { + "hoa/core": "~2.0", + "hoa/stream": "~0.0", + "hoa/ustring": "~3.0" + }, + "require-dev": { + "hoa/test": "~1.0" + }, + "suggest": { + "ext-pcntl": "To enable hoa://Event/Console/Window:resize.", + "hoa/dispatcher": "To use the console kit.", + "hoa/router": "To use the console kit." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Console\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Console library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "autocompletion", + "chrome", + "cli", + "console", + "cursor", + "getoption", + "library", + "option", + "parser", + "processus", + "readline", + "terminfo", + "tput", + "window" + ], + "time": "2015-07-27T07:52:10+00:00" + }, + { + "name": "hoa/core", + "version": "2.15.11.09", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Core.git", + "reference": "5538b1e90e2c66c90df5cc45e03fb85d047be900" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Core/zipball/5538b1e90e2c66c90df5cc45e03fb85d047be900", + "reference": "5538b1e90e2c66c90df5cc45e03fb85d047be900", + "shasum": "" + }, + "require": { + "ext-spl": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "hoa/test": "~1.0" + }, + "suggest": { + "ext-mbstring": "ext/mbstring must be present (or a third implementation).", + "hoa/cli": "To use the `hoa` script." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Core\\": "." + }, + "files": [ + "Core.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Core library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "consistency", + "core", + "data", + "event", + "library", + "listener", + "parameter", + "protocol" + ], + "abandoned": "hoa/consistency", + "time": "2015-11-09T06:51:06+00:00" + }, + { + "name": "hoa/dispatcher", + "version": "0.15.11.09", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Dispatcher.git", + "reference": "45fd0484824b2a3a5059296eb2403399606627d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Dispatcher/zipball/45fd0484824b2a3a5059296eb2403399606627d9", + "reference": "45fd0484824b2a3a5059296eb2403399606627d9", + "shasum": "" + }, + "require": { + "hoa/core": "~2.0" + }, + "require-dev": { + "hoa/router": "~2.0", + "hoa/test": "~1.0", + "hoa/view": "~2.0" + }, + "suggest": { + "hoa/router": "Provide routers.", + "hoa/view": "Provide view interface." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Dispatcher\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Dispatcher library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "dispatcher", + "kit", + "library" + ], + "time": "2015-11-09T06:52:08+00:00" + }, + { + "name": "hoa/file", + "version": "0.15.11.09", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/File.git", + "reference": "f46fe552ff79cb6c93a2ff9c25cfbc134fbd57ee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/File/zipball/f46fe552ff79cb6c93a2ff9c25cfbc134fbd57ee", + "reference": "f46fe552ff79cb6c93a2ff9c25cfbc134fbd57ee", + "shasum": "" + }, + "require": { + "hoa/core": "~2.0", + "hoa/iterator": "~1.0", + "hoa/stream": "~0.0" + }, + "require-dev": { + "hoa/test": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\File\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\File library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "Socket", + "directory", + "file", + "finder", + "library", + "link", + "temporary" + ], + "time": "2015-11-09T06:55:20+00:00" + }, + { + "name": "hoa/iterator", + "version": "1.15.10.29", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Iterator.git", + "reference": "a64ed9fd62579a34e4450134d6d1abdf77d54435" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Iterator/zipball/a64ed9fd62579a34e4450134d6d1abdf77d54435", + "reference": "a64ed9fd62579a34e4450134d6d1abdf77d54435", + "shasum": "" + }, + "require": { + "hoa/core": "~2.0" + }, + "require-dev": { + "hoa/test": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Iterator\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Iterator library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "iterator", + "library" + ], + "time": "2015-10-29T21:37:16+00:00" + }, + { + "name": "hoa/math", + "version": "0.15.10.26", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Math.git", + "reference": "62631c65d9a4f1b8bb4c4a3d6cdff0e8971d684e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Math/zipball/62631c65d9a4f1b8bb4c4a3d6cdff0e8971d684e", + "reference": "62631c65d9a4f1b8bb4c4a3d6cdff0e8971d684e", + "shasum": "" + }, + "require": { + "hoa/compiler": "~2.0", + "hoa/core": "~2.0", + "hoa/iterator": "~1.0" + }, + "require-dev": { + "hoa/test": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Math\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Math library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "arrangement", + "combination", + "combinatorics", + "counting", + "library", + "math", + "permutation", + "sampler", + "set" + ], + "time": "2015-10-26T15:22:52+00:00" + }, + { + "name": "hoa/regex", + "version": "0.15.08.13", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Regex.git", + "reference": "2ef8a77ef3885ca202fcd9c31a8e54c44cd04232" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Regex/zipball/2ef8a77ef3885ca202fcd9c31a8e54c44cd04232", + "reference": "2ef8a77ef3885ca202fcd9c31a8e54c44cd04232", + "shasum": "" + }, + "require": { + "hoa/core": "~2.0", + "hoa/math": "~0.0", + "hoa/ustring": "~3.0", + "hoa/visitor": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Regex\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Regex library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "compiler", + "library", + "regex" + ], + "time": "2015-08-13T06:48:47+00:00" + }, + { + "name": "hoa/router", + "version": "2.15.10.21", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Router.git", + "reference": "6d9a39c5655660ea80d8196fddccdc02054ea3bd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Router/zipball/6d9a39c5655660ea80d8196fddccdc02054ea3bd", + "reference": "6d9a39c5655660ea80d8196fddccdc02054ea3bd", + "shasum": "" + }, + "require": { + "hoa/core": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Router\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Router library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "cli", + "http", + "library", + "router" + ], + "time": "2015-10-21T14:12:51+00:00" + }, + { + "name": "hoa/stream", + "version": "0.15.10.26", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Stream.git", + "reference": "3bc446bc00849bf51166adc415d77aa375d48d8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Stream/zipball/3bc446bc00849bf51166adc415d77aa375d48d8c", + "reference": "3bc446bc00849bf51166adc415d77aa375d48d8c", + "shasum": "" + }, + "require": { + "hoa/core": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Stream\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Stream library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "Context", + "bucket", + "composite", + "filter", + "in", + "library", + "out", + "protocol", + "stream", + "wrapper" + ], + "time": "2015-10-26T12:21:43+00:00" + }, + { + "name": "hoa/ustring", + "version": "3.15.11.09", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Ustring.git", + "reference": "8506be4910212b1a2beb9014763a8a4fbd871001" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Ustring/zipball/8506be4910212b1a2beb9014763a8a4fbd871001", + "reference": "8506be4910212b1a2beb9014763a8a4fbd871001", + "shasum": "" + }, + "require": { + "hoa/core": "~2.0" + }, + "require-dev": { + "hoa/test": "~1.0" + }, + "suggest": { + "ext-iconv": "ext/iconv must be present (or a third implementation) to use Hoa\\Ustring::transcode().", + "ext-intl": "To get a better Hoa\\Ustring::toAscii() and Hoa\\Ustring::compareTo()." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Ustring\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Ustring library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "library", + "search", + "string", + "unicode" + ], + "time": "2015-11-09T06:44:33+00:00" + }, + { + "name": "hoa/visitor", + "version": "1.15.08.17", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Visitor.git", + "reference": "e30bfff741f71979f6476a41548e34afe8053c67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Visitor/zipball/e30bfff741f71979f6476a41548e34afe8053c67", + "reference": "e30bfff741f71979f6476a41548e34afe8053c67", + "shasum": "" + }, + "require": { + "hoa/core": "~2.0" + }, + "require-dev": { + "hoa/test": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Visitor\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "http://hoa-project.net/" + } + ], + "description": "The Hoa\\Visitor library.", + "homepage": "http://hoa-project.net/", + "keywords": [ + "library", + "structure", + "visit", + "visitor" + ], + "time": "2015-08-17T06:30:58+00:00" + }, + { + "name": "igorw/get-in", + "version": "v1.0.3", + "source": { + "type": "git", + "url": "https://github.com/igorw/get-in.git", + "reference": "170ded831f49abc6a6061f655aba9bdbcf7b8111" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/igorw/get-in/zipball/170ded831f49abc6a6061f655aba9bdbcf7b8111", + "reference": "170ded831f49abc6a6061f655aba9bdbcf7b8111", + "shasum": "" + }, + "require": { + "php": ">=5.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "files": [ + "src/get_in.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + } + ], + "description": "Functions for for hash map (assoc array) traversal.", + "keywords": [ + "assoc-array", + "hash-map" + ], + "time": "2014-12-15T23:03:51+00:00" + }, + { + "name": "imagine/imagine", + "version": "0.6.x-dev", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/Imagine.git", + "reference": "6605d13e3b24f335fe80099c193546671158c041" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/Imagine/zipball/6605d13e3b24f335fe80099c193546671158c041", + "reference": "6605d13e3b24f335fe80099c193546671158c041", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "sami/sami": "dev-master" + }, + "suggest": { + "ext-gd": "to use the GD implementation", + "ext-gmagick": "to use the Gmagick implementation", + "ext-imagick": "to use the Imagick implementation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "0.7-dev" + } + }, + "autoload": { + "psr-0": { + "Imagine": "lib/" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bulat Shakirzyanov", + "email": "mallluhuct@gmail.com", + "homepage": "http://avalanche123.com" + } + ], + "description": "Image processing for PHP 5.3", + "homepage": "http://imagine.readthedocs.org/", + "keywords": [ + "drawing", + "graphics", + "image manipulation", + "image processing" + ], + "support": { + "source": "https://github.com/alchemy-fr/Imagine/tree/alchemy-0.6.2" + }, + "time": "2015-01-13T18:12:26+00:00" + }, + { + "name": "ircmaxell/password-compat", + "version": "v1.0.4", + "source": { + "type": "git", + "url": "https://github.com/ircmaxell/password_compat.git", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", + "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "autoload": { + "files": [ + "lib/password.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthony Ferrara", + "email": "ircmaxell@php.net", + "homepage": "http://blog.ircmaxell.com" + } + ], + "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", + "homepage": "https://github.com/ircmaxell/password_compat", + "keywords": [ + "hashing", + "password" + ], + "time": "2014-11-20T16:49:30+00:00" + }, + { + "name": "ircmaxell/security-lib", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/ircmaxell/SecurityLib.git", + "reference": "f3db6de12c20c9bcd1aa3db4353a1bbe0e44e1b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ircmaxell/SecurityLib/zipball/f3db6de12c20c9bcd1aa3db4353a1bbe0e44e1b5", + "reference": "f3db6de12c20c9bcd1aa3db4353a1bbe0e44e1b5", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "mikey179/vfsstream": "1.1.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "SecurityLib": "lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthony Ferrara", + "email": "ircmaxell@ircmaxell.com", + "homepage": "http://blog.ircmaxell.com" + } + ], + "description": "A Base Security Library", + "homepage": "https://github.com/ircmaxell/SecurityLib", + "time": "2015-03-20T14:31:23+00:00" + }, + { + "name": "jms/metadata", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/metadata.git", + "reference": "6a06970a10e0a532fb52d3959547123b84a3b3ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/6a06970a10e0a532fb52d3959547123b84a3b3ab", + "reference": "6a06970a10e0a532fb52d3959547123b84a3b3ab", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "doctrine/cache": "~1.0", + "symfony/cache": "~3.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5.x-dev" + } + }, + "autoload": { + "psr-0": { + "Metadata\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Class/method/property metadata management in PHP", + "keywords": [ + "annotations", + "metadata", + "xml", + "yaml" + ], + "time": "2016-12-05T10:18:33+00:00" + }, + { + "name": "jms/parser-lib", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/parser-lib.git", + "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/parser-lib/zipball/c509473bc1b4866415627af0e1c6cc8ac97fa51d", + "reference": "c509473bc1b4866415627af0e1c6cc8ac97fa51d", + "shasum": "" + }, + "require": { + "phpoption/phpoption": ">=0.9,<2.0-dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-0": { + "JMS\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "description": "A library for easily creating recursive-descent parsers.", + "time": "2012-11-18T18:08:43+00:00" + }, + { + "name": "jms/serializer", + "version": "0.16.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/serializer.git", + "reference": "c8a171357ca92b6706e395c757f334902d430ea9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/c8a171357ca92b6706e395c757f334902d430ea9", + "reference": "c8a171357ca92b6706e395c757f334902d430ea9", + "shasum": "" + }, + "require": { + "doctrine/annotations": "1.*", + "jms/metadata": "~1.1", + "jms/parser-lib": "1.*", + "php": ">=5.3.2", + "phpcollection/phpcollection": "~0.1" + }, + "require-dev": { + "doctrine/orm": "~2.1", + "doctrine/phpcr-odm": "~1.0.1", + "jackalope/jackalope-doctrine-dbal": "1.0.*", + "propel/propel1": "~1.7", + "symfony/filesystem": "2.*", + "symfony/form": "~2.1", + "symfony/translation": "~2.0", + "symfony/validator": "~2.0", + "symfony/yaml": "2.*", + "twig/twig": ">=1.8,<2.0-dev" + }, + "suggest": { + "symfony/yaml": "Required if you'd like to serialize data to YAML format." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.15-dev" + } + }, + "autoload": { + "psr-0": { + "JMS\\Serializer": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "authors": [ + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.", + "homepage": "http://jmsyst.com/libs/serializer", + "keywords": [ + "deserialization", + "jaxb", + "json", + "serialization", + "xml" + ], + "time": "2014-03-18T08:39:00+00:00" + }, + { + "name": "jms/translation-bundle", + "version": "dev-rebase-2015-10-20", + "target-dir": "JMS/TranslationBundle", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/JMSTranslationBundle.git", + "reference": "aff66e65736d9fddbd17cac5a5f0c6fd044c6a92" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/JMSTranslationBundle/zipball/aff66e65736d9fddbd17cac5a5f0c6fd044c6a92", + "reference": "aff66e65736d9fddbd17cac5a5f0c6fd044c6a92", + "shasum": "" + }, + "require": { + "nikic/php-parser": "~1.4.1", + "symfony/console": "*", + "symfony/framework-bundle": "~2.1" + }, + "conflict": { + "twig/twig": "<1.12" + }, + "require-dev": { + "jms/di-extra-bundle": ">=1.1", + "sensio/framework-extra-bundle": "*", + "symfony/browser-kit": "*", + "symfony/class-loader": "*", + "symfony/css-selector": "*", + "symfony/expression-language": "~2.6", + "symfony/finder": "*", + "symfony/form": "*", + "symfony/process": "*", + "symfony/security": "*", + "symfony/twig-bundle": "*", + "symfony/validator": "*", + "symfony/yaml": "*" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev", + "dev-rebase-2015-10-20": "1.1-dev" + } + }, + "autoload": { + "psr-0": { + "JMS\\TranslationBundle": "" + } + }, + "license": [ + "Apache2" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Puts the Symfony2 Translation Component on steroids", + "homepage": "http://jmsyst.com/bundles/JMSTranslationBundle", + "keywords": [ + "extract", + "extraction", + "i18n", + "interface", + "multilanguage", + "translation", + "ui", + "webinterface" + ], + "support": { + "source": "https://github.com/alchemy-fr/JMSTranslationBundle/tree/rebase-2015-10-20" + }, + "time": "2015-11-04T15:09:44+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "c21534c635f03428e92254333fab4ae35b2cdfd9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/c21534c635f03428e92254333fab4ae35b2cdfd9", + "reference": "c21534c635f03428e92254333fab4ae35b2cdfd9", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "json-schema/json-schema-test-suite": "1.1.2", + "phpdocumentor/phpdocumentor": "~2", + "phpunit/phpunit": "^4.8.22" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schƶnthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "time": "2016-05-10T20:38:51+00:00" + }, + { + "name": "league/flysystem", + "version": "1.0.34", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "469ad53c13ea19a0e54e3e5d70f61227ddcc0299" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/469ad53c13ea19a0e54e3e5d70f61227ddcc0299", + "reference": "469ad53c13ea19a0e54e3e5d70f61227ddcc0299", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "conflict": { + "league/flysystem-sftp": "<1.0.6" + }, + "require-dev": { + "ext-fileinfo": "*", + "mockery/mockery": "~0.9", + "phpspec/phpspec": "^2.2", + "phpunit/phpunit": "~4.8" + }, + "suggest": { + "ext-fileinfo": "Required for MimeType", + "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", + "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", + "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", + "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", + "league/flysystem-copy": "Allows you to use Copy.com storage", + "league/flysystem-dropbox": "Allows you to use Dropbox storage", + "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", + "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", + "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", + "league/flysystem-webdav": "Allows you to use WebDAV storage", + "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frenky.net" + } + ], + "description": "Filesystem abstraction: Many filesystems, one API.", + "keywords": [ + "Cloud Files", + "WebDAV", + "abstraction", + "aws", + "cloud", + "copy.com", + "dropbox", + "file systems", + "files", + "filesystem", + "filesystems", + "ftp", + "rackspace", + "remote", + "s3", + "sftp", + "storage" + ], + "time": "2017-01-30T17:41:17+00:00" + }, + { + "name": "league/flysystem-aws-s3-v2", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-aws-s3-v2.git", + "reference": "e464a35e34abed572c76b76aa2f278d178e141c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v2/zipball/e464a35e34abed572c76b76aa2f278d178e141c6", + "reference": "e464a35e34abed572c76b76aa2f278d178e141c6", + "shasum": "" + }, + "require": { + "aws/aws-sdk-php": "~2.7", + "league/flysystem": "~1.0", + "php": ">=5.4.0" + }, + "require-dev": { + "mockery/mockery": "0.9.*", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Flysystem\\AwsS3v2\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frenky.net" + } + ], + "description": "Flysystem adapter for AWS S3 SDK v2", + "time": "2015-10-15T15:55:48+00:00" + }, + { + "name": "league/fractal", + "version": "dev-webgalleries", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/fractal.git", + "reference": "af1acc0275438571bc8c1d08a05a4b5af92c9f97" + }, + "require": { + "php": ">=5.4" + }, + "require-dev": { + "illuminate/contracts": "~5.0", + "mockery/mockery": "~0.9", + "pagerfanta/pagerfanta": "~1.0.0", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~1.5", + "zendframework/zend-paginator": "~2.3" + }, + "suggest": { + "illuminate/pagination": "The Illuminate Pagination component.", + "pagerfanta/pagerfanta": "Pagerfanta Paginator", + "zendframework/zend-paginator": "Zend Framework Paginator" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.13-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Fractal\\": "src" + } + }, + "autoload-dev": { + "psr-4": { + "League\\Fractal\\Test\\": "test" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Phil Sturgeon", + "email": "me@philsturgeon.uk", + "homepage": "http://philsturgeon.uk/", + "role": "Developer" + } + ], + "description": "Handle the output of complex data structures ready for API output.", + "homepage": "http://fractal.thephpleague.com/", + "keywords": [ + "api", + "json", + "league", + "rest" + ], + "time": "2016-12-02T14:55:48+00:00" + }, + { + "name": "media-alchemyst/media-alchemyst", + "version": "0.5.5", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/Media-Alchemyst.git", + "reference": "3bd3204b69882f495adfb617383a077face92ed0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/Media-Alchemyst/zipball/3bd3204b69882f495adfb617383a077face92ed0", + "reference": "3bd3204b69882f495adfb617383a077face92ed0", + "shasum": "" + }, + "require": { + "alchemy/ghostscript": "~0.4.0", + "alchemy/mediavorus": "^0.4.4", + "imagine/imagine": "^0.6.2", + "monolog/monolog": "~1.0", + "neutron/temporary-filesystem": "^2.1.1", + "php": ">=5.3.3", + "php-ffmpeg/php-ffmpeg": ">=0.4.2,<0.6", + "php-mp4box/php-mp4box": "~0.3.0", + "php-unoconv/php-unoconv": "~0.3.1", + "pimple/pimple": "~1.0", + "swftools/swftools": "~0.3.0", + "symfony/console": "^2.1|^3.0", + "symfony/filesystem": "^2.1|^3.0", + "symfony/process": "^2.1.1|^3.0" + }, + "require-dev": { + "alchemy/phpexiftool": "^0.4.0|^0.5.0", + "neutron/silex-imagine-provider": "~0.1", + "phpunit/phpunit": "^4.1|^5.0", + "silex/silex": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.5.x-dev" + } + }, + "autoload": { + "psr-0": { + "MediaAlchemyst": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + }, + { + "name": "Phraseanet Team", + "email": "info@alchemy.fr", + "homepage": "http://www.phraseanet.com/" + } + ], + "description": "An Object Oriented wrapper for easy multimedia conversion, based on Imagine, FFMpeg, SwfTools, Unoconv and other libs", + "keywords": [ + "audio", + "audio processing", + "image", + "image processing", + "video", + "video processing" + ], + "time": "2019-12-11T07:20:45+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.22.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "bad29cb8d18ab0315e6c477751418a82c850d558" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bad29cb8d18ab0315e6c477751418a82c850d558", + "reference": "bad29cb8d18ab0315e6c477751418a82c850d558", + "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" + }, + "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": "2016-11-26T00:15:39+00:00" + }, + { + "name": "mrclay/minify", + "version": "2.1.7", + "source": { + "type": "git", + "url": "https://github.com/mrclay/minify.git", + "reference": "db7fe244932ea77cf1438965693672ea12b33da8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mrclay/minify/zipball/db7fe244932ea77cf1438965693672ea12b33da8", + "reference": "db7fe244932ea77cf1438965693672ea12b33da8", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "php": ">=5.2.1" + }, + "type": "library", + "autoload": { + "classmap": [ + "min/lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Steve Clay", + "email": "steve@mrclay.org", + "homepage": "http://www.mrclay.org/", + "role": "Developer" + } + ], + "description": "Minify is a PHP5 app that helps you follow several rules for client-side performance. It combines multiple CSS or Javascript files, removes unnecessary whitespace and comments, and serves them with gzip encoding and optimal client-side cache headers", + "homepage": "http://code.google.com/p/minify/", + "time": "2013-07-23T19:58:28+00:00" + }, + { + "name": "neutron/process-manager", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/romainneutron/ProcessManager.git", + "reference": "2b3e2a4aa969ce82627199bcdd81fb2553ab25df" + }, + "require": { + "php": ">=5.3.3", + "symfony/process": "~2.4" + }, + "require-dev": { + "phpunit/phpunit": "~3.7", + "sami/sami": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-0": { + "Neutron": "src" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + } + ], + "time": "2014-02-13T20:27:33+00:00" + }, + { + "name": "neutron/recaptcha", + "version": "0.1.3", + "source": { + "type": "git", + "url": "https://github.com/romainneutron/ReCaptcha.git", + "reference": "f9de705c5b8631ec74353bb9f0b5077d50328ab2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/romainneutron/ReCaptcha/zipball/f9de705c5b8631ec74353bb9f0b5077d50328ab2", + "reference": "f9de705c5b8631ec74353bb9f0b5077d50328ab2", + "shasum": "" + }, + "require": { + "guzzle/guzzle": "~3.0" + }, + "require-dev": { + "silex/silex": "1.0.x-dev@dev", + "symfony/http-foundation": "~2.0" + }, + "suggest": { + "symfony/http-foundation": "To bind symfony request to ReCaptcha" + }, + "type": "library", + "autoload": { + "psr-0": { + "Neutron": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + } + ], + "description": "ReCaptcha Client", + "time": "2013-02-14T13:42:00+00:00" + }, + { + "name": "neutron/signal-handler", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/romainneutron/signal-handler.git", + "reference": "5f2069bf4a5901a65be51f57ea60779a279564c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/romainneutron/signal-handler/zipball/5f2069bf4a5901a65be51f57ea60779a279564c1", + "reference": "5f2069bf4a5901a65be51f57ea60779a279564c1", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7" + }, + "type": "library", + "autoload": { + "psr-0": { + "Neutron": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + } + ], + "description": "A library to ease the use of signal handling.", + "keywords": [ + "signal" + ], + "time": "2014-01-15T17:24:13+00:00" + }, + { + "name": "neutron/silex-filesystem-provider", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/romainneutron/Silex-Filesystem-Service-Provider.git", + "reference": "98771524bba1ffa58373c4c06d438f5fb5442ff4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/romainneutron/Silex-Filesystem-Service-Provider/zipball/98771524bba1ffa58373c4c06d438f5fb5442ff4", + "reference": "98771524bba1ffa58373c4c06d438f5fb5442ff4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "silex/silex": ">=1.0", + "symfony/filesystem": ">=2.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Neutron": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + } + ], + "description": "A Silex Provider for Symfony Filesystem component", + "keywords": [ + "filesystem", + "silex", + "temporary-filesystem" + ], + "time": "2012-11-08T21:07:08+00:00" + }, + { + "name": "neutron/silex-imagine-provider", + "version": "0.1.2", + "source": { + "type": "git", + "url": "https://github.com/romainneutron/Imagine-Silex-Service-Provider.git", + "reference": "a8a7862ae90419f2b23746cd8436c2310e4eb084" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/romainneutron/Imagine-Silex-Service-Provider/zipball/a8a7862ae90419f2b23746cd8436c2310e4eb084", + "reference": "a8a7862ae90419f2b23746cd8436c2310e4eb084", + "shasum": "" + }, + "require": { + "imagine/imagine": "*", + "php": ">=5.3.3", + "silex/silex": "~1.0" + }, + "require-dev": { + "symfony/browser-kit": "~2.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Neutron": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + } + ], + "description": "A Silex service provider for Imagine Image Processing Library", + "keywords": [ + "image processing", + "imagine", + "silex" + ], + "time": "2013-05-03T18:48:51+00:00" + }, + { + "name": "neutron/temporary-filesystem", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/romainneutron/Temporary-Filesystem.git", + "reference": "0a72a1c858b95fd469d87baa333f627978504ea8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/romainneutron/Temporary-Filesystem/zipball/0a72a1c858b95fd469d87baa333f627978504ea8", + "reference": "0a72a1c858b95fd469d87baa333f627978504ea8", + "shasum": "" + }, + "require": { + "php": "^5.3.9 || ^7.0", + "symfony/filesystem": "^2.3 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8" + }, + "type": "library", + "autoload": { + "psr-0": { + "Neutron": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com" + } + ], + "description": "Symfony filesystem extension to handle temporary files", + "time": "2016-03-05T10:22:50+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v1.4.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51", + "reference": "f78af2c9c86107aa1a34cd1dbb5bbe9eeb0d9f51", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "files": [ + "lib/bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2015-09-19T14:15:08+00:00" + }, + { + "name": "ocramius/proxy-manager", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/Ocramius/ProxyManager.git", + "reference": "57e9272ec0e8deccf09421596e0e2252df440e11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Ocramius/ProxyManager/zipball/57e9272ec0e8deccf09421596e0e2252df440e11", + "reference": "57e9272ec0e8deccf09421596e0e2252df440e11", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "zendframework/zend-code": ">2.2.5,<3.0" + }, + "require-dev": { + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "1.5.*" + }, + "suggest": { + "ocramius/generated-hydrator": "To have very fast object to array to object conversion for ghost objects", + "zendframework/zend-json": "To have the JsonRpc adapter (Remote Object feature)", + "zendframework/zend-soap": "To have the Soap adapter (Remote Object feature)", + "zendframework/zend-stdlib": "To use the hydrator proxy", + "zendframework/zend-xmlrpc": "To have the XmlRpc adapter (Remote Object feature)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "ProxyManager\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A library providing utilities to generate, instantiate and generally operate with Object Proxies", + "homepage": "https://github.com/Ocramius/ProxyManager", + "keywords": [ + "aop", + "lazy loading", + "proxy", + "proxy pattern", + "service proxies" + ], + "time": "2015-08-09T04:28:19+00:00" + }, + { + "name": "pagerfanta/pagerfanta", + "version": "v1.0.4", + "source": { + "type": "git", + "url": "https://github.com/whiteoctober/Pagerfanta.git", + "reference": "f846c5e06bb66df659a688ea4734aab49de589d6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/whiteoctober/Pagerfanta/zipball/f846c5e06bb66df659a688ea4734aab49de589d6", + "reference": "f846c5e06bb66df659a688ea4734aab49de589d6", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "doctrine/orm": "~2.3", + "doctrine/phpcr-odm": "1.*", + "jackalope/jackalope-doctrine-dbal": "1.*", + "jmikola/geojson": "~1.0", + "mandango/mandango": "~1.0@dev", + "mandango/mondator": "~1.0@dev", + "phpunit/phpunit": "~4 | ~5", + "propel/propel1": "~1.6", + "ruflin/elastica": "~1.3", + "solarium/solarium": "~3.1" + }, + "suggest": { + "doctrine/mongodb-odm": "To use the DoctrineODMMongoDBAdapter.", + "doctrine/orm": "To use the DoctrineORMAdapter.", + "doctrine/phpcr-odm": "To use the DoctrineODMPhpcrAdapter. >= 1.1.0", + "mandango/mandango": "To use the MandangoAdapter.", + "propel/propel1": "To use the PropelAdapter", + "solarium/solarium": "To use the SolariumAdapter." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Pagerfanta\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Pablo DĆ­ez", + "email": "pablodip@gmail.com" + } + ], + "description": "Pagination for PHP 5.3", + "keywords": [ + "page", + "pagination", + "paginator", + "paging" + ], + "time": "2016-11-28T09:17:04+00:00" + }, + { + "name": "paragonie/random-lib", + "version": "v2.0.0", + "source": { + "type": "git", + "url": "https://github.com/paragonie/RandomLib.git", + "reference": "b73a1cb8eae7a346824ccee42298046dedbf2415" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/RandomLib/zipball/b73a1cb8eae7a346824ccee42298046dedbf2415", + "reference": "b73a1cb8eae7a346824ccee42298046dedbf2415", + "shasum": "" + }, + "require": { + "ircmaxell/security-lib": "^1.1", + "paragonie/random_compat": "^2", + "paragonie/sodium_compat": "^1.3", + "php": ">=5.3.2" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^1.11", + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^4.8 || >=5.0.0 <5.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "RandomLib": "lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthony Ferrara", + "email": "ircmaxell@ircmaxell.com", + "homepage": "http://blog.ircmaxell.com" + }, + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "A Library For Generating Secure Random Numbers", + "homepage": "https://github.com/ircmaxell/RandomLib", + "keywords": [ + "cryptography", + "random", + "random-numbers", + "random-strings" + ], + "time": "2017-10-06T23:34:21+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v2.0.4", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e", + "reference": "a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "pseudorandom", + "random" + ], + "time": "2016-11-07T23:38:38+00:00" + }, + { + "name": "paragonie/sodium_compat", + "version": "v1.9.1", + "source": { + "type": "git", + "url": "https://github.com/paragonie/sodium_compat.git", + "reference": "87125d5b265f98c4d1b8d83a1f0726607c229421" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/87125d5b265f98c4d1b8d83a1f0726607c229421", + "reference": "87125d5b265f98c4d1b8d83a1f0726607c229421", + "shasum": "" + }, + "require": { + "paragonie/random_compat": ">=1", + "php": "^5.2.4|^5.3|^5.4|^5.5|^5.6|^7|^8" + }, + "require-dev": { + "phpunit/phpunit": "^3|^4|^5" + }, + "suggest": { + "ext-libsodium": "PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.", + "ext-sodium": "PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security." + }, + "type": "library", + "autoload": { + "files": [ + "autoload.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com" + }, + { + "name": "Frank Denis", + "email": "jedisct1@pureftpd.org" + } + ], + "description": "Pure PHP implementation of libsodium; uses the PHP extension if it exists", + "keywords": [ + "Authentication", + "BLAKE2b", + "ChaCha20", + "ChaCha20-Poly1305", + "Chapoly", + "Curve25519", + "Ed25519", + "EdDSA", + "Edwards-curve Digital Signature Algorithm", + "Elliptic Curve Diffie-Hellman", + "Poly1305", + "Pure-PHP cryptography", + "RFC 7748", + "RFC 8032", + "Salpoly", + "Salsa20", + "X25519", + "XChaCha20-Poly1305", + "XSalsa20-Poly1305", + "Xchacha20", + "Xsalsa20", + "aead", + "cryptography", + "ecdh", + "elliptic curve", + "elliptic curve cryptography", + "encryption", + "libsodium", + "php", + "public-key cryptography", + "secret-key cryptography", + "side-channel resistant" + ], + "time": "2019-03-20T17:19:05+00:00" + }, + { + "name": "php-ffmpeg/php-ffmpeg", + "version": "0.5.1", + "source": { + "type": "git", + "url": "https://github.com/PHP-FFMpeg/PHP-FFMpeg.git", + "reference": "c8949fe3df89edd7692368cc110a51a27971f28a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-FFMpeg/PHP-FFMpeg/zipball/c8949fe3df89edd7692368cc110a51a27971f28a", + "reference": "c8949fe3df89edd7692368cc110a51a27971f28a", + "shasum": "" + }, + "require": { + "alchemy/binary-driver": "~1.5", + "doctrine/cache": "~1.0", + "evenement/evenement": "~1.0", + "neutron/temporary-filesystem": "~2.1, >=2.1.1", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7", + "sami/sami": "~1.0", + "silex/silex": "~1.0" + }, + "suggest": { + "php-ffmpeg/extras": "A compilation of common audio & video drivers for PHP-FFMpeg" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.5-dev" + } + }, + "autoload": { + "psr-0": { + "FFMpeg": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + }, + { + "name": "Phraseanet Team", + "email": "info@alchemy.fr", + "homepage": "http://www.phraseanet.com/" + } + ], + "description": "FFMpeg PHP, an Object Oriented library to communicate with AVconv / ffmpeg", + "keywords": [ + "audio", + "audio processing", + "avconv", + "avprobe", + "ffmpeg", + "ffprobe", + "video", + "video processing" + ], + "time": "2014-08-26T08:46:56+00:00" + }, + { + "name": "php-mp4box/php-mp4box", + "version": "0.3.0", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/PHP-MP4Box.git", + "reference": "baa466be3f6d0b46d27bc0e255e958a95cb7738c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/PHP-MP4Box/zipball/baa466be3f6d0b46d27bc0e255e958a95cb7738c", + "reference": "baa466be3f6d0b46d27bc0e255e958a95cb7738c", + "shasum": "" + }, + "require": { + "alchemy/binary-driver": "~1.5", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7", + "silex/silex": "~1.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "MP4Box": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + }, + { + "name": "Phraseanet Team", + "email": "info@alchemy.fr", + "homepage": "http://www.phraseanet.com/" + } + ], + "description": "PHP MP4Box, an Object Oriented library for easy file conversion with MP4 Box", + "keywords": [ + "gpac", + "mp4box" + ], + "time": "2013-06-25T10:13:06+00:00" + }, + { + "name": "php-unoconv/php-unoconv", + "version": "0.3.1", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/PHP-Unoconv.git", + "reference": "8fa666972f6c13fe9703dfe894cd311a61f89f33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/PHP-Unoconv/zipball/8fa666972f6c13fe9703dfe894cd311a61f89f33", + "reference": "8fa666972f6c13fe9703dfe894cd311a61f89f33", + "shasum": "" + }, + "require": { + "alchemy/binary-driver": "~1.5", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7", + "silex/silex": "~1.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Unoconv": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + }, + { + "name": "Phraseanet Team", + "email": "info@alchemy.fr", + "homepage": "http://www.phraseanet.com/" + } + ], + "description": "Unoconv PHP, an Object Oriented library for easy file conversion with LibreOffice's unoconv", + "keywords": [ + "unoconv" + ], + "time": "2019-09-16T09:54:30+00:00" + }, + { + "name": "php-xpdf/php-xpdf", + "version": "0.2.3", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/PHP-XPDF.git", + "reference": "d5e73960108704e0063b81ae777d01b8fb91ae08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/PHP-XPDF/zipball/d5e73960108704e0063b81ae777d01b8fb91ae08", + "reference": "d5e73960108704e0063b81ae777d01b8fb91ae08", + "shasum": "" + }, + "require": { + "alchemy/binary-driver": "~1.5", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7", + "sami/sami": "~1.0", + "silex/silex": "~1.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "XPDF": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + }, + { + "name": "Phraseanet Team", + "email": "info@alchemy.fr", + "homepage": "http://www.phraseanet.com/" + } + ], + "description": "XPDF PHP, an Object Oriented library to manipulate XPDF", + "keywords": [ + "pdf", + "xpdf" + ], + "time": "2016-07-04T07:30:16+00:00" + }, + { + "name": "phpcollection/phpcollection", + "version": "0.5.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-collection.git", + "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-collection/zipball/f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", + "reference": "f2bcff45c0da7c27991bbc1f90f47c4b7fb434a6", + "shasum": "" + }, + "require": { + "phpoption/phpoption": "1.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.4-dev" + } + }, + "autoload": { + "psr-0": { + "PhpCollection": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "General-Purpose Collection Library for PHP", + "keywords": [ + "collection", + "list", + "map", + "sequence", + "set" + ], + "time": "2015-05-17T12:39:23+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/94e644f7d2051a5f0fcf77d81605f152eecff0ed", + "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "4.7.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-0": { + "PhpOption\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "time": "2015-07-25T16:39:46+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "2.0.7", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "f4b6a522dfa1fd1e477c9cfe5909d5b31f098c0b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/f4b6a522dfa1fd1e477c9cfe5909d5b31f098c0b", + "reference": "f4b6a522dfa1fd1e477c9cfe5909d5b31f098c0b", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phing/phing": "~2.7", + "phpunit/phpunit": "~4.0", + "sami/sami": "~2.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "suggest": { + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "time": "2017-10-23T05:04:54+00:00" + }, + { + "name": "pimple/pimple", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Pimple.git", + "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d", + "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Pimple": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", + "homepage": "http://pimple.sensiolabs.org", + "keywords": [ + "container", + "dependency injection" + ], + "time": "2013-11-22T08:30:29+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "psr/http-message", + "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": "ramsey/uuid", + "version": "3.5.2", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "5677cfe02397dd6b58c861870dfaa5d9007d3954" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/5677cfe02397dd6b58c861870dfaa5d9007d3954", + "reference": "5677cfe02397dd6b58c861870dfaa5d9007d3954", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "^1.0|^2.0", + "php": ">=5.4" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "apigen/apigen": "^4.1", + "codeception/aspect-mock": "1.0.0", + "doctrine/annotations": "~1.2.0", + "goaop/framework": "1.0.0-alpha.2", + "ircmaxell/random-lib": "^1.1", + "jakub-onderka/php-parallel-lint": "^0.9.0", + "mockery/mockery": "^0.9.4", + "moontoast/math": "^1.1", + "php-mock/php-mock-phpunit": "^0.3|^1.1", + "phpunit/phpunit": "^4.7|>=5.0 <5.4", + "satooshi/php-coveralls": "^0.6.1", + "squizlabs/php_codesniffer": "^2.3" + }, + "suggest": { + "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", + "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", + "ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", + "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marijn Huizendveld", + "email": "marijn.huizendveld@gmail.com" + }, + { + "name": "Thibaud Fabre", + "email": "thibaud@aztech.io" + }, + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", + "homepage": "https://github.com/ramsey/uuid", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "time": "2016-11-22T19:21:44+00:00" + }, + { + "name": "react/promise", + "version": "v2.5.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "2760f3898b7e931aa71153852dcd48a75c9b95db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/promise/zipball/2760f3898b7e931aa71153852dcd48a75c9b95db", + "reference": "2760f3898b7e931aa71153852dcd48a75c9b95db", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], + "time": "2016-12-22T14:09:01+00:00" + }, + { + "name": "roave/security-advisories", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/Roave/SecurityAdvisories.git", + "reference": "0698207bf8a9bed212fdde2d8c7cdc77085660c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/0698207bf8a9bed212fdde2d8c7cdc77085660c4", + "reference": "0698207bf8a9bed212fdde2d8c7cdc77085660c4", + "shasum": "" + }, + "conflict": { + "adodb/adodb-php": "<5.20.6", + "amphp/artax": ">=2,<2.0.4|>0.7.1,<1.0.4", + "aws/aws-sdk-php": ">=3,<3.2.1", + "bugsnag/bugsnag-laravel": ">=2,<2.0.2", + "cakephp/cakephp": ">=3,<3.0.15|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=1.3,<1.3.18|>=2.7,<2.7.6|>=3.1,<3.1.4", + "cartalyst/sentry": "<2.1", + "codeigniter/framework": "<=3.0.6", + "composer/composer": "<=1.0.0-alpha11", + "contao-components/mediaelement": ">=2.14.2,<2.21.1", + "contao/core": ">=2.11,<3.5.15", + "doctrine/annotations": ">=1,<1.2.7", + "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2", + "doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1", + "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2", + "doctrine/doctrine-bundle": "<1.5.2", + "doctrine/doctrine-module": "<=0.7.1", + "doctrine/mongodb-odm": ">=1,<1.0.2", + "doctrine/mongodb-odm-bundle": ">=2,<3.0.1", + "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1", + "dompdf/dompdf": ">=0.6,<0.6.2", + "drupal/core": ">=8,<8.2.3", + "drupal/drupal": ">=8,<8.2.3", + "firebase/php-jwt": "<2", + "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", + "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", + "gregwar/rst": "<1.0.3", + "guzzlehttp/guzzle": ">=6,<6.2.1|>=4.0.0-rc2,<4.2.4|>=5,<5.3.1", + "illuminate/auth": ">=4,<4.0.99|>=4.1,<4.1.26", + "illuminate/database": ">=4,<4.0.99|>=4.1,<4.1.29", + "joomla/session": "<1.3.1", + "laravel/framework": ">=4,<4.0.99|>=4.1,<4.1.29", + "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", + "magento/magento2ce": ">=2,<2.2", + "monolog/monolog": ">=1.8,<1.12", + "namshi/jose": "<2.2", + "oro/crm": ">=1.7,<1.7.4", + "oro/platform": ">=1.7,<1.7.4", + "phpmailer/phpmailer": ">=5,<5.2.22", + "pusher/pusher-php-server": "<2.2.1", + "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9", + "shopware/shopware": "<4.4|>=5,<5.2.15", + "silverstripe/cms": ">=3.1,<3.1.11|>=3,<=3.0.11", + "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", + "silverstripe/framework": ">=3,<3.3", + "silverstripe/userforms": "<3", + "simplesamlphp/saml2": "<1.8.1|>=1.9,<1.9.1|>=1.10,<1.10.3|>=2,<2.3.3", + "simplesamlphp/simplesamlphp": "<1.14.11", + "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", + "socalnick/scn-social-auth": "<1.15.2", + "swiftmailer/swiftmailer": ">=4,<5.4.5", + "symfony/dependency-injection": ">=2,<2.0.17", + "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.7", + "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2", + "symfony/http-foundation": ">=2,<2.3.27|>=2.4,<2.5.11|>=2.6,<2.6.6", + "symfony/http-kernel": ">=2,<2.3.29|>=2.4,<2.5.12|>=2.6,<2.6.8", + "symfony/routing": ">=2,<2.0.19", + "symfony/security": ">=2.3,<2.3.37|>=2.4,<2.6.13|>=2.7,<2.7.9|>=2,<2.0.25|>=2.1,<2.1.13|>=2.2,<2.2.9", + "symfony/security-core": ">=2.8,<2.8.6|>=3,<3.0.6|>=2.4,<2.6.13|>=2.7,<2.7.9", + "symfony/security-http": ">=2.4,<2.7.13|>=2.3,<2.3.41|>=2.8,<2.8.6|>=3,<3.0.6", + "symfony/serializer": ">=2,<2.0.11", + "symfony/symfony": ">=2,<2.3.41|>=2.4,<2.7.13|>=2.8,<2.8.6|>=3,<3.0.6", + "symfony/translation": ">=2,<2.0.17", + "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3", + "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4", + "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", + "thelia/backoffice-default-template": ">=2.1,<2.1.2", + "thelia/thelia": ">=2.1.0-beta1,<2.1.3|>=2.1,<2.1.2", + "twig/twig": "<1.20", + "typo3/cms": ">=6.2,<6.2.30|>=8,<8.4.1|>=7,<7.6.13", + "typo3/flow": ">=2.3,<2.3.16|>=3,<3.0.10|>=3.1,<3.1.7|>=3.2,<3.2.7|>=3.3,<3.3.5|>=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1", + "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4", + "willdurand/js-translation-bundle": "<2.1.1", + "yiisoft/yii": ">=1.1.14,<1.1.15", + "yiisoft/yii2": "<2.0.5", + "yiisoft/yii2-bootstrap": "<2.0.4", + "yiisoft/yii2-dev": "<2.0.4", + "yiisoft/yii2-gii": "<2.0.4", + "yiisoft/yii2-jui": "<2.0.4", + "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3", + "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5", + "zendframework/zend-diactoros": ">=1,<1.0.4", + "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-http": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.3,<2.3.8|>=2.4,<2.4.1", + "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3", + "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2", + "zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4", + "zendframework/zend-validator": ">=2.3,<2.3.6", + "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zendframework": ">=2,<2.4.11|>=2.5,<2.5.1", + "zendframework/zendframework1": "<1.12.20", + "zendframework/zendopenid": ">=2,<2.0.2", + "zendframework/zendxml": ">=1,<1.0.1", + "zf-commons/zfc-user": "<1.2.2", + "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3", + "zfr/zfr-oauth2-server-module": "<0.1.2" + }, + "type": "metapackage", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "role": "maintainer" + } + ], + "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", + "time": "2017-01-24T18:32:04+00:00" + }, + { + "name": "seld/jsonlint", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "19495c181d6d53a0a13414154e52817e3b504189" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/19495c181d6d53a0a13414154e52817e3b504189", + "reference": "19495c181d6d53a0a13414154e52817e3b504189", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "time": "2016-11-14T17:59:58+00:00" + }, + { + "name": "silex/silex", + "version": "v1.3.5", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Silex.git", + "reference": "374c7e04040a6f781c90f7d746726a5daa78e783" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783", + "reference": "374c7e04040a6f781c90f7d746726a5daa78e783", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "pimple/pimple": "~1.0", + "symfony/event-dispatcher": "~2.3|3.0.*", + "symfony/http-foundation": "~2.3|3.0.*", + "symfony/http-kernel": "~2.3|3.0.*", + "symfony/routing": "~2.3|3.0.*" + }, + "require-dev": { + "doctrine/dbal": "~2.2", + "monolog/monolog": "^1.4.1", + "swiftmailer/swiftmailer": "~5", + "symfony/browser-kit": "~2.3|3.0.*", + "symfony/config": "~2.3|3.0.*", + "symfony/css-selector": "~2.3|3.0.*", + "symfony/debug": "~2.3|3.0.*", + "symfony/dom-crawler": "~2.3|3.0.*", + "symfony/finder": "~2.3|3.0.*", + "symfony/form": "~2.3|3.0.*", + "symfony/locale": "~2.3|3.0.*", + "symfony/monolog-bridge": "~2.3|3.0.*", + "symfony/options-resolver": "~2.3|3.0.*", + "symfony/phpunit-bridge": "~2.7", + "symfony/process": "~2.3|3.0.*", + "symfony/security": "~2.3|3.0.*", + "symfony/serializer": "~2.3|3.0.*", + "symfony/translation": "~2.3|3.0.*", + "symfony/twig-bridge": "~2.3|3.0.*", + "symfony/validator": "~2.3|3.0.*", + "twig/twig": "~1.8|~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Silex\\": "src/Silex" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + } + ], + "description": "The PHP micro-framework based on the Symfony Components", + "homepage": "http://silex.sensiolabs.org", + "keywords": [ + "microframework" + ], + "abandoned": "symfony/flex", + "time": "2016-01-06T14:59:35+00:00" + }, + { + "name": "silex/web-profiler", + "version": "v1.0.8", + "target-dir": "Silex/Provider", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Silex-WebProfiler.git", + "reference": "3b767e6c9006a542cac737474f02671bdf2909cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Silex-WebProfiler/zipball/3b767e6c9006a542cac737474f02671bdf2909cb", + "reference": "3b767e6c9006a542cac737474f02671bdf2909cb", + "shasum": "" + }, + "require": { + "silex/silex": "~1.1", + "symfony/stopwatch": "~2.2", + "symfony/web-profiler-bundle": "~2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Silex\\Provider\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "A WebProfiler for Silex", + "homepage": "http://silex.sensiolabs.org/", + "abandoned": "symfony/web-profiler-bundle", + "time": "2016-01-10T11:39:13+00:00" + }, + { + "name": "simple-bus/doctrine-orm-bridge", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/SimpleBus/DoctrineORMBridge.git", + "reference": "46df998f26940d9525f8e35c40641328c679dbfe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/SimpleBus/DoctrineORMBridge/zipball/46df998f26940d9525f8e35c40641328c679dbfe", + "reference": "46df998f26940d9525f8e35c40641328c679dbfe", + "shasum": "" + }, + "require": { + "beberlei/assert": "~2.0", + "doctrine/orm": "~2.2", + "php": ">=5.4", + "simple-bus/message-bus": "~2.0" + }, + "require-dev": { + "matthiasnoback/doctrine-orm-test-service-provider": "~2.0", + "phpunit/phpunit": "~4.5", + "satooshi/php-coveralls": "~0.6" + }, + "suggest": { + "simple-bus/symfony-bridge": "Bridge for using command buses and event buses with Symfony" + }, + "type": "library", + "autoload": { + "psr-4": { + "SimpleBus\\DoctrineORMBridge\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Noback", + "email": "matthiasnoback@gmail.com", + "homepage": "http://php-and-symfony.matthiasnoback.nl" + } + ], + "description": "Doctrine ORM bridge for using command and event buses", + "homepage": "http://github.com/SimpleBus/DoctrineORMBridge", + "keywords": [ + "command bus", + "doctrine", + "event bus" + ], + "time": "2015-04-29T12:27:27+00:00" + }, + { + "name": "simple-bus/jms-serializer-bridge", + "version": "v1.0.3", + "source": { + "type": "git", + "url": "https://github.com/SimpleBus/JMSSerializerBridge.git", + "reference": "6292dc9537311100725f5b926d434b0495c03fad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/SimpleBus/JMSSerializerBridge/zipball/6292dc9537311100725f5b926d434b0495c03fad", + "reference": "6292dc9537311100725f5b926d434b0495c03fad", + "shasum": "" + }, + "require": { + "jms/serializer": "~0.12||~1.0", + "php": ">=5.4", + "simple-bus/serialization": ">=1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "~0.6" + }, + "type": "bundle", + "autoload": { + "psr-4": { + "SimpleBus\\JMSSerializerBridge\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Noback", + "email": "matthiasnoback@gmail.com", + "homepage": "http://php-and-symfony.matthiasnoback.nl" + } + ], + "description": "Bridge for using JMSSerializer as message serializer for SimpleBus/Asynchronous", + "homepage": "http://github.com/SimpleBus/JMSSerializerBridge", + "keywords": [ + "asynchronous", + "message", + "serialization" + ], + "time": "2015-07-29T07:48:42+00:00" + }, + { + "name": "simple-bus/message-bus", + "version": "v2.2.2", + "source": { + "type": "git", + "url": "https://github.com/SimpleBus/MessageBus.git", + "reference": "723bf20b93e17e9e87e83032ec21d8b2452328cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/SimpleBus/MessageBus/zipball/723bf20b93e17e9e87e83032ec21d8b2452328cf", + "reference": "723bf20b93e17e9e87e83032ec21d8b2452328cf", + "shasum": "" + }, + "require": { + "beberlei/assert": "~2.0", + "php": ">=5.4", + "psr/log": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "~0.6" + }, + "type": "library", + "autoload": { + "psr-4": { + "SimpleBus\\Message\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Noback", + "email": "matthiasnoback@gmail.com", + "homepage": "http://php-and-symfony.matthiasnoback.nl" + } + ], + "description": "Generic classes and interfaces for messages and message buses", + "homepage": "http://github.com/SimpleBus/MessageBus", + "keywords": [ + "command bus", + "event bus", + "message", + "message bus" + ], + "time": "2016-02-12T08:35:53+00:00" + }, + { + "name": "simple-bus/serialization", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/SimpleBus/Serialization.git", + "reference": "df7a5704d4a9c3057184be09ce8dc6d442785618" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/SimpleBus/Serialization/zipball/df7a5704d4a9c3057184be09ce8dc6d442785618", + "reference": "df7a5704d4a9c3057184be09ce8dc6d442785618", + "shasum": "" + }, + "require": { + "beberlei/assert": "~2.0", + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "~0.6" + }, + "type": "library", + "autoload": { + "psr-4": { + "SimpleBus\\Serialization\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Noback", + "email": "matthiasnoback@gmail.com", + "homepage": "http://php-and-symfony.matthiasnoback.nl" + } + ], + "description": "Generic classes and interfaces for serializing messages", + "homepage": "http://github.com/SimpleBus/Serialization", + "keywords": [ + "SimpleBus", + "messages", + "serialization" + ], + "time": "2015-05-08T13:34:17+00:00" + }, + { + "name": "sorien/silex-dbal-profiler", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/Sorien/silex-dbal-profiler.git", + "reference": "1df811da6cc2eb4abec4562e8000ca9eb998f7dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sorien/silex-dbal-profiler/zipball/1df811da6cc2eb4abec4562e8000ca9eb998f7dd", + "reference": "1df811da6cc2eb4abec4562e8000ca9eb998f7dd", + "shasum": "" + }, + "require": { + "silex/silex": "~1.0", + "silex/web-profiler": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Sorien": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Stanislav Turza", + "role": "Developer" + } + ], + "description": "Doctrine DBAL Profiler for Silex", + "keywords": [ + "dbal", + "doctrine", + "profiler", + "silex" + ], + "abandoned": true, + "time": "2016-10-26T11:08:02+00:00" + }, + { + "name": "sorien/silex-pimple-dumper", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/Sorien/silex-pimple-dumper.git", + "reference": "867b47181aab86b79cc78bad953419c1a327b2c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sorien/silex-pimple-dumper/zipball/867b47181aab86b79cc78bad953419c1a327b2c6", + "reference": "867b47181aab86b79cc78bad953419c1a327b2c6", + "shasum": "" + }, + "require-dev": { + "silex/silex": "~1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Sorien\\Provider\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Stanislav Turza", + "role": "Developer" + } + ], + "description": "Pimple File Dumper - Helper Provider for Silex Idea Plugin", + "keywords": [ + "dumper", + "idea", + "plugin", + "silex" + ], + "abandoned": true, + "time": "2015-11-11T07:16:28+00:00" + }, + { + "name": "swftools/swftools", + "version": "0.3.1", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/PHPSwftools.git", + "reference": "5a0fefbd5a518c9b1ec2ba247640aadbab4cc396" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/PHPSwftools/zipball/5a0fefbd5a518c9b1ec2ba247640aadbab4cc396", + "reference": "5a0fefbd5a518c9b1ec2ba247640aadbab4cc396", + "shasum": "" + }, + "require": { + "alchemy/binary-driver": "~1.5", + "php": ">=5.3.3", + "pimple/pimple": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": "~3.7", + "sami/sami": "~1.0", + "silex/silex": "~1.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "SwfTools": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Romain Neutron", + "email": "imprec@gmail.com", + "homepage": "http://www.lickmychip.com/" + }, + { + "name": "Phraseanet Team", + "email": "info@alchemy.fr", + "homepage": "http://www.phraseanet.com/" + } + ], + "description": "PHP SwfTools", + "keywords": [ + "adobe flash", + "flash", + "swf" + ], + "time": "2013-07-03T13:11:36+00:00" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v5.4.5", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "cd142238a339459b10da3d8234220963f392540c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/cd142238a339459b10da3d8234220963f392540c", + "reference": "cd142238a339459b10da3d8234220963f392540c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "mockery/mockery": "~0.9.1", + "symfony/phpunit-bridge": "~3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.4-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "http://swiftmailer.org", + "keywords": [ + "email", + "mail", + "mailer" + ], + "time": "2016-12-29T10:02:40+00:00" + }, + { + "name": "symfony/polyfill-apcu", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-apcu.git", + "reference": "5d4474f447403c3348e37b70acc2b95475b7befa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/5d4474f447403c3348e37b70acc2b95475b7befa", + "reference": "5d4474f447403c3348e37b70acc2b95475b7befa", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "apcu", + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "2d6e2b20d457603eefb6e614286c22efca30fdb4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/2d6e2b20d457603eefb6e614286c22efca30fdb4", + "reference": "2d6e2b20d457603eefb6e614286c22efca30fdb4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/intl": "~2.3|~3.0" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", + "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/polyfill-php54", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php54.git", + "reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/90e085822963fdcc9d1c5b73deb3d2e5783b16a0", + "reference": "90e085822963fdcc9d1c5b73deb3d2e5783b16a0", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php54\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/polyfill-php55", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php55.git", + "reference": "03e3f0350bca2220e3623a0e340eef194405fc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/03e3f0350bca2220e3623a0e340eef194405fc67", + "reference": "03e3f0350bca2220e3623a0e340eef194405fc67", + "shasum": "" + }, + "require": { + "ircmaxell/password-compat": "~1.0", + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php55\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/polyfill-php56", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "1dd42b9b89556f18092f3d1ada22cb05ac85383c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/1dd42b9b89556f18092f3d1ada22cb05ac85383c", + "reference": "1dd42b9b89556f18092f3d1ada22cb05ac85383c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-util": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php56\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/polyfill-php70", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php70.git", + "reference": "13ce343935f0f91ca89605a2f6ca6f5c2f3faac2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/13ce343935f0f91ca89605a2f6ca6f5c2f3faac2", + "reference": "13ce343935f0f91ca89605a2f6ca6f5c2f3faac2", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "~1.0|~2.0", + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php70\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/polyfill-util", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-util.git", + "reference": "746bce0fca664ac0a575e465f65c6643faddf7fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/746bce0fca664ac0a575e465f65c6643faddf7fb", + "reference": "746bce0fca664ac0a575e465f65c6643faddf7fb", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Util\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony utilities for portability of PHP codes", + "homepage": "https://symfony.com", + "keywords": [ + "compat", + "compatibility", + "polyfill", + "shim" + ], + "time": "2016-11-14T01:06:16+00:00" + }, + { + "name": "symfony/security-acl", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-acl.git", + "reference": "053b49bf4aa333a392c83296855989bcf88ddad1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-acl/zipball/053b49bf4aa333a392c83296855989bcf88ddad1", + "reference": "053b49bf4aa333a392c83296855989bcf88ddad1", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/security-core": "~2.8|~3.0" + }, + "require-dev": { + "doctrine/common": "~2.2", + "doctrine/dbal": "~2.2", + "psr/log": "~1.0", + "symfony/phpunit-bridge": "~2.8|~3.0" + }, + "suggest": { + "doctrine/dbal": "For using the built-in ACL implementation", + "symfony/class-loader": "For using the ACL generateSql script", + "symfony/finder": "For using the ACL generateSql script" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Acl\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Security Component - ACL (Access Control List)", + "homepage": "https://symfony.com", + "time": "2015-12-28T09:39:46+00:00" + }, + { + "name": "symfony/symfony", + "version": "v2.8.16", + "source": { + "type": "git", + "url": "https://github.com/symfony/symfony.git", + "reference": "9fef72a3ab561c4bfa703a70369db028dec387d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/symfony/zipball/9fef72a3ab561c4bfa703a70369db028dec387d2", + "reference": "9fef72a3ab561c4bfa703a70369db028dec387d2", + "shasum": "" + }, + "require": { + "doctrine/common": "~2.4", + "php": ">=5.3.9", + "psr/log": "~1.0", + "symfony/polyfill-apcu": "~1.1", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php54": "~1.0", + "symfony/polyfill-php55": "~1.0", + "symfony/polyfill-php56": "~1.0", + "symfony/polyfill-php70": "~1.0", + "symfony/polyfill-util": "~1.0", + "symfony/security-acl": "~2.7|~3.0.0", + "twig/twig": "~1.28|~2.0" + }, + "conflict": { + "phpdocumentor/reflection": "<1.0.7" + }, + "replace": { + "symfony/asset": "self.version", + "symfony/browser-kit": "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/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/intl": "self.version", + "symfony/ldap": "self.version", + "symfony/locale": "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/swiftmailer-bridge": "self.version", + "symfony/templating": "self.version", + "symfony/translation": "self.version", + "symfony/twig-bridge": "self.version", + "symfony/twig-bundle": "self.version", + "symfony/validator": "self.version", + "symfony/var-dumper": "self.version", + "symfony/web-profiler-bundle": "self.version", + "symfony/yaml": "self.version" + }, + "require-dev": { + "doctrine/data-fixtures": "1.0.*", + "doctrine/dbal": "~2.4", + "doctrine/doctrine-bundle": "~1.2", + "doctrine/orm": "~2.4,>=2.4.5", + "egulias/email-validator": "~1.2,>=1.2.1", + "monolog/monolog": "~1.11", + "ocramius/proxy-manager": "~0.4|~1.0|~2.0", + "phpdocumentor/reflection": "^1.0.7", + "symfony/phpunit-bridge": "~3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "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\\Swiftmailer\\": "src/Symfony/Bridge/Swiftmailer/", + "Symfony\\Bridge\\Twig\\": "src/Symfony/Bridge/Twig/", + "Symfony\\Bundle\\": "src/Symfony/Bundle/", + "Symfony\\Component\\": "src/Symfony/Component/" + }, + "classmap": [ + "src/Symfony/Component/Intl/Resources/stubs" + ], + "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": "The Symfony PHP framework", + "homepage": "https://symfony.com", + "keywords": [ + "framework" + ], + "time": "2017-01-12T20:27:46+00:00" + }, + { + "name": "themattharris/tmhoauth", + "version": "0.8.4", + "source": { + "type": "git", + "url": "https://github.com/themattharris/tmhOAuth.git", + "reference": "455552d6c57549632644b6c9ac9204766be2b5ee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/themattharris/tmhOAuth/zipball/455552d6c57549632644b6c9ac9204766be2b5ee", + "reference": "455552d6c57549632644b6c9ac9204766be2b5ee", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "tmhOAuth": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "themattharris", + "email": "matt@themattharris.com", + "role": "Developer" + } + ], + "description": "An OAuth library written in PHP by @themattharris", + "keywords": [ + "oauth", + "twitter" + ], + "time": "2014-08-06T22:29:35+00:00" + }, + { + "name": "twig/extensions", + "version": "v1.4.1", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig-extensions.git", + "reference": "f0bb8431c8691f5a39f1017d9a5967a082bf01ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig-extensions/zipball/f0bb8431c8691f5a39f1017d9a5967a082bf01ff", + "reference": "f0bb8431c8691f5a39f1017d9a5967a082bf01ff", + "shasum": "" + }, + "require": { + "twig/twig": "~1.20|~2.0" + }, + "require-dev": { + "symfony/translation": "~2.3" + }, + "suggest": { + "symfony/translation": "Allow the time_diff output to be translated" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_Extensions_": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Common additional features for Twig that do not directly belong in core", + "homepage": "http://twig.sensiolabs.org/doc/extensions/index.html", + "keywords": [ + "i18n", + "text" + ], + "time": "2016-10-25T17:34:14+00:00" + }, + { + "name": "twig/twig", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "ddc9e3e20ee9c0b6908f401ac8353635b750eca7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/ddc9e3e20ee9c0b6908f401ac8353635b750eca7", + "reference": "ddc9e3e20ee9c0b6908f401ac8353635b750eca7", + "shasum": "" + }, + "require": { + "php": ">=5.2.7" + }, + "require-dev": { + "symfony/debug": "~2.7", + "symfony/phpunit-bridge": "~3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.31-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "http://twig.sensiolabs.org/contributors", + "role": "Contributors" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "http://twig.sensiolabs.org", + "keywords": [ + "templating" + ], + "time": "2017-01-11T19:36:15+00:00" + }, + { + "name": "vierbergenlars/php-semver", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/vierbergenlars/php-semver.git", + "reference": "6b16f72b8c2d3aa00368f9fa612b2218a96245fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vierbergenlars/php-semver/zipball/6b16f72b8c2d3aa00368f9fa612b2218a96245fc", + "reference": "6b16f72b8c2d3aa00368f9fa612b2218a96245fc", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "vierbergenlars/simpletest": "1.1.*" + }, + "bin": [ + "bin/semver", + "bin/update-versions" + ], + "type": "library", + "autoload": { + "psr-0": { + "vierbergenlars\\SemVer": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Vierbergen", + "email": "vierbergenlars@gmail.com" + } + ], + "description": "The Semantic Versioner for PHP", + "keywords": [ + "semantic", + "semver", + "versioning" + ], + "time": "2013-09-20T10:41:27+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", + "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2016-11-23T20:04:58+00:00" + }, + { + "name": "webmozart/json", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/webmozart/json.git", + "reference": "a1fb3da904b8364e3db47eed68f76bfb6cd0031a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/json/zipball/a1fb3da904b8364e3db47eed68f76bfb6cd0031a", + "reference": "a1fb3da904b8364e3db47eed68f76bfb6cd0031a", + "shasum": "" + }, + "require": { + "justinrainbow/json-schema": "^1.6", + "php": "^5.3.3|^7.0", + "seld/jsonlint": "^1.0", + "webmozart/path-util": "^2.3" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1", + "symfony/filesystem": "^2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Json\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "A robust JSON decoder/encoder with support for schema validation.", + "time": "2016-01-14T12:11:46+00:00" + }, + { + "name": "webmozart/path-util", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/path-util.git", + "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", + "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "webmozart/assert": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\PathUtil\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", + "time": "2015-12-17T08:42:14+00:00" + }, + { + "name": "willdurand/negotiation", + "version": "v2.2.1", + "source": { + "type": "git", + "url": "https://github.com/willdurand/Negotiation.git", + "reference": "1f210db45723b21edd69f39794662b8d64656b93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/willdurand/Negotiation/zipball/1f210db45723b21edd69f39794662b8d64656b93", + "reference": "1f210db45723b21edd69f39794662b8d64656b93", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-4": { + "Negotiation\\": "src/Negotiation" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "William Durand", + "email": "will+git@drnd.me" + } + ], + "description": "Content Negotiation tools for PHP provided as a standalone library.", + "homepage": "http://williamdurand.fr/Negotiation/", + "keywords": [ + "accept", + "content", + "format", + "header", + "negotiation" + ], + "time": "2016-10-14T09:17:47+00:00" + }, + { + "name": "zend/gdata", + "version": "1.12.1", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/gdata.git", + "reference": "4ae96d26cec159d74ced57c89ebdcde754ece35d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/gdata/zipball/4ae96d26cec159d74ced57c89ebdcde754ece35d", + "reference": "4ae96d26cec159d74ced57c89ebdcde754ece35d", + "shasum": "" + }, + "require": { + "php": ">5.2.4" + }, + "type": "library", + "autoload": { + "psr-0": { + "Zend_": "library" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "New BSD" + ], + "authors": [ + { + "name": "Zend Contributors", + "homepage": "http://framework.zend.com/community/contributors" + } + ], + "description": "The Google Data APIs are a set of web services for read/write access to applications hosted by Google", + "homepage": "http://framework.zend.com/download/webservices", + "keywords": [ + "gdata", + "zend" + ], + "time": "2013-01-30T15:31:21+00:00" + }, + { + "name": "zendframework/zend-code", + "version": "2.6.3", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-code.git", + "reference": "95033f061b083e16cdee60530ec260d7d628b887" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-code/zipball/95033f061b083e16cdee60530ec260d7d628b887", + "reference": "95033f061b083e16cdee60530ec260d7d628b887", + "shasum": "" + }, + "require": { + "php": "^5.5 || 7.0.0 - 7.0.4 || ^7.0.6", + "zendframework/zend-eventmanager": "^2.6 || ^3.0" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "^4.8.21", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "suggest": { + "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", + "zendframework/zend-stdlib": "Zend\\Stdlib component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Code\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides facilities to generate arbitrary code using an object oriented interface", + "homepage": "https://github.com/zendframework/zend-code", + "keywords": [ + "code", + "zf2" + ], + "abandoned": "laminas/laminas-code", + "time": "2016-04-20T17:26:42+00:00" + }, + { + "name": "zendframework/zend-eventmanager", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-eventmanager.git", + "reference": "5c80bdee0e952be112dcec0968bad770082c3a6e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/5c80bdee0e952be112dcec0968bad770082c3a6e", + "reference": "5c80bdee0e952be112dcec0968bad770082c3a6e", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0" + }, + "require-dev": { + "athletic/athletic": "^0.1", + "container-interop/container-interop": "^1.1.0", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "^2.0", + "zendframework/zend-stdlib": "^2.7.3 || ^3.0" + }, + "suggest": { + "container-interop/container-interop": "^1.1.0, to use the lazy listeners feature", + "zendframework/zend-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev", + "dev-develop": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\EventManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Trigger and listen to events within a PHP application", + "homepage": "https://github.com/zendframework/zend-eventmanager", + "keywords": [ + "event", + "eventmanager", + "events", + "zf2" + ], + "abandoned": "laminas/laminas-eventmanager", + "time": "2016-02-18T20:53:00+00:00" + } + ], + "packages-dev": [ + { + "name": "mikey179/vfsStream", + "version": "v1.6.4", + "source": { + "type": "git", + "url": "https://github.com/bovigo/vfsStream.git", + "reference": "0247f57b2245e8ad2e689d7cee754b45fbabd592" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bovigo/vfsStream/zipball/0247f57b2245e8ad2e689d7cee754b45fbabd592", + "reference": "0247f57b2245e8ad2e689d7cee754b45fbabd592", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-0": { + "org\\bovigo\\vfs\\": "src/main/php" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Frank Kleine", + "homepage": "http://frankkleine.de/", + "role": "Developer" + } + ], + "description": "Virtual file system to mock the real file system in unit tests.", + "homepage": "http://vfs.bovigo.org/", + "time": "2016-07-18T14:02:57+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2015-12-27T11:43:31+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", + "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "phpdocumentor/reflection-common": "^1.0@dev", + "phpdocumentor/type-resolver": "^0.2.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2016-09-30T07:12:33+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.2.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", + "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "time": "2016-11-25T06:54:22+00:00" + }, + { + "name": "phpexiftool/exiftool", + "version": "10.10", + "source": { + "type": "git", + "url": "https://github.com/alchemy-fr/exiftool.git", + "reference": "0833cab894c890353192a83011428525a318bedf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/alchemy-fr/exiftool/zipball/0833cab894c890353192a83011428525a318bedf", + "reference": "0833cab894c890353192a83011428525a318bedf", + "shasum": "" + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Perl Licensing" + ], + "authors": [ + { + "name": "Phil Harvey", + "email": "phil@owl.phy.queensu.ca", + "homepage": "http://www.sno.phy.queensu.ca/~phil/exiftool/" + } + ], + "description": "Exiftool is a library for reading, writing and editing meta information. This package is not PHP, but required for the main PHP driver : PHP Exiftool", + "keywords": [ + "exiftool", + "metadatas" + ], + "time": "2016-01-25T11:10:14+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "v1.6.2", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "6c52c2722f8460122f96f86346600e1077ce22cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/6c52c2722f8460122f96f86346600e1077ce22cb", + "reference": "6c52c2722f8460122f96f86346600e1077ce22cb", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", + "sebastian/comparator": "^1.1", + "sebastian/recursion-context": "^1.0|^2.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.0", + "phpunit/phpunit": "^4.8 || ^5.6.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2016-11-21T14:58:47+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "2.2.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "phpunit/php-file-iterator": "~1.3", + "phpunit/php-text-template": "~1.2", + "phpunit/php-token-stream": "~1.3", + "sebastian/environment": "^1.3.2", + "sebastian/version": "~1.0" + }, + "require-dev": { + "ext-xdebug": ">=2.1.4", + "phpunit/phpunit": "~4" + }, + "suggest": { + "ext-dom": "*", + "ext-xdebug": ">=2.2.1", + "ext-xmlwriter": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2015-10-06T15:47:00+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", + "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2016-10-03T07:40:28+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2015-06-21T13:50:34+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260", + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4|~5" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2016-05-12T18:03:57+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "1.4.9", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "3b402f65a4cc90abf6e1104e388b896ce209631b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3b402f65a4cc90abf6e1104e388b896ce209631b", + "reference": "3b402f65a4cc90abf6e1104e388b896ce209631b", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2016-11-15T14:06:22+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "4.8.34", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "7eb45205d27edd94bd2b3614085ea158bd1e2bca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7eb45205d27edd94bd2b3614085ea158bd1e2bca", + "reference": "7eb45205d27edd94bd2b3614085ea158bd1e2bca", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "php": ">=5.3.3", + "phpspec/prophecy": "^1.3.1", + "phpunit/php-code-coverage": "~2.1", + "phpunit/php-file-iterator": "~1.4", + "phpunit/php-text-template": "~1.2", + "phpunit/php-timer": "^1.0.6", + "phpunit/phpunit-mock-objects": "~2.3", + "sebastian/comparator": "~1.2.2", + "sebastian/diff": "~1.2", + "sebastian/environment": "~1.3", + "sebastian/exporter": "~1.2", + "sebastian/global-state": "~1.0", + "sebastian/version": "~1.0", + "symfony/yaml": "~2.1|~3.0" + }, + "suggest": { + "phpunit/php-invoker": "~1.1" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.8.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2017-01-26T16:15:36+00:00" + }, + { + "name": "phpunit/phpunit-mock-objects", + "version": "2.3.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": ">=5.3.3", + "phpunit/php-text-template": "~1.2", + "sebastian/exporter": "~1.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "suggest": { + "ext-soap": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "abandoned": true, + "time": "2015-10-02T06:51:40+00:00" + }, + { + "name": "sebastian/comparator", + "version": "1.2.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2 || ~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "http://www.github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2017-01-29T09:50:25+00:00" + }, + { + "name": "sebastian/diff", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff" + ], + "time": "2015-12-08T07:14:41+00:00" + }, + { + "name": "sebastian/environment", + "version": "1.3.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", + "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2016-08-18T05:49:44+00:00" + }, + { + "name": "sebastian/exporter", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/recursion-context": "~1.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2016-06-17T09:04:28+00:00" + }, + { + "name": "sebastian/global-state", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2015-10-12T03:26:01+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2015-11-11T19:50:13+00:00" + }, + { + "name": "sebastian/version", + "version": "1.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "shasum": "" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2015-06-21T13:59:46+00:00" + } + ], + "aliases": [ + { + "alias": "1.6.1", + "alias_normalized": "1.6.1.0", + "version": "2.0.3.0", + "package": "justinrainbow/json-schema" + }, + { + "alias": "0.13.0", + "alias_normalized": "0.13.0.0", + "version": "dev-webgalleries", + "package": "league/fractal" + } + ], + "minimum-stability": "stable", + "stability-flags": { + "alchemy/task-manager": 20, + "doctrine/cache": 20, + "imagine/imagine": 20, + "jms/translation-bundle": 20, + "league/fractal": 20, + "neutron/process-manager": 20, + "roave/security-advisories": 20, + "willdurand/negotiation": 15 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.5.9", + "ext-intl": "*" + }, + "platform-dev": [] +} diff --git a/docker/db/Dockerfile b/docker/db/Dockerfile new file mode 100644 index 0000000000..7330ff91c0 --- /dev/null +++ b/docker/db/Dockerfile @@ -0,0 +1,12 @@ +FROM mariadb:10.4.5 + +RUN apt-get update && \ + apt-get install -y \ + gettext \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/ + +ADD ./docker/ / + +ENTRYPOINT ["/phraseanet-entrypoint.sh"] +CMD ["mysqld","--sql_mode="] diff --git a/docker/db/docker/custom.cnf b/docker/db/docker/custom.cnf new file mode 100644 index 0000000000..850a93e19c --- /dev/null +++ b/docker/db/docker/custom.cnf @@ -0,0 +1,3 @@ +[mysqld] + +max_allowed_packet=$MYSQL_MAX_ALLOWED_PACKET diff --git a/docker/db/docker/docker-entrypoint-initdb.d/01-create_databases.sql b/docker/db/docker/docker-entrypoint-initdb.d/01-create_databases.sql new file mode 100644 index 0000000000..a868d9f35c --- /dev/null +++ b/docker/db/docker/docker-entrypoint-initdb.d/01-create_databases.sql @@ -0,0 +1,5 @@ +CREATE DATABASE ab_master CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +CREATE DATABASE db_databox1 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +CREATE DATABASE db_unitTest CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +CREATE DATABASE db_dataset1 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +CREATE DATABASE db_dataset2 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; \ No newline at end of file diff --git a/docker/db/docker/phraseanet-entrypoint.sh b/docker/db/docker/phraseanet-entrypoint.sh new file mode 100755 index 0000000000..a12ab6629e --- /dev/null +++ b/docker/db/docker/phraseanet-entrypoint.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +set -eo pipefail +shopt -s nullglob + +envsubst < /custom.cnf > /etc/mysql/conf.d/custom.cnf +docker-entrypoint.sh "$@" diff --git a/docker/elasticsearch/Dockerfile b/docker/elasticsearch/Dockerfile new file mode 100644 index 0000000000..5847b7448f --- /dev/null +++ b/docker/elasticsearch/Dockerfile @@ -0,0 +1,3 @@ +FROM elasticsearch:2.4 + +RUN /usr/share/elasticsearch/bin/plugin install analysis-icu diff --git a/docker/phraseanet/phraseanet-entrypoint.sh b/docker/phraseanet/phraseanet-entrypoint.sh index 3040718c11..f786adb251 100755 --- a/docker/phraseanet/phraseanet-entrypoint.sh +++ b/docker/phraseanet/phraseanet-entrypoint.sh @@ -4,16 +4,10 @@ set -e envsubst < /php.ini.sample > /usr/local/etc/php/php.ini envsubst < /php-fpm.conf.sample > /usr/local/etc/php-fpm.conf -echo "XDEBUG=$XDEBUG" -if [ $XDEBUG = "ON" ]; then - echo "XDEBUG IS ENABLED. YOU MAY KEEP THIS FEATURE DISABLED IN PRODUCTION." - echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini - echo "xdebug.remote_autostart=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini - echo "xdebug.remote_host=$XDEBUG_SERVER" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini - echo "xdebug.remote_port=$XDEBUG_REMOTE_PORT" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini - echo "xdebug.remote_handler=dbgp" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini - echo "xdebug.remote_connect_back=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini - #echo "xdebug.idekey=11896" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini + +if [ ${XDEBUG_ENABLED} == "1" ]; then + echo "XDEBUG is enabled. YOU MAY KEEP THIS FEATURE DISABLED IN PRODUCTION." + docker-php-ext-enable xdebug fi bash -e docker-php-entrypoint $@ diff --git a/docker/phraseanet/worker-boot.sh b/docker/phraseanet/worker-boot.sh index 4c1b76b02f..bcc76c96eb 100755 --- a/docker/phraseanet/worker-boot.sh +++ b/docker/phraseanet/worker-boot.sh @@ -1,4 +1,9 @@ #!/bin/bash +if [ ${XDEBUG_ENABLED} == "1" ]; then + echo "XDEBUG is enabled. YOU MAY KEEP THIS FEATURE DISABLED IN PRODUCTION." + docker-php-ext-enable xdebug +fi + mkdir /var/alchemy/Phraseanet/tmp/locks && chown -R app:app /var/alchemy/Phraseanet/tmp runuser app -c 'php /var/alchemy/Phraseanet/bin/console task-manager:scheduler:run' From 08384d2fff6a3a5edcf38ca05703195dc13150a3 Mon Sep 17 00:00:00 2001 From: Arthur de Moulins Date: Fri, 21 Feb 2020 15:02:32 +0100 Subject: [PATCH 02/17] fix nginx image build --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d1346d0d28..594703a9a3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -121,7 +121,7 @@ CMD ["/worker-boot.sh"] ######################################################################### FROM nginx:1.17.8-alpine as phraseanet-nginx -RUN useradd -u 1000 app +RUN adduser --uid 1000 --disabled-password app ADD ./docker/nginx/ / COPY --from=builder /var/alchemy/Phraseanet/www /var/alchemy/Phraseanet/www CMD ["/boot.sh"] From d41268ea66a7c9644da8ce899881d9b1429a24e7 Mon Sep 17 00:00:00 2001 From: Arthur de Moulins Date: Fri, 21 Feb 2020 17:29:45 +0100 Subject: [PATCH 03/17] arrange volumes --- .dockerignore | 1 - .env | 3 --- .gitignore | 2 -- Dockerfile | 13 ++++----- Makefile | 5 +++- README.md | 45 ++++++++++++++++--------------- docker-compose.override.yml | 53 ++++--------------------------------- docker-compose.yml | 8 ------ docker/nginx/boot.sh | 2 +- 9 files changed, 40 insertions(+), 92 deletions(-) diff --git a/.dockerignore b/.dockerignore index 8a59e7871a..5331a360a7 100644 --- a/.dockerignore +++ b/.dockerignore @@ -3,7 +3,6 @@ .settings /nodes_modules /vendor -/volumes /docker-compose.* /Dockerfile /.env diff --git a/.env b/.env index 00198290f3..de8904cafd 100644 --- a/.env +++ b/.env @@ -56,9 +56,6 @@ MYSQL_MAX_ALLOWED_PACKET=16M # PhpMyAdmin port PHPMYADMIN_PORT=8089 -# Mount local volumes -PHRASEANET_VOLUMES_DIR=./volumes - # Xdebug XDEBUG_ENABLED=1 XDEBUG_PROFILER_ENABLED=0 diff --git a/.gitignore b/.gitignore index 3fd4cc470b..dc81372af0 100644 --- a/.gitignore +++ b/.gitignore @@ -71,5 +71,3 @@ playbook.retry npm-debug.log /Phrasea_datas - -/volumes diff --git a/Dockerfile b/Dockerfile index 594703a9a3..10443b9f88 100644 --- a/Dockerfile +++ b/Dockerfile @@ -77,23 +77,24 @@ RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \ nodejs \ yarn \ && apt-get clean \ - && rm -rf /var/lib/apt/lists + && rm -rf /var/lib/apt/lists \ + && mkdir -p /var/alchemy/Phraseanet \ + && chown -R app:app /var/alchemy WORKDIR /var/alchemy/Phraseanet +USER app + # Warm up composer cache for faster builds COPY docker/caching/composer.* ./ RUN composer install --prefer-dist --no-dev --no-progress --no-suggest --classmap-authoritative --no-interaction --no-scripts \ && rm -rf vendor composer.* # End warm up -COPY . . +COPY --chown=app . . RUN rm -rf docker \ - && make install_composer \ - && make clean_assets \ - && make install_asset_dependencies \ - && make install_assets + && make install ADD docker/phraseanet/ / diff --git a/Makefile b/Makefile index 192ae889bb..1627d6356d 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,10 @@ install: make install_assets install_composer: - composer install --ignore-platform-reqs + composer install --ignore-platform-reqs --no-dev --no-suggest --classmap-authoritative --no-interaction + +install_composer_dev: + composer install install_asset_dependencies: yarn install diff --git a/README.md b/README.md index f16622602f..3a3971614a 100644 --- a/README.md +++ b/README.md @@ -32,26 +32,6 @@ You can also download a testing pre installed Virtual Machine in OVA format here https://www.phraseanet.com/download/ -# Development : - -For development purpose Phraseanet is shipped with ready to use development environments using vagrant. -You can easily choose betweeen a complete build or a prebuild box, with a specific PHP version. - - git clone - vagrant up --provision - -then, a prompt allow you to choose PHP version, and another one to choose a complete build or an Alchemy prebuilt boxes. - -Ex: -- vagrant up --provision //// 5.6 ///// 1 >> Build an ubuntu/xenial box with php5.6 -- vagrant up --provision //// 7.0 ///// 1 >> Build an ubuntu/xenial with php7.0 -- vagrant up --provision //// 7.2 ///// 2 >> Build the alchemy/phraseanet-php-7.2 box -- vagrant up --provision //// 5.6 ///// 1 >> Build the alchemy/phraseanet-php-5.6 box - - -For development with Phraseanet API see https://docs.phraseanet.com/4.0/en/Devel/index.html - - # With Docker ## Prerequisites @@ -67,7 +47,6 @@ Use `export` to override these values. i.e: ```bash export PHRASEANET_DOCKER_TAG=latest -export PHRASEANET_VOLUMES_DIR=/path/to/my/custom/dir export INSTALL_ACCOUNT_EMAIL=foo@bar.com export INSTALL_ACCOUNT_PASSWORD=$3cr3t! export PHRASEANET_APP_PORT=8082 @@ -100,7 +79,7 @@ The environment is not ready yet: you have to fetch all dependencies. This can be made easily from the builder container: - docker-compose exec -u app builder make + docker-compose run --rm -u app builder make install install_composer_dev > Please note that the phraseanet image does not contain nor `composer` neither `node` tools. This allow the final image to be slim. > If you need to use dev tools, ensure you are running the `builder` image! @@ -131,3 +110,25 @@ Before moving all the files, or to use a different location, you have to remove docker-compose down --volumes Then move the files and set the `VOLUMES_DIR` to the new location. + + +# With Vagrant (deprecated) + +## Development : + +For development purpose Phraseanet is shipped with ready to use development environments using vagrant. +You can easily choose betweeen a complete build or a prebuild box, with a specific PHP version. + + git clone + vagrant up --provision + +then, a prompt allow you to choose PHP version, and another one to choose a complete build or an Alchemy prebuilt boxes. + +Ex: +- vagrant up --provision //// 5.6 ///// 1 >> Build an ubuntu/xenial box with php5.6 +- vagrant up --provision //// 7.0 ///// 1 >> Build an ubuntu/xenial with php7.0 +- vagrant up --provision //// 7.2 ///// 2 >> Build the alchemy/phraseanet-php-7.2 box +- vagrant up --provision //// 5.6 ///// 1 >> Build the alchemy/phraseanet-php-5.6 box + + +For development with Phraseanet API see https://docs.phraseanet.com/4.0/en/Devel/index.html diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 69306401cb..973c4a4519 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -10,13 +10,15 @@ services: gateway: volumes: - - .:/var/alchemy + - .:/var/alchemy/Phraseanet builder: build: context: . target: builder command: exit 0 + volumes: + - .:/var/alchemy/Phraseanet phraseanet: environment: @@ -24,11 +26,11 @@ services: - XDEBUG_CONFIG=remote_host=${PHRASEANET_GATEWAY_IP} idekey=${IDE_KEY} remote_enable=1 profiler_enable=${XDEBUG_PROFILER_ENABLED} profiler_output_dir=/var/alchemy/Phraseanet/cache/profiler - PHP_IDE_CONFIG volumes: - - .:/var/alchemy + - .:/var/alchemy/Phraseanet worker: volumes: - - .:/var/alchemy + - .:/var/alchemy/Phraseanet rabbitmq: ports: @@ -49,48 +51,3 @@ networks: ipam: config: - subnet: $PHRASEANET_SUBNET_IPS - -volumes: - data_vol: - driver: local - driver_opts: - type: none - device: $PHRASEANET_VOLUMES_DIR/data - o: bind - db_vol: - driver: local - driver_opts: - type: none - device: $PHRASEANET_VOLUMES_DIR/db - o: bind - elasticsearch_vol: - driver: local - driver_opts: - type: none - device: $PHRASEANET_VOLUMES_DIR/elasticsearch - o: bind - config_vol: - driver: local - driver_opts: - type: none - device: $PHRASEANET_VOLUMES_DIR/config - o: bind - custom_vol: - driver: local - driver_opts: - type: none - device: $PHRASEANET_VOLUMES_DIR/custom - o: bind - thumbnails_vol: - driver: local - driver_opts: - type: none - device: $PHRASEANET_VOLUMES_DIR/thumbnails - o: bind - # to be replacer by stdout/stderr - logs_vol: - driver: local - driver_opts: - type: none - device: $PHRASEANET_VOLUMES_DIR/logs - o: bind diff --git a/docker-compose.yml b/docker-compose.yml index 197f324699..89e2ef9835 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,7 +9,6 @@ services: restart: on-failure volumes: - data_vol:/var/alchemy/Phraseanet/datas:rw - - custom_vol:/var/alchemy/Phraseanet/www/custom:rw - thumbnails_vol:/var/alchemy/Phraseanet/www/thumbnails:rw depends_on: - phraseanet @@ -50,11 +49,9 @@ services: - INSTALL_RABBITMQ_PASSWORD=$RABBITMQ_DEFAULT_PASS volumes: - data_vol:/var/alchemy/Phraseanet/datas:rw - - config_vol:/var/alchemy/Phraseanet/config:rw - tmp_vol:/var/alchemy/Phraseanet/tmp:rw - logs_vol:/var/alchemy/Phraseanet/logs:rw - thumbnails_vol:/var/alchemy/Phraseanet/www/thumbnails:rw - - custom_vol:/var/alchemy/Phraseanet/www/custom:rw worker: build: @@ -75,7 +72,6 @@ services: - PHP_LOG_LEVEL volumes: - data_vol:/var/alchemy/Phraseanet/datas:rw - - config_vol:/var/alchemy/Phraseanet/config:rw - tmp_vol:/var/alchemy/Phraseanet/tmp:rw - logs_vol:/var/alchemy/Phraseanet/logs:rw - thumbnails_vol:/var/alchemy/Phraseanet/www/thumbnails:rw @@ -117,10 +113,6 @@ volumes: driver: local elasticsearch_vol: driver: local - config_vol: - driver: local - custom_vol: - driver: local thumbnails_vol: driver: local # to be replacer by stdout/stderr diff --git a/docker/nginx/boot.sh b/docker/nginx/boot.sh index 2684d8c0f7..c25c541c71 100755 --- a/docker/nginx/boot.sh +++ b/docker/nginx/boot.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh set -xe From 7adefbc1d4908248ae0bd19c08e6ab84a7f17aa5 Mon Sep 17 00:00:00 2001 From: Arthur de Moulins Date: Fri, 21 Feb 2020 18:01:30 +0100 Subject: [PATCH 04/17] override volumes for dev --- docker-compose.override.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 973c4a4519..de960712cf 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -11,6 +11,8 @@ services: gateway: volumes: - .:/var/alchemy/Phraseanet + - ./datas:/var/alchemy/Phraseanet/datas:rw + - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw builder: build: @@ -27,10 +29,16 @@ services: - PHP_IDE_CONFIG volumes: - .:/var/alchemy/Phraseanet + - ./logs:/var/alchemy/Phraseanet/logs:rw + - ./datas:/var/alchemy/Phraseanet/datas:rw + - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw worker: volumes: - .:/var/alchemy/Phraseanet + - ./logs:/var/alchemy/Phraseanet/logs:rw + - ./datas:/var/alchemy/Phraseanet/datas:rw + - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw rabbitmq: ports: @@ -51,3 +59,4 @@ networks: ipam: config: - subnet: $PHRASEANET_SUBNET_IPS + From 515e5ae68214e42da4346677ca42fbeae712a275 Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Sat, 22 Feb 2020 18:20:20 +0100 Subject: [PATCH 05/17] Add config volume In deployment mode, add config_vol. Config_vol is shared by Phraseanet and Worker container. --- docker-compose.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 89e2ef9835..6746832fbf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -48,6 +48,7 @@ services: - INSTALL_RABBITMQ_USER=$RABBITMQ_DEFAULT_USER - INSTALL_RABBITMQ_PASSWORD=$RABBITMQ_DEFAULT_PASS volumes: + - config_vol:/var/alchemy/Phraseanet/config:rw - data_vol:/var/alchemy/Phraseanet/datas:rw - tmp_vol:/var/alchemy/Phraseanet/tmp:rw - logs_vol:/var/alchemy/Phraseanet/logs:rw @@ -71,6 +72,7 @@ services: - SESSION_CACHE_LIMITER - PHP_LOG_LEVEL volumes: + - config_vol:/var/alchemy/Phraseanet/config:rw - data_vol:/var/alchemy/Phraseanet/datas:rw - tmp_vol:/var/alchemy/Phraseanet/tmp:rw - logs_vol:/var/alchemy/Phraseanet/logs:rw @@ -105,6 +107,8 @@ services: - elasticsearch_vol:/usr/share/elasticsearch/data volumes: + config_vol: + driver: local data_vol: driver: local tmp_vol: From b605f5356414ead70016c814e223a3557d030827 Mon Sep 17 00:00:00 2001 From: Arthur de Moulins Date: Sat, 22 Feb 2020 18:34:10 +0100 Subject: [PATCH 06/17] also add config volume to override --- docker-compose.override.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.override.yml b/docker-compose.override.yml index de960712cf..b2e730babc 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -29,6 +29,7 @@ services: - PHP_IDE_CONFIG volumes: - .:/var/alchemy/Phraseanet + - ./config:/var/alchemy/Phraseanet/config:rw - ./logs:/var/alchemy/Phraseanet/logs:rw - ./datas:/var/alchemy/Phraseanet/datas:rw - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw @@ -36,6 +37,7 @@ services: worker: volumes: - .:/var/alchemy/Phraseanet + - ./config:/var/alchemy/Phraseanet/config:rw - ./logs:/var/alchemy/Phraseanet/logs:rw - ./datas:/var/alchemy/Phraseanet/datas:rw - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw From 056feff7b71a8763b1d4c484688bcddc3357ae5a Mon Sep 17 00:00:00 2001 From: Arthur de Moulins Date: Sat, 22 Feb 2020 18:41:07 +0100 Subject: [PATCH 07/17] remove COMPOSE_PROJECT_NAME in order to use folder name --- .env | 2 -- 1 file changed, 2 deletions(-) diff --git a/.env b/.env index de8904cafd..fd5dd19ca2 100644 --- a/.env +++ b/.env @@ -1,5 +1,3 @@ -# compose project name (used to name/group your stack containers) -COMPOSE_PROJECT_NAME=phraseanet # Registry from where you pull Docker images PHRASEANET_DOCKER_REGISTRY=local # Tag of the Docker images From 4cfc7126741865fc018952a2381d628a136eee79 Mon Sep 17 00:00:00 2001 From: Arthur de Moulins Date: Thu, 27 Feb 2020 21:54:54 +0100 Subject: [PATCH 08/17] arrange entrypoints and commands for docker --- .dockerignore | 3 +++ .gitignore | 2 ++ Dockerfile | 12 ++++++--- README.md | 19 +++++++------- docker-compose.override.yml | 6 +++++ docker-compose.yml | 1 - docker/nginx/{boot.sh => entrypoint.sh} | 3 ++- docker/phraseanet/boot.sh | 17 ------------- .../{ => phraseanet}/auto-install.sh | 0 docker/phraseanet/phraseanet/entrypoint.sh | 25 +++++++++++++++++++ .../worker/entrypoint.sh} | 3 +++ .../phraseanet/worker/scheduler-run.sh | 3 +++ docker/phraseanet/worker-boot.sh | 9 ------- 13 files changed, 62 insertions(+), 41 deletions(-) rename docker/nginx/{boot.sh => entrypoint.sh} (83%) delete mode 100755 docker/phraseanet/boot.sh rename docker/phraseanet/{ => phraseanet}/auto-install.sh (100%) create mode 100755 docker/phraseanet/phraseanet/entrypoint.sh rename docker/phraseanet/{phraseanet-entrypoint.sh => phraseanet/worker/entrypoint.sh} (76%) create mode 100755 docker/phraseanet/phraseanet/worker/scheduler-run.sh delete mode 100755 docker/phraseanet/worker-boot.sh diff --git a/.dockerignore b/.dockerignore index 5331a360a7..3498e547ad 100644 --- a/.dockerignore +++ b/.dockerignore @@ -6,6 +6,7 @@ /docker-compose.* /Dockerfile /.env +/.env.* /*.md /.travis.yml /CONTRIBUTORS @@ -13,3 +14,5 @@ /www/thumbnails /www/assets /www/custom +/config/configuration.yml +/config/configuration-compiled.php diff --git a/.gitignore b/.gitignore index dc81372af0..c5cce4bb70 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,5 @@ playbook.retry npm-debug.log /Phrasea_datas + +.env.* diff --git a/Dockerfile b/Dockerfile index 10443b9f88..e24a6154b4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -107,15 +107,16 @@ FROM phraseanet-system as phraseanet-fpm COPY --from=builder --chown=app /var/alchemy/Phraseanet /var/alchemy/Phraseanet ADD ./docker/phraseanet/ / WORKDIR /var/alchemy/Phraseanet -ENTRYPOINT ["/phraseanet-entrypoint.sh"] -CMD ["/boot.sh"] +ENTRYPOINT ["/phraseanet/entrypoint.sh"] +CMD ["php-fpm", "-F"] ######################################################################### # Phraseanet worker application image ######################################################################### FROM phraseanet-fpm as phraseanet-worker -CMD ["/worker-boot.sh"] +ENTRYPOINT ["/phraseanet/worker/entrypoint.sh"] +CMD ["/phraseanet/worker/scheduler-run.sh"] ######################################################################### # phraseanet-nginx @@ -125,4 +126,7 @@ FROM nginx:1.17.8-alpine as phraseanet-nginx RUN adduser --uid 1000 --disabled-password app ADD ./docker/nginx/ / COPY --from=builder /var/alchemy/Phraseanet/www /var/alchemy/Phraseanet/www -CMD ["/boot.sh"] + +ENTRYPOINT ["/entrypoint.sh"] + +CMD ["nginx", "-g", "daemon off;"] diff --git a/README.md b/README.md index 3a3971614a..c2a4b6ed45 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,16 @@ export INSTALL_ACCOUNT_PASSWORD=$3cr3t! export PHRASEANET_APP_PORT=8082 ``` +### Using a .env.local + +It may be easier to deal with a local file to manage our env variables. + +You can add your `.env.local` at the root of this project and define a command alias in your `~/.bashrc`: + +```bash +alias dc="env $(cat .env.local | grep -v '#' | tr '\n' ' ') docker-compose" +``` + ### Running the application If you are not interested in the development of Phraseanet, you can ignore everything in `.env` after the `DEV Purpose` part. @@ -103,15 +113,6 @@ For PhpStorm, you can follow this example: > Configure the `Absolute path on the server` to `/var/alchemy/Phraseanet` at the project root path (i.e. `~/projects/Phraseanet`). -### How to change volumes location - -Before moving all the files, or to use a different location, you have to remove all containers and volume definitions with the following command : - - docker-compose down --volumes - -Then move the files and set the `VOLUMES_DIR` to the new location. - - # With Vagrant (deprecated) ## Development : diff --git a/docker-compose.override.yml b/docker-compose.override.yml index b2e730babc..55338824df 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -13,6 +13,7 @@ services: - .:/var/alchemy/Phraseanet - ./datas:/var/alchemy/Phraseanet/datas:rw - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw + - ./docker/nginx/entrypoint.sh:/entrypoint.sh builder: build: @@ -33,6 +34,8 @@ services: - ./logs:/var/alchemy/Phraseanet/logs:rw - ./datas:/var/alchemy/Phraseanet/datas:rw - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw + - ./docker/phraseanet/phraseanet/entrypoint.sh:/phraseanet/entrypoint.sh + - ./docker/phraseanet/phraseanet/auto-install.sh:/phraseanet/auto-install.sh worker: volumes: @@ -41,6 +44,9 @@ services: - ./logs:/var/alchemy/Phraseanet/logs:rw - ./datas:/var/alchemy/Phraseanet/datas:rw - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw + - ./docker/phraseanet/phraseanet/entrypoint.sh:/phraseanet/entrypoint.sh + - ./docker/phraseanet/phraseanet/worker/entrypoint.sh:/phraseanet/worker/entrypoint.sh + - ./docker/phraseanet/phraseanet/worker/scheduler-run.sh:/phraseanet/worker/scheduler-run.sh rabbitmq: ports: diff --git a/docker-compose.yml b/docker-compose.yml index 6746832fbf..4c6f435ee7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,7 +14,6 @@ services: - phraseanet environment: - MAX_BODY_SIZE - ports: - ${PHRASEANET_APP_PORT}:80 diff --git a/docker/nginx/boot.sh b/docker/nginx/entrypoint.sh similarity index 83% rename from docker/nginx/boot.sh rename to docker/nginx/entrypoint.sh index c25c541c71..0a43a70c5b 100755 --- a/docker/nginx/boot.sh +++ b/docker/nginx/entrypoint.sh @@ -3,4 +3,5 @@ set -xe cat nginx.conf.sample | sed "s/\$MAX_BODY_SIZE/$MAX_BODY_SIZE/g" > /etc/nginx/conf.d/default.conf -nginx -g "daemon off;" + +exec "$@" diff --git a/docker/phraseanet/boot.sh b/docker/phraseanet/boot.sh deleted file mode 100755 index 578da3a8da..0000000000 --- a/docker/phraseanet/boot.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -set -xe - -chown -R app:app /var/alchemy/Phraseanet/config -chown -R app:app /var/alchemy/Phraseanet/datas -chown -R app:app /var/alchemy/Phraseanet/tmp -chown -R app:app /var/alchemy/Phraseanet/www/thumbnails -FILE=/var/alchemy/Phraseanet/config/configuration.yml -if [ -f "$FILE" ]; then - echo "$FILE exist, skip setup." -else - echo "$FILE doesn't exist, entering setup..." - runuser app -c '/auto-install.sh' -fi - -php-fpm -F diff --git a/docker/phraseanet/auto-install.sh b/docker/phraseanet/phraseanet/auto-install.sh similarity index 100% rename from docker/phraseanet/auto-install.sh rename to docker/phraseanet/phraseanet/auto-install.sh diff --git a/docker/phraseanet/phraseanet/entrypoint.sh b/docker/phraseanet/phraseanet/entrypoint.sh new file mode 100755 index 0000000000..2d2977a411 --- /dev/null +++ b/docker/phraseanet/phraseanet/entrypoint.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +set -e + +envsubst < /php.ini.sample > /usr/local/etc/php/php.ini +envsubst < /php-fpm.conf.sample > /usr/local/etc/php-fpm.conf + +chown -R app:app /var/alchemy/Phraseanet/config +chown -R app:app /var/alchemy/Phraseanet/datas +chown -R app:app /var/alchemy/Phraseanet/tmp +chown -R app:app /var/alchemy/Phraseanet/www/thumbnails +FILE=/var/alchemy/Phraseanet/config/configuration.yml +if [ -f "$FILE" ]; then + echo "$FILE exists, skip setup." +else + echo "$FILE doesn't exist, entering setup..." + runuser app -c '/phraseanet/auto-install.sh' +fi + +if [ ${XDEBUG_ENABLED} == "1" ]; then + echo "XDEBUG is enabled. YOU MAY KEEP THIS FEATURE DISABLED IN PRODUCTION." + docker-php-ext-enable xdebug +fi + +bash -e docker-php-entrypoint $@ diff --git a/docker/phraseanet/phraseanet-entrypoint.sh b/docker/phraseanet/phraseanet/worker/entrypoint.sh similarity index 76% rename from docker/phraseanet/phraseanet-entrypoint.sh rename to docker/phraseanet/phraseanet/worker/entrypoint.sh index f786adb251..8e296b0046 100755 --- a/docker/phraseanet/phraseanet-entrypoint.sh +++ b/docker/phraseanet/phraseanet/worker/entrypoint.sh @@ -2,6 +2,9 @@ set -e +mkdir -p /var/alchemy/Phraseanet/tmp/locks \ + && chown -R app:app /var/alchemy/Phraseanet/tmp + envsubst < /php.ini.sample > /usr/local/etc/php/php.ini envsubst < /php-fpm.conf.sample > /usr/local/etc/php-fpm.conf diff --git a/docker/phraseanet/phraseanet/worker/scheduler-run.sh b/docker/phraseanet/phraseanet/worker/scheduler-run.sh new file mode 100755 index 0000000000..1b972c6cdb --- /dev/null +++ b/docker/phraseanet/phraseanet/worker/scheduler-run.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +runuser app -c 'php /var/alchemy/Phraseanet/bin/console task-manager:scheduler:run' diff --git a/docker/phraseanet/worker-boot.sh b/docker/phraseanet/worker-boot.sh deleted file mode 100755 index bcc76c96eb..0000000000 --- a/docker/phraseanet/worker-boot.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -if [ ${XDEBUG_ENABLED} == "1" ]; then - echo "XDEBUG is enabled. YOU MAY KEEP THIS FEATURE DISABLED IN PRODUCTION." - docker-php-ext-enable xdebug -fi - -mkdir /var/alchemy/Phraseanet/tmp/locks && chown -R app:app /var/alchemy/Phraseanet/tmp -runuser app -c 'php /var/alchemy/Phraseanet/bin/console task-manager:scheduler:run' From 4a634070d1f1c4db52a5b93e2917adffa86bbe6e Mon Sep 17 00:00:00 2001 From: Arthur de Moulins Date: Fri, 28 Feb 2020 15:46:19 +0100 Subject: [PATCH 09/17] optimize docker build --- .dockerignore | 35 +++++++++++++------ .env | 2 +- Dockerfile | 12 +++---- docker-compose.override.yml | 14 ++++---- docker/nginx/entrypoint.sh | 7 ---- docker/nginx/root/entrypoint.sh | 7 ++++ docker/nginx/{ => root}/etc/nginx/nginx.conf | 0 docker/nginx/{ => root}/nginx.conf.sample | 0 docker/phraseanet-debug/entrypoint.sh | 9 ----- .../usr/bin/docker-get-host-ip | 4 --- .../usr/bin/docker-xdebug-disable | 5 --- .../usr/bin/docker-xdebug-enable | 9 ----- .../{phraseanet => }/auto-install.sh | 5 ++- docker/phraseanet/entrypoint.sh | 29 +++++++++++++++ docker/phraseanet/phraseanet/entrypoint.sh | 25 ------------- .../phraseanet/worker/entrypoint.sh | 16 --------- .../phraseanet/worker/scheduler-run.sh | 3 -- .../usr/local/etc/php-fpm.d/www.conf.default | 0 .../usr/local/etc/php-fpm.d/zz-docker.conf | 0 docker/phraseanet/worker/entrypoint.sh | 18 ++++++++++ docker/phraseanet/worker/scheduler-run.sh | 3 ++ ..._CG__AlchemyPhraseaModelEntitiesBasket.php | 11 ++++++ ...AlchemyPhraseaModelEntitiesLazaretFile.php | 11 ++++++ 23 files changed, 119 insertions(+), 106 deletions(-) delete mode 100755 docker/nginx/entrypoint.sh create mode 100755 docker/nginx/root/entrypoint.sh rename docker/nginx/{ => root}/etc/nginx/nginx.conf (100%) rename docker/nginx/{ => root}/nginx.conf.sample (100%) delete mode 100644 docker/phraseanet-debug/entrypoint.sh delete mode 100644 docker/phraseanet-debug/usr/bin/docker-get-host-ip delete mode 100644 docker/phraseanet-debug/usr/bin/docker-xdebug-disable delete mode 100644 docker/phraseanet-debug/usr/bin/docker-xdebug-enable rename docker/phraseanet/{phraseanet => }/auto-install.sh (96%) create mode 100755 docker/phraseanet/entrypoint.sh delete mode 100755 docker/phraseanet/phraseanet/entrypoint.sh delete mode 100755 docker/phraseanet/phraseanet/worker/entrypoint.sh delete mode 100755 docker/phraseanet/phraseanet/worker/scheduler-run.sh rename docker/phraseanet/{ => root}/usr/local/etc/php-fpm.d/www.conf.default (100%) rename docker/phraseanet/{ => root}/usr/local/etc/php-fpm.d/zz-docker.conf (100%) create mode 100755 docker/phraseanet/worker/entrypoint.sh create mode 100755 docker/phraseanet/worker/scheduler-run.sh diff --git a/.dockerignore b/.dockerignore index 3498e547ad..e72dba2406 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,18 +1,33 @@ -/.circleci -/.git +.idea .settings -/nodes_modules -/vendor -/docker-compose.* -/Dockerfile +/*.md +/.circleci +/.dockerignore /.env /.env.* -/*.md +/.git /.travis.yml +/AUTHORS /CONTRIBUTORS +/Dockerfile /LICENSE -/www/thumbnails -/www/assets -/www/custom +/bin +!/bin/console +!/bin/developer +!/bin/setup +/cache /config/configuration.yml /config/configuration-compiled.php +!/config/configuration.sample.yml +/datas +/docker-compose.* +/logs +/nodes_modules +/plugins +/tmp +/vendor +/www/assets +/www/custom +/www/plugins +/www/thumbnails +npm-debug.log diff --git a/.env b/.env index fd5dd19ca2..c314382e24 100644 --- a/.env +++ b/.env @@ -52,7 +52,7 @@ MYSQL_MAX_ALLOWED_PACKET=16M # --- DEV purpose --- # PhpMyAdmin port -PHPMYADMIN_PORT=8089 +PHRASEANET_PHPMYADMIN_PORT=8089 # Xdebug XDEBUG_ENABLED=1 diff --git a/Dockerfile b/Dockerfile index e24a6154b4..c905097a4f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -93,7 +93,7 @@ RUN composer install --prefer-dist --no-dev --no-progress --no-suggest --classma COPY --chown=app . . -RUN rm -rf docker \ +RUN rm -rf docker/phraseanet/root \ && make install ADD docker/phraseanet/ / @@ -105,9 +105,9 @@ ADD docker/phraseanet/ / FROM phraseanet-system as phraseanet-fpm COPY --from=builder --chown=app /var/alchemy/Phraseanet /var/alchemy/Phraseanet -ADD ./docker/phraseanet/ / +ADD ./docker/phraseanet/root / WORKDIR /var/alchemy/Phraseanet -ENTRYPOINT ["/phraseanet/entrypoint.sh"] +ENTRYPOINT ["docker/phraseanet/entrypoint.sh"] CMD ["php-fpm", "-F"] ######################################################################### @@ -115,8 +115,8 @@ CMD ["php-fpm", "-F"] ######################################################################### FROM phraseanet-fpm as phraseanet-worker -ENTRYPOINT ["/phraseanet/worker/entrypoint.sh"] -CMD ["/phraseanet/worker/scheduler-run.sh"] +ENTRYPOINT ["docker/phraseanet/worker/entrypoint.sh"] +CMD ["docker/phraseanet/worker/scheduler-run.sh"] ######################################################################### # phraseanet-nginx @@ -124,7 +124,7 @@ CMD ["/phraseanet/worker/scheduler-run.sh"] FROM nginx:1.17.8-alpine as phraseanet-nginx RUN adduser --uid 1000 --disabled-password app -ADD ./docker/nginx/ / +ADD ./docker/nginx/root / COPY --from=builder /var/alchemy/Phraseanet/www /var/alchemy/Phraseanet/www ENTRYPOINT ["/entrypoint.sh"] diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 55338824df..b1a5de201c 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -4,7 +4,7 @@ services: image: phpmyadmin/phpmyadmin restart: on-failure ports: - - ${PHPMYADMIN_PORT}:80 + - ${PHRASEANET_PHPMYADMIN_PORT}:80 depends_on: - db @@ -13,7 +13,7 @@ services: - .:/var/alchemy/Phraseanet - ./datas:/var/alchemy/Phraseanet/datas:rw - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw - - ./docker/nginx/entrypoint.sh:/entrypoint.sh + - ./docker/nginx/root/entrypoint.sh:/entrypoint.sh builder: build: @@ -22,6 +22,10 @@ services: command: exit 0 volumes: - .:/var/alchemy/Phraseanet + - ./config:/var/alchemy/Phraseanet/config:rw + - ./logs:/var/alchemy/Phraseanet/logs:rw + - ./datas:/var/alchemy/Phraseanet/datas:rw + - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw phraseanet: environment: @@ -34,8 +38,6 @@ services: - ./logs:/var/alchemy/Phraseanet/logs:rw - ./datas:/var/alchemy/Phraseanet/datas:rw - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw - - ./docker/phraseanet/phraseanet/entrypoint.sh:/phraseanet/entrypoint.sh - - ./docker/phraseanet/phraseanet/auto-install.sh:/phraseanet/auto-install.sh worker: volumes: @@ -44,9 +46,6 @@ services: - ./logs:/var/alchemy/Phraseanet/logs:rw - ./datas:/var/alchemy/Phraseanet/datas:rw - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw - - ./docker/phraseanet/phraseanet/entrypoint.sh:/phraseanet/entrypoint.sh - - ./docker/phraseanet/phraseanet/worker/entrypoint.sh:/phraseanet/worker/entrypoint.sh - - ./docker/phraseanet/phraseanet/worker/scheduler-run.sh:/phraseanet/worker/scheduler-run.sh rabbitmq: ports: @@ -67,4 +66,3 @@ networks: ipam: config: - subnet: $PHRASEANET_SUBNET_IPS - diff --git a/docker/nginx/entrypoint.sh b/docker/nginx/entrypoint.sh deleted file mode 100755 index 0a43a70c5b..0000000000 --- a/docker/nginx/entrypoint.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -set -xe - -cat nginx.conf.sample | sed "s/\$MAX_BODY_SIZE/$MAX_BODY_SIZE/g" > /etc/nginx/conf.d/default.conf - -exec "$@" diff --git a/docker/nginx/root/entrypoint.sh b/docker/nginx/root/entrypoint.sh new file mode 100755 index 0000000000..e46ea44296 --- /dev/null +++ b/docker/nginx/root/entrypoint.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +set -xe + +cat /nginx.conf.sample | sed "s/\$MAX_BODY_SIZE/$MAX_BODY_SIZE/g" > /etc/nginx/conf.d/default.conf + +exec "$@" diff --git a/docker/nginx/etc/nginx/nginx.conf b/docker/nginx/root/etc/nginx/nginx.conf similarity index 100% rename from docker/nginx/etc/nginx/nginx.conf rename to docker/nginx/root/etc/nginx/nginx.conf diff --git a/docker/nginx/nginx.conf.sample b/docker/nginx/root/nginx.conf.sample similarity index 100% rename from docker/nginx/nginx.conf.sample rename to docker/nginx/root/nginx.conf.sample diff --git a/docker/phraseanet-debug/entrypoint.sh b/docker/phraseanet-debug/entrypoint.sh deleted file mode 100644 index a7a9f915b1..0000000000 --- a/docker/phraseanet-debug/entrypoint.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -set -e - -if [ ! -z ${DOCKER_XDEBUG_ENABLED} ]; then - . usr-bin/docker-xdebug-enable -fi - -exec "$@" diff --git a/docker/phraseanet-debug/usr/bin/docker-get-host-ip b/docker/phraseanet-debug/usr/bin/docker-get-host-ip deleted file mode 100644 index 752c1566ea..0000000000 --- a/docker/phraseanet-debug/usr/bin/docker-get-host-ip +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -/sbin/ip route|awk '/default/ { print $3 }' -# TODO support MacOS & Windows host IP diff --git a/docker/phraseanet-debug/usr/bin/docker-xdebug-disable b/docker/phraseanet-debug/usr/bin/docker-xdebug-disable deleted file mode 100644 index 7d9de59329..0000000000 --- a/docker/phraseanet-debug/usr/bin/docker-xdebug-disable +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -unset HOST_IP -unset XDEBUG_CONFIG -unset XDEBUG_REMOTE_HOST diff --git a/docker/phraseanet-debug/usr/bin/docker-xdebug-enable b/docker/phraseanet-debug/usr/bin/docker-xdebug-enable deleted file mode 100644 index 24b7fcd97b..0000000000 --- a/docker/phraseanet-debug/usr/bin/docker-xdebug-enable +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -set -e - -HOST_IP=$(docker-get-host-ip); - -export HOST_IP -export XDEBUG_CONFIG="remote_enable=1 remote_host=${HOST_IP} idekey=PHPSTORM"; -export XDEBUG_REMOTE_HOST="${HOST_IP}"; diff --git a/docker/phraseanet/phraseanet/auto-install.sh b/docker/phraseanet/auto-install.sh similarity index 96% rename from docker/phraseanet/phraseanet/auto-install.sh rename to docker/phraseanet/auto-install.sh index 00e8601edb..6a0e04d424 100755 --- a/docker/phraseanet/phraseanet/auto-install.sh +++ b/docker/phraseanet/auto-install.sh @@ -2,12 +2,12 @@ set -xe -if [ $INSTALL_ACCOUNT_EMAIL = ""]; then +if [ -z "$INSTALL_ACCOUNT_EMAIL" ]; then echo "INSTALL_ACCOUNT_EMAIL var is not set." exit 1 fi -if [ $INSTALL_ACCOUNT_PASSWORD = ""]; then +if [ -z "$INSTALL_ACCOUNT_PASSWORD" ]; then echo "INSTALL_ACCOUNT_PASSWORD var is not set." exit 1 fi @@ -39,7 +39,6 @@ fi /var/alchemy/Phraseanet/bin/setup system:config set main.cache.type redis # RabbitMQ - bin/setup system:config set rabbitmq.server.host rabbitmq bin/setup system:config set rabbitmq.server.port 5672 bin/setup system:config set rabbitmq.server.user $INSTALL_RABBITMQ_USER diff --git a/docker/phraseanet/entrypoint.sh b/docker/phraseanet/entrypoint.sh new file mode 100755 index 0000000000..1d1fecb989 --- /dev/null +++ b/docker/phraseanet/entrypoint.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +set -e + +envsubst < "docker/phraseanet/php.ini.sample" > /usr/local/etc/php/php.ini +envsubst < "docker/phraseanet/php-fpm.conf.sample" > /usr/local/etc/php-fpm.conf + +chown -R app:app \ + config \ + datas \ + tmp \ + logs \ + www/thumbnails + +FILE=config/configuration.yml + +if [ -f "$FILE" ]; then + echo "$FILE exists, skip setup." +else + echo "$FILE doesn't exist, entering setup..." + runuser app -c docker/phraseanet/auto-install.sh +fi + +if [ ${XDEBUG_ENABLED} == "1" ]; then + echo "XDEBUG is enabled. YOU MAY KEEP THIS FEATURE DISABLED IN PRODUCTION." + docker-php-ext-enable xdebug +fi + +bash -e docker-php-entrypoint $@ diff --git a/docker/phraseanet/phraseanet/entrypoint.sh b/docker/phraseanet/phraseanet/entrypoint.sh deleted file mode 100755 index 2d2977a411..0000000000 --- a/docker/phraseanet/phraseanet/entrypoint.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -set -e - -envsubst < /php.ini.sample > /usr/local/etc/php/php.ini -envsubst < /php-fpm.conf.sample > /usr/local/etc/php-fpm.conf - -chown -R app:app /var/alchemy/Phraseanet/config -chown -R app:app /var/alchemy/Phraseanet/datas -chown -R app:app /var/alchemy/Phraseanet/tmp -chown -R app:app /var/alchemy/Phraseanet/www/thumbnails -FILE=/var/alchemy/Phraseanet/config/configuration.yml -if [ -f "$FILE" ]; then - echo "$FILE exists, skip setup." -else - echo "$FILE doesn't exist, entering setup..." - runuser app -c '/phraseanet/auto-install.sh' -fi - -if [ ${XDEBUG_ENABLED} == "1" ]; then - echo "XDEBUG is enabled. YOU MAY KEEP THIS FEATURE DISABLED IN PRODUCTION." - docker-php-ext-enable xdebug -fi - -bash -e docker-php-entrypoint $@ diff --git a/docker/phraseanet/phraseanet/worker/entrypoint.sh b/docker/phraseanet/phraseanet/worker/entrypoint.sh deleted file mode 100755 index 8e296b0046..0000000000 --- a/docker/phraseanet/phraseanet/worker/entrypoint.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -set -e - -mkdir -p /var/alchemy/Phraseanet/tmp/locks \ - && chown -R app:app /var/alchemy/Phraseanet/tmp - -envsubst < /php.ini.sample > /usr/local/etc/php/php.ini -envsubst < /php-fpm.conf.sample > /usr/local/etc/php-fpm.conf - -if [ ${XDEBUG_ENABLED} == "1" ]; then - echo "XDEBUG is enabled. YOU MAY KEEP THIS FEATURE DISABLED IN PRODUCTION." - docker-php-ext-enable xdebug -fi - -bash -e docker-php-entrypoint $@ diff --git a/docker/phraseanet/phraseanet/worker/scheduler-run.sh b/docker/phraseanet/phraseanet/worker/scheduler-run.sh deleted file mode 100755 index 1b972c6cdb..0000000000 --- a/docker/phraseanet/phraseanet/worker/scheduler-run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -runuser app -c 'php /var/alchemy/Phraseanet/bin/console task-manager:scheduler:run' diff --git a/docker/phraseanet/usr/local/etc/php-fpm.d/www.conf.default b/docker/phraseanet/root/usr/local/etc/php-fpm.d/www.conf.default similarity index 100% rename from docker/phraseanet/usr/local/etc/php-fpm.d/www.conf.default rename to docker/phraseanet/root/usr/local/etc/php-fpm.d/www.conf.default diff --git a/docker/phraseanet/usr/local/etc/php-fpm.d/zz-docker.conf b/docker/phraseanet/root/usr/local/etc/php-fpm.d/zz-docker.conf similarity index 100% rename from docker/phraseanet/usr/local/etc/php-fpm.d/zz-docker.conf rename to docker/phraseanet/root/usr/local/etc/php-fpm.d/zz-docker.conf diff --git a/docker/phraseanet/worker/entrypoint.sh b/docker/phraseanet/worker/entrypoint.sh new file mode 100755 index 0000000000..c73a924ebc --- /dev/null +++ b/docker/phraseanet/worker/entrypoint.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +set -e + +DOCKER_DIR="./docker/phraseanet" + +mkdir -p "${APP_DIR}/tmp/locks" \ + && chown -R app:app "${APP_DIR}/tmp" + +envsubst < "${DOCKER_DIR}/php.ini.sample" > /usr/local/etc/php/php.ini +envsubst < "${DOCKER_DIR}/php-fpm.conf.sample" > /usr/local/etc/php-fpm.conf + +if [ ${XDEBUG_ENABLED} == "1" ]; then + echo "XDEBUG is enabled. YOU MAY KEEP THIS FEATURE DISABLED IN PRODUCTION." + docker-php-ext-enable xdebug +fi + +bash -e docker-php-entrypoint $@ diff --git a/docker/phraseanet/worker/scheduler-run.sh b/docker/phraseanet/worker/scheduler-run.sh new file mode 100755 index 0000000000..651ae42ee5 --- /dev/null +++ b/docker/phraseanet/worker/scheduler-run.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +runuser app -c 'php bin/console task-manager:scheduler:run' diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesBasket.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesBasket.php index aedc9247ff..318a58e2cf 100644 --- a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesBasket.php +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesBasket.php @@ -474,6 +474,17 @@ class Basket extends \Alchemy\Phrasea\Model\Entities\Basket implements \Doctrine return parent::hasRecord($app, $record); } + /** + * {@inheritDoc} + */ + public function getElementByRecord(\Alchemy\Phrasea\Application $app, \record_adapter $record) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getElementByRecord', [$app, $record]); + + return parent::getElementByRecord($app, $record); + } + /** * {@inheritDoc} */ diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretFile.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretFile.php index dab6e47808..57cb4cd042 100644 --- a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretFile.php +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretFile.php @@ -518,4 +518,15 @@ class LazaretFile extends \Alchemy\Phrasea\Model\Entities\LazaretFile implements return parent::getRecordsToSubstitute($app, $includeReason); } + /** + * {@inheritDoc} + */ + public function getStatus(\Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getStatus', [$app]); + + return parent::getStatus($app); + } + } From 090ff844e317754eac64b586e4587a6dbab2337a Mon Sep 17 00:00:00 2001 From: Arthur de Moulins Date: Fri, 28 Feb 2020 17:00:31 +0100 Subject: [PATCH 10/17] use custom volumes in docker-compose.override --- .dockerignore | 1 + .env | 8 ++++++++ .gitignore | 2 ++ README.md | 6 +++--- docker-compose.override.yml | 34 ++++++++++++++++++++-------------- 5 files changed, 34 insertions(+), 17 deletions(-) diff --git a/.dockerignore b/.dockerignore index e72dba2406..a79f380ade 100644 --- a/.dockerignore +++ b/.dockerignore @@ -26,6 +26,7 @@ /plugins /tmp /vendor +/volumes /www/assets /www/custom /www/plugins diff --git a/.env b/.env index c314382e24..064a771509 100644 --- a/.env +++ b/.env @@ -61,3 +61,11 @@ IDE_KEY=PHPSTORM PHRASEANET_SUBNET_IPS=172.32.0.0/16 PHRASEANET_GATEWAY_IP=172.32.0.1 PHP_IDE_CONFIG=serverName=docker-server-phraseanet + +# Volumes location for dev +PHRASEANET_CONFIG_DIR=./config +PHRASEANET_LOGS_DIR=./logs +PHRASEANET_DATA_DIR=./datas +PHRASEANET_DB_DIR=./volumes/db +PHRASEANET_ELASTICSEARCH_DIR=./volumes/elasticsearch +PHRASEANET_THUMBNAILS_DIR=./www/thumbnails diff --git a/.gitignore b/.gitignore index c5cce4bb70..ead2712de2 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,5 @@ npm-debug.log /Phrasea_datas .env.* +env.local +/volumes diff --git a/README.md b/README.md index c2a4b6ed45..e56167d189 100644 --- a/README.md +++ b/README.md @@ -52,14 +52,14 @@ export INSTALL_ACCOUNT_PASSWORD=$3cr3t! export PHRASEANET_APP_PORT=8082 ``` -### Using a .env.local +### Using a env.local (custom .env) It may be easier to deal with a local file to manage our env variables. -You can add your `.env.local` at the root of this project and define a command alias in your `~/.bashrc`: +You can add your `env.local` at the root of this project and define a command alias in your `~/.bashrc`: ```bash -alias dc="env $(cat .env.local | grep -v '#' | tr '\n' ' ') docker-compose" +alias dc="env $(cat env.local | grep -v '#' | tr '\n' ' ') docker-compose" ``` ### Running the application diff --git a/docker-compose.override.yml b/docker-compose.override.yml index b1a5de201c..a950465f06 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -11,9 +11,9 @@ services: gateway: volumes: - .:/var/alchemy/Phraseanet - - ./datas:/var/alchemy/Phraseanet/datas:rw - - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw - ./docker/nginx/root/entrypoint.sh:/entrypoint.sh + - ${PHRASEANET_DATA_DIR}:/var/alchemy/Phraseanet/datas:rw + - ${PHRASEANET_THUMBNAILS_DIR}:/var/alchemy/Phraseanet/www/thumbnails:rw builder: build: @@ -22,10 +22,10 @@ services: command: exit 0 volumes: - .:/var/alchemy/Phraseanet - - ./config:/var/alchemy/Phraseanet/config:rw - - ./logs:/var/alchemy/Phraseanet/logs:rw - - ./datas:/var/alchemy/Phraseanet/datas:rw - - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw + - ${PHRASEANET_CONFIG_DIR}:/var/alchemy/Phraseanet/config:rw + - ${PHRASEANET_LOGS_DIR}:/var/alchemy/Phraseanet/logs:rw + - ${PHRASEANET_DATA_DIR}:/var/alchemy/Phraseanet/datas:rw + - ${PHRASEANET_THUMBNAILS_DIR}:/var/alchemy/Phraseanet/www/thumbnails:rw phraseanet: environment: @@ -34,23 +34,27 @@ services: - PHP_IDE_CONFIG volumes: - .:/var/alchemy/Phraseanet - - ./config:/var/alchemy/Phraseanet/config:rw - - ./logs:/var/alchemy/Phraseanet/logs:rw - - ./datas:/var/alchemy/Phraseanet/datas:rw - - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw + - ${PHRASEANET_CONFIG_DIR}:/var/alchemy/Phraseanet/config:rw + - ${PHRASEANET_LOGS_DIR}:/var/alchemy/Phraseanet/logs:rw + - ${PHRASEANET_DATA_DIR}:/var/alchemy/Phraseanet/datas:rw + - ${PHRASEANET_THUMBNAILS_DIR}:/var/alchemy/Phraseanet/www/thumbnails:rw worker: volumes: - .:/var/alchemy/Phraseanet - - ./config:/var/alchemy/Phraseanet/config:rw - - ./logs:/var/alchemy/Phraseanet/logs:rw - - ./datas:/var/alchemy/Phraseanet/datas:rw - - ./www/thumbnails:/var/alchemy/Phraseanet/www/thumbnails:rw + - ${PHRASEANET_CONFIG_DIR}:/var/alchemy/Phraseanet/config:rw + - ${PHRASEANET_LOGS_DIR}:/var/alchemy/Phraseanet/logs:rw + - ${PHRASEANET_DATA_DIR}:/var/alchemy/Phraseanet/datas:rw + - ${PHRASEANET_THUMBNAILS_DIR}:/var/alchemy/Phraseanet/www/thumbnails:rw rabbitmq: ports: - ${RABBITMQ_MANAGEMENT_PORT}:15672 + db: + volumes: + - ${PHRASEANET_DB_DIR}:/var/lib/mysql:rw + mailhog: image: mailhog/mailhog ports: @@ -60,6 +64,8 @@ services: elasticsearch: ports: - 9200:9200 + volumes: + - ${PHRASEANET_ELASTICSEARCH_DIR}:/usr/share/elasticsearch/data:rw networks: default: From 34ceffdae0ab9764eeed33343708d455cd2832b5 Mon Sep 17 00:00:00 2001 From: Arthur de Moulins Date: Fri, 28 Feb 2020 17:56:52 +0100 Subject: [PATCH 11/17] add doc for xdebug for macos, fix worker cmd --- .env | 2 +- Dockerfile | 2 +- README.md | 8 ++++++++ docker-compose.override.yml | 2 +- docker/phraseanet/worker/entrypoint.sh | 2 +- docker/phraseanet/worker/scheduler-run.sh | 3 --- 6 files changed, 12 insertions(+), 7 deletions(-) delete mode 100755 docker/phraseanet/worker/scheduler-run.sh diff --git a/.env b/.env index 064a771509..018bc8d64b 100644 --- a/.env +++ b/.env @@ -59,7 +59,7 @@ XDEBUG_ENABLED=1 XDEBUG_PROFILER_ENABLED=0 IDE_KEY=PHPSTORM PHRASEANET_SUBNET_IPS=172.32.0.0/16 -PHRASEANET_GATEWAY_IP=172.32.0.1 +XDEBUG_REMOTE_HOST=172.32.0.1 PHP_IDE_CONFIG=serverName=docker-server-phraseanet # Volumes location for dev diff --git a/Dockerfile b/Dockerfile index c905097a4f..13daa50724 100644 --- a/Dockerfile +++ b/Dockerfile @@ -116,7 +116,7 @@ CMD ["php-fpm", "-F"] FROM phraseanet-fpm as phraseanet-worker ENTRYPOINT ["docker/phraseanet/worker/entrypoint.sh"] -CMD ["docker/phraseanet/worker/scheduler-run.sh"] +CMD ["bin/console", "task-manager:scheduler:run"] ######################################################################### # phraseanet-nginx diff --git a/README.md b/README.md index e56167d189..1a6bf5f756 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,14 @@ For PhpStorm, you can follow this example: > Configure the `Absolute path on the server` to `/var/alchemy/Phraseanet` at the project root path (i.e. `~/projects/Phraseanet`). +#### Xdebug on MacOS + +You have to set the following env: +```bash +XDEBUG_REMOTE_HOST=host.docker.internal +``` + +> Don't forget to recreate your container (`docker-compose up -d phraseanet`) # With Vagrant (deprecated) diff --git a/docker-compose.override.yml b/docker-compose.override.yml index a950465f06..ab45ccdb4a 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -30,7 +30,7 @@ services: phraseanet: environment: - XDEBUG_ENABLED - - XDEBUG_CONFIG=remote_host=${PHRASEANET_GATEWAY_IP} idekey=${IDE_KEY} remote_enable=1 profiler_enable=${XDEBUG_PROFILER_ENABLED} profiler_output_dir=/var/alchemy/Phraseanet/cache/profiler + - XDEBUG_CONFIG=remote_host=${XDEBUG_REMOTE_HOST} idekey=${IDE_KEY} remote_enable=1 profiler_enable=${XDEBUG_PROFILER_ENABLED} profiler_output_dir=/var/alchemy/Phraseanet/cache/profiler - PHP_IDE_CONFIG volumes: - .:/var/alchemy/Phraseanet diff --git a/docker/phraseanet/worker/entrypoint.sh b/docker/phraseanet/worker/entrypoint.sh index c73a924ebc..d4d773c829 100755 --- a/docker/phraseanet/worker/entrypoint.sh +++ b/docker/phraseanet/worker/entrypoint.sh @@ -15,4 +15,4 @@ if [ ${XDEBUG_ENABLED} == "1" ]; then docker-php-ext-enable xdebug fi -bash -e docker-php-entrypoint $@ +runuser -u app "$@" diff --git a/docker/phraseanet/worker/scheduler-run.sh b/docker/phraseanet/worker/scheduler-run.sh deleted file mode 100755 index 651ae42ee5..0000000000 --- a/docker/phraseanet/worker/scheduler-run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -runuser app -c 'php bin/console task-manager:scheduler:run' From 1b108352b38bc4bff38b06a9e4facd584f27e328 Mon Sep 17 00:00:00 2001 From: Arthur de Moulins Date: Fri, 28 Feb 2020 18:01:07 +0100 Subject: [PATCH 12/17] add worker run --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 1a6bf5f756..ad4c060ab1 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,17 @@ If you don't work on phraseanet development, avoiding this `-f docker-compose.ym > You can also delete the `docker-compose.override.yml` to get free from this behavior. +#### Running workers + +```bash +docker-compose -f docker-compose.yml run --rm worker +``` + +Where `` can be: +- `bin/console task-manager:scheduler:run` (default) +- `bin/console bin/console worker:execute -m 2` +- ... + The default parameters allow you to reach the app with : `http://localhost:8082` From b9fa580a1288f9e275a9d1172681eb7385a9ccc8 Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Mon, 2 Mar 2020 21:12:09 +0100 Subject: [PATCH 13/17] Add tmp volume for override --- .env | 1 + 1 file changed, 1 insertion(+) diff --git a/.env b/.env index 018bc8d64b..2fb773529c 100644 --- a/.env +++ b/.env @@ -69,3 +69,4 @@ PHRASEANET_DATA_DIR=./datas PHRASEANET_DB_DIR=./volumes/db PHRASEANET_ELASTICSEARCH_DIR=./volumes/elasticsearch PHRASEANET_THUMBNAILS_DIR=./www/thumbnails +PHRASEANET_TMP_DIR=./tmp From 36219a10d44d543b7b4b6c51b7aecb5118320755 Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Mon, 2 Mar 2020 21:15:06 +0100 Subject: [PATCH 14/17] Add Tmp dir for override --- docker-compose.override.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docker-compose.override.yml b/docker-compose.override.yml index ab45ccdb4a..c9b846aa84 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -14,6 +14,9 @@ services: - ./docker/nginx/root/entrypoint.sh:/entrypoint.sh - ${PHRASEANET_DATA_DIR}:/var/alchemy/Phraseanet/datas:rw - ${PHRASEANET_THUMBNAILS_DIR}:/var/alchemy/Phraseanet/www/thumbnails:rw + - ${PHRASEANET_TMP_DIR}:/var/alchemy/Phraseanet/tmp:rw + + builder: build: @@ -38,6 +41,7 @@ services: - ${PHRASEANET_LOGS_DIR}:/var/alchemy/Phraseanet/logs:rw - ${PHRASEANET_DATA_DIR}:/var/alchemy/Phraseanet/datas:rw - ${PHRASEANET_THUMBNAILS_DIR}:/var/alchemy/Phraseanet/www/thumbnails:rw + - ${PHRASEANET_TMP_DIR}:/var/alchemy/Phraseanet/tmp:rw worker: volumes: @@ -46,7 +50,8 @@ services: - ${PHRASEANET_LOGS_DIR}:/var/alchemy/Phraseanet/logs:rw - ${PHRASEANET_DATA_DIR}:/var/alchemy/Phraseanet/datas:rw - ${PHRASEANET_THUMBNAILS_DIR}:/var/alchemy/Phraseanet/www/thumbnails:rw - + - ${PHRASEANET_TMP_DIR}:/var/alchemy/Phraseanet/tmp:rw + rabbitmq: ports: - ${RABBITMQ_MANAGEMENT_PORT}:15672 From 1bfd5b6de0e441695418404be04ad53cf72c7cac Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Mon, 2 Mar 2020 21:59:11 +0100 Subject: [PATCH 15/17] Update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ad4c060ab1..4d9509d731 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ docker-compose -f docker-compose.yml run --rm worker Where `` can be: - `bin/console task-manager:scheduler:run` (default) -- `bin/console bin/console worker:execute -m 2` +- `bin/console worker:execute -m 2` - ... From f6349afdeb1e59c2211d01609fd8cb1bea7abcf7 Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Thu, 5 Mar 2020 16:49:34 +0100 Subject: [PATCH 16/17] Change in redis config replace property domain by namespace --- docker/phraseanet/auto-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/phraseanet/auto-install.sh b/docker/phraseanet/auto-install.sh index 6a0e04d424..5ad05e134c 100755 --- a/docker/phraseanet/auto-install.sh +++ b/docker/phraseanet/auto-install.sh @@ -35,7 +35,7 @@ fi ## Redis /var/alchemy/Phraseanet/bin/setup system:config set main.cache.options.host redis /var/alchemy/Phraseanet/bin/setup system:config set main.cache.options.port 6379 -/var/alchemy/Phraseanet/bin/setup system:config set main.cache.options.domain $INSTALL_SERVER_NAME +/var/alchemy/Phraseanet/bin/setup system:config set main.cache.options.namespace $INSTALL_SERVER_NAME /var/alchemy/Phraseanet/bin/setup system:config set main.cache.type redis # RabbitMQ From 46d2b2b99e02545900334817829ab99a1ef0080b Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Fri, 6 Mar 2020 10:49:32 +0100 Subject: [PATCH 17/17] Add env.* accordance to the readme --- .dockerignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.dockerignore b/.dockerignore index a79f380ade..9b914fafec 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,6 +5,7 @@ /.dockerignore /.env /.env.* +/env.* /.git /.travis.yml /AUTHORS