From dd36c7ce414880113c903827872fa834685c0e6e Mon Sep 17 00:00:00 2001 From: Alex <a.croix> Date: Thu, 7 Jan 2021 10:40:40 +0100 Subject: [PATCH] New version of training. Better integration. Training saved in database --- app/Http/Controllers/FeedbackController.php | 6 +- app/Http/Controllers/WowaController.php | 126 ++ app/Jobs/{FeedbackJob.php => WowaJob.php} | 23 +- app/Wowa.php | 35 + composer.json | 6 +- composer.lock | 1792 +++++++++-------- .../2021_01_05_165631_create_wowas_table.php | 37 + ..._01_06_143557_nullable_several_columns.php | 35 + resources/views/feedback/index.blade.php | 2 +- resources/views/layouts/app.blade.php | 1 + resources/views/wowa/edit.blade.php | 50 + resources/views/wowa/index.blade.php | 42 + resources/views/wowa/show.blade.php | 34 + routes/web.php | 2 + 14 files changed, 1285 insertions(+), 906 deletions(-) create mode 100644 app/Http/Controllers/WowaController.php rename app/Jobs/{FeedbackJob.php => WowaJob.php} (72%) create mode 100644 app/Wowa.php create mode 100644 database/migrations/2021_01_05_165631_create_wowas_table.php create mode 100644 database/migrations/2021_01_06_143557_nullable_several_columns.php create mode 100644 resources/views/wowa/edit.blade.php create mode 100644 resources/views/wowa/index.blade.php create mode 100644 resources/views/wowa/show.blade.php diff --git a/app/Http/Controllers/FeedbackController.php b/app/Http/Controllers/FeedbackController.php index 91e57f1..85354c0 100644 --- a/app/Http/Controllers/FeedbackController.php +++ b/app/Http/Controllers/FeedbackController.php @@ -2,7 +2,7 @@ namespace App\Http\Controllers; use App\Feedback; -use App\Jobs\FeedbackJob; +use App\Jobs\WowaJob; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Validator; use Illuminate\Http\Request; @@ -115,7 +115,7 @@ class FeedbackController extends Controller public function compute() { - $feedbacks = Feedback::all(); - FeedbackJob::dispatch($feedbacks); + WowaJob::dispatch(); } + } diff --git a/app/Http/Controllers/WowaController.php b/app/Http/Controllers/WowaController.php new file mode 100644 index 0000000..aed1b6d --- /dev/null +++ b/app/Http/Controllers/WowaController.php @@ -0,0 +1,126 @@ +<?php +namespace App\Http\Controllers; + +use App\Feedback; +use App\Jobs\WowaJob; +use App\Wowa; +use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Validator; +use Illuminate\Http\Request; + +class WowaController extends Controller +{ + + public function __construct() + { + // Uncomment to require authentication + // $this->middleware('auth'); + } + + /** + * Get a validator for an incoming registration request. + * + * @param array $data + * @return \Illuminate\Contracts\Validation\Validator + */ + protected function validator(array $data) + { + return Validator::make($data, [ + 'name' => 'required|string|regex:/^[a-zA-Z0-9\s-\.]+$/|max:255' + ]); + } + + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + return view("wowa.index", ["wowas" => Wowa::all()->sortBy("name")]); + } + + /** + * Show the form for creating a new resource. + * We use the same view for create and update => provide an empty Wowa. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + $wowa = new Wowa(); + return $this->saveAndQueue($wowa); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + $this->validator($request->all())->validate(); + + $wowa = new Wowa(); + $wowa->name = $request->name; + $wowa->save(); + return redirect(action('WowaController@index')); + } + + /** + * Display the specified resource. + * + * @param Wowa $wowa * @return \Illuminate\Http\Response + */ + public function show(Wowa $wowa) + { + return view("wowa.show", ["wowa" => $wowa]); + } + + /** + * Show the form for editing the specified resource. + * + * @param Wowa $wowa * @return \Illuminate\Http\Response + */ + public function edit(Wowa $wowa) + { + return view("wowa.edit", ["wowa" => $wowa]); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param Wowa $wowa * @return \Illuminate\Http\Response + */ + public function update(Request $request, Wowa $wowa) + { + $this->validator($request->all())->validate(); + + $wowa->name = $request->name; + $wowa->save(); + return redirect(action('WowaController@index')); + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + Wowa::find($id)->delete(); + return redirect(action("WowaController@index")); + } + + public function saveAndQueue(Wowa $wowa) + { + $wowa->user_id = Auth::user()->id; + $wowa->status = Wowa::STATE_QUEUED; + $wowa->save(); + WowaJob::dispatch($wowa); + return redirect(action('WowaController@index')); + } +} diff --git a/app/Jobs/FeedbackJob.php b/app/Jobs/WowaJob.php similarity index 72% rename from app/Jobs/FeedbackJob.php rename to app/Jobs/WowaJob.php index e648dd4..3db98ad 100644 --- a/app/Jobs/FeedbackJob.php +++ b/app/Jobs/WowaJob.php @@ -2,7 +2,9 @@ namespace App\Jobs; +use App\Feedback; use App\Mark; +use App\Wowa; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; @@ -12,19 +14,22 @@ use RUCD\Training\SolutionDistance; use RUCD\Training\Trainer; use RUCD\Training\TrainerParameters; -class FeedbackJob implements ShouldQueue +class WowaJob implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; protected $feedbacks; + protected $wowa; + /** * Create a new job instance. * - * @return void + * @param Wowa $wowa */ - public function __construct($feedbacks) + public function __construct(Wowa $wowa) { - $this->feedbacks = $feedbacks; + $this->wowa = $wowa; + $this->feedbacks = Feedback::all(); } /** @@ -34,7 +39,12 @@ class FeedbackJob implements ShouldQueue */ public function handle() { + $this->wowa->status = Wowa::STATE_RUNNING; + $this->wowa->start_time = time(); if (count($this->feedbacks) == 0) { + $this->wowa->status = Wowa::STATE_FAILED; + $this->wowa->end_time = time(); + $this->wowa->save(); return; } $evidences = []; @@ -59,6 +69,9 @@ class FeedbackJob implements ShouldQueue ); $trainer = new Trainer($training_prameters, new SolutionDistance(count($evidences[0]))); $solution = $trainer->run($evidences, $is_true_alert); - var_dump($solution); + //var_dump($solution); + $this->wowa->status = Wowa::STATE_SUCCESS; + $this->wowa->end_time = time(); + $this->wowa->save(); } } diff --git a/app/Wowa.php b/app/Wowa.php new file mode 100644 index 0000000..6ec0418 --- /dev/null +++ b/app/Wowa.php @@ -0,0 +1,35 @@ +<?php + +namespace App; + +use Illuminate\Database\Eloquent\Model; + +class Wowa extends Model +{ + const STATE_CREATED = "CREATED"; + const STATE_QUEUED = "QUEUED"; + const STATE_RUNNING = "RUNNING"; + const STATE_SUCCESS = "SUCCESS"; + const STATE_FAILED = "FAILED"; + + public static $status_classes = [ + self::STATE_SUCCESS => "btn-success", + self::STATE_FAILED => "btn_danger" + ]; + + private function getStatusBadgeClass() + { + $status = $this->status; + if (!isset(self::$status_classes[$status])) { + return "btn-primary"; + } + + return self::$status_classes[$status]; + } + + public function statusBadge() + { + return "<span class='btn btn-badge btn-sm " + . $this->getStatusBadgeClass() . "'>" . $this->status . "</span>"; + } +} diff --git a/composer.json b/composer.json index 9f75549..d11f2b4 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,8 @@ "guzzlehttp/guzzle": "^6.3", "laravel/framework": "^7.24", "laravel/tinker": "^2.0", - "laravel/ui": "^2.4" + "laravel/ui": "^2.4", + "tdebatty/laravel-resource-generator": "^6.1" }, "require-dev": { "barryvdh/laravel-debugbar": "^3.5", @@ -26,8 +27,7 @@ "mockery/mockery": "^1.3.1", "nunomaduro/collision": "^4.1", "phpunit/phpunit": "^8.5", - "squizlabs/php_codesniffer": "^3.5", - "tdebatty/laravel-resource-generator": "^6.1" + "squizlabs/php_codesniffer": "^3.5" }, "config": { "optimize-autoloader": true, diff --git a/composer.lock b/composer.lock index acf1907..12a99d9 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": "3800dde9a8e14f154b301efe153ec051", + "content-hash": "33bfc1eef719b07797e99b93b6bed6c7", "packages": [ { "name": "asm89/stack-cors", @@ -105,24 +105,38 @@ "time": "2020-08-18T23:57:15+00:00" }, { - "name": "cylab-be/php-roc", - "version": "dev-master", + "name": "composer/ca-bundle", + "version": "1.2.8", "source": { "type": "git", - "url": "https://gitlab.cylab.be/cylab/php-roc", - "reference": "4e2b7fbd7012a7b317f42380c6b62f5f040b8a84" + "url": "https://github.com/composer/ca-bundle.git", + "reference": "8a7ecad675253e4654ea05505233285377405215" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8a7ecad675253e4654ea05505233285377405215", + "reference": "8a7ecad675253e4654ea05505233285377405215", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "nunomaduro/phpinsights": "^1.0", - "phpstan/phpstan": "^0.12.5", - "phpunit/phpunit": "^7.4", - "squizlabs/php_codesniffer": "^3.3" + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" }, - "default-branch": true, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, "autoload": { "psr-4": { - "Cylab\\ROC\\": "src/" + "Composer\\CaBundle\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -131,39 +145,74 @@ ], "authors": [ { - "name": "Thibault Debatty", - "email": "thibault.debatty@gmail.com" - }, - { - "name": "Alexandre Croix", - "email": "croix.alexandre@gmail.com" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" } ], - "time": "2020-11-24T17:49:41+00:00" + "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": "2020-08-23T12:54:47+00:00" }, { - "name": "cylab-be/wowa-training", - "version": "0.0.2", + "name": "composer/composer", + "version": "1.10.15", "source": { "type": "git", - "url": "https://gitlab.cylab.be/cylab/wowa-training.git", - "reference": "4d2a9b4c4cc790d3ef218e4ee458afd95baea5c7" + "url": "https://github.com/composer/composer.git", + "reference": "547c9ee73fe26c77af09a0ea16419176b1cdbd12" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/composer/zipball/547c9ee73fe26c77af09a0ea16419176b1cdbd12", + "reference": "547c9ee73fe26c77af09a0ea16419176b1cdbd12", + "shasum": "" }, "require": { - "cylab-be/php-roc": "dev-master", + "composer/ca-bundle": "^1.0", + "composer/semver": "^1.0", + "composer/spdx-licenses": "^1.2", + "composer/xdebug-handler": "^1.1", + "justinrainbow/json-schema": "^5.2.10", + "php": "^5.3.2 || ^7.0", "psr/log": "^1.0", - "webd/aggregation": "*" + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.0", + "symfony/console": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0" + }, + "conflict": { + "symfony/console": "2.8.38" }, "require-dev": { - "monolog/monolog": "^1.23", - "phpstan/phpstan": "^0.12.5", - "phpunit/phpunit": "^7", - "squizlabs/php_codesniffer": "^3.3" + "phpspec/prophecy": "^1.10", + "symfony/phpunit-bridge": "^4.2" + }, + "suggest": { + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" }, + "bin": [ + "bin/composer" + ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, "autoload": { "psr-4": { - "RUCD\\Training\\": "src/" + "Composer\\": "src/Composer" } }, "notification-url": "https://packagist.org/downloads/", @@ -172,38 +221,54 @@ ], "authors": [ { - "name": "Thibault Debatty", - "email": "thibault.debatty@gmail.com" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" }, { - "name": "Alexandre Croix", - "email": "alexandre.croix@rma.ac.be" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" } ], - "time": "2020-02-27T09:10:37+00:00" + "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", + "keywords": [ + "autoload", + "dependency", + "package" + ], + "time": "2020-10-13T13:59:09+00:00" }, { - "name": "cylab/mark-php-client", - "version": "1.6.0", + "name": "composer/semver", + "version": "1.7.1", "source": { "type": "git", - "url": "https://gitlab.cylab.be/cylab/mark-php-client.git", - "reference": "aed2f3818d1c5b85da26eeabbcb787cd5bea9400" + "url": "https://github.com/composer/semver.git", + "reference": "38276325bd896f90dfcfe30029aa5db40df387a7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/38276325bd896f90dfcfe30029aa5db40df387a7", + "reference": "38276325bd896f90dfcfe30029aa5db40df387a7", + "shasum": "" }, "require": { - "fguillot/json-rpc": "^1.2", - "nesbot/carbon": "^2.41.3" + "php": "^5.3.2 || ^7.0" }, "require-dev": { - "phpstan/phpstan": "^0.12.48", - "phpunit/phpunit": "^8.5", - "slevomat/coding-standard": "^6.4", - "squizlabs/php_codesniffer": "^3.5" + "phpunit/phpunit": "^4.5 || ^5.0.5" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, "autoload": { "psr-4": { - "Cylab\\Mark\\": "src/" + "Composer\\Semver\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -212,79 +277,115 @@ ], "authors": [ { - "name": "Thibault Debatty", - "email": "thibault.debatty@gmail.com" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "A PHP client for the MARK framework", - "time": "2020-11-17T13:55:17+00:00" + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "time": "2020-09-27T13:13:07+00:00" }, { - "name": "dnoegel/php-xdg-base-dir", - "version": "v0.1.1", + "name": "composer/spdx-licenses", + "version": "1.5.4", "source": { "type": "git", - "url": "https://github.com/dnoegel/php-xdg-base-dir.git", - "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "6946f785871e2314c60b4524851f3702ea4f2223" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", - "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/6946f785871e2314c60b4524851f3702ea4f2223", + "reference": "6946f785871e2314c60b4524851f3702ea4f2223", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 7" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, "autoload": { "psr-4": { - "XdgBaseDir\\": "src/" + "Composer\\Spdx\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "implementation of xdg base directory specification for php", - "time": "2019-12-04T15:06:13+00:00" + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "SPDX licenses list and validation library.", + "keywords": [ + "license", + "spdx", + "validator" + ], + "time": "2020-07-15T15:35:07+00:00" }, { - "name": "doctrine/inflector", - "version": "2.0.3", + "name": "composer/xdebug-handler", + "version": "1.4.3", "source": { "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "ebd27a9866ae8254e873866f795491f02418c5a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ebd27a9866ae8254e873866f795491f02418c5a5", + "reference": "ebd27a9866ae8254e873866f795491f02418c5a5", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": "^5.3.2 || ^7.0 || ^8.0", + "psr/log": "^1.0" }, "require-dev": { - "doctrine/coding-standard": "^7.0", - "phpstan/phpstan": "^0.11", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-strict-rules": "^0.11", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, "autoload": { "psr-4": { - "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + "Composer\\XdebugHandler\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -293,7 +394,207 @@ ], "authors": [ { - "name": "Guilherme Blanco", + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "time": "2020-08-19T10:27:58+00:00" + }, + { + "name": "cylab-be/php-roc", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://gitlab.cylab.be/cylab/php-roc", + "reference": "4e2b7fbd7012a7b317f42380c6b62f5f040b8a84" + }, + "require-dev": { + "nunomaduro/phpinsights": "^1.0", + "phpstan/phpstan": "^0.12.5", + "phpunit/phpunit": "^7.4", + "squizlabs/php_codesniffer": "^3.3" + }, + "default-branch": true, + "type": "library", + "autoload": { + "psr-4": { + "Cylab\\ROC\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Thibault Debatty", + "email": "thibault.debatty@gmail.com" + }, + { + "name": "Alexandre Croix", + "email": "croix.alexandre@gmail.com" + } + ], + "time": "2020-11-24T17:49:41+00:00" + }, + { + "name": "cylab-be/wowa-training", + "version": "0.0.2", + "source": { + "type": "git", + "url": "https://gitlab.cylab.be/cylab/wowa-training.git", + "reference": "4d2a9b4c4cc790d3ef218e4ee458afd95baea5c7" + }, + "require": { + "cylab-be/php-roc": "dev-master", + "psr/log": "^1.0", + "webd/aggregation": "*" + }, + "require-dev": { + "monolog/monolog": "^1.23", + "phpstan/phpstan": "^0.12.5", + "phpunit/phpunit": "^7", + "squizlabs/php_codesniffer": "^3.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "RUCD\\Training\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Thibault Debatty", + "email": "thibault.debatty@gmail.com" + }, + { + "name": "Alexandre Croix", + "email": "alexandre.croix@rma.ac.be" + } + ], + "time": "2020-02-27T09:10:37+00:00" + }, + { + "name": "cylab/mark-php-client", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://gitlab.cylab.be/cylab/mark-php-client.git", + "reference": "aed2f3818d1c5b85da26eeabbcb787cd5bea9400" + }, + "require": { + "fguillot/json-rpc": "^1.2", + "nesbot/carbon": "^2.41.3" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.48", + "phpunit/phpunit": "^8.5", + "slevomat/coding-standard": "^6.4", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cylab\\Mark\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Thibault Debatty", + "email": "thibault.debatty@gmail.com" + } + ], + "description": "A PHP client for the MARK framework", + "time": "2020-11-17T13:55:17+00:00" + }, + { + "name": "dnoegel/php-xdg-base-dir", + "version": "v0.1.1", + "source": { + "type": "git", + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "time": "2019-12-04T15:06:13+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^7.0", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-strict-rules": "^0.11", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com" }, { @@ -853,60 +1154,126 @@ "time": "2020-09-30T07:37:11+00:00" }, { - "name": "laravel/framework", - "version": "v7.28.4", + "name": "justinrainbow/json-schema", + "version": "5.2.10", "source": { "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "de187e9200948bab6975167e480950abcd5efdac" + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/de187e9200948bab6975167e480950abcd5efdac", - "reference": "de187e9200948bab6975167e480950abcd5efdac", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", + "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", "shasum": "" }, "require": { - "doctrine/inflector": "^1.4|^2.0", - "dragonmantank/cron-expression": "^2.0", - "egulias/email-validator": "^2.1.10", - "ext-json": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "league/commonmark": "^1.3", - "league/flysystem": "^1.0.34", - "monolog/monolog": "^2.0", - "nesbot/carbon": "^2.17", - "opis/closure": "^3.1", - "php": "^7.2.5", - "psr/container": "^1.0", - "psr/simple-cache": "^1.0", - "ramsey/uuid": "^3.7|^4.0", - "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^5.0", - "symfony/error-handler": "^5.0", - "symfony/finder": "^5.0", - "symfony/http-foundation": "^5.0", - "symfony/http-kernel": "^5.0", - "symfony/mime": "^5.0", - "symfony/polyfill-php73": "^1.17", - "symfony/process": "^5.0", - "symfony/routing": "^5.0", - "symfony/var-dumper": "^5.0", - "tijsverkoyen/css-to-inline-styles": "^2.2.2", - "vlucas/phpdotenv": "^4.0", - "voku/portable-ascii": "^1.4.8" - }, - "conflict": { - "tightenco/collect": "<5.5.33" + "php": ">=5.3.3" }, - "provide": { - "psr/container-implementation": "1.0" + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" }, - "replace": { - "illuminate/auth": "self.version", - "illuminate/broadcasting": "self.version", - "illuminate/bus": "self.version", + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "time": "2020-05-27T16:41:55+00:00" + }, + { + "name": "laravel/framework", + "version": "v7.28.4", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "de187e9200948bab6975167e480950abcd5efdac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/de187e9200948bab6975167e480950abcd5efdac", + "reference": "de187e9200948bab6975167e480950abcd5efdac", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^1.4|^2.0", + "dragonmantank/cron-expression": "^2.0", + "egulias/email-validator": "^2.1.10", + "ext-json": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "league/commonmark": "^1.3", + "league/flysystem": "^1.0.34", + "monolog/monolog": "^2.0", + "nesbot/carbon": "^2.17", + "opis/closure": "^3.1", + "php": "^7.2.5", + "psr/container": "^1.0", + "psr/simple-cache": "^1.0", + "ramsey/uuid": "^3.7|^4.0", + "swiftmailer/swiftmailer": "^6.0", + "symfony/console": "^5.0", + "symfony/error-handler": "^5.0", + "symfony/finder": "^5.0", + "symfony/http-foundation": "^5.0", + "symfony/http-kernel": "^5.0", + "symfony/mime": "^5.0", + "symfony/polyfill-php73": "^1.17", + "symfony/process": "^5.0", + "symfony/routing": "^5.0", + "symfony/var-dumper": "^5.0", + "tijsverkoyen/css-to-inline-styles": "^2.2.2", + "vlucas/phpdotenv": "^4.0", + "voku/portable-ascii": "^1.4.8" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "provide": { + "psr/container-implementation": "1.0" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", "illuminate/cache": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", @@ -2193,6 +2560,99 @@ ], "time": "2020-08-18T17:17:46+00:00" }, + { + "name": "seld/jsonlint", + "version": "1.8.2", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "590cfec960b77fd55e39b7d9246659e95dd6d337" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/590cfec960b77fd55e39b7d9246659e95dd6d337", + "reference": "590cfec960b77fd55e39b7d9246659e95dd6d337", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "time": "2020-08-25T06:56:57+00:00" + }, + { + "name": "seld/phar-utils", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "8674b1d84ffb47cc59a101f5d5a3b61e87d23796" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/8674b1d84ffb47cc59a101f5d5a3b61e87d23796", + "reference": "8674b1d84ffb47cc59a101f5d5a3b61e87d23796", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phar" + ], + "time": "2020-07-07T18:42:57+00:00" + }, { "name": "swiftmailer/swiftmailer", "version": "v6.2.3", @@ -2629,6 +3089,56 @@ ], "time": "2020-09-07T11:33:47+00:00" }, + { + "name": "symfony/filesystem", + "version": "v5.1.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "1a8697545a8d87b9f2f6b1d32414199cc5e20aae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/1a8697545a8d87b9f2f6b1d32414199cc5e20aae", + "reference": "1a8697545a8d87b9f2f6b1d32414199cc5e20aae", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-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": "2020-09-27T14:02:37+00:00" + }, { "name": "symfony/finder", "version": "v5.1.7", @@ -4072,330 +4582,49 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony mechanism for exploring and dumping PHP variables", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "time": "2020-09-18T14:27:32+00:00" - }, - { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.3", - "source": { - "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" - } - ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "time": "2020-07-13T06:12:54+00:00" - }, - { - "name": "vlucas/phpdotenv", - "version": "v4.1.8", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "572af79d913627a9d70374d27a6f5d689a35de32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/572af79d913627a9d70374d27a6f5d689a35de32", - "reference": "572af79d913627a9d70374d27a6f5d689a35de32", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", - "phpoption/phpoption": "^1.7.3", - "symfony/polyfill-ctype": "^1.17" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "ext-filter": "*", - "ext-pcre": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0" - }, - "suggest": { - "ext-filter": "Required to use the boolean validator.", - "ext-pcre": "Required to use most of the library." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "homepage": "https://gjcampbell.co.uk/" - }, - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://vancelucas.com/" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "time": "2020-07-14T19:22:52+00:00" - }, - { - "name": "voku/portable-ascii", - "version": "1.5.3", - "source": { - "type": "git", - "url": "https://github.com/voku/portable-ascii.git", - "reference": "25bcbf01678930251fd572891447d9e318a6e2b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/25bcbf01678930251fd572891447d9e318a6e2b8", - "reference": "25bcbf01678930251fd572891447d9e318a6e2b8", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0" - }, - "suggest": { - "ext-intl": "Use Intl for transliterator_transliterate() support" - }, - "type": "library", - "autoload": { - "psr-4": { - "voku\\": "src/voku/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" - } - ], - "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", - "homepage": "https://github.com/voku/portable-ascii", - "keywords": [ - "ascii", - "clean", - "php" - ], - "time": "2020-07-22T23:32:04+00:00" - }, - { - "name": "webd/aggregation", - "version": "0.0.2", - "source": { - "type": "git", - "url": "https://github.com/tdebatty/php-aggregation-operators.git", - "reference": "652b8105df127f7f151ce9c551ca13e81f54f088" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tdebatty/php-aggregation-operators/zipball/652b8105df127f7f151ce9c551ca13e81f54f088", - "reference": "652b8105df127f7f151ce9c551ca13e81f54f088", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "^7.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Aggregation\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Aggregation functions", - "support": { - "issues": "https://github.com/tdebatty/php-aggregation-operators/issues", - "source": "https://github.com/tdebatty/php-aggregation-operators/tree/master" - }, - "time": "2018-08-02T08:47:56+00:00" - } - ], - "packages-dev": [ - { - "name": "barryvdh/laravel-debugbar", - "version": "v3.5.1", - "source": { - "type": "git", - "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "233c10688f4c1a6e66ed2ef123038b1363d1bedc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/233c10688f4c1a6e66ed2ef123038b1363d1bedc", - "reference": "233c10688f4c1a6e66ed2ef123038b1363d1bedc", - "shasum": "" - }, - "require": { - "illuminate/routing": "^6|^7|^8", - "illuminate/session": "^6|^7|^8", - "illuminate/support": "^6|^7|^8", - "maximebf/debugbar": "^1.16.3", - "php": ">=7.2", - "symfony/debug": "^4.3|^5", - "symfony/finder": "^4.3|^5" - }, - "require-dev": { - "orchestra/testbench-dusk": "^4|^5|^6", - "phpunit/phpunit": "^8.5|^9.0", - "squizlabs/php_codesniffer": "^3.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - }, - "laravel": { - "providers": [ - "Barryvdh\\Debugbar\\ServiceProvider" - ], - "aliases": { - "Debugbar": "Barryvdh\\Debugbar\\Facade" - } - } - }, - "autoload": { - "psr-4": { - "Barryvdh\\Debugbar\\": "src/" - }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" - } - ], - "description": "PHP Debugbar integration for Laravel", + "description": "Symfony mechanism for exploring and dumping PHP variables", + "homepage": "https://symfony.com", "keywords": [ "debug", - "debugbar", - "laravel", - "profiler", - "webprofiler" + "dump" ], - "time": "2020-09-07T19:32:39+00:00" + "time": "2020-09-18T14:27:32+00:00" }, { - "name": "barryvdh/laravel-ide-helper", - "version": "v2.8.1", + "name": "tdebatty/laravel-resource-generator", + "version": "6.1.0", "source": { "type": "git", - "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "affa55122f83575888d4ebf1728992686e8223de" + "url": "https://github.com/tdebatty/laravel-resource-generator.git", + "reference": "2316180b0bd5bda67537025dd8e07173790af233" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/affa55122f83575888d4ebf1728992686e8223de", - "reference": "affa55122f83575888d4ebf1728992686e8223de", + "url": "https://api.github.com/repos/tdebatty/laravel-resource-generator/zipball/2316180b0bd5bda67537025dd8e07173790af233", + "reference": "2316180b0bd5bda67537025dd8e07173790af233", "shasum": "" }, "require": { - "barryvdh/reflection-docblock": "^2.0.6", - "composer/composer": "^1.6 || ^2.0@dev", - "doctrine/dbal": "~2.3", - "ext-json": "*", - "illuminate/console": "^6 || ^7 || ^8", - "illuminate/filesystem": "^6 || ^7 || ^8", - "illuminate/support": "^6 || ^7 || ^8", - "php": ">=7.2", - "phpdocumentor/type-resolver": "^1.1.0" + "composer/composer": "^1.6", + "illuminate/console": "^6.1 || ^7.0", + "illuminate/filesystem": "^6.1 || ^7.0", + "illuminate/support": "^6.1 || ^7.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2", - "illuminate/config": "^6 || ^7 || ^8", - "illuminate/view": "^6 || ^7 || ^8", - "mockery/mockery": "^1.3", - "orchestra/testbench": "^4 || ^5 || ^6", - "phpunit/phpunit": "^8.5 || ^9", - "spatie/phpunit-snapshot-assertions": "^1.4 || ^2.2 || ^3", - "vimeo/psalm": "^3.12" + "phpunit/phpunit": "^7.2", + "squizlabs/php_codesniffer": "^3.3" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - }, "laravel": { "providers": [ - "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" + "tdebatty\\LaravelResourceGenerator\\ResourceGeneratorServiceProvider" ] } }, "autoload": { "psr-4": { - "Barryvdh\\LaravelIdeHelper\\": "src" + "tdebatty\\LaravelResourceGenerator\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -4404,182 +4633,157 @@ ], "authors": [ { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" + "name": "Thibault Debatty", + "email": "thibault.debatty@gmail.com" } ], - "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", - "keywords": [ - "autocomplete", - "codeintel", - "helper", - "ide", - "laravel", - "netbeans", - "phpdoc", - "phpstorm", - "sublime" - ], - "time": "2020-09-07T07:36:37+00:00" + "description": "Source code generator for laravel resources", + "support": { + "issues": "https://github.com/tdebatty/laravel-resource-generator/issues", + "source": "https://github.com/tdebatty/laravel-resource-generator/tree/master" + }, + "time": "2020-04-22T11:40:16+00:00" }, { - "name": "barryvdh/reflection-docblock", - "version": "v2.0.6", + "name": "tijsverkoyen/css-to-inline-styles", + "version": "2.2.3", "source": { "type": "git", - "url": "https://github.com/barryvdh/ReflectionDocBlock.git", - "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16" + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/6b69015d83d3daf9004a71a89f26e27d27ef6a16", - "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", + "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", "shasum": "" }, "require": { - "php": ">=5.3.3" + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" }, "require-dev": { - "phpunit/phpunit": "~4.0,<4.5" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.2.x-dev" } }, "autoload": { - "psr-0": { - "Barryvdh": [ - "src/" - ] + "psr-4": { + "TijsVerkoyen\\CssToInlineStyles\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" } ], - "time": "2018-12-13T10:34:14+00:00" + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "time": "2020-07-13T06:12:54+00:00" }, { - "name": "composer/ca-bundle", - "version": "1.2.8", + "name": "vlucas/phpdotenv", + "version": "v4.1.8", "source": { "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "8a7ecad675253e4654ea05505233285377405215" + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "572af79d913627a9d70374d27a6f5d689a35de32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8a7ecad675253e4654ea05505233285377405215", - "reference": "8a7ecad675253e4654ea05505233285377405215", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/572af79d913627a9d70374d27a6f5d689a35de32", + "reference": "572af79d913627a9d70374d27a6f5d689a35de32", "shasum": "" }, "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" + "php": "^5.5.9 || ^7.0 || ^8.0", + "phpoption/phpoption": "^1.7.3", + "symfony/polyfill-ctype": "^1.17" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8", - "psr/log": "^1.0", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" + "bamarni/composer-bin-plugin": "^1.4.1", + "ext-filter": "*", + "ext-pcre": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator.", + "ext-pcre": "Required to use most of the library." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "4.1-dev" } }, "autoload": { "psr-4": { - "Composer\\CaBundle\\": "src" + "Dotenv\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "homepage": "https://gjcampbell.co.uk/" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://vancelucas.com/" } ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" + "dotenv", + "env", + "environment" ], - "time": "2020-08-23T12:54:47+00:00" + "time": "2020-07-14T19:22:52+00:00" }, { - "name": "composer/composer", - "version": "1.10.15", + "name": "voku/portable-ascii", + "version": "1.5.3", "source": { "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "547c9ee73fe26c77af09a0ea16419176b1cdbd12" + "url": "https://github.com/voku/portable-ascii.git", + "reference": "25bcbf01678930251fd572891447d9e318a6e2b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/547c9ee73fe26c77af09a0ea16419176b1cdbd12", - "reference": "547c9ee73fe26c77af09a0ea16419176b1cdbd12", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/25bcbf01678930251fd572891447d9e318a6e2b8", + "reference": "25bcbf01678930251fd572891447d9e318a6e2b8", "shasum": "" }, "require": { - "composer/ca-bundle": "^1.0", - "composer/semver": "^1.0", - "composer/spdx-licenses": "^1.2", - "composer/xdebug-handler": "^1.1", - "justinrainbow/json-schema": "^5.2.10", - "php": "^5.3.2 || ^7.0", - "psr/log": "^1.0", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.0", - "symfony/console": "^2.7 || ^3.0 || ^4.0 || ^5.0", - "symfony/filesystem": "^2.7 || ^3.0 || ^4.0 || ^5.0", - "symfony/finder": "^2.7 || ^3.0 || ^4.0 || ^5.0", - "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0" - }, - "conflict": { - "symfony/console": "2.8.38" + "php": ">=7.0.0" }, "require-dev": { - "phpspec/prophecy": "^1.10", - "symfony/phpunit-bridge": "^4.2" + "phpunit/phpunit": "~6.0 || ~7.0" }, "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives", - "ext-zlib": "Allow gzip compression of HTTP requests" + "ext-intl": "Use Intl for transliterator_transliterate() support" }, - "bin": [ - "bin/composer" - ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, "autoload": { "psr-4": { - "Composer\\": "src/Composer" + "voku\\": "src/voku/" } }, "notification-url": "https://packagist.org/downloads/", @@ -4588,55 +4792,104 @@ ], "authors": [ { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "time": "2020-07-22T23:32:04+00:00" + }, + { + "name": "webd/aggregation", + "version": "0.0.2", + "source": { + "type": "git", + "url": "https://github.com/tdebatty/php-aggregation-operators.git", + "reference": "652b8105df127f7f151ce9c551ca13e81f54f088" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tdebatty/php-aggregation-operators/zipball/652b8105df127f7f151ce9c551ca13e81f54f088", + "reference": "652b8105df127f7f151ce9c551ca13e81f54f088", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "^7.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Aggregation\\": "src" } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", - "homepage": "https://getcomposer.org/", - "keywords": [ - "autoload", - "dependency", - "package" - ], - "time": "2020-10-13T13:59:09+00:00" - }, + "description": "Aggregation functions", + "support": { + "issues": "https://github.com/tdebatty/php-aggregation-operators/issues", + "source": "https://github.com/tdebatty/php-aggregation-operators/tree/master" + }, + "time": "2018-08-02T08:47:56+00:00" + } + ], + "packages-dev": [ { - "name": "composer/semver", - "version": "1.7.1", + "name": "barryvdh/laravel-debugbar", + "version": "v3.5.1", "source": { "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "38276325bd896f90dfcfe30029aa5db40df387a7" + "url": "https://github.com/barryvdh/laravel-debugbar.git", + "reference": "233c10688f4c1a6e66ed2ef123038b1363d1bedc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/38276325bd896f90dfcfe30029aa5db40df387a7", - "reference": "38276325bd896f90dfcfe30029aa5db40df387a7", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/233c10688f4c1a6e66ed2ef123038b1363d1bedc", + "reference": "233c10688f4c1a6e66ed2ef123038b1363d1bedc", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0" + "illuminate/routing": "^6|^7|^8", + "illuminate/session": "^6|^7|^8", + "illuminate/support": "^6|^7|^8", + "maximebf/debugbar": "^1.16.3", + "php": ">=7.2", + "symfony/debug": "^4.3|^5", + "symfony/finder": "^4.3|^5" }, "require-dev": { - "phpunit/phpunit": "^4.5 || ^5.0.5" + "orchestra/testbench-dusk": "^4|^5|^6", + "phpunit/phpunit": "^8.5|^9.0", + "squizlabs/php_codesniffer": "^3.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "3.5-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\Debugbar\\ServiceProvider" + ], + "aliases": { + "Debugbar": "Barryvdh\\Debugbar\\Facade" + } } }, "autoload": { "psr-4": { - "Composer\\Semver\\": "src" - } + "Barryvdh\\Debugbar\\": "src/" + }, + "files": [ + "src/helpers.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4644,59 +4897,69 @@ ], "authors": [ { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" } ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", + "description": "PHP Debugbar integration for Laravel", "keywords": [ - "semantic", - "semver", - "validation", - "versioning" + "debug", + "debugbar", + "laravel", + "profiler", + "webprofiler" ], - "time": "2020-09-27T13:13:07+00:00" + "time": "2020-09-07T19:32:39+00:00" }, { - "name": "composer/spdx-licenses", - "version": "1.5.4", + "name": "barryvdh/laravel-ide-helper", + "version": "v2.8.1", "source": { "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "6946f785871e2314c60b4524851f3702ea4f2223" + "url": "https://github.com/barryvdh/laravel-ide-helper.git", + "reference": "affa55122f83575888d4ebf1728992686e8223de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/6946f785871e2314c60b4524851f3702ea4f2223", - "reference": "6946f785871e2314c60b4524851f3702ea4f2223", + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/affa55122f83575888d4ebf1728992686e8223de", + "reference": "affa55122f83575888d4ebf1728992686e8223de", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" + "barryvdh/reflection-docblock": "^2.0.6", + "composer/composer": "^1.6 || ^2.0@dev", + "doctrine/dbal": "~2.3", + "ext-json": "*", + "illuminate/console": "^6 || ^7 || ^8", + "illuminate/filesystem": "^6 || ^7 || ^8", + "illuminate/support": "^6 || ^7 || ^8", + "php": ">=7.2", + "phpdocumentor/type-resolver": "^1.1.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 7" + "friendsofphp/php-cs-fixer": "^2", + "illuminate/config": "^6 || ^7 || ^8", + "illuminate/view": "^6 || ^7 || ^8", + "mockery/mockery": "^1.3", + "orchestra/testbench": "^4 || ^5 || ^6", + "phpunit/phpunit": "^8.5 || ^9", + "spatie/phpunit-snapshot-assertions": "^1.4 || ^2.2 || ^3", + "vimeo/psalm": "^3.12" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.8-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" + ] } }, "autoload": { "psr-4": { - "Composer\\Spdx\\": "src" + "Barryvdh\\LaravelIdeHelper\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -4705,54 +4968,59 @@ ], "authors": [ { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" } ], - "description": "SPDX licenses list and validation library.", + "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", "keywords": [ - "license", - "spdx", - "validator" + "autocomplete", + "codeintel", + "helper", + "ide", + "laravel", + "netbeans", + "phpdoc", + "phpstorm", + "sublime" ], - "time": "2020-07-15T15:35:07+00:00" + "time": "2020-09-07T07:36:37+00:00" }, { - "name": "composer/xdebug-handler", - "version": "1.4.3", + "name": "barryvdh/reflection-docblock", + "version": "v2.0.6", "source": { "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ebd27a9866ae8254e873866f795491f02418c5a5" + "url": "https://github.com/barryvdh/ReflectionDocBlock.git", + "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ebd27a9866ae8254e873866f795491f02418c5a5", - "reference": "ebd27a9866ae8254e873866f795491f02418c5a5", + "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/6b69015d83d3daf9004a71a89f26e27d27ef6a16", + "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0" + "php": ">=5.3.3" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" + "phpunit/phpunit": "~4.0,<4.5" + }, + "suggest": { + "dflydev/markdown": "~1.0", + "erusev/parsedown": "~1.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" + "psr-0": { + "Barryvdh": [ + "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -4761,16 +5029,11 @@ ], "authors": [ { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" } ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "time": "2020-08-19T10:27:58+00:00" + "time": "2018-12-13T10:34:14+00:00" }, { "name": "doctrine/cache", @@ -5369,117 +5632,51 @@ "time": "2019-12-12T13:22:17+00:00" }, { - "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", - "source": { - "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "shasum": "" - }, - "require": { - "php": "^5.3|^7.0|^8.0" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" - }, - "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "classmap": [ - "hamcrest" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" - ], - "time": "2020-07-09T08:09:16+00:00" - }, - { - "name": "justinrainbow/json-schema", - "version": "5.2.10", + "name": "hamcrest/hamcrest-php", + "version": "v2.0.1", "source": { "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b" + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", - "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^5.3|^7.0|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" }, "require-dev": { - "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", - "json-schema/json-schema-test-suite": "1.2.0", - "phpunit/phpunit": "^4.8.35" + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" }, - "bin": [ - "bin/validate-json" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0.x-dev" + "dev-master": "2.1-dev" } }, "autoload": { - "psr-4": { - "JsonSchema\\": "src/JsonSchema/" - } + "classmap": [ + "hamcrest" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" - } + "BSD-3-Clause" ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", + "description": "This is the PHP port of Hamcrest Matchers", "keywords": [ - "json", - "schema" + "test" ], - "time": "2020-05-27T16:41:55+00:00" + "time": "2020-07-09T08:09:16+00:00" }, { "name": "maximebf/debugbar", @@ -7056,99 +7253,6 @@ "homepage": "https://github.com/sebastianbergmann/version", "time": "2016-10-03T07:35:21+00:00" }, - { - "name": "seld/jsonlint", - "version": "1.8.2", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "590cfec960b77fd55e39b7d9246659e95dd6d337" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/590cfec960b77fd55e39b7d9246659e95dd6d337", - "reference": "590cfec960b77fd55e39b7d9246659e95dd6d337", - "shasum": "" - }, - "require": { - "php": "^5.3 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "bin": [ - "bin/jsonlint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "JSON Linter", - "keywords": [ - "json", - "linter", - "parser", - "validator" - ], - "time": "2020-08-25T06:56:57+00:00" - }, - { - "name": "seld/phar-utils", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "8674b1d84ffb47cc59a101f5d5a3b61e87d23796" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/8674b1d84ffb47cc59a101f5d5a3b61e87d23796", - "reference": "8674b1d84ffb47cc59a101f5d5a3b61e87d23796", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\PharUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "PHAR file format utilities, for when PHP phars you up", - "keywords": [ - "phar" - ], - "time": "2020-07-07T18:42:57+00:00" - }, { "name": "squizlabs/php_codesniffer", "version": "3.5.6", @@ -7257,106 +7361,6 @@ "homepage": "https://symfony.com", "time": "2020-09-09T05:20:36+00:00" }, - { - "name": "symfony/filesystem", - "version": "v5.1.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "1a8697545a8d87b9f2f6b1d32414199cc5e20aae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/1a8697545a8d87b9f2f6b1d32414199cc5e20aae", - "reference": "1a8697545a8d87b9f2f6b1d32414199cc5e20aae", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-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": "2020-09-27T14:02:37+00:00" - }, - { - "name": "tdebatty/laravel-resource-generator", - "version": "6.1.0", - "source": { - "type": "git", - "url": "https://github.com/tdebatty/laravel-resource-generator.git", - "reference": "2316180b0bd5bda67537025dd8e07173790af233" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tdebatty/laravel-resource-generator/zipball/2316180b0bd5bda67537025dd8e07173790af233", - "reference": "2316180b0bd5bda67537025dd8e07173790af233", - "shasum": "" - }, - "require": { - "composer/composer": "^1.6", - "illuminate/console": "^6.1 || ^7.0", - "illuminate/filesystem": "^6.1 || ^7.0", - "illuminate/support": "^6.1 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.2", - "squizlabs/php_codesniffer": "^3.3" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "tdebatty\\LaravelResourceGenerator\\ResourceGeneratorServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "tdebatty\\LaravelResourceGenerator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Thibault Debatty", - "email": "thibault.debatty@gmail.com" - } - ], - "description": "Source code generator for laravel resources", - "time": "2020-04-22T11:40:16+00:00" - }, { "name": "theseer/tokenizer", "version": "1.2.0", diff --git a/database/migrations/2021_01_05_165631_create_wowas_table.php b/database/migrations/2021_01_05_165631_create_wowas_table.php new file mode 100644 index 0000000..876cfa0 --- /dev/null +++ b/database/migrations/2021_01_05_165631_create_wowas_table.php @@ -0,0 +1,37 @@ +<?php + +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; + +class CreateWowasTable extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::create('wowas', function (Blueprint $table) { + $table->id(); + $table->integer("user_id"); + $table->text("status"); + $table->timestamps(); + $table->integer("start_time"); + $table->integer("end_time"); + $table->text("w_weights"); + $table->text("p_weights"); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('wowas'); + } +} diff --git a/database/migrations/2021_01_06_143557_nullable_several_columns.php b/database/migrations/2021_01_06_143557_nullable_several_columns.php new file mode 100644 index 0000000..09ebb88 --- /dev/null +++ b/database/migrations/2021_01_06_143557_nullable_several_columns.php @@ -0,0 +1,35 @@ +<?php + +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; + +class NullableSeveralColumns extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::table('wowas', function (Blueprint $table) { + $table->integer('start_time')->nullable()->change(); + $table->integer('end_time')->nullable()->change(); + $table->text('w_weights')->nullable()->change(); + $table->text('p_weights')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('wowas', function (Blueprint $table) { + // + }); + } +} diff --git a/resources/views/feedback/index.blade.php b/resources/views/feedback/index.blade.php index d2a3c8b..fdb5165 100644 --- a/resources/views/feedback/index.blade.php +++ b/resources/views/feedback/index.blade.php @@ -6,7 +6,7 @@ <div class="container"> <h1>Feedback</h1> <p> - <a href="{{action('FeedbackController@compute')}}" class="btn btn-outline-danger"> + <a href="{{action('WowaController@create')}}" class="btn btn-outline-danger"> <i class="fas fa-calculator"></i> Compute Wowa Weights </a> </p> diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 5e8e943..a905b5c 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -48,6 +48,7 @@ <div class="dropdown-menu dropdown-menu-left" aria-labelledby="navbarAdminDropdown"> <a class="nav-link" href="{{ action('UserController@index') }}">Users</a> <a class="nav-link" href="{{ action('FeedbackController@index') }}">Feedback</a> + <a class="nav-link" href="{{ action('WowaController@index') }}">Training</a> </div> </li> @endif diff --git a/resources/views/wowa/edit.blade.php b/resources/views/wowa/edit.blade.php new file mode 100644 index 0000000..256b63e --- /dev/null +++ b/resources/views/wowa/edit.blade.php @@ -0,0 +1,50 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row justify-content-center"> + <div class="col-md-8"> + <div class="card"> + <div class="card-header">Wowa</div> + + <div class="card-body"> + @if (!$wowa->exists) + <form method="POST" action="{{ action("WowaController@store") }}"> + @else + <form method="POST" + action="{{ action("WowaController@update", ["wowa" => $wowa]) }}"> + {{ method_field("PUT") }} + @endif + {{ csrf_field() }} + + <div class="form-group row"> + <label for="name" class="col-md-4 col-form-label text-md-right">Name</label> + + <div class="col-md-6"> + <input id="name" type="text" + class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}" + name="name" + value="{{ old('name', $wowa->name) }}" required autofocus> + + @if ($errors->has('name')) + <span class="invalid-feedback"> + <strong>{{ $errors->first('name') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <div class="col-md-6 offset-md-4"> + <button type="submit" class="btn btn-primary"> + Save + </button> + </div> + </div> + </form> + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/resources/views/wowa/index.blade.php b/resources/views/wowa/index.blade.php new file mode 100644 index 0000000..5cf557c --- /dev/null +++ b/resources/views/wowa/index.blade.php @@ -0,0 +1,42 @@ +@extends('layouts.app') + +@section('title', 'Wowas') + +@section('content') +<div class="container"> + <h1>Wowas</h1> + + <table class="table table-striped"> + <tr> + <th>Id</th> + <th></th> + </tr> + @foreach($wowas as $wowa) + <tr> + <td>{{ $wowa->id }}</td> + <td class="text-right"> + <a class="btn btn-primary btn-sm" + href="{{ action('WowaController@show', ['wowa' => $wowa]) }}"> + Show + </a> + + <a class="btn btn-primary btn-sm" + href="{{ action('WowaController@edit', ['wowa' => $wowa]) }}"> + Edit + </a> + + <form method="POST" + action="{{ action('WowaController@destroy', ['wowa' => $wowa]) }}" + style="display: inline-block"> + {{ csrf_field() }} + {{ method_field("DELETE") }} + <button class="btn btn-danger btn-sm"> + Delete + </button> + </form> + </td> + </tr> + @endforeach + </table> +</div> +@endsection diff --git a/resources/views/wowa/show.blade.php b/resources/views/wowa/show.blade.php new file mode 100644 index 0000000..f92d16a --- /dev/null +++ b/resources/views/wowa/show.blade.php @@ -0,0 +1,34 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row justify-content-center"> + <div class="col-md-8"> + <div class="card"> + <div class="card-header">{{ $wowa->name }}</div> + + <div class="card-body"> + <p>Name: {{ $wowa->name }}</p> + + <div> + <a class="btn btn-primary" + href="{{ action('WowaController@edit', ['wowa' => $wowa]) }}"> + Edit + </a> + + <form method="POST" + action="{{ action('WowaController@destroy', ['wowa' => $wowa]) }}" + style="display: inline-block"> + {{ csrf_field() }} + {{ method_field("DELETE") }} + <button class="btn btn-danger"> + Delete + </button> + </form> + </div> + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/routes/web.php b/routes/web.php index c9b0053..a95d51c 100644 --- a/routes/web.php +++ b/routes/web.php @@ -56,4 +56,6 @@ Route::prefix('admin') Route::get('users/{user}/toggle', 'UserController@toggleAdmin'); Route::resource('feedback', 'FeedbackController'); Route::get('compute', 'FeedbackController@compute'); + Route::resource('wowas', 'WowaController'); }); + -- GitLab