From ce4ec30fbac66f743fda1d30cfd2a82d12883656 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 25 Mar 2019 10:47:38 +0100 Subject: [PATCH 01/24] Rework the .gitignore-file --- .gitignore | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.gitignore b/.gitignore index 897ff31..a67d42b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,6 @@ -# ---> Composer composer.phar /vendor/ # Commit your application's lock file https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control # You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file # composer.lock - -# ---> VisualStudioCode -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json - From ef4aa8104141ef39a2cfdff90ab55ac21bbd33c2 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 25 Mar 2019 14:24:59 +0100 Subject: [PATCH 02/24] Create a docker environment for developement --- .docker/xdebug.ini | 4 ++++ .dockerignore | 11 +++++++++++ .vscode/launch.json | 17 +++++++++++++++++ Dockerfile | 19 +++++++++++++++++++ README.md | 1 - docker-compose.yml | 21 +++++++++++++++++++++ src/index.php | 3 +++ 7 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 .docker/xdebug.ini create mode 100644 .dockerignore create mode 100644 .vscode/launch.json create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 src/index.php diff --git a/.docker/xdebug.ini b/.docker/xdebug.ini new file mode 100644 index 0000000..32a12cb --- /dev/null +++ b/.docker/xdebug.ini @@ -0,0 +1,4 @@ +[xdebug] +xdebug.remote_enable=1 +xdebug.remote_autostart=1 +xdebug.remote_host='host.docker.internal' \ No newline at end of file diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..e1f0ba3 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,11 @@ +Dockerfile* +docker-compose* +.dockerignore +.git +.gitignore +.env +*/bin +*/obj +README.md +LICENSE +.vscode \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..ee34592 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,17 @@ +{ + // Verwendet IntelliSense zum Ermitteln möglicher Attribute. + // Zeigen Sie auf vorhandene Attribute, um die zugehörigen Beschreibungen anzuzeigen. + // Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Listen for XDebug", + "type": "php", + "request": "launch", + "port": 9000, + "pathMappings": { + "/var/www/html": "${workspaceRoot}/src" + } + } + ] +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a005a14 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM php:7.1.27-apache + +RUN apt -y update +RUN apt install -y --no-install-recommends \ + libicu-dev \ + libmagickwand-dev + +RUN docker-php-ext-configure intl +RUN docker-php-ext-install intl +RUN pecl install \ + xdebug \ + imagick +RUN docker-php-ext-enable \ + xdebug \ + imagick +RUN chown -R www-data:www-data /var/www/html + +COPY .docker/xdebug.ini $PHP_INI_DIR/conf.d/xdebug.ini +COPY ./src/ /var/www/html/ \ No newline at end of file diff --git a/README.md b/README.md index eb72d40..82f2c02 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,2 @@ # nuth.ch - The homepage of m@nuth \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..65a5464 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,21 @@ +version: "2.3" +networks: + nuth: + +services: + cms: + build: + context: . + dockerfile: ./Dockerfile + networks: + - nuth + ports: + - 8000:80 + db: + image: mysql:latest + networks: + - nuth + ports: + - 13306:3306 + environment: + MYSQL_ROOT_PASSWORD: root \ No newline at end of file diff --git a/src/index.php b/src/index.php new file mode 100644 index 0000000..19dab0f --- /dev/null +++ b/src/index.php @@ -0,0 +1,3 @@ + \ No newline at end of file From 599bb7bd6db21eef4b09704a69ec995b55a35874 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 25 Mar 2019 14:25:09 +0100 Subject: [PATCH 03/24] Create an install script --- scripts/install.sh | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 scripts/install.sh diff --git a/scripts/install.sh b/scripts/install.sh new file mode 100644 index 0000000..666d294 --- /dev/null +++ b/scripts/install.sh @@ -0,0 +1,8 @@ +#!/bin/bash +cd $(dirname $0) +cd .. +tempDir=$(mktemp -d) +find . -name "*" -and -not -name "." -and -not -path "./src/*" -and -not -path "./src" -exec rm -rf {} + +rsync -a --delete ./src/ $tempDir +rsync -a --delete $tempDir/ . +rm -rf $tempDir \ No newline at end of file From 1fc0328a8bdc7940795ea5fd4fd7e201e214a9e2 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Wed, 27 Mar 2019 08:55:08 +0100 Subject: [PATCH 04/24] Initialize a new silverstripe website --- .vscode/extensions.json | 14 + .vscode/tasks.json | 33 + Website/.gitignore | 6 + Website/.htaccess | 2 + Website/app/.htaccess | 3 + Website/app/_config.php | 9 + Website/app/_config/mysite.yml | 5 + Website/app/_config/theme.yml | 8 + Website/app/src/Page.php | 15 + Website/app/src/PageController.php | 33 + Website/composer.json | 39 + Website/composer.lock | 4021 ++++++++++++++++++ Website/phpcs.xml.dist | 25 + Website/public/.htaccess | 54 + Website/public/assets/.gitignore | 4 + Website/public/assets/.htaccess | 35 + Website/public/favicon.ico | Bin 0 -> 1406 bytes Website/public/index.php | 27 + Website/public/install-frameworkmissing.html | 34 + Website/public/install.php | 18 + scripts/install.sh | 3 +- src/index.php | 3 - 22 files changed, 4387 insertions(+), 4 deletions(-) create mode 100644 .vscode/extensions.json create mode 100644 .vscode/tasks.json create mode 100644 Website/.gitignore create mode 100644 Website/.htaccess create mode 100644 Website/app/.htaccess create mode 100644 Website/app/_config.php create mode 100644 Website/app/_config/mysite.yml create mode 100644 Website/app/_config/theme.yml create mode 100644 Website/app/src/Page.php create mode 100644 Website/app/src/PageController.php create mode 100644 Website/composer.json create mode 100644 Website/composer.lock create mode 100644 Website/phpcs.xml.dist create mode 100644 Website/public/.htaccess create mode 100644 Website/public/assets/.gitignore create mode 100644 Website/public/assets/.htaccess create mode 100644 Website/public/favicon.ico create mode 100644 Website/public/index.php create mode 100644 Website/public/install-frameworkmissing.html create mode 100644 Website/public/install.php delete mode 100644 src/index.php diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..81fb83b --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,14 @@ +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + + // List of extensions which should be recommended for users of this workspace. + "recommendations": [ + "felixfbecker.php-pack", + "neilbrayfield.php-docblocker" + ], + // List of extensions recommended by VS Code that should not be recommended for users of this workspace. + "unwantedRecommendations": [ + + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..068d599 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,33 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Lint Website", + "type": "shell", + "options": { + "cwd": "${workspaceFolder}/Website" + }, + "command": "composer", + "args": [ + "lint" + ], + "problemMatcher": { + "owner": "phpcs", + "fileLocation": "absolute", + "pattern": [ + { + "regexp": "^\"(.*)\",(\\d+),(\\d+),(.*),\"(.*)\",(.*),(\\d+),(\\d+)", + "file": 1, + "line": 2, + "column": 3, + "message": 5, + "code": 6 + } + ], + "severity": "warning" + } + } + ] +} \ No newline at end of file diff --git a/Website/.gitignore b/Website/.gitignore new file mode 100644 index 0000000..1dff294 --- /dev/null +++ b/Website/.gitignore @@ -0,0 +1,6 @@ +/silverstripe-cache/ +/.env +/vendor/ +/themes/simple/ +/resources/ +/public/resources/ diff --git a/Website/.htaccess b/Website/.htaccess new file mode 100644 index 0000000..adbd7c8 --- /dev/null +++ b/Website/.htaccess @@ -0,0 +1,2 @@ +RewriteEngine On +RewriteRule ^(.*)$ public/$1 diff --git a/Website/app/.htaccess b/Website/app/.htaccess new file mode 100644 index 0000000..fad44cc --- /dev/null +++ b/Website/app/.htaccess @@ -0,0 +1,3 @@ + + Deny from all + \ No newline at end of file diff --git a/Website/app/_config.php b/Website/app/_config.php new file mode 100644 index 0000000..4b0ec70 --- /dev/null +++ b/Website/app/_config.php @@ -0,0 +1,9 @@ + \ No newline at end of file diff --git a/Website/app/src/PageController.php b/Website/app/src/PageController.php new file mode 100644 index 0000000..f55aa2f --- /dev/null +++ b/Website/app/src/PageController.php @@ -0,0 +1,33 @@ + true, // same as above + * 'action' => 'ADMIN', // you must have ADMIN permissions to access this action + * 'action' => '->checkAction' // you can only access this action if $this->checkAction() returns true + * ]; + * ``` + * + * @var array + */ + private static $allowed_actions = []; + + protected function init() + { + parent::init(); + // You can include any CSS or JS required by your project here. + // See: https://docs.silverstripe.org/en/developer_guides/templates/requirements/ + } + } +} diff --git a/Website/composer.json b/Website/composer.json new file mode 100644 index 0000000..c0205a8 --- /dev/null +++ b/Website/composer.json @@ -0,0 +1,39 @@ +{ + "name": "silverstripe/installer", + "type": "silverstripe-recipe", + "description": "The SilverStripe Framework Installer", + "require": { + "php": ">=5.6.0", + "silverstripe/recipe-plugin": "^1.2", + "silverstripe/recipe-cms": "4.3.3@stable", + "silverstripe-themes/simple": "~3.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7", + "squizlabs/php_codesniffer": "*" + }, + "scripts": { + "lint": "phpcs --report=csv ." + }, + "extra": { + "project-files-installed": [ + "app/.htaccess", + "app/_config.php", + "app/_config/mysite.yml", + "app/src/Page.php", + "app/src/PageController.php" + ], + "public-files-installed": [ + ".htaccess", + "index.php", + "install-frameworkmissing.html", + "install.php", + "web.config" + ] + }, + "config": { + "process-timeout": 600 + }, + "prefer-stable": true, + "minimum-stability": "dev" +} diff --git a/Website/composer.lock b/Website/composer.lock new file mode 100644 index 0000000..9b3d2eb --- /dev/null +++ b/Website/composer.lock @@ -0,0 +1,4021 @@ +{ + "_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": "216b2d1f198ed8e6637fdc23c721d25c", + "packages": [ + { + "name": "composer/ca-bundle", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/558f321c52faeb4828c03e7dc0cfe39a09e09a2d", + "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "time": "2019-01-28T09:30:10+00:00" + }, + { + "name": "composer/installers", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/composer/installers.git", + "reference": "cfcca6b1b60bc4974324efb5783c13dca6932b5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/installers/zipball/cfcca6b1b60bc4974324efb5783c13dca6932b5b", + "reference": "cfcca6b1b60bc4974324efb5783c13dca6932b5b", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0" + }, + "replace": { + "roundcube/plugin-installer": "*", + "shama/baton": "*" + }, + "require-dev": { + "composer/composer": "1.0.*@dev", + "phpunit/phpunit": "^4.8.36" + }, + "type": "composer-plugin", + "extra": { + "class": "Composer\\Installers\\Plugin", + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Installers\\": "src/Composer/Installers" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kyle Robinson Young", + "email": "kyle@dontkry.com", + "homepage": "https://github.com/shama" + } + ], + "description": "A multi-framework Composer library installer", + "homepage": "https://composer.github.io/installers/", + "keywords": [ + "Craft", + "Dolibarr", + "Eliasis", + "Hurad", + "ImageCMS", + "Kanboard", + "Lan Management System", + "MODX Evo", + "Mautic", + "Maya", + "OXID", + "Plentymarkets", + "Porto", + "RadPHP", + "SMF", + "Thelia", + "WolfCMS", + "agl", + "aimeos", + "annotatecms", + "attogram", + "bitrix", + "cakephp", + "chef", + "cockpit", + "codeigniter", + "concrete5", + "croogo", + "dokuwiki", + "drupal", + "eZ Platform", + "elgg", + "expressionengine", + "fuelphp", + "grav", + "installer", + "itop", + "joomla", + "kohana", + "laravel", + "lavalite", + "lithium", + "magento", + "majima", + "mako", + "mediawiki", + "modulework", + "modx", + "moodle", + "osclass", + "phpbb", + "piwik", + "ppi", + "puppet", + "pxcms", + "reindex", + "roundcube", + "shopware", + "silverstripe", + "sydes", + "symfony", + "typo3", + "wordpress", + "yawik", + "zend", + "zikula" + ], + "time": "2018-08-27T06:10:37+00:00" + }, + { + "name": "embed/embed", + "version": "v3.3.9", + "source": { + "type": "git", + "url": "https://github.com/oscarotero/Embed.git", + "reference": "4f0d7c0ba8dce13228fd35b7a73cd4ef5ab0f02c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/oscarotero/Embed/zipball/4f0d7c0ba8dce13228fd35b7a73cd4ef5ab0f02c", + "reference": "4f0d7c0ba8dce13228fd35b7a73cd4ef5ab0f02c", + "shasum": "" + }, + "require": { + "composer/ca-bundle": "^1.0", + "ext-curl": "*", + "ext-mbstring": "*", + "php": "^5.5|^7.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "phpunit/phpunit": "^4.8|^5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Embed\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oscar Otero", + "email": "oom@oscarotero.com", + "homepage": "http://oscarotero.com", + "role": "Developer" + } + ], + "description": "PHP library to retrieve page info using oembed, opengraph, etc", + "homepage": "https://github.com/oscarotero/Embed", + "keywords": [ + "embed", + "embedly", + "oembed", + "opengraph", + "twitter cards" + ], + "time": "2019-02-25T15:07:28+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.5.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "9f83dded91781a01c63574e387eaa769be769115" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115", + "reference": "9f83dded91781a01c63574e387eaa769be769115", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-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", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2018-12-04T20:46:45+00:00" + }, + { + "name": "intervention/image", + "version": "2.4.2", + "source": { + "type": "git", + "url": "https://github.com/Intervention/image.git", + "reference": "e82d274f786e3d4b866a59b173f42e716f0783eb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Intervention/image/zipball/e82d274f786e3d4b866a59b173f42e716f0783eb", + "reference": "e82d274f786e3d4b866a59b173f42e716f0783eb", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "guzzlehttp/psr7": "~1.1", + "php": ">=5.4.0" + }, + "require-dev": { + "mockery/mockery": "~0.9.2", + "phpunit/phpunit": "^4.8 || ^5.7" + }, + "suggest": { + "ext-gd": "to use GD library based image processing.", + "ext-imagick": "to use Imagick based image processing.", + "intervention/imagecache": "Caching extension for the Intervention Image library" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + }, + "laravel": { + "providers": [ + "Intervention\\Image\\ImageServiceProvider" + ], + "aliases": { + "Image": "Intervention\\Image\\Facades\\Image" + } + } + }, + "autoload": { + "psr-4": { + "Intervention\\Image\\": "src/Intervention/Image" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oliver Vogel", + "email": "oliver@olivervogel.com", + "homepage": "http://olivervogel.com/" + } + ], + "description": "Image handling and manipulation library with support for Laravel integration", + "homepage": "http://image.intervention.io/", + "keywords": [ + "gd", + "image", + "imagick", + "laravel", + "thumbnail", + "watermark" + ], + "time": "2018-05-29T14:19:03+00:00" + }, + { + "name": "league/csv", + "version": "8.2.3", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/csv.git", + "reference": "d2aab1e7bde802582c3879acf03d92716577c76d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/d2aab1e7bde802582c3879acf03d92716577c76d", + "reference": "d2aab1e7bde802582c3879acf03d92716577c76d", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^1.9", + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Csv\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://github.com/nyamsprod/", + "role": "Developer" + } + ], + "description": "Csv data manipulation made easy in PHP", + "homepage": "http://csv.thephpleague.com", + "keywords": [ + "csv", + "export", + "filter", + "import", + "read", + "write" + ], + "time": "2018-02-06T08:27:03+00:00" + }, + { + "name": "league/flysystem", + "version": "1.0.50", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "dab4e7624efa543a943be978008f439c333f2249" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/dab4e7624efa543a943be978008f439c333f2249", + "reference": "dab4e7624efa543a943be978008f439c333f2249", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": ">=5.5.9" + }, + "conflict": { + "league/flysystem-sftp": "<1.0.6" + }, + "require-dev": { + "phpspec/phpspec": "^3.4", + "phpunit/phpunit": "^5.7.10" + }, + "suggest": { + "ext-fileinfo": "Required for MimeType", + "ext-ftp": "Allows you to use FTP server storage", + "ext-openssl": "Allows you to use FTPS server storage", + "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-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", + "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", + "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + }, + "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": "2019-02-01T08:50:36+00:00" + }, + { + "name": "m1/env", + "version": "2.1.2", + "source": { + "type": "git", + "url": "https://github.com/m1/Env.git", + "reference": "294addeedf15e1149eeb96ec829f2029d2017d39" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/m1/Env/zipball/294addeedf15e1149eeb96ec829f2029d2017d39", + "reference": "294addeedf15e1149eeb96ec829f2029d2017d39", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*", + "scrutinizer/ocular": "~1.1", + "squizlabs/php_codesniffer": "^2.3" + }, + "suggest": { + "josegonzalez/dotenv": "For loading of .env", + "m1/vars": "For loading of configs" + }, + "type": "library", + "autoload": { + "psr-4": { + "M1\\Env\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Miles Croxford", + "email": "hello@milescroxford.com", + "homepage": "http://milescroxford.com", + "role": "Developer" + } + ], + "description": "Env is a lightweight library bringing .env file parser compatibility to PHP. In short - it enables you to read .env files with PHP.", + "homepage": "https://github.com/m1/Env", + "keywords": [ + ".env", + "config", + "dotenv", + "env", + "loader", + "m1", + "parser", + "support" + ], + "time": "2018-06-19T18:55:08+00:00" + }, + { + "name": "marcj/topsort", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/marcj/topsort.php.git", + "reference": "387086c2db60ee0a27ac5df588c0f0b30c6bdc4b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/marcj/topsort.php/zipball/387086c2db60ee0a27ac5df588c0f0b30c6bdc4b", + "reference": "387086c2db60ee0a27ac5df588c0f0b30c6bdc4b", + "shasum": "" + }, + "require": { + "php": ">=5.4" + }, + "require-dev": { + "codeclimate/php-test-reporter": "dev-master", + "phpunit/phpunit": "~4.0", + "symfony/console": "~2.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "MJS\\TopSort\\": "src/", + "MJS\\TopSort\\Tests\\": "tests/Tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marc J. Schmidt", + "email": "marc@marcjschmidt.de" + } + ], + "description": "High-Performance TopSort/Dependency resolving algorithm", + "keywords": [ + "dependency resolving", + "topological sort", + "topsort" + ], + "time": "2016-11-19T14:58:11+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.24.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2018-11-05T09:00:11+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.2.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "5221f49a608808c1e4d436df32884cbc1b821ac0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/5221f49a608808c1e4d436df32884cbc1b821ac0", + "reference": "5221f49a608808c1e4d436df32884cbc1b821ac0", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.5 || ^7.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "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": "2019-02-16T20:54:15+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v2.0.18", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "0a58ef6e3146256cc3dc7cc393927bcc7d1b72db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/0a58ef6e3146256cc3dc7cc393927bcc7d1b72db", + "reference": "0a58ef6e3146256cc3dc7cc393927bcc7d1b72db", + "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", + "polyfill", + "pseudorandom", + "random" + ], + "time": "2019-01-03T20:59:08+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/log", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "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": "2018-11-20T15:27:04+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "2.0.5", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7.0", + "satooshi/php-coveralls": ">=1.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2016-02-11T07:05:27+00:00" + }, + { + "name": "silverstripe-themes/simple", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/silverstripe-themes/silverstripe-simple.git", + "reference": "5a6b34cd00a71047e905a8cb5d4b73713ca510c3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe-themes/silverstripe-simple/zipball/5a6b34cd00a71047e905a8cb5d4b73713ca510c3", + "reference": "5a6b34cd00a71047e905a8cb5d4b73713ca510c3", + "shasum": "" + }, + "require": { + "composer/installers": "*", + "silverstripe/framework": ">=3.5" + }, + "type": "silverstripe-theme", + "extra": { + "branch-alias": { + "dev-master": "3.2.x-dev" + }, + "expose": [ + "css", + "images", + "javascript", + "webfonts" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sara Tušar (Innovaif)", + "homepage": "http://www.saratusar.com" + } + ], + "description": "The SilverStripe simple theme (default SilverStripe 3 theme)", + "keywords": [ + "silverstripe", + "theme" + ], + "time": "2018-06-25T20:55:43+00:00" + }, + { + "name": "silverstripe/admin", + "version": "1.3.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-admin.git", + "reference": "40e2ac836d9be8a0c1831b4d4d7557af799e6b09" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-admin/zipball/40e2ac836d9be8a0c1831b4d4d7557af799e6b09", + "reference": "40e2ac836d9be8a0c1831b4d4d7557af799e6b09", + "shasum": "" + }, + "require": { + "silverstripe/framework": "^4@dev", + "silverstripe/vendor-plugin": "^1.0", + "silverstripe/versioned": "^1@dev" + }, + "require-dev": { + "phpunit/phpunit": "^5.7" + }, + "type": "silverstripe-vendormodule", + "extra": { + "expose": [ + "client/dist", + "client/lang", + "thirdparty" + ] + }, + "autoload": { + "psr-4": { + "SilverStripe\\Admin\\": "code/", + "SilverStripe\\Admin\\Tests\\": "tests/php/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "SilverStripe", + "homepage": "http://silverstripe.com" + }, + { + "name": "The SilverStripe Community", + "homepage": "http://silverstripe.org" + } + ], + "description": "SilverStripe admin interface", + "homepage": "http://silverstripe.org", + "keywords": [ + "admin", + "silverstripe" + ], + "time": "2019-03-19T01:35:41+00:00" + }, + { + "name": "silverstripe/asset-admin", + "version": "1.3.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-asset-admin.git", + "reference": "c7b7e444b8e696159d87cd6e942338cfc7cb6644" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-asset-admin/zipball/c7b7e444b8e696159d87cd6e942338cfc7cb6644", + "reference": "c7b7e444b8e696159d87cd6e942338cfc7cb6644", + "shasum": "" + }, + "require": { + "silverstripe/admin": "^1", + "silverstripe/framework": "^4", + "silverstripe/graphql": "^3", + "silverstripe/vendor-plugin": "^1" + }, + "require-dev": { + "phpunit/phpunit": "^5.7", + "silverstripe/campaign-admin": "^1", + "silverstripe/cms": "^4" + }, + "type": "silverstripe-vendormodule", + "extra": { + "expose": [ + "client/dist", + "client/lang" + ] + }, + "autoload": { + "psr-4": { + "SilverStripe\\AssetAdmin\\": "code/", + "SilverStripe\\AssetAdmin\\Tests\\": "tests/php/", + "SilverStripe\\AssetAdmin\\Tests\\Behat\\Context\\": "tests/behat/src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Asset management for the SilverStripe CMS", + "time": "2019-03-19T02:33:07+00:00" + }, + { + "name": "silverstripe/assets", + "version": "1.3.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-assets.git", + "reference": "8590e1a9f52587ca6f954abe9fd40cd42aada652" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-assets/zipball/8590e1a9f52587ca6f954abe9fd40cd42aada652", + "reference": "8590e1a9f52587ca6f954abe9fd40cd42aada652", + "shasum": "" + }, + "require": { + "intervention/image": "^2.3", + "php": ">=5.6.0", + "silverstripe/framework": "^4.1", + "silverstripe/vendor-plugin": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7", + "silverstripe/versioned": "^1@dev" + }, + "type": "silverstripe-vendormodule", + "extra": { + "installer-name": "silverstripe-assets" + }, + "autoload": { + "psr-4": { + "SilverStripe\\Assets\\": "src/", + "SilverStripe\\Assets\\Tests\\": "tests/php/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "SilverStripe", + "homepage": "http://silverstripe.com" + }, + { + "name": "The SilverStripe Community", + "homepage": "http://silverstripe.org" + } + ], + "description": "SilverStripe Assets component", + "homepage": "http://silverstripe.org", + "keywords": [ + "assets", + "silverstripe" + ], + "time": "2019-03-18T22:14:50+00:00" + }, + { + "name": "silverstripe/campaign-admin", + "version": "1.3.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-campaign-admin.git", + "reference": "adba1fac2e25ac29695aaaa75d51c8997e91c95c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-campaign-admin/zipball/adba1fac2e25ac29695aaaa75d51c8997e91c95c", + "reference": "adba1fac2e25ac29695aaaa75d51c8997e91c95c", + "shasum": "" + }, + "require": { + "silverstripe/admin": "^1@dev", + "silverstripe/framework": "^4@dev", + "silverstripe/vendor-plugin": "^1.0", + "silverstripe/versioned": "^1@dev" + }, + "require-dev": { + "phpunit/phpunit": "^5.7", + "silverstripe/asset-admin": "^1", + "silverstripe/cms": "^4" + }, + "type": "silverstripe-vendormodule", + "extra": { + "expose": [ + "client/dist", + "client/lang" + ] + }, + "autoload": { + "psr-4": { + "SilverStripe\\CampaignAdmin\\": "src/", + "SilverStripe\\CampaignAdmin\\Tests\\": "tests/php/", + "SilverStripe\\CampaignAdmin\\Tests\\Behat\\Context\\": "tests/behat/src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "SilverStripe", + "homepage": "http://silverstripe.com" + }, + { + "name": "The SilverStripe Community", + "homepage": "http://silverstripe.org" + } + ], + "description": "SilverStripe campaign admin interface", + "homepage": "http://silverstripe.org", + "keywords": [ + "admin", + "campaign", + "silverstripe", + "versioned" + ], + "time": "2019-02-10T12:09:13+00:00" + }, + { + "name": "silverstripe/cms", + "version": "4.3.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-cms.git", + "reference": "9c880f121b217da28e192dcd51880c0276f55394" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-cms/zipball/9c880f121b217da28e192dcd51880c0276f55394", + "reference": "9c880f121b217da28e192dcd51880c0276f55394", + "shasum": "" + }, + "require": { + "silverstripe/admin": "^1.3@dev", + "silverstripe/campaign-admin": "^1.3@dev", + "silverstripe/framework": "^4.3@dev", + "silverstripe/reports": "^4.3@dev", + "silverstripe/siteconfig": "^4.3@dev", + "silverstripe/vendor-plugin": "^1.0", + "silverstripe/versioned": "^1.3@dev" + }, + "require-dev": { + "phpunit/phpunit": "^5.7" + }, + "type": "silverstripe-vendormodule", + "extra": { + "expose": [ + "client/dist", + "client/lang" + ] + }, + "autoload": { + "psr-4": { + "SilverStripe\\CMS\\": "code/", + "SilverStripe\\CMS\\Tests\\": "code/php/", + "SilverStripe\\CMS\\Tests\\Behaviour\\": "tests/behat/src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "SilverStripe", + "homepage": "http://silverstripe.com" + }, + { + "name": "The SilverStripe Community", + "homepage": "http://silverstripe.org" + } + ], + "description": "The SilverStripe Content Management System", + "homepage": "http://silverstripe.org", + "keywords": [ + "cms", + "silverstripe" + ], + "time": "2019-03-19T01:36:49+00:00" + }, + { + "name": "silverstripe/config", + "version": "1.0.13", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-config.git", + "reference": "ab03d6dc54bd51f4b8f5ebf92612895568ac9633" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-config/zipball/ab03d6dc54bd51f4b8f5ebf92612895568ac9633", + "reference": "ab03d6dc54bd51f4b8f5ebf92612895568ac9633", + "shasum": "" + }, + "require": { + "marcj/topsort": "^1.0", + "psr/simple-cache": "^1.0", + "symfony/finder": "^2.8 || ^3.2", + "symfony/yaml": "^2.8 || ^3.2" + }, + "require-dev": { + "mikey179/vfsstream": "^1.6", + "phpspec/prophecy": "^1.0", + "phpunit/phpunit": "^5.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "SilverStripe\\Config\\": "src/", + "SilverStripe\\Config\\Tests\\": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "SilverStripe configuration based on YAML and class statics", + "time": "2018-06-17T22:13:57+00:00" + }, + { + "name": "silverstripe/errorpage", + "version": "1.3.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-errorpage.git", + "reference": "a4653b00daeee46fd8b7aeb4390ca606b44ba28e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-errorpage/zipball/a4653b00daeee46fd8b7aeb4390ca606b44ba28e", + "reference": "a4653b00daeee46fd8b7aeb4390ca606b44ba28e", + "shasum": "" + }, + "require": { + "silverstripe/cms": "^4@dev", + "silverstripe/vendor-plugin": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "~5.7", + "squizlabs/php_codesniffer": "^3.0" + }, + "type": "silverstripe-vendormodule", + "autoload": { + "psr-4": { + "SilverStripe\\ErrorPage\\": "src/", + "SilverStripe\\ErrorPage\\Tests\\": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "SilverStripe", + "homepage": "http://silverstripe.com" + }, + { + "name": "The SilverStripe Community", + "homepage": "http://silverstripe.org" + } + ], + "description": "ErrorPage component for SilverStripe CMS", + "homepage": "http://silverstripe.org", + "keywords": [ + "error", + "errorpage", + "silverstripe" + ], + "time": "2019-01-17T13:51:49+00:00" + }, + { + "name": "silverstripe/framework", + "version": "4.3.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-framework.git", + "reference": "075716f80d1fad3960a91b1c6b93c21e5b535daa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-framework/zipball/075716f80d1fad3960a91b1c6b93c21e5b535daa", + "reference": "075716f80d1fad3960a91b1c6b93c21e5b535daa", + "shasum": "" + }, + "require": { + "composer/installers": "~1.0", + "embed/embed": "^3.0", + "ext-ctype": "*", + "ext-dom": "*", + "ext-hash": "*", + "ext-intl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-session": "*", + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "league/csv": "^8", + "league/flysystem": "~1.0.12", + "m1/env": "^2.1", + "monolog/monolog": "~1.11", + "nikic/php-parser": "^2 || ^3 || ^4", + "paragonie/random_compat": "^2.0", + "php": ">=5.6.0", + "psr/container": "1.0.0", + "psr/container-implementation": "1.0.0", + "silverstripe/assets": "^1@dev", + "silverstripe/config": "^1@dev", + "silverstripe/vendor-plugin": "^1.0", + "swiftmailer/swiftmailer": "~5.4", + "symfony/cache": "^3.3@dev", + "symfony/config": "^3.2", + "symfony/translation": "^2.8", + "symfony/yaml": "~3.2" + }, + "provide": { + "psr/container-implementation": "1.0.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7", + "silverstripe/versioned": "^1" + }, + "bin": [ + "sake" + ], + "type": "silverstripe-vendormodule", + "extra": { + "expose": [ + "client/images", + "client/styles", + "src/Dev/Install/client" + ] + }, + "autoload": { + "psr-4": { + "SilverStripe\\Control\\": "src/Control/", + "SilverStripe\\Control\\Tests\\": "tests/php/Control/", + "SilverStripe\\Core\\": "src/Core/", + "SilverStripe\\Core\\Tests\\": "tests/php/Core/", + "SilverStripe\\Dev\\": "src/Dev/", + "SilverStripe\\Dev\\Tests\\": "tests/php/Dev/", + "SilverStripe\\Forms\\": "src/Forms/", + "SilverStripe\\Forms\\Tests\\": "tests/php/Forms/", + "SilverStripe\\i18n\\": "src/i18n/", + "SilverStripe\\i18n\\Tests\\": "tests/php/i18n/", + "SilverStripe\\Logging\\": "src/Logging/", + "SilverStripe\\Logging\\Tests\\": "tests/php/Logging/", + "SilverStripe\\ORM\\": "src/ORM/", + "SilverStripe\\ORM\\Tests\\": "tests/php/ORM/", + "SilverStripe\\Security\\": "src/Security/", + "SilverStripe\\Security\\Tests\\": "tests/php/Security/", + "SilverStripe\\View\\": "src/View/", + "SilverStripe\\View\\Tests\\": "tests/php/View/", + "SilverStripe\\Framework\\Tests\\Behaviour\\": "tests/behat/src/" + }, + "files": [ + "src/includes/constants.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "include-path": [ + "src/", + "src/includes/", + "thirdparty/" + ], + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "SilverStripe", + "homepage": "http://silverstripe.com" + }, + { + "name": "The SilverStripe Community", + "homepage": "http://silverstripe.org" + } + ], + "description": "The SilverStripe framework", + "homepage": "http://silverstripe.org", + "keywords": [ + "framework", + "silverstripe" + ], + "time": "2019-03-19T01:34:33+00:00" + }, + { + "name": "silverstripe/graphql", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-graphql.git", + "reference": "4eb92670244d95e7966971a8e8f0969ce08a5669" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-graphql/zipball/4eb92670244d95e7966971a8e8f0969ce08a5669", + "reference": "4eb92670244d95e7966971a8e8f0969ce08a5669", + "shasum": "" + }, + "require": { + "silverstripe/framework": "^4.2", + "silverstripe/vendor-plugin": "^1.0", + "webonyx/graphql-php": "~0.8.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7", + "squizlabs/php_codesniffer": "^3.0" + }, + "suggest": { + "silverstripe/assets": "Allows schema to be cached in the filesystem.", + "silverstripe/graphql-devtools": "Adds in-browser tools for testing and debugging GraphQL queries" + }, + "type": "silverstripe-vendormodule", + "autoload": { + "psr-4": { + "SilverStripe\\GraphQL\\": "src/", + "SilverStripe\\GraphQL\\Tests\\": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "GraphQL server for SilverStripe models and other data", + "time": "2019-03-14T23:27:09+00:00" + }, + { + "name": "silverstripe/recipe-cms", + "version": "4.3.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/recipe-cms.git", + "reference": "29c5eb49a1fe06b681120bbc4f7dfc52154599fe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/recipe-cms/zipball/29c5eb49a1fe06b681120bbc4f7dfc52154599fe", + "reference": "29c5eb49a1fe06b681120bbc4f7dfc52154599fe", + "shasum": "" + }, + "require": { + "silverstripe/admin": "1.3.3@stable", + "silverstripe/asset-admin": "1.3.3@stable", + "silverstripe/campaign-admin": "1.3.3@stable", + "silverstripe/cms": "4.3.3@stable", + "silverstripe/errorpage": "1.3.3@stable", + "silverstripe/graphql": "3.0.3@stable", + "silverstripe/recipe-core": "4.3.3@stable", + "silverstripe/recipe-plugin": "^1.2", + "silverstripe/reports": "4.3.3@stable", + "silverstripe/siteconfig": "4.3.3@stable", + "silverstripe/versioned": "1.3.3@stable", + "silverstripe/versioned-admin": "1.1.3@stable" + }, + "require-dev": { + "phpunit/phpunit": "^5.7" + }, + "type": "silverstripe-recipe", + "extra": { + "project-files": [ + "app/src/*" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "SilverStripe recipe for fully featured page and asset content editing", + "homepage": "http://silverstripe.org", + "time": "2019-03-19T01:41:13+00:00" + }, + { + "name": "silverstripe/recipe-core", + "version": "4.3.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/recipe-core.git", + "reference": "3ccab90b5f26623dff2da18c0b487069e200c426" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/recipe-core/zipball/3ccab90b5f26623dff2da18c0b487069e200c426", + "reference": "3ccab90b5f26623dff2da18c0b487069e200c426", + "shasum": "" + }, + "require": { + "silverstripe/assets": "1.3.3@stable", + "silverstripe/config": "1.0.13@stable", + "silverstripe/framework": "4.3.3@stable", + "silverstripe/recipe-plugin": "^1.2" + }, + "require-dev": { + "phpunit/phpunit": "^5.7" + }, + "type": "silverstripe-recipe", + "extra": { + "project-files": [ + "app/*" + ], + "public-files": [ + ".htaccess", + "web.config", + "index.php", + "install.php", + "install-frameworkmissing.html" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "SilverStripe framework-only core recipe", + "homepage": "http://silverstripe.org", + "time": "2019-03-19T01:39:03+00:00" + }, + { + "name": "silverstripe/recipe-plugin", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/recipe-plugin.git", + "reference": "88cd7ed3a0c07a0b24b70ee43d855488d7f1ac7e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/recipe-plugin/zipball/88cd7ed3a0c07a0b24b70ee43d855488d7f1ac7e", + "reference": "88cd7ed3a0c07a0b24b70ee43d855488d7f1ac7e", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1" + }, + "require-dev": { + "composer/composer": "^1.2" + }, + "type": "composer-plugin", + "extra": { + "class": "SilverStripe\\RecipePlugin\\RecipePlugin" + }, + "autoload": { + "psr-4": { + "SilverStripe\\RecipePlugin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Damian Mooyman", + "email": "damian@silverstripe.com" + } + ], + "description": "Helper plugin to install SilverStripe recipes", + "time": "2018-04-11T07:22:09+00:00" + }, + { + "name": "silverstripe/reports", + "version": "4.3.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-reports.git", + "reference": "c797d128a24b7a5540c8a3d9b9692e6b3d128a89" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-reports/zipball/c797d128a24b7a5540c8a3d9b9692e6b3d128a89", + "reference": "c797d128a24b7a5540c8a3d9b9692e6b3d128a89", + "shasum": "" + }, + "require": { + "silverstripe/admin": "^1.0@dev", + "silverstripe/assets": "^1.0@dev", + "silverstripe/config": "^1.0@dev", + "silverstripe/framework": "^4.0@dev", + "silverstripe/vendor-plugin": "^1.0", + "silverstripe/versioned": "^1.0@dev" + }, + "require-dev": { + "phpunit/phpunit": "^5.7" + }, + "type": "silverstripe-vendormodule", + "extra": { + "expose": [ + "javascript" + ] + }, + "autoload": { + "psr-4": { + "SilverStripe\\Reports\\": "code/", + "SilverStripe\\Reports\\Tests\\": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "SilverStripe", + "homepage": "http://silverstripe.com" + }, + { + "name": "The SilverStripe Community", + "homepage": "http://silverstripe.org" + } + ], + "description": "Reports module for SilverStripe CMS", + "homepage": "http://silverstripe.org", + "keywords": [ + "cms", + "reports", + "silverstripe" + ], + "time": "2018-12-10T23:05:41+00:00" + }, + { + "name": "silverstripe/siteconfig", + "version": "4.3.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-siteconfig.git", + "reference": "405ad744f2b95898be7fbf7bdc48766482fa38e7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-siteconfig/zipball/405ad744f2b95898be7fbf7bdc48766482fa38e7", + "reference": "405ad744f2b95898be7fbf7bdc48766482fa38e7", + "shasum": "" + }, + "require": { + "silverstripe/admin": "^1", + "silverstripe/framework": "^4", + "silverstripe/vendor-plugin": "^1" + }, + "require-dev": { + "phpunit/phpunit": "^5.7" + }, + "type": "silverstripe-vendormodule", + "autoload": { + "psr-4": { + "SilverStripe\\SiteConfig\\": "code/", + "SilverStripe\\SiteConfig\\Tests\\": "tests/php/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Will Rossiter", + "email": "will@fullscreen.io" + } + ], + "description": "Site wide settings administration.", + "keywords": [ + "silverstripe", + "siteconfig" + ], + "time": "2019-03-19T01:37:26+00:00" + }, + { + "name": "silverstripe/vendor-plugin", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/vendor-plugin.git", + "reference": "61841bf7d9cd64ab419c6ff0a6a444e00bc6387c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/vendor-plugin/zipball/61841bf7d9cd64ab419c6ff0a6a444e00bc6387c", + "reference": "61841bf7d9cd64ab419c6ff0a6a444e00bc6387c", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1", + "composer/installers": "^1.4" + }, + "require-dev": { + "composer/composer": "^1.5", + "phpunit/phpunit": "^5.7" + }, + "type": "composer-plugin", + "extra": { + "class": "SilverStripe\\VendorPlugin\\VendorPlugin", + "branch-alias": { + "1.x-dev": "1.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "SilverStripe\\VendorPlugin\\": "src/", + "SilverStripe\\VendorPlugin\\Tests\\": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Damian Mooyman", + "email": "damian@silverstripe.com" + } + ], + "description": "Allows vendor modules to expose directories to the webroot", + "time": "2018-12-03T20:17:40+00:00" + }, + { + "name": "silverstripe/versioned", + "version": "1.3.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-versioned.git", + "reference": "63dfdbc32cc4571d75b09d27d2f377a74cec7023" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-versioned/zipball/63dfdbc32cc4571d75b09d27d2f377a74cec7023", + "reference": "63dfdbc32cc4571d75b09d27d2f377a74cec7023", + "shasum": "" + }, + "require": { + "silverstripe/framework": "^4.2", + "silverstripe/vendor-plugin": "^1" + }, + "require-dev": { + "phpunit/phpunit": "^5.7", + "silverstripe/admin": "^1", + "squizlabs/php_codesniffer": "^3" + }, + "type": "silverstripe-vendormodule", + "autoload": { + "psr-4": { + "SilverStripe\\Versioned\\": "src/", + "SilverStripe\\Versioned\\Tests\\": "tests/php/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "SilverStripe", + "homepage": "http://silverstripe.com" + }, + { + "name": "The SilverStripe Community", + "homepage": "http://silverstripe.org" + } + ], + "description": "SilverStripe Versioned component", + "homepage": "http://silverstripe.org", + "keywords": [ + "silverstripe", + "versioned" + ], + "time": "2019-03-19T01:37:39+00:00" + }, + { + "name": "silverstripe/versioned-admin", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/silverstripe/silverstripe-versioned-admin.git", + "reference": "d62bcecfe1037419d79fb2c4722f73b9b101e5f6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silverstripe/silverstripe-versioned-admin/zipball/d62bcecfe1037419d79fb2c4722f73b9b101e5f6", + "reference": "d62bcecfe1037419d79fb2c4722f73b9b101e5f6", + "shasum": "" + }, + "require": { + "silverstripe/admin": "^1.3", + "silverstripe/framework": "^4.3", + "silverstripe/graphql": "^2.0 || ^3.0", + "silverstripe/vendor-plugin": "^1", + "silverstripe/versioned": "^1.3" + }, + "require-dev": { + "phpunit/phpunit": "^5", + "silverstripe/cms": "^4.2", + "squizlabs/php_codesniffer": "^3" + }, + "type": "silverstripe-vendormodule", + "extra": { + "expose": [ + "client/dist" + ] + }, + "autoload": { + "psr-4": { + "SilverStripe\\VersionedAdmin\\": "src/", + "SilverStripe\\VersionedAdmin\\Tests\\": "tests/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "SilverStripe", + "homepage": "http://silverstripe.com" + }, + { + "name": "The SilverStripe Community", + "homepage": "http://silverstripe.org" + } + ], + "description": "SilverStripe versioned admin interface", + "homepage": "http://silverstripe.org", + "keywords": [ + "admin", + "silverstripe", + "versioned" + ], + "time": "2019-03-19T01:37:54+00:00" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v5.4.12", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "181b89f18a90f8925ef805f950d47a7190e9b950" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/181b89f18a90f8925ef805f950d47a7190e9b950", + "reference": "181b89f18a90f8925ef805f950d47a7190e9b950", + "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": "https://swiftmailer.symfony.com", + "keywords": [ + "email", + "mail", + "mailer" + ], + "time": "2018-07-31T09:26:32+00:00" + }, + { + "name": "symfony/cache", + "version": "v3.4.23", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "aa02b67f961a15cef21f21d293afcac574a62118" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/aa02b67f961a15cef21f21d293afcac574a62118", + "reference": "aa02b67f961a15cef21f21d293afcac574a62118", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "psr/cache": "~1.0", + "psr/log": "~1.0", + "psr/simple-cache": "^1.0", + "symfony/polyfill-apcu": "~1.1" + }, + "conflict": { + "symfony/var-dumper": "<3.3" + }, + "provide": { + "psr/cache-implementation": "1.0", + "psr/simple-cache-implementation": "1.0" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/cache": "~1.6", + "doctrine/dbal": "~2.4", + "predis/predis": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Cache\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Cache component with PSR-6, PSR-16, and tags", + "homepage": "https://symfony.com", + "keywords": [ + "caching", + "psr6" + ], + "time": "2019-02-23T15:06:07+00:00" + }, + { + "name": "symfony/config", + "version": "v3.4.23", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "177a276c01575253c95cefe0866e3d1b57637fe0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/177a276c01575253c95cefe0866e3d1b57637fe0", + "reference": "177a276c01575253c95cefe0866e3d1b57637fe0", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/filesystem": "~2.8|~3.0|~4.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3", + "symfony/finder": "<3.3" + }, + "require-dev": { + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/event-dispatcher": "~3.3|~4.0", + "symfony/finder": "~3.3|~4.0", + "symfony/yaml": "~3.0|~4.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "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 Config Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:06:07+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v4.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "e16b9e471703b2c60b95f14d31c1239f68f11601" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/e16b9e471703b2c60b95f14d31c1239f68f11601", + "reference": "e16b9e471703b2c60b95f14d31c1239f68f11601", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "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 Filesystem Component", + "homepage": "https://symfony.com", + "time": "2019-02-07T11:40:08+00:00" + }, + { + "name": "symfony/finder", + "version": "v3.4.23", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "fcdde4aa38f48190ce70d782c166f23930084f9b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/fcdde4aa38f48190ce70d782c166f23930084f9b", + "reference": "fcdde4aa38f48190ce70d782c166f23930084f9b", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "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 Finder Component", + "homepage": "https://symfony.com", + "time": "2019-02-22T14:44:53+00:00" + }, + { + "name": "symfony/polyfill-apcu", + "version": "v1.11.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-apcu.git", + "reference": "a502face1da6a53289480166f24de2c3c68e5c3c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/a502face1da6a53289480166f24de2c3c68e5c3c", + "reference": "a502face1da6a53289480166f24de2c3c68e5c3c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Apcu\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "apcu", + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2019-02-06T07:57:58+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.11.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "82ebae02209c21113908c229e9883c419720738a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a", + "reference": "82ebae02209c21113908c229e9883c419720738a", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + }, + { + "name": "Gert de Pagter", + "email": "backendtea@gmail.com" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2019-02-06T07:57:58+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.11.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609", + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11-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": "2019-02-06T07:57:58+00:00" + }, + { + "name": "symfony/translation", + "version": "v2.8.49", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "fc58c2a19e56c29f5ba2736ec40d0119a0de2089" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/fc58c2a19e56c29f5ba2736ec40d0119a0de2089", + "reference": "fc58c2a19e56c29f5ba2736ec40d0119a0de2089", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.7" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8", + "symfony/intl": "~2.7.25|^2.8.18|~3.2.5", + "symfony/yaml": "~2.2|~3.0.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "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 Translation Component", + "homepage": "https://symfony.com", + "time": "2018-11-24T21:16:41+00:00" + }, + { + "name": "symfony/yaml", + "version": "v3.4.23", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/57f1ce82c997f5a8701b89ef970e36bb657fd09c", + "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "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 Yaml Component", + "homepage": "https://symfony.com", + "time": "2019-02-23T15:06:07+00:00" + }, + { + "name": "webonyx/graphql-php", + "version": "v0.8.0", + "source": { + "type": "git", + "url": "https://github.com/webonyx/graphql-php.git", + "reference": "49453174061bbbe61a8189f87bad0b708495ff9c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/49453174061bbbe61a8189f87bad0b708495ff9c", + "reference": "49453174061bbbe61a8189f87bad0b708495ff9c", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.4,<8.0-DEV" + }, + "require-dev": { + "phpunit/phpunit": "^4.8" + }, + "type": "library", + "autoload": { + "files": [ + "src/deprecated.php" + ], + "psr-4": { + "GraphQL\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD" + ], + "description": "A PHP port of GraphQL reference implementation", + "homepage": "https://github.com/webonyx/graphql-php", + "keywords": [ + "api", + "graphql" + ], + "time": "2016-11-25T11:45:38+00:00" + } + ], + "packages-dev": [ + { + "name": "doctrine/instantiator", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "a2c590166b2133a4633738648b6b064edae0814a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", + "reference": "a2c590166b2133a4633738648b6b064edae0814a", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.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://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2019-03-17T17:37:11+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.8.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", + "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "time": "2018-06-11T23:09:50+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "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": "2017-09-11T18:02:19+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "4.3.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", + "reference": "94fd0001232e47129dd3504189fa1c7225010d08", + "shasum": "" + }, + "require": { + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "doctrine/instantiator": "~1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.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" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-11-30T07:14:17+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "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": "2017-07-14T14:27:02+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "sebastian/comparator": "^1.1|^2.0|^3.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.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": "2018-08-05T17:53:17+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", + "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^5.6 || ^7.0", + "phpunit/php-file-iterator": "^1.3", + "phpunit/php-text-template": "^1.2", + "phpunit/php-token-stream": "^1.4.2 || ^2.0", + "sebastian/code-unit-reverse-lookup": "^1.0", + "sebastian/environment": "^1.3.2 || ^2.0", + "sebastian/version": "^1.0 || ^2.0" + }, + "require-dev": { + "ext-xdebug": "^2.1.4", + "phpunit/phpunit": "^5.7" + }, + "suggest": { + "ext-xdebug": "^2.5.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.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": "2017-04-02T07:44:40+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "1.4.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", + "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": "2017-11-27T13:52:08+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.9", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "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": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2017-02-26T11:10:40+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "791198a2c6254db10131eecfe8c06670700904db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", + "reference": "791198a2c6254db10131eecfe8c06670700904db", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-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": "2017-11-27T05:48:46+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "5.7.27", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", + "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "~1.3", + "php": "^5.6 || ^7.0", + "phpspec/prophecy": "^1.6.2", + "phpunit/php-code-coverage": "^4.0.4", + "phpunit/php-file-iterator": "~1.4", + "phpunit/php-text-template": "~1.2", + "phpunit/php-timer": "^1.0.6", + "phpunit/phpunit-mock-objects": "^3.2", + "sebastian/comparator": "^1.2.4", + "sebastian/diff": "^1.4.3", + "sebastian/environment": "^1.3.4 || ^2.0", + "sebastian/exporter": "~2.0", + "sebastian/global-state": "^1.1", + "sebastian/object-enumerator": "~2.0", + "sebastian/resource-operations": "~1.0", + "sebastian/version": "^1.0.6|^2.0.1", + "symfony/yaml": "~2.1|~3.0|~4.0" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2" + }, + "require-dev": { + "ext-pdo": "*" + }, + "suggest": { + "ext-xdebug": "*", + "phpunit/php-invoker": "~1.1" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.7.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": "2018-02-01T05:50:59+00:00" + }, + { + "name": "phpunit/phpunit-mock-objects", + "version": "3.4.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "a23b761686d50a560cc56233b9ecf49597cc9118" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118", + "reference": "a23b761686d50a560cc56233b9ecf49597cc9118", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.6 || ^7.0", + "phpunit/php-text-template": "^1.2", + "sebastian/exporter": "^1.2 || ^2.0" + }, + "conflict": { + "phpunit/phpunit": "<5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.4" + }, + "suggest": { + "ext-soap": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.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": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "abandoned": true, + "time": "2017-06-30T09:13:00+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.0" + }, + "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": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+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.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "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": "2017-05-22T07:24:03+00:00" + }, + { + "name": "sebastian/environment", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", + "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.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-11-26T07:53:53+00:00" + }, + { + "name": "sebastian/exporter", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", + "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/recursion-context": "~2.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.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": "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-11-19T08:54:04+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/object-enumerator", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", + "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "sebastian/recursion-context": "~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-02-18T15:18:39+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", + "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.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": "2016-11-19T07:33:16+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "shasum": "" + }, + "require": { + "php": ">=5.6.0" + }, + "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": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2015-07-28T20:34:47+00:00" + }, + { + "name": "sebastian/version", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.4.1", + "source": { + "type": "git", + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "5b4333b4010625d29580eb4a41f1e53251be6baa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5b4333b4010625d29580eb4a41f1e53251be6baa", + "reference": "5b4333b4010625d29580eb4a41f1e53251be6baa", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", + "keywords": [ + "phpcs", + "standards" + ], + "time": "2019-03-19T03:22:27+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "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": "2018-12-25T11:19:39+00:00" + } + ], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": { + "silverstripe/recipe-cms": 0 + }, + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": ">=5.6.0" + }, + "platform-dev": [] +} diff --git a/Website/phpcs.xml.dist b/Website/phpcs.xml.dist new file mode 100644 index 0000000..f6c501a --- /dev/null +++ b/Website/phpcs.xml.dist @@ -0,0 +1,25 @@ + + + Coding standard for SilverStripe 4.x + + + */themes/simple/* + */vendor/* + */thirdparty/* + + + + + + + + + + + + + + + + + diff --git a/Website/public/.htaccess b/Website/public/.htaccess new file mode 100644 index 0000000..49e0532 --- /dev/null +++ b/Website/public/.htaccess @@ -0,0 +1,54 @@ +### SILVERSTRIPE START ### + +# Deny access to templates (but allow from localhost) + + Order deny,allow + Deny from all + Allow from 127.0.0.1 + + +# Deny access to IIS configuration + + Order deny,allow + Deny from all + + +# Deny access to YAML configuration files which might include sensitive information + + Order allow,deny + Deny from all + + +# Route errors to static pages automatically generated by SilverStripe +ErrorDocument 404 /assets/error-404.html +ErrorDocument 500 /assets/error-500.html + + + + # Turn off index.php handling requests to the homepage fixes issue in apache >=2.4 + + DirectoryIndex disabled + DirectorySlash On + + + SetEnv HTTP_MOD_REWRITE On + RewriteEngine On + + # Enable HTTP Basic authentication workaround for PHP running in CGI mode + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # Deny access to potentially sensitive files and folders + RewriteRule ^vendor(/|$) - [F,L,NC] + RewriteRule ^\.env - [F,L,NC] + RewriteRule silverstripe-cache(/|$) - [F,L,NC] + RewriteRule composer\.(json|lock) - [F,L,NC] + RewriteRule (error|silverstripe|debug)\.log - [F,L,NC] + + # Process through SilverStripe if no file with the requested name exists. + # Pass through the original path as a query parameter, and retain the existing parameters. + # Try finding framework in the vendor folder first + RewriteCond %{REQUEST_URI} ^(.*)$ + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule .* index.php + +### SILVERSTRIPE END ### diff --git a/Website/public/assets/.gitignore b/Website/public/assets/.gitignore new file mode 100644 index 0000000..8c0dc7c --- /dev/null +++ b/Website/public/assets/.gitignore @@ -0,0 +1,4 @@ +/**/* +!.gitignore +!.htaccess +!web.config diff --git a/Website/public/assets/.htaccess b/Website/public/assets/.htaccess new file mode 100644 index 0000000..8c3eefb --- /dev/null +++ b/Website/public/assets/.htaccess @@ -0,0 +1,35 @@ +# +# Whitelist appropriate assets files. +# This file is automatically generated via File.allowed_extensions configuration +# See AssetAdapter::renderTemplate() for reference. +# + +# We disable PHP via several methods +# Replace the handler with the default plaintext handler +AddHandler default-handler php phtml php3 php4 php5 inc + + + # Turn the PHP engine off + php_flag engine off + + + + + SetEnv HTTP_MOD_REWRITE On + + + RewriteEngine On + + # Allow error pages + RewriteCond %{REQUEST_FILENAME} -f + RewriteRule error[^\\/]*\.html$ - [L] + + # Block invalid file extensions + RewriteCond %{REQUEST_URI} !^[^.]*\.(?i:css|js|ace|arc|arj|asf|au|avi|bmp|bz2|cab|cda|csv|dmg|doc|docx|dotx|flv|gif|gpx|gz|hqx|ico|jpeg|jpg|kml|m4a|m4v|mid|midi|mkv|mov|mp3|mp4|mpa|mpeg|mpg|ogg|ogv|pages|pcx|pdf|png|pps|ppt|pptx|potx|ra|ram|rm|rtf|sit|sitx|tar|tgz|tif|tiff|txt|wav|webm|wma|wmv|xls|xlsx|xltx|zip|zipx)$ + RewriteRule .* - [F] + + # Non existant files passed to requesthandler + RewriteCond %{REQUEST_URI} ^(.*)$ + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule .* ../index.php [QSA] + diff --git a/Website/public/favicon.ico b/Website/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0d83aec1ee17b6ce4249c63b59c74c10bff154fa GIT binary patch literal 1406 zcmZQzU<5(|0R}M0U}azs1F|%L7$l?s#Ec9aKoZP=&}i)0rCtor?p|V;RqW32^ZQqZ zFYjM5)cc7u{P_BbVRoq}L#>Yp!=K;37;3x(8QLOL7(Ty$$?*UGe}+v{OBi;{t!KD( zW)H*0$%Q~QKN%W>q#5pAI>PYk(JhAdC^d$IEBhIy7q~EV#c2c8)-iO%XfT}EJcnU& zmNmofh0P2v9$aHMx_%nN=XWm|=9GCeeE;&1;p3ZU3`?4#8Di(5{}@_A6&U{h`3+S2fuSi_mf_0b4Gh13{b1NIseobKgj|L#Gb$La9pB0@ zHP?aR`Q6J58>bX8Ov$!o*gC653=`AM8TKvfLWIXCYcvE#VhHe|00t;e zg-2TnSwde|!^R9*Kwd*bgP$EN!fV0G$ETwxqM;!NWEfd%aq|dp@$oS+YiKa?@d*JH zYG^3x@bL+oXlSsqa%z~{s%uEFvI_GFYG_zkXlRJ?8L_fTXmHqCX|S=fYG_#M0gaOY zYcu8Jlhn{qR)88SEzHL!W~ZTHAPclu31lr0=ooCR4xRZT_{%7=Ln M#%*9EKhi;Z0Z%lL$p8QV literal 0 HcmV?d00001 diff --git a/Website/public/index.php b/Website/public/index.php new file mode 100644 index 0000000..bd24b7a --- /dev/null +++ b/Website/public/index.php @@ -0,0 +1,27 @@ +addMiddleware(new ErrorControlChainMiddleware($app)); +$response = $app->handle($request); +$response->output(); diff --git a/Website/public/install-frameworkmissing.html b/Website/public/install-frameworkmissing.html new file mode 100644 index 0000000..08f02c8 --- /dev/null +++ b/Website/public/install-frameworkmissing.html @@ -0,0 +1,34 @@ + + + The SilverStripe Framework is missing + + +
+
+ + + +
+ +
+
+

The SilverStripe Framework is missing - To run the installer, at least the framework module is required.

+ +

If you downloaded a pre-packaged zip or tar.gz, something might have gone wrong with the packaging + process. Please try re-downloading, or try an older version.

+ +

If you downloaded this from GitHub, you need to install the framework module. You can do this manually, or by running the tools/new-project script from the command line.

+
+
+
+
+ + +
+ + diff --git a/Website/public/install.php b/Website/public/install.php new file mode 100644 index 0000000..6cfeca8 --- /dev/null +++ b/Website/public/install.php @@ -0,0 +1,18 @@ + \ No newline at end of file From 050f94ae88f35250cd7adc4b221d6f8a2028570e Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Wed, 27 Mar 2019 08:56:17 +0100 Subject: [PATCH 05/24] Adjust the docker-environment for silverstripe --- .docker/date.ini | 2 ++ .dockerignore | 8 +++++++- Dockerfile | 38 +++++++++++++++++++++++++++++++------- docker-compose.yml | 5 +++-- 4 files changed, 43 insertions(+), 10 deletions(-) create mode 100644 .docker/date.ini diff --git a/.docker/date.ini b/.docker/date.ini new file mode 100644 index 0000000..e077fc1 --- /dev/null +++ b/.docker/date.ini @@ -0,0 +1,2 @@ +[date] +date.timezone="Europe/Zurich" \ No newline at end of file diff --git a/.dockerignore b/.dockerignore index e1f0ba3..ac71744 100644 --- a/.dockerignore +++ b/.dockerignore @@ -8,4 +8,10 @@ docker-compose* */obj README.md LICENSE -.vscode \ No newline at end of file +.vscode + +# SilverStripe auto-generated content +Website/silverstripe-cache/ +Website/vendor/ +Website/resources/ +Website/public/resources/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index a005a14..50973e4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,43 @@ FROM php:7.1.27-apache +RUN chown -R www-data:www-data /var/www -RUN apt -y update -RUN apt install -y --no-install-recommends \ +RUN apt update -y +RUN apt install --no-install-recommends -y \ libicu-dev \ - libmagickwand-dev + libmagickwand-dev \ + libtidy-dev \ + libzip-dev \ + mysql-client \ + sudo \ + unzip \ + zip + +RUN a2enmod rewrite RUN docker-php-ext-configure intl -RUN docker-php-ext-install intl +RUN docker-php-ext-configure zip --with-libzip +RUN docker-php-ext-install \ + gd \ + intl \ + pdo \ + pdo_mysql \ + tidy \ + zip RUN pecl install \ xdebug \ imagick RUN docker-php-ext-enable \ xdebug \ imagick -RUN chown -R www-data:www-data /var/www/html -COPY .docker/xdebug.ini $PHP_INI_DIR/conf.d/xdebug.ini -COPY ./src/ /var/www/html/ \ No newline at end of file +ADD https://getcomposer.org/installer composer-setup.php +RUN php composer-setup.php +RUN mv composer.phar /usr/local/bin/composer +COPY --chown=www-data:www-data ./Website/composer.* ./ +RUN sudo -u www-data mkdir public +RUN sudo -u www-data composer install + +COPY .docker/xdebug.ini $PHP_INI_DIR/conf.d/ +COPY .docker/date.ini $PHP_INI_DIR/conf.d/ +COPY --chown=www-data:www-data ./Website/ ./ +RUN sudo -u www-data composer vendor-expose diff --git a/docker-compose.yml b/docker-compose.yml index 65a5464..d83b25d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,10 +12,11 @@ services: ports: - 8000:80 db: - image: mysql:latest + image: mysql:5 networks: - nuth ports: - 13306:3306 environment: - MYSQL_ROOT_PASSWORD: root \ No newline at end of file + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: SilverStripe \ No newline at end of file From 32e8034c9fec8cd5de85fc43daad42cf8f7726c8 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Fri, 5 Apr 2019 10:40:06 +0200 Subject: [PATCH 06/24] Finalize the docker build --- .docker/.env | 11 +++++++++++ Dockerfile | 2 ++ 2 files changed, 13 insertions(+) create mode 100644 .docker/.env diff --git a/.docker/.env b/.docker/.env new file mode 100644 index 0000000..7355673 --- /dev/null +++ b/.docker/.env @@ -0,0 +1,11 @@ +SS_ENVIRONMENT_TYPE="dev" +SS_BASE_URL="http://localhost" + +SS_DATABASE_CLASS="MySQLPDODatabase" +SS_DATABASE_SERVER="db" +SS_DATABASE_USERNAME="root" +SS_DATABASE_PASSWORD="root" +SS_DATABASE_NAME="SilverStripe" + +SS_DEFAULT_ADMIN_USERNAME="root" +SS_DEFAULT_ADMIN_PASSWORD="root" \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 50973e4..f510584 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,6 +37,8 @@ COPY --chown=www-data:www-data ./Website/composer.* ./ RUN sudo -u www-data mkdir public RUN sudo -u www-data composer install +COPY --chown=www-data:www-data .docker/.env .env + COPY .docker/xdebug.ini $PHP_INI_DIR/conf.d/ COPY .docker/date.ini $PHP_INI_DIR/conf.d/ COPY --chown=www-data:www-data ./Website/ ./ From 3112b9e1cda8af6c3257656d4c34ae55550d2ed1 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Fri, 5 Apr 2019 10:40:42 +0200 Subject: [PATCH 07/24] Prevent environment-files from being deleted --- scripts/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install.sh b/scripts/install.sh index 641a700..1cd3279 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -3,7 +3,7 @@ cd $(dirname $0) cd .. tempDir=$(mktemp -d) sourceDir="./Website" -find . -name "*" -and -not -name "." -and -not -path "$sourceDir/*" -and -not -path $sourceDir -exec rm -rf {} + +find . -name "*" -and -not -name "." -and -not -name ".env" -and -not -path "$sourceDir/*" -and -not -path $sourceDir -exec rm -rf {} + rsync -a --delete ./src/ $tempDir rsync -a --delete $tempDir/ . rm -rf $tempDir \ No newline at end of file From 3fde01a43481d3b4382ee42062707fdf587fb010 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Fri, 5 Apr 2019 10:45:41 +0200 Subject: [PATCH 08/24] Add release-info --- Website/composer.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Website/composer.json b/Website/composer.json index c0205a8..288294c 100644 --- a/Website/composer.json +++ b/Website/composer.json @@ -1,7 +1,8 @@ { - "name": "silverstripe/installer", + "name": "manuth/nuth.ch", "type": "silverstripe-recipe", - "description": "The SilverStripe Framework Installer", + "description": "The source code of nuth.ch", + "version": "1.0", "require": { "php": ">=5.6.0", "silverstripe/recipe-plugin": "^1.2", From 9d05361eee5979ca304bd59aecf0c7f1c1c63dd1 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Fri, 5 Apr 2019 10:52:57 +0200 Subject: [PATCH 09/24] Fix execution permission --- scripts/install.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/install.sh diff --git a/scripts/install.sh b/scripts/install.sh old mode 100644 new mode 100755 From 1b88185fdc3b9679fdf1e589a8c773de6c9607e6 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Fri, 5 Apr 2019 11:00:54 +0200 Subject: [PATCH 10/24] Fix the build-script --- scripts/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install.sh b/scripts/install.sh index 1cd3279..851f571 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -4,6 +4,6 @@ cd .. tempDir=$(mktemp -d) sourceDir="./Website" find . -name "*" -and -not -name "." -and -not -name ".env" -and -not -path "$sourceDir/*" -and -not -path $sourceDir -exec rm -rf {} + -rsync -a --delete ./src/ $tempDir +rsync -a --delete $sourceDir $tempDir rsync -a --delete $tempDir/ . rm -rf $tempDir \ No newline at end of file From 502e11684934541b8d915f9a027124690ee526cd Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Tue, 9 Apr 2019 19:01:05 +0200 Subject: [PATCH 11/24] Update all packages --- Website/composer.lock | 52 ++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/Website/composer.lock b/Website/composer.lock index 9b3d2eb..b055e20 100644 --- a/Website/composer.lock +++ b/Website/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "216b2d1f198ed8e6637fdc23c721d25c", + "content-hash": "a4dcebfb359ae2174165b199f26c9ef2", "packages": [ { "name": "composer/ca-bundle", @@ -431,16 +431,16 @@ }, { "name": "league/flysystem", - "version": "1.0.50", + "version": "1.0.51", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "dab4e7624efa543a943be978008f439c333f2249" + "reference": "755ba7bf3fb9031e6581d091db84d78275874396" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/dab4e7624efa543a943be978008f439c333f2249", - "reference": "dab4e7624efa543a943be978008f439c333f2249", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/755ba7bf3fb9031e6581d091db84d78275874396", + "reference": "755ba7bf3fb9031e6581d091db84d78275874396", "shasum": "" }, "require": { @@ -511,7 +511,7 @@ "sftp", "storage" ], - "time": "2019-02-01T08:50:36+00:00" + "time": "2019-03-30T13:22:34+00:00" }, { "name": "m1/env", @@ -2110,16 +2110,16 @@ }, { "name": "symfony/cache", - "version": "v3.4.23", + "version": "v3.4.24", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "aa02b67f961a15cef21f21d293afcac574a62118" + "reference": "669270dc501fe3c5addcc306962958334c19652c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/aa02b67f961a15cef21f21d293afcac574a62118", - "reference": "aa02b67f961a15cef21f21d293afcac574a62118", + "url": "https://api.github.com/repos/symfony/cache/zipball/669270dc501fe3c5addcc306962958334c19652c", + "reference": "669270dc501fe3c5addcc306962958334c19652c", "shasum": "" }, "require": { @@ -2176,11 +2176,11 @@ "caching", "psr6" ], - "time": "2019-02-23T15:06:07+00:00" + "time": "2019-04-01T07:08:40+00:00" }, { "name": "symfony/config", - "version": "v3.4.23", + "version": "v3.4.24", "source": { "type": "git", "url": "https://github.com/symfony/config.git", @@ -2244,7 +2244,7 @@ }, { "name": "symfony/filesystem", - "version": "v4.2.4", + "version": "v4.2.5", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", @@ -2294,7 +2294,7 @@ }, { "name": "symfony/finder", - "version": "v3.4.23", + "version": "v3.4.24", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", @@ -2580,16 +2580,16 @@ }, { "name": "symfony/yaml", - "version": "v3.4.23", + "version": "v3.4.24", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c" + "reference": "212a27b731e5bfb735679d1ffaac82bd6a1dc996" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/57f1ce82c997f5a8701b89ef970e36bb657fd09c", - "reference": "57f1ce82c997f5a8701b89ef970e36bb657fd09c", + "url": "https://api.github.com/repos/symfony/yaml/zipball/212a27b731e5bfb735679d1ffaac82bd6a1dc996", + "reference": "212a27b731e5bfb735679d1ffaac82bd6a1dc996", "shasum": "" }, "require": { @@ -2635,7 +2635,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2019-02-23T15:06:07+00:00" + "time": "2019-03-25T07:48:46+00:00" }, { "name": "webonyx/graphql-php", @@ -2739,20 +2739,20 @@ }, { "name": "myclabs/deep-copy", - "version": "1.8.1", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8" + "reference": "78af75148f9fdd34ea727c8b529a9b4a8f7b740c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", - "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/78af75148f9fdd34ea727c8b529a9b4a8f7b740c", + "reference": "78af75148f9fdd34ea727c8b529a9b4a8f7b740c", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.2" }, "replace": { "myclabs/deep-copy": "self.version" @@ -2760,6 +2760,8 @@ "require-dev": { "doctrine/collections": "^1.0", "doctrine/common": "^2.6", + "phpstan/phpstan": "^0.9.2", + "phpstan/phpstan-phpunit": "^0.9.4", "phpunit/phpunit": "^7.1" }, "type": "library", @@ -2783,7 +2785,7 @@ "object", "object graph" ], - "time": "2018-06-11T23:09:50+00:00" + "time": "2018-10-30T00:14:44+00:00" }, { "name": "phpdocumentor/reflection-common", From e2e9b02bca8fbb6b5bfaed537e6fe01adef2e27e Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Tue, 9 Apr 2019 20:53:29 +0200 Subject: [PATCH 12/24] Improve the installation-script --- scripts/install.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/scripts/install.sh b/scripts/install.sh index 851f571..5a84229 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -2,8 +2,19 @@ cd $(dirname $0) cd .. tempDir=$(mktemp -d) -sourceDir="./Website" -find . -name "*" -and -not -name "." -and -not -name ".env" -and -not -path "$sourceDir/*" -and -not -path $sourceDir -exec rm -rf {} + +sourceDir="." + +find $sourceDir \ + -name "*" -and \ + -not \( \ + \( \ + -path "Website" + \) \ + -prune \ + \) -and \ + -not -name ".env" \ + -print + rsync -a --delete $sourceDir $tempDir rsync -a --delete $tempDir/ . rm -rf $tempDir \ No newline at end of file From b1cc1cca3906c65790dda67e94b3554468c7c30f Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Tue, 9 Apr 2019 21:30:12 +0200 Subject: [PATCH 13/24] Fix eol-characters of shell-scripts --- .gitattributes | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..526c8a3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.sh text eol=lf \ No newline at end of file From dd6559a4aaed1ae8ec8fea1bf1dec62c03cc9e3a Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Wed, 10 Apr 2019 12:39:55 +0200 Subject: [PATCH 14/24] Adjust the directory structure --- .dockerignore | 8 ++++---- .gitignore | 7 +++++++ Website/.htaccess => .htaccess | 0 .vscode/tasks.json | 4 ++-- Dockerfile | 4 ++-- Website/.gitignore | 6 ------ {Website/app => app}/.htaccess | 0 {Website/app => app}/_config.php | 0 {Website/app => app}/_config/mysite.yml | 0 {Website/app => app}/_config/theme.yml | 0 {Website/app => app}/src/Page.php | 0 {Website/app => app}/src/PageController.php | 0 Website/composer.json => composer.json | 0 Website/composer.lock => composer.lock | 0 Website/phpcs.xml.dist => phpcs.xml.dist | 0 {Website/public => public}/.htaccess | 0 {Website/public => public}/assets/.gitignore | 0 {Website/public => public}/assets/.htaccess | 0 {Website/public => public}/favicon.ico | Bin {Website/public => public}/index.php | 0 .../public => public}/install-frameworkmissing.html | 0 {Website/public => public}/install.php | 0 scripts/install.sh | 8 ++++++-- 23 files changed, 21 insertions(+), 16 deletions(-) rename Website/.htaccess => .htaccess (100%) delete mode 100644 Website/.gitignore rename {Website/app => app}/.htaccess (100%) rename {Website/app => app}/_config.php (100%) rename {Website/app => app}/_config/mysite.yml (100%) rename {Website/app => app}/_config/theme.yml (100%) rename {Website/app => app}/src/Page.php (100%) rename {Website/app => app}/src/PageController.php (100%) rename Website/composer.json => composer.json (100%) rename Website/composer.lock => composer.lock (100%) rename Website/phpcs.xml.dist => phpcs.xml.dist (100%) rename {Website/public => public}/.htaccess (100%) rename {Website/public => public}/assets/.gitignore (100%) rename {Website/public => public}/assets/.htaccess (100%) rename {Website/public => public}/favicon.ico (100%) rename {Website/public => public}/index.php (100%) rename {Website/public => public}/install-frameworkmissing.html (100%) rename {Website/public => public}/install.php (100%) diff --git a/.dockerignore b/.dockerignore index ac71744..bf899ce 100644 --- a/.dockerignore +++ b/.dockerignore @@ -11,7 +11,7 @@ LICENSE .vscode # SilverStripe auto-generated content -Website/silverstripe-cache/ -Website/vendor/ -Website/resources/ -Website/public/resources/ \ No newline at end of file +/silverstripe-cache/ +/vendor/ +/resources/ +/public/resources/ \ No newline at end of file diff --git a/.gitignore b/.gitignore index a67d42b..df2914a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,10 @@ composer.phar # Commit your application's lock file https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control # You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file # composer.lock + +# SvilerStripe files +/silverstripe-cache/ +/vendor/ +/themes/simple/ +/resources/ +/public/resources/ diff --git a/Website/.htaccess b/.htaccess similarity index 100% rename from Website/.htaccess rename to .htaccess diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 068d599..bbe2925 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -4,10 +4,10 @@ "version": "2.0.0", "tasks": [ { - "label": "Lint Website", + "label": "Lint PHP-Code", "type": "shell", "options": { - "cwd": "${workspaceFolder}/Website" + "cwd": "${workspaceFolder}" }, "command": "composer", "args": [ diff --git a/Dockerfile b/Dockerfile index f510584..1134a3c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -33,7 +33,7 @@ RUN docker-php-ext-enable \ ADD https://getcomposer.org/installer composer-setup.php RUN php composer-setup.php RUN mv composer.phar /usr/local/bin/composer -COPY --chown=www-data:www-data ./Website/composer.* ./ +COPY --chown=www-data:www-data ./composer.* ./ RUN sudo -u www-data mkdir public RUN sudo -u www-data composer install @@ -41,5 +41,5 @@ COPY --chown=www-data:www-data .docker/.env .env COPY .docker/xdebug.ini $PHP_INI_DIR/conf.d/ COPY .docker/date.ini $PHP_INI_DIR/conf.d/ -COPY --chown=www-data:www-data ./Website/ ./ +COPY --chown=www-data:www-data ./ ./ RUN sudo -u www-data composer vendor-expose diff --git a/Website/.gitignore b/Website/.gitignore deleted file mode 100644 index 1dff294..0000000 --- a/Website/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/silverstripe-cache/ -/.env -/vendor/ -/themes/simple/ -/resources/ -/public/resources/ diff --git a/Website/app/.htaccess b/app/.htaccess similarity index 100% rename from Website/app/.htaccess rename to app/.htaccess diff --git a/Website/app/_config.php b/app/_config.php similarity index 100% rename from Website/app/_config.php rename to app/_config.php diff --git a/Website/app/_config/mysite.yml b/app/_config/mysite.yml similarity index 100% rename from Website/app/_config/mysite.yml rename to app/_config/mysite.yml diff --git a/Website/app/_config/theme.yml b/app/_config/theme.yml similarity index 100% rename from Website/app/_config/theme.yml rename to app/_config/theme.yml diff --git a/Website/app/src/Page.php b/app/src/Page.php similarity index 100% rename from Website/app/src/Page.php rename to app/src/Page.php diff --git a/Website/app/src/PageController.php b/app/src/PageController.php similarity index 100% rename from Website/app/src/PageController.php rename to app/src/PageController.php diff --git a/Website/composer.json b/composer.json similarity index 100% rename from Website/composer.json rename to composer.json diff --git a/Website/composer.lock b/composer.lock similarity index 100% rename from Website/composer.lock rename to composer.lock diff --git a/Website/phpcs.xml.dist b/phpcs.xml.dist similarity index 100% rename from Website/phpcs.xml.dist rename to phpcs.xml.dist diff --git a/Website/public/.htaccess b/public/.htaccess similarity index 100% rename from Website/public/.htaccess rename to public/.htaccess diff --git a/Website/public/assets/.gitignore b/public/assets/.gitignore similarity index 100% rename from Website/public/assets/.gitignore rename to public/assets/.gitignore diff --git a/Website/public/assets/.htaccess b/public/assets/.htaccess similarity index 100% rename from Website/public/assets/.htaccess rename to public/assets/.htaccess diff --git a/Website/public/favicon.ico b/public/favicon.ico similarity index 100% rename from Website/public/favicon.ico rename to public/favicon.ico diff --git a/Website/public/index.php b/public/index.php similarity index 100% rename from Website/public/index.php rename to public/index.php diff --git a/Website/public/install-frameworkmissing.html b/public/install-frameworkmissing.html similarity index 100% rename from Website/public/install-frameworkmissing.html rename to public/install-frameworkmissing.html diff --git a/Website/public/install.php b/public/install.php similarity index 100% rename from Website/public/install.php rename to public/install.php diff --git a/scripts/install.sh b/scripts/install.sh index 5a84229..a2505ca 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -8,11 +8,15 @@ find $sourceDir \ -name "*" -and \ -not \( \ \( \ - -path "Website" + -path "$sourceDir/app" \ + -path "$sourceDir/public" \ + -path "$sourceDir/vendor" \ + -path "$sourceDir/themes" \ \) \ -prune \ \) -and \ - -not -name ".env" \ + -not -name ".env" -and \ + -not -name ".htaccess" \ -print rsync -a --delete $sourceDir $tempDir From 3e4e0c83585e0f0455c8f260cff9671a2e806808 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Wed, 10 Apr 2019 12:41:33 +0200 Subject: [PATCH 15/24] Improve the installation procedure --- .docker/nuth.sh | 9 +++++++++ Dockerfile | 14 ++++++++++---- docker-compose.yml | 2 ++ scripts/install.sh | 42 +++++++++++++++++++++++++++++------------- 4 files changed, 50 insertions(+), 17 deletions(-) create mode 100644 .docker/nuth.sh diff --git a/.docker/nuth.sh b/.docker/nuth.sh new file mode 100644 index 0000000..709976d --- /dev/null +++ b/.docker/nuth.sh @@ -0,0 +1,9 @@ +#!/bin/bash +until nc -z db 3306 +do + >&2 echo "mysql is unavailable - waiting" + sleep 1 +done + +sudo -u www-data ../app/scripts/install.sh +apache2-foreground \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 1134a3c..6806883 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,5 @@ -FROM php:7.1.27-apache +FROM php:7.2.17-apache +COPY .docker/nuth.sh /usr/local/bin/nuth-start RUN chown -R www-data:www-data /var/www RUN apt update -y @@ -8,6 +9,8 @@ RUN apt install --no-install-recommends -y \ libtidy-dev \ libzip-dev \ mysql-client \ + netcat \ + rsync \ sudo \ unzip \ zip @@ -36,10 +39,13 @@ RUN mv composer.phar /usr/local/bin/composer COPY --chown=www-data:www-data ./composer.* ./ RUN sudo -u www-data mkdir public RUN sudo -u www-data composer install - -COPY --chown=www-data:www-data .docker/.env .env +RUN ./vendor/bin/sake installsake COPY .docker/xdebug.ini $PHP_INI_DIR/conf.d/ COPY .docker/date.ini $PHP_INI_DIR/conf.d/ -COPY --chown=www-data:www-data ./ ./ + +COPY --chown=www-data:www-data .docker/.env .env +COPY --chown=www-data:www-data ./ ../app RUN sudo -u www-data composer vendor-expose + +CMD [ "nuth-start" ] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index d83b25d..053694d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,6 +11,8 @@ services: - nuth ports: - 8000:80 + depends_on: + - db db: image: mysql:5 networks: diff --git a/scripts/install.sh b/scripts/install.sh index a2505ca..b57daea 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -1,24 +1,40 @@ #!/bin/bash -cd $(dirname $0) -cd .. +destinationDir=$(pwd) tempDir=$(mktemp -d) sourceDir="." -find $sourceDir \ +cd $(dirname $0) +cd .. + +rsync -a --delete $sourceDir/ $tempDir + +# Cleaning up the built website +find $tempDir \ + -mindepth 1 -and \ -name "*" -and \ -not \( \ \( \ - -path "$sourceDir/app" \ - -path "$sourceDir/public" \ - -path "$sourceDir/vendor" \ - -path "$sourceDir/themes" \ + -path "$tempDir/app" -or \ + -path "$tempDir/public" -or \ + -path "$tempDir/themes" \ \) \ -prune \ \) -and \ - -not -name ".env" -and \ - -not -name ".htaccess" \ - -print + -not -name ".htaccess" -and \ + -not -name "composer.*" \ + -exec rm -rf {} + -rsync -a --delete $sourceDir $tempDir -rsync -a --delete $tempDir/ . -rm -rf $tempDir \ No newline at end of file +# Cleaning up the destination directory +find $destinationDir \ + -mindepth 1 -and \ + -name "*" -and \ + -not -name ".env" \ + -exec rm -rf {} + + +# Copying the built website to the destination +rsync -a $tempDir/ $destinationDir + +# Installing the website +cd $destinationDir +composer install +./vendor/bin/sake dev/build \ No newline at end of file From d598c120aedf6a15617966b296de84860135f03c Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Wed, 10 Apr 2019 12:50:48 +0200 Subject: [PATCH 16/24] Remove installation files --- public/index.php | 10 +------- public/install-frameworkmissing.html | 34 ---------------------------- public/install.php | 18 --------------- 3 files changed, 1 insertion(+), 61 deletions(-) delete mode 100644 public/install-frameworkmissing.html delete mode 100644 public/install.php diff --git a/public/index.php b/public/index.php index bd24b7a..6ddcc98 100644 --- a/public/index.php +++ b/public/index.php @@ -6,15 +6,7 @@ use SilverStripe\Core\CoreKernel; use SilverStripe\Core\Startup\ErrorControlChainMiddleware; // Find autoload.php -if (file_exists(__DIR__ . '/../vendor/autoload.php')) { - require __DIR__ . '/../vendor/autoload.php'; -} elseif (file_exists(__DIR__ . '/vendor/autoload.php')) { - require __DIR__ . '/vendor/autoload.php'; -} else { - header('HTTP/1.1 500 Internal Server Error'); - echo "autoload.php not found"; - exit(1); -} +require __DIR__ . '/../vendor/autoload.php'; // Build request and detect flush $request = HTTPRequestBuilder::createFromEnvironment(); diff --git a/public/install-frameworkmissing.html b/public/install-frameworkmissing.html deleted file mode 100644 index 08f02c8..0000000 --- a/public/install-frameworkmissing.html +++ /dev/null @@ -1,34 +0,0 @@ - - - The SilverStripe Framework is missing - - -
-
- - - -
- -
-
-

The SilverStripe Framework is missing - To run the installer, at least the framework module is required.

- -

If you downloaded a pre-packaged zip or tar.gz, something might have gone wrong with the packaging - process. Please try re-downloading, or try an older version.

- -

If you downloaded this from GitHub, you need to install the framework module. You can do this manually, or by running the tools/new-project script from the command line.

-
-
-
-
- - -
- - diff --git a/public/install.php b/public/install.php deleted file mode 100644 index 6cfeca8..0000000 --- a/public/install.php +++ /dev/null @@ -1,18 +0,0 @@ - Date: Thu, 11 Apr 2019 10:46:37 +0200 Subject: [PATCH 17/24] Add additional info to the composer.json file --- composer.json | 44 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/composer.json b/composer.json index 288294c..fb0e705 100644 --- a/composer.json +++ b/composer.json @@ -1,8 +1,40 @@ { "name": "manuth/nuth.ch", "type": "silverstripe-recipe", - "description": "The source code of nuth.ch", "version": "1.0", + "description": "The source code of nuth.ch", + "authors": [ + { + "name": "Manuel Thalmann", + "email": "m@nuth.ch", + "homepage": "https://nuth.ch/" + } + ], + "license": "MIT", + "keywords": [ + "Homepage", + "Website", + "m@nuth", + "SilverStripe" + ], + "repositories": [ + { + "type": "git", + "url": "https://git.nuth.ch/manuth/nuth.ch.git" + } + ], + "support": { + "issues": "https://git.nuth.ch/manuth/nuth.ch/issues" + }, + "homepage": "https://nuth.ch/", + "scripts": { + "lint": "phpcs --report=csv ." + }, + "config": { + "process-timeout": 600 + }, + "prefer-stable": true, + "minimum-stability": "dev", "require": { "php": ">=5.6.0", "silverstripe/recipe-plugin": "^1.2", @@ -13,9 +45,6 @@ "phpunit/phpunit": "^5.7", "squizlabs/php_codesniffer": "*" }, - "scripts": { - "lint": "phpcs --report=csv ." - }, "extra": { "project-files-installed": [ "app/.htaccess", @@ -31,10 +60,5 @@ "install.php", "web.config" ] - }, - "config": { - "process-timeout": 600 - }, - "prefer-stable": true, - "minimum-stability": "dev" + } } From 4962e89f4c3137e88975e9d4fa5ae0b573f21427 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Fri, 12 Apr 2019 10:04:07 +0200 Subject: [PATCH 18/24] Update all packages --- composer.lock | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/composer.lock b/composer.lock index b055e20..096972c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "a4dcebfb359ae2174165b199f26c9ef2", + "content-hash": "61f2f934e1828cc882b4efaebc45fe21", "packages": [ { "name": "composer/ca-bundle", @@ -2739,20 +2739,20 @@ }, { "name": "myclabs/deep-copy", - "version": "1.9.0", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "78af75148f9fdd34ea727c8b529a9b4a8f7b740c" + "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/78af75148f9fdd34ea727c8b529a9b4a8f7b740c", - "reference": "78af75148f9fdd34ea727c8b529a9b4a8f7b740c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", + "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", "shasum": "" }, "require": { - "php": "^7.2" + "php": "^7.1" }, "replace": { "myclabs/deep-copy": "self.version" @@ -2760,8 +2760,6 @@ "require-dev": { "doctrine/collections": "^1.0", "doctrine/common": "^2.6", - "phpstan/phpstan": "^0.9.2", - "phpstan/phpstan-phpunit": "^0.9.4", "phpunit/phpunit": "^7.1" }, "type": "library", @@ -2785,7 +2783,7 @@ "object", "object graph" ], - "time": "2018-10-30T00:14:44+00:00" + "time": "2019-04-07T13:18:21+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -3908,16 +3906,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.4.1", + "version": "3.4.2", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "5b4333b4010625d29580eb4a41f1e53251be6baa" + "reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5b4333b4010625d29580eb4a41f1e53251be6baa", - "reference": "5b4333b4010625d29580eb4a41f1e53251be6baa", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8", + "reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8", "shasum": "" }, "require": { @@ -3955,7 +3953,7 @@ "phpcs", "standards" ], - "time": "2019-03-19T03:22:27+00:00" + "time": "2019-04-10T23:49:02+00:00" }, { "name": "webmozart/assert", From 03ffe6e9ed400c37275fc32e2937bff56ffbaecc Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Sat, 13 Apr 2019 16:51:22 +0200 Subject: [PATCH 19/24] Rename the phpcs rule-file according to standards --- phpcs.xml.dist => .phpcs.xml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename phpcs.xml.dist => .phpcs.xml (100%) diff --git a/phpcs.xml.dist b/.phpcs.xml similarity index 100% rename from phpcs.xml.dist rename to .phpcs.xml From 8fec9f1dfba88c62453f99cb62f1c2e84c25161e Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Sat, 13 Apr 2019 16:51:46 +0200 Subject: [PATCH 20/24] Rework the phpcs-ruleset --- .phpcs.xml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.phpcs.xml b/.phpcs.xml index f6c501a..60d3624 100644 --- a/.phpcs.xml +++ b/.phpcs.xml @@ -1,6 +1,6 @@ - - Coding standard for SilverStripe 4.x + + A custom coding standard */themes/simple/* @@ -10,16 +10,24 @@ + + + + - + + + + - + + From b27b35936645684be1b5b660b25567c4511630e2 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Sat, 13 Apr 2019 17:29:27 +0200 Subject: [PATCH 21/24] Rework the files according to phpcs --- app/_config.php | 2 +- app/src/Page.php | 4 +--- app/src/PageController.php | 2 +- public/index.php | 2 +- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/app/_config.php b/app/_config.php index 4b0ec70..d35c907 100644 --- a/app/_config.php +++ b/app/_config.php @@ -6,4 +6,4 @@ use SilverStripe\Security\Member; // remove PasswordValidator for SilverStripe 5.0 $validator = PasswordValidator::create(); // Settings are registered via Injector configuration - see passwords.yml in framework -Member::set_password_validator($validator); +Member::set_password_validator($validator); \ No newline at end of file diff --git a/app/src/Page.php b/app/src/Page.php index 010f07a..b3bbf37 100644 --- a/app/src/Page.php +++ b/app/src/Page.php @@ -10,6 +10,4 @@ namespace private static $has_one = []; } -} - -?> \ No newline at end of file +} \ No newline at end of file diff --git a/app/src/PageController.php b/app/src/PageController.php index f55aa2f..fa7ad25 100644 --- a/app/src/PageController.php +++ b/app/src/PageController.php @@ -30,4 +30,4 @@ namespace { // See: https://docs.silverstripe.org/en/developer_guides/templates/requirements/ } } -} +} \ No newline at end of file diff --git a/public/index.php b/public/index.php index 6ddcc98..cae08c5 100644 --- a/public/index.php +++ b/public/index.php @@ -16,4 +16,4 @@ $kernel = new CoreKernel(BASE_PATH); $app = new HTTPApplication($kernel); $app->addMiddleware(new ErrorControlChainMiddleware($app)); $response = $app->handle($request); -$response->output(); +$response->output(); \ No newline at end of file From 5fc718a534e1cd43b12d4e7adc492b5a7a513c78 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Sat, 13 Apr 2019 17:33:06 +0200 Subject: [PATCH 22/24] Improve the installation script --- scripts/install.sh | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/scripts/install.sh b/scripts/install.sh index b57daea..c9e6cd2 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -1,16 +1,13 @@ #!/bin/bash +appDir=$(dirname $(dirname $0)) destinationDir=$(pwd) tempDir=$(mktemp -d) -sourceDir="." -cd $(dirname $0) -cd .. - -rsync -a --delete $sourceDir/ $tempDir +rsync -a --delete $appDir/ $tempDir # Cleaning up the built website find $tempDir \ - -mindepth 1 -and \ + -mindepth 1 -maxdepth 1 -and \ -name "*" -and \ -not \( \ \( \ @@ -26,7 +23,7 @@ find $tempDir \ # Cleaning up the destination directory find $destinationDir \ - -mindepth 1 -and \ + -mindepth 1 -maxdepth 1 -and \ -name "*" -and \ -not -name ".env" \ -exec rm -rf {} + @@ -37,4 +34,4 @@ rsync -a $tempDir/ $destinationDir # Installing the website cd $destinationDir composer install -./vendor/bin/sake dev/build \ No newline at end of file +composer exec -- sake dev/build \ No newline at end of file From 39009e7f22cef6acdc0424940d5b832d528ac7fd Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 15 Apr 2019 10:38:15 +0200 Subject: [PATCH 23/24] Remove unnecessary commands from dockerfile --- Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 6806883..7a373e9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,7 +39,6 @@ RUN mv composer.phar /usr/local/bin/composer COPY --chown=www-data:www-data ./composer.* ./ RUN sudo -u www-data mkdir public RUN sudo -u www-data composer install -RUN ./vendor/bin/sake installsake COPY .docker/xdebug.ini $PHP_INI_DIR/conf.d/ COPY .docker/date.ini $PHP_INI_DIR/conf.d/ From 7e262e8fce2d7d214ae2e7603167c4496a0cdbcf Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 15 Apr 2019 13:18:46 +0200 Subject: [PATCH 24/24] Create separete dockerfiles for services --- Dockerfile => cms.Dockerfile | 0 db.Dockerfile | 1 + docker-compose.yml | 6 ++++-- 3 files changed, 5 insertions(+), 2 deletions(-) rename Dockerfile => cms.Dockerfile (100%) create mode 100644 db.Dockerfile diff --git a/Dockerfile b/cms.Dockerfile similarity index 100% rename from Dockerfile rename to cms.Dockerfile diff --git a/db.Dockerfile b/db.Dockerfile new file mode 100644 index 0000000..9aa8124 --- /dev/null +++ b/db.Dockerfile @@ -0,0 +1 @@ +FROM mysql:5 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 053694d..8b6e01b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,7 +6,7 @@ services: cms: build: context: . - dockerfile: ./Dockerfile + dockerfile: ./cms.Dockerfile networks: - nuth ports: @@ -14,7 +14,9 @@ services: depends_on: - db db: - image: mysql:5 + build: + context: . + dockerfile: ./db.Dockerfile networks: - nuth ports: