diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9da321487..2c5b60b9b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,7 @@ on: jobs: setup-ubuntu: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Check for GitHub API key @@ -21,14 +21,21 @@ jobs: echo "GitHub API key found." fi + - name: Setup PHP 8.0 and Composer + uses: shivammathur/setup-php@v2 + with: + php-version: '8.0' + tools: composer:v2 + extensions: mbstring, intl, zip, curl, sqlite, pdo_sqlite + coverage: none + + - name: Verify PHP version + run: php -v + - name: Updating Dependencies + zip run: | cd ~ - curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php - HASH=`curl -sS https://composer.github.io/installer.sig` - sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer - - sudo update-alternatives --set php /usr/bin/php8.0 + # Composer already provided by setup-php cd /tmp mkdir linkstack @@ -52,9 +59,7 @@ jobs: cp "../../version.json" "version.json" - composer update --no-scripts - - php artisan lang:update + composer update --no-dev --no-scripts php artisan migrate php artisan db:seed @@ -173,12 +178,12 @@ jobs: TAG_VERSION="${GITHUB_REF##*/}" version=${TAG_VERSION#"v"} - # Install the OpenSSH client - sudo apt-get install -y openssh-client + # Install required clients + sudo apt-get update + sudo apt-get install -y openssh-client sshpass # Clear the remote directory sshpass -p "${{ secrets.SERVER_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p ${{ secrets.SERVER_PORT }} ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }} "rm -rf ${{ secrets.REMOTE_PATH }}/*" # Use SSH to upload the file to the remote server - sshpass -p "${{ secrets.SERVER_PASSWORD }}" scp -o StrictHostKeyChecking=no -P ${{ secrets.SERVER_PORT }} $version.zip ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }}:${{ secrets.REMOTE_PATH }} - + sshpass -p "${{ secrets.SERVER_PASSWORD }}" scp -o StrictHostKeyChecking=no -P ${{ secrets.SERVER_PORT }} $version.zip ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }}:${{ secrets.REMOTE_PATH }} \ No newline at end of file diff --git a/README.md b/README.md index 46a3012bd..e6e5c08c6 100644 --- a/README.md +++ b/README.md @@ -30,14 +30,14 @@

-GitHub Repo stars -Mastodon Follow -Discord online user count +GitHub Repo stars +Mastodon Follow +Discord online user count

-GitHub spomsors -Patreon - +GitHub spomsors +Patreon +

--- @@ -45,7 +45,7 @@

Download latest
- GitHub release (latest by date) + GitHub release (latest by date)

--- @@ -169,7 +169,7 @@ The official docker version of [LinkStack](https://github.com/linkstackorg/links The docker version of LinkStack retains all the features and customization options of the [original version](https://github.com/linkstackorg/linkstack). -This docker is based on [Alpine Linux](https://www.alpinelinux.org), a Linux distribution designed to be small, simple and secure. The web server is running [Apache2](https://www.apache.org), a free and open-source cross-platform web server software. The docker comes with [PHP 8.0](https://www.php.net/releases/8.0/en.php) for high compatibility and performance. +This docker is based on [Alpine Linux](https://www.alpinelinux.org), a Linux distribution designed to be small, simple and secure. The web server is running [Apache2](https://www.apache.org), a free and open-source cross-platform web server software. The docker comes with [PHP 8.2](https://www.php.net/releases/8.2/en.php) for high compatibility and performance. #### Using the docker is as simple as pulling and deploying. @@ -221,7 +221,7 @@ The updater may fail without throwing an error and just remain on the current ve ## License -[![License: AGPL v3](https://img.lss.ovh/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) +[![License: AGPL v3](https://img.tny.st/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) As of version 4.0.0, the license for this project has been updated to the GNU Affero General Public License v3.0, which explicitly requires that any modifications made to the project must be made public. This license also requires that a copyright notice and license notice be included in any copies or derivative works of the project. diff --git a/app/Functions/functions.php b/app/Functions/functions.php index 6e6350fd8..eacfe19e1 100644 --- a/app/Functions/functions.php +++ b/app/Functions/functions.php @@ -1,48 +1,110 @@ $fingerprint, + 'files' => $files + ]; + if (class_exists('Redis')) { + try { + Redis::setex($cacheKey, $ttl, json_encode($data)); + } catch (\Exception $e) { + // fallback silently + } + } else { + // Laravel cache fallback + Cache::put($cacheKey, $data, $ttl); + } + + $memoryCache[$directory] = $files; + + return $files; + } +} + function findFile($name) { $directory = base_path("/assets/linkstack/images/"); - $files = scandir($directory); - $pathinfo = "error.error"; + $files = preloadDirectoryFiles($directory, 'linkstack_images_files'); + $pattern = '/^' . preg_quote($name, '/') . '(_\w+)?\.\w+$/i'; foreach ($files as $file) { if (preg_match($pattern, $file)) { - $pathinfo = $file; - break; + return $file; } } - return $pathinfo; + return "error.error"; } function findAvatar($name) { $directory = base_path("assets/img"); - $files = scandir($directory); - $pathinfo = "error.error"; + $files = preloadDirectoryFiles($directory, 'assets_img_files'); + $pattern = '/^' . preg_quote($name, '/') . '(_\w+)?\.\w+$/i'; foreach ($files as $file) { if (preg_match($pattern, $file)) { - $pathinfo = "assets/img/" . $file; - break; + return "assets/img/" . $file; } } - return $pathinfo; + return "error.error"; } function findBackground($name) { $directory = base_path("assets/img/background-img/"); - $files = scandir($directory); - $pathinfo = "error.error"; + $files = preloadDirectoryFiles($directory, 'assets_img_background_files'); + $pattern = '/^' . preg_quote($name, '/') . '(_\w+)?\.\w+$/i'; foreach ($files as $file) { if (preg_match($pattern, $file)) { - $pathinfo = $file; - break; + return $file; } } - return $pathinfo; + return "error.error"; } function analyzeImageBrightness($file) { diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 1e356b25e..8dc6874d9 100755 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -31,737 +31,939 @@ class AdminController extends Controller { - //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'); - - $users = User::select('id', 'name', 'email', 'created_at', 'updated_at')->get(); - $lastMonthCount = $users->where('created_at', '>=', Carbon::now()->subDays(30))->count(); - $lastWeekCount = $users->where('created_at', '>=', Carbon::now()->subDays(7))->count(); - $last24HrsCount = $users->where('created_at', '>=', Carbon::now()->subHours(24))->count(); - $updatedLast30DaysCount = $users->where('updated_at', '>=', Carbon::now()->subDays(30))->count(); - $updatedLast7DaysCount = $users->where('updated_at', '>=', Carbon::now()->subDays(7))->count(); - $updatedLast24HrsCount = $users->where('updated_at', '>=', Carbon::now()->subHours(24))->count(); - - $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(); - - $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('panel/index', ['lastMonthCount' => $lastMonthCount,'lastWeekCount' => $lastWeekCount,'last24HrsCount' => $last24HrsCount,'updatedLast30DaysCount' => $updatedLast30DaysCount,'updatedLast7DaysCount' => $updatedLast7DaysCount,'updatedLast24HrsCount' => $updatedLast24HrsCount,'toplinks' => $topLinks, 'links' => $links, 'clicks' => $clicks, 'pageStats' => $pageStats, 'littlelink_name' => $littlelink_name, 'links' => $links, 'clicks' => $clicks, 'siteLinks' => $siteLinks, 'siteClicks' => $siteClicks, 'userNumber' => $userNumber]); - } - -// Users page -public function users() -{ - return view('panel/users'); -} - -// Send test mail -public function SendTestMail(Request $request) -{ + //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"); + + $users = User::select( + "id", + "name", + "email", + "created_at", + "updated_at", + )->get(); + $lastMonthCount = $users + ->where("created_at", ">=", Carbon::now()->subDays(30)) + ->count(); + $lastWeekCount = $users + ->where("created_at", ">=", Carbon::now()->subDays(7)) + ->count(); + $last24HrsCount = $users + ->where("created_at", ">=", Carbon::now()->subHours(24)) + ->count(); + $updatedLast30DaysCount = $users + ->where("updated_at", ">=", Carbon::now()->subDays(30)) + ->count(); + $updatedLast7DaysCount = $users + ->where("updated_at", ">=", Carbon::now()->subDays(7)) + ->count(); + $updatedLast24HrsCount = $users + ->where("updated_at", ">=", Carbon::now()->subHours(24)) + ->count(); + + $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(); + + $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("panel/index", [ + "lastMonthCount" => $lastMonthCount, + "lastWeekCount" => $lastWeekCount, + "last24HrsCount" => $last24HrsCount, + "updatedLast30DaysCount" => $updatedLast30DaysCount, + "updatedLast7DaysCount" => $updatedLast7DaysCount, + "updatedLast24HrsCount" => $updatedLast24HrsCount, + "toplinks" => $topLinks, + "links" => $links, + "clicks" => $clicks, + "pageStats" => $pageStats, + "littlelink_name" => $littlelink_name, + "links" => $links, + "clicks" => $clicks, + "siteLinks" => $siteLinks, + "siteClicks" => $siteClicks, + "userNumber" => $userNumber, + ]); + } + + // Users page + public function users() + { + return view("panel/users"); + } + + // Send test mail + public function SendTestMail(Request $request) + { try { - $userId = auth()->id(); - $user = User::findOrFail($userId); - - Mail::send('auth.test', ['user' => $user], function ($message) use ($user) { - $message->to($user->email) - ->subject('Test Email'); - }); - - return redirect()->route('showConfig')->with('success', 'Test email sent successfully!'); + $userId = auth()->id(); + $user = User::findOrFail($userId); + + Mail::send("auth.test", ["user" => $user], function ($message) use ( + $user, + ) { + $message->to($user->email)->subject("Test Email"); + }); + + return redirect() + ->route("showConfig") + ->with("success", "Test email sent successfully!"); } catch (\Exception $e) { - return redirect()->route('showConfig')->with('fail', 'Failed to send test email.'); - } -} - - //Block user - public function blockUser(request $request) - { - $id = $request->id; - $status = $request->block; - - if ($status == 'yes') { - $block = 'no'; - } elseif ($status == 'no') { - $block = 'yes'; - } - - User::where('id', $id)->update(['block' => $block]); - - return redirect('admin/users/all'); - } - - //Verify user - public function verifyCheckUser(request $request) - { - $id = $request->id; - $status = $request->verify; - - if ($status == 'vip') { - $verify = 'vip'; - UserData::saveData($id, 'checkmark', true); - } elseif ($status == 'user') { - $verify = 'user'; - } - - User::where('id', $id)->update(['role' => $verify]); - - return redirect(url('u')."/".$id); - } + return redirect() + ->route("showConfig") + ->with("fail", "Failed to send test email."); + } + } - //Verify or un-verify users emails - public function verifyUser(request $request) - { - $id = $request->id; - $status = $request->verify; - - if ($status == "true") { - $verify = '0000-00-00 00:00:00'; - } else { - $verify = NULL; - } + //Block user + public function blockUser(request $request) + { + $id = $request->id; + $status = $request->block; - User::where('id', $id)->update(['email_verified_at' => $verify]); + if ($status == "yes") { + $block = "no"; + } elseif ($status == "no") { + $block = "yes"; } - //Create new user from the Admin Panel - public function createNewUser() - { - - function random_str( - int $length = 64, - string $keyspace = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' - ): string { - if ($length < 1) { - throw new \RangeException("Length must be a positive integer"); - } - $pieces = []; - $max = mb_strlen($keyspace, '8bit') - 1; - for ($i = 0; $i < $length; ++$i) { - $pieces[] = $keyspace[random_int(0, $max)]; - } - return implode('', $pieces); - } - - $names = User::pluck('name')->toArray(); - - $adminCreatedNames = array_filter($names, function($name) { - return strpos($name, 'Admin-Created-') === 0; - }); - - $numbers = array_map(function($name) { - return (int) str_replace('Admin-Created-', '', $name); - }, $adminCreatedNames); + User::where("id", $id)->update(["block" => $block]); - $maxNumber = !empty($numbers) ? max($numbers) : 0; - $newNumber = $maxNumber + 1; + return redirect("admin/users/all"); + } - $domain = parse_url(url(''), PHP_URL_HOST); - $domain = ($domain == 'localhost') ? 'example.com' : $domain; + //Verify user + public function verifyCheckUser(request $request) + { + $id = $request->id; + $status = $request->verify; - $user = User::create([ - 'name' => 'Admin-Created-' . $newNumber, - 'email' => strtolower(random_str(8)) . '@' . $domain, - 'password' => Hash::make(random_str(32)), - 'role' => 'user', - 'block' => 'no', - ]); - - return redirect('admin/edit-user/' . $user->id); + if ($status == "vip") { + $verify = "vip"; + UserData::saveData($id, "checkmark", true); + } elseif ($status == "user") { + $verify = "user"; } - //Delete existing user - public function deleteUser(request $request) - { - $id = $request->id; - - Link::where('user_id', $id)->delete(); - - Schema::disableForeignKeyConstraints(); - - $user = User::find($id); - $user->forceDelete(); - - Schema::enableForeignKeyConstraints(); - - return redirect('admin/users/all'); - } + User::where("id", $id)->update(["role" => $verify]); - //Delete existing user with POST request - public function deleteTableUser(request $request) - { - $id = $request->id; - - Link::where('user_id', $id)->delete(); - - Schema::disableForeignKeyConstraints(); - - $user = User::find($id); - $user->forceDelete(); - - Schema::enableForeignKeyConstraints(); - } + return redirect(url("u") . "/" . $id); + } - //Show user to edit - public function showUser(request $request) - { - $id = $request->id; + //Verify or un-verify users emails + public function verifyUser(request $request) + { + $id = $request->id; + $status = $request->verify; - $data['user'] = User::where('id', $id)->get(); - - return view('panel/edit-user', $data); + if ($status == "true") { + $verify = "0000-00-00 00:00:00"; + } else { + $verify = null; } - //Show link, click number, up link in links page - public function showLinksUser(request $request) - { - $id = $request->id; - - $data['user'] = User::where('id', $id)->get(); + User::where("id", $id)->update(["email_verified_at" => $verify]); + } - $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); - return view('panel/links', $data); + //Create new user from the Admin Panel + public function createNewUser() + { + function random_str( + int $length = 64, + string $keyspace = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", + ): string { + if ($length < 1) { + throw new \RangeException("Length must be a positive integer"); + } + $pieces = []; + $max = mb_strlen($keyspace, "8bit") - 1; + for ($i = 0; $i < $length; ++$i) { + $pieces[] = $keyspace[random_int(0, $max)]; + } + return implode("", $pieces); } - //Delete link - public function deleteLinkUser(request $request) - { - $linkId = $request->id; + $names = User::pluck("name")->toArray(); - Link::where('id', $linkId)->delete(); + $adminCreatedNames = array_filter($names, function ($name) { + return strpos($name, "Admin-Created-") === 0; + }); - return back(); - } + $numbers = array_map(function ($name) { + return (int) str_replace("Admin-Created-", "", $name); + }, $adminCreatedNames); + + $maxNumber = !empty($numbers) ? max($numbers) : 0; + $newNumber = $maxNumber + 1; - //Save user edit - public function editUser(request $request) - { - $request->validate([ - 'name' => '', - 'email' => '', - 'password' => '', - 'littlelink_name' => '', - ]); - - $id = $request->id; - $name = $request->name; - $email = $request->email; - $password = Hash::make($request->password); - $profilePhoto = $request->file('image'); - $littlelink_name = $request->littlelink_name; - $littlelink_description = $request->littlelink_description; - $role = $request->role; - $customBackground = $request->file('background'); - $theme = $request->theme; - - if(User::where('id', $id)->get('role')->first()->role =! $role) { - if ($role == 'vip') { - UserData::saveData($id, 'checkmark', true); - } - } - - if ($request->password == '') { - User::where('id', $id)->update(['name' => $name, 'email' => $email, 'littlelink_name' => $littlelink_name, 'littlelink_description' => $littlelink_description, 'role' => $role, 'theme' => $theme]); - } else { - User::where('id', $id)->update(['name' => $name, 'email' => $email, 'password' => $password, 'littlelink_name' => $littlelink_name, 'littlelink_description' => $littlelink_description, 'role' => $role, 'theme' => $theme]); - } - if (!empty($profilePhoto)) { - $profilePhoto->move(base_path('assets/img'), $id . '_' . time() . ".png"); - } - if (!empty($customBackground)) { - $directory = base_path('assets/img/background-img/'); - $files = scandir($directory); - $pathinfo = "error.error"; - foreach($files as $file) { - if (strpos($file, $id.'.') !== false) { - $pathinfo = $id. "." . pathinfo($file, PATHINFO_EXTENSION); - }} - if(file_exists(base_path('assets/img/background-img/').$pathinfo)){File::delete(base_path('assets/img/background-img/').$pathinfo);} - - $customBackground->move(base_path('assets/img/background-img/'), $id . '_' . time() . "." . $request->file('background')->extension()); - } - - return redirect('admin/users/all'); - } - - //Show site pages to edit - public function showSitePage() - { - $data['pages'] = Page::select('terms', 'privacy', 'contact', 'register')->get(); - return view('panel/pages', $data); - } - - //Save site pages - public function editSitePage(request $request) - { - $terms = $request->terms; - $privacy = $request->privacy; - $contact = $request->contact; - $register = $request->register; - - Page::first()->update(['terms' => $terms, 'privacy' => $privacy, 'contact' => $contact, 'register' => $register]); - - return back(); - } - - //Show home message for edit - public function showSite() - { - $message = Page::select('home_message')->first(); - return view('panel/site', $message); - } - - //Save home message, logo and favicon - public function editSite(request $request) - { - $message = $request->message; - $logo = $request->file('image'); - $icon = $request->file('icon'); - - Page::first()->update(['home_message' => $message]); - - if (!empty($logo)) { - // Delete existing image - $path = findFile('avatar'); - $path = base_path('/assets/linkstack/images/'.$path); - - // Delete existing image - if (File::exists($path)) { - File::delete($path); - } - - $logo->move(base_path('/assets/linkstack/images/'), "avatar" . '_' . time() . "." .$request->file('image')->extension()); + $domain = parse_url(url(""), PHP_URL_HOST); + $domain = $domain == "localhost" ? "example.com" : $domain; + + $user = User::create([ + "name" => "Admin-Created-" . $newNumber, + "email" => strtolower(random_str(8)) . "@" . $domain, + "password" => Hash::make(random_str(32)), + "role" => "user", + "block" => "no", + ]); + + return redirect("admin/edit-user/" . $user->id); + } + + //Delete existing user + public function deleteUser(request $request) + { + $id = $request->id; + + Link::where("user_id", $id)->delete(); + + Schema::disableForeignKeyConstraints(); + + $user = User::find($id); + $user->forceDelete(); + + Schema::enableForeignKeyConstraints(); + + return redirect("admin/users/all"); + } + + //Delete existing user with POST request + public function deleteTableUser(request $request) + { + $id = $request->id; + + Link::where("user_id", $id)->delete(); + + Schema::disableForeignKeyConstraints(); + + $user = User::find($id); + $user->forceDelete(); + + Schema::enableForeignKeyConstraints(); + } + + //Show user to edit + public function showUser(request $request) + { + $id = $request->id; + + $data["user"] = User::where("id", $id)->get(); + + 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); + return view("panel/links", $data); + } + + //Delete link + public function deleteLinkUser(request $request) + { + $linkId = $request->id; + + Link::where("id", $linkId)->delete(); + + return back(); + } + + //Save user edit + public function editUser(request $request) + { + $request->validate([ + "name" => "", + "email" => "", + "password" => "", + "littlelink_name" => "", + ]); + + $id = $request->id; + $name = $request->name; + $email = $request->email; + $password = Hash::make($request->password); + $profilePhoto = $request->file("image"); + $littlelink_name = $request->littlelink_name; + $littlelink_description = $request->littlelink_description; + $role = $request->role; + $customBackground = $request->file("background"); + $theme = $request->theme; + + if (User::where("id", $id)->get("role")->first()->role = !$role) { + if ($role == "vip") { + UserData::saveData($id, "checkmark", true); + } + } + + if ($request->password == "") { + User::where("id", $id)->update([ + "name" => $name, + "email" => $email, + "littlelink_name" => $littlelink_name, + "littlelink_description" => $littlelink_description, + "role" => $role, + "theme" => $theme, + ]); + } else { + User::where("id", $id)->update([ + "name" => $name, + "email" => $email, + "password" => $password, + "littlelink_name" => $littlelink_name, + "littlelink_description" => $littlelink_description, + "role" => $role, + "theme" => $theme, + ]); + } + if (!empty($profilePhoto)) { + $profilePhoto->move(base_path("assets/img"), $id . "_" . time() . ".png"); + } + if (!empty($customBackground)) { + $directory = base_path("assets/img/background-img/"); + $files = scandir($directory); + $pathinfo = "error.error"; + foreach ($files as $file) { + if (strpos($file, $id . ".") !== false) { + $pathinfo = $id . "." . pathinfo($file, PATHINFO_EXTENSION); } + } + if (file_exists(base_path("assets/img/background-img/") . $pathinfo)) { + File::delete(base_path("assets/img/background-img/") . $pathinfo); + } + + $customBackground->move( + base_path("assets/img/background-img/"), + $id . "_" . time() . "." . $request->file("background")->extension(), + ); + } + + return redirect("admin/users/all"); + } + + //Show site pages to edit + public function showSitePage() + { + $data["pages"] = Page::select( + "terms", + "privacy", + "contact", + "register", + )->get(); + return view("panel/pages", $data); + } + + //Save site pages + public function editSitePage(request $request) + { + $terms = $request->terms; + $privacy = $request->privacy; + $contact = $request->contact; + $register = $request->register; + + Page::first()->update([ + "terms" => $terms, + "privacy" => $privacy, + "contact" => $contact, + "register" => $register, + ]); + + return back(); + } + + //Show home message for edit + public function showSite() + { + $message = Page::select("home_message")->first(); + return view("panel/site", $message); + } + + //Save home message, logo and favicon + public function editSite(request $request) + { + $message = $request->message; + $logo = $request->file("image"); + $icon = $request->file("icon"); + + Page::first()->update(["home_message" => $message]); + + if (!empty($logo)) { + // Delete existing image + $path = findFile("avatar"); + $path = base_path("/assets/linkstack/images/" . $path); + + // Delete existing image + if (File::exists($path)) { + File::delete($path); + } + + $logo->move( + base_path("/assets/linkstack/images/"), + "avatar" . "_" . time() . "." . $request->file("image")->extension(), + ); + } + + if (!empty($icon)) { + // Delete existing image + $path = findFile("favicon"); + $path = base_path("/assets/linkstack/images/" . $path); + + // Delete existing image + if (File::exists($path)) { + File::delete($path); + } + + $icon->move( + base_path("/assets/linkstack/images/"), + "favicon" . "_" . time() . "." . $request->file("icon")->extension(), + ); + } + return back(); + } + + //Delete avatar + public function delAvatar() + { + $path = findFile("avatar"); + $path = base_path("/assets/linkstack/images/" . $path); + + // Delete existing image + if (File::exists($path)) { + File::delete($path); + } + + return back(); + } + + //Delete favicon + public function delFavicon() + { + // Delete existing image + $path = findFile("favicon"); + $path = base_path("/assets/linkstack/images/" . $path); + + // Delete existing image + if (File::exists($path)) { + File::delete($path); + } + + return back(); + } + + //View footer page: terms + public function pagesTerms(Request $request) + { + $name = "terms"; - if (!empty($icon)) { - // Delete existing image - $path = findFile('favicon'); - $path = base_path('/assets/linkstack/images/'.$path); - - // Delete existing image - if (File::exists($path)) { - File::delete($path); - } - - $icon->move(base_path('/assets/linkstack/images/'), "favicon" . '_' . time() . "." . $request->file('icon')->extension()); - } - return back(); - } - - //Delete avatar - public function delAvatar() - { - $path = findFile('avatar'); - $path = base_path('/assets/linkstack/images/'.$path); - - // Delete existing image - if (File::exists($path)) { - File::delete($path); - } - - return back(); - } - - //Delete favicon - public function delFavicon() - { - // Delete existing image - $path = findFile('favicon'); - $path = base_path('/assets/linkstack/images/'.$path); - - // Delete existing image - if (File::exists($path)) { - File::delete($path); - } - - return back(); + try { + $data["page"] = Page::select($name)->first(); + } catch (Exception $e) { + return abort(404); } - //View footer page: terms - public function pagesTerms(Request $request) - { - $name = "terms"; - - try { - $data['page'] = Page::select($name)->first(); - } catch (Exception $e) { - return abort(404); - } - - return view('pages', ['data' => $data, 'name' => $name]); - } + return view("pages", ["data" => $data, "name" => $name]); + } - //View footer page: privacy - public function pagesPrivacy(Request $request) - { - $name = "privacy"; - - try { - $data['page'] = Page::select($name)->first(); - } catch (Exception $e) { - return abort(404); - } - - return view('pages', ['data' => $data, 'name' => $name]); - } + //View footer page: privacy + public function pagesPrivacy(Request $request) + { + $name = "privacy"; - //View footer page: contact - public function pagesContact(Request $request) - { - $name = "contact"; - - try { - $data['page'] = Page::select($name)->first(); - } catch (Exception $e) { - return abort(404); - } - - return view('pages', ['data' => $data, 'name' => $name]); + try { + $data["page"] = Page::select($name)->first(); + } catch (Exception $e) { + return abort(404); } - //Statistics of the number of clicks and links - public function phpinfo() - { - return view('panel/phpinfo'); - } + return view("pages", ["data" => $data, "name" => $name]); + } - //Shows config file editor page - public function showFileEditor(request $request) - { - return redirect('/admin/config'); - } + //View footer page: contact + public function pagesContact(Request $request) + { + $name = "contact"; - //Saves advanced config - public function editAC(request $request) - { - if ($request->ResetAdvancedConfig == 'RESET_DEFAULTS') { - copy(base_path('storage/templates/advanced-config.php'), base_path('config/advanced-config.php')); - } else { - file_put_contents('config/advanced-config.php', $request->AdvancedConfig); + try { + $data["page"] = Page::select($name)->first(); + } catch (Exception $e) { + return abort(404); + } + + return view("pages", ["data" => $data, "name" => $name]); + } + + //Statistics of the number of clicks and links + public function phpinfo() + { + return view("panel/phpinfo"); + } + + //Shows config file editor page + public function showFileEditor(request $request) + { + return redirect("/admin/config"); + } + + //Saves advanced config + public function editAC(request $request) + { + if ($request->ResetAdvancedConfig == "RESET_DEFAULTS") { + copy( + base_path("storage/templates/advanced-config.php"), + base_path("config/advanced-config.php"), + ); + } else { + file_put_contents("config/advanced-config.php", $request->AdvancedConfig); + } + + return redirect("/admin/config#2"); + } + + //Saves .env config + public function editENV(request $request) + { + $config = $request->altConfig; + + file_put_contents(".env", $config); + + return Redirect("/admin/config?alternative-config"); + } + + //Shows config file editor page + public function showBackups(request $request) + { + return view("/panel/backups"); + } + + //Delete custom theme + public function deleteTheme(request $request) + { + $del = $request->deltheme; + + if (empty($del)) { + echo '"; + } else { + $folderName = base_path() . "/themes/" . $del; + + function removeFolder($folderName) + { + if (File::exists($folderName)) { + File::deleteDirectory($folderName); + return true; } - return redirect('/admin/config#2'); - } - - //Saves .env config - public function editENV(request $request) - { - $config = $request->altConfig; - - file_put_contents('.env', $config); - - return Redirect('/admin/config?alternative-config'); - } - - //Shows config file editor page - public function showBackups(request $request) - { - return view('/panel/backups'); - } - - //Delete custom theme - public function deleteTheme(request $request) - { - - $del = $request->deltheme; - - if (empty($del)) { - echo ''; - } else { - - $folderName = base_path() . '/themes/' . $del; - - - - function removeFolder($folderName) - { - if (File::exists($folderName)) { - File::deleteDirectory($folderName); - return true; - } - - return false; - } - - removeFolder($folderName); - - return Redirect('/admin/theme'); + return false; + } + + removeFolder($folderName); + + return Redirect("/admin/theme"); + } + } + + // Update themes + public function updateThemes() + { + 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); + if (!count($matches)) { + continue; + } + $verNr = substr($matches[0][0], 15); } - } - - // Update themes - public function updateThemes() - { - - - 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); - 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; } - - $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; + 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 { - $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'; - - - 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)); - } - } - } - } - } - } + system("rm -rf " . escapeshellarg($dirname)); } + } } + } } + } } + } } - - return Redirect('/studio/theme'); - } - - //Shows config file editor page - public function showConfig(request $request) - { - return view('/panel/config-editor'); - } - - //Shows config file editor page - public function editConfig(request $request) - { - - $type = $request->type; - $entry = $request->entry; - $value = $request->value; - - if($type === "toggle"){ - if($request->toggle != ''){$value = "true";}else{$value = "false";} - if(EnvEditor::keyExists($entry)){EnvEditor::editKey($entry, $value);} - } elseif($type === "toggle2") { - if($request->toggle != ''){$value = "verified";}else{$value = "auth";} - if(EnvEditor::keyExists($entry)){EnvEditor::editKey($entry, $value);} - } elseif($type === "text") { - if(EnvEditor::keyExists($entry)){EnvEditor::editKey($entry, '"' . $value . '"');} - } elseif($type === "debug") { - if($request->toggle != ''){ - if(EnvEditor::keyExists('APP_DEBUG')){EnvEditor::editKey('APP_DEBUG', 'true');} - if(EnvEditor::keyExists('APP_ENV')){EnvEditor::editKey('APP_ENV', 'local');} - if(EnvEditor::keyExists('LOG_LEVEL')){EnvEditor::editKey('LOG_LEVEL', 'debug');} - } else { - if(EnvEditor::keyExists('APP_DEBUG')){EnvEditor::editKey('APP_DEBUG', 'false');} - if(EnvEditor::keyExists('APP_ENV')){EnvEditor::editKey('APP_ENV', 'production');} - if(EnvEditor::keyExists('LOG_LEVEL')){EnvEditor::editKey('LOG_LEVEL', 'error');} - } - } elseif($type === "register") { - if($request->toggle != ''){$register = "true";}else{$register = "false";} - Page::first()->update(['register' => $register]); - } elseif($type === "smtp") { - if($request->toggle != ''){$value = "built-in";}else{$value = "smtp";} - if(EnvEditor::keyExists('MAIL_MAILER')){EnvEditor::editKey('MAIL_MAILER', $value);} - - if(EnvEditor::keyExists('MAIL_HOST')){EnvEditor::editKey('MAIL_HOST', $request->MAIL_HOST);} - if(EnvEditor::keyExists('MAIL_PORT')){EnvEditor::editKey('MAIL_PORT', $request->MAIL_PORT);} - if(EnvEditor::keyExists('MAIL_USERNAME')){EnvEditor::editKey('MAIL_USERNAME', '"' . $request->MAIL_USERNAME . '"');} - if(EnvEditor::keyExists('MAIL_PASSWORD')){EnvEditor::editKey('MAIL_PASSWORD', '"' . $request->MAIL_PASSWORD . '"');} - if(EnvEditor::keyExists('MAIL_ENCRYPTION')){EnvEditor::editKey('MAIL_ENCRYPTION', $request->MAIL_ENCRYPTION);} - if(EnvEditor::keyExists('MAIL_FROM_ADDRESS')){EnvEditor::editKey('MAIL_FROM_ADDRESS', $request->MAIL_FROM_ADDRESS);} - } elseif($type === "homeurl") { - if($request->value == 'default'){$value = "";}else{$value = '"' . $request->value . '"';} - if(EnvEditor::keyExists($entry)){EnvEditor::editKey($entry, $value);} - } elseif($type === "maintenance") { - if($request->toggle != ''){$value = "true";}else{$value = "false";} - if(file_exists(base_path("storage/MAINTENANCE"))){unlink(base_path("storage/MAINTENANCE"));} - if(EnvEditor::keyExists($entry)){EnvEditor::editKey($entry, $value);} - } else { - if(EnvEditor::keyExists($entry)){EnvEditor::editKey($entry, $value);} + } + } + + return Redirect("/studio/theme"); + } + + //Shows config file editor page + public function showConfig(request $request) + { + return view("/panel/config-editor"); + } + + //Shows config file editor page + public function editConfig(request $request) + { + $type = $request->type; + $entry = $request->entry; + $value = $request->value; + + if ($type === "toggle") { + if ($request->toggle != "") { + $value = "true"; + } else { + $value = "false"; + } + if (EnvEditor::keyExists($entry)) { + EnvEditor::editKey($entry, $value); + } + } elseif ($type === "toggle2") { + if ($request->toggle != "") { + $value = "verified"; + } else { + $value = "auth"; + } + if (EnvEditor::keyExists($entry)) { + EnvEditor::editKey($entry, $value); + } + } elseif ($type === "text") { + if (EnvEditor::keyExists($entry)) { + EnvEditor::editKey($entry, '"' . $value . '"'); + } + } elseif ($type === "debug") { + if ($request->toggle != "") { + if (EnvEditor::keyExists("APP_DEBUG")) { + EnvEditor::editKey("APP_DEBUG", "true"); } - - - - - return Redirect('/admin/config'); - } - - //Shows theme editor page - public function showThemes(request $request) - { - return view('/panel/theme'); - } - - //Removes impersonation if authenticated - public function authAs(request $request) - { - - $userID = $request->id; - $token = $request->token; - - $user = User::find($userID); - - if($user->remember_token == $token && $request->session()->get('display_auth_nav') === $user->remember_token){ - $user->auth_as = null; - $user->remember_token = null; - $user->save(); - - $request->session()->forget('display_auth_nav'); - - Auth::loginUsingId($userID); - - return redirect('/admin/users/all'); - } else { - Auth::logout(); + if (EnvEditor::keyExists("APP_ENV")) { + EnvEditor::editKey("APP_ENV", "local"); } - + if (EnvEditor::keyExists("LOG_LEVEL")) { + EnvEditor::editKey("LOG_LEVEL", "debug"); + } + } else { + if (EnvEditor::keyExists("APP_DEBUG")) { + EnvEditor::editKey("APP_DEBUG", "false"); + } + if (EnvEditor::keyExists("APP_ENV")) { + EnvEditor::editKey("APP_ENV", "production"); + } + if (EnvEditor::keyExists("LOG_LEVEL")) { + EnvEditor::editKey("LOG_LEVEL", "error"); + } + } + } elseif ($type === "register") { + if ($request->toggle != "") { + $register = "true"; + } else { + $register = "false"; + } + Page::first()->update(["register" => $register]); + } elseif ($type === "smtp") { + if ($request->toggle != "") { + $value = "built-in"; + } else { + $value = "smtp"; + } + if (EnvEditor::keyExists("MAIL_MAILER")) { + EnvEditor::editKey("MAIL_MAILER", $value); + } + + if (EnvEditor::keyExists("MAIL_HOST")) { + EnvEditor::editKey("MAIL_HOST", $request->MAIL_HOST); + } + if (EnvEditor::keyExists("MAIL_PORT")) { + EnvEditor::editKey("MAIL_PORT", $request->MAIL_PORT); + } + if (EnvEditor::keyExists("MAIL_USERNAME")) { + EnvEditor::editKey( + "MAIL_USERNAME", + '"' . $request->MAIL_USERNAME . '"', + ); + } + if (EnvEditor::keyExists("MAIL_PASSWORD")) { + EnvEditor::editKey( + "MAIL_PASSWORD", + '"' . $request->MAIL_PASSWORD . '"', + ); + } + if (EnvEditor::keyExists("MAIL_ENCRYPTION")) { + EnvEditor::editKey("MAIL_ENCRYPTION", $request->MAIL_ENCRYPTION); + } + if (EnvEditor::keyExists("MAIL_FROM_ADDRESS")) { + EnvEditor::editKey("MAIL_FROM_ADDRESS", $request->MAIL_FROM_ADDRESS); + } + } elseif ($type === "homeurl") { + if ($request->value == "default") { + $value = ""; + } else { + $value = '"' . $request->value . '"'; + } + if (EnvEditor::keyExists($entry)) { + EnvEditor::editKey($entry, $value); + } + } elseif ($type === "maintenance") { + if ($request->toggle != "") { + $value = "true"; + } else { + $value = "false"; + } + if (file_exists(base_path("storage/MAINTENANCE"))) { + unlink(base_path("storage/MAINTENANCE")); + } + if (EnvEditor::keyExists($entry)) { + EnvEditor::editKey($entry, $value); + } + } else { + if (EnvEditor::keyExists($entry)) { + EnvEditor::editKey($entry, $value); + } + } + + return Redirect("/admin/config"); + } + + //Shows theme editor page + public function showThemes(request $request) + { + return view("/panel/theme"); + } + + //Removes impersonation if authenticated + public function authAs(Request $request) + { + $userID = $request->id; + $token = $request->token; + + $user = User::find($userID); + + if (!$user) { + Auth::logout(); + return redirect("/login"); + } + + $userRememberToken = $user->remember_token; + $sessionToken = $request->session()->get("display_auth_nav"); + + if ( + !empty($token) && + !empty($userRememberToken) && + !empty($sessionToken) && + hash_equals($userRememberToken, $token) && + hash_equals($userRememberToken, $sessionToken) + ) { + $user->auth_as = null; + $user->remember_token = null; + $user->save(); + + $request->session()->forget("display_auth_nav"); + + Auth::loginUsingId($userID); + + return redirect("/admin/users/all"); + } else { + Auth::logout(); + return redirect("/login"); + } + } + + //Add impersonation + public function authAsID(request $request) + { + $adminUser = User::whereNotNull("auth_as")->where("role", "admin")->first(); + + if (!$adminUser) { + $userID = $request->id; + $id = Auth::user()->id; + + $user = User::find($id); + + $user->auth_as = $userID; + $user->save(); + + return redirect("dashboard"); + } else { + return redirect("admin/users/all"); + } + } + + //Show info about link + public function redirectInfo(request $request) + { + $linkId = $request->id; + + if (empty($linkId)) { + return abort(404); } - //Add impersonation - public function authAsID(request $request) - { - - $adminUser = User::whereNotNull('auth_as')->where('role', 'admin')->first(); - - if (!$adminUser) { - - $userID = $request->id; - $id = Auth::user()->id; - - $user = User::find($id); - - $user->auth_as = $userID; - $user->save(); - - return redirect('dashboard'); - - } else { - return redirect('admin/users/all'); - } + $linkData = Link::find($linkId); + $clicks = $linkData->click_number; + if (empty($linkData)) { + return abort(404); } - //Show info about link - public function redirectInfo(request $request) + function isValidLink($url) { - $linkId = $request->id; + $validPrefixes = ["http", "https", "ftp", "mailto", "tel", "news"]; - if (empty($linkId)) { - return abort(404); - } - - $linkData = Link::find($linkId); - $clicks = $linkData->click_number; - - if (empty($linkData)) { - return abort(404); - } - - function isValidLink($url) { - $validPrefixes = array('http', 'https', 'ftp', 'mailto', 'tel', 'news'); - - $pattern = '/^(' . implode('|', $validPrefixes) . '):/i'; - - if (preg_match($pattern, $url) && strlen($url) <= 155) { - return $url; - } else { - return "N/A"; - } - } - - $link = isValidLink($linkData->link); + $pattern = "/^(" . implode("|", $validPrefixes) . "):/i"; - $userID = $linkData->user_id; - $userData = User::find($userID); + if (preg_match($pattern, $url) && strlen($url) <= 155) { + return $url; + } else { + return "N/A"; + } + } - return view('linkinfo', ['clicks' => $clicks, 'linkID' => $linkId, 'link' => $link, 'id' => $userID, 'userData' => $userData]); + $link = isValidLink($linkData->link); - } + $userID = $linkData->user_id; + $userData = User::find($userID); + return view("linkinfo", [ + "clicks" => $clicks, + "linkID" => $linkId, + "link" => $link, + "id" => $userID, + "userData" => $userData, + ]); + } } diff --git a/composer.json b/composer.json index 3a51d8766..49aa11858 100644 --- a/composer.json +++ b/composer.json @@ -13,24 +13,25 @@ "geo-sot/laravel-env-editor": "^2.0", "guzzlehttp/guzzle": "^7.4", "jeroendesloovere/vcard": "^1.7", + "laravel-lang/common": "^2.0", "laravel/framework": "^9.52.4", "laravel/socialite": "^5.5", "laravel/tinker": "^2.5", "livewire/livewire": "^2.12", + "nunomaduro/collision": "^6.1", "rappasoft/laravel-livewire-tables": "^2.15", "simplesoftwareio/simple-qrcode": "~4", - "spatie/laravel-backup": "^8.1.5" + "spatie/laravel-backup": "^8.1.5", + "symfony/yaml": "^6.0" }, "require-dev": { "barryvdh/laravel-ide-helper": "^2.12", "fakerphp/faker": "^1.9.1", - "laravel-lang/common": "^2.0", "laravel/breeze": "^1.1", "laravel/sail": "^1.0.1", "mockery/mockery": "^1.4.2", - "nunomaduro/collision": "^6.1", - "phpunit/phpunit": "^9.3.3", - "spatie/laravel-ignition": "^1.0" + "spatie/laravel-ignition": "^1.0", + "phpunit/phpunit": "^9.3.3" }, "autoload": { "files": [ diff --git a/composer.lock b/composer.lock index 8138fd2d8..96e6c638b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,24 +4,24 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f2bf9e2d3ef238c3a5709b1a28e82833", + "content-hash": "baacb808064fe8cadd982607d069928e", "packages": [ { "name": "awssat/laravel-visits", - "version": "6.1.1", + "version": "6.2.0", "source": { "type": "git", "url": "https://github.com/awssat/laravel-visits.git", - "reference": "8d6c165742e5bf0a8b6d1501771c3d409f1f8948" + "reference": "ff9e034183f6f9a8d3c06caad95b7936678936b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/awssat/laravel-visits/zipball/8d6c165742e5bf0a8b6d1501771c3d409f1f8948", - "reference": "8d6c165742e5bf0a8b6d1501771c3d409f1f8948", + "url": "https://api.github.com/repos/awssat/laravel-visits/zipball/ff9e034183f6f9a8d3c06caad95b7936678936b9", + "reference": "ff9e034183f6f9a8d3c06caad95b7936678936b9", "shasum": "" }, "require": { - "illuminate/support": "~5.5.0 || ~5.6.0 || ~5.7.0 || ~5.8.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0", + "illuminate/support": "~5.5.0 || ~5.6.0 || ~5.7.0 || ~5.8.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0", "jaybizzle/crawler-detect": "^1.2", "nesbot/carbon": "^2.0|^3.0", "php": "^8.0", @@ -29,11 +29,11 @@ "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 || ^10.0 || ^11.0", + "doctrine/dbal": "^2.6 || ^3.0 || ^4.0", + "illuminate/support": "~5.5.0 || ~5.6.0 || ~5.7.0 || ~5.8.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0", "mockery/mockery": "^1.4 || ^1.6", - "orchestra/testbench": "^3.5 || ^3.6 || ^3.7 || ^3.8 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0", - "phpunit/phpunit": "^9.0 || ^10.1", + "orchestra/testbench": "^3.5 || ^3.6 || ^3.7 || ^3.8 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0", + "phpunit/phpunit": "^9.0 || ^10.1 || ^11.0", "predis/predis": "^1.1|^2.0" }, "suggest": { @@ -43,16 +43,16 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - }, "laravel": { - "providers": [ - "Awssat\\Visits\\VisitsServiceProvider" - ], "aliases": { "Visits": "Awssat\\Visits\\Visits" - } + }, + "providers": [ + "Awssat\\Visits\\VisitsServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "2.0-dev" } }, "autoload": { @@ -90,7 +90,7 @@ ], "support": { "issues": "https://github.com/awssat/laravel-visits/issues", - "source": "https://github.com/awssat/laravel-visits/tree/6.1.1" + "source": "https://github.com/awssat/laravel-visits/tree/6.2.0" }, "funding": [ { @@ -98,7 +98,7 @@ "type": "github" } ], - "time": "2024-07-07T22:47:10+00:00" + "time": "2025-04-14T11:43:36+00:00" }, { "name": "bacon/bacon-qr-code", @@ -201,6 +201,7 @@ "issues": "https://github.com/Behat/Transliterator/issues", "source": "https://github.com/Behat/Transliterator/tree/v1.5.0" }, + "abandoned": true, "time": "2022-03-30T09:27:43+00:00" }, { @@ -327,91 +328,6 @@ ], "time": "2023-12-11T17:09:12+00:00" }, - { - "name": "codedge/laravel-selfupdater", - "version": "3.6.2", - "source": { - "type": "git", - "url": "https://github.com/codedge/laravel-selfupdater.git", - "reference": "44bbecaff3652aeb9b9eb73c79f82ecf6a698b02" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/codedge/laravel-selfupdater/zipball/44bbecaff3652aeb9b9eb73c79f82ecf6a698b02", - "reference": "44bbecaff3652aeb9b9eb73c79f82ecf6a698b02", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-zip": "*", - "guzzlehttp/guzzle": "^7.5.0", - "laravel/framework": "^9", - "league/uri": "~6.7|~6.8", - "php": "^8.0 || ^8.1", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan-phpunit": "^1.2" - }, - "require-dev": { - "dg/bypass-finals": "^1.3", - "mikey179/vfsstream": "^1.6", - "mockery/mockery": "^1.5", - "orchestra/testbench": "^7.0", - "phpunit/phpunit": "^9.5.26" - }, - "type": "library", - "extra": { - "laravel": { - "aliases": { - "Updater": "Codedge\\Updater\\UpdaterFacade" - }, - "providers": [ - "Codedge\\Updater\\UpdaterServiceProvider" - ] - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Codedge\\Updater\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Holger Lösken", - "email": "holger.loesken@codedge.de", - "homepage": "https://codedge.de", - "role": "Developer" - } - ], - "description": "Providing an auto-updating functionality for your self-hosted Laravel application.", - "keywords": [ - "auto update", - "auto-update", - "laravel", - "laravel application", - "self update", - "self-hosted laravel application", - "self-update", - "update" - ], - "support": { - "issues": "https://github.com/codedge/laravel-selfupdater/issues", - "source": "https://github.com/codedge/laravel-selfupdater" - }, - "funding": [ - { - "url": "https://github.com/codedge", - "type": "github" - } - ], - "time": "2023-01-29T23:25:52+00:00" - }, { "name": "cohensive/oembed", "version": "v0.17", @@ -473,16 +389,16 @@ }, { "name": "dasprid/enum", - "version": "1.0.6", + "version": "1.0.7", "source": { "type": "git", "url": "https://github.com/DASPRiD/Enum.git", - "reference": "8dfd07c6d2cf31c8da90c53b83c026c7696dda90" + "reference": "b5874fa9ed0043116c72162ec7f4fb50e02e7cce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/8dfd07c6d2cf31c8da90c53b83c026c7696dda90", - "reference": "8dfd07c6d2cf31c8da90c53b83c026c7696dda90", + "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/b5874fa9ed0043116c72162ec7f4fb50e02e7cce", + "reference": "b5874fa9ed0043116c72162ec7f4fb50e02e7cce", "shasum": "" }, "require": { @@ -517,9 +433,9 @@ ], "support": { "issues": "https://github.com/DASPRiD/Enum/issues", - "source": "https://github.com/DASPRiD/Enum/tree/1.0.6" + "source": "https://github.com/DASPRiD/Enum/tree/1.0.7" }, - "time": "2024-08-09T14:30:48+00:00" + "time": "2025-09-16T12:23:56+00:00" }, { "name": "dflydev/dot-access-data", @@ -596,135 +512,43 @@ }, "time": "2024-07-08T12:26:09+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.9.1", + "version": "3.10.4", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "d7dc08f98cba352b2bab5d32c5e58f7e745c11a7" + "reference": "63a46cb5aa6f60991186cc98c1d1b50c09311868" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/d7dc08f98cba352b2bab5d32c5e58f7e745c11a7", - "reference": "d7dc08f98cba352b2bab5d32c5e58f7e745c11a7", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/63a46cb5aa6f60991186cc98c1d1b50c09311868", + "reference": "63a46cb5aa6f60991186cc98c1d1b50c09311868", "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" }, + "conflict": { + "doctrine/cache": "< 1.11" + }, "require-dev": { - "doctrine/coding-standard": "12.0.0", + "doctrine/cache": "^1.11|^2.0", + "doctrine/coding-standard": "14.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.12.0", - "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "9.6.20", - "psalm/plugin-phpunit": "0.18.4", - "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.10.2", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/console": "^4.4|^5.4|^6.0|^7.0", - "vimeo/psalm": "4.30.0" + "phpstan/phpstan": "2.1.30", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "9.6.29", + "slevomat/coding-standard": "8.24.0", + "squizlabs/php_codesniffer": "4.0.0", + "symfony/cache": "^5.4|^6.0|^7.0|^8.0", + "symfony/console": "^4.4|^5.4|^6.0|^7.0|^8.0" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -784,7 +608,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.9.1" + "source": "https://github.com/doctrine/dbal/tree/3.10.4" }, "funding": [ { @@ -800,33 +624,34 @@ "type": "tidelift" } ], - "time": "2024-09-01T13:49:23+00:00" + "time": "2025-11-29T10:46:08+00:00" }, { "name": "doctrine/deprecations", - "version": "1.1.3", + "version": "1.1.5", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" + "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", + "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, + "conflict": { + "phpunit/phpunit": "<=7.5 || >=13" + }, "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "1.4.10 || 1.10.15", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psalm/plugin-phpunit": "0.18.4", - "psr/log": "^1 || ^2 || ^3", - "vimeo/psalm": "4.30.0 || 5.12.0" + "doctrine/coding-standard": "^9 || ^12 || ^13", + "phpstan/phpstan": "1.4.10 || 2.1.11", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12", + "psr/log": "^1 || ^2 || ^3" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" @@ -834,7 +659,7 @@ "type": "library", "autoload": { "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + "Doctrine\\Deprecations\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -845,22 +670,22 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.3" + "source": "https://github.com/doctrine/deprecations/tree/1.1.5" }, - "time": "2024-01-30T19:34:25+00:00" + "time": "2025-04-07T20:06:18+00:00" }, { "name": "doctrine/event-manager", - "version": "2.0.1", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/event-manager.git", - "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e" + "reference": "c07799fcf5ad362050960a0fd068dded40b1e312" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e", - "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/c07799fcf5ad362050960a0fd068dded40b1e312", + "reference": "c07799fcf5ad362050960a0fd068dded40b1e312", "shasum": "" }, "require": { @@ -870,10 +695,10 @@ "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^12", - "phpstan/phpstan": "^1.8.8", - "phpunit/phpunit": "^10.5", - "vimeo/psalm": "^5.24" + "doctrine/coding-standard": "^14", + "phpdocumentor/guides-cli": "^1.4", + "phpstan/phpstan": "^2.1.32", + "phpunit/phpunit": "^10.5.58" }, "type": "library", "autoload": { @@ -922,7 +747,7 @@ ], "support": { "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/2.0.1" + "source": "https://github.com/doctrine/event-manager/tree/2.1.0" }, "funding": [ { @@ -938,37 +763,36 @@ "type": "tidelift" } ], - "time": "2024-05-22T20:47:39+00:00" + "time": "2026-01-17T22:40:21+00:00" }, { "name": "doctrine/inflector", - "version": "2.0.10", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" + "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", - "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/6d6c96277ea252fc1304627204c3d5e6e15faa3b", + "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^11.0", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.3", - "phpunit/phpunit": "^8.5 || ^9.5", - "vimeo/psalm": "^4.25 || ^5.4" + "doctrine/coding-standard": "^12.0 || ^13.0", + "phpstan/phpstan": "^1.12 || ^2.0", + "phpstan/phpstan-phpunit": "^1.4 || ^2.0", + "phpstan/phpstan-strict-rules": "^1.6 || ^2.0", + "phpunit/phpunit": "^8.5 || ^12.2" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + "Doctrine\\Inflector\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1013,7 +837,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.10" + "source": "https://github.com/doctrine/inflector/tree/2.1.0" }, "funding": [ { @@ -1029,7 +853,7 @@ "type": "tidelift" } ], - "time": "2024-02-18T20:23:39+00:00" + "time": "2025-08-10T19:31:58+00:00" }, { "name": "doctrine/lexer", @@ -1110,32 +934,35 @@ }, { "name": "dragonmantank/cron-expression", - "version": "v3.3.3", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" + "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", - "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/d61a8a9604ec1f8c3d150d09db6ce98b32675013", + "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013", "shasum": "" }, "require": { - "php": "^7.2|^8.0", - "webmozart/assert": "^1.0" + "php": "^8.2|^8.3|^8.4|^8.5" }, "replace": { "mtdowling/cron-expression": "^1.0" }, "require-dev": { - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-webmozart-assert": "^1.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0" + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.32|^2.1.31", + "phpunit/phpunit": "^8.5.48|^9.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, "autoload": { "psr-4": { "Cron\\": "src/Cron/" @@ -1159,7 +986,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.6.0" }, "funding": [ { @@ -1167,20 +994,20 @@ "type": "github" } ], - "time": "2023-08-10T19:36:49+00:00" + "time": "2025-10-31T18:51:33+00:00" }, { "name": "egulias/email-validator", - "version": "4.0.2", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", "shasum": "" }, "require": { @@ -1226,7 +1053,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.4" }, "funding": [ { @@ -1234,7 +1061,7 @@ "type": "github" } ], - "time": "2023-10-06T06:47:41+00:00" + "time": "2025-03-06T22:45:56+00:00" }, { "name": "fideloper/proxy", @@ -1296,16 +1123,16 @@ }, { "name": "firebase/php-jwt", - "version": "v6.10.1", + "version": "v7.0.2", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "500501c2ce893c824c801da135d02661199f60c5" + "reference": "5645b43af647b6947daac1d0f659dd1fbe8d3b65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/500501c2ce893c824c801da135d02661199f60c5", - "reference": "500501c2ce893c824c801da135d02661199f60c5", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/5645b43af647b6947daac1d0f659dd1fbe8d3b65", + "reference": "5645b43af647b6947daac1d0f659dd1fbe8d3b65", "shasum": "" }, "require": { @@ -1353,37 +1180,37 @@ ], "support": { "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v6.10.1" + "source": "https://github.com/firebase/php-jwt/tree/v7.0.2" }, - "time": "2024-05-18T18:05:11+00:00" + "time": "2025-12-16T22:17:28+00:00" }, { "name": "fruitcake/php-cors", - "version": "v1.3.0", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/fruitcake/php-cors.git", - "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" + "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", - "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379", + "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379", "shasum": "" }, "require": { - "php": "^7.4|^8.0", - "symfony/http-foundation": "^4.4|^5.4|^6|^7" + "php": "^8.1", + "symfony/http-foundation": "^5.4|^6.4|^7.3|^8" }, "require-dev": { - "phpstan/phpstan": "^1.4", + "phpstan/phpstan": "^2", "phpunit/phpunit": "^9", - "squizlabs/php_codesniffer": "^3.5" + "squizlabs/php_codesniffer": "^4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.3-dev" } }, "autoload": { @@ -1414,7 +1241,7 @@ ], "support": { "issues": "https://github.com/fruitcake/php-cors/issues", - "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" + "source": "https://github.com/fruitcake/php-cors/tree/v1.4.0" }, "funding": [ { @@ -1426,7 +1253,7 @@ "type": "github" } ], - "time": "2023-10-12T05:21:21+00:00" + "time": "2025-12-03T09:33:47+00:00" }, { "name": "geo-sot/laravel-env-editor", @@ -1454,12 +1281,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "GeoSot\\EnvEditor\\ServiceProvider" - ], "aliases": { "EnvEditor": "GeoSot\\EnvEditor\\Facades\\EnvEditor" - } + }, + "providers": [ + "GeoSot\\EnvEditor\\ServiceProvider" + ] } }, "autoload": { @@ -1492,24 +1319,24 @@ }, { "name": "graham-campbell/result-type", - "version": "v1.1.3", + "version": "v1.1.4", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/e01f4a821471308ba86aa202fed6698b6b695e3b", + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3" + "phpoption/phpoption": "^1.9.5" }, "require-dev": { - "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" + "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7" }, "type": "library", "autoload": { @@ -1538,7 +1365,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.4" }, "funding": [ { @@ -1550,26 +1377,26 @@ "type": "tidelift" } ], - "time": "2024-07-20T21:45:45+00:00" + "time": "2025-12-27T19:43:20+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.9.2", + "version": "7.10.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "d281ed313b989f213357e3be1a179f02196ac99b" + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", - "reference": "d281ed313b989f213357e3be1a179f02196ac99b", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.3", - "guzzlehttp/psr7": "^2.7.0", + "guzzlehttp/promises": "^2.3", + "guzzlehttp/psr7": "^2.8", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -1660,7 +1487,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.9.2" + "source": "https://github.com/guzzle/guzzle/tree/7.10.0" }, "funding": [ { @@ -1676,20 +1503,20 @@ "type": "tidelift" } ], - "time": "2024-07-24T11:22:20+00:00" + "time": "2025-08-23T22:36:01+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.3", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" + "reference": "481557b130ef3790cf82b713667b43030dc9c957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", + "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", + "reference": "481557b130ef3790cf82b713667b43030dc9c957", "shasum": "" }, "require": { @@ -1697,7 +1524,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.39 || ^9.6.20" + "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "type": "library", "extra": { @@ -1743,7 +1570,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.3" + "source": "https://github.com/guzzle/promises/tree/2.3.0" }, "funding": [ { @@ -1759,20 +1586,20 @@ "type": "tidelift" } ], - "time": "2024-07-18T10:29:17+00:00" + "time": "2025-08-22T14:34:08+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.7.0", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" + "reference": "21dc724a0583619cd1652f673303492272778051" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", - "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", + "reference": "21dc724a0583619cd1652f673303492272778051", "shasum": "" }, "require": { @@ -1788,7 +1615,7 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", "http-interop/http-factory-tests": "0.9.0", - "phpunit/phpunit": "^8.5.39 || ^9.6.20" + "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1859,7 +1686,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.7.0" + "source": "https://github.com/guzzle/psr7/tree/2.8.0" }, "funding": [ { @@ -1875,20 +1702,20 @@ "type": "tidelift" } ], - "time": "2024-07-18T11:15:46+00:00" + "time": "2025-08-23T21:21:41+00:00" }, { "name": "guzzlehttp/uri-template", - "version": "v1.0.3", + "version": "v1.0.5", "source": { "type": "git", "url": "https://github.com/guzzle/uri-template.git", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" + "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/4f4bbd4e7172148801e76e3decc1e559bdee34e1", + "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1", "shasum": "" }, "require": { @@ -1897,7 +1724,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "phpunit/phpunit": "^8.5.44 || ^9.6.25", "uri-template/tests": "1.0.0" }, "type": "library", @@ -1945,7 +1772,7 @@ ], "support": { "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" + "source": "https://github.com/guzzle/uri-template/tree/v1.0.5" }, "funding": [ { @@ -1961,24 +1788,24 @@ "type": "tidelift" } ], - "time": "2023-12-03T19:50:20+00:00" + "time": "2025-08-22T14:27:06+00:00" }, { "name": "jaybizzle/crawler-detect", - "version": "v1.2.120", + "version": "v1.3.6", "source": { "type": "git", "url": "https://github.com/JayBizzle/Crawler-Detect.git", - "reference": "2b325bdce46bbb8a2e96dc740ad37c743c9d8617" + "reference": "61f2ef1ad2d0ae922c265931cb0a8032a1ed2813" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/2b325bdce46bbb8a2e96dc740ad37c743c9d8617", - "reference": "2b325bdce46bbb8a2e96dc740ad37c743c9d8617", + "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/61f2ef1ad2d0ae922c265931cb0a8032a1ed2813", + "reference": "61f2ef1ad2d0ae922c265931cb0a8032a1ed2813", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.1.0" }, "require-dev": { "phpunit/phpunit": "^4.8|^5.5|^6.5|^9.4" @@ -2011,9 +1838,9 @@ ], "support": { "issues": "https://github.com/JayBizzle/Crawler-Detect/issues", - "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.2.120" + "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.3.6" }, - "time": "2024-09-15T14:31:21+00:00" + "time": "2025-09-30T16:22:43+00:00" }, { "name": "jeroendesloovere/vcard", @@ -2070,16 +1897,16 @@ }, { "name": "laravel/framework", - "version": "v9.52.16", + "version": "v9.52.21", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "082345d76fc6a55b649572efe10b11b03e279d24" + "reference": "6055d9594c9da265ddbf1e27e7dd8f09624568bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/082345d76fc6a55b649572efe10b11b03e279d24", - "reference": "082345d76fc6a55b649572efe10b11b03e279d24", + "url": "https://api.github.com/repos/laravel/framework/zipball/6055d9594c9da265ddbf1e27e7dd8f09624568bc", + "reference": "6055d9594c9da265ddbf1e27e7dd8f09624568bc", "shasum": "" }, "require": { @@ -2264,20 +2091,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-03T13:02:30+00:00" + "time": "2025-09-30T14:57:50+00:00" }, { "name": "laravel/serializable-closure", - "version": "v1.3.5", + "version": "v1.3.7", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c" + "reference": "4f48ade902b94323ca3be7646db16209ec76be3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c", - "reference": "1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d", + "reference": "4f48ade902b94323ca3be7646db16209ec76be3d", "shasum": "" }, "require": { @@ -2325,51 +2152,51 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2024-09-23T13:33:08+00:00" + "time": "2024-11-14T18:34:49+00:00" }, { "name": "laravel/socialite", - "version": "v5.16.0", + "version": "v5.24.2", "source": { "type": "git", "url": "https://github.com/laravel/socialite.git", - "reference": "40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf" + "reference": "5cea2eebf11ca4bc6c2f20495c82a70a9b3d1613" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/socialite/zipball/40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf", - "reference": "40a2dc98c53d9dc6d55eadb0d490d3d72b73f1bf", + "url": "https://api.github.com/repos/laravel/socialite/zipball/5cea2eebf11ca4bc6c2f20495c82a70a9b3d1613", + "reference": "5cea2eebf11ca4bc6c2f20495c82a70a9b3d1613", "shasum": "" }, "require": { "ext-json": "*", - "firebase/php-jwt": "^6.4", + "firebase/php-jwt": "^6.4|^7.0", "guzzlehttp/guzzle": "^6.0|^7.0", - "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/http": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "league/oauth1-client": "^1.10.1", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/http": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "league/oauth1-client": "^1.11", "php": "^7.2|^8.0", "phpseclib/phpseclib": "^3.0" }, "require-dev": { "mockery/mockery": "^1.0", - "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0|^8.0|^9.0", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.0|^9.3|^10.4" + "orchestra/testbench": "^4.18|^5.20|^6.47|^7.55|^8.36|^9.15|^10.8", + "phpstan/phpstan": "^1.12.23", + "phpunit/phpunit": "^8.0|^9.3|^10.4|^11.5|^12.0" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - }, "laravel": { - "providers": [ - "Laravel\\Socialite\\SocialiteServiceProvider" - ], "aliases": { "Socialite": "Laravel\\Socialite\\Facades\\Socialite" - } + }, + "providers": [ + "Laravel\\Socialite\\SocialiteServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "5.x-dev" } }, "autoload": { @@ -2397,37 +2224,37 @@ "issues": "https://github.com/laravel/socialite/issues", "source": "https://github.com/laravel/socialite" }, - "time": "2024-09-03T09:46:57+00:00" + "time": "2026-01-10T16:07:28+00:00" }, { "name": "laravel/tinker", - "version": "v2.10.0", + "version": "v2.11.0", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "ba4d51eb56de7711b3a37d63aa0643e99a339ae5" + "reference": "3d34b97c9a1747a81a3fde90482c092bd8b66468" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/ba4d51eb56de7711b3a37d63aa0643e99a339ae5", - "reference": "ba4d51eb56de7711b3a37d63aa0643e99a339ae5", + "url": "https://api.github.com/repos/laravel/tinker/zipball/3d34b97c9a1747a81a3fde90482c092bd8b66468", + "reference": "3d34b97c9a1747a81a3fde90482c092bd8b66468", "shasum": "" }, "require": { - "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", "php": "^7.2.5|^8.0", "psy/psysh": "^0.11.1|^0.12.0", - "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" + "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0|^8.0" }, "require-dev": { "mockery/mockery": "~1.3.3|^1.4.2", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.5.8|^9.3.3" + "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0" }, "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)." + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)." }, "type": "library", "extra": { @@ -2461,22 +2288,22 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.10.0" + "source": "https://github.com/laravel/tinker/tree/v2.11.0" }, - "time": "2024-09-23T13:32:56+00:00" + "time": "2025-12-19T19:16:45+00:00" }, { "name": "league/commonmark", - "version": "2.5.3", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "b650144166dfa7703e62a22e493b853b58d874b0" + "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/b650144166dfa7703e62a22e493b853b58d874b0", - "reference": "b650144166dfa7703e62a22e493b853b58d874b0", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/4efa10c1e56488e658d10adf7b7b7dcd19940bfb", + "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb", "shasum": "" }, "require": { @@ -2501,10 +2328,11 @@ "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0 || ^7.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", + "symfony/finder": "^5.3 | ^6.0 | ^7.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", "unleashedtech/php-coding-standard": "^3.1.1", - "vimeo/psalm": "^4.24.0 || ^5.0.0" + "vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0" }, "suggest": { "symfony/yaml": "v2.3+ required if using the Front Matter extension" @@ -2512,7 +2340,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.6-dev" + "dev-main": "2.9-dev" } }, "autoload": { @@ -2569,7 +2397,7 @@ "type": "tidelift" } ], - "time": "2024-08-16T11:46:16+00:00" + "time": "2025-11-26T21:48:24+00:00" }, { "name": "league/config", @@ -2655,16 +2483,16 @@ }, { "name": "league/flysystem", - "version": "3.29.0", + "version": "3.31.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "0adc0d9a51852e170e0028a60bd271726626d3f0" + "reference": "1717e0b3642b0df65ecb0cc89cdd99fa840672ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/0adc0d9a51852e170e0028a60bd271726626d3f0", - "reference": "0adc0d9a51852e170e0028a60bd271726626d3f0", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/1717e0b3642b0df65ecb0cc89cdd99fa840672ff", + "reference": "1717e0b3642b0df65ecb0cc89cdd99fa840672ff", "shasum": "" }, "require": { @@ -2688,13 +2516,13 @@ "composer/semver": "^3.0", "ext-fileinfo": "*", "ext-ftp": "*", - "ext-mongodb": "^1.3", + "ext-mongodb": "^1.3|^2", "ext-zip": "*", "friendsofphp/php-cs-fixer": "^3.5", "google/cloud-storage": "^1.23", "guzzlehttp/psr7": "^2.6", "microsoft/azure-storage-blob": "^1.1", - "mongodb/mongodb": "^1.2", + "mongodb/mongodb": "^1.2|^2", "phpseclib/phpseclib": "^3.0.36", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.5.11|^10.0", @@ -2732,22 +2560,22 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.29.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.31.0" }, - "time": "2024-09-29T11:59:11+00:00" + "time": "2026-01-23T15:38:47+00:00" }, { "name": "league/flysystem-local", - "version": "3.29.0", + "version": "3.31.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "e0e8d52ce4b2ed154148453d321e97c8e931bd27" + "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/e0e8d52ce4b2ed154148453d321e97c8e931bd27", - "reference": "e0e8d52ce4b2ed154148453d321e97c8e931bd27", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/2f669db18a4c20c755c2bb7d3a7b0b2340488079", + "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079", "shasum": "" }, "require": { @@ -2781,9 +2609,9 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.29.0" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.31.0" }, - "time": "2024-08-09T21:24:39+00:00" + "time": "2026-01-23T15:30:45+00:00" }, { "name": "league/mime-type-detection", @@ -2843,16 +2671,16 @@ }, { "name": "league/oauth1-client", - "version": "v1.10.1", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/thephpleague/oauth1-client.git", - "reference": "d6365b901b5c287dd41f143033315e2f777e1167" + "reference": "f9c94b088837eb1aae1ad7c4f23eb65cc6993055" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/d6365b901b5c287dd41f143033315e2f777e1167", - "reference": "d6365b901b5c287dd41f143033315e2f777e1167", + "url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/f9c94b088837eb1aae1ad7c4f23eb65cc6993055", + "reference": "f9c94b088837eb1aae1ad7c4f23eb65cc6993055", "shasum": "" }, "require": { @@ -2913,180 +2741,9 @@ ], "support": { "issues": "https://github.com/thephpleague/oauth1-client/issues", - "source": "https://github.com/thephpleague/oauth1-client/tree/v1.10.1" + "source": "https://github.com/thephpleague/oauth1-client/tree/v1.11.0" }, - "time": "2022-04-15T14:02:14+00:00" - }, - { - "name": "league/uri", - "version": "6.8.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/uri.git", - "reference": "a700b4656e4c54371b799ac61e300ab25a2d1d39" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/a700b4656e4c54371b799ac61e300ab25a2d1d39", - "reference": "a700b4656e4c54371b799ac61e300ab25a2d1d39", - "shasum": "" - }, - "require": { - "ext-json": "*", - "league/uri-interfaces": "^2.3", - "php": "^8.1", - "psr/http-message": "^1.0.1" - }, - "conflict": { - "league/uri-schemes": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^v3.9.5", - "nyholm/psr7": "^1.5.1", - "php-http/psr7-integration-tests": "^1.1.1", - "phpbench/phpbench": "^1.2.6", - "phpstan/phpstan": "^1.8.5", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.1.1", - "phpstan/phpstan-strict-rules": "^1.4.3", - "phpunit/phpunit": "^9.5.24", - "psr/http-factory": "^1.0.1" - }, - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.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": "URI manipulation library", - "homepage": "https://uri.thephpleague.com", - "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" - ], - "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.8.0" - }, - "funding": [ - { - "url": "https://github.com/sponsors/nyamsprod", - "type": "github" - } - ], - "time": "2022-09-13T19:58:47+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": "2024-12-10T19:59:05+00:00" }, { "name": "livewire/livewire", @@ -3122,12 +2779,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Livewire\\LivewireServiceProvider" - ], "aliases": { "Livewire": "Livewire\\Livewire" - } + }, + "providers": [ + "Livewire\\LivewireServiceProvider" + ] } }, "autoload": { @@ -3163,16 +2820,16 @@ }, { "name": "monolog/monolog", - "version": "2.9.3", + "version": "2.11.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215" + "reference": "37308608e599f34a1a4845b16440047ec98a172a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/a30bfe2e142720dfa990d0a7e573997f5d884215", - "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/37308608e599f34a1a4845b16440047ec98a172a", + "reference": "37308608e599f34a1a4845b16440047ec98a172a", "shasum": "" }, "require": { @@ -3190,7 +2847,7 @@ "graylog2/gelf-php": "^1.4.2 || ^2@dev", "guzzlehttp/guzzle": "^7.4", "guzzlehttp/psr7": "^2.2", - "mongodb/mongodb": "^1.8", + "mongodb/mongodb": "^1.8 || ^2.0", "php-amqplib/php-amqplib": "~2.4 || ^3", "phpspec/prophecy": "^1.15", "phpstan/phpstan": "^1.10", @@ -3249,7 +2906,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.9.3" + "source": "https://github.com/Seldaek/monolog/tree/2.11.0" }, "funding": [ { @@ -3261,20 +2918,20 @@ "type": "tidelift" } ], - "time": "2024-04-12T20:52:51+00:00" + "time": "2026-01-01T13:05:00+00:00" }, { "name": "nesbot/carbon", - "version": "2.72.5", + "version": "2.73.0", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed" + "url": "https://github.com/CarbonPHP/carbon.git", + "reference": "9228ce90e1035ff2f0db84b40ec2e023ed802075" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/9228ce90e1035ff2f0db84b40ec2e023ed802075", + "reference": "9228ce90e1035ff2f0db84b40ec2e023ed802075", "shasum": "" }, "require": { @@ -3294,7 +2951,7 @@ "doctrine/orm": "^2.7 || ^3.0", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "*", + "ondrejmirtes/better-reflection": "<6", "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^0.12.99 || ^1.7.14", @@ -3307,10 +2964,6 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-master": "3.x-dev", - "dev-2.x": "2.x-dev" - }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" @@ -3320,6 +2973,10 @@ "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-master": "3.x-dev" } }, "autoload": { @@ -3368,29 +3025,29 @@ "type": "tidelift" } ], - "time": "2024-06-03T19:18:41+00:00" + "time": "2025-01-08T20:10:23+00:00" }, { "name": "nette/schema", - "version": "v1.3.2", + "version": "v1.3.3", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "da801d52f0354f70a638673c4a0f04e16529431d" + "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d", - "reference": "da801d52f0354f70a638673c4a0f04e16529431d", + "url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004", + "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004", "shasum": "" }, "require": { "nette/utils": "^4.0", - "php": "8.1 - 8.4" + "php": "8.1 - 8.5" }, "require-dev": { "nette/tester": "^2.5.2", - "phpstan/phpstan-nette": "^1.0", + "phpstan/phpstan-nette": "^2.0@stable", "tracy/tracy": "^2.8" }, "type": "library", @@ -3400,6 +3057,9 @@ } }, "autoload": { + "psr-4": { + "Nette\\": "src" + }, "classmap": [ "src/" ] @@ -3428,35 +3088,35 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.3.2" + "source": "https://github.com/nette/schema/tree/v1.3.3" }, - "time": "2024-10-06T23:10:23+00:00" + "time": "2025-10-30T22:57:59+00:00" }, { "name": "nette/utils", - "version": "v4.0.5", + "version": "v4.1.1", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96" + "reference": "c99059c0315591f1a0db7ad6002000288ab8dc72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/736c567e257dbe0fcf6ce81b4d6dbe05c6899f96", - "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96", + "url": "https://api.github.com/repos/nette/utils/zipball/c99059c0315591f1a0db7ad6002000288ab8dc72", + "reference": "c99059c0315591f1a0db7ad6002000288ab8dc72", "shasum": "" }, "require": { - "php": "8.0 - 8.4" + "php": "8.2 - 8.5" }, "conflict": { "nette/finder": "<3", "nette/schema": "<1.2.2" }, "require-dev": { - "jetbrains/phpstorm-attributes": "dev-master", + "jetbrains/phpstorm-attributes": "^1.2", "nette/tester": "^2.5", - "phpstan/phpstan": "^1.0", + "phpstan/phpstan-nette": "^2.0@stable", "tracy/tracy": "^2.9" }, "suggest": { @@ -3470,10 +3130,13 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "4.1-dev" } }, "autoload": { + "psr-4": { + "Nette\\": "src" + }, "classmap": [ "src/" ] @@ -3514,22 +3177,22 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.5" + "source": "https://github.com/nette/utils/tree/v4.1.1" }, - "time": "2024-08-07T15:39:19+00:00" + "time": "2025-12-22T12:14:32+00:00" }, { "name": "nikic/php-parser", - "version": "v5.3.0", + "version": "v5.7.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "3abf7425cd284141dc5d8d14a9ee444de3345d1a" + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3abf7425cd284141dc5d8d14a9ee444de3345d1a", - "reference": "3abf7425cd284141dc5d8d14a9ee444de3345d1a", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", "shasum": "" }, "require": { @@ -3548,7 +3211,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-master": "5.x-dev" } }, "autoload": { @@ -3572,39 +3235,38 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" }, - "time": "2024-09-29T13:56:26+00:00" + "time": "2025-12-06T11:56:16+00:00" }, { "name": "nunomaduro/termwind", - "version": "v1.15.1", + "version": "v1.17.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" + "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301", + "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^8.0", - "symfony/console": "^5.3.0|^6.0.0" + "php": "^8.1", + "symfony/console": "^6.4.15" }, "require-dev": { - "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", + "illuminate/console": "^10.48.24", + "illuminate/support": "^10.48.24", + "laravel/pint": "^1.18.2", + "pestphp/pest": "^2.36.0", + "pestphp/pest-plugin-mock": "2.0.0", + "phpstan/phpstan": "^1.12.11", + "phpstan/phpstan-strict-rules": "^1.6.1", + "symfony/var-dumper": "^6.4.15", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -3644,7 +3306,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" + "source": "https://github.com/nunomaduro/termwind/tree/v1.17.0" }, "funding": [ { @@ -3660,28 +3322,30 @@ "type": "github" } ], - "time": "2023-02-08T01:06:31+00:00" + "time": "2024-11-21T10:36:35+00:00" }, { "name": "paragonie/constant_time_encoding", - "version": "v3.0.0", + "version": "v3.1.3", "source": { "type": "git", "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "df1e7fde177501eee2037dd159cf04f5f301a512" + "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512", - "reference": "df1e7fde177501eee2037dd159cf04f5f301a512", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77", + "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77", "shasum": "" }, "require": { "php": "^8" }, "require-dev": { - "phpunit/phpunit": "^9", - "vimeo/psalm": "^4|^5" + "infection/infection": "^0", + "nikic/php-fuzzer": "^0", + "phpunit/phpunit": "^9|^10|^11", + "vimeo/psalm": "^4|^5|^6" }, "type": "library", "autoload": { @@ -3727,7 +3391,7 @@ "issues": "https://github.com/paragonie/constant_time_encoding/issues", "source": "https://github.com/paragonie/constant_time_encoding" }, - "time": "2024-05-08T12:36:18+00:00" + "time": "2025-09-24T15:06:41+00:00" }, { "name": "paragonie/random_compat", @@ -3781,16 +3445,16 @@ }, { "name": "phpoption/phpoption", - "version": "1.9.3", + "version": "1.9.5", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54" + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54", - "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/75365b91986c2405cf5e1e012c5595cd487a98be", + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be", "shasum": "" }, "require": { @@ -3798,7 +3462,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" + "phpunit/phpunit": "^8.5.44 || ^9.6.25 || ^10.5.53 || ^11.5.34" }, "type": "library", "extra": { @@ -3840,7 +3504,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.3" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.5" }, "funding": [ { @@ -3852,20 +3516,20 @@ "type": "tidelift" } ], - "time": "2024-07-20T21:41:07+00:00" + "time": "2025-12-27T19:41:33+00:00" }, { "name": "phpseclib/phpseclib", - "version": "3.0.42", + "version": "3.0.48", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "db92f1b1987b12b13f248fe76c3a52cadb67bb98" + "reference": "64065a5679c50acb886e82c07aa139b0f757bb89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/db92f1b1987b12b13f248fe76c3a52cadb67bb98", - "reference": "db92f1b1987b12b13f248fe76c3a52cadb67bb98", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/64065a5679c50acb886e82c07aa139b0f757bb89", + "reference": "64065a5679c50acb886e82c07aa139b0f757bb89", "shasum": "" }, "require": { @@ -3946,7 +3610,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.42" + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.48" }, "funding": [ { @@ -3962,165 +3626,7 @@ "type": "tidelift" } ], - "time": "2024-09-16T03:06:04+00:00" - }, - { - "name": "phpstan/extension-installer", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/phpstan/extension-installer.git", - "reference": "85e90b3942d06b2326fba0403ec24fe912372936" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936", - "reference": "85e90b3942d06b2326fba0403ec24fe912372936", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^2.0", - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.9.0 || ^2.0" - }, - "require-dev": { - "composer/composer": "^2.0", - "php-parallel-lint/php-parallel-lint": "^1.2.0", - "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0" - }, - "type": "composer-plugin", - "extra": { - "class": "PHPStan\\ExtensionInstaller\\Plugin" - }, - "autoload": { - "psr-4": { - "PHPStan\\ExtensionInstaller\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Composer plugin for automatic installation of PHPStan extensions", - "keywords": [ - "dev", - "static analysis" - ], - "support": { - "issues": "https://github.com/phpstan/extension-installer/issues", - "source": "https://github.com/phpstan/extension-installer/tree/1.4.3" - }, - "time": "2024-09-04T20:21:43+00:00" - }, - { - "name": "phpstan/phpstan", - "version": "1.12.6", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan.git", - "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc4d2f145a88ea7141ae698effd64d9df46527ae", - "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0" - }, - "conflict": { - "phpstan/phpstan-shim": "*" - }, - "bin": [ - "phpstan", - "phpstan.phar" - ], - "type": "library", - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPStan - PHP Static Analysis Tool", - "keywords": [ - "dev", - "static analysis" - ], - "support": { - "docs": "https://phpstan.org/user-guide/getting-started", - "forum": "https://github.com/phpstan/phpstan/discussions", - "issues": "https://github.com/phpstan/phpstan/issues", - "security": "https://github.com/phpstan/phpstan/security/policy", - "source": "https://github.com/phpstan/phpstan-src" - }, - "funding": [ - { - "url": "https://github.com/ondrejmirtes", - "type": "github" - }, - { - "url": "https://github.com/phpstan", - "type": "github" - } - ], - "time": "2024-10-06T15:03:59+00:00" - }, - { - "name": "phpstan/phpstan-phpunit", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "f3ea021866f4263f07ca3636bf22c64be9610c11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/f3ea021866f4263f07ca3636bf22c64be9610c11", - "reference": "f3ea021866f4263f07ca3636bf22c64be9610c11", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.11" - }, - "conflict": { - "phpunit/phpunit": "<7.0" - }, - "require-dev": { - "nikic/php-parser": "^4.13.0", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-strict-rules": "^1.5.1", - "phpunit/phpunit": "^9.5" - }, - "type": "phpstan-extension", - "extra": { - "phpstan": { - "includes": [ - "extension.neon", - "rules.neon" - ] - } - }, - "autoload": { - "psr-4": { - "PHPStan\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "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.4.0" - }, - "time": "2024-04-20T06:39:00+00:00" + "time": "2025-12-15T11:51:42+00:00" }, { "name": "psr/cache", @@ -4431,16 +3937,16 @@ }, { "name": "psr/http-message", - "version": "1.1", + "version": "2.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-message.git", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", "shasum": "" }, "require": { @@ -4449,7 +3955,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -4464,7 +3970,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for HTTP messages", @@ -4478,9 +3984,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-message/tree/1.1" + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "time": "2023-04-04T09:50:52+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { "name": "psr/log", @@ -4585,16 +4091,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.4", + "version": "v0.12.18", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "2fd717afa05341b4f8152547f142cd2f130f6818" + "reference": "ddff0ac01beddc251786fe70367cd8bbdb258196" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2fd717afa05341b4f8152547f142cd2f130f6818", - "reference": "2fd717afa05341b4f8152547f142cd2f130f6818", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/ddff0ac01beddc251786fe70367cd8bbdb258196", + "reference": "ddff0ac01beddc251786fe70367cd8bbdb258196", "shasum": "" }, "require": { @@ -4602,18 +4108,19 @@ "ext-tokenizer": "*", "nikic/php-parser": "^5.0 || ^4.0", "php": "^8.0 || ^7.4", - "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", - "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" + "symfony/console": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" }, "conflict": { "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.2" + "bamarni/composer-bin-plugin": "^1.2", + "composer/class-map-generator": "^1.6" }, "suggest": { + "composer/class-map-generator": "Improved tab completion performance with better class discovery.", "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." }, "bin": [ @@ -4621,12 +4128,12 @@ ], "type": "library", "extra": { - "branch-alias": { - "dev-main": "0.12.x-dev" - }, "bamarni-bin": { "bin-links": false, "forward-command": false + }, + "branch-alias": { + "dev-main": "0.12.x-dev" } }, "autoload": { @@ -4644,12 +4151,11 @@ "authors": [ { "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com" + "email": "justin@justinhileman.info" } ], "description": "An interactive shell for modern PHP.", - "homepage": "http://psysh.org", + "homepage": "https://psysh.org", "keywords": [ "REPL", "console", @@ -4658,9 +4164,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.4" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.18" }, - "time": "2024-06-10T01:18:23+00:00" + "time": "2025-12-17T14:35:46+00:00" }, { "name": "ralouphie/getallheaders", @@ -4708,16 +4214,16 @@ }, { "name": "ramsey/collection", - "version": "2.0.0", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", "shasum": "" }, "require": { @@ -4725,25 +4231,22 @@ }, "require-dev": { "captainhook/plugin-composer": "^5.3", - "ergebnis/composer-normalize": "^2.28.3", - "fakerphp/faker": "^1.21", + "ergebnis/composer-normalize": "^2.45", + "fakerphp/faker": "^1.24", "hamcrest/hamcrest-php": "^2.0", - "jangregor/phpstan-prophecy": "^1.0", - "mockery/mockery": "^1.5", + "jangregor/phpstan-prophecy": "^2.1", + "mockery/mockery": "^1.6", "php-parallel-lint/php-console-highlighter": "^1.0", - "php-parallel-lint/php-parallel-lint": "^1.3", - "phpcsstandards/phpcsutils": "^1.0.0-rc1", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5", - "psalm/plugin-mockery": "^1.1", - "psalm/plugin-phpunit": "^0.18.4", - "ramsey/coding-standard": "^2.0.3", - "ramsey/conventional-commits": "^1.3", - "vimeo/psalm": "^5.4" + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpspec/prophecy-phpunit": "^2.3", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5", + "ramsey/coding-standard": "^2.3", + "ramsey/conventional-commits": "^1.6", + "roave/security-advisories": "dev-latest" }, "type": "library", "extra": { @@ -4781,37 +4284,26 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.0.0" + "source": "https://github.com/ramsey/collection/tree/2.1.1" }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2022-12-31T21:50:55+00:00" + "time": "2025-03-22T05:38:12+00:00" }, { "name": "ramsey/uuid", - "version": "4.7.6", + "version": "4.9.2", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088" + "reference": "8429c78ca35a09f27565311b98101e2826affde0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0", + "reference": "8429c78ca35a09f27565311b98101e2826affde0", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", - "ext-json": "*", + "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" }, @@ -4819,26 +4311,23 @@ "rhumsaa/uuid": "self.version" }, "require-dev": { - "captainhook/captainhook": "^5.10", + "captainhook/captainhook": "^5.25", "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.8", - "ergebnis/composer-normalize": "^2.15", - "mockery/mockery": "^1.3", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "ergebnis/composer-normalize": "^2.47", + "mockery/mockery": "^1.6", "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.2", - "php-mock/php-mock-mockery": "^1.3", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5 || ^9", - "ramsey/composer-repl": "^1.4", - "slevomat/coding-standard": "^8.4", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.9" + "php-mock/php-mock": "^2.6", + "php-mock/php-mock-mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6", + "slevomat/coding-standard": "^8.18", + "squizlabs/php_codesniffer": "^3.13" }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", @@ -4873,19 +4362,9 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.7.6" + "source": "https://github.com/ramsey/uuid/tree/4.9.2" }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "type": "tidelift" - } - ], - "time": "2024-04-27T21:32:50+00:00" + "time": "2025-12-14T04:43:48+00:00" }, { "name": "rappasoft/laravel-livewire-tables", @@ -4989,12 +4468,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "SimpleSoftwareIO\\QrCode\\QrCodeServiceProvider" - ], "aliases": { "QrCode": "SimpleSoftwareIO\\QrCode\\Facades\\QrCode" - } + }, + "providers": [ + "SimpleSoftwareIO\\QrCode\\QrCodeServiceProvider" + ] } }, "autoload": { @@ -5029,21 +4508,21 @@ }, { "name": "spatie/db-dumper", - "version": "3.7.0", + "version": "3.8.3", "source": { "type": "git", "url": "https://github.com/spatie/db-dumper.git", - "reference": "22553ab8c34a9bb70645cb9bc2d9f236f3135705" + "reference": "eac3221fbe27fac51f388600d27b67b1b079406e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/db-dumper/zipball/22553ab8c34a9bb70645cb9bc2d9f236f3135705", - "reference": "22553ab8c34a9bb70645cb9bc2d9f236f3135705", + "url": "https://api.github.com/repos/spatie/db-dumper/zipball/eac3221fbe27fac51f388600d27b67b1b079406e", + "reference": "eac3221fbe27fac51f388600d27b67b1b079406e", "shasum": "" }, "require": { "php": "^8.0", - "symfony/process": "^5.0|^6.0|^7.0" + "symfony/process": "^5.0|^6.0|^7.0|^8.0" }, "require-dev": { "pestphp/pest": "^1.22" @@ -5076,7 +4555,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/db-dumper/tree/3.7.0" + "source": "https://github.com/spatie/db-dumper/tree/3.8.3" }, "funding": [ { @@ -5088,7 +4567,7 @@ "type": "github" } ], - "time": "2024-09-23T08:58:35+00:00" + "time": "2026-01-05T16:26:03+00:00" }, { "name": "spatie/laravel-backup", @@ -5191,28 +4670,29 @@ }, { "name": "spatie/laravel-package-tools", - "version": "1.16.5", + "version": "1.92.7", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2" + "reference": "f09a799850b1ed765103a4f0b4355006360c49a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/c7413972cf22ffdff97b68499c22baa04eddb6a2", - "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/f09a799850b1ed765103a4f0b4355006360c49a5", + "reference": "f09a799850b1ed765103a4f0b4355006360c49a5", "shasum": "" }, "require": { - "illuminate/contracts": "^9.28|^10.0|^11.0", + "illuminate/contracts": "^9.28|^10.0|^11.0|^12.0", "php": "^8.0" }, "require-dev": { "mockery/mockery": "^1.5", - "orchestra/testbench": "^7.7|^8.0", - "pestphp/pest": "^1.22", - "phpunit/phpunit": "^9.5.24", - "spatie/pest-plugin-test-time": "^1.1" + "orchestra/testbench": "^7.7|^8.0|^9.0|^10.0", + "pestphp/pest": "^1.23|^2.1|^3.1", + "phpunit/php-code-coverage": "^9.0|^10.0|^11.0", + "phpunit/phpunit": "^9.5.24|^10.5|^11.5", + "spatie/pest-plugin-test-time": "^1.1|^2.2" }, "type": "library", "autoload": { @@ -5239,7 +4719,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.5" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.92.7" }, "funding": [ { @@ -5247,31 +4727,31 @@ "type": "github" } ], - "time": "2024-08-27T18:56:10+00:00" + "time": "2025-07-17T15:46:43+00:00" }, { "name": "spatie/laravel-referer", - "version": "1.9.0", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-referer.git", - "reference": "127ad9752f7bca860291ce38873d0985bd831b7c" + "reference": "0f37bc6509483ae0f729a6f97ac96f1f8f009c72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-referer/zipball/127ad9752f7bca860291ce38873d0985bd831b7c", - "reference": "127ad9752f7bca860291ce38873d0985bd831b7c", + "url": "https://api.github.com/repos/spatie/laravel-referer/zipball/0f37bc6509483ae0f729a6f97ac96f1f8f009c72", + "reference": "0f37bc6509483ae0f729a6f97ac96f1f8f009c72", "shasum": "" }, "require": { - "illuminate/contracts": "^8.73|^9.0|^10.0|^11.0", - "illuminate/http": "^8.73|^9.0|^10.0|^11.0", - "illuminate/support": "^8.73|^9.0|^10.0|^11.0", + "illuminate/contracts": "^8.73|^9.0|^10.0|^11.0|^12.0", + "illuminate/http": "^8.73|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^8.73|^9.0|^10.0|^11.0|^12.0", "php": "^7.4|^8.0" }, "require-dev": { - "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0", - "phpunit/phpunit": "^9.5|^10.5" + "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0|^10.0", + "phpunit/phpunit": "^9.5|^10.5|^11.5.3" }, "type": "library", "extra": { @@ -5306,7 +4786,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-referer/issues", - "source": "https://github.com/spatie/laravel-referer/tree/1.9.0" + "source": "https://github.com/spatie/laravel-referer/tree/1.9.1" }, "funding": [ { @@ -5318,7 +4798,7 @@ "type": "github" } ], - "time": "2024-04-08T07:56:33+00:00" + "time": "2025-02-20T13:41:02+00:00" }, { "name": "spatie/laravel-signal-aware-command", @@ -5351,12 +4831,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Spatie\\SignalAwareCommand\\SignalAwareCommandServiceProvider" - ], "aliases": { "Signal": "Spatie\\SignalAwareCommand\\Facades\\Signal" - } + }, + "providers": [ + "Spatie\\SignalAwareCommand\\SignalAwareCommandServiceProvider" + ] } }, "autoload": { @@ -5396,16 +4876,16 @@ }, { "name": "spatie/temporary-directory", - "version": "2.2.1", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/spatie/temporary-directory.git", - "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a" + "reference": "662e481d6ec07ef29fd05010433428851a42cd07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", - "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", + "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/662e481d6ec07ef29fd05010433428851a42cd07", + "reference": "662e481d6ec07ef29fd05010433428851a42cd07", "shasum": "" }, "require": { @@ -5441,7 +4921,7 @@ ], "support": { "issues": "https://github.com/spatie/temporary-directory/issues", - "source": "https://github.com/spatie/temporary-directory/tree/2.2.1" + "source": "https://github.com/spatie/temporary-directory/tree/2.3.1" }, "funding": [ { @@ -5453,20 +4933,20 @@ "type": "github" } ], - "time": "2023-12-25T11:46:58+00:00" + "time": "2026-01-12T07:42:22+00:00" }, { "name": "symfony/console", - "version": "v6.4.12", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765" + "reference": "0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/72d080eb9edf80e36c19be61f72c98ed8273b765", - "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765", + "url": "https://api.github.com/repos/symfony/console/zipball/0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3", + "reference": "0bc2199c6c1f05276b05956f1ddc63f6d7eb5fc3", "shasum": "" }, "require": { @@ -5531,7 +5011,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.12" + "source": "https://github.com/symfony/console/tree/v6.4.32" }, "funding": [ { @@ -5542,25 +5022,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-20T08:15:52+00:00" + "time": "2026-01-13T08:45:59+00:00" }, { "name": "symfony/css-selector", - "version": "v7.1.1", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4" + "reference": "ab862f478513e7ca2fe9ec117a6f01a8da6e1135" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4", - "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/ab862f478513e7ca2fe9ec117a6f01a8da6e1135", + "reference": "ab862f478513e7ca2fe9ec117a6f01a8da6e1135", "shasum": "" }, "require": { @@ -5596,7 +5080,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.1.1" + "source": "https://github.com/symfony/css-selector/tree/v7.4.0" }, "funding": [ { @@ -5607,25 +5091,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2025-10-30T13:39:42+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { @@ -5633,12 +5121,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -5663,7 +5151,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -5679,20 +5167,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.10", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "231f1b2ee80f72daa1972f7340297d67439224f0" + "reference": "8c18400784fcb014dc73c8d5601a9576af7f8ad4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0", - "reference": "231f1b2ee80f72daa1972f7340297d67439224f0", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/8c18400784fcb014dc73c8d5601a9576af7f8ad4", + "reference": "8c18400784fcb014dc73c8d5601a9576af7f8ad4", "shasum": "" }, "require": { @@ -5738,7 +5226,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/v6.4.10" + "source": "https://github.com/symfony/error-handler/tree/v6.4.32" }, "funding": [ { @@ -5749,25 +5237,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2026-01-19T19:28:19+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.1.1", + "version": "v7.4.4", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7" + "reference": "dc2c0eba1af673e736bb851d747d266108aea746" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", - "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dc2c0eba1af673e736bb851d747d266108aea746", + "reference": "dc2c0eba1af673e736bb851d747d266108aea746", "shasum": "" }, "require": { @@ -5784,13 +5276,14 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/error-handler": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/error-handler": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/framework-bundle": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0" + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -5818,7 +5311,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/v7.1.1" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.4" }, "funding": [ { @@ -5829,25 +5322,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2026-01-05T11:45:34+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", "shasum": "" }, "require": { @@ -5856,12 +5353,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -5894,7 +5391,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" }, "funding": [ { @@ -5910,20 +5407,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/finder", - "version": "v6.4.11", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453" + "reference": "3ec24885c1d9ababbb9c8f63bb42fea3c8c9b6de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d7eb6daf8cd7e9ac4976e9576b32042ef7253453", - "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453", + "url": "https://api.github.com/repos/symfony/finder/zipball/3ec24885c1d9ababbb9c8f63bb42fea3c8c9b6de", + "reference": "3ec24885c1d9ababbb9c8f63bb42fea3c8c9b6de", "shasum": "" }, "require": { @@ -5958,7 +5455,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.11" + "source": "https://github.com/symfony/finder/tree/v6.4.32" }, "funding": [ { @@ -5969,32 +5466,36 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-08-13T14:27:37+00:00" + "time": "2026-01-10T14:09:00+00:00" }, { "name": "symfony/http-client", - "version": "v5.4.44", + "version": "v5.4.49", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "58d3dc6bfa5fb37137e32d52ddc202ba4d1cea04" + "reference": "d77d8e212cde7b5c4a64142bf431522f19487c28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/58d3dc6bfa5fb37137e32d52ddc202ba4d1cea04", - "reference": "58d3dc6bfa5fb37137e32d52ddc202ba4d1cea04", + "url": "https://api.github.com/repos/symfony/http-client/zipball/d77d8e212cde7b5c4a64142bf431522f19487c28", + "reference": "d77d8e212cde7b5c4a64142bf431522f19487c28", "shasum": "" }, "require": { "php": ">=7.2.5", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-client-contracts": "^2.5.3", + "symfony/http-client-contracts": "^2.5.4", "symfony/polyfill-php73": "^1.11", "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.0|^2|^3" @@ -6049,7 +5550,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v5.4.44" + "source": "https://github.com/symfony/http-client/tree/v5.4.49" }, "funding": [ { @@ -6065,20 +5566,20 @@ "type": "tidelift" } ], - "time": "2024-09-16T14:04:28+00:00" + "time": "2024-11-28T08:37:04+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v2.5.3", + "version": "v2.5.5", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1" + "reference": "48ef1d0a082885877b664332b9427662065a360c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1", - "reference": "e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/48ef1d0a082885877b664332b9427662065a360c", + "reference": "48ef1d0a082885877b664332b9427662065a360c", "shasum": "" }, "require": { @@ -6089,12 +5590,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -6127,7 +5628,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.3" + "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.5" }, "funding": [ { @@ -6143,20 +5644,20 @@ "type": "tidelift" } ], - "time": "2024-03-26T19:42:53+00:00" + "time": "2024-11-28T08:37:04+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.12", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "133ac043875f59c26c55e79cf074562127cce4d2" + "reference": "a7c652d0d0a6be8fbf9dead2e36f31e46c482adf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/133ac043875f59c26c55e79cf074562127cce4d2", - "reference": "133ac043875f59c26c55e79cf074562127cce4d2", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a7c652d0d0a6be8fbf9dead2e36f31e46c482adf", + "reference": "a7c652d0d0a6be8fbf9dead2e36f31e46c482adf", "shasum": "" }, "require": { @@ -6166,12 +5667,12 @@ "symfony/polyfill-php83": "^1.27" }, "conflict": { - "symfony/cache": "<6.3" + "symfony/cache": "<6.4.12|>=7.0,<7.1.5" }, "require-dev": { "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.3|^7.0", + "symfony/cache": "^6.4.12|^7.1.5", "symfony/dependency-injection": "^5.4|^6.0|^7.0", "symfony/expression-language": "^5.4|^6.0|^7.0", "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", @@ -6204,7 +5705,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.12" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.32" }, "funding": [ { @@ -6215,25 +5716,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-20T08:18:25+00:00" + "time": "2026-01-09T09:10:39+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.12", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "96df83d51b5f78804f70c093b97310794fd6257b" + "reference": "e40d93fce00d928a553ba0f323da4b3f8506f858" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/96df83d51b5f78804f70c093b97310794fd6257b", - "reference": "96df83d51b5f78804f70c093b97310794fd6257b", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e40d93fce00d928a553ba0f323da4b3f8506f858", + "reference": "e40d93fce00d928a553ba0f323da4b3f8506f858", "shasum": "" }, "require": { @@ -6318,7 +5823,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/v6.4.12" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.32" }, "funding": [ { @@ -6329,25 +5834,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-21T06:02:57+00:00" + "time": "2026-01-24T16:04:03+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.12", + "version": "v6.4.31", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26" + "reference": "8835f93333474780fda1b987cae37e33c3e026ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/b6a25408c569ae2366b3f663a4edad19420a9c26", - "reference": "b6a25408c569ae2366b3f663a4edad19420a9c26", + "url": "https://api.github.com/repos/symfony/mailer/zipball/8835f93333474780fda1b987cae37e33c3e026ca", + "reference": "8835f93333474780fda1b987cae37e33c3e026ca", "shasum": "" }, "require": { @@ -6398,7 +5907,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.12" + "source": "https://github.com/symfony/mailer/tree/v6.4.31" }, "funding": [ { @@ -6409,25 +5918,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-08T12:30:05+00:00" + "time": "2025-12-12T07:33:25+00:00" }, { "name": "symfony/mime", - "version": "v6.4.12", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "abe16ee7790b16aa525877419deb0f113953f0e1" + "reference": "7409686879ca36c09fc970a5fa8ff6e93504dba4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/abe16ee7790b16aa525877419deb0f113953f0e1", - "reference": "abe16ee7790b16aa525877419deb0f113953f0e1", + "url": "https://api.github.com/repos/symfony/mime/zipball/7409686879ca36c09fc970a5fa8ff6e93504dba4", + "reference": "7409686879ca36c09fc970a5fa8ff6e93504dba4", "shasum": "" }, "require": { @@ -6483,7 +5996,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.12" + "source": "https://github.com/symfony/mime/tree/v6.4.32" }, "funding": [ { @@ -6494,16 +6007,20 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-20T08:18:25+00:00" + "time": "2026-01-04T11:53:14+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -6527,8 +6044,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -6562,7 +6079,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" }, "funding": [ { @@ -6573,6 +6090,10 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" @@ -6582,16 +6103,16 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", - "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", "shasum": "" }, "require": { @@ -6603,8 +6124,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -6640,7 +6161,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" }, "funding": [ { @@ -6651,25 +6172,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2025-06-27T09:58:17+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", "shasum": "" }, "require": { @@ -6682,8 +6207,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -6723,7 +6248,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.33.0" }, "funding": [ { @@ -6734,16 +6259,20 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-09-10T14:38:51+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -6764,8 +6293,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -6804,7 +6333,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" }, "funding": [ { @@ -6815,6 +6344,10 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" @@ -6824,19 +6357,20 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { + "ext-iconv": "*", "php": ">=7.2" }, "provide": { @@ -6848,8 +6382,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -6884,7 +6418,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" }, "funding": [ { @@ -6895,16 +6429,20 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", @@ -6922,8 +6460,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -6960,7 +6498,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.33.0" }, "funding": [ { @@ -6971,6 +6509,10 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" @@ -6980,16 +6522,16 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", "shasum": "" }, "require": { @@ -6998,8 +6540,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -7040,7 +6582,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0" }, "funding": [ { @@ -7051,25 +6593,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2025-01-02T08:10:11+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491" + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491", - "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", "shasum": "" }, "require": { @@ -7078,8 +6624,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -7116,7 +6662,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" }, "funding": [ { @@ -7127,16 +6673,20 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2025-07-08T02:45:35+00:00" }, { "name": "symfony/polyfill-uuid", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", @@ -7160,8 +6710,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -7195,7 +6745,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.33.0" }, "funding": [ { @@ -7206,6 +6756,10 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" @@ -7215,16 +6769,16 @@ }, { "name": "symfony/process", - "version": "v6.4.12", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3" + "reference": "c593135be689b21e6164b1e8f6f5dbf1506b065c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/3f94e5f13ff58df371a7ead461b6e8068900fbb3", - "reference": "3f94e5f13ff58df371a7ead461b6e8068900fbb3", + "url": "https://api.github.com/repos/symfony/process/zipball/c593135be689b21e6164b1e8f6f5dbf1506b065c", + "reference": "c593135be689b21e6164b1e8f6f5dbf1506b065c", "shasum": "" }, "require": { @@ -7256,7 +6810,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.12" + "source": "https://github.com/symfony/process/tree/v6.4.32" }, "funding": [ { @@ -7267,25 +6821,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-17T12:47:12+00:00" + "time": "2026-01-15T13:23:20+00:00" }, { "name": "symfony/routing", - "version": "v6.4.12", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f" + "reference": "0dc6253e864e71b486e8ba4970a56ab849106ebe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/a7c8036bd159486228dc9be3e846a00a0dda9f9f", - "reference": "a7c8036bd159486228dc9be3e846a00a0dda9f9f", + "url": "https://api.github.com/repos/symfony/routing/zipball/0dc6253e864e71b486e8ba4970a56ab849106ebe", + "reference": "0dc6253e864e71b486e8ba4970a56ab849106ebe", "shasum": "" }, "require": { @@ -7339,7 +6897,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.12" + "source": "https://github.com/symfony/routing/tree/v6.4.32" }, "funding": [ { @@ -7350,25 +6908,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-20T08:32:26+00:00" + "time": "2026-01-12T08:31:19+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.5.0", + "version": "v3.6.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", "shasum": "" }, "require": { @@ -7381,12 +6943,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -7422,7 +6984,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" }, "funding": [ { @@ -7433,31 +6995,36 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2025-07-15T11:30:57+00:00" }, { "name": "symfony/string", - "version": "v7.1.5", + "version": "v7.4.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "d66f9c343fa894ec2037cc928381df90a7ad4306" + "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/d66f9c343fa894ec2037cc928381df90a7ad4306", - "reference": "d66f9c343fa894ec2037cc928381df90a7ad4306", + "url": "https://api.github.com/repos/symfony/string/zipball/1c4b10461bf2ec27537b5f36105337262f5f5d6f", + "reference": "1c4b10461bf2ec27537b5f36105337262f5f5d6f", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-grapheme": "~1.33", "symfony/polyfill-intl-normalizer": "~1.0", "symfony/polyfill-mbstring": "~1.0" }, @@ -7465,12 +7032,11 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/emoji": "^7.1", - "symfony/error-handler": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", + "symfony/emoji": "^7.1|^8.0", + "symfony/http-client": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -7509,7 +7075,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.5" + "source": "https://github.com/symfony/string/tree/v7.4.4" }, "funding": [ { @@ -7520,25 +7086,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-20T08:28:38+00:00" + "time": "2026-01-12T10:54:30+00:00" }, { "name": "symfony/translation", - "version": "v6.4.12", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "cf8360b8352b086be620fae8342c4d96e391a489" + "reference": "d6cc8e2fdd484f2f41d25938b0e8e3915de3cfbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/cf8360b8352b086be620fae8342c4d96e391a489", - "reference": "cf8360b8352b086be620fae8342c4d96e391a489", + "url": "https://api.github.com/repos/symfony/translation/zipball/d6cc8e2fdd484f2f41d25938b0e8e3915de3cfbc", + "reference": "d6cc8e2fdd484f2f41d25938b0e8e3915de3cfbc", "shasum": "" }, "require": { @@ -7604,7 +7174,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.12" + "source": "https://github.com/symfony/translation/tree/v6.4.32" }, "funding": [ { @@ -7615,25 +7185,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-16T06:02:54+00:00" + "time": "2026-01-12T19:15:33+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.5.0", + "version": "v3.6.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" + "reference": "65a8bc82080447fae78373aa10f8d13b38338977" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977", "shasum": "" }, "require": { @@ -7641,12 +7215,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -7682,7 +7256,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1" }, "funding": [ { @@ -7693,25 +7267,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2025-07-15T13:41:35+00:00" }, { "name": "symfony/uid", - "version": "v6.4.12", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d" + "reference": "6b973c385f00341b246f697d82dc01a09107acdd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d", - "reference": "2f16054e0a9b194b8ca581d4a64eee3f7d4a9d4d", + "url": "https://api.github.com/repos/symfony/uid/zipball/6b973c385f00341b246f697d82dc01a09107acdd", + "reference": "6b973c385f00341b246f697d82dc01a09107acdd", "shasum": "" }, "require": { @@ -7756,7 +7334,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.12" + "source": "https://github.com/symfony/uid/tree/v6.4.32" }, "funding": [ { @@ -7767,25 +7345,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-20T08:32:26+00:00" + "time": "2025-12-23T15:07:59+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.11", + "version": "v6.4.32", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "ee14c8254a480913268b1e3b1cba8045ed122694" + "reference": "131fc9915e0343052af5ed5040401b481ca192aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694", - "reference": "ee14c8254a480913268b1e3b1cba8045ed122694", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/131fc9915e0343052af5ed5040401b481ca192aa", + "reference": "131fc9915e0343052af5ed5040401b481ca192aa", "shasum": "" }, "require": { @@ -7797,7 +7379,6 @@ "symfony/console": "<5.4" }, "require-dev": { - "ext-iconv": "*", "symfony/console": "^5.4|^6.0|^7.0", "symfony/error-handler": "^6.3|^7.0", "symfony/http-kernel": "^5.4|^6.0|^7.0", @@ -7841,7 +7422,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.11" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.32" }, "funding": [ { @@ -7852,40 +7433,46 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-08-30T16:03:21+00:00" + "time": "2026-01-01T13:34:06+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "v2.2.7", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" + "reference": "f0292ccf0ec75843d65027214426b6b163b48b41" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", - "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/f0292ccf0ec75843d65027214426b6b163b48b41", + "reference": "f0292ccf0ec75843d65027214426b6b163b48b41", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + "php": "^7.4 || ^8.0", + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^8.5.21 || ^9.5.10" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -7908,28 +7495,28 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.4.0" }, - "time": "2023-12-08T13:03:43+00:00" + "time": "2025-12-02T11:56:42+00:00" }, { "name": "torann/geoip", - "version": "3.0.8", + "version": "3.0.9", "source": { "type": "git", "url": "https://github.com/Torann/laravel-geoip.git", - "reference": "22a82647d866572af7fcdf90b033188090c91504" + "reference": "1ea60c7e1a1608de3885e8cd76389cfe5c8424de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Torann/laravel-geoip/zipball/22a82647d866572af7fcdf90b033188090c91504", - "reference": "22a82647d866572af7fcdf90b033188090c91504", + "url": "https://api.github.com/repos/Torann/laravel-geoip/zipball/1ea60c7e1a1608de3885e8cd76389cfe5c8424de", + "reference": "1ea60c7e1a1608de3885e8cd76389cfe5c8424de", "shasum": "" }, "require": { - "illuminate/cache": "^8.0|^9.0|^10.0|^11.0", - "illuminate/console": "^8.0|^9.0|^10.0|^11.0", - "illuminate/support": "^8.0|^9.0|^10.0|^11.0", + "illuminate/cache": "^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/console": "^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0", "php": "^8.0|^8.1|^8.2|^8.3" }, "require-dev": { @@ -7946,16 +7533,16 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - }, "laravel": { - "providers": [ - "Torann\\GeoIP\\GeoIPServiceProvider" - ], "aliases": { "GeoIP": "Torann\\GeoIP\\Facades\\GeoIP" - } + }, + "providers": [ + "Torann\\GeoIP\\GeoIPServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "1.0-dev" } }, "autoload": { @@ -7988,32 +7575,32 @@ ], "support": { "issues": "https://github.com/Torann/laravel-geoip/issues", - "source": "https://github.com/Torann/laravel-geoip/tree/3.0.8" + "source": "https://github.com/Torann/laravel-geoip/tree/3.0.9" }, - "time": "2024-07-23T12:56:44+00:00" + "time": "2025-02-25T18:24:54+00:00" }, { "name": "vlucas/phpdotenv", - "version": "v5.6.1", + "version": "v5.6.3", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2" + "reference": "955e7815d677a3eaa7075231212f2110983adecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2", - "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/955e7815d677a3eaa7075231212f2110983adecc", + "reference": "955e7815d677a3eaa7075231212f2110983adecc", "shasum": "" }, "require": { "ext-pcre": "*", - "graham-campbell/result-type": "^1.1.3", + "graham-campbell/result-type": "^1.1.4", "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3", - "symfony/polyfill-ctype": "^1.24", - "symfony/polyfill-mbstring": "^1.24", - "symfony/polyfill-php80": "^1.24" + "phpoption/phpoption": "^1.9.5", + "symfony/polyfill-ctype": "^1.26", + "symfony/polyfill-mbstring": "^1.26", + "symfony/polyfill-php80": "^1.26" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", @@ -8062,7 +7649,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.3" }, "funding": [ { @@ -8074,20 +7661,20 @@ "type": "tidelift" } ], - "time": "2024-07-20T21:52:34+00:00" + "time": "2025-12-27T19:49:13+00:00" }, { "name": "voku/portable-ascii", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", "shasum": "" }, "require": { @@ -8112,7 +7699,7 @@ "authors": [ { "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" + "homepage": "https://www.moelleken.org/" } ], "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", @@ -8124,7 +7711,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" }, "funding": [ { @@ -8148,65 +7735,7 @@ "type": "tidelift" } ], - "time": "2022-03-08T17:03:00+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "php": "^7.2 || ^8.0" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" - }, - "time": "2022-06-03T18:03:27+00:00" + "time": "2024-11-21T01:49:47+00:00" } ], "packages-dev": [ @@ -8252,13 +7781,13 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.15-dev" - }, "laravel": { "providers": [ "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" ] + }, + "branch-alias": { + "dev-master": "2.15-dev" } }, "autoload": { @@ -8306,20 +7835,20 @@ }, { "name": "barryvdh/reflection-docblock", - "version": "v2.1.1", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/barryvdh/ReflectionDocBlock.git", - "reference": "e6811e927f0ecc37cc4deaa6627033150343e597" + "reference": "d103774cbe7e94ddee7e4870f97f727b43fe7201" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/e6811e927f0ecc37cc4deaa6627033150343e597", - "reference": "e6811e927f0ecc37cc4deaa6627033150343e597", + "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/d103774cbe7e94ddee7e4870f97f727b43fe7201", + "reference": "d103774cbe7e94ddee7e4870f97f727b43fe7201", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.1" }, "require-dev": { "phpunit/phpunit": "^8.5.14|^9" @@ -8331,7 +7860,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.3.x-dev" } }, "autoload": { @@ -8352,36 +7881,36 @@ } ], "support": { - "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.1.1" + "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.4.0" }, - "time": "2023-06-14T05:06:27+00:00" + "time": "2025-07-17T06:07:30+00:00" }, { "name": "composer/class-map-generator", - "version": "1.4.0", + "version": "1.7.1", "source": { "type": "git", "url": "https://github.com/composer/class-map-generator.git", - "reference": "98bbf6780e56e0fd2404fe4b82eb665a0f93b783" + "reference": "8f5fa3cc214230e71f54924bd0197a3bcc705eb1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/98bbf6780e56e0fd2404fe4b82eb665a0f93b783", - "reference": "98bbf6780e56e0fd2404fe4b82eb665a0f93b783", + "url": "https://api.github.com/repos/composer/class-map-generator/zipball/8f5fa3cc214230e71f54924bd0197a3bcc705eb1", + "reference": "8f5fa3cc214230e71f54924bd0197a3bcc705eb1", "shasum": "" }, "require": { "composer/pcre": "^2.1 || ^3.1", "php": "^7.2 || ^8.0", - "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7" + "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7 || ^8" }, "require-dev": { - "phpstan/phpstan": "^1.6", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.1", + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-deprecation-rules": "^1 || ^2", + "phpstan/phpstan-phpunit": "^1 || ^2", + "phpstan/phpstan-strict-rules": "^1.1 || ^2", "phpunit/phpunit": "^8", - "symfony/filesystem": "^5.4 || ^6" + "symfony/filesystem": "^5.4 || ^6 || ^7 || ^8" }, "type": "library", "extra": { @@ -8411,7 +7940,7 @@ ], "support": { "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.4.0" + "source": "https://github.com/composer/class-map-generator/tree/1.7.1" }, "funding": [ { @@ -8421,26 +7950,22 @@ { "url": "https://github.com/composer", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" } ], - "time": "2024-10-03T18:14:00+00:00" + "time": "2025-12-29T13:15:25+00:00" }, { "name": "composer/pcre", - "version": "3.3.1", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4" + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/63aaeac21d7e775ff9bc9d45021e1745c97521c4", - "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", "shasum": "" }, "require": { @@ -8450,19 +7975,19 @@ "phpstan/phpstan": "<1.11.10" }, "require-dev": { - "phpstan/phpstan": "^1.11.10", - "phpstan/phpstan-strict-rules": "^1.1", + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", "phpunit/phpunit": "^8 || ^9" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - }, "phpstan": { "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-main": "3.x-dev" } }, "autoload": { @@ -8490,7 +8015,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.3.1" + "source": "https://github.com/composer/pcre/tree/3.3.2" }, "funding": [ { @@ -8506,7 +8031,7 @@ "type": "tidelift" } ], - "time": "2024-08-27T18:44:43+00:00" + "time": "2024-11-12T16:29:46+00:00" }, { "name": "doctrine/instantiator", @@ -8580,16 +8105,16 @@ }, { "name": "dragon-code/contracts", - "version": "2.23.0", + "version": "2.24.0", "source": { "type": "git", "url": "https://github.com/TheDragonCode/contracts.git", - "reference": "44dbad923f152e0dc2699fbac2d33b65dd6a8f7d" + "reference": "c21ea4fc0a399bd803a2805a7f2c989749083896" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TheDragonCode/contracts/zipball/44dbad923f152e0dc2699fbac2d33b65dd6a8f7d", - "reference": "44dbad923f152e0dc2699fbac2d33b65dd6a8f7d", + "url": "https://api.github.com/repos/TheDragonCode/contracts/zipball/c21ea4fc0a399bd803a2805a7f2c989749083896", + "reference": "c21ea4fc0a399bd803a2805a7f2c989749083896", "shasum": "" }, "require": { @@ -8602,7 +8127,7 @@ "andrey-helldar/contracts": "*" }, "require-dev": { - "illuminate/database": "^10.0 || ^11.0", + "illuminate/database": "^10.0 || ^11.0 || ^12.0", "phpdocumentor/reflection-docblock": "^5.0" }, "type": "library", @@ -8635,29 +8160,25 @@ "url": "https://boosty.to/dragon-code", "type": "boosty" }, - { - "url": "https://www.donationalerts.com/r/dragon_code", - "type": "donationalerts" - }, { "url": "https://yoomoney.ru/to/410012608840929", "type": "yoomoney" } ], - "time": "2024-03-11T20:15:12+00:00" + "time": "2025-02-23T23:11:50+00:00" }, { "name": "dragon-code/pretty-array", - "version": "v4.1.0", + "version": "4.2.0", "source": { "type": "git", "url": "https://github.com/TheDragonCode/pretty-array.git", - "reference": "6c84e2454491b414efbd37985c322712cdf9012f" + "reference": "b94034d92172a5d14a578822d68b2a8f8b5388e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TheDragonCode/pretty-array/zipball/6c84e2454491b414efbd37985c322712cdf9012f", - "reference": "6c84e2454491b414efbd37985c322712cdf9012f", + "url": "https://api.github.com/repos/TheDragonCode/pretty-array/zipball/b94034d92172a5d14a578822d68b2a8f8b5388e0", + "reference": "b94034d92172a5d14a578822d68b2a8f8b5388e0", "shasum": "" }, "require": { @@ -8668,7 +8189,7 @@ "php": "^8.0" }, "require-dev": { - "phpunit/phpunit": "^9.6 || ^10.2" + "phpunit/phpunit": "^9.6 || ^10.0 || ^11.0 || ^12.0" }, "suggest": { "symfony/thanks": "Give thanks (in the form of a GitHub) to your fellow PHP package maintainers" @@ -8687,7 +8208,7 @@ { "name": "Andrey Helldar", "email": "helldar@dragon-code.pro", - "homepage": "https://github.com/andrey-helldar" + "homepage": "https://dragon-code.pro" } ], "description": "Simple conversion of an array to a pretty view", @@ -8708,33 +8229,25 @@ "url": "https://boosty.to/dragon-code", "type": "boosty" }, - { - "url": "https://github.com/sponsors/TheDragonCode", - "type": "github" - }, - { - "url": "https://opencollective.com/dragon-code", - "type": "open_collective" - }, { "url": "https://yoomoney.ru/to/410012608840929", "type": "yoomoney" } ], - "time": "2023-06-02T11:37:44+00:00" + "time": "2025-02-24T15:35:24+00:00" }, { "name": "dragon-code/support", - "version": "6.15.0", + "version": "6.16.0", "source": { "type": "git", "url": "https://github.com/TheDragonCode/support.git", - "reference": "087d7baaa963cdbb24e901dc27e10cdc31c2529c" + "reference": "ab9b657a307e75f6ba5b2b39e1e45207dc1a065a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/TheDragonCode/support/zipball/087d7baaa963cdbb24e901dc27e10cdc31c2529c", - "reference": "087d7baaa963cdbb24e901dc27e10cdc31c2529c", + "url": "https://api.github.com/repos/TheDragonCode/support/zipball/ab9b657a307e75f6ba5b2b39e1e45207dc1a065a", + "reference": "ab9b657a307e75f6ba5b2b39e1e45207dc1a065a", "shasum": "" }, "require": { @@ -8753,8 +8266,8 @@ "andrey-helldar/support": "*" }, "require-dev": { - "illuminate/contracts": "^9.0 || ^10.0 || ^11.0", - "phpunit/phpunit": "^9.6 || ^11.0", + "illuminate/contracts": "^9.0 || ^10.0 || ^11.0 || ^12.0", + "phpunit/phpunit": "^9.6 || ^11.0 || ^12.0", "symfony/var-dumper": "^6.0 || ^7.0" }, "suggest": { @@ -8811,29 +8324,25 @@ "url": "https://boosty.to/dragon-code", "type": "boosty" }, - { - "url": "https://www.donationalerts.com/r/dragon_code", - "type": "donationalerts" - }, { "url": "https://yoomoney.ru/to/410012608840929", "type": "yoomoney" } ], - "time": "2024-09-07T13:27:37+00:00" + "time": "2025-02-24T14:01:52+00:00" }, { "name": "fakerphp/faker", - "version": "v1.23.1", + "version": "v1.24.1", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", "shasum": "" }, "require": { @@ -8881,22 +8390,22 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" + "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" }, - "time": "2024-01-02T13:46:09+00:00" + "time": "2024-11-21T13:46:39+00:00" }, { "name": "filp/whoops", - "version": "2.16.0", + "version": "2.18.4", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "befcdc0e5dce67252aa6322d82424be928214fa2" + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/befcdc0e5dce67252aa6322d82424be928214fa2", - "reference": "befcdc0e5dce67252aa6322d82424be928214fa2", + "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d", "shasum": "" }, "require": { @@ -8946,7 +8455,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.16.0" + "source": "https://github.com/filp/whoops/tree/2.18.4" }, "funding": [ { @@ -8954,24 +8463,24 @@ "type": "github" } ], - "time": "2024-09-25T12:00:00+00:00" + "time": "2025-08-08T12:00:00+00:00" }, { "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", + "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", "shasum": "" }, "require": { - "php": "^5.3|^7.0|^8.0" + "php": "^7.4|^8.0" }, "replace": { "cordoval/hamcrest-php": "*", @@ -8979,8 +8488,8 @@ "kodova/hamcrest-php": "*" }, "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { @@ -9003,9 +8512,9 @@ ], "support": { "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" }, - "time": "2020-07-09T08:09:16+00:00" + "time": "2025-04-30T06:54:44+00:00" }, { "name": "laravel-lang/attributes", @@ -9437,13 +8946,13 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - }, "laravel": { "providers": [ "Laravel\\Breeze\\BreezeServiceProvider" ] + }, + "branch-alias": { + "dev-master": "1.x-dev" } }, "autoload": { @@ -9474,29 +8983,29 @@ }, { "name": "laravel/sail", - "version": "v1.34.0", + "version": "v1.52.0", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "511e9c95b0f3ee778dc9e11e242bcd2af8e002cd" + "reference": "64ac7d8abb2dbcf2b76e61289451bae79066b0b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/511e9c95b0f3ee778dc9e11e242bcd2af8e002cd", - "reference": "511e9c95b0f3ee778dc9e11e242bcd2af8e002cd", + "url": "https://api.github.com/repos/laravel/sail/zipball/64ac7d8abb2dbcf2b76e61289451bae79066b0b3", + "reference": "64ac7d8abb2dbcf2b76e61289451bae79066b0b3", "shasum": "" }, "require": { - "illuminate/console": "^9.52.16|^10.0|^11.0", - "illuminate/contracts": "^9.52.16|^10.0|^11.0", - "illuminate/support": "^9.52.16|^10.0|^11.0", + "illuminate/console": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/contracts": "^9.52.16|^10.0|^11.0|^12.0", + "illuminate/support": "^9.52.16|^10.0|^11.0|^12.0", "php": "^8.0", "symfony/console": "^6.0|^7.0", "symfony/yaml": "^6.0|^7.0" }, "require-dev": { - "orchestra/testbench": "^7.0|^8.0|^9.0", - "phpstan/phpstan": "^1.10" + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0", + "phpstan/phpstan": "^2.0" }, "bin": [ "bin/sail" @@ -9533,7 +9042,7 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2024-09-27T14:58:09+00:00" + "time": "2026-01-01T02:46:03+00:00" }, { "name": "mockery/mockery", @@ -9620,16 +9129,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.12.0", + "version": "1.13.4", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", "shasum": "" }, "require": { @@ -9668,7 +9177,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" }, "funding": [ { @@ -9676,7 +9185,7 @@ "type": "tidelift" } ], - "time": "2024-06-12T14:39:25+00:00" + "time": "2025-08-01T08:46:24+00:00" }, { "name": "nunomaduro/collision", @@ -9709,13 +9218,13 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-develop": "6.x-dev" - }, "laravel": { "providers": [ "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" ] + }, + "branch-alias": { + "dev-develop": "6.x-dev" } }, "autoload": { @@ -9939,23 +9448,23 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.8.2", + "version": "1.12.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "153ae662783729388a584b4361f2545e4d841e3c" + "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c", - "reference": "153ae662783729388a584b4361f2545e4d841e3c", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195", + "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195", "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", "php": "^7.3 || ^8.0", "phpdocumentor/reflection-common": "^2.0", - "phpstan/phpdoc-parser": "^1.13" + "phpstan/phpdoc-parser": "^1.18|^2.0" }, "require-dev": { "ext-tokenizer": "*", @@ -9991,36 +9500,36 @@ "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.8.2" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0" }, - "time": "2024-02-23T11:10:43+00:00" + "time": "2025-11-21T15:09:14+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "1.32.0", + "version": "2.3.2", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "6ca22b154efdd9e3c68c56f5d94670920a1c19a4" + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6ca22b154efdd9e3c68c56f5d94670920a1c19a4", - "reference": "6ca22b154efdd9e3c68c56f5d94670920a1c19a4", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a004701b11273a26cd7955a61d67a7f1e525a45a", + "reference": "a004701b11273a26cd7955a61d67a7f1e525a45a", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": "^7.4 || ^8.0" }, "require-dev": { "doctrine/annotations": "^2.0", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^5.3.0", "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.5", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.5", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", "symfony/process": "^5.2" }, "type": "library", @@ -10038,9 +9547,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.32.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.2" }, - "time": "2024-09-26T07:23:32+00:00" + "time": "2026-01-25T14:56:51+00:00" }, { "name": "phpunit/php-code-coverage", @@ -10363,16 +9872,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.21", + "version": "9.6.32", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa" + "reference": "492ee10a8369a1c1ac390a3b46e0c846e384c5a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa", - "reference": "de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/492ee10a8369a1c1ac390a3b46e0c846e384c5a4", + "reference": "492ee10a8369a1c1ac390a3b46e0c846e384c5a4", "shasum": "" }, "require": { @@ -10383,7 +9892,7 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.0", + "myclabs/deep-copy": "^1.13.4", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=7.3", @@ -10394,11 +9903,11 @@ "phpunit/php-timer": "^5.0.3", "sebastian/cli-parser": "^1.0.2", "sebastian/code-unit": "^1.0.8", - "sebastian/comparator": "^4.0.8", + "sebastian/comparator": "^4.0.10", "sebastian/diff": "^4.0.6", "sebastian/environment": "^5.1.5", - "sebastian/exporter": "^4.0.6", - "sebastian/global-state": "^5.0.7", + "sebastian/exporter": "^4.0.8", + "sebastian/global-state": "^5.0.8", "sebastian/object-enumerator": "^4.0.4", "sebastian/resource-operations": "^3.0.4", "sebastian/type": "^3.2.1", @@ -10446,7 +9955,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.21" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.32" }, "funding": [ { @@ -10457,12 +9966,20 @@ "url": "https://github.com/sebastianbergmann", "type": "github" }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], - "time": "2024-09-19T10:50:18+00:00" + "time": "2026-01-24T16:04:20+00:00" }, { "name": "sebastian/cli-parser", @@ -10633,16 +10150,16 @@ }, { "name": "sebastian/comparator", - "version": "4.0.8", + "version": "4.0.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e4df00b9b3571187db2831ae9aada2c6efbd715d", + "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d", "shasum": "" }, "require": { @@ -10695,15 +10212,27 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.10" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" } ], - "time": "2022-09-14T12:41:17+00:00" + "time": "2026-01-24T09:22:56+00:00" }, { "name": "sebastian/complexity", @@ -10893,16 +10422,16 @@ }, { "name": "sebastian/exporter", - "version": "4.0.6", + "version": "4.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72" + "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72", - "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/14c6ba52f95a36c3d27c835d65efc7123c446e8c", + "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c", "shasum": "" }, "require": { @@ -10958,28 +10487,40 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.8" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "type": "tidelift" } ], - "time": "2024-03-02T06:33:00+00:00" + "time": "2025-09-24T06:03:27+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.7", + "version": "5.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9" + "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", - "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b6781316bdcd28260904e7cc18ec983d0d2ef4f6", + "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6", "shasum": "" }, "require": { @@ -11022,15 +10563,27 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.8" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", + "type": "tidelift" } ], - "time": "2024-03-02T06:35:11+00:00" + "time": "2025-08-10T07:10:35+00:00" }, { "name": "sebastian/lines-of-code", @@ -11203,16 +10756,16 @@ }, { "name": "sebastian/recursion-context", - "version": "4.0.5", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + "reference": "539c6691e0623af6dc6f9c20384c120f963465a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/539c6691e0623af6dc6f9c20384c120f963465a0", + "reference": "539c6691e0623af6dc6f9c20384c120f963465a0", "shasum": "" }, "require": { @@ -11254,15 +10807,27 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.6" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" } ], - "time": "2023-02-03T06:07:39+00:00" + "time": "2025-08-10T06:57:39+00:00" }, { "name": "sebastian/resource-operations", @@ -11429,27 +10994,27 @@ }, { "name": "spatie/backtrace", - "version": "1.6.2", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9" + "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/1a9a145b044677ae3424693f7b06479fc8c137a9", - "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/8c0f16a59ae35ec8c62d85c3c17585158f430110", + "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "php": "^7.3 || ^8.0" }, "require-dev": { "ext-json": "*", - "laravel/serializable-closure": "^1.3", - "phpunit/phpunit": "^9.3", - "spatie/phpunit-snapshot-assertions": "^4.2", - "symfony/var-dumper": "^5.1" + "laravel/serializable-closure": "^1.3 || ^2.0", + "phpunit/phpunit": "^9.3 || ^11.4.3", + "spatie/phpunit-snapshot-assertions": "^4.2 || ^5.1.6", + "symfony/var-dumper": "^5.1 || ^6.0 || ^7.0" }, "type": "library", "autoload": { @@ -11476,7 +11041,8 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/backtrace/tree/1.6.2" + "issues": "https://github.com/spatie/backtrace/issues", + "source": "https://github.com/spatie/backtrace/tree/1.8.1" }, "funding": [ { @@ -11488,24 +11054,24 @@ "type": "other" } ], - "time": "2024-07-22T08:21:24+00:00" + "time": "2025-08-26T08:22:30+00:00" }, { "name": "spatie/flare-client-php", - "version": "1.8.0", + "version": "1.10.1", "source": { "type": "git", "url": "https://github.com/spatie/flare-client-php.git", - "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122" + "reference": "bf1716eb98bd689451b071548ae9e70738dce62f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122", - "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/bf1716eb98bd689451b071548ae9e70738dce62f", + "reference": "bf1716eb98bd689451b071548ae9e70738dce62f", "shasum": "" }, "require": { - "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0|^12.0", "php": "^8.0", "spatie/backtrace": "^1.6.1", "symfony/http-foundation": "^5.2|^6.0|^7.0", @@ -11549,7 +11115,7 @@ ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.8.0" + "source": "https://github.com/spatie/flare-client-php/tree/1.10.1" }, "funding": [ { @@ -11557,7 +11123,7 @@ "type": "github" } ], - "time": "2024-08-01T08:27:26+00:00" + "time": "2025-02-14T13:42:06+00:00" }, { "name": "spatie/ignition", @@ -11683,12 +11249,12 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Spatie\\LaravelIgnition\\IgnitionServiceProvider" - ], "aliases": { "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" - } + }, + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ] } }, "autoload": { @@ -11734,7 +11300,7 @@ }, { "name": "symfony/polyfill-php81", - "version": "v1.31.0", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", @@ -11752,8 +11318,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -11790,7 +11356,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0" }, "funding": [ { @@ -11801,6 +11367,10 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" @@ -11810,27 +11380,28 @@ }, { "name": "symfony/yaml", - "version": "v7.1.5", + "version": "v7.4.1", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "4e561c316e135e053bd758bf3b3eb291d9919de4" + "reference": "24dd4de28d2e3988b311751ac49e684d783e2345" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/4e561c316e135e053bd758bf3b3eb291d9919de4", - "reference": "4e561c316e135e053bd758bf3b3eb291d9919de4", + "url": "https://api.github.com/repos/symfony/yaml/zipball/24dd4de28d2e3988b311751ac49e684d783e2345", + "reference": "24dd4de28d2e3988b311751ac49e684d783e2345", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0" + "symfony/console": "^6.4|^7.0|^8.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -11861,7 +11432,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.5" + "source": "https://github.com/symfony/yaml/tree/v7.4.1" }, "funding": [ { @@ -11872,25 +11443,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-17T12:49:58+00:00" + "time": "2025-12-04T18:11:45+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.3", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", "shasum": "" }, "require": { @@ -11919,7 +11494,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.3" + "source": "https://github.com/theseer/tokenizer/tree/1.3.1" }, "funding": [ { @@ -11927,17 +11502,17 @@ "type": "github" } ], - "time": "2024-03-03T12:36:25+00:00" + "time": "2025-11-17T20:03:58+00:00" } ], "aliases": [], "minimum-stability": "dev", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": true, "prefer-lowest": false, "platform": { "php": ">=8.0" }, - "platform-dev": [], + "platform-dev": {}, "plugin-api-version": "2.6.0" } diff --git a/resources/lang/zh-TW/messages.php b/resources/lang/zh-TW/messages.php index fd3e80f2d..4f19557a9 100644 --- a/resources/lang/zh-TW/messages.php +++ b/resources/lang/zh-TW/messages.php @@ -16,11 +16,11 @@ 'Dashboard' => '控制面板', 'Copyright' => '版權所有', - 'Made with' => '技術支援', - 'by' => '由', + 'Made with' => '由', + 'by' => '製作', 'HOME.MESSAGE' => ' -

使用LinkStack,這款以隱私為重點的開源鏈接管理平台,來掌控您的在線形象。建立一個可自訂的個人資料頁面,將您所有重要的連結集中管理在一個方便的地方,讓您的觀眾享有無縫的瀏覽體驗。

+

使用LinkStack,這款以隱私為重點的開源連結管理平台,來掌控您的線上形象。建立一個可自訂的個人資料頁面,將您所有重要的連結集中管理在一個方便的地方,讓您的觀眾享有無縫的瀏覽體驗。

', @@ -116,7 +116,7 @@ /* |-------------------------------------------------------------------------- - | 側邊攔樣式 + | 側邊欄樣式 |-------------------------------------------------------------------------- | | resources/views/layouts/sidebar.blade.php @@ -136,12 +136,12 @@ 'Sidebar Types' => '側邊欄類型', 'Mini' => '迷你', 'Hover' => '懸停', - 'Boxed' => '有框的', - 'Sidebar Active Style' => '側邊欄活動樣式', + 'Boxed' => '有邊框', + 'Sidebar Active Style' => '側邊欄啟用樣式', 'Rounded One Side' => '單邊圓角', 'Rounded All' => '全部圓角', - 'Pill One Side' => '單邊圓柱形', - 'Pill All' => '全部圓柱形', + 'Pill One Side' => '單邊膠囊', + 'Pill All' => '全膠囊', /* @@ -184,7 +184,7 @@ 'Share your profile:' => '分享您的個人檔案:', 'Error sharing:' => '分享錯誤:', 'Text copied to clipboard!' => '文字已複製到剪貼簿!', - 'Error copying text:' => '複製文字出錯:', + 'Error copying text:' => '複製文字時發生錯誤:', 'QR Code' => 'QR碼', 'Scan QR Code' => '掃描QR碼', 'QR code could not be generated' => '無法生成QR碼', @@ -204,7 +204,7 @@ 'Latest beta' => '最新測試版', 'Run updater' => '執行更新程式', 'Update available' => '有可用更新', - 'Up to date' => '已是最新', + 'Up to date' => '已是最新版本', 'Check again' => '再次檢查', # 導航欄中的使用者部分 @@ -229,18 +229,18 @@ 'Hi' => '您好', 'stranger' => '陌生人', 'welcome' => '歡迎來到 :appName!', - 'Set a handle' => '設定一個標識(@example)', + 'Set a handle' => '設定一個標識(@example)', # 儀表板頁面 - 'Total Links:' => '鏈接總數:', - 'Link Clicks:' => '鏈接點擊數:', - 'View/Edit Links' => '查看/編輯鏈接', - 'Top Links:' => '熱門鏈接:', - 'You haven’t added any links yet' => '您還沒有添加任何鏈接。', + 'Total Links:' => '連結總數:', + 'Link Clicks:' => '連結點擊數:', + 'View/Edit Links' => '查看/編輯連結', + 'Top Links:' => '熱門連結:', + 'You haven’t added any links yet' => '您還沒有新增任何連結。', 'clicks' => '點擊數', 'Clicks' => '點擊數', 'Site statistics:' => '網站統計:', - 'Total links' => '鏈接總數', + 'Total links' => '連結總數', 'Total clicks' => '點擊總數', 'Total users' => '使用者總數', 'Registrations:' => '註冊數:', @@ -250,7 +250,6 @@ 'Active users:' => '活躍使用者:', - /* |-------------------------------------------------------------------------- | 按鈕編輯器 @@ -272,16 +271,16 @@ 'Reset to default' => '恢復預設', 'Result' => '結果:', 'Custom Icon' => '自訂圖示', - 'Custom Alert' => '您的自訂圖示短代碼中未包含字串“fa-”,請始終使用如“fa-ghost”格式的圖示。', - 'cb.description.1-4' => '可以通過 Font Awesome 向按鈕添加自訂圖示。您可以使用下面列表中的任何圖示,您可以通過點擊“查看所有圖示”按鈕訪問此列表。列表中的每個圖示都有一個短代碼,您可以複製並輸入到自訂圖示欄位中。', - 'cb.description.2-4' => '每個圖示的短代碼都由前綴和主要部分組成。如果短代碼不是品牌圖示,您可以簡單地輸入格式為:fa-icon-name的代碼。“fa-...”格式在此很重要。例如“fa-code”。', - 'cb.description.3-4' => '如果短代碼是品牌圖示,重要的是在短代碼部分之前包含“fab”。同樣,“fa-...”格式在此仍然適用。例如,“fab fa-github”。', - 'cb.description.4-4' => '要為您的圖示應用顏色,您可以簡單地寫出顏色名稱或在圖示前寫下HEX值,後跟一個“;”。在這裡,將顏色放在圖示短代碼前很重要,並且顏色代碼必須以分號結束。
您可以在這裡找到可用顏色列表。', + 'Custom Alert' => '您的自訂圖示短代碼中未包含字串「fa-」,請始終使用如「fa-ghost」格式的圖示。', + 'cb.description.1-4' => '可以透過 Font Awesome 向按鈕新增自訂圖示。您可以使用下面列表中的任何圖示,並可透過點擊「查看所有圖示」按鈕開啟此列表。列表中的每個圖示都有一個短代碼,您可以複製並輸入到自訂圖示欄位中。', + 'cb.description.2-4' => '每個圖示的短代碼都由前綴和主要部分組成。如果短代碼不是品牌圖示,您可以簡單地輸入格式為:fa-icon-name 的代碼。「fa-…」格式在此很重要,例如「fa-code」。', + 'cb.description.3-4' => '如果短代碼是品牌圖示,重要的是在短代碼部分之前包含「fab」。同樣,「fa-…」格式在此仍然適用。例如「fab fa-github」。', + 'cb.description.4-4' => '要為您的圖示套用顏色,您可以簡單地寫出顏色名稱或在圖示前寫下 HEX 值,後跟一個「;」。在這裡,必須先寫顏色代碼,並以分號結束。
您可以在這裡找到可用顏色列表。', 'Style' => '風格', 'Prefix' => '前綴', 'Icon' => '圖示', 'Short Code' => '短代碼', - 'Regular' => '常規', + 'Regular' => '一般', 'Brands' => '品牌', 'Color name' => '顏色名稱', 'Color HEX' => '顏色HEX', @@ -290,7 +289,6 @@ 'See all icons' => '查看所有圖示', - /* |-------------------------------------------------------------------------- | 編輯連結頁面 @@ -307,7 +305,7 @@ 'Select Block' => '選擇區塊', 'Toggle Dropdown' => '切換下拉選單', 'Cancel' => '取消', - 'Save and Add More' => '保存並新增更多', + 'Save and Add More' => '儲存並新增更多', 'Click to change link blocks' => '點擊更改連結區塊', 'Click for a list of available link blocks' => '點擊查看可用連結區塊列表', @@ -323,10 +321,10 @@ 'My Links' => '我的連結', 'Add new Link' => '新增連結', - 'No Link Added' => '尚未添加連結。', + 'No Link Added' => '尚未新增任何連結。', 'Download' => '下載', 'Preview' => '預覽:', - 'No compatible browser' => '您的瀏覽器不兼容', + 'No compatible browser' => '您的瀏覽器不支援', 'Page Icons' => '頁面圖示', 'Save links' => '儲存連結', @@ -340,7 +338,7 @@ /* |-------------------------------------------------------------------------- - | “我的個人資料”/“外觀”頁面 + | 「我的個人資料」/「外觀」頁面 |-------------------------------------------------------------------------- | | resources/views/studio/page.blade.php @@ -357,8 +355,8 @@ 'disableverified' => '您是已驗證使用者。此設定允許您在頁面上隱藏您的勾選標記。', 'Show share button' => '顯示分享按鈕', 'disablesharebutton' => '此設定允許您在頁面上隱藏分享按鈕。', - 'Open links in new tab' => '在新分頁中打開連結', - 'openlinksnewtab' => '此設定決定您的連結頁面上的連結是在同一分頁中打開還是在新分頁中打開。', + 'Open links in new tab' => '在新分頁中開啟連結', + 'openlinksnewtab' => '此設定決定您的連結頁面上的連結是在同一分頁中開啟還是在新分頁中開啟。', /* @@ -383,23 +381,23 @@ 'Import' => '匯入', 'Delete your account' => '刪除您的帳戶', 'You are about to delete' => '您即將刪除您的帳戶!', - 'You are about to delete This action cannot be undone' => '您即將刪除您的帳戶!此操作無法反悔。', + 'You are about to delete This action cannot be undone' => '您即將刪除您的帳戶!此操作無法復原。', 'Delete account' => '刪除帳戶', # 警告 'Profile updated successfully!' => '個人資料更新成功!', 'An error occurred while updating your profile.' => '更新您的個人資料時發生錯誤。', - 'That handle has already been taken' => '該標識(@example)已被使用。', - 'The selected file must be an image' => '所選文件必須是圖片。', + 'That handle has already been taken' => '該標識(@example)已被使用。', + 'The selected file must be an image' => '所選檔案必須是圖片。', 'The image must be' => '圖片必須是:', - 'The image size should not exceed 2MB' => '圖片大小不應超過2MB。', + 'The image size should not exceed 2MB' => '圖片大小不應超過 2MB。', 'Please select an image' => '請選擇一張圖片。', /* |-------------------------------------------------------------------------- - | 主题頁面 + | 主題頁面 |-------------------------------------------------------------------------- | | resources/views/studio/theme.blade.php @@ -421,7 +419,7 @@ /* |-------------------------------------------------------------------------- - | 主题更新器 + | 主題更新器 |-------------------------------------------------------------------------- | | resources/views/studio/theme-updater.blade.php @@ -451,6 +449,7 @@ 'Page description' => '頁面描述', 'Role' => '角色', + /* |-------------------------------------------------------------------------- | 連結頁面(管理員) @@ -484,8 +483,8 @@ | */ - 'Information about PHP’s configuration' => '關於 PHP 配定的資訊', - 'Outputs information about the current state of PHP' => '輸出有關當前 PHP 狀態的資訊', + 'Information about PHP’s configuration' => '關於 PHP 設定的資訊', + 'Outputs information about the current state of PHP' => '輸出有關目前 PHP 狀態的資訊', /* @@ -531,7 +530,7 @@ 'tt.Edit' => '編輯', 'tt.All links' => '所有連結', - 'confirm.delete.user' => '您確定要刪除這個使用者嗎?\n此操作無法反悔!', + 'confirm.delete.user' => '您確定要刪除這個使用者嗎?\n此操作無法復原!', # 日期格式 'date.format' => 'Y/m/d', @@ -554,15 +553,15 @@ */ 'Advanced Config' => '進階設定', - 'Take Backup' => '備份', + 'Take Backup' => '建立備份', 'All Backups' => '所有備份', 'Diagnosis' => '診斷', 'Alternative Config Editor' => '替代設定編輯器', 'Use the Alternative Config Editor to edit the config directly' => '使用替代設定編輯器直接編輯設定', - 'PHP info' => 'PHP資訊', - 'Display debugging information about your PHP setup' => '顯示有關您的PHP設置的除錯信息', + 'PHP info' => 'PHP 資訊', + 'Display debugging information about your PHP setup' => '顯示有關您的 PHP 設定的除錯資訊', 'Jump directly to:' => '直接跳至:', @@ -578,34 +577,34 @@ 'default' => '預設', 'Apply' => '套用', - 'AC.description' => '允許編輯您的網站前端。此文件允許自定義首頁、連結、標題、Google分析和元標籤等內容。', - 'Advanced Configuration file.' => '高級設定檔。', + 'AC.description' => '允許編輯您的網站前端。此檔案允許自訂首頁、連結、標題、Google 分析與中繼標籤等內容。', + 'Advanced Configuration file.' => '進階設定檔。', 'Restore defaults' => '恢復預設值', 'Backup' => '備份', 'You can back up your entire instance:' => '您可以備份整個實例:', - 'The backup system won’t save more than two backups at a time' => '備份系統一次不會保存超過兩個備份。', + 'The backup system won’t save more than two backups at a time' => '備份系統一次不會保留超過兩個備份。', 'Backup Instance' => '備份實例', 'wtrue' => '一切運行正常!', - 'wfalse' => '此文件無法寫入。這可能妨礙正常運行。', - 'utrue' => '您的安全處於風險中。此文件可以被所有人訪問。需要立即採取行動!', + 'wfalse' => '此檔案無法寫入。這可能會影響正常運作。', + 'utrue' => '您的安全處於風險中。此檔案可以被所有人存取。需要立即採取行動!', 'ufalse' => '一切運行正常!', - 'unull' => '出現了一些問題。如果您在代理或Docker容器後面運行,這可能是正常的。', - 'Debugging information' => '除錯信息', - 'security.risk' => '您的安全處於風險中。某些文件可以被所有人訪問。需要立即採取行動!點擊此消息瞭解更多。', - 'security.risk.1-3' => '在這裡,您可以輕鬆驗證是否可以從外部訪問關鍵系統文件。重要的是這些文件不能被訪問,否則像密碼這樣的用戶數據可能會洩露。標有', - 'security.risk.2-3' => '的條目不能從外部訪問,標有', - 'security.risk.3-3' => '的條目可以被任何人訪問,需要立即採取行動以保護您的數據。', - 'Hover for more' => '懸停以獲得更多信息', - 'Write access' => '寫入許可權', - 'Write access.description.1-3' => '在這裡,您可以輕鬆驗證是否可以寫入重要的系統文件。這對於每個功能的正常工作都很重要。標有', - 'Write access.description.2-3' => '的條目按預期工作,標有', - 'Write access.description.3-3' => '的條目不行。', - 'File' => '文件', - 'Dependencies' => '依賴項', + 'unull' => '出現了一些問題。如果您在代理或 Docker 容器後面運行,這可能是正常的。', + 'Debugging information' => '除錯資訊', + 'security.risk' => '您的安全處於風險中。某些檔案可以被所有人存取。需要立即採取行動!點擊此訊息了解更多。', + 'security.risk.1-3' => '在這裡,您可以輕鬆驗證是否可以從外部存取關鍵系統檔案。重要的是這些檔案不能被存取,否則像密碼這樣的使用者資料可能會洩露。標有', + 'security.risk.2-3' => '的項目表示無法從外部存取,標有', + 'security.risk.3-3' => '的項目則可以被任何人存取,需要立即採取行動以保護您的資料。', + 'Hover for more' => '滑鼠移至此處以獲得更多資訊', + 'Write access' => '寫入權限', + 'Write access.description.1-3' => '在這裡,您可以輕鬆驗證是否可以寫入重要的系統檔案。這對各項功能的正常運作非常重要。標有', + 'Write access.description.2-3' => '的項目表示運作正常,標有', + 'Write access.description.3-3' => '的項目則不正常。', + 'File' => '檔案', + 'Dependencies' => '相依項目', 'Required PHP modules' => '所需的 PHP 模組。', - 'PHP Extension' => 'PHP 擴展', + 'PHP Extension' => 'PHP 擴充模組', 'No backups found' => '未找到備份', 'Backup your instance' => '備份您的實例', @@ -614,24 +613,24 @@ 'Strings with a # in front of them are comments and wont affect anything' => '前面有 # 的字串是註解,不會影響任何事情。', 'Download your updater backups:' => '下載您的更新備份:', - 'The server will never store more that two backups at a time' => '伺服器一次最多只會存儲兩個備份。', + 'The server will never store more that two backups at a time' => '伺服器一次最多只會儲存兩個備份。', - 'SMTP.title' => '使用內建SMTP伺服器', - 'SMTP.description' => '使用由LinkStack提供的SMTP伺服器。可能不是100%可靠。必須禁用它才能使用自定義SMTP伺服器。', - 'SMTP.description.alt' => '(在下方用“應用更改”保存更改)', + 'SMTP.title' => '使用內建 SMTP 伺服器', + 'SMTP.description' => '使用由 LinkStack 提供的 SMTP 伺服器。可能不是 100% 可靠。若要使用自訂 SMTP 伺服器,必須先停用此選項。', + 'SMTP.description.alt' => '(在下方用「套用」儲存變更)', 'Enable' => '啟用', - 'Custom SMTP server:' => '自定義SMTP伺服器:', + 'Custom SMTP server:' => '自訂 SMTP 伺服器:', 'Host' => '主機', 'Port' => '埠號', 'Username' => '使用者名稱', 'Encryption type' => '加密類型', 'From address' => '寄件人地址', - 'Apply changes' => '應用更改', - 'Test E-Mail setup:' => '測試電子郵件設置:', + 'Apply changes' => '套用變更', + 'Test E-Mail setup:' => '測試電子郵件設定:', 'Send Test E-Mail' => '發送測試電子郵件', - 'Debug.title' => '除錯模式', - 'Debug.description' => '在生產環境中應該禁用。在設置過程中用於除錯。', + 'Debug.title' => '偵錯模式', + 'Debug.description' => '在正式環境中應該停用,僅在設定及除錯過程中使用。', 'DISPLAY_FOOTER_HOME.title' => '首頁頁尾連結', 'DISPLAY_FOOTER_HOME.description' => '啟用首頁頁尾連結。', @@ -639,28 +638,28 @@ 'REGISTER_AUTH.description' => '決定使用者註冊時是否必須驗證其電子郵件。', 'ALLOW_REGISTRATION.title' => '啟用註冊', 'ALLOW_REGISTRATION.description' => '決定使用者是否可以註冊您的應用程式。', - 'NOTIFY_EVENTS.title' => '通知事件', + 'NOTIFY_EVENTS.title' => '事件通知', 'NOTIFY_EVENTS.description' => '如果有事件正在進行,則顯示通知。', - 'NOTIFY_UPDATES.title' => '通知更新', + 'NOTIFY_UPDATES.title' => '更新通知', 'NOTIFY_UPDATES.description' => '如果有新的更新可用,則顯示通知。', 'DISPLAY_FOOTER.title' => '顯示頁尾', - 'DISPLAY_FOOTER.description' => '決定是否應顯示頁尾連結。', - 'DISPLAY_CREDIT.title' => '在使用者頁面顯示信用', - 'DISPLAY_CREDIT.description' => '決定是否應在使用者頁面上顯示信用通知。', - 'DISPLAY_CREDIT_FOOTER.title' => '在頁尾中顯示信用', - 'DISPLAY_CREDIT_FOOTER.description' => '決定是否應在頁尾中顯示信用通知。', + 'DISPLAY_FOOTER.description' => '決定是否顯示頁尾連結。', + 'DISPLAY_CREDIT.title' => '在使用者頁面顯示致謝', + 'DISPLAY_CREDIT.description' => '決定是否在使用者頁面上顯示致謝訊息。', + 'DISPLAY_CREDIT_FOOTER.title' => '在頁尾顯示致謝', + 'DISPLAY_CREDIT_FOOTER.description' => '決定是否在頁尾中顯示致謝訊息。', 'HOME_URL.title' => '將使用者頁面設為首頁', - 'HOME_URL.description' => '將一個使用者頁面設為首頁。這將把之前的首頁移動到example.com/home。', - 'ALLOW_USER_HTML.title' => '允許在使用者的描述中使用擴展語法', - 'ALLOW_USER_HTML.description' => '這使得使用者能夠在其頁面描述中使用特殊格式,如標題和連結。
這通常被認為是安全的。', + 'HOME_URL.description' => '將某個使用者頁面設為首頁。這將把原本的首頁移至 example.com/home。', + 'ALLOW_USER_HTML.title' => '允許在使用者描述中使用進階語法', + 'ALLOW_USER_HTML.description' => '允許使用者在頁面描述中使用特殊格式,例如標題與連結。
這通常被認為是安全的。', 'APP_NAME.title' => '應用程式名稱', - 'APP_NAME.description' => '設定您的應用程式名稱。更改將登出每個活躍使用者。', + 'APP_NAME.description' => '設定您的應用程式名稱。更改後會登出所有目前的已登入使用者。', 'APP_KEY.title' => 'APP_KEY', 'APP_KEY.description' => 'APP_KEY', 'APP_URL.title' => 'APP_URL', 'APP_URL.description' => 'APP_URL', 'ENABLE_BUTTON_EDITOR.title' => '啟用按鈕編輯器', - 'ENABLE_BUTTON_EDITOR.description' => '決定是否允許使用者使用CSS自定義他們自己的按鈕。', + 'ENABLE_BUTTON_EDITOR.description' => '決定是否允許使用者使用 CSS 自訂自己的按鈕。', 'APP_DEBUG.title' => 'APP_DEBUG', 'APP_DEBUG.description' => 'APP_DEBUG', 'APP_ENV.title' => 'APP_ENV', @@ -670,7 +669,7 @@ 'LOG_LEVEL.title' => 'LOG_LEVEL', 'LOG_LEVEL.description' => 'LOG_LEVEL', 'MAINTENANCE_MODE.title' => '啟用維護模式', - 'MAINTENANCE_MODE.description' => '在所有公共頁面上顯示維護訊息。這將禁用登錄頁面。', + 'MAINTENANCE_MODE.description' => '在所有公開頁面上顯示維護訊息。這將停用登入頁面。', 'MAIL_MAILER.title' => 'MAIL_MAILER', 'MAIL_MAILER.description' => 'MAIL_MAILER', 'MAIL_HOST.title' => 'MAIL_HOST', @@ -686,25 +685,25 @@ 'MAIL_FROM_ADDRESS.title' => 'MAIL_FROM_ADDRESS', 'MAIL_FROM_ADDRESS.description' => 'MAIL_FROM_ADDRESS', 'JOIN_BETA.title' => '加入測試版計畫', - 'JOIN_BETA.description' => '在更新時啟用測試版的使用。在這裡了解更多。', + 'JOIN_BETA.description' => '在更新時啟用測試版使用。在這裡了解更多。', 'SKIP_UPDATE_BACKUP.title' => '略過更新備份', - 'SKIP_UPDATE_BACKUP.description' => '在更新時略過備份。建議始終停用此選項,
但在某些配置中可能會導致錯誤。', - 'CUSTOM_META_TAGS.title' => '啟用自訂元標籤', - 'CUSTOM_META_TAGS.description' => '在所有頁面的頭部啟用自訂元標籤的使用。在高級配置中定義。', - 'FORCE_HTTPS.title' => '強制使用HTTPS連線', - 'FORCE_HTTPS.description' => '預設情況下使所有連線使用HTTPS。如果您使用反向代理,建議啟用此選項。', - 'ALLOW_CUSTOM_CODE_IN_THEMES.title' => '允許在佈景主題中使用自訂程式碼', - 'ALLOW_CUSTOM_CODE_IN_THEMES.description' => '允許在佈景主題中使用自訂程式碼。如果您使用來自未知來源的佈景主題,
這可能構成安全風險。', - 'ENABLE_ADMIN_BAR_USERS.title' => '為所有使用者啟用管理員工具列', - 'ENABLE_ADMIN_BAR_USERS.description' => '如果啟用,所有經過身份驗證的使用者都將在其頁面上顯示管理員工具列。', - 'ENABLE_THEME_UPDATER.title' => '啟用佈景主題更新器', - 'ENABLE_THEME_UPDATER.description' => '決定佈景主題更新器是否應處於活動狀態。', - 'ENABLE_SOCIAL_LOGIN.title' => '啟用社交登入', - 'ENABLE_SOCIAL_LOGIN.description' => '啟用社交登入。此選項需要進一步設定。在這裡了解更多。', - 'USE_THEME_PREVIEW_IFRAME.title' => '使用 iframe 作為佈景主題預覽', - 'USE_THEME_PREVIEW_IFRAME.description' => '決定是否應使用內部 iframe 作為佈景主題頁面的預覽。', - 'FORCE_ROUTE_HTTPS.title' => '將所有頁面重定向到 HTTPS', - 'FORCE_ROUTE_HTTPS.description' => '如果使用反向代理,此選項將破壞您的設定。', + 'SKIP_UPDATE_BACKUP.description' => '更新時略過備份。建議始終停用此選項,
但在某些環境中可能會避免錯誤。', + 'CUSTOM_META_TAGS.title' => '啟用自訂中繼標籤', + 'CUSTOM_META_TAGS.description' => '在所有頁面的 中啟用自訂中繼標籤。在進階設定中定義。', + 'FORCE_HTTPS.title' => '強制使用 HTTPS 連線', + 'FORCE_HTTPS.description' => '預設讓所有連線使用 HTTPS。若您使用反向代理,建議啟用此選項。', + 'ALLOW_CUSTOM_CODE_IN_THEMES.title' => '允許在主題中使用自訂程式碼', + 'ALLOW_CUSTOM_CODE_IN_THEMES.description' => '允許在主題中使用自訂程式碼。如果您使用來自未知來源的主題,
這可能構成安全風險。', + 'ENABLE_ADMIN_BAR_USERS.title' => '為所有使用者啟用管理工具列', + 'ENABLE_ADMIN_BAR_USERS.description' => '若啟用,所有已驗證的使用者都會在其頁面上看到管理工具列。', + 'ENABLE_THEME_UPDATER.title' => '啟用主題更新器', + 'ENABLE_THEME_UPDATER.description' => '決定主題更新器是否啟用。', + 'ENABLE_SOCIAL_LOGIN.title' => '啟用社群登入', + 'ENABLE_SOCIAL_LOGIN.description' => '啟用社群登入。此選項需要額外設定。在這裡了解更多。', + 'USE_THEME_PREVIEW_IFRAME.title' => '使用 iframe 作為主題預覽', + 'USE_THEME_PREVIEW_IFRAME.description' => '決定是否使用內部 iframe 作為主題頁面的預覽。', + 'FORCE_ROUTE_HTTPS.title' => '將所有頁面重新導向至 HTTPS', + 'FORCE_ROUTE_HTTPS.description' => '若使用反向代理,啟用此選項可能會破壞您的設定。', 'DISPLAY_FOOTER_TERMS.title' => '條款頁尾連結', 'DISPLAY_FOOTER_TERMS.description' => '啟用條款頁尾連結。', 'DISPLAY_FOOTER_PRIVACY.title' => '隱私頁尾連結', @@ -712,36 +711,36 @@ 'DISPLAY_FOOTER_CONTACT.title' => '聯絡頁尾連結', 'DISPLAY_FOOTER_CONTACT.description' => '啟用聯絡頁尾連結。', 'TITLE_FOOTER_HOME.title' => '
', - 'TITLE_FOOTER_HOME.description' => '首頁頁腳連結的標題。', + 'TITLE_FOOTER_HOME.description' => '首頁頁尾連結的標題。', 'TITLE_FOOTER_TERMS.title' => '
', - 'TITLE_FOOTER_TERMS.description' => '條款頁腳連結的標題。', + 'TITLE_FOOTER_TERMS.description' => '條款頁尾連結的標題。', 'TITLE_FOOTER_PRIVACY.title' => '
', - 'TITLE_FOOTER_PRIVACY.description' => '隱私頁腳連結的標題。', + 'TITLE_FOOTER_PRIVACY.description' => '隱私頁尾連結的標題。', 'TITLE_FOOTER_CONTACT.title' => '
', - 'TITLE_FOOTER_CONTACT.description' => '聯絡頁腳連結的標題。', - 'HOME_FOOTER_LINK.title' => '
首頁頁腳連結網址
', - 'HOME_FOOTER_LINK.description' => '輸入任何網址以重新導向您的首頁連結網址。
留空使用預設連結。', + 'TITLE_FOOTER_CONTACT.description' => '聯絡頁尾連結的標題。', + 'HOME_FOOTER_LINK.title' => '
首頁頁尾連結網址
', + 'HOME_FOOTER_LINK.description' => '輸入任何網址以重新導向您的首頁頁尾連結。
留空則使用預設連結。', 'ALLOW_CUSTOM_BACKGROUNDS.title' => '允許自訂背景', - 'ALLOW_CUSTOM_BACKGROUNDS.description' => '允許使用者上傳自訂背景圖片至其頁面。', + 'ALLOW_CUSTOM_BACKGROUNDS.description' => '允許使用者為其頁面上傳自訂背景圖片。', 'ALLOW_USER_IMPORT.title' => '允許使用者從其他實例匯入設定檔', - 'ALLOW_USER_IMPORT.description' => '允許使用者從外部檔案匯入其設定檔和連結。', + 'ALLOW_USER_IMPORT.description' => '允許使用者從外部檔案匯入其設定檔與連結。', 'ALLOW_USER_EXPORT.title' => '允許使用者匯出其設定檔', - 'ALLOW_USER_EXPORT.description' => '允許使用者匯出其自己的連結和設定檔。', + 'ALLOW_USER_EXPORT.description' => '允許使用者匯出自己的連結與設定檔。', 'MANUAL_USER_VERIFICATION.title' => '手動驗證使用者', 'MANUAL_USER_VERIFICATION.description' => '決定管理員是否必須手動驗證新註冊的使用者。', 'ADMIN_EMAIL.title' => '管理員電子郵件', 'ADMIN_EMAIL.description' => '用於發送通知電子郵件。', 'HIDE_VERIFICATION_CHECKMARK.title' => '隱藏驗證勾選標記', - 'HIDE_VERIFICATION_CHECKMARK.description' => '隱藏在管理員和VIP頁面上顯示的驗證徽章。', - 'ENABLE_REPORT_ICON.title' => '啟用報告圖示', - 'ENABLE_REPORT_ICON.description' => '在使用者頁面上顯示一個圖示,允許使用者舉報頁面。', - 'LOCALE.title' => '應用程式區域設置', + 'HIDE_VERIFICATION_CHECKMARK.description' => '隱藏在管理員與 VIP 頁面上顯示的驗證徽章。', + 'ENABLE_REPORT_ICON.title' => '啟用檢舉圖示', + 'ENABLE_REPORT_ICON.description' => '在使用者頁面上顯示一個圖示,允許使用者檢舉頁面。', + 'LOCALE.title' => '應用程式語系', 'LOCALE.description' => '更改您的應用程式的語言', /* |-------------------------------------------------------------------------- - | 安装 + | 安裝 |-------------------------------------------------------------------------- | | resources/views/installer/installer.blade.php @@ -749,25 +748,25 @@ */ # 標題標籤 - 'LinkStack setup' => 'LinkStack 設置', + 'LinkStack setup' => 'LinkStack 設定', - 'Setup LinkStack' => '設置 LinkStack', - 'Welcome to the setup for LinkStack!' => '歡迎使用 LinkStack 設置!', - 'This setup will:' => '本設置將:', + 'Setup LinkStack' => '設定 LinkStack', + 'Welcome to the setup for LinkStack!' => '歡迎使用 LinkStack 設定精靈!', + 'This setup will:' => '本設定將:', 'Check the server dependencies' => '1. 檢查伺服器相依性', - 'Setup the database' => '2. 設置資料庫', + 'Setup the database' => '2. 設定資料庫', 'Create the admin user' => '3. 建立管理員使用者', - 'Configure the app' => '4. 配置應用程式', + 'Configure the app' => '4. 設定應用程式', 'Choose a language' => '選擇語言', 'setup.disclaimer' => '繼續即表示您同意遵守我們的', - 'Terms and Conditions' => '條款和條件', + 'Terms and Conditions' => '條款與條件', 'Next' => '下一步', 'Yes' => '是', 'No' => '否', - 'Finish setup' => '完成設置', + 'Finish setup' => '完成設定', - 'Setup failed' => '設置失敗', + 'Setup failed' => '設定失敗', 'An error has occured. Please try again' => '發生錯誤,請重試', 'Depending on your database type:' => '根據您的資料庫類型:', 'Try again' => '重試', @@ -777,7 +776,7 @@ 'Select a database type' => '選擇資料庫類型', 'Under most circumstances, we recommend using SQLite' => '在大多數情況下,我們建議使用 SQLite', - 'MySQL requires a separate, empty MySQL database' => 'MySQL 需要一個獨立的、空的 MySQL 資料庫', + 'MySQL requires a separate, empty MySQL database' => 'MySQL 需要一個獨立且空白的 MySQL 資料庫', 'Database type:' => '資料庫類型:', 'Database host:' => '資料庫主機:', @@ -792,17 +791,17 @@ 'Handle:' => '使用者名稱:', 'Name:' => '姓名:', - 'Configure your page' => '配置您的頁面', + 'Configure your page' => '設定您的頁面', 'Enable registration:' => '啟用註冊:', 'Enable email verification:' => '啟用電子郵件驗證:', - 'Set your page as Home Page' => '將您的頁面設置為首頁', + 'Set your page as Home Page' => '將您的頁面設為首頁', 'This will move the Home Page to /home' => '這將把首頁移至 /home', 'App Name:' => '應用程式名稱:', /* |-------------------------------------------------------------------------- - | 升级步驟/升級備份 + | 升級步驟/升級備份 |-------------------------------------------------------------------------- | | resources/views/update.blade.php @@ -816,25 +815,25 @@ 'Installed beta version' => '已安裝測試版', 'none' => '無', 'You need to update to the latest mainline release' => '您需要更新到最新的主線版本', - 'You’re running the latest mainline release' => '您正在運行最新的主線版本', + 'You’re running the latest mainline release' => '您正在執行最新的主線版本', - 'update.manually' => '您可以自動更新您的安裝,也可以下載更新並手動安裝:', - 'update.windows' => 'Windows 使用者可以使用替代升級程序。此升級程序不會創建備份。請謹慎使用。', + 'update.manually' => '您可以自動更新安裝,也可以下載更新並手動安裝:', + 'update.windows' => 'Windows 使用者可以使用替代升級程式。此升級程式不會建立備份,請謹慎使用。', 'Update automatically' => '自動更新', 'Updating' => '正在更新', - 'Creating backup' => '建立備份', + 'Creating backup' => '正在建立備份', 'Preparing update' => '準備更新', 'No new version' => '沒有新版本', - 'There is no new version available' => '沒有可用的新版本', + 'There is no new version available' => '目前沒有可用的新版本', 'Admin Panel' => '管理員面板', - 'Finishing up' => '完成', + 'Finishing up' => '完成中', 'Success!' => '成功!', 'The update was successful' => '更新成功,您現在可以返回管理員面板。', - 'View the release notes' => '查看發布說明', + 'View the release notes' => '查看發行說明', 'Run again' => '重新執行', 'Error' => '錯誤', - 'Something went wrong with the update' => '更新過程中出現了問題', + 'Something went wrong with the update' => '更新過程中發生問題', /* @@ -849,7 +848,7 @@ # 標題標籤 'Backup.title' => '備份', - 'The backup was successful' => '備份成功,您現在可以返回管理員面板或查看您的所有備份。', + 'The backup was successful' => '備份成功,您現在可以返回管理員面板或查看所有備份。', /* @@ -862,13 +861,13 @@ | */ - # 预設 + # 預設 'block.title.predefined' => '預設網站', - 'block.description.predefined' => '從預設網站列表中選擇,並使用該網站的品牌顏色和圖示自動為您的連結設置樣式。', + 'block.description.predefined' => '從預設網站列表中選擇,並使用該網站的品牌顏色與圖示自動為您的連結設置樣式。', # 連結 'block.title.link' => '自訂連結', - 'block.description.link' => '建立一個指向任何網站的自訂連結。自訂按鈕樣式和圖示,或使用網站的站點圖示作為按鈕圖示。', + 'block.description.link' => '建立一個指向任何網站的自訂連結。可自訂按鈕樣式與圖示,或使用網站的網站圖示作為按鈕圖示。', # 電子名片 'block.title.vcard' => '電子名片', @@ -876,7 +875,7 @@ # 電子郵件 'block.title.email' => '電子郵件地址', - 'block.description.email' => '新增一個電子郵件地址,以開啟系統對話方塊來編寫新電子郵件。', + 'block.description.email' => '新增一個電子郵件地址,以開啟系統對話方塊來撰寫新郵件。', # 電話 'block.title.telephone' => '電話號碼', @@ -884,15 +883,15 @@ # 標題 'block.title.heading' => '標題', - 'block.description.heading' => '使用標題來組織您的連結並將它們分為不同的組。', + 'block.description.heading' => '使用標題來整理您的連結並將它們分組。', # 間距 'block.title.spacer' => '間距', - 'block.description.spacer' => '在連結列表中添加空白空間。您可以選擇間距的高度。', + 'block.description.spacer' => '在連結列表中加入空白間距。您可以選擇間距高度。', # 文字 'block.title.text' => '文字', - 'block.description.text' => '在您的頁面上添加不可點擊的靜態文字。', + 'block.description.text' => '在頁面上新增不可點擊的靜態文字。', /* @@ -909,23 +908,23 @@ 'Leave blank for default title' => '若要使用預設標題,請留空', 'E-Mail address' => '電子郵件地址', 'Enter your E-Mail' => '輸入您的電子郵件', - + 'Heading Text:' => '標題文字:', - + 'URL' => '網址', 'Show website icon on button' => '在按鈕上顯示網站圖示', - - 'Select a predefined site' => '選擇預定義網站', + + 'Select a predefined site' => '選擇預設網站', 'Enter the link URL' => '輸入連結網址', - + 'Spacing height' => '間距高度', - + 'Phone' => '電話', 'Telephone number' => '電話號碼', 'Enter your telephone number' => '輸入您的電話號碼', - + 'Text to display' => '要顯示的文字', - + 'Vcard' => '電子名片', 'First Name' => '名字', 'Middle Name' => '中間名', @@ -939,7 +938,7 @@ 'Work Email' => '工作電子郵件', 'Enter your work email' => '輸入您的工作電子郵件', 'Phones' => '電話', - 'Home Phone' => '家庭電話', + 'Home Phone' => '家用電話', 'Work Phone' => '工作電話', 'Cell Phone' => '手機', 'Home Address' => '家庭地址', @@ -950,8 +949,8 @@ 'Zip/Postal Code' => '郵遞區號', 'Country' => '國家', 'Work Address' => '工作地址', - - 'URL to the video' => '影片的網址', + + 'URL to the video' => '影片網址', /* @@ -964,16 +963,16 @@ */ 'Maintenance Mode' => '維護模式', - 'We are performing scheduled site maintenance at this time' => '我們目前正在進行定期的網站維護。', + 'We are performing scheduled site maintenance at this time' => '我們目前正在進行例行網站維護。', 'Please check back with us later' => '請稍後再回來查看。', 'Admin options:' => '管理員選項:', 'Turn off' => '關閉', - 'Warn.Disable.Maintenance' => '您即將關閉維護模式。您確定嗎?', + 'Warn.Disable.Maintenance' => '您即將關閉維護模式。您確定嗎?', /* |-------------------------------------------------------------------------- - | LinkStack (Links) 頁面 + | LinkStack(連結)頁面 |-------------------------------------------------------------------------- | | resources/views/linkstack/linkstack.blade.php @@ -984,18 +983,18 @@ 'Share' => '分享', 'Copy URL to clipboard' => '複製網址到剪貼簿', 'URL has been copied to your clipboard!' => '網址已複製到您的剪貼簿!', - + 'Delete User' => '刪除使用者', 'Block User' => '封鎖使用者', 'Users Theme' => '使用者主題', 'Search User' => '搜尋使用者', - - 'Edit my profile' => '編輯我的個人資料', + + 'Edit my profile' => '編輯我的個人資料', /* |-------------------------------------------------------------------------- - | 頁腳 + | 頁尾 |-------------------------------------------------------------------------- | | 添加到某些頁面的底部。 @@ -1006,42 +1005,43 @@ 'Learn more about LinkStack' => '了解更多關於 LinkStack', 'Learn more' => '了解更多', + /* |-------------------------------------------------------------------------- | 通知消息 |-------------------------------------------------------------------------- | - | 所有内部通知。 + | 所有內部通知。 | resources/views/layouts/notifications.blade.php | */ - 'No notifications' => '没有通知', + 'No notifications' => '沒有通知', # 安全風險通知 'Your security is at risk!' => '您的安全受到威脅!', - 'Immediate action is required!' => '需要立即行動!', + 'Immediate action is required!' => '需要立即採取行動!', 'security.msg1' => '您的安全受到威脅。', 'security.msg2' => '某些檔案可被所有人存取。需要立即採取行動!', - 'security.msg3' => '一些重要檔案可公開存取,可能危及您的安全。請立即採取行動,撤銷對這些檔案的公開存取,以防止未經授權存取您的敏感資訊。', + 'security.msg3' => '一些重要檔案可公開存取,可能危及您的安全。請立即撤銷這些檔案的公開存取,以防止未經授權地存取您的敏感資訊。', 'security.msg4' => '了解更多', - # 帮助我們通知 + # 幫助我們通知 'Hide this notification' => '隱藏此通知', 'Help Us Out' => '幫助我們', 'Enjoying Linkstack?' => '喜歡使用 Linkstack 嗎?', 'Support Linkstack' => '支持 Linkstack', - 'support.msg1' => '如果您喜歡使用 Linkstack,我們將非常感激您如果您能花一點時間', + 'support.msg1' => '如果您喜歡使用 Linkstack,非常感謝您能花一點時間', 'support.msg2' => '在 GitHub 上給我們的專案一個星', - 'support.msg3' => '您的支持將幫助我們吸引更廣泛的受眾,提高我們專案的品質。', - 'support.msg4' => '如果您能', - 'support.msg5' => '提供財政支持,哪怕是一點點,也將有助於我們支付維護和改進 Linkstack 的成本。', - 'support.msg6' => '感謝您的支持,以及您是 LinkStack 社群的一部分!', + 'support.msg3' => '您的支持將幫助我們接觸更多使用者,並提升專案品質。', + 'support.msg4' => '如果您也能', + 'support.msg5' => '提供財務支持,哪怕只是一點點,也能幫助我們支付維護與改進 Linkstack 的成本。', + 'support.msg6' => '感謝您的支持,也感謝您成為 LinkStack 社群的一份子!', /* |-------------------------------------------------------------------------- - | 頁腳連結 + | 頁尾連結 |-------------------------------------------------------------------------- | */ @@ -1049,7 +1049,7 @@ 'footer.Home' => '首頁', 'footer.Terms' => '條款', 'footer.Privacy' => '隱私', - 'footer.Contact' => '聯繫', + 'footer.Contact' => '聯絡', /* @@ -1060,7 +1060,7 @@ */ 'report_violation' => '檢舉違規行為', - 'url_label' => '您要檢舉的網站網址', + 'url_label' => '您要檢舉的頁面網址', 'report_type_label' => '檢舉類型', 'hate_speech' => '仇恨言論或騷擾', 'violence_threats' => '暴力或威脅', @@ -1075,10 +1075,9 @@ 'privacy_violation' => '侵犯隱私', 'impersonation' => '冒充', 'other_specify' => '其他(請具體說明)', - 'additional_comments_label' => '附加評論', + 'additional_comments_label' => '附加說明', 'submit_button' => '提交', - 'report_mail_admin_subject' => '個人檢舉', 'report_mail_admin_report' => '已檢舉個人資料', @@ -1094,9 +1093,8 @@ 'report_mail_button_profile' => '在使用者頁面上查看', 'report_mail_button_delete' => '刪除被檢舉使用者', - 'report_error' => '個人資料無法被檢舉', - 'report_success' => '個人資料已成功檢舉', + 'report_success' => '個人資料已成功送出檢舉', #=============================================================================# @@ -1106,33 +1104,30 @@ /* |-------------------------------------------------------------------------- - | 認證語言線 + | 認證語言行 |-------------------------------------------------------------------------- | - | 以下語言線用於過程中的各種消息,我們需要向使用者顯示這些內容。 - | 您可以根據您的應用程序要求自由修改這些語言線。 - | + | 以下語言行用於認證過程中的各種訊息,我們需要向使用者顯示這些內容。 + | 您可以根據應用程式需求自由修改這些語言行。 | */ - 'failed' => '這些認證與我們的記錄不符。', + 'failed' => '這些登入憑證與我們的記錄不符。', 'password' => '提供的密碼不正確。', - 'throttle' => '登入嘗試次數過多。請在 :seconds 秒後重試。', + 'throttle' => '登入嘗試次數過多。請在 :seconds 秒後再試一次。', /* |-------------------------------------------------------------------------- - | 分頁語言線 + | 分頁語言行 |-------------------------------------------------------------------------- | - | 以下語言線由分頁器庫用於構建簡單的分頁鏈接。 - | 您可以根據您的應用程序要求更改它們以更好地匹配您的視圖。 - | + | 以下語言行由分頁器用於構建簡單的分頁連結。 + | 您可以依照應用程式需求調整這些內容。 | */ 'previous' => '« 上一頁', 'next' => '下一頁 »', - ]; diff --git a/resources/views/components/config/backups.blade.php b/resources/views/components/config/backups.blade.php index 5fb835e52..08f3f9694 100644 --- a/resources/views/components/config/backups.blade.php +++ b/resources/views/components/config/backups.blade.php @@ -1,44 +1,129 @@ + - - - @if (file_exists(base_path('backups/updater-backups/')) and is_dir(base_path('backups/updater-backups/'))) - @if($_SERVER['QUERY_STRING'] != '') - + button:hover { + background-color: #0065c1; + color: #FFF; + box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.6); + } + + .buttondm { + display: inline-block; + text-decoration: none; + height: 48px; + text-align: center; + vertical-align: middle; + font-size: 18px; + width: 300px; + font-weight: 700; + line-height: 48px; + letter-spacing: .1px; + white-space: wrap; + border-radius: 8px; + cursor: pointer + } + + .button-hover, + .credit-hover { + display: inline-block; + -webkit-transform: perspective(1px) translateZ(0); + transform: perspective(1px) translateZ(0); + box-shadow: 0 0 1px rgba(0, 0, 0, 0); + -webkit-transition-duration: .3s; + transition-duration: .3s; + -webkit-transition-property: transform; + transition-property: transform + } + + .button-hover:active, + .credit-hover:active, + .button-hover:focus, + .credit-hover:focus, + .button-hover:hover, + .credit-hover:hover { + -webkit-transform: scale(1.06); + transform: scale(1.06) + } + + .container { + align-items: center; + display: flex; + flex-direction: column; + justify-content: center; + height: 50%; + width: 100% + } + + + +@if (file_exists(base_path('backups/updater-backups/')) and is_dir(base_path('backups/updater-backups/'))) + @if ($_SERVER['QUERY_STRING'] != '') + @endif - -
-

{{__('messages.Download your updater backups:')}}

-{{__('messages.The server will never store more that two backups at a time')}}


-   '; print_r($entrys); echo '

'; - }}} ?> - - @else -
-

{{__('messages.No backups found')}}

- @endif -
+
+

+

{{ __('messages.Download your updater backups:') }}

+ {{ __('messages.The server will never store more that two backups at a time') }}


+   '; + print_r($entrys); + echo '

'; + } + } + } ?> + +@else +
+

{{ __('messages.No backups found') }}

+
+@endif +
diff --git a/resources/views/panel/backups.blade.php b/resources/views/panel/backups.blade.php index 98cb4a76e..9f691a4f6 100644 --- a/resources/views/panel/backups.blade.php +++ b/resources/views/panel/backups.blade.php @@ -1,25 +1,45 @@ @extends('layouts.sidebar') @section('content') - @if (file_exists(base_path('backups/updater-backups/')) and is_dir(base_path('backups/updater-backups/'))) - - @endif - -@endsection \ No newline at end of file + @if (file_exists(base_path('backups/updater-backups/')) && is_dir(base_path('backups/updater-backups/'))) + + @endif + @endsection + \ No newline at end of file diff --git a/version.json b/version.json index f99c6583c..7ea59483d 100644 --- a/version.json +++ b/version.json @@ -1 +1 @@ -4.8.3 +4.8.6