diff --git a/app/Enums/Planning/CellModel.php b/app/Enums/Planning/CellModel.php
new file mode 100644
index 0000000..0d800ee
--- /dev/null
+++ b/app/Enums/Planning/CellModel.php
@@ -0,0 +1,40 @@
+ (new Ticket())->getTable(),
+ 'site' => (new Site())->getTable(),
+ 'project' => (new Project())->getTable(),
+ ];
+ }
+
+ protected static function labels(): array
+ {
+ return [
+ 'ticket' => trans('Ticket'),
+ 'site' => trans('Site'),
+ 'project' => trans('Projet')
+ ];
+ }
+}
diff --git a/app/Enums/Planning/CellType.php b/app/Enums/Planning/CellType.php
new file mode 100644
index 0000000..0059847
--- /dev/null
+++ b/app/Enums/Planning/CellType.php
@@ -0,0 +1,43 @@
+ '#c6e0b4',
+ 'rnd' => '#b4c6e7',
+ 'dev' => '#00b0f0',
+ 'projects' => '#ffe699',
+ 'management' => '#f4b084',
+ 'absence' => '#aeaaaa'
+ ];
+ }
+
+ protected static function labels(): array
+ {
+ return [
+ 'support' => trans('Support'),
+ 'rnd' => trans('R&D'),
+ 'dev' => trans('Développement/Facturable'),
+ 'projects' => trans('Projets & Réunions'),
+ 'management' => trans('Organisation management'),
+ 'absence' => trans('Absence'),
+ ];
+ }
+}
diff --git a/app/Enums/Planning/TableRow.php b/app/Enums/Planning/TableRow.php
new file mode 100644
index 0000000..1cca988
--- /dev/null
+++ b/app/Enums/Planning/TableRow.php
@@ -0,0 +1,36 @@
+ 1,
+ 'matin2' => 2,
+ 'apresmidi1' => 3,
+ 'apresmidi2' => 4,
+ ];
+ }
+
+ protected static function labels(): array
+ {
+ return [
+ 'matin1' => trans('Matin 1'),
+ 'matin2' => trans('Matin 2'),
+ 'apresmidi1' => trans('Après-midi 1'),
+ 'apresmidi2' => trans('Après-midi 2')
+ ];
+ }
+}
diff --git a/app/Http/Controllers/PlanningController.php b/app/Http/Controllers/PlanningController.php
new file mode 100644
index 0000000..7b439c3
--- /dev/null
+++ b/app/Http/Controllers/PlanningController.php
@@ -0,0 +1,65 @@
+startOfWeek();
+ if ($request->p) {
+ $date = Carbon::createFromTimestamp($request->p)->startOfWeek();
+ }
+ $userIds = User::where('role', Role::developper())->pluck('id');
+ $weeks = WeekPlanning::whereDate('start', $date)
+ ->with('user')->get();
+ foreach ($userIds as $id) {
+ // auto create missing planning for user
+ if ($date >= Carbon::now() and !$weeks->contains('user.id', $id)) {
+ $wp = new WeekPlanning([
+ 'start' => $date,
+ 'planning' => WeekPlanning::getWeekBlock($date),
+ 'user_id' => $id
+ ]);
+ $wp->saveOrFail();
+ $weeks->push($wp);
+ }
+ }
+ return view('planning.index', compact('weeks', 'date'));
+ }
+
+ public function setCellContent(SetCellContentRequest $request)
+ {
+ $wp = WeekPlanning::findOrFail($request->id);
+ if (!isset($wp->planning[$request->day][$request->row])) {
+ abort(422, trans('Ce jour et ce moment n\'existent pas.'));
+ }
+ $planning = $wp->planning;
+ $planning[$request->day][$request->row] =
+ array_merge(WeekPlanning::getCell(), array_intersect_key($request->all(), WeekPlanning::getCell()));
+ $wp->planning = $planning;
+ $wp->saveOrFail();
+ return \response()->json(['status' => true]);
+ }
+
+ public function eraseCellContent(EraseCellContentRequest $request)
+ {
+ $wp = WeekPlanning::findOrFail($request->id);
+ if (!isset($wp->planning[$request->day][$request->row])) {
+ abort(422, trans('Ce jour et ce moment n\'existent pas.'));
+ }
+ $planning = $wp->planning;
+ $planning[$request->day][$request->row] = WeekPlanning::getCell();
+ $wp->planning = $planning;
+ $wp->saveOrFail();
+ return \response()->json(['status' => true]);
+ }
+}
diff --git a/app/Http/Controllers/ProjectController.php b/app/Http/Controllers/ProjectController.php
index 9966c8e..483a579 100644
--- a/app/Http/Controllers/ProjectController.php
+++ b/app/Http/Controllers/ProjectController.php
@@ -3,6 +3,8 @@
namespace App\Http\Controllers;
use App\Models\Project;
+use Illuminate\Http\JsonResponse;
+use Illuminate\Http\Request;
use Kwaadpepper\CrudPolicies\Http\Requests\CrudIndexRequest;
use Kwaadpepper\CrudPolicies\Traits\CrudController;
@@ -28,10 +30,13 @@ class ProjectController extends Controller
return view('projects.index', $view->getData());
}
- public function show(Project $model)
+ public function show(Request $request, Project $model)
{
/** @var \Illuminate\View\View */
- $view = $this->crudshow($model);
+ $view = $this->crudshow($request, $model);
+ if ($view instanceof JsonResponse) {
+ return $view;
+ }
return view('projects.show', $view->getData());
}
}
diff --git a/app/Http/Controllers/TicketController.php b/app/Http/Controllers/TicketController.php
index d362273..bb804f5 100644
--- a/app/Http/Controllers/TicketController.php
+++ b/app/Http/Controllers/TicketController.php
@@ -34,6 +34,32 @@ class TicketController extends Controller
public function index(SortTickets $request)
{
+ // handle ajax
+ if ($request->ajax()) {
+ $tickets = Ticket::with('user');
+ if ($request->s) {
+ $tickets = $tickets->where('text', 'LIKE', "%$request->s%")
+ ->orWhere('id', $request->s)
+ ->orWhereHas('user', function ($q) use ($request) {
+ $q->where('name', 'LIKE', "%$request->s%");
+ });
+ }
+ /** @var \Illuminate/Pagination/LengthAwarePaginator $tickets */
+ $tickets = $tickets->paginate();
+ return \response()->json($tickets->getCollection()->map(function (Ticket $ticket) {
+ return [
+ 'label' => sprintf(
+ 'Ticket %d (%s): %s',
+ $ticket->id,
+ $ticket->user->name,
+ Str::limit(\preg_replace('/[[:cntrl:]]+/', '', $ticket->text), 35)
+ ),
+ 'value' => $ticket->id
+ ];
+ }));
+ }
+
+
/** @var \App\Models\User */
$user = auth()->user();
$tickets = Ticket::with('site')->has('site');
@@ -132,8 +158,19 @@ class TicketController extends Controller
});
}
- public function show(Ticket $ticket)
+ public function show(Request $request, Ticket $ticket)
{
+ if ($request->ajax()) {
+ return \response()->json([
+ 'label' => sprintf(
+ 'Ticket %d (%s): %s',
+ $ticket->id,
+ $ticket->user->name,
+ Str::limit(\preg_replace('/[[:cntrl:]]+/', '', $ticket->text), 35)
+ ),
+ 'value' => $ticket->id
+ ]);
+ }
$messages = $ticket->messages()->orderBy('created_at', 'DESC')->get();
$isSubscribed = (bool)$ticket->subscriptions()->where('user_id', Auth::user()->id)->count();
return view('ticket.show', compact('ticket', 'messages', 'isSubscribed'));
diff --git a/app/Http/Requests/EraseCellContentRequest.php b/app/Http/Requests/EraseCellContentRequest.php
new file mode 100644
index 0000000..2e08203
--- /dev/null
+++ b/app/Http/Requests/EraseCellContentRequest.php
@@ -0,0 +1,37 @@
+check() and $this->ajax();
+ }
+
+ /**
+ * Get the validation rules that apply to the request.
+ *
+ * @return array
+ */
+ public function rules()
+ {
+ return [
+ 'id' => 'required|exists:week_plannings,id',
+ 'day' => 'required|numeric',
+ 'row' => [
+ 'required',
+ new EnumIsValidRule(TableRow::class)
+ ],
+ ];
+ }
+}
diff --git a/app/Http/Requests/SetCellContentRequest.php b/app/Http/Requests/SetCellContentRequest.php
new file mode 100644
index 0000000..da5dc61
--- /dev/null
+++ b/app/Http/Requests/SetCellContentRequest.php
@@ -0,0 +1,63 @@
+merge([
+ 'model' => $this->model ?? null,
+ 'foreign' => $this->foreign ?? null,
+ 'text' => $this->text ?? ''
+ ]);
+ return auth()->check() and $this->ajax();
+ }
+
+ /**
+ * Get the validation rules that apply to the request.
+ *
+ * @return array
+ */
+ public function rules()
+ {
+ return [
+ 'id' => 'required|exists:week_plannings,id',
+ 'day' => 'required|numeric',
+ 'row' => [
+ 'required',
+ new EnumIsValidRule(TableRow::class)
+ ],
+ 'type' => [
+ 'required',
+ new EnumIsValidRule(CellType::class)
+ ],
+ 'cellModel' => \sprintf(
+ 'nullable',
+ new EnumIsValidRule(CellModel::class)
+ ),
+ 'foreign' => 'required_with:cellModel|nullable|numeric',
+ 'text' => 'required|string|min:10|max:90'
+ ];
+ }
+
+ public function attributes()
+ {
+ return [
+ 'cellModel' => 'Type d\'élément lié',
+ 'foreign' => 'Élément lié',
+ 'text' => 'Description courte'
+ ];
+ }
+}
diff --git a/app/Models/WeekPlanning.php b/app/Models/WeekPlanning.php
new file mode 100644
index 0000000..bf8afd1
--- /dev/null
+++ b/app/Models/WeekPlanning.php
@@ -0,0 +1,61 @@
+ 'date',
+ 'planning' => 'array'
+ ];
+
+ protected $fillable = [
+ 'start', 'planning', 'user_id'
+ ];
+
+ public static function getWeekBlock(Carbon $start): array
+ {
+ $start = $start->copy();
+ $out = [];
+ $daysOfWeek = 5;
+ for ($i = 1; $i <= $daysOfWeek; $i++) {
+ $out[$start->timestamp] = [];
+ foreach (TableRow::toArray() as $tableRow) {
+ $out[$start->timestamp][$tableRow->value] = \array_replace(
+ self::getCell(),
+ [
+ 'row' => $tableRow->value
+ ]
+ );
+ }
+ $day = $start->addDay();
+ }
+ return $out;
+ }
+
+ public static function getCell(): array
+ {
+ return [
+ /** @var \App\Enums\Planning\CellType */
+ 'type' => null,
+ /** @var \App\Enums\Planning\TableRow */
+ 'row' => null,
+ 'foreign' => null,
+ /** @var \App\Enums\Planning\CellModel */
+ 'cellModel' => null,
+ 'text' => ''
+ ];
+ }
+
+ public function user()
+ {
+ return $this->belongsTo(User::class);
+ }
+}
diff --git a/composer.json b/composer.json
index 33f39a2..c1c4502 100644
--- a/composer.json
+++ b/composer.json
@@ -15,7 +15,7 @@
"fideloper/proxy": "^4.4",
"fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^7.0.1",
- "kwaadpepper/crud-policies": "^0.1.19",
+ "kwaadpepper/crud-policies": "^0.1.20",
"kwaadpepper/enum": "^2.1",
"kwaadpepper/exception-handler": "^0.0.3",
"laravel-lang/lang": "~8.0",
diff --git a/composer.lock b/composer.lock
index 72d4604..6a230a0 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": "c6cfdc6c682ed3ffca2b8da4da0b304a",
+ "content-hash": "860dfd7bc135b1a4a79652323e319ddd",
"packages": [
{
"name": "asm89/stack-cors",
@@ -41,9 +41,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Alexander",
@@ -52,10 +50,7 @@
],
"description": "Cross-origin resource sharing library and stack middleware",
"homepage": "https://github.com/asm89/stack-cors",
- "keywords": [
- "cors",
- "stack"
- ],
+ "keywords": ["cors", "stack"],
"support": {
"issues": "https://github.com/asm89/stack-cors/issues",
"source": "https://github.com/asm89/stack-cors/tree/v2.0.3"
@@ -92,9 +87,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"description": "Arbitrary-precision arithmetic library",
"keywords": [
"Arbitrary-precision",
@@ -161,9 +154,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Marco Pivetta",
@@ -236,9 +227,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Guilherme Blanco",
@@ -330,9 +319,7 @@
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
},
- "bin": [
- "bin/doctrine-dbal"
- ],
+ "bin": ["bin/doctrine-dbal"],
"type": "library",
"autoload": {
"psr-4": {
@@ -340,9 +327,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Guilherme Blanco",
@@ -435,9 +420,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
"homepage": "https://www.doctrine-project.org/",
"support": {
@@ -482,9 +465,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Guilherme Blanco",
@@ -576,9 +557,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Guilherme Blanco",
@@ -669,9 +648,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Guilherme Blanco",
@@ -688,13 +665,7 @@
],
"description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.",
"homepage": "https://www.doctrine-project.org/projects/lexer.html",
- "keywords": [
- "annotations",
- "docblock",
- "lexer",
- "parser",
- "php"
- ],
+ "keywords": ["annotations", "docblock", "lexer", "parser", "php"],
"support": {
"issues": "https://github.com/doctrine/lexer/issues",
"source": "https://github.com/doctrine/lexer/tree/1.2.1"
@@ -749,9 +720,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Chris Tankersley",
@@ -760,10 +729,7 @@
}
],
"description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
- "keywords": [
- "cron",
- "schedule"
- ],
+ "keywords": ["cron", "schedule"],
"support": {
"issues": "https://github.com/dragonmantank/cron-expression/issues",
"source": "https://github.com/dragonmantank/cron-expression/tree/v3.1.0"
@@ -815,9 +781,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Eduardo Gulias Davis"
@@ -872,9 +836,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Emanuil Rusev",
@@ -884,10 +846,7 @@
],
"description": "Parser for Markdown.",
"homepage": "http://parsedown.org",
- "keywords": [
- "markdown",
- "parser"
- ],
+ "keywords": ["markdown", "parser"],
"support": {
"issues": "https://github.com/erusev/parsedown/issues",
"source": "https://github.com/erusev/parsedown/tree/1.7.x"
@@ -919,17 +878,11 @@
"psr-0": {
"HTMLPurifier": "library/"
},
- "files": [
- "library/HTMLPurifier.composer.php"
- ],
- "exclude-from-classmap": [
- "/library/HTMLPurifier/Language/"
- ]
+ "files": ["library/HTMLPurifier.composer.php"],
+ "exclude-from-classmap": ["/library/HTMLPurifier/Language/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "LGPL-2.1-or-later"
- ],
+ "license": ["LGPL-2.1-or-later"],
"authors": [
{
"name": "Edward Z. Yang",
@@ -939,9 +892,7 @@
],
"description": "Standards compliant HTML filter written in PHP",
"homepage": "http://htmlpurifier.org/",
- "keywords": [
- "html"
- ],
+ "keywords": ["html"],
"support": {
"issues": "https://github.com/ezyang/htmlpurifier/issues",
"source": "https://github.com/ezyang/htmlpurifier/tree/master"
@@ -985,22 +936,13 @@
"psr-4": {
"Facade\\FlareClient\\": "src"
},
- "files": [
- "src/helpers.php"
- ]
+ "files": ["src/helpers.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"description": "Send PHP errors to Flare",
"homepage": "https://github.com/facade/flare-client-php",
- "keywords": [
- "exception",
- "facade",
- "flare",
- "reporting"
- ],
+ "keywords": ["exception", "facade", "flare", "reporting"],
"support": {
"issues": "https://github.com/facade/flare-client-php/issues",
"source": "https://github.com/facade/flare-client-php/tree/1.9.1"
@@ -1042,9 +984,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Freek Van der Herten",
@@ -1055,11 +995,7 @@
],
"description": "Solution contracts for Ignition",
"homepage": "https://github.com/facade/ignition-contracts",
- "keywords": [
- "contracts",
- "flare",
- "ignition"
- ],
+ "keywords": ["contracts", "flare", "ignition"],
"support": {
"issues": "https://github.com/facade/ignition-contracts/issues",
"source": "https://github.com/facade/ignition-contracts/tree/1.0.2"
@@ -1103,9 +1039,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Chris Fidao",
@@ -1113,11 +1047,7 @@
}
],
"description": "Set trusted proxies for Laravel",
- "keywords": [
- "load balancing",
- "proxy",
- "trusted proxy"
- ],
+ "keywords": ["load balancing", "proxy", "trusted proxy"],
"support": {
"issues": "https://github.com/fideloper/TrustedProxy/issues",
"source": "https://github.com/fideloper/TrustedProxy/tree/4.4.1"
@@ -1158,9 +1088,7 @@
"dev-master": "2.0-dev"
},
"laravel": {
- "providers": [
- "Fruitcake\\Cors\\CorsServiceProvider"
- ]
+ "providers": ["Fruitcake\\Cors\\CorsServiceProvider"]
}
},
"autoload": {
@@ -1169,9 +1097,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Fruitcake",
@@ -1183,12 +1109,7 @@
}
],
"description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application",
- "keywords": [
- "api",
- "cors",
- "crossdomain",
- "laravel"
- ],
+ "keywords": ["api", "cors", "crossdomain", "laravel"],
"support": {
"issues": "https://github.com/fruitcake/laravel-cors/issues",
"source": "https://github.com/fruitcake/laravel-cors/tree/v2.0.4"
@@ -1229,9 +1150,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Graham Campbell",
@@ -1308,14 +1227,10 @@
"psr-4": {
"GuzzleHttp\\": "src/"
},
- "files": [
- "src/functions_include.php"
- ]
+ "files": ["src/functions_include.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Michael Dowling",
@@ -1395,14 +1310,10 @@
"psr-4": {
"GuzzleHttp\\Promise\\": "src/"
},
- "files": [
- "src/functions_include.php"
- ]
+ "files": ["src/functions_include.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Michael Dowling",
@@ -1411,9 +1322,7 @@
}
],
"description": "Guzzle promises library",
- "keywords": [
- "promise"
- ],
+ "keywords": ["promise"],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
"source": "https://github.com/guzzle/promises/tree/1.4.1"
@@ -1464,9 +1373,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Michael Dowling",
@@ -1502,16 +1409,16 @@
},
{
"name": "kwaadpepper/crud-policies",
- "version": "0.1.19",
+ "version": "0.1.20",
"source": {
"type": "git",
"url": "https://github.com/Kwaadpepper/crud-policies.git",
- "reference": "542aff403fbe4a42722e76f5aae03d1f874b1eb2"
+ "reference": "7e73d7485236b3710933861981b319076aa823ae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Kwaadpepper/crud-policies/zipball/542aff403fbe4a42722e76f5aae03d1f874b1eb2",
- "reference": "542aff403fbe4a42722e76f5aae03d1f874b1eb2",
+ "url": "https://api.github.com/repos/Kwaadpepper/crud-policies/zipball/7e73d7485236b3710933861981b319076aa823ae",
+ "reference": "7e73d7485236b3710933861981b319076aa823ae",
"shasum": ""
},
"require": {
@@ -1540,9 +1447,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Jérémy Munsch",
@@ -1552,17 +1457,12 @@
],
"description": "Makes CRUD easy, make policies easy and everyone happy",
"homepage": "https://github.com/kwaadpepper/crud-policies",
- "keywords": [
- "Scafolding",
- "crud",
- "laravel",
- "policies"
- ],
+ "keywords": ["Scafolding", "crud", "laravel", "policies"],
"support": {
"issues": "https://github.com/Kwaadpepper/crud-policies/issues",
- "source": "https://github.com/Kwaadpepper/crud-policies/tree/0.1.19"
+ "source": "https://github.com/Kwaadpepper/crud-policies/tree/0.1.20"
},
- "time": "2021-09-21T15:10:56+00:00"
+ "time": "2021-10-02T08:53:09+00:00"
},
{
"name": "kwaadpepper/enum",
@@ -1591,9 +1491,7 @@
"type": "library",
"extra": {
"laravel": {
- "providers": [
- "Kwaadpepper\\Enum\\EnumServiceProvider"
- ]
+ "providers": ["Kwaadpepper\\Enum\\EnumServiceProvider"]
}
},
"autoload": {
@@ -1602,9 +1500,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Jérémy Munsch",
@@ -1614,10 +1510,7 @@
],
"description": "Enums to use for any project",
"homepage": "https://github.com/kwaadpepper/enum",
- "keywords": [
- "enum",
- "laravel"
- ],
+ "keywords": ["enum", "laravel"],
"support": {
"issues": "https://github.com/Kwaadpepper/enum/issues",
"source": "https://github.com/Kwaadpepper/enum/tree/2.1.1"
@@ -1661,9 +1554,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Jérémy Munsch",
@@ -1673,12 +1564,7 @@
],
"description": "Send emails when exceptions occurs",
"homepage": "https://github.com/kwaadpepper/exception-handler",
- "keywords": [
- "email",
- "exception",
- "laravel",
- "policies"
- ],
+ "keywords": ["email", "exception", "laravel", "policies"],
"support": {
"issues": "https://github.com/Kwaadpepper/exception-handler/issues",
"source": "https://github.com/Kwaadpepper/exception-handler/tree/0.0.3"
@@ -1716,9 +1602,7 @@
},
"type": "library",
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Laravel-Lang Team",
@@ -1726,12 +1610,7 @@
}
],
"description": "Languages for Laravel",
- "keywords": [
- "lang",
- "languages",
- "laravel",
- "lpm"
- ],
+ "keywords": ["lang", "languages", "laravel", "lpm"],
"support": {
"issues": "https://github.com/Laravel-Lang/lang/issues",
"source": "https://github.com/Laravel-Lang/lang"
@@ -1888,9 +1767,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Taylor Otwell",
@@ -1899,10 +1776,7 @@
],
"description": "The Laravel Framework.",
"homepage": "https://laravel.com",
- "keywords": [
- "framework",
- "laravel"
- ],
+ "keywords": ["framework", "laravel"],
"support": {
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
@@ -1943,9 +1817,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Taylor Otwell",
@@ -1957,11 +1829,7 @@
}
],
"description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.",
- "keywords": [
- "closure",
- "laravel",
- "serializable"
- ],
+ "keywords": ["closure", "laravel", "serializable"],
"support": {
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
@@ -2003,9 +1871,7 @@
"dev-master": "2.x-dev"
},
"laravel": {
- "providers": [
- "Laravel\\Tinker\\TinkerServiceProvider"
- ]
+ "providers": ["Laravel\\Tinker\\TinkerServiceProvider"]
}
},
"autoload": {
@@ -2014,9 +1880,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Taylor Otwell",
@@ -2024,12 +1888,7 @@
}
],
"description": "Powerful REPL for the Laravel framework.",
- "keywords": [
- "REPL",
- "Tinker",
- "laravel",
- "psysh"
- ],
+ "keywords": ["REPL", "Tinker", "laravel", "psysh"],
"support": {
"issues": "https://github.com/laravel/tinker/issues",
"source": "https://github.com/laravel/tinker/tree/v2.6.2"
@@ -2063,9 +1922,7 @@
"dev-master": "3.x-dev"
},
"laravel": {
- "providers": [
- "Laravel\\Ui\\UiServiceProvider"
- ]
+ "providers": ["Laravel\\Ui\\UiServiceProvider"]
}
},
"autoload": {
@@ -2075,9 +1932,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Taylor Otwell",
@@ -2085,10 +1940,7 @@
}
],
"description": "Laravel UI utilities and presets.",
- "keywords": [
- "laravel",
- "ui"
- ],
+ "keywords": ["laravel", "ui"],
"support": {
"source": "https://github.com/laravel/ui/tree/v3.3.0"
},
@@ -2128,9 +1980,7 @@
"scrutinizer/ocular": "^1.5",
"symfony/finder": "^4.2"
},
- "bin": [
- "bin/commonmark"
- ],
+ "bin": ["bin/commonmark"],
"type": "library",
"autoload": {
"psr-4": {
@@ -2138,9 +1988,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Colin O'Dell",
@@ -2248,9 +2096,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Frank de Jonge",
@@ -2319,9 +2165,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Frank de Jonge",
@@ -2378,9 +2222,7 @@
"type": "package",
"extra": {
"laravel": {
- "providers": [
- "Mews\\Purifier\\PurifierServiceProvider"
- ],
+ "providers": ["Mews\\Purifier\\PurifierServiceProvider"],
"aliases": {
"Purifier": "Mews\\Purifier\\Facades\\Purifier"
}
@@ -2390,14 +2232,10 @@
"psr-4": {
"Mews\\Purifier\\": "src/"
},
- "files": [
- "src/helpers.php"
- ]
+ "files": ["src/helpers.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Muharrem ERİN",
@@ -2492,9 +2330,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Jordi Boggiano",
@@ -2504,11 +2340,7 @@
],
"description": "Sends your logs to files, sockets, inboxes, databases and various web services",
"homepage": "https://github.com/Seldaek/monolog",
- "keywords": [
- "log",
- "logging",
- "psr-3"
- ],
+ "keywords": ["log", "logging", "psr-3"],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
"source": "https://github.com/Seldaek/monolog/tree/2.3.4"
@@ -2556,9 +2388,7 @@
"phpunit/phpunit": "^7.5.20 || ^8.5.14",
"squizlabs/php_codesniffer": "^3.4"
},
- "bin": [
- "bin/carbon"
- ],
+ "bin": ["bin/carbon"],
"type": "library",
"extra": {
"branch-alias": {
@@ -2566,14 +2396,10 @@
"dev-master": "2.x-dev"
},
"laravel": {
- "providers": [
- "Carbon\\Laravel\\ServiceProvider"
- ]
+ "providers": ["Carbon\\Laravel\\ServiceProvider"]
},
"phpstan": {
- "includes": [
- "extension.neon"
- ]
+ "includes": ["extension.neon"]
}
},
"autoload": {
@@ -2582,9 +2408,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Brian Nesbitt",
@@ -2598,11 +2422,7 @@
],
"description": "An API extension for DateTime that supports 281 different languages.",
"homepage": "https://carbon.nesbot.com",
- "keywords": [
- "date",
- "datetime",
- "time"
- ],
+ "keywords": ["date", "datetime", "time"],
"support": {
"issues": "https://github.com/briannesbitt/Carbon/issues",
"source": "https://github.com/briannesbitt/Carbon"
@@ -2641,9 +2461,7 @@
"ircmaxell/php-yacc": "^0.0.7",
"phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
},
- "bin": [
- "bin/php-parse"
- ],
+ "bin": ["bin/php-parse"],
"type": "library",
"extra": {
"branch-alias": {
@@ -2656,19 +2474,14 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Nikita Popov"
}
],
"description": "A PHP parser written in PHP",
- "keywords": [
- "parser",
- "php"
- ],
+ "keywords": ["parser", "php"],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.13.0"
@@ -2706,14 +2519,10 @@
"psr-4": {
"Opis\\Closure\\": "src/"
},
- "files": [
- "functions.php"
- ]
+ "files": ["functions.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Marius Sarca",
@@ -2773,9 +2582,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "Apache-2.0"
- ],
+ "license": ["Apache-2.0"],
"authors": [
{
"name": "Johannes M. Schmitt",
@@ -2787,12 +2594,7 @@
}
],
"description": "Option Type for PHP",
- "keywords": [
- "language",
- "option",
- "php",
- "type"
- ],
+ "keywords": ["language", "option", "php", "type"],
"support": {
"issues": "https://github.com/schmittjoh/php-option/issues",
"source": "https://github.com/schmittjoh/php-option/tree/1.8.0"
@@ -2833,9 +2635,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "PHP-FIG",
@@ -2886,9 +2686,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "PHP-FIG",
@@ -2896,11 +2694,7 @@
}
],
"description": "Standard interfaces for event handling.",
- "keywords": [
- "events",
- "psr",
- "psr-14"
- ],
+ "keywords": ["events", "psr", "psr-14"],
"support": {
"issues": "https://github.com/php-fig/event-dispatcher/issues",
"source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
@@ -2937,9 +2731,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "PHP-FIG",
@@ -2948,12 +2740,7 @@
],
"description": "Common interface for HTTP clients",
"homepage": "https://github.com/php-fig/http-client",
- "keywords": [
- "http",
- "http-client",
- "psr",
- "psr-18"
- ],
+ "keywords": ["http", "http-client", "psr", "psr-18"],
"support": {
"source": "https://github.com/php-fig/http-client/tree/master"
},
@@ -2989,9 +2776,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "PHP-FIG",
@@ -3043,9 +2828,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "PHP-FIG",
@@ -3096,9 +2879,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "PHP-FIG",
@@ -3107,11 +2888,7 @@
],
"description": "Common interface for logging libraries",
"homepage": "https://github.com/php-fig/log",
- "keywords": [
- "log",
- "psr",
- "psr-3"
- ],
+ "keywords": ["log", "psr", "psr-3"],
"support": {
"source": "https://github.com/php-fig/log/tree/1.1.4"
},
@@ -3146,9 +2923,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "PHP-FIG",
@@ -3156,13 +2931,7 @@
}
],
"description": "Common interfaces for simple caching",
- "keywords": [
- "cache",
- "caching",
- "psr",
- "psr-16",
- "simple-cache"
- ],
+ "keywords": ["cache", "caching", "psr", "psr-16", "simple-cache"],
"support": {
"source": "https://github.com/php-fig/simple-cache/tree/master"
},
@@ -3201,9 +2970,7 @@
"ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.",
"hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit."
},
- "bin": [
- "bin/psysh"
- ],
+ "bin": ["bin/psysh"],
"type": "library",
"extra": {
"branch-alias": {
@@ -3211,17 +2978,13 @@
}
},
"autoload": {
- "files": [
- "src/functions.php"
- ],
+ "files": ["src/functions.php"],
"psr-4": {
"Psy\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Justin Hileman",
@@ -3231,12 +2994,7 @@
],
"description": "An interactive shell for modern PHP.",
"homepage": "http://psysh.org",
- "keywords": [
- "REPL",
- "console",
- "interactive",
- "shell"
- ],
+ "keywords": ["REPL", "console", "interactive", "shell"],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
"source": "https://github.com/bobthecow/psysh/tree/v0.10.8"
@@ -3266,14 +3024,10 @@
},
"type": "library",
"autoload": {
- "files": [
- "src/getallheaders.php"
- ]
+ "files": ["src/getallheaders.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Ralph Khattar",
@@ -3331,9 +3085,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Ben Ramsey",
@@ -3342,14 +3094,7 @@
}
],
"description": "A PHP library for representing and manipulating collections.",
- "keywords": [
- "array",
- "collection",
- "hash",
- "map",
- "queue",
- "set"
- ],
+ "keywords": ["array", "collection", "hash", "map", "queue", "set"],
"support": {
"issues": "https://github.com/ramsey/collection/issues",
"source": "https://github.com/ramsey/collection/tree/1.2.1"
@@ -3434,20 +3179,12 @@
"psr-4": {
"Ramsey\\Uuid\\": "src/"
},
- "files": [
- "src/functions.php"
- ]
+ "files": ["src/functions.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"description": "A PHP library for generating and working with universally unique identifiers (UUIDs).",
- "keywords": [
- "guid",
- "identifier",
- "uuid"
- ],
+ "keywords": ["guid", "identifier", "uuid"],
"support": {
"issues": "https://github.com/ramsey/uuid/issues",
"source": "https://github.com/ramsey/uuid/tree/4.2.3"
@@ -3499,14 +3236,10 @@
}
},
"autoload": {
- "files": [
- "lib/swift_required.php"
- ]
+ "files": ["lib/swift_required.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Chris Corbyn"
@@ -3518,11 +3251,7 @@
],
"description": "Swiftmailer, free feature-rich PHP mailer",
"homepage": "https://swiftmailer.symfony.com",
- "keywords": [
- "email",
- "mail",
- "mailer"
- ],
+ "keywords": ["email", "mail", "mailer"],
"support": {
"issues": "https://github.com/swiftmailer/swiftmailer/issues",
"source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.7"
@@ -3593,14 +3322,10 @@
"psr-4": {
"Symfony\\Component\\Console\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Fabien Potencier",
@@ -3613,12 +3338,7 @@
],
"description": "Eases the creation of beautiful and testable command line interfaces",
"homepage": "https://symfony.com",
- "keywords": [
- "cli",
- "command line",
- "console",
- "terminal"
- ],
+ "keywords": ["cli", "command line", "console", "terminal"],
"support": {
"source": "https://github.com/symfony/console/tree/v5.3.7"
},
@@ -3661,14 +3381,10 @@
"psr-4": {
"Symfony\\Component\\CssSelector\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Fabien Potencier",
@@ -3732,14 +3448,10 @@
}
},
"autoload": {
- "files": [
- "function.php"
- ]
+ "files": ["function.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -3800,14 +3512,10 @@
"psr-4": {
"Symfony\\Component\\ErrorHandler\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Fabien Potencier",
@@ -3885,14 +3593,10 @@
"psr-4": {
"Symfony\\Component\\EventDispatcher\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Fabien Potencier",
@@ -3961,9 +3665,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -4026,14 +3728,10 @@
"psr-4": {
"Symfony\\Component\\Finder\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Fabien Potencier",
@@ -4101,9 +3799,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -4177,14 +3873,10 @@
"psr-4": {
"Symfony\\Component\\HttpFoundation\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Fabien Potencier",
@@ -4289,14 +3981,10 @@
"psr-4": {
"Symfony\\Component\\HttpKernel\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Fabien Potencier",
@@ -4368,14 +4056,10 @@
"psr-4": {
"Symfony\\Component\\Mime\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Fabien Potencier",
@@ -4388,10 +4072,7 @@
],
"description": "Allows manipulating MIME messages",
"homepage": "https://symfony.com",
- "keywords": [
- "mime",
- "mime-type"
- ],
+ "keywords": ["mime", "mime-type"],
"support": {
"source": "https://github.com/symfony/mime/tree/v5.3.8"
},
@@ -4445,14 +4126,10 @@
"psr-4": {
"Symfony\\Polyfill\\Ctype\\": ""
},
- "files": [
- "bootstrap.php"
- ]
+ "files": ["bootstrap.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Gert de Pagter",
@@ -4465,12 +4142,7 @@
],
"description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
- ],
+ "keywords": ["compatibility", "ctype", "polyfill", "portable"],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0"
},
@@ -4524,14 +4196,10 @@
"psr-4": {
"Symfony\\Polyfill\\Iconv\\": ""
},
- "files": [
- "bootstrap.php"
- ]
+ "files": ["bootstrap.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -4604,14 +4272,10 @@
"psr-4": {
"Symfony\\Polyfill\\Intl\\Grapheme\\": ""
},
- "files": [
- "bootstrap.php"
- ]
+ "files": ["bootstrap.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -4687,14 +4351,10 @@
"psr-4": {
"Symfony\\Polyfill\\Intl\\Idn\\": ""
},
- "files": [
- "bootstrap.php"
- ]
+ "files": ["bootstrap.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Laurent Bassin",
@@ -4772,17 +4432,11 @@
"psr-4": {
"Symfony\\Polyfill\\Intl\\Normalizer\\": ""
},
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
+ "files": ["bootstrap.php"],
+ "classmap": ["Resources/stubs"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -4856,14 +4510,10 @@
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
},
- "files": [
- "bootstrap.php"
- ]
+ "files": ["bootstrap.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -4933,14 +4583,10 @@
"psr-4": {
"Symfony\\Polyfill\\Php72\\": ""
},
- "files": [
- "bootstrap.php"
- ]
+ "files": ["bootstrap.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -4953,12 +4599,7 @@
],
"description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
+ "keywords": ["compatibility", "polyfill", "portable", "shim"],
"support": {
"source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0"
},
@@ -5009,17 +4650,11 @@
"psr-4": {
"Symfony\\Polyfill\\Php73\\": ""
},
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
+ "files": ["bootstrap.php"],
+ "classmap": ["Resources/stubs"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -5032,12 +4667,7 @@
],
"description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
+ "keywords": ["compatibility", "polyfill", "portable", "shim"],
"support": {
"source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0"
},
@@ -5088,17 +4718,11 @@
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
+ "files": ["bootstrap.php"],
+ "classmap": ["Resources/stubs"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Ion Bazan",
@@ -5115,12 +4739,7 @@
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
+ "keywords": ["compatibility", "polyfill", "portable", "shim"],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
},
@@ -5171,17 +4790,11 @@
"psr-4": {
"Symfony\\Polyfill\\Php81\\": ""
},
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
+ "files": ["bootstrap.php"],
+ "classmap": ["Resources/stubs"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -5194,12 +4807,7 @@
],
"description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
+ "keywords": ["compatibility", "polyfill", "portable", "shim"],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0"
},
@@ -5242,14 +4850,10 @@
"psr-4": {
"Symfony\\Component\\Process\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Fabien Potencier",
@@ -5326,14 +4930,10 @@
"psr-4": {
"Symfony\\Component\\Routing\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Fabien Potencier",
@@ -5346,12 +4946,7 @@
],
"description": "Maps an HTTP request to a set of configuration variables",
"homepage": "https://symfony.com",
- "keywords": [
- "router",
- "routing",
- "uri",
- "url"
- ],
+ "keywords": ["router", "routing", "uri", "url"],
"support": {
"source": "https://github.com/symfony/routing/tree/v5.3.7"
},
@@ -5408,9 +5003,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -5483,17 +5076,11 @@
"psr-4": {
"Symfony\\Component\\String\\": ""
},
- "files": [
- "Resources/functions.php"
- ],
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "files": ["Resources/functions.php"],
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -5583,20 +5170,14 @@
},
"type": "library",
"autoload": {
- "files": [
- "Resources/functions.php"
- ],
+ "files": ["Resources/functions.php"],
"psr-4": {
"Symfony\\Component\\Translation\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Fabien Potencier",
@@ -5664,9 +5245,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -5740,25 +5319,17 @@
"ext-intl": "To show region name in time zone dump",
"symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
},
- "bin": [
- "Resources/bin/var-dump-server"
- ],
+ "bin": ["Resources/bin/var-dump-server"],
"type": "library",
"autoload": {
- "files": [
- "Resources/functions/dump.php"
- ],
+ "files": ["Resources/functions/dump.php"],
"psr-4": {
"Symfony\\Component\\VarDumper\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "exclude-from-classmap": ["/Tests/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nicolas Grekas",
@@ -5771,10 +5342,7 @@
],
"description": "Provides mechanisms for walking through any arbitrary PHP variable",
"homepage": "https://symfony.com",
- "keywords": [
- "debug",
- "dump"
- ],
+ "keywords": ["debug", "dump"],
"support": {
"source": "https://github.com/symfony/var-dumper/tree/v5.3.8"
},
@@ -5829,9 +5397,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Tijs Verkoyen",
@@ -5890,9 +5456,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Graham Campbell",
@@ -5906,11 +5470,7 @@
}
],
"description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
- "keywords": [
- "dotenv",
- "env",
- "environment"
- ],
+ "keywords": ["dotenv", "env", "environment"],
"support": {
"issues": "https://github.com/vlucas/phpdotenv/issues",
"source": "https://github.com/vlucas/phpdotenv/tree/v5.3.0"
@@ -5957,9 +5517,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Lars Moelleken",
@@ -5968,11 +5526,7 @@
],
"description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
"homepage": "https://github.com/voku/portable-ascii",
- "keywords": [
- "ascii",
- "clean",
- "php"
- ],
+ "keywords": ["ascii", "clean", "php"],
"support": {
"issues": "https://github.com/voku/portable-ascii/issues",
"source": "https://github.com/voku/portable-ascii/tree/1.5.6"
@@ -6038,9 +5592,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Bernhard Schussek",
@@ -6048,11 +5600,7 @@
}
],
"description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
+ "keywords": ["assert", "check", "validate"],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
"source": "https://github.com/webmozarts/assert/tree/1.10.0"
@@ -6095,9 +5643,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Franck Nijhof",
@@ -6164,9 +5710,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Marco Pivetta",
@@ -6176,10 +5720,7 @@
],
"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"
- ],
+ "keywords": ["constructor", "instantiate"],
"support": {
"issues": "https://github.com/doctrine/instantiator/issues",
"source": "https://github.com/doctrine/instantiator/tree/1.4.0"
@@ -6240,9 +5781,7 @@
"dev-master": "2.x-dev"
},
"laravel": {
- "providers": [
- "Facade\\Ignition\\IgnitionServiceProvider"
- ],
+ "providers": ["Facade\\Ignition\\IgnitionServiceProvider"],
"aliases": {
"Flare": "Facade\\Ignition\\Facades\\Flare"
}
@@ -6252,22 +5791,13 @@
"psr-4": {
"Facade\\Ignition\\": "src"
},
- "files": [
- "src/helpers.php"
- ]
+ "files": ["src/helpers.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"description": "A beautiful error page for Laravel applications.",
"homepage": "https://github.com/facade/ignition",
- "keywords": [
- "error",
- "flare",
- "laravel",
- "page"
- ],
+ "keywords": ["error", "flare", "laravel", "page"],
"support": {
"docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
"forum": "https://twitter.com/flareappio",
@@ -6321,20 +5851,14 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "François Zaninotto"
}
],
"description": "Faker is a PHP library that generates fake data for you.",
- "keywords": [
- "data",
- "faker",
- "fixtures"
- ],
+ "keywords": ["data", "faker", "fixtures"],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
"source": "https://github.com/FakerPHP/Faker/tree/v1.16.0"
@@ -6380,9 +5904,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Filipe Dobreira",
@@ -6445,18 +5967,12 @@
}
},
"autoload": {
- "classmap": [
- "hamcrest"
- ]
+ "classmap": ["hamcrest"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"description": "This is the PHP port of Hamcrest Matchers",
- "keywords": [
- "test"
- ],
+ "keywords": ["test"],
"support": {
"issues": "https://github.com/hamcrest/hamcrest-php/issues",
"source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1"
@@ -6500,9 +6016,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Pádraic Brady",
@@ -6565,14 +6079,10 @@
"psr-4": {
"DeepCopy\\": "src/DeepCopy/"
},
- "files": [
- "src/DeepCopy/deep_copy.php"
- ]
+ "files": ["src/DeepCopy/deep_copy.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"description": "Create deep copies (clones) of your objects",
"keywords": [
"clone",
@@ -6638,9 +6148,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Nuno Maduro",
@@ -6708,14 +6216,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Arne Blankerts",
@@ -6759,14 +6263,10 @@
},
"type": "library",
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Arne Blankerts",
@@ -6820,9 +6320,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Jaap van Otterdijk",
@@ -6880,9 +6378,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Mike van Riel",
@@ -6934,9 +6430,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Mike van Riel",
@@ -6987,9 +6481,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"authors": [
{
"name": "Konstantin Kudryashov",
@@ -7003,14 +6495,7 @@
],
"description": "Highly opinionated mocking framework for PHP 5.3+",
"homepage": "https://github.com/phpspec/prophecy",
- "keywords": [
- "Double",
- "Dummy",
- "fake",
- "mock",
- "spy",
- "stub"
- ],
+ "keywords": ["Double", "Dummy", "fake", "mock", "spy", "stub"],
"support": {
"issues": "https://github.com/phpspec/prophecy/issues",
"source": "https://github.com/phpspec/prophecy/tree/1.14.0"
@@ -7050,15 +6535,11 @@
},
"autoload": {
"psr-4": {
- "PHPStan\\PhpDocParser\\": [
- "src/"
- ]
+ "PHPStan\\PhpDocParser\\": ["src/"]
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
@@ -7109,14 +6590,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7126,11 +6603,7 @@
],
"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"
- ],
+ "keywords": ["coverage", "testing", "xunit"],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.7"
@@ -7170,14 +6643,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7187,10 +6656,7 @@
],
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
- "keywords": [
- "filesystem",
- "iterator"
- ],
+ "keywords": ["filesystem", "iterator"],
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5"
@@ -7234,14 +6700,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7251,9 +6713,7 @@
],
"description": "Invoke callables with a timeout",
"homepage": "https://github.com/sebastianbergmann/php-invoker/",
- "keywords": [
- "process"
- ],
+ "keywords": ["process"],
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
"source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
@@ -7293,14 +6753,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7310,9 +6766,7 @@
],
"description": "Simple template engine.",
"homepage": "https://github.com/sebastianbergmann/php-text-template/",
- "keywords": [
- "template"
- ],
+ "keywords": ["template"],
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
"source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
@@ -7352,14 +6806,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7369,9 +6819,7 @@
],
"description": "Utility class for timing",
"homepage": "https://github.com/sebastianbergmann/php-timer/",
- "keywords": [
- "timer"
- ],
+ "keywords": ["timer"],
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
"source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
@@ -7436,9 +6884,7 @@
"ext-soap": "*",
"ext-xdebug": "*"
},
- "bin": [
- "phpunit"
- ],
+ "bin": ["phpunit"],
"type": "library",
"extra": {
"branch-alias": {
@@ -7446,17 +6892,11 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ],
- "files": [
- "src/Framework/Assert/Functions.php"
- ]
+ "classmap": ["src/"],
+ "files": ["src/Framework/Assert/Functions.php"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7466,11 +6906,7 @@
],
"description": "The PHP Unit Testing framework.",
"homepage": "https://phpunit.de/",
- "keywords": [
- "phpunit",
- "testing",
- "xunit"
- ],
+ "keywords": ["phpunit", "testing", "xunit"],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.10"
@@ -7514,14 +6950,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7570,14 +7002,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7626,14 +7054,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7683,14 +7107,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7711,11 +7131,7 @@
],
"description": "Provides the functionality to compare PHP values for equality",
"homepage": "https://github.com/sebastianbergmann/comparator",
- "keywords": [
- "comparator",
- "compare",
- "equality"
- ],
+ "keywords": ["comparator", "compare", "equality"],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
@@ -7756,14 +7172,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7813,14 +7225,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7833,12 +7241,7 @@
],
"description": "Diff implementation",
"homepage": "https://github.com/sebastianbergmann/diff",
- "keywords": [
- "diff",
- "udiff",
- "unidiff",
- "unified diff"
- ],
+ "keywords": ["diff", "udiff", "unidiff", "unified diff"],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
@@ -7881,14 +7284,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7897,11 +7296,7 @@
],
"description": "Provides functionality to handle HHVM/PHP environments",
"homepage": "http://www.github.com/sebastianbergmann/environment",
- "keywords": [
- "Xdebug",
- "environment",
- "hhvm"
- ],
+ "keywords": ["Xdebug", "environment", "hhvm"],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"source": "https://github.com/sebastianbergmann/environment/tree/5.1.3"
@@ -7943,14 +7338,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -7975,10 +7366,7 @@
],
"description": "Provides the functionality to export PHP variables for visualization",
"homepage": "http://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
- ],
+ "keywords": ["export", "exporter"],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3"
@@ -8024,14 +7412,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -8040,9 +7424,7 @@
],
"description": "Snapshotting of global state",
"homepage": "http://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
- ],
+ "keywords": ["global state"],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"source": "https://github.com/sebastianbergmann/global-state/tree/5.0.3"
@@ -8083,14 +7465,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -8141,14 +7519,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -8196,14 +7570,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -8251,14 +7621,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -8314,14 +7680,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -8369,14 +7731,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -8422,14 +7780,10 @@
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Sebastian Bergmann",
@@ -8492,9 +7846,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
+ "license": ["MIT"],
"description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.",
"support": {
"issues": "https://github.com/slevomat/coding-standard/issues",
@@ -8535,10 +7887,7 @@
"require-dev": {
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
},
- "bin": [
- "bin/phpcs",
- "bin/phpcbf"
- ],
+ "bin": ["bin/phpcs", "bin/phpcbf"],
"type": "library",
"extra": {
"branch-alias": {
@@ -8546,9 +7895,7 @@
}
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Greg Sherwood",
@@ -8557,10 +7904,7 @@
],
"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"
- ],
+ "keywords": ["phpcs", "standards"],
"support": {
"issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
"source": "https://github.com/squizlabs/PHP_CodeSniffer",
@@ -8590,14 +7934,10 @@
},
"type": "library",
"autoload": {
- "classmap": [
- "src/"
- ]
+ "classmap": ["src/"]
},
"notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
+ "license": ["BSD-3-Clause"],
"authors": [
{
"name": "Arne Blankerts",
diff --git a/config/app.php b/config/app.php
index 8b1a654..3602bed 100644
--- a/config/app.php
+++ b/config/app.php
@@ -234,6 +234,10 @@ return [
'Role' => App\Enums\Role::class,
'FileType' => App\Enums\FileType::class,
'LoadLevel' => App\Enums\LoadLevel::class,
+ 'CellModel' => App\Enums\Planning\CellModel::class,
+ 'CellType' => App\Enums\Planning\CellType::class,
+ 'TableRow' => App\Enums\Planning\TableRow::class,
+ 'Carbon' => 'Carbon\Carbon'
],
];
diff --git a/database/factories/WeekPlanningFactory.php b/database/factories/WeekPlanningFactory.php
new file mode 100644
index 0000000..f3e3dee
--- /dev/null
+++ b/database/factories/WeekPlanningFactory.php
@@ -0,0 +1,76 @@
+states)->last());
+ if (static::$user_id and $func->getStaticVariables()['state']['user_id'] != static::$user_id) {
+ static::$currentDate = null;
+ }
+ if (!static::$currentDate) {
+ static::$user_id = $func->getStaticVariables()['state']['user_id'];
+ static::$currentDate = $func->getStaticVariables()['state']['start'];
+ } else {
+ static::$currentDate = static::$currentDate->endOfWeek()->addDay();
+ }
+ $wBlock = WeekPlanning::getWeekBlock(static::$currentDate);
+ foreach ($wBlock as &$dayRows) {
+ foreach ($dayRows as &$cell) {
+ $cell['type'] = collect(CellType::toArray())->random()->value;
+ if (rand(0, 3)) {
+ $cellModel = collect(CellModel::toArray())->random();
+ $cell['cellModel'] = $cellModel->value;
+ switch ($cellModel) {
+ case (new Ticket())->getTable():
+ $cell['foreign'] = Ticket::select(['id'])
+ ->inRandomOrder()->first()->id;
+ break;
+ case (new Site())->getTable():
+ $cell['foreign'] = Site::select(['id'])
+ ->inRandomOrder()->first()->id;
+ break;
+ case (new Project())->getTable():
+ $cell['foreign'] = Project::select(['id'])
+ ->inRandomOrder()->first()->id;
+ break;
+ }
+ $cell['text'] = $this->faker->text(rand(20, 50));
+ }
+ }
+ }
+ return [
+ 'start' => static::$currentDate,
+ 'planning' => $wBlock
+ ];
+ }
+}
diff --git a/database/migrations/2021_10_01_090053_create_week_plannings_table.php b/database/migrations/2021_10_01_090053_create_week_plannings_table.php
new file mode 100644
index 0000000..b65939b
--- /dev/null
+++ b/database/migrations/2021_10_01_090053_create_week_plannings_table.php
@@ -0,0 +1,37 @@
+id();
+
+ $table->date('start');
+ $table->text('planning');
+
+ $table->foreignId('user_id')->constrained('users')->cascadeOnDelete();
+
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('week_plannings');
+ }
+}
diff --git a/database/seeders/WeekPlanningSeeder.php b/database/seeders/WeekPlanningSeeder.php
new file mode 100644
index 0000000..550c728
--- /dev/null
+++ b/database/seeders/WeekPlanningSeeder.php
@@ -0,0 +1,29 @@
+get() as $user) {
+ WeekPlanning::factory(13)->create([
+ 'start' => Carbon::now()->startOfWeek(),
+ 'user_id' => $user->id
+ ]);
+ }
+ }
+}
diff --git a/package-lock.json b/package-lock.json
index b282e99..ba8d060 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,12 +12,13 @@
"laravel-mix": "^6.0.16",
"laravel-mix-polyfill": "^3.0.1",
"lodash": "^4.17.19",
+ "moment": "^2.29.1",
"resolve-url-loader": "^3.1.0",
"sass": "^1.15.2",
"sass-loader": "^8.0.0",
"vue": "^2.6.14",
"vue-loader": "^15.9.7",
- "vue-select": "^3.11.2",
+ "vue-select": "^3.13.0",
"vue-template-compiler": "^2.6.12"
}
},
@@ -6359,6 +6360,15 @@
"mkdirp": "bin/cmd.js"
}
},
+ "node_modules/moment": {
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
+ "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==",
+ "dev": true,
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -14750,6 +14760,12 @@
"minimist": "^1.2.5"
}
},
+ "moment": {
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
+ "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==",
+ "dev": true
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
diff --git a/package.json b/package.json
index b03e1af..d2e13b2 100644
--- a/package.json
+++ b/package.json
@@ -17,12 +17,13 @@
"laravel-mix": "^6.0.16",
"laravel-mix-polyfill": "^3.0.1",
"lodash": "^4.17.19",
+ "moment": "^2.29.1",
"resolve-url-loader": "^3.1.0",
"sass": "^1.15.2",
"sass-loader": "^8.0.0",
"vue": "^2.6.14",
"vue-loader": "^15.9.7",
- "vue-select": "^3.11.2",
+ "vue-select": "^3.13.0",
"vue-template-compiler": "^2.6.12"
}
}
diff --git a/resources/js/app.js b/resources/js/app.js
index 40c55f6..f531b4f 100644
--- a/resources/js/app.js
+++ b/resources/js/app.js
@@ -1 +1,107 @@
require('./bootstrap');
+window.Vue = require('vue/dist/vue.min.js');
+import moment from 'moment'
+import vSelect from "vue-select"
+
+// v-select
+Vue.component('v-select', vSelect)
+
+// Configure moment
+moment.locale('fr', {
+ months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+ monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+ monthsParseExact : true,
+ weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+ weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+ weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),
+ weekdaysParseExact : true,
+ longDateFormat : {
+ LT : 'HH:mm',
+ LTS : 'HH:mm:ss',
+ L : 'DD/MM/YYYY',
+ LL : 'D MMMM YYYY',
+ LLL : 'D MMMM YYYY HH:mm',
+ LLLL : 'dddd D MMMM YYYY HH:mm'
+ },
+ calendar : {
+ sameDay : '[Aujourd’hui à] LT',
+ nextDay : '[Demain à] LT',
+ nextWeek : 'dddd [à] LT',
+ lastDay : '[Hier à] LT',
+ lastWeek : 'dddd [dernier à] LT',
+ sameElse : 'L'
+ },
+ relativeTime : {
+ future : 'dans %s',
+ past : 'il y a %s',
+ s : 'quelques secondes',
+ m : 'une minute',
+ mm : '%d minutes',
+ h : 'une heure',
+ hh : '%d heures',
+ d : 'un jour',
+ dd : '%d jours',
+ M : 'un mois',
+ MM : '%d mois',
+ y : 'un an',
+ yy : '%d ans'
+ },
+ dayOfMonthOrdinalParse : /\d{1,2}(er|e)/,
+ ordinal : function (number) {
+ return number + (number === 1 ? 'er' : 'e');
+ },
+ meridiemParse : /PD|MD/,
+ isPM : function (input) {
+ return input.charAt(0) === 'M';
+ },
+ // In case the meridiem units are not separated around 12, then implement
+ // this function (look at locale/id.js for an example).
+ // meridiemHour : function (hour, meridiem) {
+ // return /* 0-23 hour, given meridiem token and hour 1-12 */ ;
+ // },
+ meridiem : function (hours, minutes, isLower) {
+ return hours < 12 ? 'PD' : 'MD';
+ },
+ week : {
+ dow : 1, // Monday is the first day of the week.
+ doy : 4 // Used to determine first week of the year.
+ }
+});
+
+moment.locale('fr');
+Vue.prototype.moment = moment
+
+// Register modules
+const modules = require.context("./modules", true, /\.js$/i);
+modules.keys().map(key => Vue.mixin(modules(key).default));
+
+// Register components
+const vues = require.context("./components", true, /\.vue$/i);
+vues.keys().map(key =>
+ Vue.component(
+ key
+ .split("/")
+ .pop()
+ .split(".")[0]
+ .replace(/\.?([A-Z])/g, function (x, y) {
+ return "-" + y.toLowerCase();
+ })
+ .replace(/^-/, ""),
+ vues(key).default
+ )
+);
+
+// Register vue function
+Vue.filter('str_limit', function (value, size) {
+ if (!value) return '';
+ value = value.toString();
+ if (value.length <= size) {
+ return value;
+ }
+ return value.substr(0, size) + '...';
+});
+
+for (let el of document.getElementsByClassName('vueComponent')) {
+ new Vue({ el: el });
+}
+
diff --git a/resources/js/bootstrap.js b/resources/js/bootstrap.js
index cdf8c36..46dc22f 100644
--- a/resources/js/bootstrap.js
+++ b/resources/js/bootstrap.js
@@ -15,6 +15,7 @@ window._ = require('lodash');
window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
+window.axios.defaults.headers.common['X-CSRF-TOKEN'] = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
/**
* Echo exposes an expressive API for subscribing to channels and listening
diff --git a/resources/js/components/PlanningComponent.vue b/resources/js/components/PlanningComponent.vue
new file mode 100644
index 0000000..15f020c
--- /dev/null
+++ b/resources/js/components/PlanningComponent.vue
@@ -0,0 +1,505 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ currentWeek.user.name }}
+
+
+ S{{ moment(currentWeek.start).week() }}
+ {{ moment(currentWeek.start).format('MMMM YYYY') }}
+
+
+
+
+
+ {{ moment.unix(timestamp).format("dddd DD") }}
+
+
+
+
+ {{ row.label }}
+
+
+
+ {{ getCellObjectInfo(day[row.value]).text }}
+
+ Rien
+
+
+ {{ day[row.value]["text"] | str_limit(25) }}
+
+
+ Pas de planning à afficher
+