From 951df23c9123a3e14d0c16d082ee5c099946071a Mon Sep 17 00:00:00 2001
From: Julian Prieber <60265788+JulianPrieber@users.noreply.github.com>
Date: Tue, 8 Nov 2022 16:11:59 +0100
Subject: [PATCH 01/20] Laravel 9
Update to Laravel 9
Commit for the upcoming from-end update.
---
.gitignore | 1 +
.../Controllers/Admin/LinkTypeController.php | 130 +
app/Http/Controllers/AdminController.php | 299 +-
.../Auth/RegisteredUserController.php | 30 +-
.../Auth/SocialLoginController.php | 66 +
app/Http/Controllers/HomeController.php | 4 +-
.../Controllers/LinkTypeViewController.php | 165 +
app/Http/Controllers/UserController.php | 393 +-
app/Http/Requests/LinkTypeRequest.php | 36 +
app/Models/Link.php | 4 +
app/Models/LinkType.php | 13 +
app/Models/SocialAccount.php | 22 +
app/Models/User.php | 15 +
app/View/Components/Modal.php | 40 +
app/View/Components/PageItemDisplay.php | 47 +
composer.json | 15 +-
composer.lock | 3651 +++-
config/app.php | 8 +-
config/services.php | 15 +
config/visits.php | 78 +
css/app-dark.css | 2 +-
.../2022_09_20_110657_sociallogin.php | 39 +
.../2022_09_20_143006_social_accounts.php | 42 +
.../2022_09_21_115126_create_visits_table.php | 37 +
.../2022_09_22_123137_link-type.php | 186 +
littlelink/css/brands.css | 1272 +-
littlelink/icons/mastodon.svg | 5 +-
littlelink/js/share.button.js | 2 +-
resources/js/app.js | 2 +-
.../views/admin/linktype/create.blade.php | 90 +
resources/views/admin/linktype/edit.blade.php | 95 +
.../views/admin/linktype/index.blade.php | 43 +
resources/views/auth/login.blade.php | 66 +-
resources/views/auth/register.blade.php | 38 +
resources/views/components/alert.blade.php | 4 +
.../components/application-logo.blade.php | 6 +-
.../views/components/finishing.blade.php | 3 +
.../views/components/flash-messages.blade.php | 42 +
resources/views/components/modal.blade.php | 25 +
.../pageitems/heading-display.blade.php | 5 +
.../pageitems/heading-form.blade.php | 4 +
.../pageitems/link-display.blade.php | 13 +
.../components/pageitems/link-form.blade.php | 15 +
.../pageitems/predefined-display.blade.php | 6 +
.../pageitems/predefined-form.blade.php | 18 +
.../pageitems/spacer-display.blade.php | 7 +
.../pageitems/spacer-form.blade.php | 8 +
.../pageitems/text-display.blade.php | 3 +
.../components/pageitems/text-form.blade.php | 3 +
.../pageitems/video-display.blade.php | 34 +
.../components/pageitems/video-form.blade.php | 7 +
resources/views/home.blade.php | 48 +-
resources/views/layouts/sidebar.blade.php | 207 +-
resources/views/littlelink.blade.php | 9 +-
resources/views/panel/edit-user.blade.php | 7 +-
resources/views/panel/links.blade.php | 6 +-
resources/views/panel/pages.blade.php | 6 +-
resources/views/panel/site.blade.php | 7 +-
resources/views/panel/users.blade.php | 13 +-
.../views/studio/button-editor.blade.php | 6 +-
resources/views/studio/edit-link.blade.php | 153 +-
.../views/studio/edit-link.blade_OLD.php | 45 +
resources/views/studio/index.blade.php | 107 +-
resources/views/studio/links.blade.php | 158 +-
resources/views/studio/page.blade.php | 164 +-
resources/views/studio/profile.blade.php | 53 +-
resources/views/studio/theme.blade.php | 569 +-
resources/views/update.blade.php | 4 +-
routes/web.php | 88 +-
storage/backups/default_settings | 9 +-
storage/templates/advanced-config.php | 2 +-
studio/css/style-dashboard.css | 16233 ++++++++--------
studio/js/ckeditor.js | 6 +
studio/js/components/addlink.js | 21 +
studio/js/main-dashboard.js | 134 +-
75 files changed, 14235 insertions(+), 10974 deletions(-)
create mode 100644 app/Http/Controllers/Admin/LinkTypeController.php
create mode 100644 app/Http/Controllers/Auth/SocialLoginController.php
create mode 100644 app/Http/Controllers/LinkTypeViewController.php
create mode 100644 app/Http/Requests/LinkTypeRequest.php
create mode 100644 app/Models/LinkType.php
create mode 100644 app/Models/SocialAccount.php
create mode 100644 app/View/Components/Modal.php
create mode 100644 app/View/Components/PageItemDisplay.php
create mode 100644 config/visits.php
create mode 100644 database/migrations/2022_09_20_110657_sociallogin.php
create mode 100644 database/migrations/2022_09_20_143006_social_accounts.php
create mode 100644 database/migrations/2022_09_21_115126_create_visits_table.php
create mode 100644 database/migrations/2022_09_22_123137_link-type.php
create mode 100644 resources/views/admin/linktype/create.blade.php
create mode 100644 resources/views/admin/linktype/edit.blade.php
create mode 100644 resources/views/admin/linktype/index.blade.php
create mode 100644 resources/views/components/alert.blade.php
create mode 100644 resources/views/components/flash-messages.blade.php
create mode 100644 resources/views/components/modal.blade.php
create mode 100644 resources/views/components/pageitems/heading-display.blade.php
create mode 100644 resources/views/components/pageitems/heading-form.blade.php
create mode 100644 resources/views/components/pageitems/link-display.blade.php
create mode 100644 resources/views/components/pageitems/link-form.blade.php
create mode 100644 resources/views/components/pageitems/predefined-display.blade.php
create mode 100644 resources/views/components/pageitems/predefined-form.blade.php
create mode 100644 resources/views/components/pageitems/spacer-display.blade.php
create mode 100644 resources/views/components/pageitems/spacer-form.blade.php
create mode 100644 resources/views/components/pageitems/text-display.blade.php
create mode 100644 resources/views/components/pageitems/text-form.blade.php
create mode 100644 resources/views/components/pageitems/video-display.blade.php
create mode 100644 resources/views/components/pageitems/video-form.blade.php
create mode 100644 resources/views/studio/edit-link.blade_OLD.php
create mode 100644 studio/js/ckeditor.js
create mode 100644 studio/js/components/addlink.js
diff --git a/.gitignore b/.gitignore
index 0ae59f0..6bdb75e 100755
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@ Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
+_ide_*
diff --git a/app/Http/Controllers/Admin/LinkTypeController.php b/app/Http/Controllers/Admin/LinkTypeController.php
new file mode 100644
index 0000000..ee4cb6e
--- /dev/null
+++ b/app/Http/Controllers/Admin/LinkTypeController.php
@@ -0,0 +1,130 @@
+with('linktype', $LinkTypes);
+ }
+
+ /**
+ * Show the form for creating a new resource.
+ *
+ * @return \Illuminate\Http\Response
+ */
+ public function create()
+ {
+ return View('admin.linktype.create');
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @return \Illuminate\Http\Response
+ */
+ public function store(LinkTypeRequest $request)
+ {
+ // validate
+ // read more on validation at http://laravel.com/docs/validation
+
+ $validated = $request->validated();
+
+ // store
+ $LinkType = new LinkType;
+ $LinkType->typename = $request->typename;
+ $LinkType->title = $request->title;
+ $LinkType->description = $request->description;
+ $LinkType->icon = $request->icon;
+ $LinkType->params = $request->params;
+ $LinkType->save();
+
+ // redirect
+ return Redirect('admin/linktype')
+ ->with('success', 'New link type has been added.');
+ }
+
+ /**
+ * Display the specified resource.
+ *
+ * @param \App\Models\LinkType $linkType
+ * @return \Illuminate\Http\Response
+ */
+ public function show(LinkType $linkType)
+ {
+ //
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ *
+ * @param \App\Models\LinkType $linkType
+ * @return \Illuminate\Http\Response
+ */
+ public function edit($id)
+ {
+ $lt = LinkType::find($id);
+ // show the edit form and pass the shark
+ return View('admin.linktype.edit', ['linktype' => $lt]);
+ }
+
+ /**
+ * Update the specified resource in storage.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @param \App\Models\LinkType $linkType
+ * @return \Illuminate\Http\Response
+ */
+ public function update(LinkTypeRequest $request, $id)
+ {
+ $linktype = LinkType::find($id);
+
+ $validated = $request->validated();
+
+
+ // store
+ $linktype->title = $request->title;
+ $linktype->description = $request->description;
+ $linktype->icon = $request->icon;
+ $linktype->params = $request->params;
+ $linktype->save();
+
+ // redirect
+ return Redirect('admin/linktype')
+ ->with('success', 'Link type updated.');
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ *
+ * @param \App\Models\LinkType $linkType
+ * @return \Illuminate\Http\Response
+ */
+ public function destroy($id)
+ {
+ // delete
+ $linktype = LinkType::find($id);
+ $linktype->delete();
+
+ // redirect
+ return Redirect('admin/linktype')
+ ->with('success', 'Link type deleted');
+ }
+}
diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php
index cce0c96..409ac58 100755
--- a/app/Http/Controllers/AdminController.php
+++ b/app/Http/Controllers/AdminController.php
@@ -20,14 +20,14 @@ use App\Models\Page;
class AdminController extends Controller
{
- //Statistics of the number of clicks and links
+ //Statistics of the number of clicks and links
public function index()
{
$userId = Auth::user()->id;
$littlelink_name = Auth::user()->littlelink_name;
$links = Link::where('user_id', $userId)->select('link')->count();
$clicks = Link::where('user_id', $userId)->sum('click_number');
-
+
$userNumber = User::count();
$siteLinks = Link::count();
$siteClicks = Link::sum('click_number');
@@ -40,7 +40,7 @@ class AdminController extends Controller
{
$usersType = $request->type;
- switch($usersType){
+ switch ($usersType) {
case 'all':
$data['users'] = User::select('id', 'name', 'email', 'littlelink_name', 'role', 'block', 'email_verified_at')->get();
return view('panel/users', $data);
@@ -52,12 +52,12 @@ class AdminController extends Controller
case 'vip':
$data['users'] = User::where('role', 'email', 'vip')->select('id', 'name', 'littlelink_name', 'role', 'block', 'email_verified_at')->get();
return view('panel/users', $data);
- break;
+ break;
case 'admin':
$data['users'] = User::where('role', 'email', 'admin')->select('id', 'name', 'littlelink_name', 'role', 'block', 'email_verified_at')->get();
return view('panel/users', $data);
break;
- }
+ }
}
//Search user by name
@@ -74,9 +74,9 @@ class AdminController extends Controller
$id = $request->id;
$status = $request->block;
- if($status == 'yes'){
+ if ($status == 'yes') {
$block = 'no';
- }elseif($status == 'no'){
+ } elseif ($status == 'no') {
$block = 'yes';
}
@@ -91,9 +91,9 @@ class AdminController extends Controller
$id = $request->id;
$status = $request->verify;
- if($status == '-'){
+ if ($status == '-') {
$verify = '0000-00-00 00:00:00';
- }else{
+ } else {
$verify = NULL;
}
@@ -101,7 +101,7 @@ class AdminController extends Controller
return redirect('panel/users/all');
}
-
+
//Create new user from the Admin Panel
public function createNewUser()
{
@@ -116,7 +116,7 @@ class AdminController extends Controller
$pieces = [];
$max = mb_strlen($keyspace, '8bit') - 1;
for ($i = 0; $i < $length; ++$i) {
- $pieces []= $keyspace[random_int(0, $max)];
+ $pieces[] = $keyspace[random_int(0, $max)];
}
return implode('', $pieces);
}
@@ -129,7 +129,7 @@ class AdminController extends Controller
'block' => 'no',
]);
- return redirect('panel/edit-user/'. $user->id);
+ return redirect('panel/edit-user/' . $user->id);
}
//Delete existing user
@@ -137,7 +137,7 @@ class AdminController extends Controller
{
$id = $request->id;
- $user = User::find($id);
+ $user = User::find($id);
Schema::disableForeignKeyConstraints();
$user->forceDelete();
@@ -152,16 +152,15 @@ class AdminController extends Controller
$id = $request->id;
$data['user'] = User::where('id', $id)->get();
-
- return view('panel/edit-user', $data);
+ return view('panel/edit-user', $data);
}
//Show link, click number, up link in links page
public function showLinksUser(request $request)
{
$id = $request->id;
-
+
$data['user'] = User::where('id', $id)->get();
$data['links'] = Link::select('id', 'link', 'title', 'order', 'click_number', 'up_link', 'links.button_id')->where('user_id', $id)->orderBy('up_link', 'asc')->orderBy('order', 'asc')->paginate(10);
@@ -174,20 +173,20 @@ class AdminController extends Controller
$linkId = $request->id;
Link::where('id', $linkId)->delete();
-
+
return back();
}
//Save user edit
public function editUser(request $request)
{
- $request->validate([
+ $request->validate([
'name' => '',
'email' => '',
'password' => '',
'littlelink_name' => '',
]);
-
+
$id = $request->id;
$name = $request->name;
$email = $request->email;
@@ -196,14 +195,14 @@ class AdminController extends Controller
$littlelink_name = $request->littlelink_name;
$littlelink_description = $request->littlelink_description;
$role = $request->role;
-
- if($request->password == '' ) {
- User::where('id', $id)->update(['name' => $name, 'email' => $email, 'littlelink_name' => $littlelink_name, 'littlelink_description' => $littlelink_description, 'role' => $role]);
- } else {
- User::where('id', $id)->update(['name' => $name, 'email' => $email, 'password' => $password, 'littlelink_name' => $littlelink_name, 'littlelink_description' => $littlelink_description, 'role' => $role]);
+
+ if ($request->password == '') {
+ User::where('id', $id)->update(['name' => $name, 'email' => $email, 'littlelink_name' => $littlelink_name, 'littlelink_description' => $littlelink_description, 'role' => $role]);
+ } else {
+ User::where('id', $id)->update(['name' => $name, 'email' => $email, 'password' => $password, 'littlelink_name' => $littlelink_name, 'littlelink_description' => $littlelink_description, 'role' => $role]);
}
- if(!empty($profilePhoto)){
- $profilePhoto->move(base_path('/img'), $littlelink_name . ".png");
+ if (!empty($profilePhoto)) {
+ $profilePhoto->move(base_path('/img'), $littlelink_name . ".png");
}
return redirect('panel/users/all');
@@ -244,9 +243,9 @@ class AdminController extends Controller
Page::first()->update(['home_message' => $message]);
- if(!empty($logo)){
+ if (!empty($logo)) {
$logo->move(base_path('/littlelink/images/'), "avatar.png");
- }
+ }
return back();
}
@@ -265,7 +264,7 @@ class AdminController extends Controller
return view('pages', ['data' => $data, 'name' => $name]);
}
- //Statistics of the number of clicks and links
+ //Statistics of the number of clicks and links
public function phpinfo()
{
return view('panel/phpinfo');
@@ -310,59 +309,57 @@ class AdminController extends Controller
$del = $request->deltheme;
if (empty($del)) {
- echo '';
} else {
- $folderName = base_path() . '/themes/' . $del;
-
-
-
- function removeFolder($folderName) {
-
- if (is_dir($folderName))
-
- $folderHandle = opendir($folderName);
-
-
-
- if (!$folderHandle)
-
- return false;
-
-
-
- while($file = readdir($folderHandle)) {
-
- if ($file != "." && $file != "..") {
-
- if (!is_dir($folderName."/".$file))
-
- unlink($folderName."/".$file);
-
- else
-
- removeFolder($folderName.'/'.$file);
-
- }
-
- }
-
-
-
- closedir($folderHandle);
-
- rmdir($folderName);
-
-
+ $folderName = base_path() . '/themes/' . $del;
+
+
+
+ function removeFolder($folderName)
+ {
+
+ if (is_dir($folderName))
+
+ $folderHandle = opendir($folderName);
+
+
+
+ if (!$folderHandle)
+
+ return false;
+
+
+
+ while ($file = readdir($folderHandle)) {
+
+ if ($file != "." && $file != "..") {
+
+ if (!is_dir($folderName . "/" . $file))
+
+ unlink($folderName . "/" . $file);
+
+ else
+
+ removeFolder($folderName . '/' . $file);
+ }
+ }
+
+
+
+ closedir($folderHandle);
+
+ rmdir($folderName);
+ }
+
+ removeFolder($folderName);
+
+ return Redirect('/panel/theme');
}
-
- removeFolder($folderName);
-
- return Redirect('/panel/theme');
- }}
+ }
// Update themes
public function updateThemes()
@@ -372,82 +369,89 @@ class AdminController extends Controller
if ($handle = opendir('themes')) {
while (false !== ($entry = readdir($handle))) {
- if(file_exists(base_path('themes') . '/' . $entry . '/readme.md')){
- $text = file_get_contents(base_path('themes') . '/' . $entry . '/readme.md');
- $pattern = '/Theme Version:.*/';
- preg_match($pattern, $text, $matches, PREG_OFFSET_CAPTURE);
- $verNr = substr($matches[0][0],15);}
+ if (file_exists(base_path('themes') . '/' . $entry . '/readme.md')) {
+ $text = file_get_contents(base_path('themes') . '/' . $entry . '/readme.md');
+ $pattern = '/Theme Version:.*/';
+ preg_match($pattern, $text, $matches, PREG_OFFSET_CAPTURE);
+ if (!count($matches)) continue;
+ $verNr = substr($matches[0][0], 15);
- $themeVe = NULL;
-
- if ($entry != "." && $entry != "..") {
- if(file_exists(base_path('themes') . '/' . $entry . '/readme.md')){
- if(!strpos(file_get_contents(base_path('themes') . '/' . $entry . '/readme.md'), 'Source code:')){$hasSource = false;}else{
- $hasSource = true;
-
- $text = file_get_contents(base_path('themes') . '/' . $entry . '/readme.md');
- $pattern = '/Source code:.*/';
- preg_match($pattern, $text, $matches, PREG_OFFSET_CAPTURE);
- $sourceURL = substr($matches[0][0],13);
-
- $replaced = str_replace("https://github.com/", "https://raw.githubusercontent.com/", trim($sourceURL));
- $replaced = $replaced . "/main/readme.md";
-
- if (strpos($sourceURL, 'github.com')){
-
- ini_set('user_agent', 'Mozilla/4.0 (compatible; MSIE 6.0)');
- try{
- $textGit = file_get_contents($replaced);
- $patternGit = '/Theme Version:.*/';
- preg_match($patternGit, $textGit, $matches, PREG_OFFSET_CAPTURE);
- $sourceURLGit = substr($matches[0][0],15);
- $Vgitt = 'v' . $sourceURLGit;
- $verNrv = 'v' . $verNr;
- }catch(Exception $ex){
- $themeVe = "error";
- $Vgitt = NULL;
- $verNrv = NULL;
- }
-
- if(trim($Vgitt) > trim($verNrv)){
+ }
- $fileUrl = trim($sourceURL) . '/archive/refs/tags/' . trim($Vgitt) . '.zip';
+ $themeVe = NULL;
-
- file_put_contents(base_path('themes/theme.zip'), fopen($fileUrl, 'r'));
-
-
- $zip = new ZipArchive;
- $zip->open(base_path() . '/themes/theme.zip');
- $zip->extractTo(base_path('themes'));
- $zip->close();
- unlink(base_path() . '/themes/theme.zip');
-
- $folder = base_path('themes');
- $regex = '/[0-9.-]/';
- $files = scandir($folder);
+ if ($entry != "." && $entry != "..") {
+ if (file_exists(base_path('themes') . '/' . $entry . '/readme.md')) {
+ if (!strpos(file_get_contents(base_path('themes') . '/' . $entry . '/readme.md'), 'Source code:')) {
+ $hasSource = false;
+ } else {
+ $hasSource = true;
- foreach($files as $file) {
- if($file !== '.' && $file !== '..') {
- if(preg_match($regex, $file)) {
- $new_file = preg_replace($regex, '', $file);
- File::copyDirectory($folder . '/' . $file, $folder . '/' . $new_file);
- $dirname = $folder . '/' . $file;
- if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
- system('rmdir '.escapeshellarg($dirname).' /s /q');
- } else {
- system("rm -rf ".escapeshellarg($dirname));
- }
- }
+ $text = file_get_contents(base_path('themes') . '/' . $entry . '/readme.md');
+ $pattern = '/Source code:.*/';
+ preg_match($pattern, $text, $matches, PREG_OFFSET_CAPTURE);
+ $sourceURL = substr($matches[0][0], 13);
+
+ $replaced = str_replace("https://github.com/", "https://raw.githubusercontent.com/", trim($sourceURL));
+ $replaced = $replaced . "/main/readme.md";
+
+ if (strpos($sourceURL, 'github.com')) {
+
+ ini_set('user_agent', 'Mozilla/4.0 (compatible; MSIE 6.0)');
+ try {
+ $textGit = file_get_contents($replaced);
+ $patternGit = '/Theme Version:.*/';
+ preg_match($patternGit, $textGit, $matches, PREG_OFFSET_CAPTURE);
+ $sourceURLGit = substr($matches[0][0], 15);
+ $Vgitt = 'v' . $sourceURLGit;
+ $verNrv = 'v' . $verNr;
+ } catch (Exception $ex) {
+ $themeVe = "error";
+ $Vgitt = NULL;
+ $verNrv = NULL;
+ }
+
+ if (trim($Vgitt) > trim($verNrv)) {
+
+
+ $fileUrl = trim($sourceURL) . '/archive/refs/tags/' . trim($Vgitt) . '.zip';
+
+
+ file_put_contents(base_path('themes/theme.zip'), fopen($fileUrl, 'r'));
+
+
+ $zip = new ZipArchive;
+ $zip->open(base_path() . '/themes/theme.zip');
+ $zip->extractTo(base_path('themes'));
+ $zip->close();
+ unlink(base_path() . '/themes/theme.zip');
+
+ $folder = base_path('themes');
+ $regex = '/[0-9.-]/';
+ $files = scandir($folder);
+
+ foreach ($files as $file) {
+ if ($file !== '.' && $file !== '..') {
+ if (preg_match($regex, $file)) {
+ $new_file = preg_replace($regex, '', $file);
+ File::copyDirectory($folder . '/' . $file, $folder . '/' . $new_file);
+ $dirname = $folder . '/' . $file;
+ if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
+ system('rmdir ' . escapeshellarg($dirname) . ' /s /q');
+ } else {
+ system("rm -rf " . escapeshellarg($dirname));
+ }
+ }
+ }
+ }
+ }
+ }
}
- }
-
- }
- }
- }
- }
- }}}
+ }
+ }
+ }
+ }
return Redirect('/studio/theme');
@@ -458,5 +462,4 @@ class AdminController extends Controller
{
return view('/panel/theme');
}
-
}
diff --git a/app/Http/Controllers/Auth/RegisteredUserController.php b/app/Http/Controllers/Auth/RegisteredUserController.php
index 56a817c..efe9088 100755
--- a/app/Http/Controllers/Auth/RegisteredUserController.php
+++ b/app/Http/Controllers/Auth/RegisteredUserController.php
@@ -9,6 +9,7 @@ use Illuminate\Auth\Events\Registered;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
+use Illuminate\Support\Facades\DB;
class RegisteredUserController extends Controller
{
@@ -38,14 +39,29 @@ class RegisteredUserController extends Controller
'password' => 'required|string|confirmed|min:8',
]);
- Auth::login($user = User::create([
- 'name' => $request->name,
- 'email' => $request->email,
- 'password' => Hash::make($request->password),
- 'role' => 'user',
- 'block' => 'no',
+ $name = $request->input('name');
+
+ if(DB::table('users')->where('littlelink_name', $request->name)->exists())
+ {
+ Auth::login($user = User::create([
+ 'name' => $request->name,
+ 'email' => $request->email,
+ 'password' => Hash::make($request->password),
+ 'role' => 'user',
+ 'block' => 'no',
+ ]));
+ } else {
+ Auth::login($user = User::create([
+ 'name' => $request->name,
+ 'email' => $request->email,
+ 'littlelink_name' => $request->name,
+ 'password' => Hash::make($request->password),
+ 'role' => 'user',
+ 'block' => 'no',
+ ]));
+ }
+
- ]));
event(new Registered($user));
diff --git a/app/Http/Controllers/Auth/SocialLoginController.php b/app/Http/Controllers/Auth/SocialLoginController.php
new file mode 100644
index 0000000..aff1d71
--- /dev/null
+++ b/app/Http/Controllers/Auth/SocialLoginController.php
@@ -0,0 +1,66 @@
+redirect();
+ }
+
+ public function providerCallback(String $provider)
+ {
+ try {
+ $social_user = \Socialite::driver($provider)->user();
+
+ // First Find Social Account
+ $account = SocialAccount::where([
+ 'provider_name' => $provider,
+ 'provider_id' => $social_user->getId()
+ ])->first();
+
+ // If Social Account Exist then Find User and Login
+ if ($account) {
+ auth()->login($account->user);
+ return redirect('/studio/index');
+ }
+
+ // Find User
+ $user = User::where([
+ 'email' => $social_user->getEmail()
+ ])->first();
+
+ // If User not found, then create new user
+ if (!$user) {
+ $user = User::create([
+ 'email' => $social_user->getEmail(),
+ 'name' => $social_user->getName(),
+ 'image' => $social_user->getAvatar(),
+ 'littlelink_name' => $social_user->getNickname(),
+ 'email_verified_at' => now(),
+ ]);
+ }
+
+ // Create Social Accounts
+ $user->socialAccounts()->create([
+ 'provider_id' => $social_user->getId(),
+ 'provider_name' => $provider
+ ]);
+
+ // Login
+ auth()->login($user);
+ return redirect('/studio/index');
+ } catch (\Exception $e) {
+ return redirect()->route('login')->withErrors($e->getMessage());
+ }
+ }
+}
+
+
+
diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php
index cc24fcf..2915877 100755
--- a/app/Http/Controllers/HomeController.php
+++ b/app/Http/Controllers/HomeController.php
@@ -16,10 +16,10 @@ class HomeController extends Controller
{
$message = Page::select('home_message')->first();
-
+
$countButton = Button::count();
- $updatedPages = DB::table('links')->join('users', 'users.id', '=', 'links.user_id')->select('users.littlelink_name', DB::raw('max(links.created_at) as created_at'))->groupBy('links.user_id')->orderBy('created_at', 'desc')->take(4)->get();
+ $updatedPages = DB::table('links')->join('users', 'users.id', '=', 'links.user_id')->select('users.littlelink_name', 'users.image', DB::raw('max(links.created_at) as created_at'))->groupBy('links.user_id')->orderBy('created_at', 'desc')->take(4)->get();
return view('home', ['message' => $message, 'countButton' => $countButton, 'updatedPages' => $updatedPages]);
}
diff --git a/app/Http/Controllers/LinkTypeViewController.php b/app/Http/Controllers/LinkTypeViewController.php
new file mode 100644
index 0000000..eaa4381
--- /dev/null
+++ b/app/Http/Controllers/LinkTypeViewController.php
@@ -0,0 +1,165 @@
+where('id', $typeid)->First();
+
+
+ $data['params'] = '';
+ $data['link_title'] = '';
+ $data['link_url'] = '';
+
+ if ($linkId) {
+ $link = Link::find($linkId);
+ $data['params'] = json_decode($link['type_params']);
+ $data['link_title'] = $link->title;
+ $data['link_url'] = $link->link;
+ }
+
+ if (!empty($linkType) && $linkType->typename === 'predefined') {
+ // get buttons list if showing predefined form
+ $buttons = Button::select('name')->orderBy('name', 'asc')->get();
+ foreach ($buttons as $btn) {
+ $data['buttons'][] = [
+ 'name' => $btn->name,
+ 'title' => ucwords($btn->name),
+ 'selected' => (is_object($data['params']) && $data['params']->button === $btn->name)
+ ];
+ }
+//echo "
"; print_r($data['params']); exit;
+
+ }
+ return view('components.pageitems.'. $linkType->typename.'-form', $data);
+
+ $jsonForm = FormFactory::jsonForm();
+ try {
+ $json = $linkType->params;
+ } catch (\Throwable $th) {
+ //throw $th;
+ }
+
+
+ // dynamiclly create params for predefined website to fill a select list with available buttons
+ if (!empty($linkType) && $linkType->typename === 'predefined') {
+ $buttons = Button::select('name')->orderBy('name', 'asc')->get();
+ $pdParams[] = ['tag' => 'select', 'name' => 'button', 'id'=> 'button'];
+ foreach ($buttons as $btn) {
+ $pdParams[0]['value'][] = [
+ 'tag'=>'option',
+ 'label' => ucwords($btn->name),
+ 'value' => $btn->name
+ ];
+
+ }
+ $pdParams[] = ['tag' => 'input', 'name' => 'link_title', 'id' => 'link_title', 'name' => 'link_title', 'tip' => 'Leave blank for default title'];
+ $pdParams[] = ['tag' => 'input', 'name' => 'link_url', 'id' => 'link_url', 'name' => 'link_url', 'tip' => 'Enter the url address for this site.'];
+
+ $json = json_encode($pdParams);
+ }
+
+ if (empty($json)) {
+ $json =
+ <<";
+// print_r($typeParams);
+ //print_r($params[$idx]);
+ //echo "
";
+
+ if ($typeParams && property_exists($typeParams, $params[$idx]['name'])) {
+ if (key_exists('value', $params[$idx]) && is_array($params[$idx]['value'])) {
+
+ $optIdx = 0;
+ foreach ($params[$idx]['value'] as $option) {
+ //echo $option['value']."
";
+ //echo $typeParams->{$params[$idx]['name']};
+ if ($option['value'] == $typeParams->{$params[$idx]['name']}) {
+ $params[$idx]['value'][$optIdx]['selected'] = true;
+ break;
+ }
+ //echo $key ." = ".$value;
+ $optIdx++;
+ }
+ } else {
+ $params[$idx]['value'] = $typeParams->{$params[$idx]['name']};
+ }
+ }
+
+ }
+
+ $idx++;
+ }
+ $json = json_encode($params);
+
+
+ echo $jsonForm->render($json);
+ }
+}
diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php
index 7da49f4..7f7599f 100755
--- a/app/Http/Controllers/UserController.php
+++ b/app/Http/Controllers/UserController.php
@@ -4,6 +4,8 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
+use Cohensive\OEmbed\Facades\OEmbed;
+use Illuminate\Support\Facades\Schema;
use Auth;
use DB;
@@ -13,20 +15,23 @@ use File;
use App\Models\User;
use App\Models\Button;
use App\Models\Link;
+use App\Models\LinkType;
- //Function tests if string starts with certain string (used to test for illegal strings)
-function stringStartsWith($haystack,$needle,$case=true) {
- if ($case){
+//Function tests if string starts with certain string (used to test for illegal strings)
+function stringStartsWith($haystack, $needle, $case = true)
+{
+ if ($case) {
return strpos($haystack, $needle, 0) === 0;
}
return stripos($haystack, $needle, 0) === 0;
}
- //Function tests if string ends with certain string (used to test for illegal strings)
-function stringEndsWith($haystack,$needle,$case=true) {
+//Function tests if string ends with certain string (used to test for illegal strings)
+function stringEndsWith($haystack, $needle, $case = true)
+{
$expectedPosition = strlen($haystack) - strlen($needle);
- if ($case){
+ if ($case) {
return strrpos($haystack, $needle, 0) === $expectedPosition;
}
return strripos($haystack, $needle, 0) === $expectedPosition;
@@ -35,18 +40,36 @@ function stringEndsWith($haystack,$needle,$case=true) {
class UserController extends Controller
{
- //Statistics of the number of clicks and links
+ //Statistics of the number of clicks and links
public function index()
{
$userId = Auth::user()->id;
$littlelink_name = Auth::user()->littlelink_name;
+ $userinfo = User::find($userId);
$links = Link::where('user_id', $userId)->select('link')->count();
-
$clicks = Link::where('user_id', $userId)->sum('click_number');
+ $topLinks = Link::where('user_id', $userId)->orderby('click_number', 'desc')
+ ->whereNotNull('link')->where('link', '<>', '')
+ ->take(5)->get();
- return view('studio/index', ['littlelink_name' => $littlelink_name, 'links' => $links, 'clicks' => $clicks]);
+ $pageStats = [
+ 'visitors' => [
+ 'all' => visits('App\Models\User', $littlelink_name)->count(),
+ 'day' => visits('App\Models\User', $littlelink_name)->period('day')->count(),
+ 'week' => visits('App\Models\User', $littlelink_name)->period('week')->count(),
+ 'month' => visits('App\Models\User', $littlelink_name)->period('month')->count(),
+ 'year' => visits('App\Models\User', $littlelink_name)->period('year')->count(),
+ ],
+ 'os' => visits('App\Models\User', $littlelink_name)->operatingSystems(),
+ 'referers' => visits('App\Models\User', $littlelink_name)->refs(),
+ 'countries' => visits('App\Models\User', $littlelink_name)->countries(),
+ ];
+
+
+
+ return view('studio/index', ['greeting' => $userinfo->name, 'toplinks' => $topLinks, 'links' => $links, 'clicks' => $clicks, 'pageStats' => $pageStats]);
}
//Show littlelink page. example => http://127.0.0.1:8000/+admin
@@ -70,75 +93,156 @@ class UserController extends Controller
//Show littlelink page as home page if set in config
public function littlelinkhome(request $request)
{
+
$littlelink_name = env('HOME_URL');
$id = User::select('id')->where('littlelink_name', $littlelink_name)->value('id');
if (empty($id)) {
return abort(404);
}
-
- $userinfo = User::select('name', 'littlelink_name', 'littlelink_description', 'theme')->where('id', $id)->first();
- $information = User::select('name', 'littlelink_name', 'littlelink_description', 'theme')->where('id', $id)->get();
-
- $links = DB::table('links')->join('buttons', 'buttons.id', '=', 'links.button_id')->select('links.link', 'links.id', 'links.button_id', 'links.title', 'links.custom_css', 'links.custom_icon', 'buttons.name')->where('user_id', $id)->orderBy('up_link', 'asc')->orderBy('order', 'asc')->get();
+
+ $userinfo = User::select('name', 'littlelink_name', 'littlelink_description', 'image', 'theme')->where('id', $id)->first();
+ $information = User::select('name', 'littlelink_name', 'littlelink_description', 'image', 'theme')->where('id', $id)->get();
+
+ $links = DB::table('links')
+ ->where('user_id', $id)
+ ->orderBy('up_link', 'asc')->orderBy('order', 'asc')
+ ->get();
return view('littlelink', ['userinfo' => $userinfo, 'information' => $information, 'links' => $links, 'littlelink_name' => $littlelink_name]);
}
- //Show buttons for add link
- public function showButtons()
+ //Show add/update form
+ public function AddUpdateLink($id = 0)
{
- $data['buttons'] = Button::select('name')->orderBy('name', 'asc')->get();
- return view('studio/add-link', $data);
+
+ if ($id !== 0) {
+ $linkData = Link::find($id);
+ } else {
+ $linkData = new Link(['typename' => 'link', 'id'=>'0']);
+ }
+ $data['LinkTypes'] = LinkType::get();
+ $data['LinkData'] = $linkData;
+ $data['LinkID'] = $id;
+ $data['title'] = "link";
+
+ foreach ($data['LinkTypes']->toArray() as $key => $val) {
+ if ($val['typename'] === $linkData['typename']) {
+ $data['SelectedLinkType'] = $val;
+ break;
+ }
+ }
+
+ return view('studio/edit-link', $data);
}
//Save add link
- public function addLink(request $request)
+ public function saveLink(request $request)
{
- if ($request->button == 'heading' or $request->button == 'space')
- $request->validate([
- 'link' => '',
- 'title' => '',
- 'button' => 'required'
- ]);
- else
- $request->validate([
- 'link' => 'required',
- 'title' => '',
- 'button' => 'required'
- ]);
+ // if ($request->button == 'heading' or $request->button == 'space')
+ // $request->validate([
+ // 'link' => '',
+ // 'title' => '',
+ // 'button' => 'required'
+ // ]);
+ // else
+ // $request->validate([
+ // 'link' => 'required',
+ // 'title' => '',
+ // 'button' => 'required'
+ // ]);
- if ($request->button == 'phone')
- $link1 = 'tel:' . $request->link;
- elseif ($request->button == 'default email' or $request->button == 'default email_alt')
- $link1 = 'mailto:' . $request->link;
- elseif (stringStartsWith($request->link,'http://') == 'true' or stringStartsWith($request->link,'https://') == 'true')
- $link1 = $request->link;
- else
- $link1 = 'https://' . $request->link;
- if (stringEndsWith($request->link,'/') == 'true')
- $link = rtrim($link1, "/ ");
- else
- $link = $link1;
- if ($request->title == '')
- $title = $request->button;
- else
- $title = $request->title;
- $button = $request->button;
+ $linkType = LinkType::find($request->linktype_id);
+ $LinkTitle = ($request->link_text ?? $request->link_title) ?? $request->title;
+ $LinkURL = $request->link_url ?? $request->link;
+
+
+ $OrigLink = Link::find($request->linkid);
+
+
+ // if (stringStartsWith($LinkURL, 'http://') == 'true' or stringStartsWith($LinkURL, 'https://') == 'true')
+ // $link1 = $LinkURL;
+ // elseif (!empty($LinkURL))
+ // $link1 = 'https://' . $LinkURL;
+
+ // if (stringEndsWith($LinkURL, '/') == 'true')
+ // $link = rtrim($link1, "/ ");
+ // else
+ // $link = $link1;
+
+
+
+ $customParams = [];
+ foreach ($request->all() as $key => $param) {
+ //echo $key . " = " . $param . "
";
+ if (str_starts_with($key, "_") || in_array($key, ['linktype_id', 'linktype_title', 'link_text', 'link_url']))
+ continue;
+
+ $customParams[$key] = $param;
+ }
$userId = Auth::user()->id;
- $buttonId = Button::select('id')->where('name' , $button)->value('id');
+ $button = Button::where('name', $request->button)->first();
- $links = new Link;
- $links->link = $link;
- $links->user_id = $userId;
- $links->title = $title;
- $links->button_id = $buttonId;
- $links->save();
- $links->order = ($links->id - 1);
- $links->save();
+ if ($button && empty($LinkTitle))
+ $LinkTitle = ucwords($button->name);
+
+ if ($linkType->typename == 'video' && empty($LinkTitle)) {
+ $embed = OEmbed::get($LinkURL);
+ if ($embed) {
+ $LinkTitle = $embed->data()['title'];
+ }
+ }
+
+ $message = (ucwords($button?->name) ?? ucwords($linkType->typename)). " has been ";
+
+ if ($OrigLink) {
+ //EDITING EXISTING
+ $OrigLink->update([
+ 'link' => $LinkURL,
+ 'title' => $LinkTitle,
+ 'button_id' => $button?->id,
+ ]);
+ $message .="updated";
+ } else {
+ // ADDING NEW
+
+ $isCustomWebsite = $customParams['GetSiteIcon'] ?? null;
+ $SpacerHeight = $customParams['height'] ?? null;
+
+ $links = new Link;
+ $links->link = $LinkURL;
+ $links->user_id = $userId;
+ if($linkType->typename == "spacer"){
+ $links->title = $SpacerHeight;
+ }else{
+ $links->title = $LinkTitle;
+ }
+ if($linkType->typename == "link" and $isCustomWebsite == "1"){
+ $links->button_id = "2";
+ }elseif($linkType->typename == "link"){
+ $links->button_id = "1";
+ }elseif($linkType->typename == "spacer"){
+ $links->button_id = "43";
+ }elseif($linkType->typename == "heading"){
+ $links->button_id = "42";
+ }else{
+ $links->button_id = $button?->id;
+ }
+ // $links->type_params = json_encode($customParams);
+ // $links->typename = $linkType->typename;
+ $links->save();
+
+ $links->order = ($links->id - 1);
+ $links->save();
+ $message .= "added";
+ }
+
+ return Redirect('studio/links')
+ ->with('success', $message);
+
+ // echo $customParams['GetSiteIcon'];
- return back();
}
public function sortLinks(Request $request)
@@ -179,23 +283,31 @@ class UserController extends Controller
]);
}
+
//Count the number of clicks and redirect to link
public function clickNumber(request $request)
{
$link = $request->link;
+ $query = $request->query();
$linkId = $request->id;
- if(empty($link && $linkId))
- {
+ if (empty($link && $linkId)) {
return abort(404);
}
+ if (!empty($query)) {
+ $qs = [];
+ foreach ($query as $qk => $qv) {
+ $qs[] = $qk . '=' . $qv;
+ }
+ $link = $link . '?' . implode('&', $qs);
+ }
+
Link::where('id', $linkId)->increment('click_number', 1);
- $link = Link::select('link')->where('id', $linkId)->get()[0]['link'];
return redirect()->away($link);
}
-
+
//Show link, click number, up link in links page
public function showLinks()
{
@@ -242,8 +354,8 @@ class UserController extends Controller
$linkId = $request->id;
Link::where('id', $linkId)->delete();
-
- return back();
+
+ return back()->with('success', 'Link Deleted');
}
//Raise link on the littlelink page
@@ -252,9 +364,9 @@ class UserController extends Controller
$linkId = $request->id;
$upLink = $request->up;
- if($upLink == 'yes'){
+ if ($upLink == 'yes') {
$up = 'no';
- }elseif($upLink == 'no'){
+ } elseif ($upLink == 'no') {
$up = 'yes';
}
@@ -274,11 +386,10 @@ class UserController extends Controller
$custom_css = Link::where('id', $linkId)->value('custom_css');
$buttonId = Link::where('id', $linkId)->value('button_id');
$buttonName = Button::where('id', $buttonId)->value('name');
-
- $buttons = Button::select('id', 'name')->orderBy('name', 'asc')->get();
-
- return view('studio/edit-link', ['custom_css' => $custom_css, 'buttonId' => $buttonId, 'buttons' => $buttons, 'link' => $link, 'title' => $title, 'order' => $order, 'id' => $linkId , 'buttonName' => $buttonName]);
+ $buttons = Button::select('id', 'name')->orderBy('name', 'asc')->get();
+
+ return view('studio/edit-link', ['custom_css' => $custom_css, 'buttonId' => $buttonId, 'buttons' => $buttons, 'link' => $link, 'title' => $title, 'order' => $order, 'id' => $linkId, 'buttonName' => $buttonName]);
}
//Show custom CSS + custom icon
@@ -294,9 +405,8 @@ class UserController extends Controller
$buttonId = Link::where('id', $linkId)->value('button_id');
$buttons = Button::select('id', 'name')->get();
-
- return view('studio/button-editor', ['custom_icon' => $custom_icon, 'custom_css' => $custom_css, 'buttonId' => $buttonId, 'buttons' => $buttons, 'link' => $link, 'title' => $title, 'order' => $order, 'id' => $linkId]);
+ return view('studio/button-editor', ['custom_icon' => $custom_icon, 'custom_css' => $custom_css, 'buttonId' => $buttonId, 'buttons' => $buttons, 'link' => $link, 'title' => $title, 'order' => $order, 'id' => $linkId]);
}
//Save edit link
@@ -308,20 +418,20 @@ class UserController extends Controller
'button' => 'required',
]);
- if (stringStartsWith($request->link,'http://') == 'true' or stringStartsWith($request->link,'https://') == 'true' or stringStartsWith($request->link,'mailto:') == 'true')
- $link1 = $request->link;
+ if (stringStartsWith($request->link, 'http://') == 'true' or stringStartsWith($request->link, 'https://') == 'true' or stringStartsWith($request->link, 'mailto:') == 'true')
+ $link1 = $request->link;
else
- $link1 = 'https://' . $request->link;
- if (stringEndsWith($request->link,'/') == 'true')
- $link = rtrim($link1, "/ ");
- else
- $link = $link1;
+ $link1 = 'https://' . $request->link;
+ if (stringEndsWith($request->link, '/') == 'true')
+ $link = rtrim($link1, "/ ");
+ else
+ $link = $link1;
$title = $request->title;
$order = $request->order;
$button = $request->button;
$linkId = $request->id;
- $buttonId = Button::select('id')->where('name' , $button)->value('id');
+ $buttonId = Button::select('id')->where('name', $button)->value('id');
Link::where('id', $linkId)->update(['link' => $link, 'title' => $title, 'order' => $order, 'button_id' => $buttonId]);
@@ -335,13 +445,13 @@ class UserController extends Controller
$custom_icon = $request->custom_icon;
$custom_css = $request->custom_css;
- if ($request->custom_css == "" and $request->custom_icon =! "") {
- Link::where('id', $linkId)->update(['custom_icon' => $custom_icon]);
- } elseif ($request->custom_icon == "" and $request->custom_css =! "") {
- Link::where('id', $linkId)->update(['custom_css' => $custom_css]);
- } else {
- Link::where('id', $linkId)->update([]);
- }
+ if ($request->custom_css == "" and $request->custom_icon = !"") {
+ Link::where('id', $linkId)->update(['custom_icon' => $custom_icon]);
+ } elseif ($request->custom_icon == "" and $request->custom_css = !"") {
+ Link::where('id', $linkId)->update(['custom_css' => $custom_css]);
+ } else {
+ Link::where('id', $linkId)->update([]);
+ }
return Redirect('#result');
}
@@ -350,7 +460,7 @@ class UserController extends Controller
{
$userId = Auth::user()->id;
- $data['pages'] = User::where('id', $userId)->select('littlelink_name', 'littlelink_description')->get();
+ $data['pages'] = User::where('id', $userId)->select('littlelink_name', 'littlelink_description', 'image', 'name')->get();
return view('/studio/page', $data);
}
@@ -358,17 +468,23 @@ class UserController extends Controller
//Save littlelink page (name, description, logo)
public function editPage(request $request)
{
+ $request->validate([
+ 'littlelink_name' => 'required|string|max:255|unique:users',
+ 'name' => 'required|string|max:255|unique:users',
+ ]);
+
$userId = Auth::user()->id;
$littlelink_name = Auth::user()->littlelink_name;
$profilePhoto = $request->file('image');
$pageName = $request->pageName;
$pageDescription = $request->pageDescription;
-
- User::where('id', $userId)->update(['littlelink_name' => $pageName, 'littlelink_description' => $pageDescription]);
+ $name = $request->Name;
- if(!empty($profilePhoto)){
- $profilePhoto->move(base_path('/img'), $littlelink_name . ".png");
+ User::where('id', $userId)->update(['littlelink_name' => $pageName, 'littlelink_description' => $pageDescription, 'name' => $name]);
+
+ if (!empty($profilePhoto)) {
+ $profilePhoto->move(base_path('/img'), $littlelink_name . ".png");
}
return Redirect('/studio/page');
@@ -396,44 +512,46 @@ class UserController extends Controller
$zipfile = $request->file('zip');
$theme = $request->theme;
-
+ $message = "";
+
User::where('id', $userId)->update(['theme' => $theme]);
- if(!empty($zipfile)){
- $zipfile->move(base_path('/themes'), "temp.zip");
- $zip = new ZipArchive;
- $zip->open(base_path() . '/themes/temp.zip');
- $zip->extractTo(base_path() . '/themes');
- $zip->close();
- unlink(base_path() . '/themes/temp.zip');
+ if (!empty($zipfile)) {
- // Removes version numbers from folder.
-
- $folder = base_path('themes');
- $regex = '/[0-9.-]/';
- $files = scandir($folder);
+ $zipfile->move(base_path('/themes'), "temp.zip");
- foreach($files as $file) {
- if($file !== '.' && $file !== '..') {
- if(preg_match($regex, $file)) {
- $new_file = preg_replace($regex, '', $file);
- File::copyDirectory($folder . '/' . $file, $folder . '/' . $new_file);
- $dirname = $folder . '/' . $file;
- if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
- system('rmdir '.escapeshellarg($dirname).' /s /q');
- } else {
- system("rm -rf ".escapeshellarg($dirname));
+ $zip = new ZipArchive;
+ $zip->open(base_path() . '/themes/temp.zip');
+ $zip->extractTo(base_path() . '/themes');
+ $zip->close();
+ unlink(base_path() . '/themes/temp.zip');
+
+ // Removes version numbers from folder.
+
+ $folder = base_path('themes');
+ $regex = '/[0-9.-]/';
+ $files = scandir($folder);
+
+ foreach ($files as $file) {
+ if ($file !== '.' && $file !== '..') {
+ if (preg_match($regex, $file)) {
+ $new_file = preg_replace($regex, '', $file);
+ File::copyDirectory($folder . '/' . $file, $folder . '/' . $new_file);
+ $dirname = $folder . '/' . $file;
+ if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
+ system('rmdir ' . escapeshellarg($dirname) . ' /s /q');
+ } else {
+ system("rm -rf " . escapeshellarg($dirname));
+ }
+ }
+ }
}
- }
- }
}
- }
-
- return Redirect('/studio/theme');
+ return Redirect('/studio/theme')->with("success", $message);
}
//Show user (name, email, password)
@@ -461,12 +579,12 @@ class UserController extends Controller
$email = $request->email;
$password = Hash::make($request->password);
-if($request->name != '' ) {
- User::where('id', $userId)->update(['name' => $name]);
-} elseif($request->email != '' ) {
- User::where('id', $userId)->update(['email' => $email]);
-} elseif($request->password != '' ) {
- User::where('id', $userId)->update(['password' => $password]);
+ if ($request->name != '') {
+ User::where('id', $userId)->update(['name' => $name]);
+ } elseif ($request->email != '') {
+ User::where('id', $userId)->update(['email' => $email]);
+ } elseif ($request->password != '') {
+ User::where('id', $userId)->update(['password' => $password]);
}
return back();
}
@@ -480,13 +598,32 @@ if($request->name != '' ) {
if (empty($id)) {
return abort(404);
}
-
+
$userinfo = User::select('name', 'littlelink_name', 'littlelink_description', 'theme')->where('id', $id)->first();
$information = User::select('name', 'littlelink_name', 'littlelink_description', 'theme')->where('id', $id)->get();
-
+
$links = DB::table('links')->join('buttons', 'buttons.id', '=', 'links.button_id')->select('links.link', 'links.id', 'links.button_id', 'links.title', 'links.custom_css', 'links.custom_icon', 'buttons.name')->where('user_id', $id)->orderBy('up_link', 'asc')->orderBy('order', 'asc')->get();
return view('components/theme', ['userinfo' => $userinfo, 'information' => $information, 'links' => $links, 'littlelink_name' => $littlelink_name]);
}
+ //Delete existing user
+ public function deleteUser(request $request)
+ {
+
+ // echo $request->id;
+ // echo "
";
+ // echo Auth::id();
+ $id = $request->id;
+
+ if($id == Auth::id() and $id != "1") {
+ $user = User::find($id);
+
+ Schema::disableForeignKeyConstraints();
+ $user->forceDelete();
+ Schema::enableForeignKeyConstraints();
+ }
+
+ return redirect('/');
+ }
}
\ No newline at end of file
diff --git a/app/Http/Requests/LinkTypeRequest.php b/app/Http/Requests/LinkTypeRequest.php
new file mode 100644
index 0000000..6bcfade
--- /dev/null
+++ b/app/Http/Requests/LinkTypeRequest.php
@@ -0,0 +1,36 @@
+role == 'admin';
+ }
+
+ /**
+ * Get the validation rules that apply to the request.
+ *
+ * @return array
+ */
+ public function rules()
+ {
+ return [
+ 'title' => 'required',
+ 'typename' => 'required',
+ 'icon' => 'required',
+ 'params' => 'json|nullable'
+ ];
+ }
+}
diff --git a/app/Models/Link.php b/app/Models/Link.php
index 62cfb12..3cc35c6 100644
--- a/app/Models/Link.php
+++ b/app/Models/Link.php
@@ -5,7 +5,11 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
+
class Link extends Model
{
use HasFactory;
+
+ protected $fillable = ['link', 'title', 'button_id', 'type_params', 'typename'];
+
}
diff --git a/app/Models/LinkType.php b/app/Models/LinkType.php
new file mode 100644
index 0000000..a0bee96
--- /dev/null
+++ b/app/Models/LinkType.php
@@ -0,0 +1,13 @@
+belongsTo(User::class);
+ }
+}
diff --git a/app/Models/User.php b/app/Models/User.php
index a481d17..8d7e618 100755
--- a/app/Models/User.php
+++ b/app/Models/User.php
@@ -19,7 +19,13 @@ class User extends Authenticatable implements MustVerifyEmail
protected $fillable = [
'name',
'email',
+ 'image',
'password',
+ 'provider',
+ 'provider_id',
+ 'email_verified_at',
+ 'littlelink_name',
+
];
/**
@@ -40,4 +46,13 @@ class User extends Authenticatable implements MustVerifyEmail
protected $casts = [
'email_verified_at' => 'datetime',
];
+
+ public function visits()
+ {
+ return visits($this)->relation();
+ }
+ public function socialAccounts()
+ {
+ return $this->hasMany(socialAccount::class);
+ }
}
diff --git a/app/View/Components/Modal.php b/app/View/Components/Modal.php
new file mode 100644
index 0000000..d4fec40
--- /dev/null
+++ b/app/View/Components/Modal.php
@@ -0,0 +1,40 @@
+title = $title;
+ $this->id = $id;
+ }
+
+ /**
+ * Get the view / contents that represent the component.
+ *
+ * @return \Illuminate\Contracts\View\View|\Closure|string
+ */
+ public function render()
+ {
+ return view('components.modal');
+ }
+
+ public function getModalIdString(): string
+ {
+ if ($this->id != '') {
+ return $this->id;
+ }
+
+ return "model" . rand(1111, 9999);
+ }
+}
diff --git a/app/View/Components/PageItemDisplay.php b/app/View/Components/PageItemDisplay.php
new file mode 100644
index 0000000..b032e5d
--- /dev/null
+++ b/app/View/Components/PageItemDisplay.php
@@ -0,0 +1,47 @@
+title = $title;
+ $this->link = $link;
+ }
+
+ /**
+ * Get the view / contents that represent the component.
+ *
+ * @return \Illuminate\Contracts\View\View|\Closure|string
+ */
+ public function render()
+ {
+
+ $params = json_decode($this->link->type_params);
+
+
+
+ return view('components.pageitems.'.$this->link->typename.'-display', ['link' => $this->link, 'params' => $params]);
+ }
+
+ public function getModalIdString(): string
+ {
+ if ($this->id != '') {
+ return $this->id;
+ }
+
+ return "model" . rand(1111, 9999);
+ }
+}
diff --git a/composer.json b/composer.json
index 78100c3..dc4b670 100644
--- a/composer.json
+++ b/composer.json
@@ -7,21 +7,26 @@
"require": {
"php": "^7.3|^8.0",
"codedge/laravel-selfupdater": "^3.4",
+ "awssat/laravel-visits": "^4.0",
+ "doctrine/dbal": "^3.0",
"fideloper/proxy": "^4.4",
"fruitcake/laravel-cors": "^3.0",
- "geo-sot/laravel-env-editor": "^1.1",
+ "geo-sot/laravel-env-editor": "^2.0",
"guzzlehttp/guzzle": "^7.4",
- "laravel/framework": "^8.12",
+ "laravel/framework": "^9.0",
+ "laravel/socialite": "^5.5",
"laravel/tinker": "^2.5",
- "spatie/laravel-backup": "^6.16"
+ "spatie/laravel-backup": "^8.13",
+ "cohensive/oembed": "^0.16"
},
"require-dev": {
- "facade/ignition": "^2.5",
+ "barryvdh/laravel-ide-helper": "^2.12",
+ "spatie/laravel-ignition": "^1.0",
"fakerphp/faker": "^1.9.1",
"laravel/breeze": "^1.1",
"laravel/sail": "^1.0.1",
"mockery/mockery": "^1.4.2",
- "nunomaduro/collision": "^5.0",
+ "nunomaduro/collision": "^6.1",
"phpunit/phpunit": "^9.3.3"
},
"autoload": {
diff --git a/composer.lock b/composer.lock
index 313c23f..0d2629e 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,8 +4,95 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "043c73b85cc1027458d19dd612a5dd3e",
+ "content-hash": "c8f0bb20cb96eaba103dcc3544eddf94",
"packages": [
+ {
+ "name": "awssat/laravel-visits",
+ "version": "4.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/awssat/laravel-visits.git",
+ "reference": "4e1b74618eb13aa92b822e3c11dacc0829ae28d6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/awssat/laravel-visits/zipball/4e1b74618eb13aa92b822e3c11dacc0829ae28d6",
+ "reference": "4e1b74618eb13aa92b822e3c11dacc0829ae28d6",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/support": "~5.5.0 || ~5.6.0 || ~5.7.0 || ~5.8.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0",
+ "jaybizzle/crawler-detect": "^1.2",
+ "php": "^7.3 || ^8.0",
+ "spatie/laravel-referer": "^1.6",
+ "torann/geoip": "^1.0|^3.0"
+ },
+ "require-dev": {
+ "doctrine/dbal": "^2.6|^3.0",
+ "illuminate/support": "~5.5.0 || ~5.6.0 || ~5.7.0 || ~5.8.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0",
+ "mockery/mockery": "^1.4 || ^2.0",
+ "orchestra/testbench": "^3.5 || ^3.6 || ^3.7 || ^3.8 || ^4.0 || ^5.0 || ^6.0 || ^7.0",
+ "phpunit/phpunit": "^9.0",
+ "predis/predis": "^1.1"
+ },
+ "suggest": {
+ "ext-redis": "Needed if you are using redis as engine data of laravel-visits",
+ "illuminate/database": "Needed if you are using database as engine data of laravel-visits",
+ "predis/predis": "Needed if you are using redis as data engine of laravel-visits"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Awssat\\Visits\\VisitsServiceProvider"
+ ],
+ "aliases": {
+ "Visits": "Awssat\\Visits\\Visits"
+ }
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/helpers.php"
+ ],
+ "psr-4": {
+ "Awssat\\Visits\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bader Almutairi",
+ "email": "bderemail@gmail.com"
+ },
+ {
+ "name": "Abdulrahman Alshuwayi",
+ "email": "hi@abdumu.com"
+ }
+ ],
+ "description": "Laravel Redis visits counter for Eloquent models",
+ "homepage": "https://github.com/awssat/laravel-visits",
+ "keywords": [
+ "cache",
+ "counter",
+ "laravel",
+ "package",
+ "php",
+ "redis",
+ "visits"
+ ],
+ "support": {
+ "issues": "https://github.com/awssat/laravel-visits/issues",
+ "source": "https://github.com/awssat/laravel-visits/tree/4.0.0"
+ },
+ "time": "2022-08-13T05:08:33+00:00"
+ },
{
"name": "brick/math",
"version": "0.10.2",
@@ -64,24 +151,23 @@
},
{
"name": "codedge/laravel-selfupdater",
- "version": "3.5.0",
+ "version": "3.4",
"source": {
"type": "git",
"url": "https://github.com/codedge/laravel-selfupdater.git",
- "reference": "c27e4e4dcc7b638df184c987f51c8b403dd389f6"
+ "reference": "7a08e9ab0913f2281ce214f1be1cfa87282dd50f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/codedge/laravel-selfupdater/zipball/c27e4e4dcc7b638df184c987f51c8b403dd389f6",
- "reference": "c27e4e4dcc7b638df184c987f51c8b403dd389f6",
+ "url": "https://api.github.com/repos/codedge/laravel-selfupdater/zipball/7a08e9ab0913f2281ce214f1be1cfa87282dd50f",
+ "reference": "7a08e9ab0913f2281ce214f1be1cfa87282dd50f",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-zip": "*",
"guzzlehttp/guzzle": "^7.4",
- "laravel/framework": "^8.83.23",
- "league/uri": "^6.7",
+ "laravel/framework": "^8.83.8 || ^9.2",
"php": "^7.4 || ^8.0 || ^8.1",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan-phpunit": "^1.1"
@@ -91,7 +177,7 @@
"mikey179/vfsstream": "^1.6",
"mockery/mockery": "^1.5",
"orchestra/testbench": "^6.24.1",
- "phpunit/phpunit": "^9.5.23"
+ "phpunit/phpunit": "^9.5.20"
},
"type": "library",
"extra": {
@@ -145,7 +231,66 @@
"type": "github"
}
],
- "time": "2022-08-23T14:33:55+00:00"
+ "time": "2022-04-27T21:53:15+00:00"
+ },
+ {
+ "name": "cohensive/oembed",
+ "version": "v0.16.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/KaneCohen/oembed.git",
+ "reference": "5a12ae8861feef4aba68a5d61cb603d008c204c0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/KaneCohen/oembed/zipball/5a12ae8861feef4aba68a5d61cb603d008c204c0",
+ "reference": "5a12ae8861feef4aba68a5d61cb603d008c204c0",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.0",
+ "symfony/http-client": "^5.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.0|^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Cohensive\\OEmbed\\OEmbedServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Cohensive\\OEmbed\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Kane Cohen",
+ "email": "kanecohen@gmail.com"
+ }
+ ],
+ "description": "Media embed generation using OEmbed protocol.",
+ "keywords": [
+ "embed",
+ "laravel",
+ "media",
+ "oembed",
+ "vimeo",
+ "youtube"
+ ],
+ "support": {
+ "issues": "https://github.com/KaneCohen/oembed/issues",
+ "source": "https://github.com/KaneCohen/oembed/tree/v0.16.0"
+ },
+ "time": "2022-05-11T08:22:53+00:00"
},
{
"name": "dflydev/dot-access-data",
@@ -222,6 +367,345 @@
},
"time": "2022-10-27T11:44:00+00:00"
},
+ {
+ "name": "doctrine/cache",
+ "version": "2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/cache.git",
+ "reference": "1ca8f21980e770095a31456042471a57bc4c68fb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb",
+ "reference": "1ca8f21980e770095a31456042471a57bc4c68fb",
+ "shasum": ""
+ },
+ "require": {
+ "php": "~7.1 || ^8.0"
+ },
+ "conflict": {
+ "doctrine/common": ">2.2,<2.4"
+ },
+ "require-dev": {
+ "cache/integration-tests": "dev-master",
+ "doctrine/coding-standard": "^9",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "psr/cache": "^1.0 || ^2.0 || ^3.0",
+ "symfony/cache": "^4.4 || ^5.4 || ^6",
+ "symfony/var-exporter": "^4.4 || ^5.4 || ^6"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Guilherme Blanco",
+ "email": "guilhermeblanco@gmail.com"
+ },
+ {
+ "name": "Roman Borschel",
+ "email": "roman@code-factory.org"
+ },
+ {
+ "name": "Benjamin Eberlei",
+ "email": "kontakt@beberlei.de"
+ },
+ {
+ "name": "Jonathan Wage",
+ "email": "jonwage@gmail.com"
+ },
+ {
+ "name": "Johannes Schmitt",
+ "email": "schmittjoh@gmail.com"
+ }
+ ],
+ "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.",
+ "homepage": "https://www.doctrine-project.org/projects/cache.html",
+ "keywords": [
+ "abstraction",
+ "apcu",
+ "cache",
+ "caching",
+ "couchdb",
+ "memcached",
+ "php",
+ "redis",
+ "xcache"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/cache/issues",
+ "source": "https://github.com/doctrine/cache/tree/2.2.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-20T20:07:39+00:00"
+ },
+ {
+ "name": "doctrine/dbal",
+ "version": "3.5.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/dbal.git",
+ "reference": "f38ee8aaca2d58ee88653cb34a6a3880c23f38a5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/f38ee8aaca2d58ee88653cb34a6a3880c23f38a5",
+ "reference": "f38ee8aaca2d58ee88653cb34a6a3880c23f38a5",
+ "shasum": ""
+ },
+ "require": {
+ "composer-runtime-api": "^2",
+ "doctrine/cache": "^1.11|^2.0",
+ "doctrine/deprecations": "^0.5.3|^1",
+ "doctrine/event-manager": "^1|^2",
+ "php": "^7.4 || ^8.0",
+ "psr/cache": "^1|^2|^3",
+ "psr/log": "^1|^2|^3"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "10.0.0",
+ "jetbrains/phpstorm-stubs": "2022.2",
+ "phpstan/phpstan": "1.8.10",
+ "phpstan/phpstan-strict-rules": "^1.4",
+ "phpunit/phpunit": "9.5.25",
+ "psalm/plugin-phpunit": "0.17.0",
+ "squizlabs/php_codesniffer": "3.7.1",
+ "symfony/cache": "^5.4|^6.0",
+ "symfony/console": "^4.4|^5.4|^6.0",
+ "vimeo/psalm": "4.29.0"
+ },
+ "suggest": {
+ "symfony/console": "For helpful console commands such as SQL execution and import of files."
+ },
+ "bin": [
+ "bin/doctrine-dbal"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\DBAL\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Guilherme Blanco",
+ "email": "guilhermeblanco@gmail.com"
+ },
+ {
+ "name": "Roman Borschel",
+ "email": "roman@code-factory.org"
+ },
+ {
+ "name": "Benjamin Eberlei",
+ "email": "kontakt@beberlei.de"
+ },
+ {
+ "name": "Jonathan Wage",
+ "email": "jonwage@gmail.com"
+ }
+ ],
+ "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.",
+ "homepage": "https://www.doctrine-project.org/projects/dbal.html",
+ "keywords": [
+ "abstraction",
+ "database",
+ "db2",
+ "dbal",
+ "mariadb",
+ "mssql",
+ "mysql",
+ "oci8",
+ "oracle",
+ "pdo",
+ "pgsql",
+ "postgresql",
+ "queryobject",
+ "sasql",
+ "sql",
+ "sqlite",
+ "sqlserver",
+ "sqlsrv"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/dbal/issues",
+ "source": "https://github.com/doctrine/dbal/tree/3.5.1"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-24T07:26:18+00:00"
+ },
+ {
+ "name": "doctrine/deprecations",
+ "version": "v1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/deprecations.git",
+ "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
+ "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1|^8.0"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^9",
+ "phpunit/phpunit": "^7.5|^8.5|^9.5",
+ "psr/log": "^1|^2|^3"
+ },
+ "suggest": {
+ "psr/log": "Allows logging deprecations via PSR-3 logger implementation"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "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": {
+ "issues": "https://github.com/doctrine/deprecations/issues",
+ "source": "https://github.com/doctrine/deprecations/tree/v1.0.0"
+ },
+ "time": "2022-05-02T15:47:09+00:00"
+ },
+ {
+ "name": "doctrine/event-manager",
+ "version": "1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/event-manager.git",
+ "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520",
+ "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/deprecations": "^0.5.3 || ^1",
+ "php": "^7.1 || ^8.0"
+ },
+ "conflict": {
+ "doctrine/common": "<2.9"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^9 || ^10",
+ "phpstan/phpstan": "~1.4.10 || ^1.8.8",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "vimeo/psalm": "^4.24"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Common\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Guilherme Blanco",
+ "email": "guilhermeblanco@gmail.com"
+ },
+ {
+ "name": "Roman Borschel",
+ "email": "roman@code-factory.org"
+ },
+ {
+ "name": "Benjamin Eberlei",
+ "email": "kontakt@beberlei.de"
+ },
+ {
+ "name": "Jonathan Wage",
+ "email": "jonwage@gmail.com"
+ },
+ {
+ "name": "Johannes Schmitt",
+ "email": "schmittjoh@gmail.com"
+ },
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com"
+ }
+ ],
+ "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.",
+ "homepage": "https://www.doctrine-project.org/projects/event-manager.html",
+ "keywords": [
+ "event",
+ "event dispatcher",
+ "event manager",
+ "event system",
+ "events"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/event-manager/issues",
+ "source": "https://github.com/doctrine/event-manager/tree/1.2.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-12T20:51:15+00:00"
+ },
{
"name": "doctrine/inflector",
"version": "2.0.6",
@@ -452,27 +936,27 @@
},
{
"name": "egulias/email-validator",
- "version": "2.1.25",
+ "version": "3.2.1",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
- "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4"
+ "reference": "f88dcf4b14af14a98ad96b14b2b317969eab6715"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4",
- "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/f88dcf4b14af14a98ad96b14b2b317969eab6715",
+ "reference": "f88dcf4b14af14a98ad96b14b2b317969eab6715",
"shasum": ""
},
"require": {
- "doctrine/lexer": "^1.0.1",
- "php": ">=5.5",
- "symfony/polyfill-intl-idn": "^1.10"
+ "doctrine/lexer": "^1.2",
+ "php": ">=7.2",
+ "symfony/polyfill-intl-idn": "^1.15"
},
"require-dev": {
- "dominicsayers/isemail": "^3.0.7",
- "phpunit/phpunit": "^4.8.36|^7.5.15",
- "satooshi/php-coveralls": "^1.0.1"
+ "php-coveralls/php-coveralls": "^2.2",
+ "phpunit/phpunit": "^8.5.8|^9.3.3",
+ "vimeo/psalm": "^4"
},
"suggest": {
"ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
@@ -480,7 +964,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.1.x-dev"
+ "dev-master": "3.0.x-dev"
}
},
"autoload": {
@@ -508,7 +992,7 @@
],
"support": {
"issues": "https://github.com/egulias/EmailValidator/issues",
- "source": "https://github.com/egulias/EmailValidator/tree/2.1.25"
+ "source": "https://github.com/egulias/EmailValidator/tree/3.2.1"
},
"funding": [
{
@@ -516,7 +1000,7 @@
"type": "github"
}
],
- "time": "2020-12-29T14:50:06+00:00"
+ "time": "2022-06-18T20:57:19+00:00"
},
{
"name": "fideloper/proxy",
@@ -728,26 +1212,26 @@
},
{
"name": "geo-sot/laravel-env-editor",
- "version": "v1.1.0",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/GeoSot/Laravel-EnvEditor.git",
- "reference": "d519594fcbc5dd9d35d47d56a96aae17f12c685f"
+ "reference": "0cf5ebe510a404862d83992974169a2d5e155968"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/GeoSot/Laravel-EnvEditor/zipball/d519594fcbc5dd9d35d47d56a96aae17f12c685f",
- "reference": "d519594fcbc5dd9d35d47d56a96aae17f12c685f",
+ "url": "https://api.github.com/repos/GeoSot/Laravel-EnvEditor/zipball/0cf5ebe510a404862d83992974169a2d5e155968",
+ "reference": "0cf5ebe510a404862d83992974169a2d5e155968",
"shasum": ""
},
"require": {
- "laravel/framework": ">=8",
- "php": ">=7.3"
+ "laravel/framework": "^8|^9",
+ "php": "^8"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^3.4",
- "nunomaduro/larastan": "^1.0",
- "orchestra/testbench": "^6"
+ "friendsofphp/php-cs-fixer": "^3",
+ "nunomaduro/larastan": "^2",
+ "orchestra/testbench": "^7"
},
"type": "library",
"extra": {
@@ -784,9 +1268,9 @@
],
"support": {
"issues": "https://github.com/GeoSot/Laravel-EnvEditor/issues",
- "source": "https://github.com/GeoSot/Laravel-EnvEditor/tree/v1.1.0"
+ "source": "https://github.com/GeoSot/Laravel-EnvEditor/tree/2.0.0"
},
- "time": "2022-01-25T17:13:30+00:00"
+ "time": "2022-03-28T22:14:17+00:00"
},
{
"name": "graham-campbell/result-type",
@@ -1064,16 +1548,16 @@
},
{
"name": "guzzlehttp/psr7",
- "version": "2.4.1",
+ "version": "2.4.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "69568e4293f4fa993f3b0e51c9723e1e17c41379"
+ "reference": "67c26b443f348a51926030c83481b85718457d3d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/69568e4293f4fa993f3b0e51c9723e1e17c41379",
- "reference": "69568e4293f4fa993f3b0e51c9723e1e17c41379",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d",
+ "reference": "67c26b443f348a51926030c83481b85718457d3d",
"shasum": ""
},
"require": {
@@ -1163,7 +1647,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.4.1"
+ "source": "https://github.com/guzzle/psr7/tree/2.4.3"
},
"funding": [
{
@@ -1179,60 +1663,113 @@
"type": "tidelift"
}
],
- "time": "2022-08-28T14:45:39+00:00"
+ "time": "2022-10-26T14:07:24+00:00"
},
{
- "name": "laravel/framework",
- "version": "v8.83.26",
+ "name": "jaybizzle/crawler-detect",
+ "version": "v1.2.112",
"source": {
"type": "git",
- "url": "https://github.com/laravel/framework.git",
- "reference": "7411d9fa71c1b0fd73a33e225f14512b74e6c81e"
+ "url": "https://github.com/JayBizzle/Crawler-Detect.git",
+ "reference": "2c555ce35a07a5c1c808cee7d5bb52c41a4c7b2f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/7411d9fa71c1b0fd73a33e225f14512b74e6c81e",
- "reference": "7411d9fa71c1b0fd73a33e225f14512b74e6c81e",
+ "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/2c555ce35a07a5c1c808cee7d5bb52c41a4c7b2f",
+ "reference": "2c555ce35a07a5c1c808cee7d5bb52c41a4c7b2f",
"shasum": ""
},
"require": {
- "doctrine/inflector": "^1.4|^2.0",
- "dragonmantank/cron-expression": "^3.0.2",
- "egulias/email-validator": "^2.1.10",
- "ext-json": "*",
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8|^5.5|^6.5|^9.4"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Jaybizzle\\CrawlerDetect\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mark Beech",
+ "email": "m@rkbee.ch",
+ "role": "Developer"
+ }
+ ],
+ "description": "CrawlerDetect is a PHP class for detecting bots/crawlers/spiders via the user agent",
+ "homepage": "https://github.com/JayBizzle/Crawler-Detect/",
+ "keywords": [
+ "crawler",
+ "crawler detect",
+ "crawler detector",
+ "crawlerdetect",
+ "php crawler detect"
+ ],
+ "support": {
+ "issues": "https://github.com/JayBizzle/Crawler-Detect/issues",
+ "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.2.112"
+ },
+ "time": "2022-10-05T21:52:44+00:00"
+ },
+ {
+ "name": "laravel/framework",
+ "version": "v9.39.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/framework.git",
+ "reference": "67e674709e1e7db14f304a871481f310822d68c5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/67e674709e1e7db14f304a871481f310822d68c5",
+ "reference": "67e674709e1e7db14f304a871481f310822d68c5",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/inflector": "^2.0",
+ "dragonmantank/cron-expression": "^3.3.2",
+ "egulias/email-validator": "^3.2.1",
"ext-mbstring": "*",
"ext-openssl": "*",
- "laravel/serializable-closure": "^1.0",
- "league/commonmark": "^1.3|^2.0.2",
- "league/flysystem": "^1.1",
+ "fruitcake/php-cors": "^1.2",
+ "laravel/serializable-closure": "^1.2.2",
+ "league/commonmark": "^2.2",
+ "league/flysystem": "^3.8.0",
"monolog/monolog": "^2.0",
- "nesbot/carbon": "^2.53.1",
- "opis/closure": "^3.6",
- "php": "^7.3|^8.0",
- "psr/container": "^1.0",
- "psr/log": "^1.0|^2.0",
- "psr/simple-cache": "^1.0",
+ "nesbot/carbon": "^2.62.1",
+ "nunomaduro/termwind": "^1.13",
+ "php": "^8.0.2",
+ "psr/container": "^1.1.1|^2.0.1",
+ "psr/log": "^1.0|^2.0|^3.0",
+ "psr/simple-cache": "^1.0|^2.0|^3.0",
"ramsey/uuid": "^4.2.2",
- "swiftmailer/swiftmailer": "^6.3",
- "symfony/console": "^5.4",
- "symfony/error-handler": "^5.4",
- "symfony/finder": "^5.4",
- "symfony/http-foundation": "^5.4",
- "symfony/http-kernel": "^5.4",
- "symfony/mime": "^5.4",
- "symfony/process": "^5.4",
- "symfony/routing": "^5.4",
- "symfony/var-dumper": "^5.4",
- "tijsverkoyen/css-to-inline-styles": "^2.2.2",
+ "symfony/console": "^6.0.9",
+ "symfony/error-handler": "^6.0",
+ "symfony/finder": "^6.0",
+ "symfony/http-foundation": "^6.0",
+ "symfony/http-kernel": "^6.0",
+ "symfony/mailer": "^6.0",
+ "symfony/mime": "^6.0",
+ "symfony/process": "^6.0",
+ "symfony/routing": "^6.0",
+ "symfony/uid": "^6.0",
+ "symfony/var-dumper": "^6.0",
+ "tijsverkoyen/css-to-inline-styles": "^2.2.5",
"vlucas/phpdotenv": "^5.4.1",
- "voku/portable-ascii": "^1.6.1"
+ "voku/portable-ascii": "^2.0"
},
"conflict": {
"tightenco/collect": "<5.5.33"
},
"provide": {
- "psr/container-implementation": "1.0",
- "psr/simple-cache-implementation": "1.0"
+ "psr/container-implementation": "1.1|2.0",
+ "psr/simple-cache-implementation": "1.0|2.0|3.0"
},
"replace": {
"illuminate/auth": "self.version",
@@ -1240,6 +1777,7 @@
"illuminate/bus": "self.version",
"illuminate/cache": "self.version",
"illuminate/collections": "self.version",
+ "illuminate/conditionable": "self.version",
"illuminate/config": "self.version",
"illuminate/console": "self.version",
"illuminate/container": "self.version",
@@ -1268,21 +1806,27 @@
"illuminate/view": "self.version"
},
"require-dev": {
- "aws/aws-sdk-php": "^3.198.1",
+ "ably/ably-php": "^1.0",
+ "aws/aws-sdk-php": "^3.235.5",
"doctrine/dbal": "^2.13.3|^3.1.4",
- "filp/whoops": "^2.14.3",
- "guzzlehttp/guzzle": "^6.5.5|^7.0.1",
- "league/flysystem-cached-adapter": "^1.0",
- "mockery/mockery": "^1.4.4",
- "orchestra/testbench-core": "^6.27",
+ "fakerphp/faker": "^1.9.2",
+ "guzzlehttp/guzzle": "^7.5",
+ "league/flysystem-aws-s3-v3": "^3.0",
+ "league/flysystem-ftp": "^3.0",
+ "league/flysystem-path-prefixing": "^3.3",
+ "league/flysystem-read-only": "^3.3",
+ "league/flysystem-sftp-v3": "^3.0",
+ "mockery/mockery": "^1.5.1",
+ "orchestra/testbench-core": "^7.11",
"pda/pheanstalk": "^4.0",
- "phpunit/phpunit": "^8.5.19|^9.5.8",
- "predis/predis": "^1.1.9",
- "symfony/cache": "^5.4"
+ "phpstan/phpstan": "^1.4.7",
+ "phpunit/phpunit": "^9.5.8",
+ "predis/predis": "^1.1.9|^2.0.2",
+ "symfony/cache": "^6.0"
},
"suggest": {
"ably/ably-php": "Required to use the Ably broadcast driver (^1.0).",
- "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.198.1).",
+ "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).",
"brianium/paratest": "Required to run tests in parallel (^6.0).",
"doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).",
"ext-bcmath": "Required to use the multiple_of validation rule.",
@@ -1294,27 +1838,31 @@
"ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).",
"fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
"filp/whoops": "Required for friendly error pages in development (^2.14.3).",
- "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).",
+ "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).",
"laravel/tinker": "Required to use the tinker console command (^2.0).",
- "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).",
- "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).",
- "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).",
- "mockery/mockery": "Required to use mocking (^1.4.4).",
+ "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).",
+ "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).",
+ "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).",
+ "league/flysystem-read-only": "Required to use read-only disks (^3.3)",
+ "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).",
+ "mockery/mockery": "Required to use mocking (^1.5.1).",
"nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).",
"pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).",
- "phpunit/phpunit": "Required to use assertions and run tests (^8.5.19|^9.5.8).",
- "predis/predis": "Required to use the predis connector (^1.1.9).",
+ "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8).",
+ "predis/predis": "Required to use the predis connector (^1.1.9|^2.0.2).",
"psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
- "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0|^7.0).",
- "symfony/cache": "Required to PSR-6 cache bridge (^5.4).",
- "symfony/filesystem": "Required to enable support for relative symbolic links (^5.4).",
- "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).",
- "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)."
+ "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).",
+ "symfony/cache": "Required to PSR-6 cache bridge (^6.0).",
+ "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).",
+ "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.0).",
+ "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.0).",
+ "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.0).",
+ "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)."
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "8.x-dev"
+ "dev-master": "9.x-dev"
}
},
"autoload": {
@@ -1328,7 +1876,8 @@
"Illuminate\\": "src/Illuminate/",
"Illuminate\\Support\\": [
"src/Illuminate/Macroable/",
- "src/Illuminate/Collections/"
+ "src/Illuminate/Collections/",
+ "src/Illuminate/Conditionable/"
]
}
},
@@ -1352,7 +1901,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2022-11-01T14:48:50+00:00"
+ "time": "2022-11-08T14:47:39+00:00"
},
{
"name": "laravel/serializable-closure",
@@ -1414,6 +1963,75 @@
},
"time": "2022-09-08T13:45:54+00:00"
},
+ {
+ "name": "laravel/socialite",
+ "version": "v5.5.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/socialite.git",
+ "reference": "ce8b2f967eead5a6bae74449e207be6f8046edc3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/socialite/zipball/ce8b2f967eead5a6bae74449e207be6f8046edc3",
+ "reference": "ce8b2f967eead5a6bae74449e207be6f8046edc3",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "guzzlehttp/guzzle": "^6.0|^7.0",
+ "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0",
+ "illuminate/http": "^6.0|^7.0|^8.0|^9.0",
+ "illuminate/support": "^6.0|^7.0|^8.0|^9.0",
+ "league/oauth1-client": "^1.10.1",
+ "php": "^7.2|^8.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.0",
+ "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0",
+ "phpunit/phpunit": "^8.0|^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Laravel\\Socialite\\SocialiteServiceProvider"
+ ],
+ "aliases": {
+ "Socialite": "Laravel\\Socialite\\Facades\\Socialite"
+ }
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laravel\\Socialite\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "Laravel wrapper around OAuth 1 & OAuth 2 libraries.",
+ "homepage": "https://laravel.com",
+ "keywords": [
+ "laravel",
+ "oauth"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/socialite/issues",
+ "source": "https://github.com/laravel/socialite"
+ },
+ "time": "2022-08-20T21:32:07+00:00"
+ },
{
"name": "laravel/tinker",
"version": "v2.7.2",
@@ -1484,16 +2102,16 @@
},
{
"name": "league/commonmark",
- "version": "2.3.6",
+ "version": "2.3.7",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "857afc47ce113454bd629037213378ba3219dd40"
+ "reference": "a36bd2be4f5387c0f3a8792a0d76b7d68865abbf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/857afc47ce113454bd629037213378ba3219dd40",
- "reference": "857afc47ce113454bd629037213378ba3219dd40",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/a36bd2be4f5387c0f3a8792a0d76b7d68865abbf",
+ "reference": "a36bd2be4f5387c0f3a8792a0d76b7d68865abbf",
"shasum": ""
},
"require": {
@@ -1586,7 +2204,7 @@
"type": "tidelift"
}
],
- "time": "2022-10-30T16:45:38+00:00"
+ "time": "2022-11-03T17:29:46+00:00"
},
{
"name": "league/config",
@@ -1672,54 +2290,49 @@
},
{
"name": "league/flysystem",
- "version": "1.1.10",
+ "version": "3.10.2",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1"
+ "reference": "b9bd194b016114d6ff6765c09d40c7d427e4e3f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1",
- "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/b9bd194b016114d6ff6765c09d40c7d427e4e3f6",
+ "reference": "b9bd194b016114d6ff6765c09d40c7d427e4e3f6",
"shasum": ""
},
"require": {
- "ext-fileinfo": "*",
- "league/mime-type-detection": "^1.3",
- "php": "^7.2.5 || ^8.0"
+ "league/mime-type-detection": "^1.0.0",
+ "php": "^8.0.2"
},
"conflict": {
- "league/flysystem-sftp": "<1.0.6"
+ "aws/aws-sdk-php": "3.209.31 || 3.210.0",
+ "guzzlehttp/guzzle": "<7.0",
+ "guzzlehttp/ringphp": "<1.1.1",
+ "phpseclib/phpseclib": "3.0.15",
+ "symfony/http-client": "<5.2"
},
"require-dev": {
- "phpspec/prophecy": "^1.11.1",
- "phpunit/phpunit": "^8.5.8"
- },
- "suggest": {
- "ext-ftp": "Allows you to use FTP server storage",
- "ext-openssl": "Allows you to use FTPS server storage",
- "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
- "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
- "league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
- "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
- "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
- "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
- "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
- "league/flysystem-webdav": "Allows you to use WebDAV storage",
- "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
- "spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
- "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
+ "async-aws/s3": "^1.5",
+ "async-aws/simple-s3": "^1.1",
+ "aws/aws-sdk-php": "^3.198.1",
+ "composer/semver": "^3.0",
+ "ext-fileinfo": "*",
+ "ext-ftp": "*",
+ "ext-zip": "*",
+ "friendsofphp/php-cs-fixer": "^3.5",
+ "google/cloud-storage": "^1.23",
+ "microsoft/azure-storage-blob": "^1.1",
+ "phpseclib/phpseclib": "^3.0.14",
+ "phpstan/phpstan": "^0.12.26",
+ "phpunit/phpunit": "^9.5.11",
+ "sabre/dav": "^4.3.1"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
"autoload": {
"psr-4": {
- "League\\Flysystem\\": "src/"
+ "League\\Flysystem\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1729,40 +2342,42 @@
"authors": [
{
"name": "Frank de Jonge",
- "email": "info@frenky.net"
+ "email": "info@frankdejonge.nl"
}
],
- "description": "Filesystem abstraction: Many filesystems, one API.",
+ "description": "File storage abstraction for PHP",
"keywords": [
- "Cloud Files",
"WebDAV",
- "abstraction",
"aws",
"cloud",
- "copy.com",
- "dropbox",
- "file systems",
+ "file",
"files",
"filesystem",
"filesystems",
"ftp",
- "rackspace",
- "remote",
"s3",
"sftp",
"storage"
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/1.1.10"
+ "source": "https://github.com/thephpleague/flysystem/tree/3.10.2"
},
"funding": [
{
- "url": "https://offset.earth/frankdejonge",
- "type": "other"
+ "url": "https://ecologi.com/frankdejonge",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/frankdejonge",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/league/flysystem",
+ "type": "tidelift"
}
],
- "time": "2022-10-04T09:16:37+00:00"
+ "time": "2022-10-25T07:01:47+00:00"
},
{
"name": "league/mime-type-detection",
@@ -1821,54 +2436,46 @@
"time": "2022-04-17T13:12:02+00:00"
},
{
- "name": "league/uri",
- "version": "6.7.1",
+ "name": "league/oauth1-client",
+ "version": "v1.10.1",
"source": {
"type": "git",
- "url": "https://github.com/thephpleague/uri.git",
- "reference": "2d7c87a0860f3126a39f44a8a9bf2fed402dcfea"
+ "url": "https://github.com/thephpleague/oauth1-client.git",
+ "reference": "d6365b901b5c287dd41f143033315e2f777e1167"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri/zipball/2d7c87a0860f3126a39f44a8a9bf2fed402dcfea",
- "reference": "2d7c87a0860f3126a39f44a8a9bf2fed402dcfea",
+ "url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/d6365b901b5c287dd41f143033315e2f777e1167",
+ "reference": "d6365b901b5c287dd41f143033315e2f777e1167",
"shasum": ""
},
"require": {
"ext-json": "*",
- "league/uri-interfaces": "^2.3",
- "php": "^7.4 || ^8.0",
- "psr/http-message": "^1.0"
- },
- "conflict": {
- "league/uri-schemes": "^1.0"
+ "ext-openssl": "*",
+ "guzzlehttp/guzzle": "^6.0|^7.0",
+ "guzzlehttp/psr7": "^1.7|^2.0",
+ "php": ">=7.1||>=8.0"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^v3.3.2",
- "nyholm/psr7": "^1.5",
- "php-http/psr7-integration-tests": "^1.1",
- "phpstan/phpstan": "^1.2.0",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1.0.0",
- "phpstan/phpstan-strict-rules": "^1.1.0",
- "phpunit/phpunit": "^9.5.10",
- "psr/http-factory": "^1.0"
+ "ext-simplexml": "*",
+ "friendsofphp/php-cs-fixer": "^2.17",
+ "mockery/mockery": "^1.3.3",
+ "phpstan/phpstan": "^0.12.42",
+ "phpunit/phpunit": "^7.5||9.5"
},
"suggest": {
- "ext-fileinfo": "Needed to create Data URI from a filepath",
- "ext-intl": "Needed to improve host validation",
- "league/uri-components": "Needed to easily manipulate URI objects",
- "psr/http-factory": "Needed to use the URI factory"
+ "ext-simplexml": "For decoding XML-based responses."
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "6.x-dev"
+ "dev-master": "1.0-dev",
+ "dev-develop": "2.0-dev"
}
},
"autoload": {
"psr-4": {
- "League\\Uri\\": "src"
+ "League\\OAuth1\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1877,118 +2484,32 @@
],
"authors": [
{
- "name": "Ignace Nyamagana Butera",
- "email": "nyamsprod@gmail.com",
- "homepage": "https://nyamsprod.com"
+ "name": "Ben Corlett",
+ "email": "bencorlett@me.com",
+ "homepage": "http://www.webcomm.com.au",
+ "role": "Developer"
}
],
- "description": "URI manipulation library",
- "homepage": "https://uri.thephpleague.com",
+ "description": "OAuth 1.0 Client Library",
"keywords": [
- "data-uri",
- "file-uri",
- "ftp",
- "hostname",
- "http",
- "https",
- "middleware",
- "parse_str",
- "parse_url",
- "psr-7",
- "query-string",
- "querystring",
- "rfc3986",
- "rfc3987",
- "rfc6570",
- "uri",
- "uri-template",
- "url",
- "ws"
+ "Authentication",
+ "SSO",
+ "authorization",
+ "bitbucket",
+ "identity",
+ "idp",
+ "oauth",
+ "oauth1",
+ "single sign on",
+ "trello",
+ "tumblr",
+ "twitter"
],
"support": {
- "docs": "https://uri.thephpleague.com",
- "forum": "https://thephpleague.slack.com",
- "issues": "https://github.com/thephpleague/uri/issues",
- "source": "https://github.com/thephpleague/uri/tree/6.7.1"
+ "issues": "https://github.com/thephpleague/oauth1-client/issues",
+ "source": "https://github.com/thephpleague/oauth1-client/tree/v1.10.1"
},
- "funding": [
- {
- "url": "https://github.com/sponsors/nyamsprod",
- "type": "github"
- }
- ],
- "time": "2022-06-29T09:48:18+00:00"
- },
- {
- "name": "league/uri-interfaces",
- "version": "2.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/uri-interfaces.git",
- "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/00e7e2943f76d8cb50c7dfdc2f6dee356e15e383",
- "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "php": "^7.2 || ^8.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^2.19",
- "phpstan/phpstan": "^0.12.90",
- "phpstan/phpstan-phpunit": "^0.12.19",
- "phpstan/phpstan-strict-rules": "^0.12.9",
- "phpunit/phpunit": "^8.5.15 || ^9.5"
- },
- "suggest": {
- "ext-intl": "to use the IDNA feature",
- "symfony/intl": "to use the IDNA feature via Symfony Polyfill"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "League\\Uri\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ignace Nyamagana Butera",
- "email": "nyamsprod@gmail.com",
- "homepage": "https://nyamsprod.com"
- }
- ],
- "description": "Common interface for URI representation",
- "homepage": "http://github.com/thephpleague/uri-interfaces",
- "keywords": [
- "rfc3986",
- "rfc3987",
- "uri",
- "url"
- ],
- "support": {
- "issues": "https://github.com/thephpleague/uri-interfaces/issues",
- "source": "https://github.com/thephpleague/uri-interfaces/tree/2.3.0"
- },
- "funding": [
- {
- "url": "https://github.com/sponsors/nyamsprod",
- "type": "github"
- }
- ],
- "time": "2021-06-28T04:27:21+00:00"
+ "time": "2022-04-15T14:02:14+00:00"
},
{
"name": "monolog/monolog",
@@ -2398,38 +2919,50 @@
"time": "2022-09-04T07:30:47+00:00"
},
{
- "name": "opis/closure",
- "version": "3.6.3",
+ "name": "nunomaduro/termwind",
+ "version": "v1.14.2",
"source": {
"type": "git",
- "url": "https://github.com/opis/closure.git",
- "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad"
+ "url": "https://github.com/nunomaduro/termwind.git",
+ "reference": "9a8218511eb1a0965629ff820dda25985440aefc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad",
- "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad",
+ "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/9a8218511eb1a0965629ff820dda25985440aefc",
+ "reference": "9a8218511eb1a0965629ff820dda25985440aefc",
"shasum": ""
},
"require": {
- "php": "^5.4 || ^7.0 || ^8.0"
+ "ext-mbstring": "*",
+ "php": "^8.0",
+ "symfony/console": "^5.3.0|^6.0.0"
},
"require-dev": {
- "jeremeamia/superclosure": "^2.0",
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
+ "ergebnis/phpstan-rules": "^1.0.",
+ "illuminate/console": "^8.0|^9.0",
+ "illuminate/support": "^8.0|^9.0",
+ "laravel/pint": "^1.0.0",
+ "pestphp/pest": "^1.21.0",
+ "pestphp/pest-plugin-mock": "^1.0",
+ "phpstan/phpstan": "^1.4.6",
+ "phpstan/phpstan-strict-rules": "^1.1.0",
+ "symfony/var-dumper": "^5.2.7|^6.0.0",
+ "thecodingmachine/phpstan-strict-rules": "^1.0.0"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "3.6.x-dev"
+ "laravel": {
+ "providers": [
+ "Termwind\\Laravel\\TermwindServiceProvider"
+ ]
}
},
"autoload": {
"files": [
- "functions.php"
+ "src/Functions.php"
],
"psr-4": {
- "Opis\\Closure\\": "src/"
+ "Termwind\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2438,29 +2971,38 @@
],
"authors": [
{
- "name": "Marius Sarca",
- "email": "marius.sarca@gmail.com"
- },
- {
- "name": "Sorin Sarca",
- "email": "sarca_sorin@hotmail.com"
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
}
],
- "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.",
- "homepage": "https://opis.io/closure",
+ "description": "Its like Tailwind CSS, but for the console.",
"keywords": [
- "anonymous functions",
- "closure",
- "function",
- "serializable",
- "serialization",
- "serialize"
+ "cli",
+ "console",
+ "css",
+ "package",
+ "php",
+ "style"
],
"support": {
- "issues": "https://github.com/opis/closure/issues",
- "source": "https://github.com/opis/closure/tree/3.6.3"
+ "issues": "https://github.com/nunomaduro/termwind/issues",
+ "source": "https://github.com/nunomaduro/termwind/tree/v1.14.2"
},
- "time": "2022-01-27T09:35:39+00:00"
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/xiCO2k",
+ "type": "github"
+ }
+ ],
+ "time": "2022-10-28T22:51:32+00:00"
},
{
"name": "phpoption/phpoption",
@@ -2539,28 +3081,27 @@
},
{
"name": "phpstan/extension-installer",
- "version": "1.1.0",
+ "version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/phpstan/extension-installer.git",
- "reference": "66c7adc9dfa38b6b5838a9fb728b68a7d8348051"
+ "reference": "f06dbb052ddc394e7896fcd1cfcd533f9f6ace40"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/66c7adc9dfa38b6b5838a9fb728b68a7d8348051",
- "reference": "66c7adc9dfa38b6b5838a9fb728b68a7d8348051",
+ "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f06dbb052ddc394e7896fcd1cfcd533f9f6ace40",
+ "reference": "f06dbb052ddc394e7896fcd1cfcd533f9f6ace40",
"shasum": ""
},
"require": {
- "composer-plugin-api": "^1.1 || ^2.0",
- "php": "^7.1 || ^8.0",
- "phpstan/phpstan": ">=0.11.6"
+ "composer-plugin-api": "^2.0",
+ "php": "^7.2 || ^8.0",
+ "phpstan/phpstan": "^1.8.0"
},
"require-dev": {
- "composer/composer": "^1.8",
- "phing/phing": "^2.16.3",
+ "composer/composer": "^2.0",
"php-parallel-lint/php-parallel-lint": "^1.2.0",
- "phpstan/phpstan-strict-rules": "^0.11 || ^0.12"
+ "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0"
},
"type": "composer-plugin",
"extra": {
@@ -2578,22 +3119,22 @@
"description": "Composer plugin for automatic installation of PHPStan extensions",
"support": {
"issues": "https://github.com/phpstan/extension-installer/issues",
- "source": "https://github.com/phpstan/extension-installer/tree/1.1.0"
+ "source": "https://github.com/phpstan/extension-installer/tree/1.2.0"
},
- "time": "2020-12-13T13:06:13+00:00"
+ "time": "2022-10-17T12:59:16+00:00"
},
{
"name": "phpstan/phpstan",
- "version": "1.8.2",
+ "version": "1.9.1",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
- "reference": "c53312ecc575caf07b0e90dee43883fdf90ca67c"
+ "reference": "a59c8b5bfd4a236f27efc8b5ce72c313c2b54b5f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c53312ecc575caf07b0e90dee43883fdf90ca67c",
- "reference": "c53312ecc575caf07b0e90dee43883fdf90ca67c",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/a59c8b5bfd4a236f27efc8b5ce72c313c2b54b5f",
+ "reference": "a59c8b5bfd4a236f27efc8b5ce72c313c2b54b5f",
"shasum": ""
},
"require": {
@@ -2617,9 +3158,13 @@
"MIT"
],
"description": "PHPStan - PHP Static Analysis Tool",
+ "keywords": [
+ "dev",
+ "static analysis"
+ ],
"support": {
"issues": "https://github.com/phpstan/phpstan/issues",
- "source": "https://github.com/phpstan/phpstan/tree/1.8.2"
+ "source": "https://github.com/phpstan/phpstan/tree/1.9.1"
},
"funding": [
{
@@ -2630,34 +3175,30 @@
"url": "https://github.com/phpstan",
"type": "github"
},
- {
- "url": "https://www.patreon.com/phpstan",
- "type": "patreon"
- },
{
"url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
"type": "tidelift"
}
],
- "time": "2022-07-20T09:57:31+00:00"
+ "time": "2022-11-04T13:35:59+00:00"
},
{
"name": "phpstan/phpstan-phpunit",
- "version": "1.1.1",
+ "version": "1.2.2",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-phpunit.git",
- "reference": "4a3c437c09075736285d1cabb5c75bf27ed0bc84"
+ "reference": "dea1f87344c6964c607d9076dee42d891f3923f0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/4a3c437c09075736285d1cabb5c75bf27ed0bc84",
- "reference": "4a3c437c09075736285d1cabb5c75bf27ed0bc84",
+ "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/dea1f87344c6964c607d9076dee42d891f3923f0",
+ "reference": "dea1f87344c6964c607d9076dee42d891f3923f0",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0",
- "phpstan/phpstan": "^1.5.0"
+ "phpstan/phpstan": "^1.8.11"
},
"conflict": {
"phpunit/phpunit": "<7.0"
@@ -2689,28 +3230,82 @@
"description": "PHPUnit extensions and rules for PHPStan",
"support": {
"issues": "https://github.com/phpstan/phpstan-phpunit/issues",
- "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.1.1"
+ "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.2.2"
},
- "time": "2022-04-20T15:24:25+00:00"
+ "time": "2022-10-28T10:23:07+00:00"
},
{
- "name": "psr/container",
- "version": "1.1.2",
+ "name": "psr/cache",
+ "version": "3.0.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+ "url": "https://github.com/php-fig/cache.git",
+ "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+ "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
+ "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Cache\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for caching libraries",
+ "keywords": [
+ "cache",
+ "psr",
+ "psr-6"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/cache/tree/3.0.0"
+ },
+ "time": "2021-02-03T23:26:27+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "2.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"shasum": ""
},
"require": {
"php": ">=7.4.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
"Psr\\Container\\": "src/"
@@ -2737,9 +3332,9 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/1.1.2"
+ "source": "https://github.com/php-fig/container/tree/2.0.2"
},
- "time": "2021-11-05T16:50:12+00:00"
+ "time": "2021-11-05T16:47:00+00:00"
},
{
"name": "psr/event-dispatcher",
@@ -2953,16 +3548,16 @@
},
{
"name": "psr/log",
- "version": "2.0.0",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376"
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376",
- "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
"shasum": ""
},
"require": {
@@ -2971,7 +3566,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "3.x-dev"
}
},
"autoload": {
@@ -2997,31 +3592,31 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/2.0.0"
+ "source": "https://github.com/php-fig/log/tree/3.0.0"
},
- "time": "2021-07-14T16:41:46+00:00"
+ "time": "2021-07-14T16:46:02+00:00"
},
{
"name": "psr/simple-cache",
- "version": "1.0.1",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/simple-cache.git",
- "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
+ "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
- "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+ "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865",
+ "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=8.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "3.0.x-dev"
}
},
"autoload": {
@@ -3036,7 +3631,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interfaces for simple caching",
@@ -3048,22 +3643,22 @@
"simple-cache"
],
"support": {
- "source": "https://github.com/php-fig/simple-cache/tree/master"
+ "source": "https://github.com/php-fig/simple-cache/tree/3.0.0"
},
- "time": "2017-10-23T01:57:42+00:00"
+ "time": "2021-10-29T13:26:27+00:00"
},
{
"name": "psy/psysh",
- "version": "v0.11.4",
+ "version": "v0.11.9",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "05c544b339b112226ad14803e1e5b09a61957454"
+ "reference": "1acec99d6684a54ff92f8b548a4e41b566963778"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/05c544b339b112226ad14803e1e5b09a61957454",
- "reference": "05c544b339b112226ad14803e1e5b09a61957454",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1acec99d6684a54ff92f8b548a4e41b566963778",
+ "reference": "1acec99d6684a54ff92f8b548a4e41b566963778",
"shasum": ""
},
"require": {
@@ -3124,9 +3719,9 @@
],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
- "source": "https://github.com/bobthecow/psysh/tree/v0.11.4"
+ "source": "https://github.com/bobthecow/psysh/tree/v0.11.9"
},
- "time": "2022-05-06T12:49:14+00:00"
+ "time": "2022-11-06T15:29:46+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -3253,21 +3848,20 @@
},
{
"name": "ramsey/uuid",
- "version": "4.5.1",
+ "version": "4.6.0",
"source": {
"type": "git",
"url": "https://github.com/ramsey/uuid.git",
- "reference": "a161a26d917604dc6d3aa25100fddf2556e9f35d"
+ "reference": "ad63bc700e7d021039e30ce464eba384c4a1d40f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ramsey/uuid/zipball/a161a26d917604dc6d3aa25100fddf2556e9f35d",
- "reference": "a161a26d917604dc6d3aa25100fddf2556e9f35d",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/ad63bc700e7d021039e30ce464eba384c4a1d40f",
+ "reference": "ad63bc700e7d021039e30ce464eba384c4a1d40f",
"shasum": ""
},
"require": {
"brick/math": "^0.8.8 || ^0.9 || ^0.10",
- "ext-ctype": "*",
"ext-json": "*",
"php": "^8.0",
"ramsey/collection": "^1.0"
@@ -3299,7 +3893,6 @@
},
"suggest": {
"ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.",
- "ext-ctype": "Enables faster processing of character classification using ctype functions.",
"ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.",
"ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.",
"paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter",
@@ -3331,7 +3924,7 @@
],
"support": {
"issues": "https://github.com/ramsey/uuid/issues",
- "source": "https://github.com/ramsey/uuid/tree/4.5.1"
+ "source": "https://github.com/ramsey/uuid/tree/4.6.0"
},
"funding": [
{
@@ -3343,28 +3936,28 @@
"type": "tidelift"
}
],
- "time": "2022-09-16T03:22:46+00:00"
+ "time": "2022-11-05T23:03:38+00:00"
},
{
"name": "spatie/db-dumper",
- "version": "2.21.1",
+ "version": "3.3.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/db-dumper.git",
- "reference": "05e5955fb882008a8947c5a45146d86cfafa10d1"
+ "reference": "129b8254b2c9f10881a754a692bd9507b09a1893"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/db-dumper/zipball/05e5955fb882008a8947c5a45146d86cfafa10d1",
- "reference": "05e5955fb882008a8947c5a45146d86cfafa10d1",
+ "url": "https://api.github.com/repos/spatie/db-dumper/zipball/129b8254b2c9f10881a754a692bd9507b09a1893",
+ "reference": "129b8254b2c9f10881a754a692bd9507b09a1893",
"shasum": ""
},
"require": {
- "php": "^7.2|^8.0",
- "symfony/process": "^4.2|^5.0"
+ "php": "^8.0",
+ "symfony/process": "^5.0|^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^7.0|^8.0|^9.0"
+ "phpunit/phpunit": "^9.5"
},
"type": "library",
"autoload": {
@@ -3394,51 +3987,59 @@
"spatie"
],
"support": {
- "issues": "https://github.com/spatie/db-dumper/issues",
- "source": "https://github.com/spatie/db-dumper/tree/2.21.1"
+ "source": "https://github.com/spatie/db-dumper/tree/3.3.0"
},
"funding": [
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "custom"
+ },
{
"url": "https://github.com/spatie",
"type": "github"
}
],
- "time": "2021-02-24T14:56:42+00:00"
+ "time": "2022-09-01T20:20:26+00:00"
},
{
"name": "spatie/laravel-backup",
- "version": "6.16.5",
+ "version": "v8.x-dev",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-backup.git",
- "reference": "332fae80b12cacb9e4161824ba195d984b28c8fb"
+ "reference": "543fa4b9e99a1d95e27b6b1d020beeb125b34259"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/332fae80b12cacb9e4161824ba195d984b28c8fb",
- "reference": "332fae80b12cacb9e4161824ba195d984b28c8fb",
+ "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/543fa4b9e99a1d95e27b6b1d020beeb125b34259",
+ "reference": "543fa4b9e99a1d95e27b6b1d020beeb125b34259",
"shasum": ""
},
"require": {
"ext-zip": "^1.14.0",
- "illuminate/console": "^6.0|^7.0|^8.0",
- "illuminate/contracts": "^6.0|^7.0|^8.0",
- "illuminate/events": "^6.0|^7.0|^8.0",
- "illuminate/filesystem": "^6.0|^7.0|^8.0",
- "illuminate/notifications": "^6.0|^7.0|^8.0",
- "illuminate/support": "^6.0|^7.0|^8.0",
- "league/flysystem": "^1.0.49",
- "php": "^7.3|^8.0",
- "spatie/db-dumper": "^2.12",
- "spatie/temporary-directory": "^1.1",
- "symfony/finder": "^4.2|^5.0"
+ "illuminate/console": "^9.0",
+ "illuminate/contracts": "^9.0",
+ "illuminate/events": "^9.0",
+ "illuminate/filesystem": "^9.0",
+ "illuminate/notifications": "^9.0",
+ "illuminate/support": "^9.0",
+ "league/flysystem": "^3.0",
+ "php": "^8.0",
+ "spatie/db-dumper": "^3.0",
+ "spatie/laravel-package-tools": "^1.6.2",
+ "spatie/laravel-signal-aware-command": "^1.2",
+ "spatie/temporary-directory": "^2.0",
+ "symfony/console": "^6.0",
+ "symfony/finder": "^6.0"
},
"require-dev": {
- "laravel/slack-notification-channel": "^2.3",
- "league/flysystem-aws-s3-v3": "^1.0",
- "mockery/mockery": "^1.4.2",
- "orchestra/testbench": "4.*|5.*|6.*",
- "phpunit/phpunit": "^8.4|^9.0"
+ "composer-runtime-api": "^2.0",
+ "ext-pcntl": "*",
+ "laravel/slack-notification-channel": "^2.4",
+ "league/flysystem-aws-s3-v3": "^2.0|^3.0",
+ "mockery/mockery": "^1.4",
+ "orchestra/testbench": "^7.0",
+ "pestphp/pest": "^1.20"
},
"suggest": {
"laravel/slack-notification-channel": "Required for sending notifications via Slack"
@@ -3481,7 +4082,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-backup/issues",
- "source": "https://github.com/spatie/laravel-backup/tree/6.16.5"
+ "source": "https://github.com/spatie/laravel-backup/tree/main"
},
"funding": [
{
@@ -3493,27 +4094,230 @@
"type": "other"
}
],
- "time": "2021-09-12T10:04:18+00:00"
+ "time": "2022-03-08T10:08:57+00:00"
},
{
- "name": "spatie/temporary-directory",
- "version": "1.3.0",
+ "name": "spatie/laravel-package-tools",
+ "version": "1.13.6",
"source": {
"type": "git",
- "url": "https://github.com/spatie/temporary-directory.git",
- "reference": "f517729b3793bca58f847c5fd383ec16f03ffec6"
+ "url": "https://github.com/spatie/laravel-package-tools.git",
+ "reference": "c377cc7223655c2278c148c1685b8b5a78af5c65"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/f517729b3793bca58f847c5fd383ec16f03ffec6",
- "reference": "f517729b3793bca58f847c5fd383ec16f03ffec6",
+ "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/c377cc7223655c2278c148c1685b8b5a78af5c65",
+ "reference": "c377cc7223655c2278c148c1685b8b5a78af5c65",
"shasum": ""
},
"require": {
- "php": "^7.2|^8.0"
+ "illuminate/contracts": "^9.28",
+ "php": "^8.0"
},
"require-dev": {
- "phpunit/phpunit": "^8.0|^9.0"
+ "mockery/mockery": "^1.5",
+ "orchestra/testbench": "^7.7",
+ "phpunit/phpunit": "^9.5.24",
+ "spatie/test-time": "^1.3"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\LaravelPackageTools\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Tools for creating Laravel packages",
+ "homepage": "https://github.com/spatie/laravel-package-tools",
+ "keywords": [
+ "laravel-package-tools",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/laravel-package-tools/issues",
+ "source": "https://github.com/spatie/laravel-package-tools/tree/1.13.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2022-10-11T06:37:42+00:00"
+ },
+ {
+ "name": "spatie/laravel-referer",
+ "version": "1.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/laravel-referer.git",
+ "reference": "681f45b173cc2beefbcc5daacea6fc7929bec689"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/laravel-referer/zipball/681f45b173cc2beefbcc5daacea6fc7929bec689",
+ "reference": "681f45b173cc2beefbcc5daacea6fc7929bec689",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/contracts": "^8.73|^9.0",
+ "illuminate/http": "^8.73|^9.0",
+ "illuminate/support": "^8.73|^9.0",
+ "php": "^7.4|^8.0"
+ },
+ "require-dev": {
+ "orchestra/testbench": "^6.23|^7.0",
+ "phpunit/phpunit": "^9.5"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Spatie\\Referer\\RefererServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Spatie\\Referer\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian De Deyne",
+ "email": "sebastian@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Keep a visitor's original referer in session",
+ "homepage": "https://github.com/spatie/laravel-referer",
+ "keywords": [
+ "laravel-referer",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/laravel-referer/issues",
+ "source": "https://github.com/spatie/laravel-referer/tree/1.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2022-01-13T09:48:16+00:00"
+ },
+ {
+ "name": "spatie/laravel-signal-aware-command",
+ "version": "1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/laravel-signal-aware-command.git",
+ "reference": "d15a5b69bf715fc557b7034b4abd5a1472ae7ec8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/laravel-signal-aware-command/zipball/d15a5b69bf715fc557b7034b4abd5a1472ae7ec8",
+ "reference": "d15a5b69bf715fc557b7034b4abd5a1472ae7ec8",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/contracts": "^8.35|^9.0",
+ "php": "^8.0",
+ "spatie/laravel-package-tools": "^1.4.3"
+ },
+ "require-dev": {
+ "brianium/paratest": "^6.2",
+ "ext-pcntl": "*",
+ "nunomaduro/collision": "^5.3|^6.0",
+ "orchestra/testbench": "^6.16|^7.0",
+ "phpunit/phpunit": "^9.5",
+ "spatie/laravel-ray": "^1.17"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Spatie\\SignalAwareCommand\\SignalAwareCommandServiceProvider"
+ ],
+ "aliases": {
+ "Signal": "Spatie\\SignalAwareCommand\\Facades\\Signal"
+ }
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Spatie\\SignalAwareCommand\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Handle signals in artisan commands",
+ "homepage": "https://github.com/spatie/laravel-signal-aware-command",
+ "keywords": [
+ "laravel",
+ "laravel-signal-aware-command",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/laravel-signal-aware-command/issues",
+ "source": "https://github.com/spatie/laravel-signal-aware-command/tree/1.2.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2022-01-12T19:42:44+00:00"
+ },
+ {
+ "name": "spatie/temporary-directory",
+ "version": "2.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/temporary-directory.git",
+ "reference": "e2818d871783d520b319c2d38dc37c10ecdcde20"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/e2818d871783d520b319c2d38dc37c10ecdcde20",
+ "reference": "e2818d871783d520b319c2d38dc37c10ecdcde20",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5"
},
"type": "library",
"autoload": {
@@ -3542,128 +4346,58 @@
],
"support": {
"issues": "https://github.com/spatie/temporary-directory/issues",
- "source": "https://github.com/spatie/temporary-directory/tree/1.3.0"
- },
- "time": "2020-11-09T15:54:21+00:00"
- },
- {
- "name": "swiftmailer/swiftmailer",
- "version": "v6.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/swiftmailer/swiftmailer.git",
- "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c",
- "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c",
- "shasum": ""
- },
- "require": {
- "egulias/email-validator": "^2.0|^3.1",
- "php": ">=7.0.0",
- "symfony/polyfill-iconv": "^1.0",
- "symfony/polyfill-intl-idn": "^1.10",
- "symfony/polyfill-mbstring": "^1.0"
- },
- "require-dev": {
- "mockery/mockery": "^1.0",
- "symfony/phpunit-bridge": "^4.4|^5.4"
- },
- "suggest": {
- "ext-intl": "Needed to support internationalized email addresses"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "6.2-dev"
- }
- },
- "autoload": {
- "files": [
- "lib/swift_required.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Chris Corbyn"
- },
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- }
- ],
- "description": "Swiftmailer, free feature-rich PHP mailer",
- "homepage": "https://swiftmailer.symfony.com",
- "keywords": [
- "email",
- "mail",
- "mailer"
- ],
- "support": {
- "issues": "https://github.com/swiftmailer/swiftmailer/issues",
- "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0"
+ "source": "https://github.com/spatie/temporary-directory/tree/2.1.1"
},
"funding": [
{
- "url": "https://github.com/fabpot",
- "type": "github"
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "custom"
},
{
- "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer",
- "type": "tidelift"
+ "url": "https://github.com/spatie",
+ "type": "github"
}
],
- "abandoned": "symfony/mailer",
- "time": "2021-10-18T15:26:12+00:00"
+ "time": "2022-08-23T07:15:15+00:00"
},
{
"name": "symfony/console",
- "version": "v5.4.15",
+ "version": "v6.0.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "ea59bb0edfaf9f28d18d8791410ee0355f317669"
+ "reference": "b0b910724a0a0326b4481e4f8a30abb2dd442efb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/ea59bb0edfaf9f28d18d8791410ee0355f317669",
- "reference": "ea59bb0edfaf9f28d18d8791410ee0355f317669",
+ "url": "https://api.github.com/repos/symfony/console/zipball/b0b910724a0a0326b4481e4f8a30abb2dd442efb",
+ "reference": "b0b910724a0a0326b4481e4f8a30abb2dd442efb",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.0.2",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.1|^2|^3",
- "symfony/string": "^5.1|^6.0"
+ "symfony/string": "^5.4|^6.0"
},
"conflict": {
- "psr/log": ">=3",
- "symfony/dependency-injection": "<4.4",
- "symfony/dotenv": "<5.1",
- "symfony/event-dispatcher": "<4.4",
- "symfony/lock": "<4.4",
- "symfony/process": "<4.4"
+ "symfony/dependency-injection": "<5.4",
+ "symfony/dotenv": "<5.4",
+ "symfony/event-dispatcher": "<5.4",
+ "symfony/lock": "<5.4",
+ "symfony/process": "<5.4"
},
"provide": {
- "psr/log-implementation": "1.0|2.0"
+ "psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
- "psr/log": "^1|^2",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/lock": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/lock": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/var-dumper": "^5.4|^6.0"
},
"suggest": {
"psr/log": "For using the console logger",
@@ -3703,7 +4437,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.4.15"
+ "source": "https://github.com/symfony/console/tree/v6.0.15"
},
"funding": [
{
@@ -3719,25 +4453,24 @@
"type": "tidelift"
}
],
- "time": "2022-10-26T21:41:52+00:00"
+ "time": "2022-10-26T21:42:20+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v5.4.11",
+ "version": "v6.0.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "c1681789f059ab756001052164726ae88512ae3d"
+ "reference": "ab2746acddc4f03a7234c8441822ac5d5c63efe9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/c1681789f059ab756001052164726ae88512ae3d",
- "reference": "c1681789f059ab756001052164726ae88512ae3d",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/ab2746acddc4f03a7234c8441822ac5d5c63efe9",
+ "reference": "ab2746acddc4f03a7234c8441822ac5d5c63efe9",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.0.2"
},
"type": "library",
"autoload": {
@@ -3769,7 +4502,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v5.4.11"
+ "source": "https://github.com/symfony/css-selector/tree/v6.0.11"
},
"funding": [
{
@@ -3785,29 +4518,29 @@
"type": "tidelift"
}
],
- "time": "2022-06-27T16:58:25+00:00"
+ "time": "2022-06-27T17:10:44+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v2.5.2",
+ "version": "v3.0.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
+ "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c",
+ "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=8.0.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.0-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3836,7 +4569,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.2"
},
"funding": [
{
@@ -3852,31 +4585,31 @@
"type": "tidelift"
}
],
- "time": "2022-01-02T09:53:40+00:00"
+ "time": "2022-01-02T09:55:41+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v5.4.15",
+ "version": "v6.0.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "539cf1428b8442303c6e876ad7bf5a7babd91091"
+ "reference": "f000c166cb3ee32c4c822831a79260a135cd59b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/539cf1428b8442303c6e876ad7bf5a7babd91091",
- "reference": "539cf1428b8442303c6e876ad7bf5a7babd91091",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/f000c166cb3ee32c4c822831a79260a135cd59b5",
+ "reference": "f000c166cb3ee32c4c822831a79260a135cd59b5",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.0.2",
"psr/log": "^1|^2|^3",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
+ "symfony/var-dumper": "^5.4|^6.0"
},
"require-dev": {
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/http-kernel": "^4.4|^5.0|^6.0",
- "symfony/serializer": "^4.4|^5.0|^6.0"
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/serializer": "^5.4|^6.0"
},
"bin": [
"Resources/bin/patch-type-declarations"
@@ -3907,7 +4640,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v5.4.15"
+ "source": "https://github.com/symfony/error-handler/tree/v6.0.15"
},
"funding": [
{
@@ -3923,44 +4656,42 @@
"type": "tidelift"
}
],
- "time": "2022-10-27T06:32:25+00:00"
+ "time": "2022-10-28T16:22:58+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.4.9",
+ "version": "v6.0.9",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc"
+ "reference": "5c85b58422865d42c6eb46f7693339056db098a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc",
- "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5c85b58422865d42c6eb46f7693339056db098a8",
+ "reference": "5c85b58422865d42c6eb46f7693339056db098a8",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher-contracts": "^2|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.0.2",
+ "symfony/event-dispatcher-contracts": "^2|^3"
},
"conflict": {
- "symfony/dependency-injection": "<4.4"
+ "symfony/dependency-injection": "<5.4"
},
"provide": {
"psr/event-dispatcher-implementation": "1.0",
- "symfony/event-dispatcher-implementation": "2.0"
+ "symfony/event-dispatcher-implementation": "2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/error-handler": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
"symfony/service-contracts": "^1.1|^2|^3",
- "symfony/stopwatch": "^4.4|^5.0|^6.0"
+ "symfony/stopwatch": "^5.4|^6.0"
},
"suggest": {
"symfony/dependency-injection": "",
@@ -3992,7 +4723,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.9"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v6.0.9"
},
"funding": [
{
@@ -4008,24 +4739,24 @@
"type": "tidelift"
}
],
- "time": "2022-05-05T16:45:39+00:00"
+ "time": "2022-05-05T16:45:52+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v2.5.2",
+ "version": "v3.0.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1"
+ "reference": "7bc61cc2db649b4637d331240c5346dcc7708051"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1",
- "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7bc61cc2db649b4637d331240c5346dcc7708051",
+ "reference": "7bc61cc2db649b4637d331240c5346dcc7708051",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.0.2",
"psr/event-dispatcher": "^1"
},
"suggest": {
@@ -4034,7 +4765,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.0-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -4071,7 +4802,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.0.2"
},
"funding": [
{
@@ -4087,26 +4818,24 @@
"type": "tidelift"
}
],
- "time": "2022-01-02T09:53:40+00:00"
+ "time": "2022-01-02T09:55:41+00:00"
},
{
"name": "symfony/finder",
- "version": "v5.4.11",
+ "version": "v6.0.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c"
+ "reference": "09cb683ba5720385ea6966e5e06be2a34f2568b1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c",
- "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/09cb683ba5720385ea6966e5e06be2a34f2568b1",
+ "reference": "09cb683ba5720385ea6966e5e06be2a34f2568b1",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.0.2"
},
"type": "library",
"autoload": {
@@ -4134,7 +4863,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v5.4.11"
+ "source": "https://github.com/symfony/finder/tree/v6.0.11"
},
"funding": [
{
@@ -4150,35 +4879,199 @@
"type": "tidelift"
}
],
- "time": "2022-07-29T07:37:50+00:00"
+ "time": "2022-07-29T07:39:48+00:00"
},
{
- "name": "symfony/http-foundation",
+ "name": "symfony/http-client",
"version": "v5.4.15",
"source": {
"type": "git",
- "url": "https://github.com/symfony/http-foundation.git",
- "reference": "75bd663ff2db90141bfb733682459d5bbe9e29c3"
+ "url": "https://github.com/symfony/http-client.git",
+ "reference": "8f29b0f06c9ff48c8431e78eb90c8bd6f82cb12b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/75bd663ff2db90141bfb733682459d5bbe9e29c3",
- "reference": "75bd663ff2db90141bfb733682459d5bbe9e29c3",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/8f29b0f06c9ff48c8431e78eb90c8bd6f82cb12b",
+ "reference": "8f29b0f06c9ff48c8431e78eb90c8bd6f82cb12b",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
+ "psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/http-client-contracts": "^2.4",
+ "symfony/polyfill-php73": "^1.11",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/service-contracts": "^1.0|^2|^3"
+ },
+ "provide": {
+ "php-http/async-client-implementation": "*",
+ "php-http/client-implementation": "*",
+ "psr/http-client-implementation": "1.0",
+ "symfony/http-client-implementation": "2.4"
+ },
+ "require-dev": {
+ "amphp/amp": "^2.5",
+ "amphp/http-client": "^4.2.1",
+ "amphp/http-tunnel": "^1.0",
+ "amphp/socket": "^1.1",
+ "guzzlehttp/promises": "^1.4",
+ "nyholm/psr7": "^1.0",
+ "php-http/httplug": "^1.0|^2.0",
+ "psr/http-client": "^1.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^4.4.13|^5.1.5|^6.0",
+ "symfony/process": "^4.4|^5.0|^6.0",
+ "symfony/stopwatch": "^4.4|^5.0|^6.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\HttpClient\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/http-client/tree/v5.4.15"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-25T16:22:13+00:00"
+ },
+ {
+ "name": "symfony/http-client-contracts",
+ "version": "v2.5.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/http-client-contracts.git",
+ "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70",
+ "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5"
+ },
+ "suggest": {
+ "symfony/http-client-implementation": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.5-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\HttpClient\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to HTTP clients",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.2"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-04-12T15:48:08+00:00"
+ },
+ {
+ "name": "symfony/http-foundation",
+ "version": "v6.0.15",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/http-foundation.git",
+ "reference": "a93829f4043fdcddebabd8433bdb46c2dcaefe06"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a93829f4043fdcddebabd8433bdb46c2dcaefe06",
+ "reference": "a93829f4043fdcddebabd8433bdb46c2dcaefe06",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0.2",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-mbstring": "~1.1"
},
"require-dev": {
"predis/predis": "~1.0",
- "symfony/cache": "^4.4|^5.0|^6.0",
+ "symfony/cache": "^5.4|^6.0",
"symfony/dependency-injection": "^5.4|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
"symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4",
- "symfony/mime": "^4.4|^5.0|^6.0",
+ "symfony/mime": "^5.4|^6.0",
"symfony/rate-limiter": "^5.2|^6.0"
},
"suggest": {
@@ -4210,7 +5103,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.4.15"
+ "source": "https://github.com/symfony/http-foundation/tree/v6.0.15"
},
"funding": [
{
@@ -4226,67 +5119,64 @@
"type": "tidelift"
}
],
- "time": "2022-10-12T09:43:19+00:00"
+ "time": "2022-10-12T09:44:26+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v5.4.15",
+ "version": "v6.0.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "fc63c8c3e1036d424820cc993a4ea163778dc5c7"
+ "reference": "22c820abe601e7328b56cec86626617139266f48"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/fc63c8c3e1036d424820cc993a4ea163778dc5c7",
- "reference": "fc63c8c3e1036d424820cc993a4ea163778dc5c7",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/22c820abe601e7328b56cec86626617139266f48",
+ "reference": "22c820abe601e7328b56cec86626617139266f48",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/log": "^1|^2",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^5.0|^6.0",
- "symfony/http-foundation": "^5.3.7|^6.0",
- "symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.0.2",
+ "psr/log": "^1|^2|^3",
+ "symfony/error-handler": "^5.4|^6.0",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"symfony/browser-kit": "<5.4",
- "symfony/cache": "<5.0",
- "symfony/config": "<5.0",
- "symfony/console": "<4.4",
- "symfony/dependency-injection": "<5.3",
- "symfony/doctrine-bridge": "<5.0",
- "symfony/form": "<5.0",
- "symfony/http-client": "<5.0",
- "symfony/mailer": "<5.0",
- "symfony/messenger": "<5.0",
- "symfony/translation": "<5.0",
- "symfony/twig-bridge": "<5.0",
- "symfony/validator": "<5.0",
+ "symfony/cache": "<5.4",
+ "symfony/config": "<5.4",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/doctrine-bridge": "<5.4",
+ "symfony/form": "<5.4",
+ "symfony/http-client": "<5.4",
+ "symfony/mailer": "<5.4",
+ "symfony/messenger": "<5.4",
+ "symfony/translation": "<5.4",
+ "symfony/twig-bridge": "<5.4",
+ "symfony/validator": "<5.4",
"twig/twig": "<2.13"
},
"provide": {
- "psr/log-implementation": "1.0|2.0"
+ "psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
"symfony/browser-kit": "^5.4|^6.0",
- "symfony/config": "^5.0|^6.0",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^5.3|^6.0",
- "symfony/dom-crawler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/css-selector": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/dom-crawler": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0",
"symfony/http-client-contracts": "^1.1|^2|^3",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/routing": "^4.4|^5.0|^6.0",
- "symfony/stopwatch": "^4.4|^5.0|^6.0",
- "symfony/translation": "^4.4|^5.0|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/routing": "^5.4|^6.0",
+ "symfony/stopwatch": "^5.4|^6.0",
+ "symfony/translation": "^5.4|^6.0",
"symfony/translation-contracts": "^1.1|^2|^3",
"twig/twig": "^2.13|^3.0.4"
},
@@ -4322,7 +5212,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v5.4.15"
+ "source": "https://github.com/symfony/http-kernel/tree/v6.0.15"
},
"funding": [
{
@@ -4338,42 +5228,114 @@
"type": "tidelift"
}
],
- "time": "2022-10-28T17:52:18+00:00"
+ "time": "2022-10-28T18:00:40+00:00"
},
{
- "name": "symfony/mime",
- "version": "v5.4.14",
+ "name": "symfony/mailer",
+ "version": "v6.0.15",
"source": {
"type": "git",
- "url": "https://github.com/symfony/mime.git",
- "reference": "1c118b253bb3495d81e95a6e3ec6c2766a98a0c4"
+ "url": "https://github.com/symfony/mailer.git",
+ "reference": "5eaa3f1404cafa842e953ae16c35757b7356fb32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/1c118b253bb3495d81e95a6e3ec6c2766a98a0c4",
- "reference": "1c118b253bb3495d81e95a6e3ec6c2766a98a0c4",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/5eaa3f1404cafa842e953ae16c35757b7356fb32",
+ "reference": "5eaa3f1404cafa842e953ae16c35757b7356fb32",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "egulias/email-validator": "^2.1.10|^3",
+ "php": ">=8.0.2",
+ "psr/event-dispatcher": "^1",
+ "psr/log": "^1|^2|^3",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/mime": "^5.4|^6.0",
+ "symfony/service-contracts": "^1.1|^2|^3"
+ },
+ "conflict": {
+ "symfony/http-kernel": "<5.4"
+ },
+ "require-dev": {
+ "symfony/http-client-contracts": "^1.1|^2|^3",
+ "symfony/messenger": "^5.4|^6.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Mailer\\": ""
+ },
+ "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": "Helps sending emails",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/mailer/tree/v6.0.15"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-28T16:22:58+00:00"
+ },
+ {
+ "name": "symfony/mime",
+ "version": "v6.0.14",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/mime.git",
+ "reference": "c01b88b63418131daf2edd0bdc17fc8a6d1c939a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/c01b88b63418131daf2edd0bdc17fc8a6d1c939a",
+ "reference": "c01b88b63418131daf2edd0bdc17fc8a6d1c939a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0.2",
"symfony/polyfill-intl-idn": "^1.10",
- "symfony/polyfill-mbstring": "^1.0",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/polyfill-mbstring": "^1.0"
},
"conflict": {
"egulias/email-validator": "~3.0.0",
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
- "symfony/mailer": "<4.4",
+ "symfony/mailer": "<5.4",
"symfony/serializer": "<5.4.14|>=6.0,<6.0.14|>=6.1,<6.1.6"
},
"require-dev": {
"egulias/email-validator": "^2.1.10|^3.1",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/property-access": "^4.4|^5.1|^6.0",
- "symfony/property-info": "^4.4|^5.1|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/property-access": "^5.4|^6.0",
+ "symfony/property-info": "^5.4|^6.0",
"symfony/serializer": "^5.4.14|~6.0.14|^6.1.6"
},
"type": "library",
@@ -4406,7 +5368,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v5.4.14"
+ "source": "https://github.com/symfony/mime/tree/v6.0.14"
},
"funding": [
{
@@ -4422,7 +5384,7 @@
"type": "tidelift"
}
],
- "time": "2022-10-07T08:01:20+00:00"
+ "time": "2022-10-07T08:02:12+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -4506,89 +5468,6 @@
],
"time": "2022-05-24T11:49:31+00:00"
},
- {
- "name": "symfony/polyfill-iconv",
- "version": "v1.26.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-iconv.git",
- "reference": "143f1881e655bebca1312722af8068de235ae5dc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/143f1881e655bebca1312722af8068de235ae5dc",
- "reference": "143f1881e655bebca1312722af8068de235ae5dc",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "provide": {
- "ext-iconv": "*"
- },
- "suggest": {
- "ext-iconv": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.26-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Iconv\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for the Iconv extension",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "iconv",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-iconv/tree/v1.26.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2022-05-24T11:49:31+00:00"
- },
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.26.0",
@@ -5242,22 +6121,103 @@
"time": "2022-05-24T11:49:31+00:00"
},
{
- "name": "symfony/process",
- "version": "v5.4.11",
+ "name": "symfony/polyfill-uuid",
+ "version": "v1.26.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1"
+ "url": "https://github.com/symfony/polyfill-uuid.git",
+ "reference": "a41886c1c81dc075a09c71fe6db5b9d68c79de23"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/6e75fe6874cbc7e4773d049616ab450eff537bf1",
- "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1",
+ "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/a41886c1c81dc075a09c71fe6db5b9d68c79de23",
+ "reference": "a41886c1c81dc075a09c71fe6db5b9d68c79de23",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=7.1"
+ },
+ "provide": {
+ "ext-uuid": "*"
+ },
+ "suggest": {
+ "ext-uuid": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Uuid\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Grégoire Pineau",
+ "email": "lyrixx@lyrixx.info"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for uuid functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "uuid"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-uuid/tree/v1.26.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-24T11:49:31+00:00"
+ },
+ {
+ "name": "symfony/process",
+ "version": "v6.0.11",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/process.git",
+ "reference": "44270a08ccb664143dede554ff1c00aaa2247a43"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/process/zipball/44270a08ccb664143dede554ff1c00aaa2247a43",
+ "reference": "44270a08ccb664143dede554ff1c00aaa2247a43",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0.2"
},
"type": "library",
"autoload": {
@@ -5285,7 +6245,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v5.4.11"
+ "source": "https://github.com/symfony/process/tree/v6.0.11"
},
"funding": [
{
@@ -5301,41 +6261,39 @@
"type": "tidelift"
}
],
- "time": "2022-06-27T16:58:25+00:00"
+ "time": "2022-06-27T17:10:44+00:00"
},
{
"name": "symfony/routing",
- "version": "v5.4.15",
+ "version": "v6.0.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "5c9b129efe9abce9470e384bf65d8a7e262eee69"
+ "reference": "3b7384fad32c6d0e1919b5bd18a69fbcfc383508"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/5c9b129efe9abce9470e384bf65d8a7e262eee69",
- "reference": "5c9b129efe9abce9470e384bf65d8a7e262eee69",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/3b7384fad32c6d0e1919b5bd18a69fbcfc383508",
+ "reference": "3b7384fad32c6d0e1919b5bd18a69fbcfc383508",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.0.2"
},
"conflict": {
"doctrine/annotations": "<1.12",
- "symfony/config": "<5.3",
- "symfony/dependency-injection": "<4.4",
- "symfony/yaml": "<4.4"
+ "symfony/config": "<5.4",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/yaml": "<5.4"
},
"require-dev": {
"doctrine/annotations": "^1.12",
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.3|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "symfony/config": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/yaml": "^5.4|^6.0"
},
"suggest": {
"symfony/config": "For using the all-in-one router or any loader",
@@ -5375,7 +6333,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v5.4.15"
+ "source": "https://github.com/symfony/routing/tree/v6.0.15"
},
"funding": [
{
@@ -5391,26 +6349,25 @@
"type": "tidelift"
}
],
- "time": "2022-10-13T14:10:41+00:00"
+ "time": "2022-10-18T13:11:57+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v2.5.2",
+ "version": "v3.0.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
+ "reference": "d78d39c1599bd1188b8e26bb341da52c3c6d8a66"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
- "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d78d39c1599bd1188b8e26bb341da52c3c6d8a66",
+ "reference": "d78d39c1599bd1188b8e26bb341da52c3c6d8a66",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/container": "^1.1",
- "symfony/deprecation-contracts": "^2.1|^3"
+ "php": ">=8.0.2",
+ "psr/container": "^2.0"
},
"conflict": {
"ext-psr": "<1.1|>=2"
@@ -5421,7 +6378,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.0-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -5458,7 +6415,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.0.2"
},
"funding": [
{
@@ -5474,38 +6431,37 @@
"type": "tidelift"
}
],
- "time": "2022-05-30T19:17:29+00:00"
+ "time": "2022-05-30T19:17:58+00:00"
},
{
"name": "symfony/string",
- "version": "v5.4.15",
+ "version": "v6.0.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed"
+ "reference": "51ac0fa0ccf132a00519b87c97e8f775fa14e771"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/571334ce9f687e3e6af72db4d3b2a9431e4fd9ed",
- "reference": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed",
+ "url": "https://api.github.com/repos/symfony/string/zipball/51ac0fa0ccf132a00519b87c97e8f775fa14e771",
+ "reference": "51ac0fa0ccf132a00519b87c97e8f775fa14e771",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.0.2",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "~1.15"
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/translation-contracts": ">=3.0"
+ "symfony/translation-contracts": "<2.0"
},
"require-dev": {
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/translation-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.4|^5.0|^6.0"
+ "symfony/error-handler": "^5.4|^6.0",
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/translation-contracts": "^2.0|^3.0",
+ "symfony/var-exporter": "^5.4|^6.0"
},
"type": "library",
"autoload": {
@@ -5544,7 +6500,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.4.15"
+ "source": "https://github.com/symfony/string/tree/v6.0.15"
},
"funding": [
{
@@ -5560,52 +6516,50 @@
"type": "tidelift"
}
],
- "time": "2022-10-05T15:16:54+00:00"
+ "time": "2022-10-10T09:34:08+00:00"
},
{
"name": "symfony/translation",
- "version": "v5.4.14",
+ "version": "v6.0.14",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "f0ed07675863aa6e3939df8b1bc879450b585cab"
+ "reference": "6f99eb179aee4652c0a7cd7c11f2a870d904330c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/f0ed07675863aa6e3939df8b1bc879450b585cab",
- "reference": "f0ed07675863aa6e3939df8b1bc879450b585cab",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/6f99eb179aee4652c0a7cd7c11f2a870d904330c",
+ "reference": "6f99eb179aee4652c0a7cd7c11f2a870d904330c",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.0.2",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/translation-contracts": "^2.3"
+ "symfony/translation-contracts": "^2.3|^3.0"
},
"conflict": {
- "symfony/config": "<4.4",
- "symfony/console": "<5.3",
- "symfony/dependency-injection": "<5.0",
- "symfony/http-kernel": "<5.0",
- "symfony/twig-bundle": "<5.0",
- "symfony/yaml": "<4.4"
+ "symfony/config": "<5.4",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/http-kernel": "<5.4",
+ "symfony/twig-bundle": "<5.4",
+ "symfony/yaml": "<5.4"
},
"provide": {
- "symfony/translation-implementation": "2.3"
+ "symfony/translation-implementation": "2.3|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/config": "^5.4|^6.0",
"symfony/console": "^5.4|^6.0",
- "symfony/dependency-injection": "^5.0|^6.0",
- "symfony/finder": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0",
"symfony/http-client-contracts": "^1.1|^2.0|^3.0",
- "symfony/http-kernel": "^5.0|^6.0",
- "symfony/intl": "^4.4|^5.0|^6.0",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/intl": "^5.4|^6.0",
"symfony/polyfill-intl-icu": "^1.21",
"symfony/service-contracts": "^1.1.2|^2|^3",
- "symfony/yaml": "^4.4|^5.0|^6.0"
+ "symfony/yaml": "^5.4|^6.0"
},
"suggest": {
"psr/log-implementation": "To use logging capability in translator",
@@ -5641,7 +6595,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v5.4.14"
+ "source": "https://github.com/symfony/translation/tree/v6.0.14"
},
"funding": [
{
@@ -5657,24 +6611,24 @@
"type": "tidelift"
}
],
- "time": "2022-10-07T08:01:20+00:00"
+ "time": "2022-10-07T08:02:12+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v2.5.2",
+ "version": "v3.0.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe"
+ "reference": "acbfbb274e730e5a0236f619b6168d9dedb3e282"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe",
- "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/acbfbb274e730e5a0236f619b6168d9dedb3e282",
+ "reference": "acbfbb274e730e5a0236f619b6168d9dedb3e282",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=8.0.2"
},
"suggest": {
"symfony/translation-implementation": ""
@@ -5682,7 +6636,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.0-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -5719,7 +6673,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.0.2"
},
"funding": [
{
@@ -5735,36 +6689,109 @@
"type": "tidelift"
}
],
- "time": "2022-06-27T16:58:25+00:00"
+ "time": "2022-06-27T17:10:44+00:00"
},
{
- "name": "symfony/var-dumper",
- "version": "v5.4.14",
+ "name": "symfony/uid",
+ "version": "v6.0.13",
"source": {
"type": "git",
- "url": "https://github.com/symfony/var-dumper.git",
- "reference": "6894d06145fefebd9a4c7272baa026a1c394a430"
+ "url": "https://github.com/symfony/uid.git",
+ "reference": "db426b27173f5e2d8b960dd10fa8ce19ea9ca5f3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6894d06145fefebd9a4c7272baa026a1c394a430",
- "reference": "6894d06145fefebd9a4c7272baa026a1c394a430",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/db426b27173f5e2d8b960dd10fa8ce19ea9ca5f3",
+ "reference": "db426b27173f5e2d8b960dd10fa8ce19ea9ca5f3",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.0.2",
+ "symfony/polyfill-uuid": "^1.15"
+ },
+ "require-dev": {
+ "symfony/console": "^5.4|^6.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Uid\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Grégoire Pineau",
+ "email": "lyrixx@lyrixx.info"
+ },
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides an object-oriented API to generate and represent UIDs",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "UID",
+ "ulid",
+ "uuid"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/uid/tree/v6.0.13"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-09-09T09:33:56+00:00"
+ },
+ {
+ "name": "symfony/var-dumper",
+ "version": "v6.0.14",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/var-dumper.git",
+ "reference": "72af925ddd41ca0372d166d004bc38a00c4608cc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/72af925ddd41ca0372d166d004bc38a00c4608cc",
+ "reference": "72af925ddd41ca0372d166d004bc38a00c4608cc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0.2",
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
"phpunit/phpunit": "<5.4.3",
- "symfony/console": "<4.4"
+ "symfony/console": "<5.4"
},
"require-dev": {
"ext-iconv": "*",
- "symfony/console": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/uid": "^5.1|^6.0",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/uid": "^5.4|^6.0",
"twig/twig": "^2.13|^3.0.4"
},
"suggest": {
@@ -5808,7 +6835,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v5.4.14"
+ "source": "https://github.com/symfony/var-dumper/tree/v6.0.14"
},
"funding": [
{
@@ -5824,7 +6851,7 @@
"type": "tidelift"
}
],
- "time": "2022-10-07T08:01:20+00:00"
+ "time": "2022-10-07T08:02:12+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@@ -5879,6 +6906,86 @@
},
"time": "2022-09-12T13:28:28+00:00"
},
+ {
+ "name": "torann/geoip",
+ "version": "3.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Torann/laravel-geoip.git",
+ "reference": "3d730ae7470b86ae828b4128b1757a96156fd941"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Torann/laravel-geoip/zipball/3d730ae7470b86ae828b4128b1757a96156fd941",
+ "reference": "3d730ae7470b86ae828b4128b1757a96156fd941",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/cache": "^8.0|^9.0",
+ "illuminate/console": "^8.0|^9.0",
+ "illuminate/support": "^8.0|^9.0",
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "geoip2/geoip2": "~2.1",
+ "mockery/mockery": "^1.3",
+ "phpstan/phpstan": "^0.12.14",
+ "phpunit/phpunit": "^8.0",
+ "squizlabs/php_codesniffer": "^3.5",
+ "vlucas/phpdotenv": "^5.0"
+ },
+ "suggest": {
+ "geoip2/geoip2": "Required to use the MaxMind database or web service with GeoIP (~2.1).",
+ "monolog/monolog": "Allows for storing location not found errors to the log"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Torann\\GeoIP\\GeoIPServiceProvider"
+ ],
+ "aliases": {
+ "GeoIP": "Torann\\GeoIP\\Facades\\GeoIP"
+ }
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/helpers.php"
+ ],
+ "psr-4": {
+ "Torann\\GeoIP\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Daniel Stainback",
+ "email": "torann@gmail.com"
+ }
+ ],
+ "description": "Support for multiple GeoIP services.",
+ "keywords": [
+ "IP API",
+ "geoip",
+ "geolocation",
+ "infoDB",
+ "laravel",
+ "location",
+ "maxmind"
+ ],
+ "support": {
+ "issues": "https://github.com/Torann/laravel-geoip/issues",
+ "source": "https://github.com/Torann/laravel-geoip/tree/3.0.4"
+ },
+ "time": "2022-02-09T14:48:24+00:00"
+ },
{
"name": "vlucas/phpdotenv",
"version": "v5.5.0",
@@ -5965,16 +7072,16 @@
},
{
"name": "voku/portable-ascii",
- "version": "1.6.1",
+ "version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/voku/portable-ascii.git",
- "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a"
+ "reference": "b56450eed252f6801410d810c8e1727224ae0743"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a",
- "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a",
+ "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743",
+ "reference": "b56450eed252f6801410d810c8e1727224ae0743",
"shasum": ""
},
"require": {
@@ -6011,7 +7118,7 @@
],
"support": {
"issues": "https://github.com/voku/portable-ascii/issues",
- "source": "https://github.com/voku/portable-ascii/tree/1.6.1"
+ "source": "https://github.com/voku/portable-ascii/tree/2.0.1"
},
"funding": [
{
@@ -6035,7 +7142,7 @@
"type": "tidelift"
}
],
- "time": "2022-01-24T18:55:24+00:00"
+ "time": "2022-03-08T17:03:00+00:00"
},
{
"name": "webmozart/assert",
@@ -6097,6 +7204,223 @@
}
],
"packages-dev": [
+ {
+ "name": "barryvdh/laravel-ide-helper",
+ "version": "v2.12.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/barryvdh/laravel-ide-helper.git",
+ "reference": "3ba1e2573b38f72107b8aacc4ee177fcab30a550"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/3ba1e2573b38f72107b8aacc4ee177fcab30a550",
+ "reference": "3ba1e2573b38f72107b8aacc4ee177fcab30a550",
+ "shasum": ""
+ },
+ "require": {
+ "barryvdh/reflection-docblock": "^2.0.6",
+ "composer/pcre": "^1 || ^2 || ^3",
+ "doctrine/dbal": "^2.6 || ^3",
+ "ext-json": "*",
+ "illuminate/console": "^8 || ^9",
+ "illuminate/filesystem": "^8 || ^9",
+ "illuminate/support": "^8 || ^9",
+ "nikic/php-parser": "^4.7",
+ "php": "^7.3 || ^8.0",
+ "phpdocumentor/type-resolver": "^1.1.0"
+ },
+ "require-dev": {
+ "ext-pdo_sqlite": "*",
+ "friendsofphp/php-cs-fixer": "^2",
+ "illuminate/config": "^8 || ^9",
+ "illuminate/view": "^8 || ^9",
+ "mockery/mockery": "^1.4",
+ "orchestra/testbench": "^6 || ^7",
+ "phpunit/phpunit": "^8.5 || ^9",
+ "spatie/phpunit-snapshot-assertions": "^3 || ^4",
+ "vimeo/psalm": "^3.12"
+ },
+ "suggest": {
+ "illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9)."
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.12-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Barryvdh\\LaravelIdeHelper\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Barry vd. Heuvel",
+ "email": "barryvdh@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"
+ ],
+ "support": {
+ "issues": "https://github.com/barryvdh/laravel-ide-helper/issues",
+ "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.12.3"
+ },
+ "funding": [
+ {
+ "url": "https://fruitcake.nl",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/barryvdh",
+ "type": "github"
+ }
+ ],
+ "time": "2022-03-06T14:33:42+00:00"
+ },
+ {
+ "name": "barryvdh/reflection-docblock",
+ "version": "v2.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/barryvdh/ReflectionDocBlock.git",
+ "reference": "bf44b757feb8ba1734659029357646466ded673e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/bf44b757feb8ba1734659029357646466ded673e",
+ "reference": "bf44b757feb8ba1734659029357646466ded673e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5.14|^9"
+ },
+ "suggest": {
+ "dflydev/markdown": "~1.0",
+ "erusev/parsedown": "~1.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Barryvdh": [
+ "src/"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "mike.vanriel@naenius.com"
+ }
+ ],
+ "support": {
+ "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.1.0"
+ },
+ "time": "2022-10-31T15:35:43+00:00"
+ },
+ {
+ "name": "composer/pcre",
+ "version": "3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/pcre.git",
+ "reference": "4482b6409ca6bfc2af043a5711cd21ac3e7a8dfb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/4482b6409ca6bfc2af043a5711cd21ac3e7a8dfb",
+ "reference": "4482b6409ca6bfc2af043a5711cd21ac3e7a8dfb",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^1.3",
+ "phpstan/phpstan-strict-rules": "^1.1",
+ "symfony/phpunit-bridge": "^5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Composer\\Pcre\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ }
+ ],
+ "description": "PCRE wrapping library that offers type-safe preg_* replacements.",
+ "keywords": [
+ "PCRE",
+ "preg",
+ "regex",
+ "regular expression"
+ ],
+ "support": {
+ "issues": "https://github.com/composer/pcre/issues",
+ "source": "https://github.com/composer/pcre/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-11-03T20:24:16+00:00"
+ },
{
"name": "doctrine/instantiator",
"version": "1.4.1",
@@ -6167,202 +7491,6 @@
],
"time": "2022-03-03T08:28:38+00:00"
},
- {
- "name": "facade/flare-client-php",
- "version": "1.9.1",
- "source": {
- "type": "git",
- "url": "https://github.com/facade/flare-client-php.git",
- "reference": "b2adf1512755637d0cef4f7d1b54301325ac78ed"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/facade/flare-client-php/zipball/b2adf1512755637d0cef4f7d1b54301325ac78ed",
- "reference": "b2adf1512755637d0cef4f7d1b54301325ac78ed",
- "shasum": ""
- },
- "require": {
- "facade/ignition-contracts": "~1.0",
- "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0",
- "php": "^7.1|^8.0",
- "symfony/http-foundation": "^3.3|^4.1|^5.0",
- "symfony/mime": "^3.4|^4.0|^5.1",
- "symfony/var-dumper": "^3.4|^4.0|^5.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^2.14",
- "phpunit/phpunit": "^7.5.16",
- "spatie/phpunit-snapshot-assertions": "^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "files": [
- "src/helpers.php"
- ],
- "psr-4": {
- "Facade\\FlareClient\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Send PHP errors to Flare",
- "homepage": "https://github.com/facade/flare-client-php",
- "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"
- },
- "funding": [
- {
- "url": "https://github.com/spatie",
- "type": "github"
- }
- ],
- "time": "2021-09-13T12:16:46+00:00"
- },
- {
- "name": "facade/ignition",
- "version": "2.17.6",
- "source": {
- "type": "git",
- "url": "https://github.com/facade/ignition.git",
- "reference": "6acd82e986a2ecee89e2e68adfc30a1936d1ab7c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/facade/ignition/zipball/6acd82e986a2ecee89e2e68adfc30a1936d1ab7c",
- "reference": "6acd82e986a2ecee89e2e68adfc30a1936d1ab7c",
- "shasum": ""
- },
- "require": {
- "ext-curl": "*",
- "ext-json": "*",
- "ext-mbstring": "*",
- "facade/flare-client-php": "^1.9.1",
- "facade/ignition-contracts": "^1.0.2",
- "illuminate/support": "^7.0|^8.0",
- "monolog/monolog": "^2.0",
- "php": "^7.2.5|^8.0",
- "symfony/console": "^5.0",
- "symfony/var-dumper": "^5.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^2.14",
- "livewire/livewire": "^2.4",
- "mockery/mockery": "^1.3",
- "orchestra/testbench": "^5.0|^6.0",
- "psalm/plugin-laravel": "^1.2"
- },
- "suggest": {
- "laravel/telescope": "^3.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.x-dev"
- },
- "laravel": {
- "providers": [
- "Facade\\Ignition\\IgnitionServiceProvider"
- ],
- "aliases": {
- "Flare": "Facade\\Ignition\\Facades\\Flare"
- }
- }
- },
- "autoload": {
- "files": [
- "src/helpers.php"
- ],
- "psr-4": {
- "Facade\\Ignition\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "A beautiful error page for Laravel applications.",
- "homepage": "https://github.com/facade/ignition",
- "keywords": [
- "error",
- "flare",
- "laravel",
- "page"
- ],
- "support": {
- "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
- "forum": "https://twitter.com/flareappio",
- "issues": "https://github.com/facade/ignition/issues",
- "source": "https://github.com/facade/ignition"
- },
- "time": "2022-06-30T18:26:59+00:00"
- },
- {
- "name": "facade/ignition-contracts",
- "version": "1.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/facade/ignition-contracts.git",
- "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267",
- "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267",
- "shasum": ""
- },
- "require": {
- "php": "^7.3|^8.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^v2.15.8",
- "phpunit/phpunit": "^9.3.11",
- "vimeo/psalm": "^3.17.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Facade\\IgnitionContracts\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Freek Van der Herten",
- "email": "freek@spatie.be",
- "homepage": "https://flareapp.io",
- "role": "Developer"
- }
- ],
- "description": "Solution contracts for Ignition",
- "homepage": "https://github.com/facade/ignition-contracts",
- "keywords": [
- "contracts",
- "flare",
- "ignition"
- ],
- "support": {
- "issues": "https://github.com/facade/ignition-contracts/issues",
- "source": "https://github.com/facade/ignition-contracts/tree/1.0.2"
- },
- "time": "2020-10-16T08:27:54+00:00"
- },
{
"name": "fakerphp/faker",
"version": "v1.20.0",
@@ -6432,16 +7560,16 @@
},
{
"name": "filp/whoops",
- "version": "2.14.5",
+ "version": "2.14.6",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
- "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc"
+ "reference": "f7948baaa0330277c729714910336383286305da"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/a63e5e8f26ebbebf8ed3c5c691637325512eb0dc",
- "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/f7948baaa0330277c729714910336383286305da",
+ "reference": "f7948baaa0330277c729714910336383286305da",
"shasum": ""
},
"require": {
@@ -6491,7 +7619,7 @@
],
"support": {
"issues": "https://github.com/filp/whoops/issues",
- "source": "https://github.com/filp/whoops/tree/2.14.5"
+ "source": "https://github.com/filp/whoops/tree/2.14.6"
},
"funding": [
{
@@ -6499,7 +7627,7 @@
"type": "github"
}
],
- "time": "2022-01-07T12:00:00+00:00"
+ "time": "2022-11-02T16:23:29+00:00"
},
{
"name": "hamcrest/hamcrest-php",
@@ -6554,23 +7682,27 @@
},
{
"name": "laravel/breeze",
- "version": "v1.10.0",
+ "version": "v1.14.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/breeze.git",
- "reference": "e98e855ab4bde5bf0083c4a4d73c0f5b474241ae"
+ "reference": "e1816890159f7c772066cce0317d2b54904b701f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/breeze/zipball/e98e855ab4bde5bf0083c4a4d73c0f5b474241ae",
- "reference": "e98e855ab4bde5bf0083c4a4d73c0f5b474241ae",
+ "url": "https://api.github.com/repos/laravel/breeze/zipball/e1816890159f7c772066cce0317d2b54904b701f",
+ "reference": "e1816890159f7c772066cce0317d2b54904b701f",
"shasum": ""
},
"require": {
- "illuminate/filesystem": "^8.42|^9.0",
- "illuminate/support": "^8.42|^9.0",
- "illuminate/validation": "^8.42|^9.0",
- "php": "^7.3|^8.0"
+ "illuminate/console": "^9.21",
+ "illuminate/filesystem": "^9.21",
+ "illuminate/support": "^9.21",
+ "illuminate/validation": "^9.21",
+ "php": "^8.0.2"
+ },
+ "conflict": {
+ "laravel/framework": "<9.37.0"
},
"type": "library",
"extra": {
@@ -6607,7 +7739,7 @@
"issues": "https://github.com/laravel/breeze/issues",
"source": "https://github.com/laravel/breeze"
},
- "time": "2022-06-28T11:52:06+00:00"
+ "time": "2022-10-26T08:00:51+00:00"
},
{
"name": "laravel/sail",
@@ -6802,37 +7934,38 @@
},
{
"name": "nunomaduro/collision",
- "version": "v5.11.0",
+ "version": "v6.3.1",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/collision.git",
- "reference": "8b610eef8582ccdc05d8f2ab23305e2d37049461"
+ "reference": "0f6349c3ed5dd28467087b08fb59384bb458a22b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/collision/zipball/8b610eef8582ccdc05d8f2ab23305e2d37049461",
- "reference": "8b610eef8582ccdc05d8f2ab23305e2d37049461",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/0f6349c3ed5dd28467087b08fb59384bb458a22b",
+ "reference": "0f6349c3ed5dd28467087b08fb59384bb458a22b",
"shasum": ""
},
"require": {
- "facade/ignition-contracts": "^1.0",
- "filp/whoops": "^2.14.3",
- "php": "^7.3 || ^8.0",
- "symfony/console": "^5.0"
+ "filp/whoops": "^2.14.5",
+ "php": "^8.0.0",
+ "symfony/console": "^6.0.2"
},
"require-dev": {
- "brianium/paratest": "^6.1",
- "fideloper/proxy": "^4.4.1",
- "fruitcake/laravel-cors": "^2.0.3",
- "laravel/framework": "8.x-dev",
- "nunomaduro/larastan": "^0.6.2",
- "nunomaduro/mock-final-classes": "^1.0",
- "orchestra/testbench": "^6.0",
- "phpstan/phpstan": "^0.12.64",
- "phpunit/phpunit": "^9.5.0"
+ "brianium/paratest": "^6.4.1",
+ "laravel/framework": "^9.26.1",
+ "laravel/pint": "^1.1.1",
+ "nunomaduro/larastan": "^1.0.3",
+ "nunomaduro/mock-final-classes": "^1.1.0",
+ "orchestra/testbench": "^7.7",
+ "phpunit/phpunit": "^9.5.23",
+ "spatie/ignition": "^1.4.1"
},
"type": "library",
"extra": {
+ "branch-alias": {
+ "dev-develop": "6.x-dev"
+ },
"laravel": {
"providers": [
"NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider"
@@ -6885,7 +8018,7 @@
"type": "patreon"
}
],
- "time": "2022-01-10T16:22:52+00:00"
+ "time": "2022-09-29T12:29:49+00:00"
},
{
"name": "phar-io/manifest",
@@ -6998,6 +8131,114 @@
},
"time": "2022-02-21T01:04:05+00:00"
},
+ {
+ "name": "phpdocumentor/reflection-common",
+ "version": "2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-2.x": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "opensource@ijaap.nl"
+ }
+ ],
+ "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
+ "homepage": "http://www.phpdoc.org",
+ "keywords": [
+ "FQSEN",
+ "phpDocumentor",
+ "phpdoc",
+ "reflection",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ },
+ "time": "2020-06-27T09:03:43+00:00"
+ },
+ {
+ "name": "phpdocumentor/type-resolver",
+ "version": "1.6.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
+ "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
+ "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.4 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.0"
+ },
+ "require-dev": {
+ "ext-tokenizer": "*",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpunit/phpunit": "^9.5",
+ "rector/rector": "^0.13.9",
+ "vimeo/psalm": "^4.25"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-1.x": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ }
+ ],
+ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2"
+ },
+ "time": "2022-10-14T12:47:21+00:00"
+ },
{
"name": "phpunit/php-code-coverage",
"version": "9.2.18",
@@ -8382,6 +9623,302 @@
],
"time": "2020-09-28T06:39:44+00:00"
},
+ {
+ "name": "spatie/backtrace",
+ "version": "1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/backtrace.git",
+ "reference": "4ee7d41aa5268107906ea8a4d9ceccde136dbd5b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/backtrace/zipball/4ee7d41aa5268107906ea8a4d9ceccde136dbd5b",
+ "reference": "4ee7d41aa5268107906ea8a4d9ceccde136dbd5b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3|^8.0"
+ },
+ "require-dev": {
+ "ext-json": "*",
+ "phpunit/phpunit": "^9.3",
+ "symfony/var-dumper": "^5.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\Backtrace\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van de Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "A better backtrace",
+ "homepage": "https://github.com/spatie/backtrace",
+ "keywords": [
+ "Backtrace",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/backtrace/issues",
+ "source": "https://github.com/spatie/backtrace/tree/1.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/spatie",
+ "type": "github"
+ },
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "other"
+ }
+ ],
+ "time": "2021-11-09T10:57:15+00:00"
+ },
+ {
+ "name": "spatie/flare-client-php",
+ "version": "1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/flare-client-php.git",
+ "reference": "b1b974348750925b717fa8c8b97a0db0d1aa40ca"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/b1b974348750925b717fa8c8b97a0db0d1aa40ca",
+ "reference": "b1b974348750925b717fa8c8b97a0db0d1aa40ca",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/pipeline": "^8.0|^9.0",
+ "php": "^8.0",
+ "spatie/backtrace": "^1.2",
+ "symfony/http-foundation": "^5.0|^6.0",
+ "symfony/mime": "^5.2|^6.0",
+ "symfony/process": "^5.2|^6.0",
+ "symfony/var-dumper": "^5.2|^6.0"
+ },
+ "require-dev": {
+ "dms/phpunit-arraysubset-asserts": "^0.3.0",
+ "pestphp/pest": "^1.20",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "spatie/phpunit-snapshot-assertions": "^4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.1.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/helpers.php"
+ ],
+ "psr-4": {
+ "Spatie\\FlareClient\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Send PHP errors to Flare",
+ "homepage": "https://github.com/spatie/flare-client-php",
+ "keywords": [
+ "exception",
+ "flare",
+ "reporting",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/flare-client-php/issues",
+ "source": "https://github.com/spatie/flare-client-php/tree/1.3.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2022-08-08T10:10:20+00:00"
+ },
+ {
+ "name": "spatie/ignition",
+ "version": "1.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/ignition.git",
+ "reference": "dd3d456779108d7078baf4e43f8c2b937d9794a1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/ignition/zipball/dd3d456779108d7078baf4e43f8c2b937d9794a1",
+ "reference": "dd3d456779108d7078baf4e43f8c2b937d9794a1",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "monolog/monolog": "^2.0",
+ "php": "^8.0",
+ "spatie/flare-client-php": "^1.1",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/var-dumper": "^5.4|^6.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.4",
+ "pestphp/pest": "^1.20",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "symfony/process": "^5.4|^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Spatie\\Ignition\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Spatie",
+ "email": "info@spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "A beautiful error page for PHP applications.",
+ "homepage": "https://flareapp.io/ignition",
+ "keywords": [
+ "error",
+ "flare",
+ "laravel",
+ "page"
+ ],
+ "support": {
+ "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
+ "forum": "https://twitter.com/flareappio",
+ "issues": "https://github.com/spatie/ignition/issues",
+ "source": "https://github.com/spatie/ignition"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2022-08-26T11:51:15+00:00"
+ },
+ {
+ "name": "spatie/laravel-ignition",
+ "version": "1.6.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/laravel-ignition.git",
+ "reference": "2b79cf6ed40946b64ac6713d7d2da8a9d87f612b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/2b79cf6ed40946b64ac6713d7d2da8a9d87f612b",
+ "reference": "2b79cf6ed40946b64ac6713d7d2da8a9d87f612b",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "illuminate/support": "^8.77|^9.27",
+ "monolog/monolog": "^2.3",
+ "php": "^8.0",
+ "spatie/flare-client-php": "^1.0.1",
+ "spatie/ignition": "^1.4.1",
+ "symfony/console": "^5.0|^6.0",
+ "symfony/var-dumper": "^5.0|^6.0"
+ },
+ "require-dev": {
+ "filp/whoops": "^2.14",
+ "livewire/livewire": "^2.8|dev-develop",
+ "mockery/mockery": "^1.4",
+ "nunomaduro/larastan": "^1.0",
+ "orchestra/testbench": "^6.23|^7.0",
+ "pestphp/pest": "^1.20",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "spatie/laravel-ray": "^1.27"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Spatie\\LaravelIgnition\\IgnitionServiceProvider"
+ ],
+ "aliases": {
+ "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare"
+ }
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/helpers.php"
+ ],
+ "psr-4": {
+ "Spatie\\LaravelIgnition\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Spatie",
+ "email": "info@spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "A beautiful error page for Laravel applications.",
+ "homepage": "https://flareapp.io/ignition",
+ "keywords": [
+ "error",
+ "flare",
+ "laravel",
+ "page"
+ ],
+ "support": {
+ "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
+ "forum": "https://twitter.com/flareappio",
+ "issues": "https://github.com/spatie/laravel-ignition/issues",
+ "source": "https://github.com/spatie/laravel-ignition"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2022-10-26T17:39:54+00:00"
+ },
{
"name": "theseer/tokenizer",
"version": "1.2.1",
@@ -8442,5 +9979,5 @@
"php": "^7.3|^8.0"
},
"platform-dev": [],
- "plugin-api-version": "2.3.0"
+ "plugin-api-version": "2.2.0"
}
diff --git a/config/app.php b/config/app.php
index 3ecdb2e..e38784c 100755
--- a/config/app.php
+++ b/config/app.php
@@ -13,7 +13,7 @@ return [
|
*/
- 'name' => env('APP_NAME', 'Admin Littlelink'),
+ 'name' => env('APP_NAME', 'LittleLink Custom'),
/*
|--------------------------------------------------------------------------
@@ -161,11 +161,15 @@ return [
Illuminate\Translation\TranslationServiceProvider::class,
Illuminate\Validation\ValidationServiceProvider::class,
Illuminate\View\ViewServiceProvider::class,
+ Laravel\Socialite\SocialiteServiceProvider::class,
+
+
/*
* Package Service Providers...
*/
+
/*
* Application Service Providers...
*/
@@ -226,6 +230,8 @@ return [
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
+ 'Socialite'=> Laravel\Socialite\Facades\Socialite::class,
+ 'OEmbed' => Cohensive\OEmbed\Facades\OEmbed::class
],
diff --git a/config/services.php b/config/services.php
index 2a1d616..973b922 100755
--- a/config/services.php
+++ b/config/services.php
@@ -29,5 +29,20 @@ return [
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],
+ 'facebook' => [
+ 'client_id' => env('FACEBOOK_CLIENT_ID'),
+ 'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
+ 'redirect' => env('FACEBOOK_CALLBACK_URL'),
+ ],
+ 'twitter' => [
+ 'client_id' => env('TWITTER_CLIENT_ID'),
+ 'client_secret' => env('TWITTER_CLIENT_SECRET'),
+ 'redirect' => env('TWITTER_CALLBACK_URL'),
+ ],
+ 'google' => [
+ 'client_id' => env('GOOGLE_CLIENT_ID'),
+ 'client_secret' => env('GOOGLE_CLIENT_SECRET'),
+ 'redirect' => env('GOOGLE_CALLBACK_URL'),
+ ],
];
diff --git a/config/visits.php b/config/visits.php
new file mode 100644
index 0000000..28a8664
--- /dev/null
+++ b/config/visits.php
@@ -0,0 +1,78 @@
+ \Awssat\Visits\DataEngines\EloquentEngine::class,
+ 'connection' => 'laravel-visits',
+
+
+ /*
+ |--------------------------------------------------------------------------
+ | Counters periods
+ |--------------------------------------------------------------------------
+ |
+ | Record visits (total) of each one of these periods in this set (can be empty)
+ |
+ */
+ 'periods' => [
+ 'day',
+ 'week',
+ 'month',
+ 'year',
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Redis prefix
+ |--------------------------------------------------------------------------
+ */
+ 'keys_prefix' => 'visits',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Remember ip for x seconds of time
+ |--------------------------------------------------------------------------
+ |
+ | Will count only one visit of an IP during this specified time.
+ |
+ */
+ 'remember_ip' => 15 * 60,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Always return uncached fresh top/low lists
+ |--------------------------------------------------------------------------
+ */
+ 'always_fresh' => false,
+
+
+ /*
+ |--------------------------------------------------------------------------
+ | Ignore Crawlers
+ |--------------------------------------------------------------------------
+ |
+ | Ignore counting crawlers visits or not
+ |
+ */
+ 'ignore_crawlers' => true,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Global Ignore Recording
+ |--------------------------------------------------------------------------
+ |
+ | stop recording specific items (can be any of these: 'country', 'refer', 'periods', 'operatingSystem', 'language')
+ |
+ */
+ 'global_ignore' => ['country'],
+
+];
+
diff --git a/css/app-dark.css b/css/app-dark.css
index 24720e6..f88bbf3 100644
--- a/css/app-dark.css
+++ b/css/app-dark.css
@@ -1,4 +1,4 @@
* {
background-color: #292929 !important;
color: #FFFFFF !important;
-}
\ No newline at end of file
+}
diff --git a/database/migrations/2022_09_20_110657_sociallogin.php b/database/migrations/2022_09_20_110657_sociallogin.php
new file mode 100644
index 0000000..faa534c
--- /dev/null
+++ b/database/migrations/2022_09_20_110657_sociallogin.php
@@ -0,0 +1,39 @@
+string('provider')->nullable();
+ $table->string('provider_id')->nullable();
+ $table->string('image')->nullable();
+ $table->string('password')->nullable()->change();
+ });
+
+
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+
+ User::whereNull('password')->delete();
+
+
+ }
+}
diff --git a/database/migrations/2022_09_20_143006_social_accounts.php b/database/migrations/2022_09_20_143006_social_accounts.php
new file mode 100644
index 0000000..97c7600
--- /dev/null
+++ b/database/migrations/2022_09_20_143006_social_accounts.php
@@ -0,0 +1,42 @@
+id();
+ $table->bigInteger('user_id')->unsigned();
+ $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
+ $table->string('provider_name')->nullable();
+ $table->string('provider_id')->unique()->nullable();
+ $table->timestamps();
+ });
+
+ Schema::table('users', function (Blueprint $table) {
+ //$table->dropColumn('provider');
+ //$table->dropColumn('provider_id');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ //
+ Schema::dropIfExists('social_accounts');
+
+ }
+}
diff --git a/database/migrations/2022_09_21_115126_create_visits_table.php b/database/migrations/2022_09_21_115126_create_visits_table.php
new file mode 100644
index 0000000..30d5361
--- /dev/null
+++ b/database/migrations/2022_09_21_115126_create_visits_table.php
@@ -0,0 +1,37 @@
+bigIncrements('id');
+ $table->string('primary_key');
+ $table->string('secondary_key')->nullable();
+ $table->unsignedBigInteger('score');
+ $table->json('list')->nullable();
+ $table->timestamp('expired_at')->nullable();
+ $table->timestamps();
+ $table->unique(['primary_key', 'secondary_key']);
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('visits');
+ }
+}
diff --git a/database/migrations/2022_09_22_123137_link-type.php b/database/migrations/2022_09_22_123137_link-type.php
new file mode 100644
index 0000000..c3fa558
--- /dev/null
+++ b/database/migrations/2022_09_22_123137_link-type.php
@@ -0,0 +1,186 @@
+TableName, function (Blueprint $table) {
+ $table->id();
+ $table->timestamps();
+ $table->string('typename', 100);
+ $table->string('title')->nullable();
+ $table->string('description')->nullable();
+ $table->string('icon');
+ $table->string('params', 65535)->nullable();
+ $table->boolean('active')->default(true);
+ });
+ $this->SeedLinkTypes();
+
+ Schema::table('links', function (Blueprint $table) {
+ $table->string('link')->nullable()->change();
+ $table->string('title')->nullable()->change();
+ $table->unsignedBigInteger('button_id')->nullable()->constrained()->change();
+
+ });
+
+
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('link_types');
+
+ Schema::table('links', function (Blueprint $table) {
+ $table->string('link')->nullable(false)->change();
+ $table->unsignedBigInteger('button_id')->nullable(false)->change();
+ $table->string('title')->nullable(false)->change();
+
+ });
+ }
+
+
+ public function SeedLinkTypes() {
+
+ DB::table($this->TableName)->updateOrInsert([
+ 'typename' => 'link',
+ 'title' => 'Website Link',
+ 'icon' => 'bi bi-link',
+ 'description' => 'Create a Custom Button that goes to any website. ',
+ 'params' => '[{
+ "tag": "input",
+ "id": "link_title",
+ "for": "link_title",
+ "label": "Link Title *",
+ "type": "text",
+ "name": "link_title",
+ "class": "form-control",
+ "tip": "Enter a title for this link",
+ "required": "required"
+ },
+ {
+ "tag": "input",
+ "id": "link_url",
+ "for": "link_url",
+ "label": "Link Address *",
+ "type": "text",
+ "name": "link_url",
+ "class": "form-control",
+ "tip": "Enter the website address",
+ "required": "required"
+ }
+ ]'
+ ]);
+
+ DB::table($this->TableName)->updateOrInsert([
+ 'typename' => 'predefined',
+ 'title' => 'Predefined Site',
+ 'icon' => 'bi bi-boxes',
+ 'description' => 'Select from a list of predefined websites and have your link automatically styled using that sites brand colors and icon.'
+ ]);
+
+ DB::table($this->TableName)->updateOrInsert([
+ 'typename' => 'heading',
+ 'title' => 'Heading',
+ 'icon' => 'bi bi-card-heading',
+ 'description' => 'Use headings to organize your links and separate them into groups',
+ 'params' => '[{
+ "tag": "input",
+ "id": "heading-text",
+ "for": "link_title",
+ "label": "Heading Text",
+ "type": "text",
+ "name": "link_title",
+ "class": "form-control"
+ }]'
+ ]);
+
+ DB::table($this->TableName)->updateOrInsert([
+ 'typename' => 'spacer',
+ 'title' => 'Spacer',
+ 'icon' => 'bi bi-distribute-vertical',
+ 'description' => 'Add blank space to your list of links. You can choose how big. ',
+ 'params' => '[
+ {
+ "tag": "input",
+ "type": "number",
+ "min": "1","max":"10",
+ "name": "spacer_size",
+ "id": "spacer_size",
+ "value": 3
+ }
+]'
+ ]);
+
+// DB::table($this->TableName)->updateOrInsert([
+// 'typename' => 'video',
+// 'title' => 'Video',
+// 'icon' => 'bi bi-play-btn',
+// 'description' => 'Embed or link to a video on another website, such as TikTok, YouTube etc.',
+// 'params' => '[
+// {
+// "tag": "input",
+// "id": "link_url",
+// "for": "link_url",
+// "label": "URL of video",
+// "type": "text",
+// "name": "link_url",
+// "class": "form-control",
+// "tip": "Enter the website address",
+// "required": "required"
+// }
+// {
+// "tag": "select",
+// "name": "video-option",
+// "id": "video-option",
+
+// "value": [
+// {
+// "tag": "option",
+// "label": "Link to video ",
+// "value": "link"
+// },
+// {
+// "tag": "option",
+// "label": "Embed Video",
+// "value": "embed"
+// },
+
+// ]
+// }
+// ]'
+// ]);
+
+ // DB::table($this->TableName)->updateOrInsert([
+ // 'typename' => 'text',
+ // 'title' => 'Text',
+ // 'icon' => 'bi bi-fonts',
+ // 'description' => 'Add static text to your page that is not clickable.',
+ // 'params' => '[{
+ // "tag": "textarea",
+ // "id": "static-text",
+ // "for": "static_text",
+ // "label": "Text",
+ // "name": "static_text",
+ // "class": "form-control"
+ // }
+ // ]'
+
+ // ]);
+ }
+
+}
diff --git a/littlelink/css/brands.css b/littlelink/css/brands.css
index fa62d63..91fef56 100644
--- a/littlelink/css/brands.css
+++ b/littlelink/css/brands.css
@@ -89,40 +89,347 @@ button:hover,
.button.button-custom {
color: #FFFFFF;
background-color: #FFFFFF;
- background-image: linear-gradient(
- -135deg,
- #0f0c29,
- #302b63,
- #24243e
- );
-}
+ background-image: linear-gradient(-135deg,#0f0c29,#302b63,#24243e) }
.button.button-custom:hover,
.button.button-custom:focus {
- filter: brightness(90%);
-}
+ filter: brightness(90%) }
/* Default (this is great for your own brand color!) */
.button.button-default {
color: #FFFFFF;
- background-color: #0085FF;
-}
+ background-color: #0085FF }
.button.button-default:hover,
.button.button-default:focus {
+ filter: brightness(90%) }
+
+/* Discord */
+.button.button-discord {
+ color: #FFFFFF;
+ background-color: #5865F2 }
+.button.button-discord:hover,
+.button.button-discord:focus {
+ filter: brightness(90%) }
+
+/* Facebook */
+.button.button-facebook {
+ color: #FFFFFF;
+ background-color: #1877f2 }
+.button.button-facebook:hover,
+.button.button-facebook:focus {
+ filter: brightness(90%) }
+
+/* Facebook Messenger */
+.button.button-messenger {
+ color: #FFFFFF;
+ background-image: linear-gradient(25deg,#0099FF, #5F5DFF,#A033FF, #C740CC, #FF5280, #FF7061) }
+.button.button-messenger:hover,
+.button.button-messenger:focus {
+ filter: brightness(90%) }
+
+/* Figma */
+.button.button-figma {
+ color: #FFFFFF;
+ background-color: #000000 }
+.button.button-figma:hover,
+.button.button-figma:focus {
+ filter: brightness(90%) }
+
+/* Github */
+.button.button-github {
+ color: #FFFFFF;
+ background-color: #000000 }
+.button.button-github:hover,
+.button.button-github:focus {
+ filter: brightness(90%) }
+
+/* Goodreads */
+.button.button-goodreads {
+ color: #333333;
+ background-color: #F3F1E6 }
+.button.button-goodreads:hover,
+.button.button-goodreads:focus {
+ filter: brightness(90%) }
+
+/* Instagram */
+.button.button-instagram {
+ color: #FFFFFF;
+ background-image: linear-gradient(-135deg,#1400c8,#b900b4,#f50000) }
+.button.button-instagram:hover,
+.button.button-instagram:focus {
+ filter: brightness(90%) }
+
+/* Kit */
+.button.button-kit {
+ color: #FFFFFF;
+ background-color: #000000 }
+.button.button-kit:hover,
+.button.button-kit:focus {
+ filter: brightness(90%) }
+
+/* LinkedIn */
+.button.button-linkedin {
+ color: #FFFFFF;
+ background-color: #2867B2 }
+.button.button-linkedin:hover,
+.button.button-linkedin:focus {
+ filter: brightness(90%) }
+
+/* Medium */
+.button.button-medium {
+ color: #FFFFFF;
+ background-color: #000000 }
+.button.button-medium:hover,
+.button.button-medium:focus {
+ filter: brightness(90%) }
+
+/* Pinterest */
+.button.button-pinterest {
+ color: #000000;
+ background-color: #FFE2EB }
+.button.button-pinterest:hover,
+.button.button-pinterest:focus {
+ filter: brightness(90%) }
+
+/* Producthunt */
+.button.button-producthunt {
+ color: #DA552F;
+ border-style: solid;
+ border-color: #DA552F;
+ border-width: 2px;
+ background-color: #FFFFFF }
+.button.button-producthunt:hover,
+.button.button-producthunt:focus {
+ filter: brightness(90%) }
+
+/* Reddit */
+.button.button-reddit {
+ color: #000000;
+ background-color: #D7DFE2 }
+.button.button-reddit:hover,
+.button.button-reddit:focus {
+ filter: brightness(90%) }
+
+/* Skoob */
+.button.button-skoob {
+ color: #FFFFFF;
+ background-color: #3189C8 }
+.button.button-skoob:hover,
+.button.button-skoob:focus {
+ filter: brightness(90%) }
+
+/* Snapchat */
+.button.button-snapchat {
+ color: #000000;
+ background-color: #fffc00 }
+.button.button-snapchat:hover,
+.button.button-snapchat:focus {
+ filter: brightness(90%) }
+
+/* SoundCloud */
+.button.button-soundcloud {
+ color: #FFFFFF;
+ background-color: #ff5500 }
+.button.button-soundcloud:hover,
+.button.button-soundcloud:focus {
+ filter: brightness(90%) }
+
+/* Spotify */
+.button.button-spotify {
+ color: #FFFFFF;
+ background-color: #000000 }
+.button.button-spotify:hover,
+.button.button-spotify:focus {
+ filter: brightness(90%) }
+
+/* Steam */
+.button.button-steam {
+ color: #FFFFFF;
+ background-color: #171a21 }
+.button.button-steam:hover,
+.button.button-steam:focus {
+ filter: brightness(90%) }
+
+/* Telegram */
+.button.button-telegram {
+ color: #FFFFFF;
+ background-color: #3faee8 }
+.button.button-telegram:hover,
+.button.button-telegram:focus {
+ filter: brightness(90%) }
+
+/* TikTok */
+.button.button-tiktok {
+ color: #FFFFFF;
+ background-color: #000000 }
+.button.button-tiktok:hover,
+.button.button-tiktok:focus {
+ filter: brightness(90%) }
+
+/* Tumblr */
+.button.button-tumblr {
+ color: #FFFFFF;
+ background-color: #131313 }
+.button.button-tumblr:hover,
+.button.button-tumblr:focus {
+ filter: brightness(90%) }
+
+/* Twitch */
+.button.button-twitch {
+ color: #FFFFFF;
+ background-color: #9146ff }
+.button.button-twitch:hover,
+.button.button-twitch:focus {
+ filter: brightness(90%) }
+
+/* Twitter */
+.button.button-twitter {
+ color: #FFFFFF;
+ background-color: #1DA1F2 }
+.button.button-twitter:hover,
+.button.button-twitter:focus {
+ filter: brightness(90%) }
+
+/* Vimeo */
+.button.button-vimeo {
+ color: #FFFFFF;
+ background-color: #1ab7ea }
+.button.button-vimeo:hover,
+.button.button-vimeo:focus {
+ filter: brightness(90%) }
+
+/* YouTube V2 */
+.button.button-youtube {
+ color: #FFFFFF;
+ background-color: #FF0000 }
+.button.button-youtube:hover,
+.button.button-youtube:focus {
+ filter: brightness(90%) }
+
+/* Wordpress */
+.button.button-wordpress {
+ color: #FFFFFF;
+ background-color: #21759b }
+.button.button-wordpress:hover,
+.button.button-wordpress:focus {
+ filter: brightness(90%) }
+
+/* Bandcamp */
+.button.button-bandcamp {
+ color: #ffffff;
+ background-color: #1d9fc3;
+}
+.button.button-bandcamp:hover,
+.button.button-bandcamp:focus {
filter: brightness(90%);
}
-/* LittleLink Custom */
-.button.button-littlelink-custom {
- color: #FFFFFF;
- background-image: linear-gradient(
- 20deg,
- #F70FFF,
- #896FF0,
- #12D6DF
- );
+/* Patreon */
+.button.button-patreon {
+ color: #ffffff;
+ background-color: #ff424d;
}
-.button.button-littlelink-custom:hover,
-.button.button-littlelink-custom:focus {
+.button.button-patreon:hover,
+.button.button-patreon:focus {
+ filter: brightness(90%);
+}
+
+/* Signal */
+.button.button-signal {
+ color: #ffffff;
+ background-color: #3a76f0;
+}
+.button.button-signal:hover,
+.button.button-signal:focus {
+ filter: brightness(90%);
+}
+
+/* Venmo */
+.button.button-venmo {
+ color: #ffffff;
+ background-color: #3d95ce;
+}
+.button.button-venmo:hover,
+.button.button-venmo:focus {
+ filter: brightness(90%);
+}
+
+/* Cash App */
+.button.button-cashapp {
+ color: #ffffff;
+ background-image: linear-gradient(to bottom, #00d64b, #00c244);
+}
+.button.button-cashapp:hover,
+.button.button-cashapp:focus {
+ filter: brightness(90%);
+}
+
+/* Gitlab */
+.button.button-gitlab {
+ color: #ffffff;
+ background-color: #6151b2;
+}
+.button.button-gitlab:hover,
+.button.button-gitlab:focus {
+ filter: brightness(90%);
+}
+
+/* Mastodon */
+.button.button-mastodon {
+ color: #ffffff;
+ background-color: #1f232b;
+}
+.button.button-mastodon:hover,
+.button.button-mastodon:focus {
+ filter: brightness(90%);
+}
+
+/* PayPal */
+.button.button-paypal {
+ color: #ffffff;
+ background-color: #003087;
+}
+.button.button-paypal:hover,
+.button.button-paypal:focus {
+ filter: brightness(90%);
+}
+
+/* WhatsApp */
+.button.button-whatsapp {
+ color: #ffffff;
+ background-color: #455a64;
+}
+.button.button-whatsapp:hover,
+.button.button-whatsapp:focus {
+ filter: brightness(90%);
+}
+
+/* Xing */
+.button.button-xing {
+ color: #ffffff;
+ background-color: #026466;
+}
+.button.button-xing:hover,
+.button.button-xing:focus {
+ filter: brightness(90%);
+}
+
+/* Buy Me a Coffee */
+.button.button-coffee {
+ color: #100a26;
+ background-color: #ffdd00;
+}
+.button.button-coffee:hover,
+.button.button-coffee:focus {
+ filter: brightness(90%);
+}
+
+/* Trello */
+.button.button-trello {
+ color: #ffffff;
+ background-color: #0079bf;
+}
+.button.button-trello:hover,
+.button.button-trello:focus {
filter: brightness(90%);
}
@@ -142,924 +449,3 @@ button:hover,
.button.button-web:focus {
filter: brightness(90%);
}
-
-/* ALL-INKL */
-.button.button-all-inkl {
- color: #000000;
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
-}
-.button.button-all-inkl:hover,
-.button.button-all-inkl:focus {
- filter: brightness(90%);
-}
-
-/* Amazon */
-.button.button-amazon {
- color: #ffffff;
- background-color: #000000;
-}
-.button.button-amazon:hover,
-.button.button-amazon:focus {
- filter: brightness(90%);
-}
-
-/* Apple App Store */
-.button.button-appstore {
- color: #ffffff;
- background-color: #000000;
-}
-.button.button-appstore:hover,
-.button.button-appstore:focus {
- filter: brightness(90%);
-}
-
-/* Apple Music */
-.button.button-apple-music {
- color: #FFFFFF;
- background-image: linear-gradient(
- to bottom,
- #fb5c74,
- #fa263e
- );
-}
-.button.button-apple-music:hover,
-.button.button-apple-music:focus {
- filter: brightness(90%);
-}
-
-/* Apple Podcasts */
-.button.button-apple-podcasts {
- color: #FFFFFF;
- background-image: linear-gradient(
- to bottom,
- #d36dfb,
- #842cc2
- );
-}
-.button.button-apple-music:hover,
-.button.button-apple-music:focus {
- filter: brightness(90%);
-}
-
-/* Bandcamp */
-.button.button-bandcamp {
- color: #ffffff;
- background-color: #1d9fc3;
-}
-.button.button-bandcamp:hover,
-.button.button-bandcamp:focus {
- filter: brightness(90%);
-}
-
-/* Briar */
-.button.button-briar {
- color: #FFFFFF;
- background-color: #95d220;
-}
-.button.button-briar:hover,
-.button.button-briar:focus {
- filter: brightness(90%);
-}
-
-/* Buy Me a Coffee */
-.button.button-coffee {
- color: #100a26;
- background-color: #ffdd00;
-}
-.button.button-coffee:hover,
-.button.button-coffee:focus {
- filter: brightness(90%);
-}
-
-/* Cash App */
-.button.button-cashapp {
- color: #ffffff;
- background-image: linear-gradient(
- to bottom,
- #00d64b,
- #00c244
- );
-}
-.button.button-cashapp:hover,
-.button.button-cashapp:focus {
- filter: brightness(90%);
-}
-
-/* Castopod */
-.button.button-castopod {
- color: #FFFFFF;
- background-color: #00564A;
-}
-.button.button-castopod:hover,
-.button.button-castopod:focus {
- filter: brightness(90%);
-}
-
-/* Codeberg */
-.button.button-codeberg {
- color: #ffffff;
- background-color: #2185D0;
-}
-.button.button-codeberg:hover,
-.button.button-codeberg:focus {
- filter: brightness(90%);
-}
-
-/* Codepen */
-.button.button-codepen {
- color: #ffffff;
- background-color: #000000;
-}
-.button.button-codepen:hover,
-.button.button-codepen:focus {
- filter: brightness(90%);
-}
-
-/* Cryptpad */
-.button.button-cryptpad {
- color: #FFFFFF;
- background-color: #0087ff;
-}
-.button.button-cryptpad:hover,
-.button.button-cryptpad:focus {
- filter: brightness(90%);
-}
-
-/* DEV */
-.button.button-dev-to {
- color: #000000;
- background-color: #f5f5f5;
-}
-.button.button-dev-to:hover,
-.button.button-dev-to:focus {
- filter: brightness(90%);
-}
-
-/* Deezer */
-.button.button-deezer {
- color: #FFFFFF;
- background-image: linear-gradient(
- 45deg,
- #f6a400,
- #e2622d,
- #d2335b,
- #a11d85,
- #7e2394,
- #3e38a9,
- #2941ba,
- #306fb7,
- #1683b4,
- #229393,
- #04a574,
- #29ab70
- );
-}
-.button.button-deezer:hover,
-.button.button-deezer:focus {
- filter: brightness(90%);
-}
-
-/* Discord */
-.button.button-discord {
- color: #FFFFFF;
- background-color: #5865F2;
-}
-.button.button-discord:hover,
-.button.button-discord:focus {
- filter: brightness(90%);
-}
-
-/* Epic Games */
-.button.button-epic-games {
- color: #FFFFFF;
- background-color: #2f2d2e;
-}
-.button.button-epic-games:hover,
-.button.button-epic-games:focus {
- filter: brightness(90%);
-}
-
-/* Etsy */
-.button.button-etsy {
- color: #ffffff;
- background-color: #F45800;
-}
-.button.button-etsy:hover,
-.button.button-etsy:focus {
- filter: brightness(90%);
-}
-
-/* Facebook */
-.button.button-facebook {
- color: #FFFFFF;
- background-color: #1877f2;
-}
-.button.button-facebook:hover,
-.button.button-facebook:focus {
- filter: brightness(90%);
-}
-
-/* Facebook Messenger */
-.button.button-messenger {
- color: #FFFFFF;
- background-image: linear-gradient(
- 25deg,
- #0099FF,
- #5F5DFF,
- #A033FF,
- #C740CC,
- #FF5280,
- #FF7061
- );
-}
-.button.button-messenger:hover,
-.button.button-messenger:focus {
- filter: brightness(90%);
-}
-
-/* Figma */
-.button.button-figma {
- color: #FFFFFF;
- background-color: #000000;
-}
-.button.button-figma:hover,
-.button.button-figma:focus {
- filter: brightness(90%);
-}
-
-/* Firefox */
-.button.button-firefox {
- color: #FFFFFF;
- background-color: #000000;
-}
-.button.button-firefox:hover,
-.button.button-firefox:focus {
- filter: brightness(90%);
-}
-
-
-/* Flickr */
-.button.button-flickr {
- color: #ffffff;
- background-color: #000000;
-}
-.button.button-flickr:hover,
-.button.button-flickr:focus {
- filter: brightness(90%);
-}
-
-/* Funkwhale */
-.button.button-funkwhale {
- color: #FFFFFF;
- background-color: #009fe3;
-}
-.button.button-funkwhale:hover,
-.button.button-funkwhale:focus {
- filter: brightness(90%);
-}
-
-/* F-Droid */
-.button.button-f-droid {
- color: #FFFFFF;
- background-color: #000000;
- /*background-color: #9ac91b;*/
- /*background-color: #154da4;*/
- /*background-image: linear-gradient(
- to bottom,
- #9ac91b,
- #154da4);*/
-}
-.button.button-f-droid:hover,
-.button.button-f-droid:focus {
- filter: brightness(90%);
-}
-
-/* Github */
-.button.button-github {
- color: #FFFFFF;
- background-color: #000000;
-}
-.button.button-github:hover,
-.button.button-github:focus {
- filter: brightness(90%);
-}
-
-/* Gitlab */
-.button.button-gitlab {
- color: #ffffff;
- background-color: #6151b2;
-}
-.button.button-gitlab:hover,
-.button.button-gitlab:focus {
- filter: brightness(90%);
-}
-
-/* Goodreads */
-.button.button-goodreads {
- color: #333333;
- background-color: #F3F1E6;
-}
-.button.button-goodreads:hover,
-.button.button-goodreads:focus {
- filter: brightness(90%);
-}
-
-/* Google Play Store */
-.button.button-playstore {
- color: #FFFFFF;
- background-color: #000000;
-}
-.button.button-playstore:hover,
-.button.button-playstore:focus {
- filter: brightness(90%);
-}
-
-/* Humble Bundle */
-.button.button-humble-bundle {
- color: #FFFFFF;
- background-color: #cb272c;
-}
-.button.button-humble-bundle:hover,
-.button.button-humble-bundle:focus {
- filter: brightness(90%);
-}
-
-/* Instagram */
-.button.button-instagram {
- color: #FFFFFF;
- background-image: linear-gradient(
- -135deg,
- #1400c8,
- #b900b4,
- #f50000
- );
-}
-.button.button-instagram:hover,
-.button.button-instagram:focus {
- filter: brightness(90%);
-}
-
-/* itch.io */
-.button.button-itchio {
- color: #ffffff;
- background-color: #FA5C5C;
-}
-.button.button-itchio:hover,
-.button.button-itchio:focus {
- filter: brightness(90%);
-}
-
-/* kickstarter */
-.button.button-kickstarter {
- color: #ffffff;
- background-color: #05ce78;
-}
-.button.button-kickstarter:hover,
-.button.button-kickstarter:focus {
- filter: brightness(90%);
-}
-
-/* Kit */
-.button.button-kit {
- color: #FFFFFF;
- background-color: #000000;
-}
-.button.button-kit:hover,
-.button.button-kit:focus {
- filter: brightness(90%);
-}
-
-/* Ko-fi */
-.button.button-ko-fi {
- color: #FFFFFF;
- background-color: #13C3FF;
-}
-.button.button-ko-fi:hover,
-.button.button-ko-fi:focus {
- filter: brightness(90%);
-}
-
-/* Lemmy */
-.button.button-lemmy {
- color: #000000;
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
-}
-.button.button-lemmy:hover,
-.button.button-lemmy:focus {
- filter: brightness(90%);
-}
-
-/* Letterboxd */
-.button.button-letterboxd {
- color: #ffffff;
- background-color: #2c3440;
-}
-.button.button-letterboxd:hover,
-.button.button-letterboxd:focus {
- filter: brightness(90%);
-}
-
-/* Liberapay */
-.button.button-liberapay {
- color: #000000;
- background-color: #f6c915;
-}
-.button.button-liberapay:hover,
-.button.button-liberapay:focus {
- filter: brightness(90%);
-}
-
-/* LinkedIn */
-.button.button-linkedin {
- color: #FFFFFF;
- background-color: #2867B2;
-}
-.button.button-linkedin:hover,
-.button.button-linkedin:focus {
- filter: brightness(90%);
-}
-
-/* Matrix */
-.button.button-matrix {
- color: #000000;
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
-}
-.button.button-matrix:hover,
-.button.button-matrix:focus {
- filter: brightness(90%);
-}
-
-/* Mastodon */
-.button.button-mastodon {
- color: #ffffff;
- background-image: linear-gradient(to bottom, #6364FF, #563ACC);
-}
-.button.button-mastodon:hover,
-.button.button-mastodon:focus {
- filter: brightness(90%);
-}
-
-/* Medium */
-.button.button-medium {
- color: #FFFFFF;
- background-color: #000000;
-}
-.button.button-medium:hover,
-.button.button-medium:focus {
- filter: brightness(90%);
-}
-
-/* Misskey */
-.button.button-misskey {
- color: #FFFFFF;
- background-color: #000000;
-}
-.button.button-misskey:hover,
-.button.button-misskey:focus {
- filter: brightness(90%);
-}
-
-/* Notion */
-.button.button-notion {
- color: #000000;
- border-style: solid;
- border-color: #000000;
- border-width: 2px;
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
-}
-.button.button-notion:hover,
-.button.button-notion:focus {
- filter: brightness(90%);
-}
-
-/* Odysee */
-.button.button-odysee {
- color: #FFFFFF;
- background-image: linear-gradient(
- 177deg,
- #f02569,
- #f23f5a,
- #f56046,
- #f77838,
- #f78033,
- #f88b2d,
- #fa9626
- );
-}
-.button.button-odysee:hover,
-.button.button-odysee:focus {
- filter: brightness(90%);
-}
-
-/* OpenStreetMap */
-.button.button-openstreetmap {
- color: #000000;
- background-color: #c9e8a7;
-}
-.button.button-openstreetmap:hover,
-.button.button-openstreetmap:focus {
- filter: brightness(90%);
-}
-
-/* Owncast */
-.button.button-owncast {
- color: #000000;
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
-}
-.button.button-owncast:hover,
-.button.button-owncast:focus {
- filter: brightness(90%);
-}
-
-/* Patreon */
-.button.button-patreon {
- color: #ffffff;
- background-color: #ff424d;
-}
-.button.button-patreon:hover,
-.button.button-patreon:focus {
- filter: brightness(90%);
-}
-
-/* PayPal */
-.button.button-paypal {
- color: #ffffff;
- background-color: #003087;
-}
-.button.button-paypal:hover,
-.button.button-paypal:focus {
- filter: brightness(90%);
-}
-
-/* Peertube */
-.button.button-peertube {
- color: #000000;
- background-color: #c25912;
-}
-.button.button-peertube:hover,
-.button.button-peertube:focus {
- filter: brightness(90%);
-}
-
-/* Pinterest */
-.button.button-pinterest {
- color: #000000;
- background-color: #FFE2EB;
-}
-.button.button-pinterest:hover,
-.button.button-pinterest:focus {
- filter: brightness(90%);
-}
-
-/* Pixelfed */
-.button.button-pixelfed {
- color: #FFFFFF;
- background-image: linear-gradient(
- 200deg,
- #FFA10A,
- #0DE552,
- #00C2F8,
- #D332AC,
- #F32848
- );
-}
-.button.button-pixelfed:hover,
-.button.button-pixelfed:focus {
- filter: brightness(90%);
-}
-
-/* Piwigo */
-.button.button-piwigo {
- color: #FFFFFF;
- background-color: #ff7700;
-}
-.button.button-piwigo:hover,
-.button.button-piwigo:focus {
- filter: brightness(90%);
-}
-
-/* Plemora */
-.button.button-plemora {
- color: #FFFFFF;
- background-color: #0f161e;
-}
-.button.button-plemora:hover,
-.button.button-plemora:focus {
- filter: brightness(90%);
-}
-
-/* Producthunt */
-.button.button-producthunt {
- color: #DA552F;
- border-style: solid;
- border-color: #DA552F;
- border-width: 2px;
- background-color: #FFFFFF;
-}
-.button.button-producthunt:hover,
-.button.button-producthunt:focus {
- filter: brightness(90%);
-}
-
-/* Reddit */
-.button.button-reddit {
- color: #000000;
- background-color: #D7DFE2;
-}
-.button.button-reddit:hover,
-.button.button-reddit:focus {
- filter: brightness(90%);
-}
-
-/* Session */
-.button.button-session {
- color: #000000;
- background-color: #00f782;
-}
-.button.button-session:hover,
-.button.button-session:focus {
- filter: brightness(90%);
-}
-
-/* Signal */
-.button.button-signal {
- color: #ffffff;
- background-color: #3a76f0;
-}
-.button.button-signal:hover,
-.button.button-signal:focus {
- filter: brightness(90%);
-}
-
-/* Skoob */
-.button.button-skoob {
- color: #FFFFFF;
- background-color: #3189C8;
-}
-.button.button-skoob:hover,
-.button.button-skoob:focus {
- filter: brightness(90%);
-}
-
-/* Snapchat */
-.button.button-snapchat {
- color: #000000;
- background-color: #fffc00;
-}
-.button.button-snapchat:hover,
-.button.button-snapchat:focus {
- filter: brightness(90%);
-}
-
-/* SoundCloud */
-.button.button-soundcloud {
- color: #FFFFFF;
- background-color: #ff5500;
-}
-.button.button-soundcloud:hover,
-.button.button-soundcloud:focus {
- filter: brightness(90%);
-}
-
-/* Spotify */
-.button.button-spotify {
- color: #FFFFFF;
- background-color: #000000;
-}
-.button.button-spotify:hover,
-.button.button-spotify:focus {
- filter: brightness(90%);
-}
-
-/* Steam */
-.button.button-steam {
- color: #FFFFFF;
- background-color: #171a21;
-}
-.button.button-steam:hover,
-.button.button-steam:focus {
- filter: brightness(90%);
-}
-
-/* Strava */
-.button.button-strava {
- color: #ffffff;
- background-color: #fc5200;
-}
-.button.button-strava:hover,
-.button.button-strava:focus {
- filter: brightness(90%);
-}
-
-/* Telegram */
-.button.button-telegram {
- color: #FFFFFF;
- background-color: #3faee8;
-}
-.button.button-telegram:hover,
-.button.button-telegram:focus {
- filter: brightness(90%);
-}
-
-/* Threema */
-.button.button-threema {
- color: #FFFFFF;
- background-color: #323232;
-}
-.button.button-threema:hover,
-.button.button-threema:focus {
- filter: brightness(90%);
-}
-
-/* TikTok */
-.button.button-tiktok {
- color: #FFFFFF;
- background-color: #000000;
-}
-.button.button-tiktok:hover,
-.button.button-tiktok:focus {
- filter: brightness(90%);
-}
-
-/* Trello */
-.button.button-trello {
- color: #ffffff;
- background-color: #0079bf;
-}
-.button.button-trello:hover,
-.button.button-trello:focus {
- filter: brightness(90%);
-}
-
-/* Tumblr */
-.button.button-tumblr {
- color: #FFFFFF;
- background-color: #131313;
-}
-.button.button-tumblr:hover,
-.button.button-tumblr:focus {
- filter: brightness(90%);
-}
-
-/* Twitch */
-.button.button-twitch {
- color: #FFFFFF;
- background-color: #9146ff;
-}
-.button.button-twitch:hover,
-.button.button-twitch:focus {
- filter: brightness(90%);
-}
-
-/* Twitter */
-.button.button-twitter {
- color: #FFFFFF;
- background-color: #1DA1F2;
-}
-.button.button-twitter:hover,
-.button.button-twitter:focus {
- filter: brightness(90%);
-}
-
-/* Unity */
-.button.button-unity {
- color: #000000;
- background-color: #FFFFFF;
- border-style: solid;
- border-color: #000000;
- border-width: 1px;
-}
-.button.button-unity:hover,
-.button.button-unity:focus {
- filter: brightness(90%);
-}
-
-/* Unraid */
-.button.button-unraid {
- color: #FFFFFF;
- background-image: linear-gradient(
- 20.5deg,
- #e32b29,
- #fe8b30
- );
-}
-.button.button-unraid:hover,
-.button.button-unraid:focus {
- filter: brightness(90%);
-}
-
-/* Untappd */
-.button.button-untappd {
- color: #ffffff;
- background-color: #ffc000;
-}
-.button.button-untappd:hover,
-.button.button-untappd:focus {
- filter: brightness(90%);
-}
-
-/* Upptime */
-.button.button-upptime {
- color: #FFFFFF;
- background-color: #005847;
-}
-.button.button-upptime:hover,
-.button.button-upptime:focus {
- filter: brightness(90%);
-}
-
-/* Venmo */
-.button.button-venmo {
- color: #ffffff;
- background-color: #3d95ce;
-}
-.button.button-venmo:hover,
-.button.button-venmo:focus {
- filter: brightness(90%);
-}
-
-/* Vimeo */
-.button.button-vimeo {
- color: #FFFFFF;
- background-color: #1ab7ea;
-}
-.button.button-vimeo:hover,
-.button.button-vimeo:focus {
- filter: brightness(90%);
-}
-
-/* VRChat */
-.button.button-vrchat {
- color: #000000;
- background-color: #FFFFFF;
- border: 2px solid black;
-}
-.button.button-vrchat:hover,
-.button.button-vrchat:focus {
- filter: brightness(90%);
-}
-
-/* WhatsApp */
-.button.button-whatsapp {
- color: #ffffff;
- background-color: #455a64;
-}
-.button.button-whatsapp:hover,
-.button.button-whatsapp:focus {
- filter: brightness(90%);
-}
-
-/* Wordpress */
-.button.button-wordpress {
- color: #FFFFFF;
- background-color: #21759b;
-}
-.button.button-wordpress:hover,
-.button.button-wordpress:focus {
- filter: brightness(90%);
-}
-
-/* Xing */
-.button.button-xing {
- color: #ffffff;
- background-color: #026466;
-}
-.button.button-xing:hover,
-.button.button-xing:focus {
- filter: brightness(90%);
-}
-
-/* YouTube V2 */
-.button.button-youtube {
- color: #FFFFFF;
- background-color: #FF0000;
-}
-.button.button-youtube:hover,
-.button.button-youtube:focus {
- filter: brightness(90%);
-}
-
-/* YouTube Music */
-.button.button-youtube-music {
- color: #FFFFFF;
- background-color: #FF0000;
-}
-.button.button-youtube-music:hover,
-.button.button-youtube-music:focus {
- filter: brightness(90%);
-}
diff --git a/littlelink/icons/mastodon.svg b/littlelink/icons/mastodon.svg
index 39a116b..9d8ff0e 100644
--- a/littlelink/icons/mastodon.svg
+++ b/littlelink/icons/mastodon.svg
@@ -1,3 +1,4 @@
-