diff --git a/.env.example b/.env.example index 72dbf35..17b3e4f 100644 --- a/.env.example +++ b/.env.example @@ -26,3 +26,5 @@ MEMCACHED_HOST=127.0.0.1 LASTFM_KEY= LASTFM_USER= +LASTFM_TOP_TRACKS=10 +API_ROOT=http://127.0.0.1:3000 diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index 7f676f1..0000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @RoscoeDaWah diff --git a/.gitignore b/.gitignore index 801bd05..390126e 100644 --- a/.gitignore +++ b/.gitignore @@ -17,8 +17,5 @@ yarn-error.log /.fleet /.idea /.vscode +.auth0.*.json **/.DS_Store -/log -/storage -/tmp -/public/pub diff --git a/.run/Dev Server.run.xml b/.run/Dev Server.run.xml new file mode 100644 index 0000000..b52f528 --- /dev/null +++ b/.run/Dev Server.run.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.run/Development Server (External).run.xml b/.run/Development Server (External).run.xml deleted file mode 100644 index aec6c1f..0000000 --- a/.run/Development Server (External).run.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.run/Development Server.run.xml b/.run/Development Server.run.xml deleted file mode 100644 index eb6b77f..0000000 --- a/.run/Development Server.run.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/README.md b/README.md index b214035..9eb0a58 100644 --- a/README.md +++ b/README.md @@ -1,3 +1 @@ - -
-My personal website, developed using the Laravel framework +# diskfloppy.me diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index 26fbddf..56af264 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -24,9 +24,7 @@ class Handler extends ExceptionHandler public function register(): void { $this->reportable(function (Throwable $e) { - if (app()->bound('sentry')) { - app('sentry')->captureException($e); - } + // }); } } diff --git a/app/Helpers/LegacyHelper.php b/app/Helpers/LegacyHelper.php deleted file mode 100644 index cd7f252..0000000 --- a/app/Helpers/LegacyHelper.php +++ /dev/null @@ -1,15 +0,0 @@ -getHost() === "legacy.wah.moe" || // Accessed via legacy.wah.moe domain - str_starts_with(request()->getHost(), "192.168") || // Accessed via local IP address - !request()->hasHeader("Host") // Browser does not send Host header (e.g. NCSA MOSAIC) - ); - } -} diff --git a/app/Http/Controllers/BookmarksController.php b/app/Http/Controllers/BookmarksController.php deleted file mode 100644 index 56aacc7..0000000 --- a/app/Http/Controllers/BookmarksController.php +++ /dev/null @@ -1,15 +0,0 @@ -get(); - return view('bookmarks', compact('categories')); - } -} diff --git a/app/Http/Controllers/GuestbookController.php b/app/Http/Controllers/GuestbookController.php index 3fd179b..70707d7 100644 --- a/app/Http/Controllers/GuestbookController.php +++ b/app/Http/Controllers/GuestbookController.php @@ -2,32 +2,37 @@ namespace App\Http\Controllers; -use App\Models\GuestbookEntry; use Illuminate\Http\Request; -use Illuminate\Http\RedirectResponse; -use Illuminate\Contracts\View\View; -use Illuminate\Validation\ValidationException; -use UAParser\Parser; +use DB; class GuestbookController extends Controller { - public function show(): View { - $entries = GuestbookEntry::selectEntries(); - $parser = Parser::create(); - - return view('guestbook') - ->with('entries', $entries) - ->with('parser', $parser); + public function guestbook() { + return view('pages.guestbook'); } - /** - * Creates a new guestbook entry - * - * @param Request $request - * @return RedirectResponse - * @throws ValidationException - */ - public function addEntry(Request $request): RedirectResponse { - GuestbookEntry::insertGuestbookEntry($request); + public function guestbookPost(Request $request) { + $this->validate($request, [ + 'name' => 'required', + 'message' => 'required' + ]); + + $matching_bans = DB::select('SELECT reason FROM guestbook__bans WHERE ip_address = ?', array($request->ip())); + + if (!empty($matching_bans)) { + return view('errors.guestbook-ipban')->with('reason', $matching_bans[0]->reason); + } + + DB::insert( + 'INSERT INTO guestbook__entries (name, timestamp, ip_address, agent, message) values (?, ?, ?, ?, ?)', + [ + htmlspecialchars($request->get('name')), + time(), + $request->ip(), + $request->userAgent(), + htmlspecialchars($request->get('message')) + ] + ); + return back()->with('success', 'Entry submitted successfully!'); } } diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php deleted file mode 100644 index e046d58..0000000 --- a/app/Http/Controllers/HomeController.php +++ /dev/null @@ -1,33 +0,0 @@ -diff($currentDate); - return $age->y; - } - - /** - * Shows home page - * @return View - */ - public function show(): View { - return view('home', [ - 'age' => $this->returnAge(), - ]); - } -} diff --git a/app/Http/Controllers/MusicController.php b/app/Http/Controllers/MusicController.php deleted file mode 100644 index aac389f..0000000 --- a/app/Http/Controllers/MusicController.php +++ /dev/null @@ -1,76 +0,0 @@ - 'user.getrecenttracks', - 'user' => Config::get('services.lastfm.user'), - 'format' => 'json', - 'nowplaying' => 'true', - 'api_key' => Config::get('services.lastfm.key') - ])->get('https://ws.audioscrobbler.com/2.0/'); - $data = $response->json(); - $track_data = $data["recenttracks"]["track"][0]; - // $image = array_column($track_data["image"], null, 'size')['large'] ?? false; - $image = end($track_data["image"]) ?? false; - $now_playing = false; - if (array_key_exists("@attr", $track_data)) { - $now_playing = $track_data["@attr"]["nowplaying"] == "true" ?? ["url"=>null]; - } - $current_track = [ - 'title' => $track_data["name"], - 'artist' => $track_data["artist"]["#text"], - 'url' => $track_data["url"], - 'image' => $image["#text"], - 'header' => $now_playing ? "Now Playing" : "Last Track", - ]; - Cache::put('current_track', $current_track, now()->addSeconds(15)); - return $current_track; - } - - public function getTopTracks() { - // If it's already cached just return that - if (Cache::has('top_tracks')) { - return Cache::get('top_tracks'); - } - - $response = Http::withQueryParameters([ - 'method' => 'user.gettoptracks', - 'user' => Config::get('services.lastfm.user'), - 'format' => 'json', - 'period' => '1month', - 'limit' => 10, - 'api_key' => Config::get('services.lastfm.key') - ])->get('https://ws.audioscrobbler.com/2.0/'); - $data = $response->json(); - $topTracks = []; - foreach ($data["toptracks"]["track"] as $track) { - $topTracks[] = [ - 'title' => $track["name"], - 'artist' => $track["artist"]["name"], - 'url' => $track["url"], - 'plays' => $track["playcount"], - ]; - } - Cache::put('top_tracks', $topTracks, now()->addSeconds(15)); - return $topTracks; - } - public function show() : View { - return view('music') - ->with('current_track', $this->getCurrentTrack()) - ->with('top_tracks', $this->getTopTracks()); - } -} diff --git a/app/Http/Controllers/RoscoLekoController.php b/app/Http/Controllers/RoscoLekoController.php deleted file mode 100644 index a5cc5a7..0000000 --- a/app/Http/Controllers/RoscoLekoController.php +++ /dev/null @@ -1,52 +0,0 @@ - $dateA; - }); - - return $images; - } - - /** - * Shows the page - * @return View - */ - public function show(): View { - return view('pandamonium', [ - 'images' => $this->getImages(), - ]); - } -} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index d6127bc..4eab7b8 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -47,7 +47,6 @@ class Kernel extends HttpKernel protected $routeMiddleware = [ 'rate_limit' => \App\Http\Middleware\RateLimiter::class, - 'validator' => \App\Http\Middleware\GuestbookValidate::class, ]; diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php index 5ee1433..867695b 100644 --- a/app/Http/Middleware/EncryptCookies.php +++ b/app/Http/Middleware/EncryptCookies.php @@ -12,6 +12,6 @@ class EncryptCookies extends Middleware * @var array */ protected $except = [ - "colorscheme" + // ]; } diff --git a/app/Http/Middleware/GuestbookValidate.php b/app/Http/Middleware/GuestbookValidate.php deleted file mode 100644 index b2218bb..0000000 --- a/app/Http/Middleware/GuestbookValidate.php +++ /dev/null @@ -1,37 +0,0 @@ -validate([ - 'name' => 'required', - 'message' => 'required' - ]) || - $this->containsUrl($request->get('message')) || - $this->containsUrl($request->get('name')) - ) { - return response()->view('errors.guestbook-invalid', [], 400); - } - return $next($request); - } - - public function containsUrl($str) { - $matches = []; - $pattern = '/\b(?:https?|ftp|www)(:\/\/)*[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i'; - preg_match_all($pattern, $str, $matches); - return count($matches[0]); - } -} diff --git a/app/Http/Middleware/RateLimiter.php b/app/Http/Middleware/RateLimiter.php index 821868f..09eb0a9 100644 --- a/app/Http/Middleware/RateLimiter.php +++ b/app/Http/Middleware/RateLimiter.php @@ -16,9 +16,6 @@ class RateLimiter */ public function handle(Request $request, Closure $next): Response { - if (auth()->check()) { - return $next($request); - } $ipAddress = $request->ip(); $cacheKey = 'rate_limit_'.$ipAddress; diff --git a/app/Models/BookmarkCategory.php b/app/Models/BookmarkCategory.php deleted file mode 100644 index a8bc8d2..0000000 --- a/app/Models/BookmarkCategory.php +++ /dev/null @@ -1,36 +0,0 @@ -hasMany(BookmarkSite::class, 'category'); - } - - public static function insertBookmarkCategory(string $name) { - $newBookmarkCategory = new BookmarkCategory; - $newBookmarkCategory->name = $name; - $newBookmarkCategory->save(); - } - public static function selectBookmarks(int $id) { - $bookmarks = BookmarkSite::where('category', '=', $id)->firstOrFail(); - return $bookmarks; - } - - public static function importBookmarkCategory(array $data) { - foreach ($data as $category) { - $newBookmarkCategory = new BookmarkCategory; - $newBookmarkCategory->name = $category['name']; - $newBookmarkCategory->priority = intval($category['priority']); - $newBookmarkCategory->save(); - } - } -} diff --git a/app/Models/BookmarkSite.php b/app/Models/BookmarkSite.php deleted file mode 100644 index 3c9cc5d..0000000 --- a/app/Models/BookmarkSite.php +++ /dev/null @@ -1,35 +0,0 @@ -belongsTo(BookmarkCategory::class, 'category'); - } - public static function insertBookmark(string $name, string $url, int $category) { - $category = BookmarkCategory::where('id', $category)->firstOrFail(); - $newBookmark = new BookmarkSite; - $newBookmark->name = $name; - $newBookmark->url = $url; - $newBookmark->category = $category->id; - $newBookmark->save(); - } - - public static function importBookmark(array $data) { - foreach ($data as $site) { - $newBookmark = new BookmarkSite; - $newBookmark->name = $site['name']; - $newBookmark->description = $site['description']; - $newBookmark->url = $site['url']; - $newBookmark->category = $site['category_id']; - $newBookmark->save(); - } - } -} diff --git a/app/Models/GuestbookEntry.php b/app/Models/GuestbookEntry.php deleted file mode 100644 index b25e0b4..0000000 --- a/app/Models/GuestbookEntry.php +++ /dev/null @@ -1,50 +0,0 @@ -name = $request->get('name'); - $newEntry->message = $request->get('message'); - $newEntry->ip = $request->ip(); - $newEntry->agent = $request->userAgent(); - $newEntry->legacy_flagged = isLegacy(); - $newEntry->save(); - } - - public static function selectEntries() { - $entries = GuestbookEntry::where("legacy_flagged", false)->orderBy('created_at', 'desc')->get(); - return $entries; - } - - public static function importGuestbookEntry(array $data) { - foreach ($data as $entry) { - $dt = new \DateTime('@' . $entry['timestamp']); - $newEntry = new GuestbookEntry; - $newEntry->name = $entry['name']; - $newEntry->ip = $entry['ip_address']; - $newEntry->agent = $entry['agent']; - $newEntry->admin = $entry['site_owner']; - $newEntry->message = $entry['message']; - $newEntry->created_at = $dt; - $newEntry->updated_at = $dt; - $newEntry->save(); - } - } -} diff --git a/app/Models/User.php b/app/Models/User.php new file mode 100644 index 0000000..4d7f70f --- /dev/null +++ b/app/Models/User.php @@ -0,0 +1,45 @@ + + */ + protected $fillable = [ + 'name', + 'email', + 'password', + ]; + + /** + * The attributes that should be hidden for serialization. + * + * @var array + */ + protected $hidden = [ + 'password', + 'remember_token', + ]; + + /** + * The attributes that should be cast. + * + * @var array + */ + protected $casts = [ + 'email_verified_at' => 'datetime', + 'password' => 'hashed', + ]; +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 2209133..452e6b6 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -2,20 +2,23 @@ namespace App\Providers; -use Illuminate\Support\Facades\Config; use Illuminate\Support\ServiceProvider; -use PostHog\PostHog; -class AppServiceProvider extends ServiceProvider { +class AppServiceProvider extends ServiceProvider +{ /** * Register any application services. */ - public function register(): void { + public function register(): void + { // } /** * Bootstrap any application services. */ - public function boot(): void {} + public function boot(): void + { + // + } } diff --git a/app/View/Components/LastFMCurrent.php b/app/View/Components/LastFMCurrent.php deleted file mode 100644 index ebe029b..0000000 --- a/app/View/Components/LastFMCurrent.php +++ /dev/null @@ -1,24 +0,0 @@ -track = $track; - } - - /** - * Get the view / contents that represent the component. - */ - public function render(): View|Closure|string { - return view('components.lastfm-current'); - } -} diff --git a/app/View/Components/LastFMTop.php b/app/View/Components/LastFMTop.php deleted file mode 100644 index da69710..0000000 --- a/app/View/Components/LastFMTop.php +++ /dev/null @@ -1,24 +0,0 @@ -tracks = $tracks; - } - - /** - * Get the view / contents that represent the component. - */ - public function render(): View|Closure|string { - return view('components.lastfm-top'); - } -} diff --git a/app/View/Components/LastFMTrack.php b/app/View/Components/LastFMTrack.php deleted file mode 100644 index da77fe2..0000000 --- a/app/View/Components/LastFMTrack.php +++ /dev/null @@ -1,26 +0,0 @@ -track = $track; - $this->count = $count; - } - - /** - * Get the view / contents that represent the component. - */ - public function render(): View|Closure|string { - return view('components.lastfm-track'); - } -} diff --git a/app/View/Components/Layout.php b/app/View/Components/Layout.php deleted file mode 100644 index 440f2fc..0000000 --- a/app/View/Components/Layout.php +++ /dev/null @@ -1,40 +0,0 @@ - $this->isItChristmas() - ]); - } else { - return view('components.layout', [ - 'isChristmas' => $this->isItChristmas() - ]); - } - } - - public function isItChristmas() : bool { - $currentDate = new DateTime(); - $currentYear = intval($currentDate->format('Y')); - - $startDate = new DateTime("$currentYear-11-10"); - $endDate = new DateTime(($currentYear + 1) . "-01-01"); - - return $currentDate >= $startDate && $currentDate < $endDate; - } -} diff --git a/app/View/Components/Navbar.php b/app/View/Components/Navbar.php deleted file mode 100644 index b7612c1..0000000 --- a/app/View/Components/Navbar.php +++ /dev/null @@ -1,24 +0,0 @@ -title = $title; - } - - /** - * Get the view / contents that represent the component. - */ - public function render(): View|Closure|string { - return view('components.navigation'); - } -} diff --git a/app/View/Components/Wah.php b/app/View/Components/Wah.php deleted file mode 100644 index fdb4c23..0000000 --- a/app/View/Components/Wah.php +++ /dev/null @@ -1,50 +0,0 @@ -json(); - if ($data == null) return ""; - $path = parse_url("https://api.tinyfox.dev" . $data["loc"], PHP_URL_PATH); - return "//".request()->getHttpHost()."/proxy/wah/".basename($path); - } catch (Exception $ex) { - return ""; - } - } - try { - $response = Http::get('https://api.tinyfox.dev/img.json?animal=wah'); - $data = $response->json(); - if ($data == null) return ""; - return "https://api.tinyfox.dev" . $data["loc"]; - - } catch (Exception $ex) { - return ""; - } - } - - /** - * Get the view / contents that represent the component. - */ - public function render(): View|Closure|string { - return view('components.wah', [ - 'wah' => $this->getWah(), - ]); - } -} diff --git a/assets/logo.svg b/assets/logo.svg deleted file mode 100644 index 06afab7..0000000 --- a/assets/logo.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/composer.json b/composer.json index 18a6d2c..787b44e 100644 --- a/composer.json +++ b/composer.json @@ -1,21 +1,18 @@ { - "name": "roscoedawah/wah.moe", + "name": "floppydisk05/diskfloppy.me", "type": "project", "description": "My personal website, developed using the Laravel framework.", "keywords": ["laravel", "framework"], "license": "MIT", "require": { "php": "^8.1", - "ext-exif": "*", - "browner12/helpers": "^3.7", + "auth0/login": "^7.8", "guzzlehttp/guzzle": "^7.2", - "intervention/image": "^3.9", "laravel/framework": "^10.10", + "laravel/sanctum": "^3.2", "laravel/tinker": "^2.8", "scrivo/highlight.php": "v9.18.1.10", - "spatie/laravel-honeypot": "^4.3", - "spatie/laravel-html": "^3.4", - "ua-parser/uap-php": "^3.9.14" + "spatie/laravel-honeypot": "^4.3" }, "require-dev": { "fakerphp/faker": "^1.9.1", diff --git a/composer.lock b/composer.lock index 7987377..ca94442 100644 --- a/composer.lock +++ b/composer.lock @@ -4,29 +4,239 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "2ac3bfd779b16bd2b0f122c15c733ab5", + "content-hash": "b9fa52d6299a2643f49a5191cf7b6cc8", "packages": [ { - "name": "brick/math", - "version": "0.12.3", + "name": "auth0/auth0-php", + "version": "8.9.0", "source": { "type": "git", - "url": "https://github.com/brick/math.git", - "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba" + "url": "https://github.com/auth0/auth0-PHP.git", + "reference": "a8efbb81d0f93a0aaa3ff212ce34955e33c7941d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/866551da34e9a618e64a819ee1e01c20d8a588ba", - "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba", + "url": "https://api.github.com/repos/auth0/auth0-PHP/zipball/a8efbb81d0f93a0aaa3ff212ce34955e33c7941d", + "reference": "a8efbb81d0f93a0aaa3ff212ce34955e33c7941d", "shasum": "" }, "require": { - "php": "^8.1" + "ext-json": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "php": "^8.0", + "php-http/multipart-stream-builder": "^1", + "psr-discovery/all": "^1", + "psr/http-client-implementation": "^1", + "psr/http-factory-implementation": "^1", + "psr/http-message-implementation": "^1" + }, + "require-dev": { + "ergebnis/composer-normalize": "^2", + "friendsofphp/php-cs-fixer": "^3", + "mockery/mockery": "^1", + "pestphp/pest": "^2", + "phpstan/phpstan": "^1", + "phpstan/phpstan-strict-rules": "^1", + "psr-mock/http": "^1", + "rector/rector": "0.17.6", + "spatie/ray": "^1", + "symfony/cache": "^4 || ^5 || ^6", + "symfony/event-dispatcher": "^4 || ^5 || ^6", + "vimeo/psalm": "^5", + "wikimedia/composer-merge-plugin": "^2" + }, + "suggest": { + "psr/cache-implementation": "(PSR-6 Cache) Improve performance by avoiding making redundant network requests.", + "psr/event-dispatcher-implementation": "(PSR-14 Event Dispatcher) Observe and react to events when they occur." + }, + "type": "library", + "extra": { + "merge-plugin": { + "ignore-duplicates": false, + "include": [ + "composer.local.json" + ], + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": false, + "recurse": true, + "replace": true + } + }, + "autoload": { + "psr-4": { + "Auth0\\SDK\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Auth0", + "email": "support@auth0.com", + "homepage": "https://auth0.com/" + } + ], + "description": "PHP SDK for Auth0 Authentication and Management APIs.", + "homepage": "https://github.com/auth0/auth0-PHP", + "keywords": [ + "Authentication", + "JSON Web Token", + "JWK", + "OpenId", + "api", + "auth", + "auth0", + "authorization", + "json web key", + "jwt", + "login", + "oauth", + "protect", + "secure" + ], + "support": { + "issues": "https://github.com/auth0/auth0-PHP/issues", + "source": "https://github.com/auth0/auth0-PHP/tree/8.9.0" + }, + "time": "2023-11-14T01:31:10+00:00" + }, + { + "name": "auth0/login", + "version": "7.11.0", + "source": { + "type": "git", + "url": "https://github.com/auth0/laravel-auth0.git", + "reference": "5d6f21888c862fd5aa6696efc277414b50a7a791" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/auth0/laravel-auth0/zipball/5d6f21888c862fd5aa6696efc277414b50a7a791", + "reference": "5d6f21888c862fd5aa6696efc277414b50a7a791", + "shasum": "" + }, + "require": { + "auth0/auth0-php": "^8.7", + "ext-json": "*", + "illuminate/contracts": "^9 || ^10", + "illuminate/http": "^9 || ^10", + "illuminate/support": "^9 || ^10", + "php": "^8.0", + "psr-discovery/all": "^1", + "psr/cache": "^2 || ^3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3", + "mockery/mockery": "^1", + "nunomaduro/larastan": "^2", + "orchestra/testbench": "^7 || ^8", + "pestphp/pest": "^2", + "pestphp/pest-plugin-laravel": "^2", + "phpstan/phpstan": "^1", + "phpstan/phpstan-strict-rules": "^1", + "psalm/plugin-laravel": "^2", + "psr-mock/http": "^1", + "rector/rector": "0.17.0", + "spatie/laravel-ray": "^1", + "squizlabs/php_codesniffer": "^3", + "symfony/cache": "^6", + "vimeo/psalm": "^5", + "wikimedia/composer-merge-plugin": "^2" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Auth0": "Auth0\\Laravel\\Facade\\Auth0" + }, + "providers": [ + "Auth0\\Laravel\\ServiceProvider" + ] + }, + "merge-plugin": { + "ignore-duplicates": false, + "include": [ + "composer.local.json" + ], + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": false, + "recurse": true, + "replace": true + } + }, + "autoload": { + "psr-4": { + "Auth0\\Laravel\\": [ + "src/", + "deprecated/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Auth0", + "email": "support@auth0.com", + "homepage": "https://auth0.com/" + } + ], + "description": "Auth0 Laravel SDK. Straight-forward and tested methods for implementing authentication, and accessing Auth0's Management API endpoints.", + "homepage": "https://github.com/auth0/laravel-auth0", + "keywords": [ + "Authentication", + "JSON Web Token", + "JWK", + "OpenId", + "api", + "auth", + "auth0", + "authorization", + "json web key", + "jwt", + "laravel", + "login", + "oauth", + "protect", + "secure" + ], + "support": { + "email": "support@auth0.com", + "forum": "https://community.auth0.com", + "issues": "https://github.com/auth0/laravel-auth0/issues", + "source": "https://github.com/auth0/laravel-auth0" + }, + "time": "2023-08-09T05:28:49+00:00" + }, + { + "name": "brick/math", + "version": "0.11.0", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478", + "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478", + "shasum": "" + }, + "require": { + "php": "^8.0" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^10.1", - "vimeo/psalm": "6.8.8" + "phpunit/phpunit": "^9.0", + "vimeo/psalm": "5.0.0" }, "type": "library", "autoload": { @@ -46,17 +256,12 @@ "arithmetic", "bigdecimal", "bignum", - "bignumber", "brick", - "decimal", - "integer", - "math", - "mathematics", - "rational" + "math" ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.12.3" + "source": "https://github.com/brick/math/tree/0.11.0" }, "funding": [ { @@ -64,178 +269,38 @@ "type": "github" } ], - "time": "2025-02-28T13:11:00+00:00" + "time": "2023-01-15T23:15:59+00:00" }, { - "name": "browner12/helpers", - "version": "v3.7.0", + "name": "composer/semver", + "version": "3.4.0", "source": { "type": "git", - "url": "https://github.com/browner12/helpers.git", - "reference": "dfbc47b0d2b972c41d1afef9add40c662d4146f1" + "url": "https://github.com/composer/semver.git", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/browner12/helpers/zipball/dfbc47b0d2b972c41d1afef9add40c662d4146f1", - "reference": "dfbc47b0d2b972c41d1afef9add40c662d4146f1", + "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", "shasum": "" }, "require": { - "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|^8.0" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^10.0", - "scrutinizer/ocular": "^1.1", - "squizlabs/php_codesniffer": "^3.6" - }, - "suggest": { - "moneyphp/money": "Money value object." - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "browner12\\helpers\\HelperServiceProvider" - ] - }, - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "browner12\\helpers\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andrew Brown", - "email": "browner12@gmail.com", - "role": "Developer" - } - ], - "description": "generic helpers", - "homepage": "https://github.com/browner12/helpers", - "keywords": [ - "browner12", - "helpers" - ], - "support": { - "issues": "https://github.com/browner12/helpers/issues", - "source": "https://github.com/browner12/helpers/tree/v3.7.0" - }, - "time": "2025-03-20T15:49:03+00:00" - }, - { - "name": "carbonphp/carbon-doctrine-types", - "version": "2.1.0", - "source": { - "type": "git", - "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", - "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", - "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "conflict": { - "doctrine/dbal": "<3.7.0 || >=4.0.0" - }, - "require-dev": { - "doctrine/dbal": "^3.7.0", - "nesbot/carbon": "^2.71.0 || ^3.0.0", - "phpunit/phpunit": "^10.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "KyleKatarn", - "email": "kylekatarnls@gmail.com" - } - ], - "description": "Types to use Carbon in Doctrine", - "keywords": [ - "carbon", - "date", - "datetime", - "doctrine", - "time" - ], - "support": { - "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", - "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" - }, - "funding": [ - { - "url": "https://github.com/kylekatarnls", - "type": "github" - }, - { - "url": "https://opencollective.com/Carbon", - "type": "open_collective" - }, - { - "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", - "type": "tidelift" - } - ], - "time": "2023-12-11T17:09:12+00:00" - }, - { - "name": "composer/ca-bundle", - "version": "1.5.8", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "719026bb30813accb68271fee7e39552a58e9f65" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/719026bb30813accb68271fee7e39552a58e9f65", - "reference": "719026bb30813accb68271fee7e39552a58e9f65", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8 || ^9", - "psr/log": "^1.0 || ^2.0 || ^3.0", - "symfony/process": "^4.0 || ^5.0 || ^6.0 || ^7.0" + "phpstan/phpstan": "^1.4", + "symfony/phpunit-bridge": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.x-dev" + "dev-main": "3.x-dev" } }, "autoload": { "psr-4": { - "Composer\\CaBundle\\": "src" + "Composer\\Semver\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -243,24 +308,33 @@ "MIT" ], "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "description": "Semver library that offers utilities, version constraint parsing and validation.", "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" + "semantic", + "semver", + "validation", + "versioning" ], "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.8" + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.0" }, "funding": [ { @@ -270,22 +344,26 @@ { "url": "https://github.com/composer", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" } ], - "time": "2025-08-20T18:49:47+00:00" + "time": "2023-08-31T09:50:34+00:00" }, { "name": "dflydev/dot-access-data", - "version": "v3.0.3", + "version": "v3.0.2", "source": { "type": "git", "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" + "reference": "f41715465d65213d644d3141a6a93081be5d3549" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", - "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", + "reference": "f41715465d65213d644d3141a6a93081be5d3549", "shasum": "" }, "require": { @@ -345,38 +423,39 @@ ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" }, - "time": "2024-07-08T12:26:09+00:00" + "time": "2022-10-27T11:44:00+00:00" }, { "name": "doctrine/inflector", - "version": "2.1.0", + "version": "2.0.8", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b" + "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/6d6c96277ea252fc1304627204c3d5e6e15faa3b", - "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff", + "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "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" + "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" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Inflector\\": "src" + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" } }, "notification-url": "https://packagist.org/downloads/", @@ -421,7 +500,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.1.0" + "source": "https://github.com/doctrine/inflector/tree/2.0.8" }, "funding": [ { @@ -437,31 +516,31 @@ "type": "tidelift" } ], - "time": "2025-08-10T19:31:58+00:00" + "time": "2023-06-16T13:40:37+00:00" }, { "name": "doctrine/lexer", - "version": "3.0.1", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" + "reference": "84a527db05647743d50373e0ec53a152f2cde568" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", - "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", + "reference": "84a527db05647743d50373e0ec53a152f2cde568", "shasum": "" }, "require": { "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^12", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^10.5", + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.9", + "phpunit/phpunit": "^9.5", "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^5.21" + "vimeo/psalm": "^5.0" }, "type": "library", "autoload": { @@ -498,7 +577,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/3.0.1" + "source": "https://github.com/doctrine/lexer/tree/3.0.0" }, "funding": [ { @@ -514,20 +593,20 @@ "type": "tidelift" } ], - "time": "2024-02-05T11:56:58+00:00" + "time": "2022-12-15T16:57:16+00:00" }, { "name": "dragonmantank/cron-expression", - "version": "v3.4.0", + "version": "v3.3.3", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "8c784d071debd117328803d86b2097615b457500" + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500", - "reference": "8c784d071debd117328803d86b2097615b457500", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", "shasum": "" }, "require": { @@ -540,14 +619,10 @@ "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" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, "autoload": { "psr-4": { "Cron\\": "src/Cron/" @@ -571,7 +646,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.4.0" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" }, "funding": [ { @@ -579,20 +654,20 @@ "type": "github" } ], - "time": "2024-10-09T13:47:03+00:00" + "time": "2023-08-10T19:36:49+00:00" }, { "name": "egulias/email-validator", - "version": "4.0.4", + "version": "4.0.2", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa" + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", - "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", "shasum": "" }, "require": { @@ -638,7 +713,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/4.0.4" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" }, "funding": [ { @@ -646,7 +721,7 @@ "type": "github" } ], - "time": "2025-03-06T22:45:56+00:00" + "time": "2023-10-06T06:47:41+00:00" }, { "name": "fruitcake/php-cors", @@ -721,24 +796,24 @@ }, { "name": "graham-campbell/result-type", - "version": "v1.1.3", + "version": "v1.1.2", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" }, "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/fbd48bce38f73f8a4ec8583362e732e4095e5862", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3" + "phpoption/phpoption": "^1.9.2" }, "require-dev": { - "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" }, "type": "library", "autoload": { @@ -767,7 +842,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.2" }, "funding": [ { @@ -779,26 +854,26 @@ "type": "tidelift" } ], - "time": "2024-07-20T21:45:45+00:00" + "time": "2023-11-12T22:16:48+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.10.0", + "version": "7.8.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" + "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1110f66a6530a40fe7aea0378fe608ee2b2248f9", + "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^2.3", - "guzzlehttp/psr7": "^2.8", + "guzzlehttp/promises": "^1.5.3 || ^2.0.1", + "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -807,11 +882,11 @@ "psr/http-client-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", + "bamarni/composer-bin-plugin": "^1.8.1", "ext-curl": "*", - "guzzle/client-integration-tests": "3.0.2", + "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.39 || ^9.6.20", + "phpunit/phpunit": "^8.5.29 || ^9.5.23", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -889,7 +964,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.10.0" + "source": "https://github.com/guzzle/guzzle/tree/7.8.0" }, "funding": [ { @@ -905,28 +980,28 @@ "type": "tidelift" } ], - "time": "2025-08-23T22:36:01+00:00" + "time": "2023-08-27T10:20:53+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.3.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "481557b130ef3790cf82b713667b43030dc9c957" + "reference": "111166291a0f8130081195ac4556a5587d7f1b5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", - "reference": "481557b130ef3790cf82b713667b43030dc9c957", + "url": "https://api.github.com/repos/guzzle/promises/zipball/111166291a0f8130081195ac4556a5587d7f1b5d", + "reference": "111166291a0f8130081195ac4556a5587d7f1b5d", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" + "bamarni/composer-bin-plugin": "^1.8.1", + "phpunit/phpunit": "^8.5.29 || ^9.5.23" }, "type": "library", "extra": { @@ -972,7 +1047,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.3.0" + "source": "https://github.com/guzzle/promises/tree/2.0.1" }, "funding": [ { @@ -988,20 +1063,20 @@ "type": "tidelift" } ], - "time": "2025-08-22T14:34:08+00:00" + "time": "2023-08-03T15:11:55+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.8.0", + "version": "2.6.1", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "21dc724a0583619cd1652f673303492272778051" + "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", - "reference": "21dc724a0583619cd1652f673303492272778051", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/be45764272e8873c72dbe3d2edcfdfcc3bc9f727", + "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727", "shasum": "" }, "require": { @@ -1015,9 +1090,9 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "0.9.0", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" + "bamarni/composer-bin-plugin": "^1.8.1", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.29 || ^9.5.23" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1088,7 +1163,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.8.0" + "source": "https://github.com/guzzle/psr7/tree/2.6.1" }, "funding": [ { @@ -1104,38 +1179,32 @@ "type": "tidelift" } ], - "time": "2025-08-23T21:21:41+00:00" + "time": "2023-08-27T10:13:57+00:00" }, { "name": "guzzlehttp/uri-template", - "version": "v1.0.5", + "version": "v1.0.2", "source": { "type": "git", "url": "https://github.com/guzzle/uri-template.git", - "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1" + "reference": "61bf437fc2197f587f6857d3ff903a24f1731b5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/4f4bbd4e7172148801e76e3decc1e559bdee34e1", - "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/61bf437fc2197f587f6857d3ff903a24f1731b5d", + "reference": "61bf437fc2197f587f6857d3ff903a24f1731b5d", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "symfony/polyfill-php80": "^1.24" + "symfony/polyfill-php80": "^1.17" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.44 || ^9.6.25", + "bamarni/composer-bin-plugin": "^1.8.1", + "phpunit/phpunit": "^8.5.19 || ^9.5.8", "uri-template/tests": "1.0.0" }, "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, "autoload": { "psr-4": { "GuzzleHttp\\UriTemplate\\": "src" @@ -1174,7 +1243,7 @@ ], "support": { "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.5" + "source": "https://github.com/guzzle/uri-template/tree/v1.0.2" }, "funding": [ { @@ -1190,168 +1259,24 @@ "type": "tidelift" } ], - "time": "2025-08-22T14:27:06+00:00" - }, - { - "name": "intervention/gif", - "version": "4.2.2", - "source": { - "type": "git", - "url": "https://github.com/Intervention/gif.git", - "reference": "5999eac6a39aa760fb803bc809e8909ee67b451a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Intervention/gif/zipball/5999eac6a39aa760fb803bc809e8909ee67b451a", - "reference": "5999eac6a39aa760fb803bc809e8909ee67b451a", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "phpstan/phpstan": "^2.1", - "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", - "slevomat/coding-standard": "~8.0", - "squizlabs/php_codesniffer": "^3.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Intervention\\Gif\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Oliver Vogel", - "email": "oliver@intervention.io", - "homepage": "https://intervention.io/" - } - ], - "description": "Native PHP GIF Encoder/Decoder", - "homepage": "https://github.com/intervention/gif", - "keywords": [ - "animation", - "gd", - "gif", - "image" - ], - "support": { - "issues": "https://github.com/Intervention/gif/issues", - "source": "https://github.com/Intervention/gif/tree/4.2.2" - }, - "funding": [ - { - "url": "https://paypal.me/interventionio", - "type": "custom" - }, - { - "url": "https://github.com/Intervention", - "type": "github" - }, - { - "url": "https://ko-fi.com/interventionphp", - "type": "ko_fi" - } - ], - "time": "2025-03-29T07:46:21+00:00" - }, - { - "name": "intervention/image", - "version": "3.11.4", - "source": { - "type": "git", - "url": "https://github.com/Intervention/image.git", - "reference": "8c49eb21a6d2572532d1bc425964264f3e496846" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/8c49eb21a6d2572532d1bc425964264f3e496846", - "reference": "8c49eb21a6d2572532d1bc425964264f3e496846", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "intervention/gif": "^4.2", - "php": "^8.1" - }, - "require-dev": { - "mockery/mockery": "^1.6", - "phpstan/phpstan": "^2.1", - "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", - "slevomat/coding-standard": "~8.0", - "squizlabs/php_codesniffer": "^3.8" - }, - "suggest": { - "ext-exif": "Recommended to be able to read EXIF data properly." - }, - "type": "library", - "autoload": { - "psr-4": { - "Intervention\\Image\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Oliver Vogel", - "email": "oliver@intervention.io", - "homepage": "https://intervention.io/" - } - ], - "description": "PHP image manipulation", - "homepage": "https://image.intervention.io/", - "keywords": [ - "gd", - "image", - "imagick", - "resize", - "thumbnail", - "watermark" - ], - "support": { - "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/3.11.4" - }, - "funding": [ - { - "url": "https://paypal.me/interventionio", - "type": "custom" - }, - { - "url": "https://github.com/Intervention", - "type": "github" - }, - { - "url": "https://ko-fi.com/interventionphp", - "type": "ko_fi" - } - ], - "time": "2025-07-30T13:13:19+00:00" + "time": "2023-08-27T10:19:19+00:00" }, { "name": "laravel/framework", - "version": "v10.48.29", + "version": "v10.32.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "8f7f9247cb8aad1a769d6b9815a6623d89b46b47" + "reference": "b30e44f20d244f7ba125283e14a8bbac167f4e5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/8f7f9247cb8aad1a769d6b9815a6623d89b46b47", - "reference": "8f7f9247cb8aad1a769d6b9815a6623d89b46b47", + "url": "https://api.github.com/repos/laravel/framework/zipball/b30e44f20d244f7ba125283e14a8bbac167f4e5b", + "reference": "b30e44f20d244f7ba125283e14a8bbac167f4e5b", "shasum": "" }, "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", + "brick/math": "^0.9.3|^0.10.2|^0.11", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", "dragonmantank/cron-expression": "^3.3.2", @@ -1380,7 +1305,7 @@ "symfony/console": "^6.2", "symfony/error-handler": "^6.2", "symfony/finder": "^6.2", - "symfony/http-foundation": "^6.4", + "symfony/http-foundation": "^6.3", "symfony/http-kernel": "^6.2", "symfony/mailer": "^6.2", "symfony/mime": "^6.2", @@ -1393,10 +1318,6 @@ "voku/portable-ascii": "^2.0" }, "conflict": { - "carbonphp/carbon-doctrine-types": ">=3.0", - "doctrine/dbal": ">=4.0", - "mockery/mockery": "1.6.8", - "phpunit/phpunit": ">=11.0.0", "tightenco/collect": "<5.5.33" }, "provide": { @@ -1452,9 +1373,9 @@ "league/flysystem-sftp-v3": "^3.0", "mockery/mockery": "^1.5.1", "nyholm/psr7": "^1.2", - "orchestra/testbench-core": "^8.23.4", + "orchestra/testbench-core": "^8.15.1", "pda/pheanstalk": "^4.0", - "phpstan/phpstan": "~1.11.11", + "phpstan/phpstan": "^1.4.7", "phpunit/phpunit": "^10.0.7", "predis/predis": "^2.0.2", "symfony/cache": "^6.2", @@ -1508,7 +1429,6 @@ "files": [ "src/Illuminate/Collections/helpers.php", "src/Illuminate/Events/functions.php", - "src/Illuminate/Filesystem/functions.php", "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Support/helpers.php" ], @@ -1541,20 +1461,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-03-12T14:42:01+00:00" + "time": "2023-11-14T22:57:08+00:00" }, { "name": "laravel/prompts", - "version": "v0.1.25", + "version": "v0.1.13", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95" + "reference": "e1379d8ead15edd6cc4369c22274345982edc95a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/7b4029a84c37cb2725fc7f011586e2997040bc95", - "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95", + "url": "https://api.github.com/repos/laravel/prompts/zipball/e1379d8ead15edd6cc4369c22274345982edc95a", + "reference": "e1379d8ead15edd6cc4369c22274345982edc95a", "shasum": "" }, "require": { @@ -1570,7 +1490,7 @@ "require-dev": { "mockery/mockery": "^1.5", "pestphp/pest": "^2.3", - "phpstan/phpstan": "^1.11", + "phpstan/phpstan": "^1.10", "phpstan/phpstan-mockery": "^1.1" }, "suggest": { @@ -1594,36 +1514,100 @@ "license": [ "MIT" ], - "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.25" + "source": "https://github.com/laravel/prompts/tree/v0.1.13" }, - "time": "2024-08-12T22:06:33+00:00" + "time": "2023-10-27T13:53:59+00:00" }, { - "name": "laravel/serializable-closure", - "version": "v1.3.7", + "name": "laravel/sanctum", + "version": "v3.3.2", "source": { "type": "git", - "url": "https://github.com/laravel/serializable-closure.git", - "reference": "4f48ade902b94323ca3be7646db16209ec76be3d" + "url": "https://github.com/laravel/sanctum.git", + "reference": "e1a272893bec13cf135627f7e156030b3afe1e60" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d", - "reference": "4f48ade902b94323ca3be7646db16209ec76be3d", + "url": "https://api.github.com/repos/laravel/sanctum/zipball/e1a272893bec13cf135627f7e156030b3afe1e60", + "reference": "e1a272893bec13cf135627f7e156030b3afe1e60", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/console": "^9.21|^10.0", + "illuminate/contracts": "^9.21|^10.0", + "illuminate/database": "^9.21|^10.0", + "illuminate/support": "^9.21|^10.0", + "php": "^8.0.2" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "orchestra/testbench": "^7.28.2|^8.8.3", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Sanctum\\SanctumServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sanctum\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel Sanctum provides a featherweight authentication system for SPAs and simple APIs.", + "keywords": [ + "auth", + "laravel", + "sanctum" + ], + "support": { + "issues": "https://github.com/laravel/sanctum/issues", + "source": "https://github.com/laravel/sanctum" + }, + "time": "2023-11-03T13:42:14+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v1.3.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754", "shasum": "" }, "require": { "php": "^7.3|^8.0" }, "require-dev": { - "illuminate/support": "^8.0|^9.0|^10.0|^11.0", - "nesbot/carbon": "^2.61|^3.0", + "nesbot/carbon": "^2.61", "pestphp/pest": "^1.21.3", "phpstan/phpstan": "^1.8.2", - "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0" + "symfony/var-dumper": "^5.4.11" }, "type": "library", "extra": { @@ -1660,40 +1644,43 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2024-11-14T18:34:49+00:00" + "time": "2023-11-08T14:08:06+00:00" }, { "name": "laravel/tinker", - "version": "v2.10.1", + "version": "v2.8.2", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3" + "reference": "b936d415b252b499e8c3b1f795cd4fc20f57e1f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/22177cc71807d38f2810c6204d8f7183d88a57d3", - "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3", + "url": "https://api.github.com/repos/laravel/tinker/zipball/b936d415b252b499e8c3b1f795cd4fc20f57e1f3", + "reference": "b936d415b252b499e8c3b1f795cd4fc20f57e1f3", "shasum": "" }, "require": { - "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", + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.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" + "psy/psysh": "^0.10.4|^0.11.1", + "symfony/var-dumper": "^4.3.4|^5.0|^6.0" }, "require-dev": { "mockery/mockery": "~1.3.3|^1.4.2", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0" + "phpunit/phpunit": "^8.5.8|^9.3.3" }, "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)." + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0)." }, "type": "library", "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + }, "laravel": { "providers": [ "Laravel\\Tinker\\TinkerServiceProvider" @@ -1724,22 +1711,22 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.10.1" + "source": "https://github.com/laravel/tinker/tree/v2.8.2" }, - "time": "2025-01-27T14:24:01+00:00" + "time": "2023-08-15T14:27:00+00:00" }, { "name": "league/commonmark", - "version": "2.7.1", + "version": "2.4.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "10732241927d3971d28e7ea7b5712721fa2296ca" + "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/10732241927d3971d28e7ea7b5712721fa2296ca", - "reference": "10732241927d3971d28e7ea7b5712721fa2296ca", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/3669d6d5f7a47a93c08ddff335e6d945481a1dd5", + "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5", "shasum": "" }, "require": { @@ -1752,8 +1739,8 @@ }, "require-dev": { "cebe/markdown": "^1.0", - "commonmark/cmark": "0.31.1", - "commonmark/commonmark.js": "0.31.1", + "commonmark/cmark": "0.30.0", + "commonmark/commonmark.js": "0.30.0", "composer/package-versions-deprecated": "^1.8", "embed/embed": "^4.4", "erusev/parsedown": "^1.0", @@ -1762,13 +1749,12 @@ "michelf/php-markdown": "^1.4 || ^2.0", "nyholm/psr7": "^1.5", "phpstan/phpstan": "^1.8.2", - "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", + "phpunit/phpunit": "^9.5.21", "scrutinizer/ocular": "^1.8.1", - "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", + "symfony/finder": "^5.3 | ^6.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", "unleashedtech/php-coding-standard": "^3.1.1", - "vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0" + "vimeo/psalm": "^4.24.0 || ^5.0.0" }, "suggest": { "symfony/yaml": "v2.3+ required if using the Front Matter extension" @@ -1776,7 +1762,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.8-dev" + "dev-main": "2.5-dev" } }, "autoload": { @@ -1833,7 +1819,7 @@ "type": "tidelift" } ], - "time": "2025-07-20T12:47:49+00:00" + "time": "2023-08-30T16:55:00+00:00" }, { "name": "league/config", @@ -1919,16 +1905,16 @@ }, { "name": "league/flysystem", - "version": "3.30.0", + "version": "3.21.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "2203e3151755d874bb2943649dae1eb8533ac93e" + "reference": "a326d8a2d007e4ca327a57470846e34363789258" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/2203e3151755d874bb2943649dae1eb8533ac93e", - "reference": "2203e3151755d874bb2943649dae1eb8533ac93e", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a326d8a2d007e4ca327a57470846e34363789258", + "reference": "a326d8a2d007e4ca327a57470846e34363789258", "shasum": "" }, "require": { @@ -1948,21 +1934,18 @@ "require-dev": { "async-aws/s3": "^1.5 || ^2.0", "async-aws/simple-s3": "^1.1 || ^2.0", - "aws/aws-sdk-php": "^3.295.10", + "aws/aws-sdk-php": "^3.220.0", "composer/semver": "^3.0", "ext-fileinfo": "*", "ext-ftp": "*", - "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|^2", - "phpseclib/phpseclib": "^3.0.36", + "phpseclib/phpseclib": "^3.0.14", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.5.11|^10.0", - "sabre/dav": "^4.6.0" + "sabre/dav": "^4.3.1" }, "type": "library", "autoload": { @@ -1996,22 +1979,32 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.30.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.21.0" }, - "time": "2025-06-25T13:29:59+00:00" + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2023-11-18T13:59:15+00:00" }, { "name": "league/flysystem-local", - "version": "3.30.0", + "version": "3.21.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10" + "reference": "470eb1c09eaabd49ebd908ae06f23983ba3ecfe7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/6691915f77c7fb69adfb87dcd550052dc184ee10", - "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/470eb1c09eaabd49ebd908ae06f23983ba3ecfe7", + "reference": "470eb1c09eaabd49ebd908ae06f23983ba3ecfe7", "shasum": "" }, "require": { @@ -2045,22 +2038,33 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.30.0" + "issues": "https://github.com/thephpleague/flysystem-local/issues", + "source": "https://github.com/thephpleague/flysystem-local/tree/3.21.0" }, - "time": "2025-05-21T10:34:19+00:00" + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2023-11-18T13:41:42+00:00" }, { "name": "league/mime-type-detection", - "version": "1.16.0", + "version": "1.14.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" + "reference": "b6a5854368533df0295c5761a0253656a2e52d9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", - "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/b6a5854368533df0295c5761a0253656a2e52d9e", + "reference": "b6a5854368533df0295c5761a0253656a2e52d9e", "shasum": "" }, "require": { @@ -2091,7 +2095,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.14.0" }, "funding": [ { @@ -2103,20 +2107,20 @@ "type": "tidelift" } ], - "time": "2024-09-21T08:32:55+00:00" + "time": "2023-10-17T14:13:20+00:00" }, { "name": "monolog/monolog", - "version": "3.9.0", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6" + "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/10d85740180ecba7896c87e06a166e0c95a0e3b6", - "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448", "shasum": "" }, "require": { @@ -2136,14 +2140,12 @@ "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", - "php-console/php-console": "^3.1.8", - "phpstan/phpstan": "^2", - "phpstan/phpstan-deprecation-rules": "^2", - "phpstan/phpstan-strict-rules": "^2", - "phpunit/phpunit": "^10.5.17 || ^11.0.7", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-strict-rules": "^1.4", + "phpunit/phpunit": "^10.1", "predis/predis": "^1.1 || ^2", - "rollbar/rollbar": "^4.0", - "ruflin/elastica": "^7 || ^8", + "ruflin/elastica": "^7", "symfony/mailer": "^5.4 || ^6", "symfony/mime": "^5.4 || ^6" }, @@ -2194,7 +2196,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.9.0" + "source": "https://github.com/Seldaek/monolog/tree/3.5.0" }, "funding": [ { @@ -2206,24 +2208,23 @@ "type": "tidelift" } ], - "time": "2025-03-24T10:02:05+00:00" + "time": "2023-10-27T15:32:31+00:00" }, { "name": "nesbot/carbon", - "version": "2.73.0", + "version": "2.71.0", "source": { "type": "git", - "url": "https://github.com/CarbonPHP/carbon.git", - "reference": "9228ce90e1035ff2f0db84b40ec2e023ed802075" + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "98276233188583f2ff845a0f992a235472d9466a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/9228ce90e1035ff2f0db84b40ec2e023ed802075", - "reference": "9228ce90e1035ff2f0db84b40ec2e023ed802075", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/98276233188583f2ff845a0f992a235472d9466a", + "reference": "98276233188583f2ff845a0f992a235472d9466a", "shasum": "" }, "require": { - "carbonphp/carbon-doctrine-types": "*", "ext-json": "*", "php": "^7.1.8 || ^8.0", "psr/clock": "^1.0", @@ -2235,11 +2236,11 @@ "psr/clock-implementation": "1.0" }, "require-dev": { - "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", - "doctrine/orm": "^2.7 || ^3.0", + "doctrine/dbal": "^2.0 || ^3.1.4", + "doctrine/orm": "^2.7", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "<6", + "ondrejmirtes/better-reflection": "*", "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^0.12.99 || ^1.7.14", @@ -2252,6 +2253,10 @@ ], "type": "library", "extra": { + "branch-alias": { + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" + }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" @@ -2261,10 +2266,6 @@ "includes": [ "extension.neon" ] - }, - "branch-alias": { - "dev-2.x": "2.x-dev", - "dev-master": "3.x-dev" } }, "autoload": { @@ -2313,35 +2314,35 @@ "type": "tidelift" } ], - "time": "2025-01-08T20:10:23+00:00" + "time": "2023-09-25T11:31:05+00:00" }, { "name": "nette/schema", - "version": "v1.3.2", + "version": "v1.2.5", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "da801d52f0354f70a638673c4a0f04e16529431d" + "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d", - "reference": "da801d52f0354f70a638673c4a0f04e16529431d", + "url": "https://api.github.com/repos/nette/schema/zipball/0462f0166e823aad657c9224d0f849ecac1ba10a", + "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a", "shasum": "" }, "require": { - "nette/utils": "^4.0", - "php": "8.1 - 8.4" + "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", + "php": "7.1 - 8.3" }, "require-dev": { - "nette/tester": "^2.5.2", + "nette/tester": "^2.3 || ^2.4", "phpstan/phpstan-nette": "^1.0", - "tracy/tracy": "^2.8" + "tracy/tracy": "^2.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.2-dev" } }, "autoload": { @@ -2373,35 +2374,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.2.5" }, - "time": "2024-10-06T23:10:23+00:00" + "time": "2023-10-05T20:37:59+00:00" }, { "name": "nette/utils", - "version": "v4.0.8", + "version": "v4.0.3", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede" + "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/c930ca4e3cf4f17dcfb03037703679d2396d2ede", - "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede", + "url": "https://api.github.com/repos/nette/utils/zipball/a9d127dd6a203ce6d255b2e2db49759f7506e015", + "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015", "shasum": "" }, "require": { - "php": "8.0 - 8.5" + "php": ">=8.0 <8.4" }, "conflict": { "nette/finder": "<3", "nette/schema": "<1.2.2" }, "require-dev": { - "jetbrains/phpstorm-attributes": "^1.2", + "jetbrains/phpstorm-attributes": "dev-master", "nette/tester": "^2.5", - "phpstan/phpstan-nette": "^2.0@stable", + "phpstan/phpstan": "^1.0", "tracy/tracy": "^2.9" }, "suggest": { @@ -2419,9 +2420,6 @@ } }, "autoload": { - "psr-4": { - "Nette\\": "src" - }, "classmap": [ "src/" ] @@ -2462,33 +2460,31 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.8" + "source": "https://github.com/nette/utils/tree/v4.0.3" }, - "time": "2025-08-06T21:43:34+00:00" + "time": "2023-10-29T21:02:13+00:00" }, { "name": "nikic/php-parser", - "version": "v5.6.1", + "version": "v4.17.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2" + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2", - "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", "shasum": "" }, "require": { - "ext-ctype": "*", - "ext-json": "*", "ext-tokenizer": "*", - "php": ">=7.4" + "php": ">=7.0" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^9.0" + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" @@ -2496,7 +2492,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.x-dev" + "dev-master": "4.9-dev" } }, "autoload": { @@ -2520,38 +2516,39 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" }, - "time": "2025-08-13T20:13:15+00:00" + "time": "2023-08-13T19:53:39+00:00" }, { "name": "nunomaduro/termwind", - "version": "v1.17.0", + "version": "v1.15.1", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301" + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301", - "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^8.1", - "symfony/console": "^6.4.15" + "php": "^8.0", + "symfony/console": "^5.3.0|^6.0.0" }, "require-dev": { - "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", + "ergebnis/phpstan-rules": "^1.0.", + "illuminate/console": "^8.0|^9.0", + "illuminate/support": "^8.0|^9.0", + "laravel/pint": "^1.0.0", + "pestphp/pest": "^1.21.0", + "pestphp/pest-plugin-mock": "^1.0", + "phpstan/phpstan": "^1.4.6", + "phpstan/phpstan-strict-rules": "^1.1.0", + "symfony/var-dumper": "^5.2.7|^6.0.0", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -2591,7 +2588,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v1.17.0" + "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" }, "funding": [ { @@ -2607,20 +2604,154 @@ "type": "github" } ], - "time": "2024-11-21T10:36:35+00:00" + "time": "2023-02-08T01:06:31+00:00" }, { - "name": "phpoption/phpoption", - "version": "1.9.4", + "name": "php-http/discovery", + "version": "1.19.1", "source": { "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d" + "url": "https://github.com/php-http/discovery.git", + "reference": "57f3de01d32085fea20865f9b16fb0e69347c39e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d", - "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d", + "url": "https://api.github.com/repos/php-http/discovery/zipball/57f3de01d32085fea20865f9b16fb0e69347c39e", + "reference": "57f3de01d32085fea20865f9b16fb0e69347c39e", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0|^2.0", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "nyholm/psr7": "<1.0", + "zendframework/zend-diactoros": "*" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "*", + "psr/http-factory-implementation": "*", + "psr/http-message-implementation": "*" + }, + "require-dev": { + "composer/composer": "^1.0.2|^2.0", + "graham-campbell/phpspec-skip-example-extension": "^5.0", + "php-http/httplug": "^1.0 || ^2.0", + "php-http/message-factory": "^1.0", + "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", + "symfony/phpunit-bridge": "^6.2" + }, + "type": "composer-plugin", + "extra": { + "class": "Http\\Discovery\\Composer\\Plugin", + "plugin-optional": true + }, + "autoload": { + "psr-4": { + "Http\\Discovery\\": "src/" + }, + "exclude-from-classmap": [ + "src/Composer/Plugin.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", + "homepage": "http://php-http.org", + "keywords": [ + "adapter", + "client", + "discovery", + "factory", + "http", + "message", + "psr17", + "psr7" + ], + "support": { + "issues": "https://github.com/php-http/discovery/issues", + "source": "https://github.com/php-http/discovery/tree/1.19.1" + }, + "time": "2023-07-11T07:02:26+00:00" + }, + { + "name": "php-http/multipart-stream-builder", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/multipart-stream-builder.git", + "reference": "f5938fd135d9fa442cc297dc98481805acfe2b6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/f5938fd135d9fa442cc297dc98481805acfe2b6a", + "reference": "f5938fd135d9fa442cc297dc98481805acfe2b6a", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "php-http/discovery": "^1.15", + "psr/http-factory-implementation": "^1.0" + }, + "require-dev": { + "nyholm/psr7": "^1.0", + "php-http/message": "^1.5", + "php-http/message-factory": "^1.0.2", + "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Http\\Message\\MultipartStream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + } + ], + "description": "A builder class that help you create a multipart stream", + "homepage": "http://php-http.org", + "keywords": [ + "factory", + "http", + "message", + "multipart stream", + "stream" + ], + "support": { + "issues": "https://github.com/php-http/multipart-stream-builder/issues", + "source": "https://github.com/php-http/multipart-stream-builder/tree/1.3.0" + }, + "time": "2023-04-28T14:10:22+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.9.2", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", "shasum": "" }, "require": { @@ -2628,13 +2759,13 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.44 || ^9.6.25 || ^10.5.53 || ^11.5.34" + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" }, "type": "library", "extra": { "bamarni-bin": { "bin-links": true, - "forward-command": false + "forward-command": true }, "branch-alias": { "dev-master": "1.9-dev" @@ -2670,7 +2801,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.4" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" }, "funding": [ { @@ -2682,7 +2813,653 @@ "type": "tidelift" } ], - "time": "2025-08-21T11:53:16+00:00" + "time": "2023-11-12T21:59:55+00:00" + }, + { + "name": "psr-discovery/all", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/psr-discovery/all.git", + "reference": "73deceb26d3190f53a5cd3b95751c6a223804a8b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/psr-discovery/all/zipball/73deceb26d3190f53a5cd3b95751c6a223804a8b", + "reference": "73deceb26d3190f53a5cd3b95751c6a223804a8b", + "shasum": "" + }, + "require": { + "php": "^8.0", + "psr-discovery/cache-implementations": "^1.0", + "psr-discovery/container-implementations": "^1.0", + "psr-discovery/event-dispatcher-implementations": "^1.0", + "psr-discovery/http-client-implementations": "^1.0", + "psr-discovery/http-factory-implementations": "^1.0", + "psr-discovery/log-implementations": "^1.0" + }, + "type": "metapackage", + "extra": { + "merge-plugin": { + "ignore-duplicates": false, + "include": [ + "composer.local.json" + ], + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": false, + "recurse": true, + "replace": true + } + }, + "autoload": { + "psr-4": { + "PsrDiscovery\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Evan Sims", + "email": "hello@evansims.com", + "homepage": "https://evansims.com/" + } + ], + "description": "Lightweight library that discovers available PSR implementations by searching for a list of well-known classes that implement the relevant interface, and returns an instance of the first one that is found.", + "homepage": "https://github.com/psr-discovery", + "keywords": [ + "PSR-11", + "discovery", + "psr", + "psr-14", + "psr-17", + "psr-18", + "psr-3", + "psr-6" + ], + "support": { + "source": "https://github.com/psr-discovery/all/tree/1.0.0" + }, + "time": "2023-03-27T16:37:46+00:00" + }, + { + "name": "psr-discovery/cache-implementations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/psr-discovery/cache-implementations.git", + "reference": "33b63d8e324f4aff296508b592bbd4d71b45da68" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/psr-discovery/cache-implementations/zipball/33b63d8e324f4aff296508b592bbd4d71b45da68", + "reference": "33b63d8e324f4aff296508b592bbd4d71b45da68", + "shasum": "" + }, + "require": { + "php": "^8.0", + "psr-discovery/discovery": "^1.0", + "psr/cache": "^1.0 | ^2.0 | ^3.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.14", + "infection/infection": "^0.26", + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.0", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-strict-rules": "^1.5", + "rector/rector": "^0.15", + "vimeo/psalm": "^5.8", + "wikimedia/composer-merge-plugin": "^2.0" + }, + "type": "library", + "extra": { + "merge-plugin": { + "ignore-duplicates": false, + "include": [ + "composer.local.json" + ], + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": false, + "recurse": true, + "replace": true + } + }, + "autoload": { + "psr-4": { + "PsrDiscovery\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Evan Sims", + "email": "hello@evansims.com", + "homepage": "https://evansims.com/" + } + ], + "description": "Lightweight library that discovers available PSR-6 Cache implementations by searching for a list of well-known classes that implement the relevant interface, and returns an instance of the first one that is found.", + "homepage": "https://github.com/psr-discovery", + "keywords": [ + "cache", + "cache-implementation", + "discovery", + "psr", + "psr-6" + ], + "support": { + "issues": "https://github.com/psr-discovery/cache-implementations/issues", + "source": "https://github.com/psr-discovery/cache-implementations/tree/1.0.0" + }, + "time": "2023-03-27T06:19:44+00:00" + }, + { + "name": "psr-discovery/container-implementations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/psr-discovery/container-implementations.git", + "reference": "366612e9260f247d8b8ee279094a33dd4cbc6886" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/psr-discovery/container-implementations/zipball/366612e9260f247d8b8ee279094a33dd4cbc6886", + "reference": "366612e9260f247d8b8ee279094a33dd4cbc6886", + "shasum": "" + }, + "require": { + "php": "^8.0", + "psr-discovery/discovery": "^1.0", + "psr/container": "^1.0 | ^2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.14", + "infection/infection": "^0.26", + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.0", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-strict-rules": "^1.5", + "rector/rector": "^0.15", + "vimeo/psalm": "^5.8", + "wikimedia/composer-merge-plugin": "^2.0" + }, + "type": "library", + "extra": { + "merge-plugin": { + "ignore-duplicates": false, + "include": [ + "composer.local.json" + ], + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": false, + "recurse": true, + "replace": true + } + }, + "autoload": { + "psr-4": { + "PsrDiscovery\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Evan Sims", + "email": "hello@evansims.com", + "homepage": "https://evansims.com/" + } + ], + "description": "Lightweight library that discovers available PSR-11 Container implementations by searching for a list of well-known classes that implement the relevant interface, and returns an instance of the first one that is found.", + "homepage": "https://github.com/psr-discovery/http-client-implementations", + "keywords": [ + "PSR-11", + "discovery", + "psr" + ], + "support": { + "issues": "https://github.com/psr-discovery/container-implementations/issues", + "source": "https://github.com/psr-discovery/container-implementations/tree/1.0.0" + }, + "time": "2023-03-27T06:18:27+00:00" + }, + { + "name": "psr-discovery/discovery", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/psr-discovery/discovery.git", + "reference": "83e746a138705d56f8e3dc102e28c79f32ae9b54" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/psr-discovery/discovery/zipball/83e746a138705d56f8e3dc102e28c79f32ae9b54", + "reference": "83e746a138705d56f8e3dc102e28c79f32ae9b54", + "shasum": "" + }, + "require": { + "composer/semver": "^3.0", + "php": "^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.14", + "infection/infection": "^0.26", + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.0", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-strict-rules": "^1.5", + "rector/rector": "^0.15", + "vimeo/psalm": "^5.8", + "wikimedia/composer-merge-plugin": "^2.0" + }, + "type": "library", + "extra": { + "merge-plugin": { + "ignore-duplicates": false, + "include": [ + "composer.local.json" + ], + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": false, + "recurse": true, + "replace": true + } + }, + "autoload": { + "psr-4": { + "PsrDiscovery\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Evan Sims", + "email": "hello@evansims.com", + "homepage": "https://evansims.com/" + } + ], + "description": "Lightweight library that discovers available PSR implementations by searching for a list of well-known classes that implement the relevant interfaces, and returning an instance of the first one that is found.", + "homepage": "https://github.com/psr-discovery/discovery", + "keywords": [ + "PSR-11", + "discovery", + "psr", + "psr-14", + "psr-17", + "psr-18", + "psr-3", + "psr-6" + ], + "support": { + "issues": "https://github.com/psr-discovery/discovery/issues", + "source": "https://github.com/psr-discovery/discovery/tree/1.0.2" + }, + "time": "2023-03-27T19:49:39+00:00" + }, + { + "name": "psr-discovery/event-dispatcher-implementations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/psr-discovery/event-dispatcher-implementations.git", + "reference": "903d05afe29bd1a17c18924004d282d28bda1759" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/psr-discovery/event-dispatcher-implementations/zipball/903d05afe29bd1a17c18924004d282d28bda1759", + "reference": "903d05afe29bd1a17c18924004d282d28bda1759", + "shasum": "" + }, + "require": { + "php": "^8.0", + "psr-discovery/discovery": "^1.0", + "psr/event-dispatcher": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.14", + "infection/infection": "^0.26", + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.0", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-strict-rules": "^1.5", + "rector/rector": "^0.15", + "vimeo/psalm": "^5.8", + "wikimedia/composer-merge-plugin": "^2.0" + }, + "type": "library", + "extra": { + "merge-plugin": { + "ignore-duplicates": false, + "include": [ + "composer.local.json" + ], + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": false, + "recurse": true, + "replace": true + } + }, + "autoload": { + "psr-4": { + "PsrDiscovery\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Evan Sims", + "email": "hello@evansims.com", + "homepage": "https://evansims.com/" + } + ], + "description": "Lightweight library that discovers available PSR-14 Event Dispatcher implementations by searching for a list of well-known classes that implement the relevant interface, and returns an instance of the first one that is found.", + "homepage": "https://github.com/psr-discovery/http-client-implementations", + "keywords": [ + "discovery", + "psr", + "psr-18" + ], + "support": { + "issues": "https://github.com/psr-discovery/event-dispatcher-implementations/issues", + "source": "https://github.com/psr-discovery/event-dispatcher-implementations/tree/1.0.0" + }, + "time": "2023-03-27T06:17:31+00:00" + }, + { + "name": "psr-discovery/http-client-implementations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/psr-discovery/http-client-implementations.git", + "reference": "ca0cbc370789a3fd0f6aa3e7c4f4e5c123eadef3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/psr-discovery/http-client-implementations/zipball/ca0cbc370789a3fd0f6aa3e7c4f4e5c123eadef3", + "reference": "ca0cbc370789a3fd0f6aa3e7c4f4e5c123eadef3", + "shasum": "" + }, + "require": { + "php": "^8.0", + "psr-discovery/discovery": "^1.0", + "psr/http-client": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.14", + "infection/infection": "^0.26", + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.0", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-strict-rules": "^1.5", + "rector/rector": "^0.15", + "vimeo/psalm": "^5.8", + "wikimedia/composer-merge-plugin": "^2.0" + }, + "type": "library", + "extra": { + "merge-plugin": { + "ignore-duplicates": false, + "include": [ + "composer.local.json" + ], + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": false, + "recurse": true, + "replace": true + } + }, + "autoload": { + "psr-4": { + "PsrDiscovery\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Evan Sims", + "email": "hello@evansims.com", + "homepage": "https://evansims.com/" + } + ], + "description": "Lightweight library that discovers available PSR-18 HTTP Client implementations by searching for a list of well-known classes that implement the relevant interface, and returns an instance of the first one that is found.", + "homepage": "https://github.com/psr-discovery/http-client-implementations", + "keywords": [ + "discovery", + "psr", + "psr-18" + ], + "support": { + "issues": "https://github.com/psr-discovery/http-client-implementations/issues", + "source": "https://github.com/psr-discovery/http-client-implementations/tree/1.0.0" + }, + "time": "2023-03-27T06:16:24+00:00" + }, + { + "name": "psr-discovery/http-factory-implementations", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/psr-discovery/http-factory-implementations.git", + "reference": "064bb0ec6d2e49aeb6f15aa5a8793abe02daf56b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/psr-discovery/http-factory-implementations/zipball/064bb0ec6d2e49aeb6f15aa5a8793abe02daf56b", + "reference": "064bb0ec6d2e49aeb6f15aa5a8793abe02daf56b", + "shasum": "" + }, + "require": { + "php": "^8.0", + "psr-discovery/discovery": "^1.0", + "psr/http-factory": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.14", + "infection/infection": "^0.26", + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.0", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-strict-rules": "^1.5", + "rector/rector": "^0.15", + "vimeo/psalm": "^5.8", + "wikimedia/composer-merge-plugin": "^2.0" + }, + "type": "library", + "extra": { + "merge-plugin": { + "ignore-duplicates": false, + "include": [ + "composer.local.json" + ], + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": false, + "recurse": true, + "replace": true + } + }, + "autoload": { + "psr-4": { + "PsrDiscovery\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Evan Sims", + "email": "hello@evansims.com", + "homepage": "https://evansims.com/" + } + ], + "description": "Lightweight library that discovers available PSR-17 HTTP Factory implementations by searching for a list of well-known classes that implement the relevant interface, and returns an instance of the first one that is found.", + "homepage": "https://github.com/psr-discovery/http-factory-implementations", + "keywords": [ + "discovery", + "psr", + "psr-18" + ], + "support": { + "issues": "https://github.com/psr-discovery/http-factory-implementations/issues", + "source": "https://github.com/psr-discovery/http-factory-implementations/tree/1.0.1" + }, + "time": "2023-04-26T06:22:45+00:00" + }, + { + "name": "psr-discovery/log-implementations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/psr-discovery/log-implementations.git", + "reference": "7be7af9bb1bf41a4985356b16cc654e0227eed38" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/psr-discovery/log-implementations/zipball/7be7af9bb1bf41a4985356b16cc654e0227eed38", + "reference": "7be7af9bb1bf41a4985356b16cc654e0227eed38", + "shasum": "" + }, + "require": { + "php": "^8.0", + "psr-discovery/discovery": "^1.0", + "psr/log": "^1.0 | ^2.0 | ^3.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.14", + "infection/infection": "^0.26", + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.0", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-strict-rules": "^1.5", + "rector/rector": "^0.15", + "vimeo/psalm": "^5.8", + "wikimedia/composer-merge-plugin": "^2.0" + }, + "type": "library", + "extra": { + "merge-plugin": { + "ignore-duplicates": false, + "include": [ + "composer.local.json" + ], + "merge-dev": true, + "merge-extra": false, + "merge-extra-deep": false, + "merge-scripts": false, + "recurse": true, + "replace": true + } + }, + "autoload": { + "psr-4": { + "PsrDiscovery\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Evan Sims", + "email": "hello@evansims.com", + "homepage": "https://evansims.com/" + } + ], + "description": "Lightweight library that discovers available PSR-3 Log implementations by searching for a list of well-known classes that implement the relevant interface, and returns an instance of the first one that is found.", + "homepage": "https://github.com/psr-discovery", + "keywords": [ + "discovery", + "log", + "log-implementation", + "psr", + "psr-3" + ], + "support": { + "issues": "https://github.com/psr-discovery/log-implementations/issues", + "source": "https://github.com/psr-discovery/log-implementations/tree/1.0.0" + }, + "time": "2023-03-27T06:14:11+00:00" + }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/3.0.0" + }, + "time": "2021-02-03T23:26:27+00:00" }, { "name": "psr/clock", @@ -2889,20 +3666,20 @@ }, { "name": "psr/http-factory", - "version": "1.1.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + "reference": "e616d01114759c4c489f93b099585439f795fe35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", + "reference": "e616d01114759c4c489f93b099585439f795fe35", "shasum": "" }, "require": { - "php": ">=7.1", + "php": ">=7.0.0", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -2926,7 +3703,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "description": "Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -2938,9 +3715,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory" + "source": "https://github.com/php-fig/http-factory/tree/1.0.2" }, - "time": "2024-04-15T12:06:14+00:00" + "time": "2023-04-10T20:10:41+00:00" }, { "name": "psr/http-message", @@ -2997,16 +3774,16 @@ }, { "name": "psr/log", - "version": "3.0.2", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", "shasum": "" }, "require": { @@ -3041,9 +3818,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.2" + "source": "https://github.com/php-fig/log/tree/3.0.0" }, - "time": "2024-09-11T13:17:53+00:00" + "time": "2021-07-14T16:46:02+00:00" }, { "name": "psr/simple-cache", @@ -3098,25 +3875,25 @@ }, { "name": "psy/psysh", - "version": "v0.12.10", + "version": "v0.11.22", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "6e80abe6f2257121f1eb9a4c55bf29d921025b22" + "reference": "128fa1b608be651999ed9789c95e6e2a31b5802b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/6e80abe6f2257121f1eb9a4c55bf29d921025b22", - "reference": "6e80abe6f2257121f1eb9a4c55bf29d921025b22", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/128fa1b608be651999ed9789c95e6e2a31b5802b", + "reference": "128fa1b608be651999ed9789c95e6e2a31b5802b", "shasum": "" }, "require": { "ext-json": "*", "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" + "nikic/php-parser": "^4.0 || ^3.1", + "php": "^8.0 || ^7.0.8", + "symfony/console": "^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^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" @@ -3127,19 +3904,20 @@ "suggest": { "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." + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." }, "bin": [ "bin/psysh" ], "type": "library", "extra": { + "branch-alias": { + "dev-0.11": "0.11.x-dev" + }, "bamarni-bin": { "bin-links": false, "forward-command": false - }, - "branch-alias": { - "dev-main": "0.12.x-dev" } }, "autoload": { @@ -3157,11 +3935,12 @@ "authors": [ { "name": "Justin Hileman", - "email": "justin@justinhileman.info" + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" } ], "description": "An interactive shell for modern PHP.", - "homepage": "https://psysh.org", + "homepage": "http://psysh.org", "keywords": [ "REPL", "console", @@ -3170,9 +3949,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.10" + "source": "https://github.com/bobthecow/psysh/tree/v0.11.22" }, - "time": "2025-08-04T12:39:37+00:00" + "time": "2023-10-14T21:56:36+00:00" }, { "name": "ralouphie/getallheaders", @@ -3220,16 +3999,16 @@ }, { "name": "ramsey/collection", - "version": "2.1.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", - "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", + "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", "shasum": "" }, "require": { @@ -3237,22 +4016,25 @@ }, "require-dev": { "captainhook/plugin-composer": "^5.3", - "ergebnis/composer-normalize": "^2.45", - "fakerphp/faker": "^1.24", + "ergebnis/composer-normalize": "^2.28.3", + "fakerphp/faker": "^1.21", "hamcrest/hamcrest-php": "^2.0", - "jangregor/phpstan-prophecy": "^2.1", - "mockery/mockery": "^1.6", + "jangregor/phpstan-prophecy": "^1.0", + "mockery/mockery": "^1.5", "php-parallel-lint/php-console-highlighter": "^1.0", - "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" + "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" }, "type": "library", "extra": { @@ -3290,26 +4072,37 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.1.1" + "source": "https://github.com/ramsey/collection/tree/2.0.0" }, - "time": "2025-03-22T05:38:12+00:00" + "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" }, { "name": "ramsey/uuid", - "version": "4.9.0", + "version": "4.7.5", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0" + "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/4e0e23cc785f0724a0e838279a9eb03f28b092a0", - "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", + "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13", + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", + "ext-json": "*", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" }, @@ -3317,23 +4110,26 @@ "rhumsaa/uuid": "self.version" }, "require-dev": { - "captainhook/captainhook": "^5.25", + "captainhook/captainhook": "^5.10", "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^1.0", - "ergebnis/composer-normalize": "^2.47", - "mockery/mockery": "^1.6", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", "paragonie/random-lib": "^2", - "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" + "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" }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", @@ -3368,9 +4164,19 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.9.0" + "source": "https://github.com/ramsey/uuid/tree/4.7.5" }, - "time": "2025-06-25T14:20:11+00:00" + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2023-11-08T05:53:05+00:00" }, { "name": "scrivo/highlight.php", @@ -3452,36 +4258,36 @@ }, { "name": "spatie/laravel-honeypot", - "version": "4.6.1", + "version": "4.3.4", "source": { "type": "git", "url": "https://github.com/spatie/laravel-honeypot.git", - "reference": "38d164f14939e943b92771859fc206c74cba8397" + "reference": "a888d2d7a7c841c4f0578b4f41c5d714e34c51fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-honeypot/zipball/38d164f14939e943b92771859fc206c74cba8397", - "reference": "38d164f14939e943b92771859fc206c74cba8397", + "url": "https://api.github.com/repos/spatie/laravel-honeypot/zipball/a888d2d7a7c841c4f0578b4f41c5d714e34c51fb", + "reference": "a888d2d7a7c841c4f0578b4f41c5d714e34c51fb", "shasum": "" }, "require": { - "illuminate/contracts": "^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/encryption": "^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/http": "^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0", - "illuminate/validation": "^8.0|^9.0|^10.0|^11.0|^12.0", - "nesbot/carbon": "^2.0|^3.0", + "illuminate/contracts": "^8.0|^9.0|^10.0", + "illuminate/encryption": "^8.0|^9.0|^10.0", + "illuminate/http": "^8.0|^9.0|^10.0", + "illuminate/support": "^8.0|^9.0|^10.0", + "illuminate/validation": "^8.0|^9.0|^10.0", + "nesbot/carbon": "^2.0", "php": "^8.0", "spatie/laravel-package-tools": "^1.9", - "symfony/http-foundation": "^5.1.2|^6.0|^7.0" + "symfony/http-foundation": "^5.1.2|^6.0" }, "require-dev": { - "livewire/livewire": "^2.10|^3.0", - "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0|^10.0", - "pestphp/pest-plugin-livewire": "^1.0|^2.1|^3.0", - "phpunit/phpunit": "^9.6|^10.5|^11.5", - "spatie/pest-plugin-snapshots": "^1.1|^2.1", - "spatie/phpunit-snapshot-assertions": "^4.2|^5.1", + "livewire/livewire": "^2.10", + "orchestra/testbench": "^6.23|^7.0|^8.0", + "pestphp/pest-plugin-livewire": "^1.0", + "phpunit/phpunit": "^9.4", + "spatie/pest-plugin-snapshots": "^1.1", + "spatie/phpunit-snapshot-assertions": "^4.2", "spatie/test-time": "^1.2.1" }, "type": "library", @@ -3516,7 +4322,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/laravel-honeypot/tree/4.6.1" + "source": "https://github.com/spatie/laravel-honeypot/tree/4.3.4" }, "funding": [ { @@ -3524,111 +4330,32 @@ "type": "custom" } ], - "time": "2025-05-05T13:50:37+00:00" - }, - { - "name": "spatie/laravel-html", - "version": "3.12.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/laravel-html.git", - "reference": "3655f335609d853f51e431698179ddfe05851126" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-html/zipball/3655f335609d853f51e431698179ddfe05851126", - "reference": "3655f335609d853f51e431698179ddfe05851126", - "shasum": "" - }, - "require": { - "illuminate/http": "^10.0|^11.0|^12.0", - "illuminate/support": "^10.0|^11.0|^12.0", - "php": "^8.2" - }, - "require-dev": { - "mockery/mockery": "^1.3", - "orchestra/testbench": "^8.0|^9.0|^10.0", - "pestphp/pest": "^2.34|^3.7" - }, - "type": "library", - "extra": { - "laravel": { - "aliases": { - "Html": "Spatie\\Html\\Facades\\Html" - }, - "providers": [ - "Spatie\\Html\\HtmlServiceProvider" - ] - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Spatie\\Html\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Sebastian De Deyne", - "email": "sebastian@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - }, - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "A fluent html builder", - "homepage": "https://github.com/spatie/laravel-html", - "keywords": [ - "html", - "spatie" - ], - "support": { - "source": "https://github.com/spatie/laravel-html/tree/3.12.0" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - } - ], - "time": "2025-03-21T08:58:06+00:00" + "time": "2023-07-19T19:23:12+00:00" }, { "name": "spatie/laravel-package-tools", - "version": "1.92.7", + "version": "1.16.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "f09a799850b1ed765103a4f0b4355006360c49a5" + "reference": "cc7c991555a37f9fa6b814aa03af73f88026a83d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/f09a799850b1ed765103a4f0b4355006360c49a5", - "reference": "f09a799850b1ed765103a4f0b4355006360c49a5", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/cc7c991555a37f9fa6b814aa03af73f88026a83d", + "reference": "cc7c991555a37f9fa6b814aa03af73f88026a83d", "shasum": "" }, "require": { - "illuminate/contracts": "^9.28|^10.0|^11.0|^12.0", + "illuminate/contracts": "^9.28|^10.0", "php": "^8.0" }, "require-dev": { "mockery/mockery": "^1.5", - "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" + "orchestra/testbench": "^7.7|^8.0", + "pestphp/pest": "^1.22", + "phpunit/phpunit": "^9.5.24", + "spatie/pest-plugin-test-time": "^1.1" }, "type": "library", "autoload": { @@ -3655,7 +4382,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.92.7" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.1" }, "funding": [ { @@ -3663,20 +4390,20 @@ "type": "github" } ], - "time": "2025-07-17T15:46:43+00:00" + "time": "2023-08-23T09:04:39+00:00" }, { "name": "symfony/console", - "version": "v6.4.25", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "273fd29ff30ba0a88ca5fb83f7cf1ab69306adae" + "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/273fd29ff30ba0a88ca5fb83f7cf1ab69306adae", - "reference": "273fd29ff30ba0a88ca5fb83f7cf1ab69306adae", + "url": "https://api.github.com/repos/symfony/console/zipball/0d14a9f6d04d4ac38a8cea1171f4554e325dae92", + "reference": "0d14a9f6d04d4ac38a8cea1171f4554e325dae92", "shasum": "" }, "require": { @@ -3684,7 +4411,7 @@ "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" + "symfony/string": "^5.4|^6.0" }, "conflict": { "symfony/dependency-injection": "<5.4", @@ -3698,16 +4425,12 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/lock": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" }, "type": "library", "autoload": { @@ -3741,7 +4464,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.25" + "source": "https://github.com/symfony/console/tree/v6.3.8" }, "funding": [ { @@ -3752,33 +4475,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": "2025-08-22T10:21:53+00:00" + "time": "2023-10-31T08:09:35+00:00" }, { "name": "symfony/css-selector", - "version": "v7.3.0", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2" + "reference": "883d961421ab1709877c10ac99451632a3d6fa57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/601a5ce9aaad7bf10797e3663faefce9e26c24e2", - "reference": "601a5ce9aaad7bf10797e3663faefce9e26c24e2", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/883d961421ab1709877c10ac99451632a3d6fa57", + "reference": "883d961421ab1709877c10ac99451632a3d6fa57", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.1" }, "type": "library", "autoload": { @@ -3810,7 +4529,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.3.0" + "source": "https://github.com/symfony/css-selector/tree/v6.3.2" }, "funding": [ { @@ -3826,20 +4545,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2023-07-12T16:00:22+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.6.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", "shasum": "" }, "require": { @@ -3847,12 +4566,12 @@ }, "type": "library", "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -3877,7 +4596,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.6.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" }, "funding": [ { @@ -3893,35 +4612,34 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.24", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "30fd0b3cf0e972e82636038ce4db0e4fe777112c" + "reference": "1f69476b64fb47105c06beef757766c376b548c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/30fd0b3cf0e972e82636038ce4db0e4fe777112c", - "reference": "30fd0b3cf0e972e82636038ce4db0e4fe777112c", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/1f69476b64fb47105c06beef757766c376b548c4", + "reference": "1f69476b64fb47105c06beef757766c376b548c4", "shasum": "" }, "require": { "php": ">=8.1", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/var-dumper": "^5.4|^6.0" }, "conflict": { - "symfony/deprecation-contracts": "<2.5", - "symfony/http-kernel": "<6.4" + "symfony/deprecation-contracts": "<2.5" }, "require-dev": { "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^5.4|^6.0|^7.0" + "symfony/http-kernel": "^5.4|^6.0", + "symfony/serializer": "^5.4|^6.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -3952,7 +4670,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.24" + "source": "https://github.com/symfony/error-handler/tree/v6.3.5" }, "funding": [ { @@ -3963,37 +4681,33 @@ "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": "2025-07-24T08:25:04+00:00" + "time": "2023-09-12T06:57:20+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.3.3", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191" + "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b7dc69e71de420ac04bc9ab830cf3ffebba48191", - "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/adb01fe097a4ee930db9258a3cc906b5beb5cf2e", + "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.1", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<6.4", + "symfony/dependency-injection": "<5.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -4002,13 +4716,13 @@ }, "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": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/error-handler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0" + "symfony/stopwatch": "^5.4|^6.0" }, "type": "library", "autoload": { @@ -4036,7 +4750,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.3.3" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.2" }, "funding": [ { @@ -4047,29 +4761,25 @@ "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": "2025-08-13T11:49:31+00:00" + "time": "2023-07-06T06:56:43+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.6.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "59eb412e93815df44f05f342958efa9f46b1e586" + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", - "reference": "59eb412e93815df44f05f342958efa9f46b1e586", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", "shasum": "" }, "require": { @@ -4078,12 +4788,12 @@ }, "type": "library", "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -4116,7 +4826,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0" }, "funding": [ { @@ -4132,27 +4842,27 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/finder", - "version": "v6.4.24", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "73089124388c8510efb8d2d1689285d285937b08" + "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/73089124388c8510efb8d2d1689285d285937b08", - "reference": "73089124388c8510efb8d2d1689285d285937b08", + "url": "https://api.github.com/repos/symfony/finder/zipball/a1b31d88c0e998168ca7792f222cbecee47428c4", + "reference": "a1b31d88c0e998168ca7792f222cbecee47428c4", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { - "symfony/filesystem": "^6.0|^7.0" + "symfony/filesystem": "^6.0" }, "type": "library", "autoload": { @@ -4180,7 +4890,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.24" + "source": "https://github.com/symfony/finder/tree/v6.3.5" }, "funding": [ { @@ -4191,29 +4901,25 @@ "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": "2025-07-15T12:02:45+00:00" + "time": "2023-09-26T12:56:25+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.25", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "6bc974c0035b643aa497c58d46d9e25185e4b272" + "reference": "ce332676de1912c4389222987193c3ef38033df6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/6bc974c0035b643aa497c58d46d9e25185e4b272", - "reference": "6bc974c0035b643aa497c58d46d9e25185e4b272", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ce332676de1912c4389222987193c3ef38033df6", + "reference": "ce332676de1912c4389222987193c3ef38033df6", "shasum": "" }, "require": { @@ -4223,17 +4929,17 @@ "symfony/polyfill-php83": "^1.27" }, "conflict": { - "symfony/cache": "<6.4.12|>=7.0,<7.1.5" + "symfony/cache": "<6.3" }, "require-dev": { "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.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", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0" + "symfony/cache": "^6.3", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", + "symfony/mime": "^5.4|^6.0", + "symfony/rate-limiter": "^5.2|^6.0" }, "type": "library", "autoload": { @@ -4261,7 +4967,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.25" + "source": "https://github.com/symfony/http-foundation/tree/v6.3.8" }, "funding": [ { @@ -4272,38 +4978,34 @@ "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": "2025-08-20T06:48:20+00:00" + "time": "2023-11-07T10:17:15+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.25", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "a0ee3cea5cabf4ed960fd2ef57668ceeacdb6e15" + "reference": "929202375ccf44a309c34aeca8305408442ebcc1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/a0ee3cea5cabf4ed960fd2ef57668ceeacdb6e15", - "reference": "a0ee3cea5cabf4ed960fd2ef57668ceeacdb6e15", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/929202375ccf44a309c34aeca8305408442ebcc1", + "reference": "929202375ccf44a309c34aeca8305408442ebcc1", "shasum": "" }, "require": { "php": ">=8.1", "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", + "symfony/error-handler": "^6.3", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/http-foundation": "^6.3.4", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -4311,7 +5013,7 @@ "symfony/cache": "<5.4", "symfony/config": "<6.1", "symfony/console": "<5.4", - "symfony/dependency-injection": "<6.4", + "symfony/dependency-injection": "<6.3.4", "symfony/doctrine-bridge": "<5.4", "symfony/form": "<5.4", "symfony/http-client": "<5.4", @@ -4321,7 +5023,7 @@ "symfony/translation": "<5.4", "symfony/translation-contracts": "<2.5", "symfony/twig-bridge": "<5.4", - "symfony/validator": "<6.4", + "symfony/validator": "<5.4", "symfony/var-dumper": "<6.3", "twig/twig": "<2.13" }, @@ -4330,27 +5032,26 @@ }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.2|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/dom-crawler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/browser-kit": "^5.4|^6.0", + "symfony/clock": "^6.2", + "symfony/config": "^6.1", + "symfony/console": "^5.4|^6.0", + "symfony/css-selector": "^5.4|^6.0", + "symfony/dependency-injection": "^6.3.4", + "symfony/dom-crawler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/finder": "^5.4|^6.0", "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4.5|^6.0.5|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.4|^7.0.4", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0", + "symfony/property-access": "^5.4.5|^6.0.5", + "symfony/routing": "^5.4|^6.0", + "symfony/serializer": "^6.3", + "symfony/stopwatch": "^5.4|^6.0", + "symfony/translation": "^5.4|^6.0", "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^5.4|^6.0|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.4|^7.0", - "symfony/var-exporter": "^6.2|^7.0", + "symfony/uid": "^5.4|^6.0", + "symfony/validator": "^6.3", + "symfony/var-exporter": "^6.2", "twig/twig": "^2.13|^3.0.4" }, "type": "library", @@ -4379,7 +5080,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.25" + "source": "https://github.com/symfony/http-kernel/tree/v6.3.8" }, "funding": [ { @@ -4390,29 +5091,25 @@ "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": "2025-08-29T07:55:45+00:00" + "time": "2023-11-10T13:47:32+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.25", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "628b43b45a3e6b15c8a633fb22df547ed9b492a2" + "reference": "d89611a7830d51b5e118bca38e390dea92f9ea06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/628b43b45a3e6b15c8a633fb22df547ed9b492a2", - "reference": "628b43b45a3e6b15c8a633fb22df547ed9b492a2", + "url": "https://api.github.com/repos/symfony/mailer/zipball/d89611a7830d51b5e118bca38e390dea92f9ea06", + "reference": "d89611a7830d51b5e118bca38e390dea92f9ea06", "shasum": "" }, "require": { @@ -4420,8 +5117,8 @@ "php": ">=8.1", "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/mime": "^6.2|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/mime": "^6.2", "symfony/service-contracts": "^2.5|^3" }, "conflict": { @@ -4432,10 +5129,10 @@ "symfony/twig-bridge": "<6.2.1" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/messenger": "^6.2|^7.0", - "symfony/twig-bridge": "^6.2|^7.0" + "symfony/console": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/messenger": "^6.2", + "symfony/twig-bridge": "^6.2" }, "type": "library", "autoload": { @@ -4463,7 +5160,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.25" + "source": "https://github.com/symfony/mailer/tree/v6.3.5" }, "funding": [ { @@ -4474,29 +5171,25 @@ "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": "2025-08-13T09:41:44+00:00" + "time": "2023-09-06T09:47:15+00:00" }, { "name": "symfony/mime", - "version": "v6.4.24", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "664d5e844a2de5e11c8255d0aef6bc15a9660ac7" + "reference": "d5179eedf1cb2946dbd760475ebf05c251ef6a6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/664d5e844a2de5e11c8255d0aef6bc15a9660ac7", - "reference": "664d5e844a2de5e11c8255d0aef6bc15a9660ac7", + "url": "https://api.github.com/repos/symfony/mime/zipball/d5179eedf1cb2946dbd760475ebf05c251ef6a6e", + "reference": "d5179eedf1cb2946dbd760475ebf05c251ef6a6e", "shasum": "" }, "require": { @@ -4510,17 +5203,16 @@ "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<5.4", - "symfony/serializer": "<6.4.3|>7.0,<7.0.3" + "symfony/serializer": "<6.2.13|>=6.3,<6.3.2" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.4|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.3|^7.0.3" + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/property-access": "^5.4|^6.0", + "symfony/property-info": "^5.4|^6.0", + "symfony/serializer": "~6.2.13|^6.3.2" }, "type": "library", "autoload": { @@ -4552,7 +5244,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.24" + "source": "https://github.com/symfony/mime/tree/v6.3.5" }, "funding": [ { @@ -4563,33 +5255,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": "2025-07-15T12:02:45+00:00" + "time": "2023-09-29T06:59:36+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.33.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", "shasum": "" }, "require": { - "php": ">=7.2" + "php": ">=7.1" }, "provide": { "ext-ctype": "*" @@ -4599,9 +5287,12 @@ }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -4635,7 +5326,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" }, "funding": [ { @@ -4646,42 +5337,41 @@ "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": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.33.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" + "reference": "875e90aeea2777b6f135677f618529449334a612" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", + "reference": "875e90aeea2777b6f135677f618529449334a612", "shasum": "" }, "require": { - "php": ">=7.2" + "php": ">=7.1" }, "suggest": { "ext-intl": "For best performance" }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -4717,7 +5407,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" }, "funding": [ { @@ -4728,43 +5418,43 @@ "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": "2025-06-27T09:58:17+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.33.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" + "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", - "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", + "reference": "ecaafce9f77234a6a449d29e49267ba10499116d", "shasum": "" }, "require": { - "php": ">=7.2", - "symfony/polyfill-intl-normalizer": "^1.10" + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" }, "suggest": { "ext-intl": "For best performance" }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -4804,7 +5494,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0" }, "funding": [ { @@ -4815,42 +5505,41 @@ "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-10T14:38:51+00:00" + "time": "2023-01-26T09:30:37+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.33.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "3833d7255cc303546435cb650316bff708a1c75c" + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", - "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", "shasum": "" }, "require": { - "php": ">=7.2" + "php": ">=7.1" }, "suggest": { "ext-intl": "For best performance" }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -4889,7 +5578,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" }, "funding": [ { @@ -4900,34 +5589,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": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.33.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + "reference": "42292d99c55abe617799667f454222c54c60e229" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", + "reference": "42292d99c55abe617799667f454222c54c60e229", "shasum": "" }, "require": { - "ext-iconv": "*", - "php": ">=7.2" + "php": ">=7.1" }, "provide": { "ext-mbstring": "*" @@ -4937,9 +5621,12 @@ }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -4974,7 +5661,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" }, "funding": [ { @@ -4986,7 +5673,79 @@ "type": "github" }, { - "url": "https://github.com/nicolas-grekas", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-28T09:04:16+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", "type": "github" }, { @@ -4994,30 +5753,33 @@ "type": "tidelift" } ], - "time": "2024-12-23T08:48:59+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.33.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", - "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", "shasum": "" }, "require": { - "php": ">=7.2" + "php": ">=7.1" }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -5058,7 +5820,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" }, "funding": [ { @@ -5069,39 +5831,39 @@ "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": "2025-01-02T08:10:11+00:00" + "time": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.33.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" + "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", - "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", + "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", "shasum": "" }, "require": { - "php": ">=7.2" + "php": ">=7.1", + "symfony/polyfill-php80": "^1.14" }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -5138,7 +5900,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0" }, "funding": [ { @@ -5149,33 +5911,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": "2025-07-08T02:45:35+00:00" + "time": "2023-08-16T06:22:46+00:00" }, { "name": "symfony/polyfill-uuid", - "version": "v1.33.0", + "version": "v1.28.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2" + "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2", - "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/9c44518a5aff8da565c8a55dbe85d2769e6f630e", + "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e", "shasum": "" }, "require": { - "php": ">=7.2" + "php": ">=7.1" }, "provide": { "ext-uuid": "*" @@ -5185,9 +5943,12 @@ }, "type": "library", "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -5221,7 +5982,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.33.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.28.0" }, "funding": [ { @@ -5232,29 +5993,25 @@ "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": "2023-01-26T09:26:14+00:00" }, { "name": "symfony/process", - "version": "v6.4.25", + "version": "v6.3.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "6be2f0c9ab3428587c07bed03aa9e3d1b823c6c8" + "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/6be2f0c9ab3428587c07bed03aa9e3d1b823c6c8", - "reference": "6be2f0c9ab3428587c07bed03aa9e3d1b823c6c8", + "url": "https://api.github.com/repos/symfony/process/zipball/0b5c29118f2e980d455d2e34a5659f4579847c54", + "reference": "0b5c29118f2e980d455d2e34a5659f4579847c54", "shasum": "" }, "require": { @@ -5286,7 +6043,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.25" + "source": "https://github.com/symfony/process/tree/v6.3.4" }, "funding": [ { @@ -5297,29 +6054,25 @@ "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": "2025-08-14T06:23:17+00:00" + "time": "2023-08-07T10:39:22+00:00" }, { "name": "symfony/routing", - "version": "v6.4.24", + "version": "v6.3.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "e4f94e625c8e6f910aa004a0042f7b2d398278f5" + "reference": "82616e59acd3e3d9c916bba798326cb7796d7d31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/e4f94e625c8e6f910aa004a0042f7b2d398278f5", - "reference": "e4f94e625c8e6f910aa004a0042f7b2d398278f5", + "url": "https://api.github.com/repos/symfony/routing/zipball/82616e59acd3e3d9c916bba798326cb7796d7d31", + "reference": "82616e59acd3e3d9c916bba798326cb7796d7d31", "shasum": "" }, "require": { @@ -5335,11 +6088,11 @@ "require-dev": { "doctrine/annotations": "^1.12|^2", "psr/log": "^1|^2|^3", - "symfony/config": "^6.2|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/config": "^6.2", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", + "symfony/yaml": "^5.4|^6.0" }, "type": "library", "autoload": { @@ -5373,7 +6126,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.24" + "source": "https://github.com/symfony/routing/tree/v6.3.5" }, "funding": [ { @@ -5384,47 +6137,42 @@ "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": "2025-07-15T08:46:37+00:00" + "time": "2023-09-20T16:05:51+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.6.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" + "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", - "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/b3313c2dbffaf71c8de2934e2ea56ed2291a3838", + "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3" + "psr/container": "^2.0" }, "conflict": { "ext-psr": "<1.1|>=2" }, "type": "library", "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -5460,7 +6208,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.4.0" }, "funding": [ { @@ -5476,24 +6224,24 @@ "type": "tidelift" } ], - "time": "2025-04-25T09:37:31+00:00" + "time": "2023-07-30T20:28:31+00:00" }, { "name": "symfony/string", - "version": "v7.3.3", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c" + "reference": "13880a87790c76ef994c91e87efb96134522577a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/17a426cce5fd1f0901fefa9b2a490d0038fd3c9c", - "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c", + "url": "https://api.github.com/repos/symfony/string/zipball/13880a87790c76ef994c91e87efb96134522577a", + "reference": "13880a87790c76ef994c91e87efb96134522577a", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", @@ -5503,12 +6251,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/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/intl": "^6.2", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", "autoload": { @@ -5547,7 +6294,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.3.3" + "source": "https://github.com/symfony/string/tree/v6.3.8" }, "funding": [ { @@ -5558,29 +6305,25 @@ "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": "2025-08-25T06:35:40+00:00" + "time": "2023-11-09T08:28:21+00:00" }, { "name": "symfony/translation", - "version": "v6.4.24", + "version": "v6.3.7", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "300b72643e89de0734d99a9e3f8494a3ef6936e1" + "reference": "30212e7c87dcb79c83f6362b00bde0e0b1213499" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/300b72643e89de0734d99a9e3f8494a3ef6936e1", - "reference": "300b72643e89de0734d99a9e3f8494a3ef6936e1", + "url": "https://api.github.com/repos/symfony/translation/zipball/30212e7c87dcb79c83f6362b00bde0e0b1213499", + "reference": "30212e7c87dcb79c83f6362b00bde0e0b1213499", "shasum": "" }, "require": { @@ -5603,19 +6346,19 @@ "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { - "nikic/php-parser": "^4.18|^5.0", + "nikic/php-parser": "^4.13", "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/finder": "^5.4|^6.0", "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0", + "symfony/intl": "^5.4|^6.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/routing": "^5.4|^6.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/yaml": "^5.4|^6.0" }, "type": "library", "autoload": { @@ -5646,7 +6389,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.24" + "source": "https://github.com/symfony/translation/tree/v6.3.7" }, "funding": [ { @@ -5657,29 +6400,25 @@ "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": "2025-07-30T17:30:48+00:00" + "time": "2023-10-28T23:11:45+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.6.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d" + "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d", - "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/dee0c6e5b4c07ce851b462530088e64b255ac9c5", + "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5", "shasum": "" }, "require": { @@ -5687,12 +6426,12 @@ }, "type": "library", "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -5728,7 +6467,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.4.0" }, "funding": [ { @@ -5744,20 +6483,20 @@ "type": "tidelift" } ], - "time": "2024-09-27T08:32:26+00:00" + "time": "2023-07-25T15:08:44+00:00" }, { "name": "symfony/uid", - "version": "v6.4.24", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "17da16a750541a42cf2183935e0f6008316c23f7" + "reference": "819fa5ac210fb7ddda4752b91a82f50be7493dd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/17da16a750541a42cf2183935e0f6008316c23f7", - "reference": "17da16a750541a42cf2183935e0f6008316c23f7", + "url": "https://api.github.com/repos/symfony/uid/zipball/819fa5ac210fb7ddda4752b91a82f50be7493dd9", + "reference": "819fa5ac210fb7ddda4752b91a82f50be7493dd9", "shasum": "" }, "require": { @@ -5765,7 +6504,7 @@ "symfony/polyfill-uuid": "^1.15" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0" + "symfony/console": "^5.4|^6.0" }, "type": "library", "autoload": { @@ -5802,7 +6541,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.24" + "source": "https://github.com/symfony/uid/tree/v6.3.8" }, "funding": [ { @@ -5813,29 +6552,25 @@ "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": "2025-07-10T08:14:14+00:00" + "time": "2023-10-31T08:07:48+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.25", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "c6cd92486e9fc32506370822c57bc02353a5a92c" + "reference": "81acabba9046550e89634876ca64bfcd3c06aa0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c6cd92486e9fc32506370822c57bc02353a5a92c", - "reference": "c6cd92486e9fc32506370822c57bc02353a5a92c", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/81acabba9046550e89634876ca64bfcd3c06aa0a", + "reference": "81acabba9046550e89634876ca64bfcd3c06aa0a", "shasum": "" }, "require": { @@ -5847,11 +6582,11 @@ "symfony/console": "<5.4" }, "require-dev": { - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^6.3|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", + "ext-iconv": "*", + "symfony/console": "^5.4|^6.0", + "symfony/http-kernel": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/uid": "^5.4|^6.0", "twig/twig": "^2.13|^3.0.4" }, "bin": [ @@ -5890,7 +6625,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.25" + "source": "https://github.com/symfony/var-dumper/tree/v6.3.8" }, "funding": [ { @@ -5901,46 +6636,40 @@ "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": "2025-08-13T09:41:44+00:00" + "time": "2023-11-08T10:42:36+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "v2.3.0", + "version": "2.2.6", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "0d72ac1c00084279c1816675284073c5a337c20d" + "reference": "c42125b83a4fa63b187fdf29f9c93cb7733da30c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d", - "reference": "0d72ac1c00084279c1816675284073c5a337c20d", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/c42125b83a4fa63b187fdf29f9c93cb7733da30c", + "reference": "c42125b83a4fa63b187fdf29f9c93cb7733da30c", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", - "php": "^7.4 || ^8.0", - "symfony/css-selector": "^5.4 || ^6.0 || ^7.0" + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0" }, "require-dev": { - "phpstan/phpstan": "^2.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpunit/phpunit": "^8.5.21 || ^9.5.10" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "2.2.x-dev" } }, "autoload": { @@ -5963,92 +6692,29 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.6" }, - "time": "2024-12-21T16:25:41+00:00" - }, - { - "name": "ua-parser/uap-php", - "version": "v3.10.0", - "source": { - "type": "git", - "url": "https://github.com/ua-parser/uap-php.git", - "reference": "f44bdd1b38198801cf60b0681d2d842980e47af5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ua-parser/uap-php/zipball/f44bdd1b38198801cf60b0681d2d842980e47af5", - "reference": "f44bdd1b38198801cf60b0681d2d842980e47af5", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.1", - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.33", - "phpunit/phpunit": "^8 || ^9", - "symfony/console": "^3.4 || ^4.2 || ^4.3 || ^5.0", - "symfony/filesystem": "^3.4 || ^4.2 || ^4.3 || ^5.0", - "symfony/finder": "^3.4 || ^4.2 || ^4.3 || ^5.0", - "symfony/yaml": "^3.4 || ^4.2 || ^4.3 || ^5.0", - "vimeo/psalm": "^3.12" - }, - "suggest": { - "symfony/console": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0", - "symfony/filesystem": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0", - "symfony/finder": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0", - "symfony/yaml": "Required for CLI usage - ^3.4 || ^4.3 || ^5.0" - }, - "bin": [ - "bin/uaparser" - ], - "type": "library", - "autoload": { - "psr-4": { - "UAParser\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dave Olsen", - "email": "dmolsen@gmail.com" - }, - { - "name": "Lars Strojny", - "email": "lars@strojny.net" - } - ], - "description": "A multi-language port of Browserscope's user agent parser.", - "support": { - "issues": "https://github.com/ua-parser/uap-php/issues", - "source": "https://github.com/ua-parser/uap-php/tree/v3.10.0" - }, - "time": "2025-07-17T15:43:24+00:00" + "time": "2023-01-03T09:29:04+00:00" }, { "name": "vlucas/phpdotenv", - "version": "v5.6.2", + "version": "v5.6.0", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", - "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", "shasum": "" }, "require": { "ext-pcre": "*", - "graham-campbell/result-type": "^1.1.3", + "graham-campbell/result-type": "^1.1.2", "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.3", + "phpoption/phpoption": "^1.9.2", "symfony/polyfill-ctype": "^1.24", "symfony/polyfill-mbstring": "^1.24", "symfony/polyfill-php80": "^1.24" @@ -6065,7 +6731,7 @@ "extra": { "bamarni-bin": { "bin-links": true, - "forward-command": false + "forward-command": true }, "branch-alias": { "dev-master": "5.6-dev" @@ -6100,7 +6766,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" }, "funding": [ { @@ -6112,20 +6778,20 @@ "type": "tidelift" } ], - "time": "2025-04-30T23:37:27+00:00" + "time": "2023-11-12T22:43:29+00:00" }, { "name": "voku/portable-ascii", - "version": "2.0.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" + "reference": "b56450eed252f6801410d810c8e1727224ae0743" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", - "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", + "reference": "b56450eed252f6801410d810c8e1727224ae0743", "shasum": "" }, "require": { @@ -6150,7 +6816,7 @@ "authors": [ { "name": "Lars Moelleken", - "homepage": "https://www.moelleken.org/" + "homepage": "http://www.moelleken.org/" } ], "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", @@ -6162,7 +6828,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.3" + "source": "https://github.com/voku/portable-ascii/tree/2.0.1" }, "funding": [ { @@ -6186,7 +6852,7 @@ "type": "tidelift" } ], - "time": "2024-11-21T01:49:47+00:00" + "time": "2022-03-08T17:03:00+00:00" }, { "name": "webmozart/assert", @@ -6250,16 +6916,16 @@ "packages-dev": [ { "name": "fakerphp/faker", - "version": "v1.24.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" + "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", - "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e3daa170d00fde61ea7719ef47bb09bb8f1d9b01", + "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01", "shasum": "" }, "require": { @@ -6285,6 +6951,11 @@ "ext-mbstring": "Required for multibyte Unicode string functionality." }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "v1.21-dev" + } + }, "autoload": { "psr-4": { "Faker\\": "src/Faker/" @@ -6307,32 +6978,32 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" + "source": "https://github.com/FakerPHP/Faker/tree/v1.23.0" }, - "time": "2024-11-21T13:46:39+00:00" + "time": "2023-06-12T08:44:38+00:00" }, { "name": "filp/whoops", - "version": "2.18.4", + "version": "2.15.4", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d" + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d", - "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0", + "php": "^5.5.9 || ^7.0 || ^8.0", "psr/log": "^1.0.1 || ^2.0 || ^3.0" }, "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", - "symfony/var-dumper": "^4.0 || ^5.0" + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" }, "suggest": { "symfony/var-dumper": "Pretty print complex values better with var-dumper available", @@ -6372,7 +7043,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.18.4" + "source": "https://github.com/filp/whoops/tree/2.15.4" }, "funding": [ { @@ -6380,24 +7051,24 @@ "type": "github" } ], - "time": "2025-08-08T12:00:00+00:00" + "time": "2023-11-03T12:00:00+00:00" }, { "name": "hamcrest/hamcrest-php", - "version": "v2.1.1", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", - "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", "shasum": "" }, "require": { - "php": "^7.4|^8.0" + "php": "^5.3|^7.0|^8.0" }, "replace": { "cordoval/hamcrest-php": "*", @@ -6405,8 +7076,8 @@ "kodova/hamcrest-php": "*" }, "require-dev": { - "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" + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" }, "type": "library", "extra": { @@ -6429,22 +7100,22 @@ ], "support": { "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" }, - "time": "2025-04-30T06:54:44+00:00" + "time": "2020-07-09T08:09:16+00:00" }, { "name": "laravel/pint", - "version": "v1.24.0", + "version": "v1.13.6", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "0345f3b05f136801af8c339f9d16ef29e6b4df8a" + "reference": "3e3d2ab01c7d8b484c18e6100ecf53639c744fa7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/0345f3b05f136801af8c339f9d16ef29e6b4df8a", - "reference": "0345f3b05f136801af8c339f9d16ef29e6b4df8a", + "url": "https://api.github.com/repos/laravel/pint/zipball/3e3d2ab01c7d8b484c18e6100ecf53639c744fa7", + "reference": "3e3d2ab01c7d8b484c18e6100ecf53639c744fa7", "shasum": "" }, "require": { @@ -6452,25 +7123,22 @@ "ext-mbstring": "*", "ext-tokenizer": "*", "ext-xml": "*", - "php": "^8.2.0" + "php": "^8.1.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.82.2", - "illuminate/view": "^11.45.1", - "larastan/larastan": "^3.5.0", - "laravel-zero/framework": "^11.45.0", - "mockery/mockery": "^1.6.12", - "nunomaduro/termwind": "^2.3.1", - "pestphp/pest": "^2.36.0" + "friendsofphp/php-cs-fixer": "^3.38.0", + "illuminate/view": "^10.30.1", + "laravel-zero/framework": "^10.3.0", + "mockery/mockery": "^1.6.6", + "nunomaduro/larastan": "^2.6.4", + "nunomaduro/termwind": "^1.15.1", + "pestphp/pest": "^2.24.2" }, "bin": [ "builds/pint" ], "type": "project", "autoload": { - "files": [ - "overrides/Runner/Parallel/ProcessFactory.php" - ], "psr-4": { "App\\": "app/", "Database\\Seeders\\": "database/seeders/", @@ -6500,32 +7168,31 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2025-07-10T18:09:32+00:00" + "time": "2023-11-07T17:59:57+00:00" }, { "name": "laravel/sail", - "version": "v1.45.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "019a2933ff4a9199f098d4259713f9bc266a874e" + "reference": "c60fe037004e272efd0d81f416ed2bfc623d70b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/019a2933ff4a9199f098d4259713f9bc266a874e", - "reference": "019a2933ff4a9199f098d4259713f9bc266a874e", + "url": "https://api.github.com/repos/laravel/sail/zipball/c60fe037004e272efd0d81f416ed2bfc623d70b4", + "reference": "c60fe037004e272efd0d81f416ed2bfc623d70b4", "shasum": "" }, "require": { - "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", + "illuminate/console": "^9.0|^10.0|^11.0", + "illuminate/contracts": "^9.0|^10.0|^11.0", + "illuminate/support": "^9.0|^10.0|^11.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|^10.0", + "orchestra/testbench": "^7.0|^8.0|^9.0", "phpstan/phpstan": "^1.10" }, "bin": [ @@ -6533,6 +7200,9 @@ ], "type": "library", "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, "laravel": { "providers": [ "Laravel\\Sail\\SailServiceProvider" @@ -6563,20 +7233,20 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2025-08-25T19:28:31+00:00" + "time": "2023-10-18T13:57:15+00:00" }, { "name": "mockery/mockery", - "version": "1.6.12", + "version": "1.6.6", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" + "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", - "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "url": "https://api.github.com/repos/mockery/mockery/zipball/b8e0bb7d8c604046539c1115994632c74dcb361e", + "reference": "b8e0bb7d8c604046539c1115994632c74dcb361e", "shasum": "" }, "require": { @@ -6588,8 +7258,10 @@ "phpunit/phpunit": "<8.0" }, "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.6.17", - "symplify/easy-coding-standard": "^12.1.14" + "phpunit/phpunit": "^8.5 || ^9.6.10", + "psalm/plugin-phpunit": "^0.18.4", + "symplify/easy-coding-standard": "^11.5.0", + "vimeo/psalm": "^4.30" }, "type": "library", "autoload": { @@ -6646,20 +7318,20 @@ "security": "https://github.com/mockery/mockery/security/advisories", "source": "https://github.com/mockery/mockery" }, - "time": "2024-05-16T03:13:13+00:00" + "time": "2023-08-09T00:03:52+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.13.4", + "version": "1.11.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", "shasum": "" }, "require": { @@ -6667,12 +7339,11 @@ }, "conflict": { "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3 <3.2.2" + "doctrine/common": "<2.13.3 || >=3,<3.2.2" }, "require-dev": { "doctrine/collections": "^1.6.8", "doctrine/common": "^2.13.3 || ^3.2.2", - "phpspec/prophecy": "^1.10", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", @@ -6698,7 +7369,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" }, "funding": [ { @@ -6706,44 +7377,44 @@ "type": "tidelift" } ], - "time": "2025-08-01T08:46:24+00:00" + "time": "2023-03-08T13:26:56+00:00" }, { "name": "nunomaduro/collision", - "version": "v7.12.0", + "version": "v7.10.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "995245421d3d7593a6960822063bdba4f5d7cf1a" + "reference": "49ec67fa7b002712da8526678abd651c09f375b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/995245421d3d7593a6960822063bdba4f5d7cf1a", - "reference": "995245421d3d7593a6960822063bdba4f5d7cf1a", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/49ec67fa7b002712da8526678abd651c09f375b2", + "reference": "49ec67fa7b002712da8526678abd651c09f375b2", "shasum": "" }, "require": { - "filp/whoops": "^2.17.0", - "nunomaduro/termwind": "^1.17.0", + "filp/whoops": "^2.15.3", + "nunomaduro/termwind": "^1.15.1", "php": "^8.1.0", - "symfony/console": "^6.4.17" + "symfony/console": "^6.3.4" }, "conflict": { "laravel/framework": ">=11.0.0" }, "require-dev": { - "brianium/paratest": "^7.4.8", - "laravel/framework": "^10.48.29", - "laravel/pint": "^1.21.2", - "laravel/sail": "^1.41.0", - "laravel/sanctum": "^3.3.3", - "laravel/tinker": "^2.10.1", - "nunomaduro/larastan": "^2.10.0", - "orchestra/testbench-core": "^8.35.0", - "pestphp/pest": "^2.36.0", - "phpunit/phpunit": "^10.5.36", - "sebastian/environment": "^6.1.0", - "spatie/laravel-ignition": "^2.9.1" + "brianium/paratest": "^7.3.0", + "laravel/framework": "^10.28.0", + "laravel/pint": "^1.13.3", + "laravel/sail": "^1.25.0", + "laravel/sanctum": "^3.3.1", + "laravel/tinker": "^2.8.2", + "nunomaduro/larastan": "^2.6.4", + "orchestra/testbench-core": "^8.13.0", + "pestphp/pest": "^2.23.2", + "phpunit/phpunit": "^10.4.1", + "sebastian/environment": "^6.0.1", + "spatie/laravel-ignition": "^2.3.1" }, "type": "library", "extra": { @@ -6802,25 +7473,24 @@ "type": "patreon" } ], - "time": "2025-03-14T22:35:49+00:00" + "time": "2023-10-11T15:45:01+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.4", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "54750ef60c58e43759730615a392c31c80e23176" + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", - "reference": "54750ef60c58e43759730615a392c31c80e23176", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", "shasum": "" }, "require": { "ext-dom": "*", - "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -6861,15 +7531,9 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.4" + "source": "https://github.com/phar-io/manifest/tree/2.0.3" }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:33:53+00:00" + "time": "2021-07-20T11:28:43+00:00" }, { "name": "phar-io/version", @@ -6924,32 +7588,32 @@ }, { "name": "phpunit/php-code-coverage", - "version": "10.1.16", + "version": "10.1.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "7e308268858ed6baedc8704a304727d20bc07c77" + "reference": "84838eed9ded511f61dc3e8b5944a52d9017b297" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77", - "reference": "7e308268858ed6baedc8704a304727d20bc07c77", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/84838eed9ded511f61dc3e8b5944a52d9017b297", + "reference": "84838eed9ded511f61dc3e8b5944a52d9017b297", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.19.1 || ^5.1.0", + "nikic/php-parser": "^4.15", "php": ">=8.1", - "phpunit/php-file-iterator": "^4.1.0", - "phpunit/php-text-template": "^3.0.1", - "sebastian/code-unit-reverse-lookup": "^3.0.0", - "sebastian/complexity": "^3.2.0", - "sebastian/environment": "^6.1.0", - "sebastian/lines-of-code": "^2.0.2", - "sebastian/version": "^4.0.1", - "theseer/tokenizer": "^1.2.3" + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-text-template": "^3.0", + "sebastian/code-unit-reverse-lookup": "^3.0", + "sebastian/complexity": "^3.0", + "sebastian/environment": "^6.0", + "sebastian/lines-of-code": "^2.0", + "sebastian/version": "^4.0", + "theseer/tokenizer": "^1.2.0" }, "require-dev": { "phpunit/phpunit": "^10.1" @@ -6961,7 +7625,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1.x-dev" + "dev-main": "10.1-dev" } }, "autoload": { @@ -6990,7 +7654,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.8" }, "funding": [ { @@ -6998,7 +7662,7 @@ "type": "github" } ], - "time": "2024-08-22T04:31:57+00:00" + "time": "2023-11-15T13:31:15+00:00" }, { "name": "phpunit/php-file-iterator", @@ -7245,16 +7909,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.53", + "version": "10.4.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "32768472ebfb6969e6c7399f1c7b09009723f653" + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/32768472ebfb6969e6c7399f1c7b09009723f653", - "reference": "32768472ebfb6969e6c7399f1c7b09009723f653", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", + "reference": "cacd8b9dd224efa8eb28beb69004126c7ca1a1a1", "shasum": "" }, "require": { @@ -7264,26 +7928,26 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.4", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.16", - "phpunit/php-file-iterator": "^4.1.0", - "phpunit/php-invoker": "^4.0.0", - "phpunit/php-text-template": "^3.0.1", - "phpunit/php-timer": "^6.0.0", - "sebastian/cli-parser": "^2.0.1", - "sebastian/code-unit": "^2.0.0", - "sebastian/comparator": "^5.0.3", - "sebastian/diff": "^5.1.1", - "sebastian/environment": "^6.1.0", - "sebastian/exporter": "^5.1.2", - "sebastian/global-state": "^6.0.2", - "sebastian/object-enumerator": "^5.0.0", - "sebastian/recursion-context": "^5.0.1", - "sebastian/type": "^4.0.0", - "sebastian/version": "^4.0.1" + "phpunit/php-code-coverage": "^10.1.5", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-invoker": "^4.0", + "phpunit/php-text-template": "^3.0", + "phpunit/php-timer": "^6.0", + "sebastian/cli-parser": "^2.0", + "sebastian/code-unit": "^2.0", + "sebastian/comparator": "^5.0", + "sebastian/diff": "^5.0", + "sebastian/environment": "^6.0", + "sebastian/exporter": "^5.1", + "sebastian/global-state": "^6.0.1", + "sebastian/object-enumerator": "^5.0", + "sebastian/recursion-context": "^5.0", + "sebastian/type": "^4.0", + "sebastian/version": "^4.0" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" @@ -7294,7 +7958,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.5-dev" + "dev-main": "10.4-dev" } }, "autoload": { @@ -7326,7 +7990,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.53" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.4.2" }, "funding": [ { @@ -7337,33 +8001,25 @@ "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": "2025-08-20T14:40:06+00:00" + "time": "2023-10-26T07:21:45+00:00" }, { "name": "sebastian/cli-parser", - "version": "2.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" + "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", - "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", + "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", "shasum": "" }, "require": { @@ -7398,8 +8054,7 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" }, "funding": [ { @@ -7407,7 +8062,7 @@ "type": "github" } ], - "time": "2024-03-02T07:12:49+00:00" + "time": "2023-02-03T06:58:15+00:00" }, { "name": "sebastian/code-unit", @@ -7522,16 +8177,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.3", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e" + "reference": "2db5010a484d53ebf536087a70b4a5423c102372" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", - "reference": "a18251eb0b7a2dcd2f7aa3d6078b18545ef0558e", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", + "reference": "2db5010a484d53ebf536087a70b4a5423c102372", "shasum": "" }, "require": { @@ -7542,7 +8197,7 @@ "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.5" + "phpunit/phpunit": "^10.3" }, "type": "library", "extra": { @@ -7587,7 +8242,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.3" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" }, "funding": [ { @@ -7595,24 +8250,24 @@ "type": "github" } ], - "time": "2024-10-18T14:56:07+00:00" + "time": "2023-08-14T13:18:12+00:00" }, { "name": "sebastian/complexity", - "version": "3.2.0", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68ff824baeae169ec9f2137158ee529584553799" + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", - "reference": "68ff824baeae169ec9f2137158ee529584553799", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957", + "reference": "68cfb347a44871f01e33ab0ef8215966432f6957", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", + "nikic/php-parser": "^4.10", "php": ">=8.1" }, "require-dev": { @@ -7621,7 +8276,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.2-dev" + "dev-main": "3.1-dev" } }, "autoload": { @@ -7645,7 +8300,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" + "source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0" }, "funding": [ { @@ -7653,20 +8308,20 @@ "type": "github" } ], - "time": "2023-12-21T08:37:17+00:00" + "time": "2023-09-28T11:50:59+00:00" }, { "name": "sebastian/diff", - "version": "5.1.1", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" + "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b", + "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b", "shasum": "" }, "require": { @@ -7674,12 +8329,12 @@ }, "require-dev": { "phpunit/phpunit": "^10.0", - "symfony/process": "^6.4" + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -7712,7 +8367,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3" }, "funding": [ { @@ -7720,20 +8375,20 @@ "type": "github" } ], - "time": "2024-03-02T07:15:17+00:00" + "time": "2023-05-01T07:48:21+00:00" }, { "name": "sebastian/environment", - "version": "6.1.0", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" + "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", - "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", + "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", "shasum": "" }, "require": { @@ -7748,7 +8403,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -7776,7 +8431,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" + "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1" }, "funding": [ { @@ -7784,20 +8439,20 @@ "type": "github" } ], - "time": "2024-03-23T08:47:14+00:00" + "time": "2023-04-11T05:39:26+00:00" }, { "name": "sebastian/exporter", - "version": "5.1.2", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "955288482d97c19a372d3f31006ab3f37da47adf" + "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf", - "reference": "955288482d97c19a372d3f31006ab3f37da47adf", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", + "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", "shasum": "" }, "require": { @@ -7854,7 +8509,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2" + "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1" }, "funding": [ { @@ -7862,20 +8517,20 @@ "type": "github" } ], - "time": "2024-03-02T07:17:12+00:00" + "time": "2023-09-24T13:22:09+00:00" }, { "name": "sebastian/global-state", - "version": "6.0.2", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", - "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", "shasum": "" }, "require": { @@ -7909,14 +8564,14 @@ } ], "description": "Snapshotting of global state", - "homepage": "https://www.github.com/sebastianbergmann/global-state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", "keywords": [ "global state" ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" }, "funding": [ { @@ -7924,24 +8579,24 @@ "type": "github" } ], - "time": "2024-03-02T07:19:19+00:00" + "time": "2023-07-19T07:19:23+00:00" }, { "name": "sebastian/lines-of-code", - "version": "2.0.2", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" + "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", - "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/649e40d279e243d985aa8fb6e74dd5bb28dc185d", + "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", + "nikic/php-parser": "^4.10", "php": ">=8.1" }, "require-dev": { @@ -7974,7 +8629,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.1" }, "funding": [ { @@ -7982,7 +8637,7 @@ "type": "github" } ], - "time": "2023-12-21T08:38:20+00:00" + "time": "2023-08-31T09:25:50+00:00" }, { "name": "sebastian/object-enumerator", @@ -8098,23 +8753,23 @@ }, { "name": "sebastian/recursion-context", - "version": "5.0.1", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a" + "reference": "05909fb5bc7df4c52992396d0116aed689f93712" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/47e34210757a2f37a97dcd207d032e1b01e64c7a", - "reference": "47e34210757a2f37a97dcd207d032e1b01e64c7a", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^10.5" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { @@ -8149,28 +8804,15 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.1" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" }, "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": "2025-08-10T07:50:56+00:00" + "time": "2023-02-03T07:05:40+00:00" }, { "name": "sebastian/type", @@ -8283,27 +8925,26 @@ }, { "name": "spatie/backtrace", - "version": "1.8.1", + "version": "1.5.3", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110" + "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/8c0f16a59ae35ec8c62d85c3c17585158f430110", - "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/483f76a82964a0431aa836b6ed0edde0c248e3ab", + "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab", "shasum": "" }, "require": { - "php": "^7.3 || ^8.0" + "php": "^7.3|^8.0" }, "require-dev": { "ext-json": "*", - "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" + "phpunit/phpunit": "^9.3", + "spatie/phpunit-snapshot-assertions": "^4.2", + "symfony/var-dumper": "^5.1" }, "type": "library", "autoload": { @@ -8330,8 +8971,7 @@ "spatie" ], "support": { - "issues": "https://github.com/spatie/backtrace/issues", - "source": "https://github.com/spatie/backtrace/tree/1.8.1" + "source": "https://github.com/spatie/backtrace/tree/1.5.3" }, "funding": [ { @@ -8343,100 +8983,27 @@ "type": "other" } ], - "time": "2025-08-26T08:22:30+00:00" - }, - { - "name": "spatie/error-solutions", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/spatie/error-solutions.git", - "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/error-solutions/zipball/e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", - "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936", - "shasum": "" - }, - "require": { - "php": "^8.0" - }, - "require-dev": { - "illuminate/broadcasting": "^10.0|^11.0|^12.0", - "illuminate/cache": "^10.0|^11.0|^12.0", - "illuminate/support": "^10.0|^11.0|^12.0", - "livewire/livewire": "^2.11|^3.5.20", - "openai-php/client": "^0.10.1", - "orchestra/testbench": "8.22.3|^9.0|^10.0", - "pestphp/pest": "^2.20|^3.0", - "phpstan/phpstan": "^2.1", - "psr/simple-cache": "^3.0", - "psr/simple-cache-implementation": "^3.0", - "spatie/ray": "^1.28", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "vlucas/phpdotenv": "^5.5" - }, - "suggest": { - "openai-php/client": "Require get solutions from OpenAI", - "simple-cache-implementation": "To cache solutions from OpenAI" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\Ignition\\": "legacy/ignition", - "Spatie\\ErrorSolutions\\": "src", - "Spatie\\LaravelIgnition\\": "legacy/laravel-ignition" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ruben Van Assche", - "email": "ruben@spatie.be", - "role": "Developer" - } - ], - "description": "This is my package error-solutions", - "homepage": "https://github.com/spatie/error-solutions", - "keywords": [ - "error-solutions", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/error-solutions/issues", - "source": "https://github.com/spatie/error-solutions/tree/1.1.3" - }, - "funding": [ - { - "url": "https://github.com/Spatie", - "type": "github" - } - ], - "time": "2025-02-14T12:29:50+00:00" + "time": "2023-06-28T12:59:17+00:00" }, { "name": "spatie/flare-client-php", - "version": "1.10.1", + "version": "1.4.3", "source": { "type": "git", "url": "https://github.com/spatie/flare-client-php.git", - "reference": "bf1716eb98bd689451b071548ae9e70738dce62f" + "reference": "5db2fdd743c3ede33f2a5367d89ec1a7c9c1d1ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/bf1716eb98bd689451b071548ae9e70738dce62f", - "reference": "bf1716eb98bd689451b071548ae9e70738dce62f", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/5db2fdd743c3ede33f2a5367d89ec1a7c9c1d1ec", + "reference": "5db2fdd743c3ede33f2a5367d89ec1a7c9c1d1ec", "shasum": "" }, "require": { - "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", + "nesbot/carbon": "^2.62.1", "php": "^8.0", - "spatie/backtrace": "^1.6.1", + "spatie/backtrace": "^1.5.2", "symfony/http-foundation": "^5.2|^6.0|^7.0", "symfony/mime": "^5.2|^6.0|^7.0", "symfony/process": "^5.2|^6.0|^7.0", @@ -8448,7 +9015,7 @@ "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.0", - "spatie/pest-plugin-snapshots": "^1.0|^2.0" + "spatie/phpunit-snapshot-assertions": "^4.0|^5.0" }, "type": "library", "extra": { @@ -8478,7 +9045,7 @@ ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.10.1" + "source": "https://github.com/spatie/flare-client-php/tree/1.4.3" }, "funding": [ { @@ -8486,33 +9053,33 @@ "type": "github" } ], - "time": "2025-02-14T13:42:06+00:00" + "time": "2023-10-17T15:54:07+00:00" }, { "name": "spatie/ignition", - "version": "1.15.1", + "version": "1.11.3", "source": { "type": "git", "url": "https://github.com/spatie/ignition.git", - "reference": "31f314153020aee5af3537e507fef892ffbf8c85" + "reference": "3d886de644ff7a5b42e4d27c1e1f67c8b5f00044" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ignition/zipball/31f314153020aee5af3537e507fef892ffbf8c85", - "reference": "31f314153020aee5af3537e507fef892ffbf8c85", + "url": "https://api.github.com/repos/spatie/ignition/zipball/3d886de644ff7a5b42e4d27c1e1f67c8b5f00044", + "reference": "3d886de644ff7a5b42e4d27c1e1f67c8b5f00044", "shasum": "" }, "require": { "ext-json": "*", "ext-mbstring": "*", "php": "^8.0", - "spatie/error-solutions": "^1.0", - "spatie/flare-client-php": "^1.7", + "spatie/backtrace": "^1.5.3", + "spatie/flare-client-php": "^1.4.0", "symfony/console": "^5.4|^6.0|^7.0", "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "require-dev": { - "illuminate/cache": "^9.52|^10.0|^11.0|^12.0", + "illuminate/cache": "^9.52|^10.0|^11.0", "mockery/mockery": "^1.4", "pestphp/pest": "^1.20|^2.0", "phpstan/extension-installer": "^1.1", @@ -8569,41 +9136,42 @@ "type": "github" } ], - "time": "2025-02-21T14:31:39+00:00" + "time": "2023-10-18T14:09:40+00:00" }, { "name": "spatie/laravel-ignition", - "version": "2.9.1", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-ignition.git", - "reference": "1baee07216d6748ebd3a65ba97381b051838707a" + "reference": "bf21cd15aa47fa4ec5d73bbc932005c70261efc8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/1baee07216d6748ebd3a65ba97381b051838707a", - "reference": "1baee07216d6748ebd3a65ba97381b051838707a", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/bf21cd15aa47fa4ec5d73bbc932005c70261efc8", + "reference": "bf21cd15aa47fa4ec5d73bbc932005c70261efc8", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", - "illuminate/support": "^10.0|^11.0|^12.0", + "illuminate/support": "^10.0", "php": "^8.1", - "spatie/ignition": "^1.15", - "symfony/console": "^6.2.3|^7.0", - "symfony/var-dumper": "^6.2.3|^7.0" + "spatie/flare-client-php": "^1.3.5", + "spatie/ignition": "^1.9", + "symfony/console": "^6.2.3", + "symfony/var-dumper": "^6.2.3" }, "require-dev": { - "livewire/livewire": "^2.11|^3.3.5", + "livewire/livewire": "^2.11", "mockery/mockery": "^1.5.1", - "openai-php/client": "^0.8.1|^0.10", - "orchestra/testbench": "8.22.3|^9.0|^10.0", - "pestphp/pest": "^2.34|^3.7", - "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan-deprecation-rules": "^1.1.1|^2.0", - "phpstan/phpstan-phpunit": "^1.3.16|^2.0", + "openai-php/client": "^0.3.4", + "orchestra/testbench": "^8.0", + "pestphp/pest": "^1.22.3", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan-deprecation-rules": "^1.1.1", + "phpstan/phpstan-phpunit": "^1.3.3", "vlucas/phpdotenv": "^5.5" }, "suggest": { @@ -8613,12 +9181,12 @@ "type": "library", "extra": { "laravel": { - "aliases": { - "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" - }, "providers": [ "Spatie\\LaravelIgnition\\IgnitionServiceProvider" - ] + ], + "aliases": { + "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" + } } }, "autoload": { @@ -8660,32 +9228,32 @@ "type": "github" } ], - "time": "2025-02-20T13:13:55+00:00" + "time": "2023-10-09T12:55:26+00:00" }, { "name": "symfony/yaml", - "version": "v7.3.3", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "d4f4a66866fe2451f61296924767280ab5732d9d" + "reference": "3493af8a8dad7fa91c77fa473ba23ecd95334a92" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/d4f4a66866fe2451f61296924767280ab5732d9d", - "reference": "d4f4a66866fe2451f61296924767280ab5732d9d", + "url": "https://api.github.com/repos/symfony/yaml/zipball/3493af8a8dad7fa91c77fa473ba23ecd95334a92", + "reference": "3493af8a8dad7fa91c77fa473ba23ecd95334a92", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3.0", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<6.4" + "symfony/console": "<5.4" }, "require-dev": { - "symfony/console": "^6.4|^7.0" + "symfony/console": "^5.4|^6.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -8716,7 +9284,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.3.3" + "source": "https://github.com/symfony/yaml/tree/v6.3.8" }, "funding": [ { @@ -8727,29 +9295,25 @@ "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": "2025-08-27T11:34:33+00:00" + "time": "2023-11-06T10:58:05+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.3", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", "shasum": "" }, "require": { @@ -8778,7 +9342,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.2.1" }, "funding": [ { @@ -8786,18 +9350,17 @@ "type": "github" } ], - "time": "2024-03-03T12:36:25+00:00" + "time": "2021-07-28T10:34:58+00:00" } ], "aliases": [], "minimum-stability": "stable", - "stability-flags": {}, + "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^8.1", - "ext-exif": "*" + "php": "^8.1" }, - "platform-dev": {}, + "platform-dev": [], "plugin-api-version": "2.6.0" } diff --git a/config/app.php b/config/app.php index a20d8e9..d4177ae 100644 --- a/config/app.php +++ b/config/app.php @@ -4,11 +4,12 @@ use Illuminate\Support\ServiceProvider; return [ - 'name' => env('APP_NAME', 'wah.moe'), - 'version' => '2025.08.30-patch2', + 'name' => env('APP_NAME', 'diskfloppy.me'), + 'version' => '2023.11.26', 'env' => env('APP_ENV', 'production'), 'debug' => (bool) env('APP_DEBUG', false), 'url' => env('APP_URL', 'http://localhost'), + 'api_root' => env('API_ROOT', 'http://localhost:3000'), 'asset_url' => env('ASSET_URL'), 'timezone' => 'UTC', @@ -25,7 +26,6 @@ App\Providers\AuthServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, - browner12\helpers\HelperServiceProvider::class ])->toArray(), 'aliases' => Facade::defaultAliases()->merge([ ])->toArray(), diff --git a/config/auth0.php b/config/auth0.php new file mode 100644 index 0000000..7a5664f --- /dev/null +++ b/config/auth0.php @@ -0,0 +1,56 @@ + true, + 'registerMiddleware' => true, + 'registerAuthenticationRoutes' => true, + 'configurationPath' => null, + + 'guards' => [ + 'default' => [ + Configuration::CONFIG_STRATEGY => Configuration::get(Configuration::CONFIG_STRATEGY, SdkConfiguration::STRATEGY_NONE), + Configuration::CONFIG_DOMAIN => Configuration::get(Configuration::CONFIG_DOMAIN), + Configuration::CONFIG_CUSTOM_DOMAIN => Configuration::get(Configuration::CONFIG_CUSTOM_DOMAIN), + Configuration::CONFIG_CLIENT_ID => Configuration::get(Configuration::CONFIG_CLIENT_ID), + Configuration::CONFIG_CLIENT_SECRET => Configuration::get(Configuration::CONFIG_CLIENT_SECRET), + Configuration::CONFIG_AUDIENCE => Configuration::get(Configuration::CONFIG_AUDIENCE), + Configuration::CONFIG_ORGANIZATION => Configuration::get(Configuration::CONFIG_ORGANIZATION), + Configuration::CONFIG_USE_PKCE => Configuration::get(Configuration::CONFIG_USE_PKCE), + Configuration::CONFIG_SCOPE => Configuration::get(Configuration::CONFIG_SCOPE), + Configuration::CONFIG_RESPONSE_MODE => Configuration::get(Configuration::CONFIG_RESPONSE_MODE), + Configuration::CONFIG_RESPONSE_TYPE => Configuration::get(Configuration::CONFIG_RESPONSE_TYPE), + Configuration::CONFIG_TOKEN_ALGORITHM => Configuration::get(Configuration::CONFIG_TOKEN_ALGORITHM), + Configuration::CONFIG_TOKEN_JWKS_URI => Configuration::get(Configuration::CONFIG_TOKEN_JWKS_URI), + Configuration::CONFIG_TOKEN_MAX_AGE => Configuration::get(Configuration::CONFIG_TOKEN_MAX_AGE), + Configuration::CONFIG_TOKEN_LEEWAY => Configuration::get(Configuration::CONFIG_TOKEN_LEEWAY), + Configuration::CONFIG_TOKEN_CACHE => Configuration::get(Configuration::CONFIG_TOKEN_CACHE), + Configuration::CONFIG_TOKEN_CACHE_TTL => Configuration::get(Configuration::CONFIG_TOKEN_CACHE_TTL), + Configuration::CONFIG_HTTP_MAX_RETRIES => Configuration::get(Configuration::CONFIG_HTTP_MAX_RETRIES), + Configuration::CONFIG_HTTP_TELEMETRY => Configuration::get(Configuration::CONFIG_HTTP_TELEMETRY), + Configuration::CONFIG_MANAGEMENT_TOKEN => Configuration::get(Configuration::CONFIG_MANAGEMENT_TOKEN), + Configuration::CONFIG_MANAGEMENT_TOKEN_CACHE => Configuration::get(Configuration::CONFIG_MANAGEMENT_TOKEN_CACHE), + Configuration::CONFIG_CLIENT_ASSERTION_SIGNING_KEY => Configuration::get(Configuration::CONFIG_CLIENT_ASSERTION_SIGNING_KEY), + Configuration::CONFIG_CLIENT_ASSERTION_SIGNING_ALGORITHM => Configuration::get(Configuration::CONFIG_CLIENT_ASSERTION_SIGNING_ALGORITHM), + Configuration::CONFIG_PUSHED_AUTHORIZATION_REQUEST => Configuration::get(Configuration::CONFIG_PUSHED_AUTHORIZATION_REQUEST), + ], + + 'api' => [ + Configuration::CONFIG_STRATEGY => SdkConfiguration::STRATEGY_API, + ], + + 'web' => [ + Configuration::CONFIG_STRATEGY => SdkConfiguration::STRATEGY_REGULAR, + Configuration::CONFIG_COOKIE_SECRET => Configuration::get(Configuration::CONFIG_COOKIE_SECRET, env('APP_KEY')), + Configuration::CONFIG_REDIRECT_URI => Configuration::get(Configuration::CONFIG_REDIRECT_URI, env('APP_URL') . '/callback'), + Configuration::CONFIG_SESSION_STORAGE => Configuration::get(Configuration::CONFIG_SESSION_STORAGE), + Configuration::CONFIG_SESSION_STORAGE_ID => Configuration::get(Configuration::CONFIG_SESSION_STORAGE_ID), + Configuration::CONFIG_TRANSIENT_STORAGE => Configuration::get(Configuration::CONFIG_TRANSIENT_STORAGE), + Configuration::CONFIG_TRANSIENT_STORAGE_ID => Configuration::get(Configuration::CONFIG_TRANSIENT_STORAGE_ID), + ], + ], +]; diff --git a/config/bookmarks.php b/config/bookmarks.php new file mode 100644 index 0000000..db955d5 --- /dev/null +++ b/config/bookmarks.php @@ -0,0 +1,117 @@ + "Friends' Websites", + 'bookmarks' => [ + [ + 'name' => "nick99nack", + 'url' => "http://www.nick99nack.com/", + 'description' => "Currently in the process of taking over the internet. I Totally didn't steal any of his stuff." + ], + [ + 'name' => "campos", + 'url' => "https://campos02.me/", + 'description' => "Cool brazilian dude, does programming and stuff" + ], + [ + 'name' => "Sashi", + 'url' => "https://joshuaalto.com/", + 'description' => "Site redesign #8! I'll find a website style I enjoy eventually, I swear!" + ], + [ + 'name' => "noone", + 'url' => "http://strangenessnetworks.com/", + 'description' => "Strangeness Networks, noone's website." + ], + [ + 'name' => "raf", + 'url' => "https://notashelf.dev/", + 'description' => "is a shelf" + ], + [ + 'name' => "CamK06", + 'url' => "https://starman0620.neocities.org/", + 'description' => "Now with more outdated HTML!" + ], + [ + 'name' => "HIDEN", + 'url' => "https://hiden.pw/", + 'description' => "Moar buttons!" + ], + [ + 'name' => "coco", + 'url' => "http://cocomark.neocities.org/", + 'description' => "needs to go to the brain store" + ], + [ + 'name' => "Toxidation", + 'url' => "http://toxi.pw/", + 'description' => "h (idk if this is his actual domain he has like 5)" + ], + [ + 'name' => "xproot", + 'url' => "http://xproot.pw/", + 'description' => "a random internet person on this very random planet" + ] + ] + ], + // Cool Projects + [ + 'name' => "Cool Projects", + 'bookmarks' => [ + [ + 'name' => "ToS;DR", + 'url' => "https://tosdr.org/", + 'description' => "\"I have read and agree to the Terms\" is the biggest lie on the web. They aim to fix that." + ], + [ + 'name' => "NINA", + 'url' => "https://nina.chat/", + 'description' => "Yahoo! Messenger (and soon AOL) revival" + ], + [ + 'name' => "Escargot", + 'url' => "https://escargot.chat/", + 'description' => "MSN/WLM revival" + ], + ] + ], + // Other Cool Stuff + [ + 'name' => "Other Cool Stuff", + 'bookmarks' => [ + [ + 'name' => "WinWorld", + 'url' => "http://www.winworldpc.com/", + 'description' => "WinWorld is an online museum dedicated to the preservation and sharing of vintage, abandoned, and pre-release software." + ], + [ + 'name' => "ToastyTech", + 'url' => "http://toastytech.com/", + 'description' => "Nathan's Toasty Technology Page" + ], + [ + 'name' => "Optimized for no one", + 'url' => "http://www.hoary.org/browse/", + 'description' => "Optimized for no one, but pretty much OK with . . ." + ], + [ + 'name' => "Cameron's World", + 'url' => "http://www.cameronsworld.net/", + 'description' => "A love letter to the Internet of old." + ] + ] + ], + // Miscellaneous Resources + [ + 'name' => "Miscellaneous Resources", + 'bookmarks' => [ + [ + 'name' => "Home Manager (Appendix A)", + 'url' => "https://rycee.gitlab.io/home-manager/options.html", + 'description' => "Useful list of configuration options for Home Manager." + ] + ] + ] +]; diff --git a/config/projects.php b/config/projects.php new file mode 100644 index 0000000..1c6c0f2 --- /dev/null +++ b/config/projects.php @@ -0,0 +1,71 @@ + "Websites", + 'projects' => [ + [ + 'name' => "diskfloppy.me", + 'description' => "The website you're looking at right now!", + 'url' => "https://github.com/floppydisk05/diskfloppy.me", + 'languages' => ["PHP", "CSS"] + ], + [ + 'name' => "NetDrivers", + 'description' => "Driver downloads website.", + 'url' => "https://github.com/floppydisk05/NetDrivers", + 'languages' => ["Ruby", "CSS"] + ] + ] + ], + [ + 'name' => "APIs", + 'projects' => [ + [ + 'name' => "trivia-api", + 'description' => "API to serve random trivia questions.", + 'url' => "https://github.com/floppydisk05/trivia-api", + 'languages' => ["JavaScript"] + ] + ] + ], + [ + 'name' => "Discord Bots", + 'projects' => [ + [ + 'name' => "PlexBot", + 'description' => "A basic bot to play music from the configured Plex server in a Discord voice channel.", + 'url' => "https://github.com/floppydisk05/PlexBot", + 'languages' => ["Python"] + ] + ] + ], + [ + 'name' => "Abandoned Projects", + 'projects' => [ + [ + 'name' => "website-cf", + 'description' => "Rewrite of my personal website in Adobe ColdFusion.", + 'url' => "https://github.com/floppydisk05/website-cf", + 'languages' => ["Adobe ColdFusion"] + ], + [ + 'name' => "WinBotJDA", + 'description' => "Rewrite of CamK06's WinBot using Java and DiscordJDA.", + 'url' => "https://github.com/floppydisk05/WinBotJDA", + 'languages' => ["Java"] + ], + [ + 'name' => "delayed-eject", + 'description' => "Scripts which eject the cd drive a lot to annoy nick.", + 'url' => "https://github.com/floppydisk05/delayed-eject", + 'languages' => ["Shell", "C"] + ], + [ + 'name' => "php-sound", + 'description' => "Plays a specified sound file or files on the web server when a php page is loaded.", + 'url' => "https://github.com/floppydisk05/php-sound", + 'languages' => ["PHP", "Shell"] + ] + ] + ] +]; diff --git a/config/sanctum.php b/config/sanctum.php new file mode 100644 index 0000000..529cfdc --- /dev/null +++ b/config/sanctum.php @@ -0,0 +1,67 @@ + explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf( + '%s%s', + 'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1', + Sanctum::currentApplicationUrlWithPort() + ))), + + /* + |-------------------------------------------------------------------------- + | Sanctum Guards + |-------------------------------------------------------------------------- + | + | This array contains the authentication guards that will be checked when + | Sanctum is trying to authenticate a request. If none of these guards + | are able to authenticate the request, Sanctum will use the bearer + | token that's present on an incoming request for authentication. + | + */ + + 'guard' => ['web'], + + /* + |-------------------------------------------------------------------------- + | Expiration Minutes + |-------------------------------------------------------------------------- + | + | This value controls the number of minutes until an issued token will be + | considered expired. If this value is null, personal access tokens do + | not expire. This won't tweak the lifetime of first-party sessions. + | + */ + + 'expiration' => null, + + /* + |-------------------------------------------------------------------------- + | Sanctum Middleware + |-------------------------------------------------------------------------- + | + | When authenticating your first-party SPA with Sanctum you may need to + | customize some of the middleware Sanctum uses while processing the + | request. You may change the middleware listed below as required. + | + */ + + 'middleware' => [ + 'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class, + 'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class, + ], + +]; diff --git a/config/services.php b/config/services.php index 21e97c7..0acb16e 100644 --- a/config/services.php +++ b/config/services.php @@ -17,5 +17,6 @@ 'lastfm' => [ 'key' => env('LASTFM_KEY'), 'user' => env('LASTFM_USER'), + 'toptracks' => env('LASTFM_TOP_TRACKS') ] ]; diff --git a/database/factories/BookmarkCategoryFactory.php b/database/factories/BookmarkCategoryFactory.php deleted file mode 100644 index ca49ce5..0000000 --- a/database/factories/BookmarkCategoryFactory.php +++ /dev/null @@ -1,23 +0,0 @@ - - */ -class BookmarkCategoryFactory extends Factory -{ - /** - * Define the model's default state. - * - * @return array - */ - public function definition(): array - { - return [ - 'name' => $this->faker->word, - ]; - } -} diff --git a/database/factories/BookmarkSiteFactory.php b/database/factories/BookmarkSiteFactory.php deleted file mode 100644 index c77c011..0000000 --- a/database/factories/BookmarkSiteFactory.php +++ /dev/null @@ -1,27 +0,0 @@ - - */ -class BookmarkSiteFactory extends Factory -{ - /** - * Define the model's default state. - * - * @return array - */ - public function definition(): array - { - return [ - 'name' => $this->faker->name, - 'description' => $this->faker->sentence, - 'url' => $this->faker->url, - 'category' => BookmarkCategory::factory(), - ]; - } -} diff --git a/database/migrations/2024_02_13_230402_create_bookmark__categories_table.php b/database/migrations/2014_10_12_000000_create_users_table.php similarity index 61% rename from database/migrations/2024_02_13_230402_create_bookmark__categories_table.php rename to database/migrations/2014_10_12_000000_create_users_table.php index bb1799b..444fafb 100644 --- a/database/migrations/2024_02_13_230402_create_bookmark__categories_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -11,10 +11,13 @@ */ public function up(): void { - Schema::create('bookmark__categories', function (Blueprint $table) { + Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); - $table->unsignedBigInteger('priority')->nullable(); + $table->string('email')->unique(); + $table->timestamp('email_verified_at')->nullable(); + $table->string('password'); + $table->rememberToken(); $table->timestamps(); }); } @@ -24,6 +27,6 @@ public function up(): void */ public function down(): void { - Schema::dropIfExists('bookmark__categories'); + Schema::dropIfExists('users'); } }; diff --git a/database/migrations/2014_10_12_100000_create_password_reset_tokens_table.php b/database/migrations/2014_10_12_100000_create_password_reset_tokens_table.php new file mode 100644 index 0000000..81a7229 --- /dev/null +++ b/database/migrations/2014_10_12_100000_create_password_reset_tokens_table.php @@ -0,0 +1,28 @@ +string('email')->primary(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('password_reset_tokens'); + } +}; diff --git a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php new file mode 100644 index 0000000..249da81 --- /dev/null +++ b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php @@ -0,0 +1,32 @@ +id(); + $table->string('uuid')->unique(); + $table->text('connection'); + $table->text('queue'); + $table->longText('payload'); + $table->longText('exception'); + $table->timestamp('failed_at')->useCurrent(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('failed_jobs'); + } +}; diff --git a/database/migrations/2024_02_25_151527_create_guestbook__entries_table.php b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php similarity index 53% rename from database/migrations/2024_02_25_151527_create_guestbook__entries_table.php rename to database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php index f1b2a11..e828ad8 100644 --- a/database/migrations/2024_02_25_151527_create_guestbook__entries_table.php +++ b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php @@ -11,13 +11,14 @@ */ public function up(): void { - Schema::create('guestbook__entries', function (Blueprint $table) { + Schema::create('personal_access_tokens', function (Blueprint $table) { $table->id(); + $table->morphs('tokenable'); $table->string('name'); - $table->string('ip'); - $table->string('agent'); - $table->longText('message'); - $table->boolean('admin'); + $table->string('token', 64)->unique(); + $table->text('abilities')->nullable(); + $table->timestamp('last_used_at')->nullable(); + $table->timestamp('expires_at')->nullable(); $table->timestamps(); }); } @@ -27,6 +28,6 @@ public function up(): void */ public function down(): void { - Schema::dropIfExists('guestbook__entries'); + Schema::dropIfExists('personal_access_tokens'); } }; diff --git a/database/migrations/2024_02_13_230457_create_bookmark__sites_table.php b/database/migrations/2024_02_13_230457_create_bookmark__sites_table.php deleted file mode 100644 index f016f43..0000000 --- a/database/migrations/2024_02_13_230457_create_bookmark__sites_table.php +++ /dev/null @@ -1,35 +0,0 @@ -id(); - $table->string('name'); - $table->text('description')->nullable(); - $table->string('url'); - $table->unsignedBigInteger('category'); - $table->foreign('category') - ->references('id') - ->on('bookmark__categories') - ->onDelete('cascade'); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropIfExists('bookmarks'); - } -}; diff --git a/database/seeders/BookmarkCategoriesTableSeeder.php b/database/seeders/BookmarkCategoriesTableSeeder.php deleted file mode 100644 index 5c8ea2f..0000000 --- a/database/seeders/BookmarkCategoriesTableSeeder.php +++ /dev/null @@ -1,30 +0,0 @@ -count(5)->create()->each(function ($category) { -// $category->sites()->saveMany(BookmarkSite::factory()->count(3)->make()); -// }); - $category = new BookmarkCategory([ - 'name' => 'cool people', - ]); - $category->save(); - $site = new BookmarkSite([ - 'name' => 'campos', - 'description' => 'Cool brazilian dude, does programming and stuff', - 'url' => 'https://campos02.me/', - 'category' => 1, - ]); - $site->save(); - } -} diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php new file mode 100644 index 0000000..a9f4519 --- /dev/null +++ b/database/seeders/DatabaseSeeder.php @@ -0,0 +1,22 @@ +create(); + + // \App\Models\User::factory()->create([ + // 'name' => 'Test User', + // 'email' => 'test@example.com', + // ]); + } +} diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 87accd6..0000000 --- a/package-lock.json +++ /dev/null @@ -1,881 +0,0 @@ -{ - "name": "wah.moe", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "dependencies": { - "@sentry/browser": "^7.40.0" - }, - "devDependencies": { - "axios": "^1.1.2", - "laravel-vite-plugin": "^0.7.5", - "vite": "^4.5.3" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@sentry-internal/feedback": { - "version": "7.120.3", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.120.3.tgz", - "integrity": "sha512-ewJJIQ0mbsOX6jfiVFvqMjokxNtgP3dNwUv+4nenN+iJJPQsM6a0ocro3iscxwVdbkjw5hY3BUV2ICI5Q0UWoA==", - "license": "MIT", - "dependencies": { - "@sentry/core": "7.120.3", - "@sentry/types": "7.120.3", - "@sentry/utils": "7.120.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@sentry-internal/replay-canvas": { - "version": "7.120.3", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.120.3.tgz", - "integrity": "sha512-s5xy+bVL1eDZchM6gmaOiXvTqpAsUfO7122DxVdEDMtwVq3e22bS2aiGa8CUgOiJkulZ+09q73nufM77kOmT/A==", - "license": "MIT", - "dependencies": { - "@sentry/core": "7.120.3", - "@sentry/replay": "7.120.3", - "@sentry/types": "7.120.3", - "@sentry/utils": "7.120.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@sentry-internal/tracing": { - "version": "7.120.3", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.120.3.tgz", - "integrity": "sha512-Ausx+Jw1pAMbIBHStoQ6ZqDZR60PsCByvHdw/jdH9AqPrNE9xlBSf9EwcycvmrzwyKspSLaB52grlje2cRIUMg==", - "license": "MIT", - "dependencies": { - "@sentry/core": "7.120.3", - "@sentry/types": "7.120.3", - "@sentry/utils": "7.120.3" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/browser": { - "version": "7.120.3", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.120.3.tgz", - "integrity": "sha512-i9vGcK9N8zZ/JQo1TCEfHHYZ2miidOvgOABRUc9zQKhYdcYQB2/LU1kqlj77Pxdxf4wOa9137d6rPrSn9iiBxg==", - "license": "MIT", - "dependencies": { - "@sentry-internal/feedback": "7.120.3", - "@sentry-internal/replay-canvas": "7.120.3", - "@sentry-internal/tracing": "7.120.3", - "@sentry/core": "7.120.3", - "@sentry/integrations": "7.120.3", - "@sentry/replay": "7.120.3", - "@sentry/types": "7.120.3", - "@sentry/utils": "7.120.3" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/core": { - "version": "7.120.3", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.120.3.tgz", - "integrity": "sha512-vyy11fCGpkGK3qI5DSXOjgIboBZTriw0YDx/0KyX5CjIjDDNgp5AGgpgFkfZyiYiaU2Ww3iFuKo4wHmBusz1uA==", - "license": "MIT", - "dependencies": { - "@sentry/types": "7.120.3", - "@sentry/utils": "7.120.3" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/integrations": { - "version": "7.120.3", - "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.120.3.tgz", - "integrity": "sha512-6i/lYp0BubHPDTg91/uxHvNui427df9r17SsIEXa2eKDwQ9gW2qRx5IWgvnxs2GV/GfSbwcx4swUB3RfEWrXrQ==", - "license": "MIT", - "dependencies": { - "@sentry/core": "7.120.3", - "@sentry/types": "7.120.3", - "@sentry/utils": "7.120.3", - "localforage": "^1.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/replay": { - "version": "7.120.3", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.120.3.tgz", - "integrity": "sha512-CjVq1fP6bpDiX8VQxudD5MPWwatfXk8EJ2jQhJTcWu/4bCSOQmHxnnmBM+GVn5acKUBCodWHBN+IUZgnJheZSg==", - "license": "MIT", - "dependencies": { - "@sentry-internal/tracing": "7.120.3", - "@sentry/core": "7.120.3", - "@sentry/types": "7.120.3", - "@sentry/utils": "7.120.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@sentry/types": { - "version": "7.120.3", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.120.3.tgz", - "integrity": "sha512-C4z+3kGWNFJ303FC+FxAd4KkHvxpNFYAFN8iMIgBwJdpIl25KZ8Q/VdGn0MLLUEHNLvjob0+wvwlcRBBNLXOow==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/utils": { - "version": "7.120.3", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.120.3.tgz", - "integrity": "sha512-UDAOQJtJDxZHQ5Nm1olycBIsz2wdGX8SdzyGVHmD8EOQYAeDZQyIlQYohDe9nazdIOQLZCIc3fU0G9gqVLkaGQ==", - "license": "MIT", - "dependencies": { - "@sentry/types": "7.120.3" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", - "license": "MIT" - }, - "node_modules/laravel-vite-plugin": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-0.7.8.tgz", - "integrity": "sha512-HWYqpQYHR3kEQ1LsHX7gHJoNNf0bz5z5mDaHBLzS+PGLCTmYqlU5/SZyeEgObV7z7bC/cnStYcY9H1DI1D5Udg==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^1.0.0", - "vite-plugin-full-reload": "^1.0.5" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0" - } - }, - "node_modules/lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", - "license": "MIT", - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/localforage": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", - "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", - "license": "Apache-2.0", - "dependencies": { - "lie": "3.1.1" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", - "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true, - "license": "MIT" - }, - "node_modules/rollup": { - "version": "3.29.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", - "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", - "dev": true, - "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vite": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz", - "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite-plugin-full-reload": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.2.0.tgz", - "integrity": "sha512-kz18NW79x0IHbxRSHm0jttP4zoO9P9gXh+n6UTwlNKnviTTEpOlum6oS9SmecrTtSr+muHEn5TUuC75UovQzcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^1.0.0", - "picomatch": "^2.3.1" - } - } - } -} diff --git a/package.json b/package.json index 8360ac0..e543e0d 100644 --- a/package.json +++ b/package.json @@ -8,9 +8,6 @@ "devDependencies": { "axios": "^1.1.2", "laravel-vite-plugin": "^0.7.5", - "vite": "^4.5.3" - }, - "dependencies": { - "@sentry/browser": "^7.40.0" + "vite": "^4.0.0" } } diff --git a/public/ai.txt b/public/ai.txt deleted file mode 100644 index 81e3a83..0000000 --- a/public/ai.txt +++ /dev/null @@ -1,104 +0,0 @@ -# -# ai.txt -# Generated by Empathy First Media Digital Marketing Agency -# https://EmpathyFirstMedia.com -# - -User-Agent: * - -# Text Permissions -Disallow: *.txt -Disallow: *.pdf -Disallow: *.doc -Disallow: *.docx -Disallow: *.odt -Disallow: *.rtf -Disallow: *.tex -Disallow: *.wks -Disallow: *.wpd -Disallow: *.wps -Disallow: *.html - -# Images Permissions -Disallow: *.bmp -Disallow: *.gif -Disallow: *.ico -Disallow: *.jpeg -Disallow: *.jpg -Disallow: *.png -Disallow: *.svg -Disallow: *.tif -Disallow: *.tiff -Disallow: *.webp - -# Audio Permissions -Disallow: *.aac -Disallow: *.aiff -Disallow: *.amr -Disallow: *.flac -Disallow: *.m4a -Disallow: *.mp3 -Disallow: *.oga -Disallow: *.opus -Disallow: *.wav -Disallow: *.wma - -# Video Permissions -Disallow: *.mp4 -Disallow: *.webm -Disallow: *.ogg -Disallow: *.avi -Disallow: *.mov -Disallow: *.wmv -Disallow: *.flv -Disallow: *.mkv - -# Code Permissions -Disallow: *.py -Disallow: *.js -Disallow: *.java -Disallow: *.c -Disallow: *.cpp -Disallow: *.cs -Disallow: *.h -Disallow: *.css -Disallow: *.php -Disallow: *.swift -Disallow: *.go -Disallow: *.rb -Disallow: *.pl -Disallow: *.sh -Disallow: *.sql - -# Disallow -Disallow: / -# -------------------------- -# Empathy First Media AI.TXT -# -------------------------- - -# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@& &@@@@@@@@@@@@@ -# @@@@@@@@@@@@@& &@@@@@@@@@@@@@ -# @@@@@@@@@@@@@& &@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@&GGGGGGGGGGGGGGGGGGG#@@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@& @@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@& @@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@& &@@@@@@@@@@@@@ -# @@@@@@@@@@@@@& &@@@@@@@@@@@@@ -# @@@@@@@@@@@@@& &@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -# @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - -# This ai.txt file was created by Empathy First Media. -# https://empathyfirstmedia.com/ diff --git a/public/css/colorschemes/catppuccin-macchiato.css b/public/css/colorschemes/catppuccin-macchiato.css new file mode 100644 index 0000000..3409b30 --- /dev/null +++ b/public/css/colorschemes/catppuccin-macchiato.css @@ -0,0 +1,12 @@ +:root { + --background: #181926; + --foreground: #cad3f5; + --links: #8aadf4; + --warning: #ff7272; + --warning-box-bg: #f64a3c; + --warning-box-border: #c81a11; +} + +html { + color-scheme: dark; +} diff --git a/public/css/dirlist.css b/public/css/dirlist.css index b63c94b..cd9c1d6 100644 --- a/public/css/dirlist.css +++ b/public/css/dirlist.css @@ -1,54 +1,38 @@ -body { - color: #2f2f42; - margin: 20px; - background: #80c9fa url("/images/peek.png") no-repeat bottom right 10px fixed; +:root { + --background: #1c1b22; + --foreground: #dddddd; } -img { - image-rendering: pixelated; +html { + color-scheme: dark; +} + +body { + background-color: var(--background); + color: var(--foreground); } a { - color: #2f2f42; - text-decoration: underline dotted; + color: #99f; + text-decoration: none; } a:hover { - color: #2f2f42; - text-decoration: underline solid; + text-decoration: underline; } h1#indextitle { - font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, - Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", - sans-serif; - margin: 0; + font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + margin-bottom: 0; } -tr, -th, -td { - font-family: monospace; - font-size: 12pt; - padding: 0 15px; -} - -tr td:nth-child(2) { - padding-left: 0; +tr, th, td { + font-family: monospace; + font-size: 12pt; + padding: 0 5px; } address { - font-family: sans-serif; - font-size: 12pt; + font-family: sans-serif; + font-size: 12pt } - -.description { - font-style: italic; - font-size: 90%; -} - -hr { - border: none; - border-bottom: 2px solid #2f2f42; -} - diff --git a/public/css/highlight/tomorrow-night-bright.css b/public/css/highlight/tomorrow-night-bright.css new file mode 100644 index 0000000..f909618 --- /dev/null +++ b/public/css/highlight/tomorrow-night-bright.css @@ -0,0 +1,70 @@ +/* Tomorrow Night Bright Theme */ +/* Original theme - https://github.com/chriskempson/tomorrow-theme */ +/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + +/* Tomorrow Comment */ +.hljs-comment, +.hljs-quote { + color: #969896; +} + +/* Tomorrow Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-tag, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class, +.hljs-regexp, +.hljs-deletion { + color: #d54e53; +} + +/* Tomorrow Orange */ +.hljs-number, +.hljs-built_in, +.hljs-literal, +.hljs-type, +.hljs-params, +.hljs-meta, +.hljs-link { + color: #e78c45; +} + +/* Tomorrow Yellow */ +.hljs-attribute { + color: #e7c547; +} + +/* Tomorrow Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet, +.hljs-addition { + color: #b9ca4a; +} + +/* Tomorrow Blue */ +.hljs-title, +.hljs-section { + color: #7aa6da; +} + +/* Tomorrow Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #c397d8; +} + +.hljs { + background: black; + color: #eaeaea; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/public/css/master.css b/public/css/master.css index f8ee557..f36a500 100644 --- a/public/css/master.css +++ b/public/css/master.css @@ -1,359 +1,388 @@ -:root { - --background: hsl(214, 67%, 85%); - --foreground: hsl(214, 20%, 14%); - --border-color: hsl(214, 96%, 48%); - --border: var(--border-color) 2px solid; - --shadow-color: hsla(214, 96%, 43%, 0.4); - --shadow: drop-shadow(8px 8px var(--shadow-color)); - --shadow-small: drop-shadow(3px 3px var(--shadow-color)); - --links: hsl(214, 27%, 22%); - --links-hover: hsl(214, 27%, 15%); - --table-header: hsla(214, 96%, 43%, 0.2); -} - -/* ───────────────────────────────────── Fonts ────────────────────────────────────── */ -@font-face { - font-family: "PT Sans"; - src: url("/fonts/PTSans-Regular.ttf") format("truetype"); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: "PT Sans"; - src: url("/fonts/PTSans-Italic.ttf") format("truetype"); - font-weight: normal; - font-style: italic; -} - -@font-face { - font-family: "PT Sans"; - src: url("/fonts/PTSans-Bold.ttf") format("truetype"); - font-weight: bold; - font-style: normal; -} - -@font-face { - font-family: "PT Sans"; - src: url("/fonts/PTSans-BoldItalic.ttf") format("truetype"); - font-weight: bold; - font-style: italic; -} - -@font-face { - font-family: "PT Serif"; - src: url("/fonts/PTSerif-Regular.ttf") format("truetype"); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: "PT Serif"; - src: url("/fonts/PTSerif-Italic.ttf") format("truetype"); - font-weight: normal; - font-style: italic; -} - -@font-face { - font-family: "PT Serif"; - src: url("/fonts/PTSerif-Bold.ttf") format("truetype"); - font-weight: bold; - font-style: normal; -} - -@font-face { - font-family: "PT Serif"; - src: url("/fonts/PTSerif-BoldItalic.ttf") format("truetype"); - font-weight: bold; - font-style: italic; -} - -/* ───────────────────────────────────── Pride ────────────────────────────────────── */ -#prideflag { - position: fixed; - top: 0; - right: 0; - width: 120px; - transform-origin: 100% 0; - transition: transform .5s cubic-bezier(.32,1.63,.41,1.01); - z-index: 8008135; -} -#prideflag:hover { - transform: scale(110%); -} -#prideflag:active { - transform: scale(110%); -} -#prideflag * { - pointer-events: all; -} - -/* ───────────────────────────────────── Global ───────────────────────────────────── */ -html { - height: 100%; - color-scheme: light; - scrollbar-color: var(--border-color) var(--background); -} +/*@import "colorschemes/catppuccin-macchiato.css";*/ body { + font-family: sans-serif; + margin: 0; color: var(--foreground); - min-height: 100%; - background: url('/images/roscoe_tile.jpg'); - padding: 5px; - font-family: "PT Serif", serif; + background-color: var(--background); + text-align: left; } -img.logo_paw { - filter: grayscale(100%) sepia(100%) hue-rotate(180deg) saturate(300%); +ul { + list-style-type: square; +} + +div.page { + min-width: 780px; + max-width: 800px; + padding-left: 0.5em; + padding-right: 0.5em; + margin: auto; +} + +h1.inline { + margin-top: 0; + clear: none; + display: inline; } h1, h2, -h3, -h4, -h5, -h6 { - margin: 20px 0 0 0; +h3 { + margin-top: 1em; + clear: left; } -p, -ul, -ol, -dl, -menu, -dir { - margin: 0; -} - -hr { +img { border: none; - border-top: var(--border); + max-width: 100%; +} + +img.right { + float: right; + margin-left: 0.5em; +} + +table.form td { + border: none; +} + +/* -------------------------------------------------------------------------- */ + +div.code-block { + background-color: var(--background); + border: 2px solid var(--foreground); + padding: 10px; + display: inline-block; + text-align: left; + max-width: 90%; + min-width: 400px; + margin: 10px; +} + +div.code-block hr { + margin-top: 5px; + margin-bottom: 5px; +} + +div.code-block h1 { + margin: 0; + font-family: monospace; +} + +div.code-block h1 small { + color: var(--foreground); + font-size: 12px; +} + +div.code-block pre hr { + margin-bottom: 5px; +} + +div.code-block pre code { + background-color: var(--background); +} + +pre { + display: inline; + max-width: 95%; + overflow: auto; +} + +.header a { + text-decoration: none; +} + +.theme-selector { + text-align: right; + vertical-align: middle; +} + +.nav-wrapper { + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-template-rows: 1fr; + grid-column-gap: 0; + grid-row-gap: 0; +} + +.theme-selector label { + font-weight: bold; +} + +.theme-selector label::after { + content: ': '; +} + +nav { + margin-bottom: 0.3em; + text-align: left; +} + +nav img { + width: 32px; +} + +nav h1 { + font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, + Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; + font-weight: normal; + font-size: 30px; + margin: 10px 10px 10px 0; +} + +div.date { + text-align: center; +} + +div.note { + font-style: italic; +} + +table { + border-collapse: collapse; + border-color: var(--foreground); +} + +table.weather th { + font-weight: normal; +} + +table.weather td { + font-weight: bold; + text-align: right; +} + +div.rss { + position: absolute; + top: 1em; + right: 1em; +} + +div.archived { + margin-top: 0.5em; +} + +div.archived span.date { + font-style: italic; + margin-right: 0.2em; +} + +video { + max-width: 100%; +} + +table td { + border: 1px solid var(--foreground); +} + +td { + padding: 0; + vertical-align: top; +} + +.header .title { + color: var(--foreground); +} + +.header { + font-size: 100%; + font-weight: normal; + padding-bottom: 0; + text-align: center; +} + +h1 { + font-size: 150%; +} +h1 { + font-size: 150%; +} + +h2 { + font-size: 130%; +} + +h3 { + font-size: 115%; +} + +table.computers { + width: 100%; +} + +td.computer { + width: 50%; + border: 0; +} + +div.footer { + text-align: center; + margin-bottom: 5px; +} + +table.commits tr td { + border: none; + padding-right: 5px; } a { color: var(--links); - text-decoration: underline dotted; + text-decoration: none; } -a:hover { - color: var(--links-hover); - text-decoration: underline solid; +table.gb-entry-form tr td { + border: none; } -div.page-container { - width: 800px; - margin: 5px auto; +table.gb-entry-form tr td label { + padding-right: 5px; } -div.page-container > div { - background-color: var(--background); - filter: var(--shadow); - padding: 10px; - border: var(--border); - margin-bottom: 20px; +table.gb-entry-form tr td span.text-danger { + padding-left: 5px; + color: var(--warning); } -div.page-container > div:last-child { - margin-bottom: 0; +table.gb-entry-form tr td textarea, +table.gb-entry-form tr td input { + margin-bottom: 5px; } -header { - display: grid; - grid-template-columns: 64px 1fr; - grid-template-rows: 1fr; - grid-column-gap: 15px; - grid-row-gap: 0; - align-items: center; +table.gb-entry-form-container { + width: 100%; } -header img { - image-rendering: pixelated; -} - -header h1 { - margin: 0; - font-style: italic; -} - -header h1, -header p { - display: inline; -} - -main>div { - position: relative; -} - -main>div::after { - display: block; - content: ""; - clear: both; -} - -div#footer { - display: grid; - grid-template-columns: auto 1fr; - grid-template-rows: 1fr; - grid-column-gap: 0; - grid-row-gap: 0; - align-items: center; -} - -div#footer div:last-child { - text-align: right; -} - -div#footer div:last-child img { - image-rendering: pixelated; - margin: 0; - padding: 0; - width: 88px; - height: 31px; -} - -/** Wah! **/ -div.wah { - float: right; - border: var(--border); - padding: 5px; - filter: var(--shadow-small); - background-color: var(--background); -} - -div.wah img { - display: block; -} - -div.wah h3, -div.wah p { - text-align: center; - margin: 5px 0; - font-style: italic; -} - -div.wah p { - margin-bottom: 0; -} - -div.wah img { - width: 250px; -} - -/** Guestbook **/ -table.form input, -table.form textarea, -table.form button { - background-color: var(--background); - border: var(--border); - filter: var(--shadow-small); -} - -table.form input, -table.form textarea { - width: 250px; -} - -table.form textarea { - resize: none; -} - -table.form button:hover { - background-color: var(--border-color); - color: var(--background); - filter: none; -} - -table.form tr td, -table.gb-entry-form-container td:last-child { +table.gb-entry-form-container tr td { + border: none; vertical-align: top; } -div.gb-entry { - border: var(--border); - filter: var(--shadow-small); - background-color: var(--background); - width: 75%; - padding: 10px; -} - -/** Music **/ -table.music-top10 { - border: var(--border); - filter: var(--shadow-small); - background-color: var(--background); - border-collapse: collapse; -} - -table.music-top10 th, -table.music-top10 td { - padding: 2px 5px; -} - -table.music-top10 th:first-child { - text-align: left; -} - -table.music-top10 tr:first-child th { - border-right: var(--border); - border-bottom: var(--border); -} - -table.music-top10 tr:first-child th:last-child { - border-right: none; -} - -table.music-top10 tr td { - border-right: var(--border); -} - -table.music-top10 tr td:last-child { - border-right: none; -} -table.music-top10 tr:first-child th, -table.music-top10 tr td:first-child { - background-color: var(--table-header); -} - -div.current-track { - display: grid; - grid-template-columns: 180px auto; - grid-template-rows: 1fr; - grid-column-gap: 10px; - align-items: center; -} - -div.current-track img { - float: left; - filter: var(--shadow-small); - border: var(--border); - width: 174px; - height: 174px; -} - -/** Bookmarks **/ -div.bookmark-category:first-child h2 { +table.gb-entry-form-container tr td p, +table.gb-entry-form-container tr td ul { margin: 0; } - - -/* ────────────────────────────────── Rosco & Leko ────────────────────────────────── */ -div.rosco-leko-gallery { - display: flex; - flex-wrap: wrap; - align-items: flex-start; +table.gb-entry-form tbody tr td textarea { + width: 210px; } -div.rosco-leko-gallery > div { - border: var(--border); +table.gb-entry tr td { + border: solid var(--foreground) 1px; + width: 500px; + vertical-align: top; padding: 5px; - filter: var(--shadow-small); - background-color: var(--background); - margin: 10px; - height: auto; } -div.rosco-leko-gallery > div, -div.rosco-leko-gallery > div img { - max-width: 220px; +table.gb-entry { + margin-bottom: 5px; +} + +table.gb-admin { + margin-bottom: 5px; + width: 500px; + border: var(--foreground) solid; +} + +table.gb-admin tr td { + border-right: none; + border-bottom: none; + vertical-align: top; + padding: 5px; +} + +table.gb-admin tr td.gb-del { + border-left: none; + vertical-align: top; + padding: 5px; + width: 32px; +} + +table.gb-admin tr td.gb-message { + border-top: none; + vertical-align: top; + padding: 5px; +} + +table.info-table tr td { + border: none; + padding-right: 5px; +} + +table.info-table tr td h1, +table.info-table tr td h2, +table.info-table tr td small { + margin: 0; +} + +caption h1, +caption h2 { + margin: 0; +} + +caption { + text-align: left; +} + +table.info-table tr td small { + margin-bottom: 5px; +} + +.hljs { + background: none !important; +} + +.me img { + float: right; + margin: 5px; +} + +.me p { + text-align: justify; +} + +a:hover { + text-decoration: underline; +} + +.computer { + width: 100%; +} + +.computer td { + border: none; +} + +.computer h1, +.computer hr { + margin: 0; +} + +.computer .computer-image { + width: 256px; +} + +.spec { + padding-left: 20px; +} + +.spec-title { + font-weight: bold; +} + +.computer-specs { + margin-top: 5px; +} + +.error-box { + width: 500px; + border: 5px solid var(--warning-box-border); + background-color: var(--warning-box-bg); + padding: 5px; +} +.error-box a, +.error-box p { + margin: 0; + color: var(--foreground) } diff --git a/public/css/minimal.css b/public/css/minimal.css index 697673f..93d31f1 100644 --- a/public/css/minimal.css +++ b/public/css/minimal.css @@ -1,13 +1,25 @@ -html { color-scheme: light; } -body { color: #2a271c; background-color: #f2efbd; font-family: serif; } -h1, h2, h4, ul, p { margin: 0; } +html { + color-scheme: dark; +} + +body { + font-family: sans-serif; + margin: 0; + margin-left: 10px; + color: #cad3f5; + background-color: #181926; +} + +table.gb-entry_details tr td { + padding-right: 5px; +} + +* { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; } +html { color-scheme: dark; } +body { color: #cad3f5; background-color: #181926; } +h1, h2, ul, p { margin: 0; } h1 { font-weight: normal; } -h4 { margin-bottom: 5px; } ul { padding: 5px 30px; } -a { color: hsl(183, 93%, 27%); text-decoration: underline dotted; } -a:hover { color: hsl(183, 93%, 15%); text-decoration: underline solid; } -code { font-family: monospace; } -code.addr { font-size: 24px; } -table { border: #f27405 2px solid; background-color: #f2efbd; filter: drop-shadow(3px 3px hsla(11, 96%, 43%, 0.4)); } -img { border: #f27405 2px solid; filter: drop-shadow(3px 3px hsla(11, 96%, 43%, 0.4)); } -hr { border: none; border-bottom: 2px solid #f27405; } +a { color: #8aadf4; text-decoration: none; } +a:hover { text-decoration: underline; } +code { font-family: monospace; font-size: 24px; } diff --git a/public/favicon-128x128.png b/public/favicon-128x128.png index 28251df..0d6300c 100644 Binary files a/public/favicon-128x128.png and b/public/favicon-128x128.png differ diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png index 388ddf4..0d067a5 100644 Binary files a/public/favicon-16x16.png and b/public/favicon-16x16.png differ diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png index 2252f28..f6a32dc 100644 Binary files a/public/favicon-32x32.png and b/public/favicon-32x32.png differ diff --git a/public/favicon.ico b/public/favicon.ico index 48ce013..28434f3 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/fonts/PTSans-Bold.ttf b/public/fonts/PTSans-Bold.ttf deleted file mode 100644 index f82c3bd..0000000 Binary files a/public/fonts/PTSans-Bold.ttf and /dev/null differ diff --git a/public/fonts/PTSans-BoldItalic.ttf b/public/fonts/PTSans-BoldItalic.ttf deleted file mode 100644 index 3e6cf4e..0000000 Binary files a/public/fonts/PTSans-BoldItalic.ttf and /dev/null differ diff --git a/public/fonts/PTSans-Italic.ttf b/public/fonts/PTSans-Italic.ttf deleted file mode 100644 index b06ce61..0000000 Binary files a/public/fonts/PTSans-Italic.ttf and /dev/null differ diff --git a/public/fonts/PTSans-Regular.ttf b/public/fonts/PTSans-Regular.ttf deleted file mode 100644 index adaf671..0000000 Binary files a/public/fonts/PTSans-Regular.ttf and /dev/null differ diff --git a/public/fonts/PTSerif-Bold.ttf b/public/fonts/PTSerif-Bold.ttf deleted file mode 100644 index 36d47eb..0000000 Binary files a/public/fonts/PTSerif-Bold.ttf and /dev/null differ diff --git a/public/fonts/PTSerif-BoldItalic.ttf b/public/fonts/PTSerif-BoldItalic.ttf deleted file mode 100644 index fa30e55..0000000 Binary files a/public/fonts/PTSerif-BoldItalic.ttf and /dev/null differ diff --git a/public/fonts/PTSerif-Italic.ttf b/public/fonts/PTSerif-Italic.ttf deleted file mode 100644 index 9b110a4..0000000 Binary files a/public/fonts/PTSerif-Italic.ttf and /dev/null differ diff --git a/public/fonts/PTSerif-Regular.ttf b/public/fonts/PTSerif-Regular.ttf deleted file mode 100644 index f87c0f1..0000000 Binary files a/public/fonts/PTSerif-Regular.ttf and /dev/null differ diff --git a/public/images/background.jpg b/public/images/background.jpg deleted file mode 100644 index 4e94b27..0000000 Binary files a/public/images/background.jpg and /dev/null differ diff --git a/public/images/buttons/aliasing.png b/public/images/buttons/aliasing.png deleted file mode 100644 index 27b53e9..0000000 Binary files a/public/images/buttons/aliasing.png and /dev/null differ diff --git a/public/images/buttons/browser.gif b/public/images/buttons/browser.gif new file mode 100644 index 0000000..3f73e3f Binary files /dev/null and b/public/images/buttons/browser.gif differ diff --git a/public/images/buttons/cnfunknown.gif b/public/images/buttons/cnfunknown.gif deleted file mode 100644 index b8e9239..0000000 Binary files a/public/images/buttons/cnfunknown.gif and /dev/null differ diff --git a/public/images/buttons/csshard.gif b/public/images/buttons/csshard.gif deleted file mode 100644 index 24fb8d5..0000000 Binary files a/public/images/buttons/csshard.gif and /dev/null differ diff --git a/public/images/buttons/html_learn_it_today.gif b/public/images/buttons/html_learn_it_today.gif new file mode 100644 index 0000000..dd832a0 Binary files /dev/null and b/public/images/buttons/html_learn_it_today.gif differ diff --git a/public/images/buttons/juli.gif b/public/images/buttons/juli.gif deleted file mode 100644 index 4ff0364..0000000 Binary files a/public/images/buttons/juli.gif and /dev/null differ diff --git a/public/images/buttons/nukeieani.gif b/public/images/buttons/nukeieani.gif new file mode 100644 index 0000000..e110127 Binary files /dev/null and b/public/images/buttons/nukeieani.gif differ diff --git a/public/images/buttons/paws-aliased.png b/public/images/buttons/paws-aliased.png deleted file mode 100644 index a7d1b22..0000000 Binary files a/public/images/buttons/paws-aliased.png and /dev/null differ diff --git a/public/images/buttons/servfail.png b/public/images/buttons/servfail.png deleted file mode 100644 index acfebd0..0000000 Binary files a/public/images/buttons/servfail.png and /dev/null differ diff --git a/public/images/buttons/thnlqd.png b/public/images/buttons/thnlqd.png deleted file mode 100644 index ec17caa..0000000 Binary files a/public/images/buttons/thnlqd.png and /dev/null differ diff --git a/public/images/buttons/transrights.gif b/public/images/buttons/transrights.gif deleted file mode 100644 index 7f705aa..0000000 Binary files a/public/images/buttons/transrights.gif and /dev/null differ diff --git a/public/images/buttons/valid-html401-blue.png b/public/images/buttons/valid-html401-blue.png new file mode 100644 index 0000000..dd20e49 Binary files /dev/null and b/public/images/buttons/valid-html401-blue.png differ diff --git a/public/images/buttons/vcss-blue.gif b/public/images/buttons/vcss-blue.gif new file mode 100644 index 0000000..3ab6b83 Binary files /dev/null and b/public/images/buttons/vcss-blue.gif differ diff --git a/public/images/buttons/wah.png b/public/images/buttons/wah.png deleted file mode 100644 index 65e3f74..0000000 Binary files a/public/images/buttons/wah.png and /dev/null differ diff --git a/public/images/buttons/wiby.gif b/public/images/buttons/wiby.gif new file mode 100644 index 0000000..87a6a75 Binary files /dev/null and b/public/images/buttons/wiby.gif differ diff --git a/public/images/buttons/x86.gif b/public/images/buttons/x86.gif deleted file mode 100644 index f271daa..0000000 Binary files a/public/images/buttons/x86.gif and /dev/null differ diff --git a/public/images/calculators/casio-fx-120/1s.jpeg b/public/images/calculators/casio-fx-120/1s.jpeg new file mode 100644 index 0000000..6b84854 Binary files /dev/null and b/public/images/calculators/casio-fx-120/1s.jpeg differ diff --git a/public/images/calculators/casio-fx-120/2s.jpeg b/public/images/calculators/casio-fx-120/2s.jpeg new file mode 100644 index 0000000..1a663bb Binary files /dev/null and b/public/images/calculators/casio-fx-120/2s.jpeg differ diff --git a/public/images/calculators/casio-fx-120/3s.jpeg b/public/images/calculators/casio-fx-120/3s.jpeg new file mode 100644 index 0000000..076d147 Binary files /dev/null and b/public/images/calculators/casio-fx-120/3s.jpeg differ diff --git a/public/images/calculators/casio-fx-120/4s.jpeg b/public/images/calculators/casio-fx-120/4s.jpeg new file mode 100644 index 0000000..988ab31 Binary files /dev/null and b/public/images/calculators/casio-fx-120/4s.jpeg differ diff --git a/public/images/calculators/casio-fx-82/1s.jpeg b/public/images/calculators/casio-fx-82/1s.jpeg new file mode 100644 index 0000000..69216ac Binary files /dev/null and b/public/images/calculators/casio-fx-82/1s.jpeg differ diff --git a/public/images/calculators/casio-fx-82/2s.jpeg b/public/images/calculators/casio-fx-82/2s.jpeg new file mode 100644 index 0000000..adf3e2e Binary files /dev/null and b/public/images/calculators/casio-fx-82/2s.jpeg differ diff --git a/public/images/calculators/casio-fx-82/3s.jpeg b/public/images/calculators/casio-fx-82/3s.jpeg new file mode 100644 index 0000000..87c6f16 Binary files /dev/null and b/public/images/calculators/casio-fx-82/3s.jpeg differ diff --git a/public/images/calculators/casio-fx-82/4s.jpeg b/public/images/calculators/casio-fx-82/4s.jpeg new file mode 100644 index 0000000..5a09e97 Binary files /dev/null and b/public/images/calculators/casio-fx-82/4s.jpeg differ diff --git a/public/images/calculators/casio-fx-cg50/1s.jpeg b/public/images/calculators/casio-fx-cg50/1s.jpeg new file mode 100644 index 0000000..6850678 Binary files /dev/null and b/public/images/calculators/casio-fx-cg50/1s.jpeg differ diff --git a/public/images/calculators/casio-fx-cg50/2s.jpeg b/public/images/calculators/casio-fx-cg50/2s.jpeg new file mode 100644 index 0000000..14dd3cf Binary files /dev/null and b/public/images/calculators/casio-fx-cg50/2s.jpeg differ diff --git a/public/images/calculators/casio-fx-cg50/3s.jpeg b/public/images/calculators/casio-fx-cg50/3s.jpeg new file mode 100644 index 0000000..c0c87e1 Binary files /dev/null and b/public/images/calculators/casio-fx-cg50/3s.jpeg differ diff --git a/public/images/calculators/casio-fx-cg50/4s.jpeg b/public/images/calculators/casio-fx-cg50/4s.jpeg new file mode 100644 index 0000000..fcdac2a Binary files /dev/null and b/public/images/calculators/casio-fx-cg50/4s.jpeg differ diff --git a/public/images/calculators/texet-880/1s.jpeg b/public/images/calculators/texet-880/1s.jpeg new file mode 100644 index 0000000..8454640 Binary files /dev/null and b/public/images/calculators/texet-880/1s.jpeg differ diff --git a/public/images/calculators/texet-880/2s.jpeg b/public/images/calculators/texet-880/2s.jpeg new file mode 100644 index 0000000..707b37c Binary files /dev/null and b/public/images/calculators/texet-880/2s.jpeg differ diff --git a/public/images/calculators/texet-880/3s.jpeg b/public/images/calculators/texet-880/3s.jpeg new file mode 100644 index 0000000..a5e5f1e Binary files /dev/null and b/public/images/calculators/texet-880/3s.jpeg differ diff --git a/public/images/calculators/texet-880/4s.jpeg b/public/images/calculators/texet-880/4s.jpeg new file mode 100644 index 0000000..eedc9be Binary files /dev/null and b/public/images/calculators/texet-880/4s.jpeg differ diff --git a/public/images/calculators/ti-30/1s.jpeg b/public/images/calculators/ti-30/1s.jpeg new file mode 100644 index 0000000..fd34a30 Binary files /dev/null and b/public/images/calculators/ti-30/1s.jpeg differ diff --git a/public/images/calculators/ti-30/2s.jpeg b/public/images/calculators/ti-30/2s.jpeg new file mode 100644 index 0000000..23804f5 Binary files /dev/null and b/public/images/calculators/ti-30/2s.jpeg differ diff --git a/public/images/calculators/ti-30/3s.jpeg b/public/images/calculators/ti-30/3s.jpeg new file mode 100644 index 0000000..e0d1c27 Binary files /dev/null and b/public/images/calculators/ti-30/3s.jpeg differ diff --git a/public/images/calculators/ti-30/4s.jpeg b/public/images/calculators/ti-30/4s.jpeg new file mode 100644 index 0000000..b0c3d44 Binary files /dev/null and b/public/images/calculators/ti-30/4s.jpeg differ diff --git a/public/images/embeds/pandamonium.png b/public/images/embeds/pandamonium.png deleted file mode 100644 index ec4f22e..0000000 Binary files a/public/images/embeds/pandamonium.png and /dev/null differ diff --git a/public/images/icons/fav/ico/calc.ico b/public/images/icons/fav/ico/calc.ico new file mode 100755 index 0000000..b304c47 Binary files /dev/null and b/public/images/icons/fav/ico/calc.ico differ diff --git a/public/images/icons/fav/ico/computer.ico b/public/images/icons/fav/ico/computer.ico new file mode 100644 index 0000000..01f4a74 Binary files /dev/null and b/public/images/icons/fav/ico/computer.ico differ diff --git a/public/images/icons/fav/ico/favicon.ico b/public/images/icons/fav/ico/favicon.ico new file mode 100755 index 0000000..848cc6f Binary files /dev/null and b/public/images/icons/fav/ico/favicon.ico differ diff --git a/public/images/icons/fav/ico/globe.ico b/public/images/icons/fav/ico/globe.ico new file mode 100644 index 0000000..55ae5a3 Binary files /dev/null and b/public/images/icons/fav/ico/globe.ico differ diff --git a/public/images/icons/fav/ico/help-book.ico b/public/images/icons/fav/ico/help-book.ico new file mode 100644 index 0000000..a156820 Binary files /dev/null and b/public/images/icons/fav/ico/help-book.ico differ diff --git a/public/images/icons/fav/png/calc.png b/public/images/icons/fav/png/calc.png new file mode 100644 index 0000000..fcbf0ea Binary files /dev/null and b/public/images/icons/fav/png/calc.png differ diff --git a/public/images/icons/fav/png/computer.png b/public/images/icons/fav/png/computer.png new file mode 100644 index 0000000..d53eb99 Binary files /dev/null and b/public/images/icons/fav/png/computer.png differ diff --git a/public/images/icons/fav/png/globe.png b/public/images/icons/fav/png/globe.png new file mode 100644 index 0000000..21b4b17 Binary files /dev/null and b/public/images/icons/fav/png/globe.png differ diff --git a/public/images/icons/fav/png/help-book.png b/public/images/icons/fav/png/help-book.png new file mode 100644 index 0000000..845863a Binary files /dev/null and b/public/images/icons/fav/png/help-book.png differ diff --git a/public/images/icons/nav/bookmarks.png b/public/images/icons/nav/bookmarks.png new file mode 100644 index 0000000..1409930 Binary files /dev/null and b/public/images/icons/nav/bookmarks.png differ diff --git a/public/images/icons/nav/computers.png b/public/images/icons/nav/computers.png new file mode 100644 index 0000000..e6dda18 Binary files /dev/null and b/public/images/icons/nav/computers.png differ diff --git a/public/images/icons/nav/guestbook.png b/public/images/icons/nav/guestbook.png new file mode 100644 index 0000000..a1f7fc4 Binary files /dev/null and b/public/images/icons/nav/guestbook.png differ diff --git a/public/images/icons/nav/home.png b/public/images/icons/nav/home.png new file mode 100644 index 0000000..304ab01 Binary files /dev/null and b/public/images/icons/nav/home.png differ diff --git a/public/images/icons/nav/login.png b/public/images/icons/nav/login.png new file mode 100644 index 0000000..77f7e71 Binary files /dev/null and b/public/images/icons/nav/login.png differ diff --git a/public/images/icons/nav/mail.png b/public/images/icons/nav/mail.png new file mode 100644 index 0000000..5249691 Binary files /dev/null and b/public/images/icons/nav/mail.png differ diff --git a/public/images/icons/nav/music.png b/public/images/icons/nav/music.png new file mode 100644 index 0000000..748094a Binary files /dev/null and b/public/images/icons/nav/music.png differ diff --git a/public/images/icons/nav/pubfiles.png b/public/images/icons/nav/pubfiles.png new file mode 100644 index 0000000..06ba84a Binary files /dev/null and b/public/images/icons/nav/pubfiles.png differ diff --git a/public/images/icons/nav/repo.png b/public/images/icons/nav/repo.png new file mode 100644 index 0000000..27ade1c Binary files /dev/null and b/public/images/icons/nav/repo.png differ diff --git a/public/images/icons/nav/weather.png b/public/images/icons/nav/weather.png new file mode 100644 index 0000000..f087e56 Binary files /dev/null and b/public/images/icons/nav/weather.png differ diff --git a/public/images/login-background.png b/public/images/login-background.png new file mode 100644 index 0000000..0dc7bfc Binary files /dev/null and b/public/images/login-background.png differ diff --git a/public/images/logo-v2.gif b/public/images/logo-v2.gif deleted file mode 100755 index afd32b8..0000000 Binary files a/public/images/logo-v2.gif and /dev/null differ diff --git a/public/images/logo-v2.png b/public/images/logo-v2.png deleted file mode 100644 index 0edda8f..0000000 Binary files a/public/images/logo-v2.png and /dev/null differ diff --git a/public/images/logo.png b/public/images/logo.png index bbd099b..a20bab1 100644 Binary files a/public/images/logo.png and b/public/images/logo.png differ diff --git a/public/images/pandamonium-legacy/filters.jpg b/public/images/pandamonium-legacy/filters.jpg deleted file mode 100644 index 3a7a3ab..0000000 Binary files a/public/images/pandamonium-legacy/filters.jpg and /dev/null differ diff --git a/public/images/pandamonium-legacy/frontrowseat.jpg b/public/images/pandamonium-legacy/frontrowseat.jpg deleted file mode 100644 index e99addf..0000000 Binary files a/public/images/pandamonium-legacy/frontrowseat.jpg and /dev/null differ diff --git a/public/images/pandamonium-legacy/gel-drawer.jpg b/public/images/pandamonium-legacy/gel-drawer.jpg deleted file mode 100644 index ffe17bc..0000000 Binary files a/public/images/pandamonium-legacy/gel-drawer.jpg and /dev/null differ diff --git a/public/images/pandamonium-legacy/lxdesk.jpg b/public/images/pandamonium-legacy/lxdesk.jpg deleted file mode 100644 index 7ac691e..0000000 Binary files a/public/images/pandamonium-legacy/lxdesk.jpg and /dev/null differ diff --git a/public/images/pandamonium-legacy/pa_meister.jpg b/public/images/pandamonium-legacy/pa_meister.jpg deleted file mode 100644 index e9b7bc8..0000000 Binary files a/public/images/pandamonium-legacy/pa_meister.jpg and /dev/null differ diff --git a/public/images/pandamonium-legacy/projectionist.jpg b/public/images/pandamonium-legacy/projectionist.jpg deleted file mode 100644 index 878ac82..0000000 Binary files a/public/images/pandamonium-legacy/projectionist.jpg and /dev/null differ diff --git a/public/images/pandamonium-legacy/technician.jpg b/public/images/pandamonium-legacy/technician.jpg deleted file mode 100644 index f5708f0..0000000 Binary files a/public/images/pandamonium-legacy/technician.jpg and /dev/null differ diff --git a/public/images/pandamonium-legacy/three-of-them.jpg b/public/images/pandamonium-legacy/three-of-them.jpg deleted file mode 100644 index 7abffb9..0000000 Binary files a/public/images/pandamonium-legacy/three-of-them.jpg and /dev/null differ diff --git a/public/images/pandamonium-legacy/two-of-them.jpg b/public/images/pandamonium-legacy/two-of-them.jpg deleted file mode 100644 index cdc8b30..0000000 Binary files a/public/images/pandamonium-legacy/two-of-them.jpg and /dev/null differ diff --git a/public/images/pandamonium/filters.jpg b/public/images/pandamonium/filters.jpg deleted file mode 100644 index a19d958..0000000 Binary files a/public/images/pandamonium/filters.jpg and /dev/null differ diff --git a/public/images/pandamonium/frontrowseat.jpg b/public/images/pandamonium/frontrowseat.jpg deleted file mode 100644 index 17228a0..0000000 Binary files a/public/images/pandamonium/frontrowseat.jpg and /dev/null differ diff --git a/public/images/pandamonium/gel-drawer.jpg b/public/images/pandamonium/gel-drawer.jpg deleted file mode 100644 index abdcc51..0000000 Binary files a/public/images/pandamonium/gel-drawer.jpg and /dev/null differ diff --git a/public/images/pandamonium/lxdesk.jpg b/public/images/pandamonium/lxdesk.jpg deleted file mode 100644 index c85da3d..0000000 Binary files a/public/images/pandamonium/lxdesk.jpg and /dev/null differ diff --git a/public/images/pandamonium/pa_meister.jpg b/public/images/pandamonium/pa_meister.jpg deleted file mode 100644 index 4a50065..0000000 Binary files a/public/images/pandamonium/pa_meister.jpg and /dev/null differ diff --git a/public/images/pandamonium/projectionist.jpg b/public/images/pandamonium/projectionist.jpg deleted file mode 100644 index dcb1186..0000000 Binary files a/public/images/pandamonium/projectionist.jpg and /dev/null differ diff --git a/public/images/pandamonium/technician.jpg b/public/images/pandamonium/technician.jpg deleted file mode 100644 index 29b9e92..0000000 Binary files a/public/images/pandamonium/technician.jpg and /dev/null differ diff --git a/public/images/pandamonium/three-of-them.jpg b/public/images/pandamonium/three-of-them.jpg deleted file mode 100644 index 1f7eee0..0000000 Binary files a/public/images/pandamonium/three-of-them.jpg and /dev/null differ diff --git a/public/images/pandamonium/two-of-them.jpg b/public/images/pandamonium/two-of-them.jpg deleted file mode 100644 index f149d73..0000000 Binary files a/public/images/pandamonium/two-of-them.jpg and /dev/null differ diff --git a/public/images/peek.png b/public/images/peek.png deleted file mode 100644 index 2647658..0000000 Binary files a/public/images/peek.png and /dev/null differ diff --git a/public/images/progress.svg b/public/images/progress.svg deleted file mode 100644 index 0e3bd33..0000000 --- a/public/images/progress.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/public/images/roscoe_tile.jpg b/public/images/roscoe_tile.jpg deleted file mode 100755 index 5bde1b1..0000000 Binary files a/public/images/roscoe_tile.jpg and /dev/null differ diff --git a/public/images/separator.gif b/public/images/separator.gif deleted file mode 100644 index c8565df..0000000 Binary files a/public/images/separator.gif and /dev/null differ diff --git a/public/images/wah-paw-v2.gif b/public/images/wah-paw-v2.gif deleted file mode 100644 index 6d879e0..0000000 Binary files a/public/images/wah-paw-v2.gif and /dev/null differ diff --git a/public/js/christmas/snow.js b/public/js/christmas/snow.js new file mode 100644 index 0000000..7e845d4 --- /dev/null +++ b/public/js/christmas/snow.js @@ -0,0 +1,112 @@ +/*! +// Snow.js - v0.0.3 +// kurisubrooks.com +// +// Modified by floppydisk +// - Changed snowflakes to "Heavy chevron snowflake" (U+2746) +// - Made snowflakes randomly rotate slowly either right or left +*/ + + +// Amount of Snowflakes +var snowMax = 80; + +// Snowflake Colours +var snowColor = [ + "#cad3f5", + "#a5adcb", + "#5b6078" +]; + +// Snow Entity +var snowEntity = "❆" //"•"; + +// Falling Velocity +var snowSpeed = 0.5; + +// Minimum Flake Size +var snowMinSize = 8; + +// Maximum Flake Size +var snowMaxSize = 24; + +// Refresh Rate (in milliseconds) +var snowRefresh = 50; + +// Additional Styles +var snowStyles = "cursor: default; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;"; + +/* +// End of Configuration +// ---------------------------------------- +// Do not modify the code below this line +*/ + +var snow = [], + pos = [], + coords = [], + lefr = [], + marginBottom, + marginRight; + +function randomise(range) { + rand = Math.floor(range * Math.random()); + return rand; +} + +function initSnow() { + var snowSize = snowMaxSize - snowMinSize; + marginBottom = window.screen.height - 5; + marginRight = document.body.clientWidth - 15; + + for (i = 0; i <= snowMax; i++) { + coords[i] = 0; + lefr[i] = Math.random() * 15; + pos[i] = 0.03 + Math.random() / 10; + snow[i] = document.getElementById("flake" + i); + snow[i].style.fontFamily = "inherit"; + snow[i].size = randomise(snowSize) + snowMinSize; + snow[i].style.fontSize = snow[i].size + "px"; + snow[i].style.color = snowColor[randomise(snowColor.length)]; + snow[i].style.zIndex = 1000; + snow[i].sink = snowSpeed * snow[i].size / 5; + snow[i].posX = randomise(marginRight - snow[i].size); + snow[i].posY = randomise(2 * marginBottom - marginBottom - 2 * snow[i].size); + snow[i].style.left = snow[i].posX + "px"; + snow[i].style.top = snow[i].posY + "px"; + snow[i].rotation = Math.random() * 360; // add a random initial rotation + snow[i].direction = Math.random() > 0.5 ? 1 : -1; // add a random direction + } + + moveSnow(); +} + +function resize() { + marginBottom = window.screen.height - 5; + marginRight = document.body.clientWidth - 15; +} + +function moveSnow() { + for (i = 0; i <= snowMax; i++) { + coords[i] += pos[i]; + snow[i].posY += snow[i].sink; + snow[i].style.left = snow[i].posX + lefr[i] * Math.sin(coords[i]) + "px"; + snow[i].style.top = snow[i].posY + "px"; + + if (snow[i].posY >= marginBottom - 2 * snow[i].size || parseInt(snow[i].style.left) > (marginRight - 3 * lefr[i])) { + snow[i].posX = randomise(marginRight - snow[i].size); + snow[i].posY = 0; + } + snow[i].rotation += snow[i].sink * snow[i].direction; // increment rotation based on direction + snow[i].style.transform = "rotate(" + snow[i].rotation + "deg)"; // rotate the snowflake + } + + setTimeout("moveSnow()", snowRefresh); +} + +for (i = 0; i <= snowMax; i++) { + document.write("" + snowEntity + ""); +} + +window.addEventListener('resize', resize); +window.addEventListener('load', initSnow); diff --git a/public/js/christmas/snowstorm.js b/public/js/christmas/snowstorm.js deleted file mode 100644 index 6cce1b0..0000000 --- a/public/js/christmas/snowstorm.js +++ /dev/null @@ -1,680 +0,0 @@ -/** @license - * DHTML Snowstorm! JavaScript-based snow for web pages - * Making it snow on the internets since 2003. You're welcome. - * ----------------------------------------------------------- - * Version 1.44.20131208 (Previous rev: 1.44.20131125) - * Copyright (c) 2007, Scott Schiller. All rights reserved. - * Code provided under the BSD License - * http://schillmania.com/projects/snowstorm/license.txt - */ - -/*jslint nomen: true, plusplus: true, sloppy: true, vars: true, white: true */ -/*global window, document, navigator, clearInterval, setInterval */ - -// 10/2021: Yes, some university hotlinked this script. This is an attempt to stop them. -// Admin: Please download this script and host it on your own site. Thank you. -// if (!document.domain.match(/schillmania.com/i)) { -// alert('SECURITY WARNING\nPlease tell your site administrator to host their own snow script. Thank you.'); -// // try { document.body.innerHTML = '

SECURITY WARNING
Please tell your site administrator to host their own snow script. Thank you.

'; } catch(e) {}; // go away. -// document.body.innerHTML = 'SECURITY WARNING: Please tell your site administrator to host their own snow script. Thank you.'; -// throw new Error('SECURITY WARNING: Please tell your site administrator to host their own snowstorm script. Thank you.'); -// fail(); -// debugger; -// } - -var snowStorm = (function (window, document) { - - // --- common properties --- - - this.autoStart = true; // Whether the snow should start automatically or not. - this.excludeMobile = true; // Snow is likely to be bad news for mobile phones' CPUs (and batteries.) Enable at your own risk. - this.flakesMax = 256; // Limit total amount of snow made (falling + sticking) - this.flakesMaxActive = 128; // Limit amount of snow falling at once (less = lower CPU use) - this.animationInterval = 33; // Theoretical "miliseconds per frame" measurement. 20 = fast + smooth, but high CPU use. 50 = more conservative, but slower - this.useGPU = true; // Enable transform-based hardware acceleration, reduce CPU load. - this.className = null; // CSS class name for further customization on snow elements - this.flakeBottom = null; // Integer for Y axis snow limit, 0 or null for "full-screen" snow effect - this.followMouse = false; // Snow movement can respond to the user's mouse - this.snowColor = '#fff'; // Don't eat (or use?) yellow snow. - this.snowCharacter = '•'; // • = bullet, · is square on some systems etc. - this.snowStick = true; // Whether or not snow should "stick" at the bottom. When off, will never collect. - this.targetElement = null; // element which snow will be appended to (null = document.body) - can be an element ID eg. 'myDiv', or a DOM node reference - this.useMeltEffect = true; // When recycling fallen snow (or rarely, when falling), have it "melt" and fade out if browser supports it - this.useTwinkleEffect = false; // Allow snow to randomly "flicker" in and out of view while falling - this.usePositionFixed = false; // true = snow does not shift vertically when scrolling. May increase CPU load, disabled by default - if enabled, used only where supported - this.usePixelPosition = false; // Whether to use pixel values for snow top/left vs. percentages. Auto-enabled if body is position:relative or targetElement is specified. - - // --- less-used bits --- - - this.freezeOnBlur = true; // Only snow when the window is in focus (foreground.) Saves CPU. - this.flakeLeftOffset = 0; // Left margin/gutter space on edge of container (eg. browser window.) Bump up these values if seeing horizontal scrollbars. - this.flakeRightOffset = 0; // Right margin/gutter space on edge of container - this.flakeWidth = 8; // Max pixel width reserved for snow element - this.flakeHeight = 8; // Max pixel height reserved for snow element - this.vMaxX = 5; // Maximum X velocity range for snow - this.vMaxY = 4; // Maximum Y velocity range for snow - this.zIndex = 0; // CSS stacking order applied to each snowflake - - // --- "No user-serviceable parts inside" past this point, yadda yadda --- - - var storm = this, - features, - // UA sniffing and backCompat rendering mode checks for fixed position, etc. - isIE = navigator.userAgent.match(/msie/i), - isIE6 = navigator.userAgent.match(/msie 6/i), - isMobile = navigator.userAgent.match(/mobile|opera m(ob|in)/i), - isBackCompatIE = (isIE && document.compatMode === 'BackCompat'), - noFixed = (isBackCompatIE || isIE6), - screenX = null, screenX2 = null, screenY = null, scrollY = null, docHeight = null, vRndX = null, vRndY = null, - windOffset = 1, - windMultiplier = 2, - flakeTypes = 6, - fixedForEverything = false, - targetElementIsRelative = false, - opacitySupported = (function () { - try { - document.createElement('div').style.opacity = '0.5'; - } catch (e) { - return false; - } - return true; - }()), - didInit = false, - docFrag = document.createDocumentFragment(); - - features = (function () { - - var getAnimationFrame; - - /** - * hat tip: paul irish - * http://paulirish.com/2011/requestanimationframe-for-smart-animating/ - * https://gist.github.com/838785 - */ - - function timeoutShim(callback) { - window.setTimeout(callback, 1000 / (storm.animationInterval || 20)); - } - - var _animationFrame = (window.requestAnimationFrame || - window.webkitRequestAnimationFrame || - window.mozRequestAnimationFrame || - window.oRequestAnimationFrame || - window.msRequestAnimationFrame || - timeoutShim); - - // apply to window, avoid "illegal invocation" errors in Chrome - getAnimationFrame = _animationFrame ? function () { - return _animationFrame.apply(window, arguments); - } : null; - - var testDiv; - - testDiv = document.createElement('div'); - - function has(prop) { - - // test for feature support - var result = testDiv.style[prop]; - return (result !== undefined ? prop : null); - - } - - // note local scope. - var localFeatures = { - - transform: { - ie: has('-ms-transform'), - moz: has('MozTransform'), - opera: has('OTransform'), - webkit: has('webkitTransform'), - w3: has('transform'), - prop: null // the normalized property value - }, - - getAnimationFrame: getAnimationFrame - - }; - - localFeatures.transform.prop = ( - localFeatures.transform.w3 || - localFeatures.transform.moz || - localFeatures.transform.webkit || - localFeatures.transform.ie || - localFeatures.transform.opera - ); - - testDiv = null; - - return localFeatures; - - }()); - - this.timer = null; - this.flakes = []; - this.disabled = false; - this.active = false; - this.meltFrameCount = 20; - this.meltFrames = []; - - this.setXY = function (o, x, y) { - - if (!o) { - return false; - } - - if (storm.usePixelPosition || targetElementIsRelative) { - - o.style.left = (x - storm.flakeWidth) + 'px'; - o.style.top = (y - storm.flakeHeight) + 'px'; - - } else if (noFixed) { - - o.style.right = (100 - (x / screenX * 100)) + '%'; - // avoid creating vertical scrollbars - o.style.top = (Math.min(y, docHeight - storm.flakeHeight)) + 'px'; - - } else { - - if (!storm.flakeBottom) { - - // if not using a fixed bottom coordinate... - o.style.right = (100 - (x / screenX * 100)) + '%'; - o.style.bottom = (100 - (y / screenY * 100)) + '%'; - - } else { - - // absolute top. - o.style.right = (100 - (x / screenX * 100)) + '%'; - o.style.top = (Math.min(y, docHeight - storm.flakeHeight)) + 'px'; - - } - - } - - }; - - this.events = (function () { - - var old = (!window.addEventListener && window.attachEvent), slice = Array.prototype.slice, - evt = { - add: (old ? 'attachEvent' : 'addEventListener'), - remove: (old ? 'detachEvent' : 'removeEventListener') - }; - - function getArgs(oArgs) { - var args = slice.call(oArgs), len = args.length; - if (old) { - args[1] = 'on' + args[1]; // prefix - if (len > 3) { - args.pop(); // no capture - } - } else if (len === 3) { - args.push(false); - } - return args; - } - - function apply(args, sType) { - var element = args.shift(), - method = [evt[sType]]; - if (old) { - element[method](args[0], args[1]); - } else { - element[method].apply(element, args); - } - } - - function addEvent() { - apply(getArgs(arguments), 'add'); - } - - function removeEvent() { - apply(getArgs(arguments), 'remove'); - } - - return { - add: addEvent, - remove: removeEvent - }; - - }()); - - function rnd(n, min) { - if (isNaN(min)) { - min = 0; - } - return (Math.random() * n) + min; - } - - function plusMinus(n) { - return (parseInt(rnd(2), 10) === 1 ? n * -1 : n); - } - - this.randomizeWind = function () { - var i; - vRndX = plusMinus(rnd(storm.vMaxX, 0.2)); - vRndY = rnd(storm.vMaxY, 0.2); - if (this.flakes) { - for (i = 0; i < this.flakes.length; i++) { - if (this.flakes[i].active) { - this.flakes[i].setVelocities(); - } - } - } - }; - - this.scrollHandler = function () { - var i; - // "attach" snowflakes to bottom of window if no absolute bottom value was given - scrollY = (storm.flakeBottom ? 0 : parseInt(window.scrollY || document.documentElement.scrollTop || (noFixed ? document.body.scrollTop : 0), 10)); - if (isNaN(scrollY)) { - scrollY = 0; // Netscape 6 scroll fix - } - if (!fixedForEverything && !storm.flakeBottom && storm.flakes) { - for (i = 0; i < storm.flakes.length; i++) { - if (storm.flakes[i].active === 0) { - storm.flakes[i].stick(); - } - } - } - }; - - this.resizeHandler = function () { - if (window.innerWidth || window.innerHeight) { - screenX = window.innerWidth - 16 - storm.flakeRightOffset; - screenY = (storm.flakeBottom || window.innerHeight); - } else { - screenX = (document.documentElement.clientWidth || document.body.clientWidth || document.body.scrollWidth) - (!isIE ? 8 : 0) - storm.flakeRightOffset; - screenY = storm.flakeBottom || document.documentElement.clientHeight || document.body.clientHeight || document.body.scrollHeight; - } - docHeight = document.body.offsetHeight; - screenX2 = parseInt(screenX / 2, 10); - }; - - this.resizeHandlerAlt = function () { - screenX = storm.targetElement.offsetWidth - storm.flakeRightOffset; - screenY = storm.flakeBottom || storm.targetElement.offsetHeight; - screenX2 = parseInt(screenX / 2, 10); - docHeight = document.body.offsetHeight; - }; - - this.freeze = function () { - // pause animation - if (!storm.disabled) { - storm.disabled = 1; - } else { - return false; - } - storm.timer = null; - }; - - this.resume = function () { - if (storm.disabled) { - storm.disabled = 0; - } else { - return false; - } - storm.timerInit(); - }; - - this.toggleSnow = function () { - if (!storm.flakes.length) { - // first run - storm.start(); - } else { - storm.active = !storm.active; - if (storm.active) { - storm.show(); - storm.resume(); - } else { - storm.stop(); - storm.freeze(); - } - } - }; - - this.stop = function () { - var i; - this.freeze(); - for (i = 0; i < this.flakes.length; i++) { - this.flakes[i].o.style.display = 'none'; - } - storm.events.remove(window, 'scroll', storm.scrollHandler); - storm.events.remove(window, 'resize', storm.resizeHandler); - if (storm.freezeOnBlur) { - if (isIE) { - storm.events.remove(document, 'focusout', storm.freeze); - storm.events.remove(document, 'focusin', storm.resume); - } else { - storm.events.remove(window, 'blur', storm.freeze); - storm.events.remove(window, 'focus', storm.resume); - } - } - }; - - this.show = function () { - var i; - for (i = 0; i < this.flakes.length; i++) { - this.flakes[i].o.style.display = 'block'; - } - }; - - this.SnowFlake = function (type, x, y) { - var s = this; - this.type = type; - this.x = x || parseInt(rnd(screenX - 20), 10); - this.y = (!isNaN(y) ? y : -rnd(screenY) - 12); - this.vX = null; - this.vY = null; - this.vAmpTypes = [1, 1.2, 1.4, 1.6, 1.8]; // "amplification" for vX/vY (based on flake size/type) - this.vAmp = this.vAmpTypes[this.type] || 1; - this.melting = false; - this.meltFrameCount = storm.meltFrameCount; - this.meltFrames = storm.meltFrames; - this.meltFrame = 0; - this.twinkleFrame = 0; - this.active = 1; - this.fontSize = (10 + (this.type / 5) * 10); - this.o = document.createElement('div'); - this.o.innerHTML = storm.snowCharacter; - if (storm.className) { - this.o.setAttribute('class', storm.className); - } - this.o.style.color = storm.snowColor; - this.o.style.position = (fixedForEverything ? 'fixed' : 'absolute'); - if (storm.useGPU && features.transform.prop) { - // GPU-accelerated snow. - this.o.style[features.transform.prop] = 'translate3d(0px, 0px, 0px)'; - } - this.o.style.width = storm.flakeWidth + 'px'; - this.o.style.height = storm.flakeHeight + 'px'; - this.o.style.fontFamily = 'arial,verdana'; - this.o.style.cursor = 'default'; - this.o.style.overflow = 'hidden'; - this.o.style.fontWeight = 'normal'; - this.o.style.zIndex = storm.zIndex; - - // Add drop shadow to snowflakes - this.o.style.filter = "drop-shadow(3px 3px hsla(0,0%,8%,0.2))" - - docFrag.appendChild(this.o); - - this.refresh = function () { - if (isNaN(s.x) || isNaN(s.y)) { - // safety check - return false; - } - storm.setXY(s.o, s.x, s.y); - }; - - this.stick = function () { - if (noFixed || (storm.targetElement !== document.documentElement && storm.targetElement !== document.body)) { - s.o.style.top = (screenY + scrollY - storm.flakeHeight) + 'px'; - } else if (storm.flakeBottom) { - s.o.style.top = storm.flakeBottom + 'px'; - } else { - s.o.style.display = 'none'; - s.o.style.bottom = '0%'; - s.o.style.position = 'fixed'; - s.o.style.display = 'block'; - } - }; - - this.vCheck = function () { - if (s.vX >= 0 && s.vX < 0.2) { - s.vX = 0.2; - } else if (s.vX < 0 && s.vX > -0.2) { - s.vX = -0.2; - } - if (s.vY >= 0 && s.vY < 0.2) { - s.vY = 0.2; - } - }; - - this.move = function () { - var vX = s.vX * windOffset, yDiff; - s.x += vX; - s.y += (s.vY * s.vAmp); - if (s.x >= screenX || screenX - s.x < storm.flakeWidth) { // X-axis scroll check - s.x = 0; - } else if (vX < 0 && s.x - storm.flakeLeftOffset < -storm.flakeWidth) { - s.x = screenX - storm.flakeWidth - 1; // flakeWidth; - } - s.refresh(); - yDiff = screenY + scrollY - s.y + storm.flakeHeight; - if (yDiff < storm.flakeHeight) { - s.active = 0; - if (storm.snowStick) { - s.stick(); - } else { - s.recycle(); - } - } else { - if (storm.useMeltEffect && s.active && s.type < 3 && !s.melting && Math.random() > 0.998) { - // ~1/1000 chance of melting mid-air, with each frame - s.melting = true; - s.melt(); - // only incrementally melt one frame - // s.melting = false; - } - if (storm.useTwinkleEffect) { - if (s.twinkleFrame < 0) { - if (Math.random() > 0.97) { - s.twinkleFrame = parseInt(Math.random() * 8, 10); - } - } else { - s.twinkleFrame--; - if (!opacitySupported) { - s.o.style.visibility = (s.twinkleFrame && s.twinkleFrame % 2 === 0 ? 'hidden' : 'visible'); - } else { - s.o.style.opacity = (s.twinkleFrame && s.twinkleFrame % 2 === 0 ? 0 : 1); - } - } - } - } - }; - - this.animate = function () { - // main animation loop - // move, check status, die etc. - s.move(); - }; - - this.setVelocities = function () { - s.vX = vRndX + rnd(storm.vMaxX * 0.12, 0.1); - s.vY = vRndY + rnd(storm.vMaxY * 0.12, 0.1); - }; - - this.setOpacity = function (o, opacity) { - if (!opacitySupported) { - return false; - } - o.style.opacity = opacity; - }; - - this.melt = function () { - if (!storm.useMeltEffect || !s.melting) { - s.recycle(); - } else { - if (s.meltFrame < s.meltFrameCount) { - s.setOpacity(s.o, s.meltFrames[s.meltFrame]); - s.o.style.fontSize = s.fontSize - (s.fontSize * (s.meltFrame / s.meltFrameCount)) + 'px'; - s.o.style.lineHeight = storm.flakeHeight + 2 + (storm.flakeHeight * 0.75 * (s.meltFrame / s.meltFrameCount)) + 'px'; - s.meltFrame++; - } else { - s.recycle(); - } - } - }; - - this.recycle = function () { - s.o.style.display = 'none'; - s.o.style.position = (fixedForEverything ? 'fixed' : 'absolute'); - s.o.style.bottom = 'auto'; - s.setVelocities(); - s.vCheck(); - s.meltFrame = 0; - s.melting = false; - s.setOpacity(s.o, 1); - s.o.style.padding = '0px'; - s.o.style.margin = '0px'; - s.o.style.fontSize = s.fontSize + 'px'; - s.o.style.lineHeight = (storm.flakeHeight + 2) + 'px'; - s.o.style.textAlign = 'center'; - s.o.style.verticalAlign = 'baseline'; - s.x = parseInt(rnd(screenX - storm.flakeWidth - 20), 10); - s.y = parseInt(rnd(screenY) * -1, 10) - storm.flakeHeight; - s.refresh(); - s.o.style.display = 'block'; - s.active = 1; - }; - - this.recycle(); // set up x/y coords etc. - this.refresh(); - - }; - - this.snow = function () { - var active = 0, flake = null, i, j; - for (i = 0, j = storm.flakes.length; i < j; i++) { - if (storm.flakes[i].active === 1) { - storm.flakes[i].move(); - active++; - } - if (storm.flakes[i].melting) { - storm.flakes[i].melt(); - } - } - if (active < storm.flakesMaxActive) { - flake = storm.flakes[parseInt(rnd(storm.flakes.length), 10)]; - if (flake.active === 0) { - flake.melting = true; - } - } - if (storm.timer) { - features.getAnimationFrame(storm.snow); - } - }; - - this.mouseMove = function (e) { - if (!storm.followMouse) { - return true; - } - var x = parseInt(e.clientX, 10); - if (x < screenX2) { - windOffset = -windMultiplier + (x / screenX2 * windMultiplier); - } else { - x -= screenX2; - windOffset = (x / screenX2) * windMultiplier; - } - }; - - this.createSnow = function (limit, allowInactive) { - var i; - for (i = 0; i < limit; i++) { - storm.flakes[storm.flakes.length] = new storm.SnowFlake(parseInt(rnd(flakeTypes), 10)); - if (allowInactive || i > storm.flakesMaxActive) { - storm.flakes[storm.flakes.length - 1].active = -1; - } - } - storm.targetElement.appendChild(docFrag); - }; - - this.timerInit = function () { - storm.timer = true; - storm.snow(); - }; - - this.init = function () { - var i; - for (i = 0; i < storm.meltFrameCount; i++) { - storm.meltFrames.push(1 - (i / storm.meltFrameCount)); - } - storm.randomizeWind(); - storm.createSnow(storm.flakesMax); // create initial batch - storm.events.add(window, 'resize', storm.resizeHandler); - storm.events.add(window, 'scroll', storm.scrollHandler); - if (storm.freezeOnBlur) { - if (isIE) { - storm.events.add(document, 'focusout', storm.freeze); - storm.events.add(document, 'focusin', storm.resume); - } else { - storm.events.add(window, 'blur', storm.freeze); - storm.events.add(window, 'focus', storm.resume); - } - } - storm.resizeHandler(); - storm.scrollHandler(); - if (storm.followMouse) { - storm.events.add(isIE ? document : window, 'mousemove', storm.mouseMove); - } - storm.animationInterval = Math.max(20, storm.animationInterval); - storm.timerInit(); - }; - - this.start = function (bFromOnLoad) { - if (!didInit) { - didInit = true; - } else if (bFromOnLoad) { - // already loaded and running - return true; - } - if (typeof storm.targetElement === 'string') { - var targetID = storm.targetElement; - storm.targetElement = document.getElementById(targetID); - if (!storm.targetElement) { - throw new Error('Snowstorm: Unable to get targetElement "' + targetID + '"'); - } - } - if (!storm.targetElement) { - storm.targetElement = (document.body || document.documentElement); - } - if (storm.targetElement !== document.documentElement && storm.targetElement !== document.body) { - // re-map handler to get element instead of screen dimensions - storm.resizeHandler = storm.resizeHandlerAlt; - //and force-enable pixel positioning - storm.usePixelPosition = true; - } - storm.resizeHandler(); // get bounding box elements - storm.usePositionFixed = (storm.usePositionFixed && !noFixed && !storm.flakeBottom); // whether or not position:fixed is to be used - if (window.getComputedStyle) { - // attempt to determine if body or user-specified snow parent element is relatlively-positioned. - try { - targetElementIsRelative = (window.getComputedStyle(storm.targetElement, null).getPropertyValue('position') === 'relative'); - } catch (e) { - // oh well - targetElementIsRelative = false; - } - } - fixedForEverything = storm.usePositionFixed; - if (screenX && screenY && !storm.disabled) { - storm.init(); - storm.active = true; - } - }; - - function doDelayedStart() { - window.setTimeout(function () { - storm.start(true); - }, 20); - // event cleanup - storm.events.remove(isIE ? document : window, 'mousemove', doDelayedStart); - } - - function doStart() { - if (!storm.excludeMobile || !isMobile) { - doDelayedStart(); - } - // event cleanup - storm.events.remove(window, 'load', doStart); - } - - // hooks for starting the snow - if (storm.autoStart) { - storm.events.add(window, 'load', doStart, false); - } - - return this; - -}(window, document)); diff --git a/public/js/neverSaid.js b/public/js/neverSaid.js new file mode 100644 index 0000000..5b58d60 --- /dev/null +++ b/public/js/neverSaid.js @@ -0,0 +1,35 @@ +// Define an array of strings +const neverSaid = [ + "ASM: The Director liked all the props we got today.", + "PM: Ah ha, a revolve. Terrific.", + "Chippie: I don't know, let's look at the ground plan.", + "Set Designer: Well, let's just have whatever is cheaper.", + "Sound: Better turn that down a bit. We don't want to deafen them.", + "Director: Sorry, my mistake.", + "Electrics: This equipment is more complicated than we need.", + "Performer: I really think my big scene should be cut.", + "SM: Can we doo that scene change again please?", + "LX designer: Bit more light from those big chaps at the side. Yes that's right, the ones on stalks whatever they are called.", + "Electrics: All the equipment works perfectly.", + "Musicians: So what if that's the end of a call. Let's just finish this bit off.", + "Wardrobe: Now, when exactly is the first dress rehearsal?", + "Workshop: I don't want anyone to know, but if you insist then yes, I admit it, I have just done an all-nighter.", + "Performer: This costume is so comfortable.", + "Admin: The level of overtime payments here are simply unacceptable. Our backstage staff deserve better.", + "Box Office: Comps? No problem.", + "Set Designer: You're right, it looks dreadful.", + "Flyman: No, my lips are sealed. What I may or may not have seen remains a secret.", + "Electrics: That had nothing to do with the computer, it was my fault.", + "Crew: No, no, I'm sure that's our job.", + "SMgt: Thanks, but I don't drink", + "Performer: Let me stand down here with my back to the audience.", + "Chippie: I can't really manage those big fast power tools myself.", + "Chippie: I prefer to use these little hand drills.", + "All: Let's go and ask the Production Manager. He'll know." +] + +// Generate a random index into the array +const randomIndex = Math.floor(Math.random() * neverSaid.length); + +// Use document.write to output the random string +document.write(neverSaid[randomIndex]); diff --git a/public/js/schemeSwap.js b/public/js/schemeSwap.js deleted file mode 100644 index 044df0f..0000000 --- a/public/js/schemeSwap.js +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Retrieves a cookies value - * @param {string} cname Cookie name - * @returns {string} Cookie value - */ -function getCookie(cname) { - let name = cname + "="; - let decodedCookie = decodeURIComponent(document.cookie); - let ca = decodedCookie.split(';'); - for(let i = 0; i + - https://wah.moe/ - 2024-12-28T18:33:23+01:00 - 1.0 + https://www.diskfloppy.me + 2023-10-10 + always + 0.5 - https://wah.moe/bookmarks - 2024-12-28T18:33:23+01:00 - 1.0 + https://www.diskfloppy.me/pub + 2023-10-10 + always + 0.5 - https://wah.moe/guestbook - 2024-12-28T18:33:23+01:00 - 1.0 + https://www.diskfloppy.me/computers + 2023-10-10 + always + 0.5 - https://wah.moe/music - 2024-12-28T18:33:23+01:00 - 1.0 + https://www.diskfloppy.me/guestbook + 2023-10-10 + always + 0.5 - https://wah.moe/rosco - 2024-12-28T18:33:23+01:00 - 1.0 + https://www.diskfloppy.me/weather + 2023-10-10 + always + 0.5 - + + https://www.diskfloppy.me/music + 2023-10-10 + always + 0.5 + + + https://www.diskfloppy.me/bookmarks + 2023-10-10 + always + 0.5 + + \ No newline at end of file diff --git a/resources/js/app.js b/resources/js/app.js new file mode 100644 index 0000000..e59d6a0 --- /dev/null +++ b/resources/js/app.js @@ -0,0 +1 @@ +import './bootstrap'; diff --git a/resources/js/bootstrap.js b/resources/js/bootstrap.js new file mode 100644 index 0000000..846d350 --- /dev/null +++ b/resources/js/bootstrap.js @@ -0,0 +1,32 @@ +/** + * We'll load the axios HTTP library which allows us to easily issue requests + * to our Laravel back-end. This library automatically handles sending the + * CSRF token as a header based on the value of the "XSRF" token cookie. + */ + +import axios from 'axios'; +window.axios = axios; + +window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; + +/** + * Echo exposes an expressive API for subscribing to channels and listening + * for events that are broadcast by Laravel. Echo and event broadcasting + * allows your team to easily build robust real-time web applications. + */ + +// import Echo from 'laravel-echo'; + +// import Pusher from 'pusher-js'; +// window.Pusher = Pusher; + +// window.Echo = new Echo({ +// broadcaster: 'pusher', +// key: import.meta.env.VITE_PUSHER_APP_KEY, +// cluster: import.meta.env.VITE_PUSHER_APP_CLUSTER ?? 'mt1', +// wsHost: import.meta.env.VITE_PUSHER_HOST ? import.meta.env.VITE_PUSHER_HOST : `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`, +// wsPort: import.meta.env.VITE_PUSHER_PORT ?? 80, +// wssPort: import.meta.env.VITE_PUSHER_PORT ?? 443, +// forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? 'https') === 'https', +// enabledTransports: ['ws', 'wss'], +// }); diff --git a/resources/views/bookmarks.blade.php b/resources/views/bookmarks.blade.php deleted file mode 100644 index 178478f..0000000 --- a/resources/views/bookmarks.blade.php +++ /dev/null @@ -1,24 +0,0 @@ - - Bookmarks - @foreach($categories as $category) -
-

{{ $category->name }}

- @if($category->id == 1) -

(These are shuffled every load)

- @php - $sites = $category->sites->shuffle(); - @endphp - @else - @php - $sites = $category->sites; - @endphp - @endif -
-
    - @foreach($sites as $site) -
  • {{ $site->name }} - {{ $site->description }}
  • - @endforeach -
-
- @endforeach -
diff --git a/resources/views/components/codeblock.blade.php b/resources/views/components/codeblock.blade.php new file mode 100644 index 0000000..ff7c2a5 --- /dev/null +++ b/resources/views/components/codeblock.blade.php @@ -0,0 +1,14 @@ +@php +$file_path = "code/".$file; +$file_name = basename($file_path); + +$hl = new \Highlight\Highlighter(); + +$highlighted = $hl->highlight($lang, Storage::disk('local')->get($file_path)); +$file_size = Storage::disk('local')->size($file_path); +@endphp +
+

{{ $file_name }} {{ $file_size}} bytes

+
+ {!! $highlighted->value !!} +
diff --git a/resources/views/components/git.blade.php b/resources/views/components/git.blade.php new file mode 100644 index 0000000..e66a6eb --- /dev/null +++ b/resources/views/components/git.blade.php @@ -0,0 +1,48 @@ +@php +$api_root = app('config')->get('app')['api_root']; + +$commits = json_decode(file_get_contents($api_root.'/gitdata')); +$count = 0; + +function formatRelativeTime(DateTime $dateTime) { + $currentTimestamp = time(); + $dateTimeTimestamp = $dateTime->getTimestamp(); + $difference = $currentTimestamp - $dateTimeTimestamp; + + if ($difference < 60) { + return "just now"; + } elseif ($difference < 3600) { + $minutes = floor($difference / 60); + $suffix = ($minutes > 1) ? "s" : ""; + return $minutes . " minute" . $suffix . " ago"; + } elseif ($difference < 86400) { + $hours = floor($difference / 3600); + $suffix = ($hours > 1) ? "s" : ""; + return $hours . " hour" . $suffix . " ago"; + } elseif ($difference < 604800) { + $days = floor($difference / 86400); + $suffix = ($days > 1) ? "s" : ""; + return $days . " day" . $suffix . " ago"; + } else { + return $dateTime->format('Y-m-d H:i:s'); // Fallback to a specific format if desired + } +} +@endphp +

Recent Site Updates

+ +@foreach ($commits as $commit) + + @if ($count >= 5) +
+ @break + @endif + @php + $date = DateTime::createFromFormat("Y-m-d\TH:i:s\Z", $commit->author->date) + @endphp + + • + {{ formatRelativeTime($date) }} + {{ $commit->message }} + +@php $count++ @endphp +@endforeach diff --git a/resources/views/components/lastfm-current.blade.php b/resources/views/components/lastfm-current.blade.php deleted file mode 100644 index 230a07a..0000000 --- a/resources/views/components/lastfm-current.blade.php +++ /dev/null @@ -1,34 +0,0 @@ -@if (isLegacy()) - @php - $artUrl = null; - $path = parse_url($track["image"], PHP_URL_PATH); - if ($track["image"] !== "") { - $artUrl = "//" . request()->getHttpHost() . "/proxy/lastfm/" . basename($path); - } - @endphp - - @if ($artUrl !== null) - - @endif - - -
Album cover for {{ $track[  -

{{ $track["header"] }}:

- {{ $track["title"] }}
- by {{ $track["artist"] }}
-
-
-@else -
- @if($track["image"] !== "") -
- Album cover for {{ $track[ -
- @endif -
-

{{ $track["header"] }}:

- {{ $track["title"] }}
- by {{ $track["artist"] }}
-
-
-@endif diff --git a/resources/views/components/lastfm-top.blade.php b/resources/views/components/lastfm-top.blade.php deleted file mode 100644 index e6a5968..0000000 --- a/resources/views/components/lastfm-top.blade.php +++ /dev/null @@ -1,21 +0,0 @@ -@if (isLegacy()) - - Top 10 Tracks (Last 30 days): -@else -
- -@endif - - - - - - - @php($count = 0) - @foreach ($tracks as $track) - @php($count++) - - @endforeach -
-

Top 10 Tracks (Last 30 days):

-
#TrackArtistPlays
diff --git a/resources/views/components/lastfm-track.blade.php b/resources/views/components/lastfm-track.blade.php deleted file mode 100644 index f61d41e..0000000 --- a/resources/views/components/lastfm-track.blade.php +++ /dev/null @@ -1,6 +0,0 @@ - - {{ $count }} - {{ $track["title"] }} - {{ $track["artist"] }} - {{ $track["plays"] }} - diff --git a/resources/views/components/lastfm.blade.php b/resources/views/components/lastfm.blade.php new file mode 100644 index 0000000..83312e1 --- /dev/null +++ b/resources/views/components/lastfm.blade.php @@ -0,0 +1,21 @@ +@php + +$cfg = app('config')->get('services')['lastfm']; +$api_root = app('config')->get('app')['api_root']; + +$current_track = json_decode(file_get_contents($api_root.'/lastfm/current')); +$toptracks = json_decode(file_get_contents($api_root.'/lastfm/top')); +$count = 0; +@endphp + +

Last.fm (Profile)

+ Last/Current Track: {{ $current_track->name }} • {{ $current_track->artist }} +

Top {{ $cfg['toptracks'] }} Tracks (Last 7 days)

+@foreach ($toptracks as $track) + @if ($count >= $cfg['toptracks']) + @break + @endif + {{ str_pad($count+1, 2, '0', STR_PAD_LEFT) }}] {{ $track->name }} • {{ $track->artist }} + ({{ $track->plays }} plays)
+@php $count++ @endphp +@endforeach diff --git a/resources/views/components/layout-err.blade.php b/resources/views/components/layout-err.blade.php deleted file mode 100644 index 5c75d0e..0000000 --- a/resources/views/components/layout-err.blade.php +++ /dev/null @@ -1,28 +0,0 @@ - - - - {{ $title ?? '' }} - - - - -

Error {{ $code }} | {{ $message }}

-
-

Here, have a cat...

-

-

If you believe this is a server error, contact the webmaster

-
-

Diagnostic Info

-
- - Server:  {{ gethostname() }}
- Your IP: {{ Request::ip() }}
- Root:    {!! url('') !!}
- Path:    @if(Request::path() == "/")/@else/{{ Request::path() }}/@endif
- Epoch:   {{ now()->timestamp }}
- Agent:   {{ request()->userAgent() }}
-
-
-

© RoscoeDaWah 2021-2024

- - diff --git a/resources/views/components/layout-legacy.blade.php b/resources/views/components/layout-legacy.blade.php deleted file mode 100644 index 56379f9..0000000 --- a/resources/views/components/layout-legacy.blade.php +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - wah! (dot moe) - {{ $title }} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- - - wah! (dot moe)
- "i mean it looks alright, but then you realise its all tables" ~ alice -
-
 
- - - - - - -
  - -  
-
 
 
- - - - - - -
  - {{ $slot }} -  
-
 
 
- - - - - - -
  - -  
-
 
 
- - - - - - -
  - © RoscoeDaWah 2021-2025 -  
-
 
- - diff --git a/resources/views/components/layout-min.blade.php b/resources/views/components/layout-min.blade.php deleted file mode 100644 index 37e6e03..0000000 --- a/resources/views/components/layout-min.blade.php +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - {{ $title ?? 'Unknown' }} - - -{{ $slot }} - - diff --git a/resources/views/components/layout.blade.php b/resources/views/components/layout.blade.php deleted file mode 100644 index a9a1728..0000000 --- a/resources/views/components/layout.blade.php +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - wah! (dot moe) - - - - @if ($isChristmas)@endif - - - - - - - - - - progressive pride flag - -
- -
-
- {{ $slot }} -
-
-
-
-
- -
-
-
- - diff --git a/resources/views/components/navigation.blade.php b/resources/views/components/navigation.blade.php deleted file mode 100644 index acf5406..0000000 --- a/resources/views/components/navigation.blade.php +++ /dev/null @@ -1,14 +0,0 @@ - diff --git a/resources/views/components/wah.blade.php b/resources/views/components/wah.blade.php deleted file mode 100644 index 105c9b7..0000000 --- a/resources/views/components/wah.blade.php +++ /dev/null @@ -1,12 +0,0 @@ -@if(!isLegacy()) -
-

Random Wah!

- @if ($wah !== "") - Random image featuring a red panda -

Image "stolen" from tinyfox.dev

- @else - 250x250 Placeholder Image -

Unable to retrieve image

- @endif -
-@endif diff --git a/resources/views/components/weather.blade.php b/resources/views/components/weather.blade.php new file mode 100644 index 0000000..29f925d --- /dev/null +++ b/resources/views/components/weather.blade.php @@ -0,0 +1,22 @@ +@php +$api_root = app('config')->get('app')['api_root']; + +function degreesToCompassDirection($degrees) { + $cardinalDirections = [ + 'N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', + 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N' + ]; + return $cardinalDirections[round($degrees*16/360)]; +} + +$data = json_decode(file_get_contents($api_root.'/weather')); +$updated = gmdate('H:i Y-m-d', $data->updated); +$data = $data->current; +@endphp + +

Local Weather (Last Update: {{ $updated }})

+ Wind Speed:     {{ $data->wind->speed }} mph
+ Wind Direction: {{ $data->wind->direction->degrees }}°, {{ $data->wind->direction->cardinal }}
+ Temperature:    {{ $data->temperature }}°C
+ Rain Rate:      {{ $data->rain_rate }} mm/hr
+ Humidity:       {{ $data->humidity }}%
diff --git a/resources/views/errors/401.blade.php b/resources/views/errors/401.blade.php deleted file mode 100644 index f3dce11..0000000 --- a/resources/views/errors/401.blade.php +++ /dev/null @@ -1,4 +0,0 @@ - - 401 - Unauthorized - diff --git a/resources/views/errors/402.blade.php b/resources/views/errors/402.blade.php deleted file mode 100644 index 06f6d5e..0000000 --- a/resources/views/errors/402.blade.php +++ /dev/null @@ -1,4 +0,0 @@ - - 402 - Payment Required - diff --git a/resources/views/errors/403.blade.php b/resources/views/errors/403.blade.php deleted file mode 100644 index 22b14ad..0000000 --- a/resources/views/errors/403.blade.php +++ /dev/null @@ -1,4 +0,0 @@ - - 403 - {{__($exception->getMessage() ?: 'Forbidden')}} - diff --git a/resources/views/errors/404.blade.php b/resources/views/errors/404.blade.php deleted file mode 100644 index a3cd44c..0000000 --- a/resources/views/errors/404.blade.php +++ /dev/null @@ -1,4 +0,0 @@ - - 404 - Page not found! - diff --git a/resources/views/errors/418.blade.php b/resources/views/errors/418.blade.php deleted file mode 100644 index f69b9a2..0000000 --- a/resources/views/errors/418.blade.php +++ /dev/null @@ -1,4 +0,0 @@ - - 418 - I'm a teapot - diff --git a/resources/views/errors/419.blade.php b/resources/views/errors/419.blade.php deleted file mode 100644 index 5d5781e..0000000 --- a/resources/views/errors/419.blade.php +++ /dev/null @@ -1,4 +0,0 @@ - - 419 - Page Expired - diff --git a/resources/views/errors/429.blade.php b/resources/views/errors/429.blade.php deleted file mode 100644 index a3a3e51..0000000 --- a/resources/views/errors/429.blade.php +++ /dev/null @@ -1,4 +0,0 @@ - - 429 - Too Many Requests - diff --git a/resources/views/errors/500.blade.php b/resources/views/errors/500.blade.php deleted file mode 100644 index f578dca..0000000 --- a/resources/views/errors/500.blade.php +++ /dev/null @@ -1,4 +0,0 @@ - - 500 - Server Error - diff --git a/resources/views/errors/503.blade.php b/resources/views/errors/503.blade.php deleted file mode 100644 index 61587ac..0000000 --- a/resources/views/errors/503.blade.php +++ /dev/null @@ -1,4 +0,0 @@ - - 503 - Service Unavailable - diff --git a/resources/views/errors/generic-error.blade.php b/resources/views/errors/generic-error.blade.php index cbdca62..6f08ea5 100644 --- a/resources/views/errors/generic-error.blade.php +++ b/resources/views/errors/generic-error.blade.php @@ -1,8 +1,9 @@ - - Error 401: Unauthorized User! +@extends('layouts.minimal') +@section('title', 'Error 401: Unauthorized User!') +@section('content')

{{ $error }}


@if(isset($description))

{{ $description }}

@endif -
+@stop diff --git a/resources/views/errors/guestbook-invalid.blade.php b/resources/views/errors/guestbook-invalid.blade.php deleted file mode 100644 index 6c72bcf..0000000 --- a/resources/views/errors/guestbook-invalid.blade.php +++ /dev/null @@ -1,12 +0,0 @@ - - Error dsdf! -
-
-

Error 400: Invalid message!

-
-

Whoa there! Your form submission seems to contain a URL (or one of the fields was left blank)!

-
- Click here to go back to the guestbook. -
-
-
diff --git a/resources/views/errors/guestbook-ipban.blade.php b/resources/views/errors/guestbook-ipban.blade.php index 319aff0..386d22a 100644 --- a/resources/views/errors/guestbook-ipban.blade.php +++ b/resources/views/errors/guestbook-ipban.blade.php @@ -1,5 +1,6 @@ - - Error 403: IP Blocked! +@extends('layouts.minimal') +@section('title', 'Error 403: IP Blocked!') +@section('content')

Error 403: IP Blocked!


Your IP has been banned from submitting to the guestbook.

@@ -8,4 +9,4 @@ @endif
Click here to go back to the guestbook. -
+@stop diff --git a/resources/views/errors/guestbook-ratelimit.blade.php b/resources/views/errors/guestbook-ratelimit.blade.php index adfa5a9..7fecd97 100644 --- a/resources/views/errors/guestbook-ratelimit.blade.php +++ b/resources/views/errors/guestbook-ratelimit.blade.php @@ -1,13 +1,10 @@ - - Error 429: Overclocking Detected! -
-
-

Error 429: Overclocking Detected!

-
-

Whoa there! Your submissions are going at warp speed.

-

Remember you can only submit an entry once every hour!

-
- Click here to go back to the guestbook. -
-
-
+@extends('layouts.minimal') +@section('title', 'Error 429: Overclocking Detected!') +@section('content') +

Error 429: Overclocking Detected!

+
+

Whoa there! Your submissions are going at warp speed.

+

Remember you can only submit an entry once every hour!

+
+ Click here to go back to the guestbook. +@stop diff --git a/resources/views/errors/no-auth.blade.php b/resources/views/errors/no-auth.blade.php new file mode 100644 index 0000000..1d99498 --- /dev/null +++ b/resources/views/errors/no-auth.blade.php @@ -0,0 +1,8 @@ +@extends('layouts.minimal') +@section('title', 'Error 401: Unauthorized User!') +@section('content') +

Error 401: Unauthorized User!

+
+

Woah there! Only authorized users can access this page. Please log in to proceed.

+

Ended up here on accident? Click here to return to the homepage!

+@stop diff --git a/resources/views/guestbook.blade.php b/resources/views/guestbook.blade.php deleted file mode 100644 index fb73da2..0000000 --- a/resources/views/guestbook.blade.php +++ /dev/null @@ -1,127 +0,0 @@ - - Guestbook - - - - - - - - @if (isLegacy()) - Entries ({{ count($entries) }} total) - - @foreach ($entries as $entry) - @php - $user_agent = $parser->parse($entry->agent); - @endphp - - - - @endforeach - -
- - - - -
- Submitted by {{ $entry->name }} - on {{ $entry->created_at->format('Y-m-d') }} - at {{ $entry->created_at->format('h:i:s A (e)') }} -
{{ $entry->message }}
- @if($entry->agent === "Agent Unavailable") - Agent unavailable - @else - @if ($user_agent->ua->toString() == "Other" || $user_agent->os->toString() == "Other") - Posted using {{ $entry->agent }} - @else - Posted using {{ $user_agent->ua->toString() }} - on {{ $user_agent->os->toString() }} - @endif - @endif -
-
- @else -
-

Entries ({{ count($entries) }} total)

- @foreach ($entries as $entry) - @php - $user_agent = $parser->parse($entry->agent); - @endphp -
- Submitted by {{ $entry->name }} - on {{ $entry->created_at->format('Y-m-d') }} - at {{ $entry->created_at->format('h:i:s A (e)') }} -
- {{ $entry->message }} -
- @if($entry->agent === "Agent Unavailable") -
Agent unavailable
- @else - @if ($user_agent->ua->toString() == "Other" || $user_agent->os->toString() == "Other") -
Posted using {{ $entry->agent }}
- @else -
Posted using {{ $user_agent->ua->toString() }} - on {{ $user_agent->os->toString() }}
- @endif - @endif -
-
- @endforeach - @endif -
diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php deleted file mode 100644 index 91184e5..0000000 --- a/resources/views/home.blade.php +++ /dev/null @@ -1,33 +0,0 @@ - - Home - - -

Hi! This is my personal homepage on the World Wide - Web. -

- @if(!isLegacy()) -
- @endif -

Some quick facts about me:

-
    -
  • {{ $age }} y/o, he/him, British
  • -
  • Theatre Technician and "Web Developer"
  • -
  • Loves ETC desks, prefers Generics to LEDs for some reason
  • -
  • Spends way too much time on his computer
  • -
  • Favorite games: OneShot, - Minecraft, Stardew Valley, N++ and Starbound
  • -
  • CWOP member
  • -
- @if(!isLegacy()) -
- @endif -

Interests:

-
    -
  • Tech Theatre - Lighting, Stage Management, etc.
  • -
  • Programming - HTML, CSS, JavaScript, C#, Java, PHP, Ruby, Python (GitHub)
  • -
  • Photography - Flickr
  • -
  • Gaming - Steam Profile -
  • -
-
diff --git a/resources/views/includes/admin/header.blade.php b/resources/views/includes/admin/header.blade.php new file mode 100644 index 0000000..edb2fd7 --- /dev/null +++ b/resources/views/includes/admin/header.blade.php @@ -0,0 +1,12 @@ + diff --git a/resources/views/includes/footer.blade.php b/resources/views/includes/footer.blade.php new file mode 100644 index 0000000..3f53e18 --- /dev/null +++ b/resources/views/includes/footer.blade.php @@ -0,0 +1,30 @@ +
+ diff --git a/resources/views/includes/head-hljs.blade.php b/resources/views/includes/head-hljs.blade.php new file mode 100644 index 0000000..dec0126 --- /dev/null +++ b/resources/views/includes/head-hljs.blade.php @@ -0,0 +1,15 @@ + + + + + + + + + + + + @yield('title') - diskfloppy.me + + + diff --git a/resources/views/includes/head.blade.php b/resources/views/includes/head.blade.php new file mode 100644 index 0000000..1204063 --- /dev/null +++ b/resources/views/includes/head.blade.php @@ -0,0 +1,17 @@ + + + + + + + + + + + + + @yield('title') - diskfloppy.me + + + + diff --git a/resources/views/includes/header.blade.php b/resources/views/includes/header.blade.php new file mode 100644 index 0000000..1c028b7 --- /dev/null +++ b/resources/views/includes/header.blade.php @@ -0,0 +1,16 @@ + diff --git a/resources/views/layouts/default-admin.blade.php b/resources/views/layouts/default-admin.blade.php new file mode 100644 index 0000000..5a16524 --- /dev/null +++ b/resources/views/layouts/default-admin.blade.php @@ -0,0 +1,23 @@ + + + + @include('includes.head') + + + +
+
+ @include('includes.admin.header') +
+ +
+
+@yield('content') +
+ +
+
+ + diff --git a/resources/views/layouts/default-hljs.blade.php b/resources/views/layouts/default-hljs.blade.php new file mode 100644 index 0000000..d3199b3 --- /dev/null +++ b/resources/views/layouts/default-hljs.blade.php @@ -0,0 +1,23 @@ + + + + @include('includes.head-hljs') + + + +
+
+ @include('includes.header') +
+ +
+
+@yield('content') +
+ +
+
+ + diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php new file mode 100644 index 0000000..715481e --- /dev/null +++ b/resources/views/layouts/default.blade.php @@ -0,0 +1,23 @@ + + + + @include('includes.head') + + + +
+
+ @include('includes.header') +
+ +
+
+@yield('content') +
+ +
+
+ + diff --git a/resources/views/layouts/minimal.blade.php b/resources/views/layouts/minimal.blade.php new file mode 100644 index 0000000..5cef094 --- /dev/null +++ b/resources/views/layouts/minimal.blade.php @@ -0,0 +1,11 @@ + + + + @yield('title') + + + + +@yield('content') + + diff --git a/resources/views/music.blade.php b/resources/views/music.blade.php deleted file mode 100644 index d0793cd..0000000 --- a/resources/views/music.blade.php +++ /dev/null @@ -1,5 +0,0 @@ - - Music - - - diff --git a/resources/views/pages/admin/guestbook-del-confirm.blade.php b/resources/views/pages/admin/guestbook-del-confirm.blade.php new file mode 100644 index 0000000..de920e0 --- /dev/null +++ b/resources/views/pages/admin/guestbook-del-confirm.blade.php @@ -0,0 +1,33 @@ +@extends('layouts.minimal') +@section('title', 'Delete confirm') +@section('content') +

Delete Confirmation

+
+

Are you sure you want to delete this entry?

+ +

Entry Details:

+ + + + + + + + + + + + + + + + + +
ID:{{ $entry->id }}
Name:{{ $entry->name }}
Date:{{ gmdate("H:i:s - Y-m-d", $entry->timestamp) }}
Message:{{ $entry->message }}
+ +
+ @csrf + + +
+@stop diff --git a/resources/views/pages/admin/guestbook.blade.php b/resources/views/pages/admin/guestbook.blade.php new file mode 100644 index 0000000..85460cc --- /dev/null +++ b/resources/views/pages/admin/guestbook.blade.php @@ -0,0 +1,32 @@ +@extends('layouts.default-admin') +@section('title', 'Guestbook') +@section('content') + @php + $entries = DB::select(' + SELECT id, name, timestamp, message, ip_address + FROM guestbook__entries + ORDER BY id DESC + '); + @endphp +

Entries ({{ count($entries) }} total)

+ @foreach ($entries as $entry) + + + + + + + +
+ Name: {{ $entry->name }}
+ IP:   {{ $entry->ip_address }}
+ Date: {{ gmdate("H:i:s - Y-m-d", $entry->timestamp) }} +
+ del +
+
+ {{ htmlspecialchars($entry->message) }} +
+ @endforeach +@stop + diff --git a/resources/views/pages/admin/index.blade.php b/resources/views/pages/admin/index.blade.php new file mode 100644 index 0000000..fd34313 --- /dev/null +++ b/resources/views/pages/admin/index.blade.php @@ -0,0 +1,9 @@ +@extends('layouts.default-admin') +@section('title', 'Page Title') +@section('description', 'Page description goes here') +@php + $user = auth()->user(); +@endphp +@section('content') +

You are logged in as {{ $user->name }} ({{ $user->email }})

+@stop diff --git a/resources/views/pages/bookmarks.blade.php b/resources/views/pages/bookmarks.blade.php new file mode 100644 index 0000000..55cc801 --- /dev/null +++ b/resources/views/pages/bookmarks.blade.php @@ -0,0 +1,52 @@ +@extends('layouts.default') +@section('title', 'Bookmarks') +@section('description', 'This is the personal homepage of floppydisk.') +@section('content') + @php + $db_alive = true; + try { + DB::connection()->getPdo(); + } catch (Exception $e) { + $db_alive = false; + } + @endphp + @if (!$db_alive) + @include('components.errors.db-error') + @else + @php + $categories = DB::select(' + SELECT id, name + FROM bookmark__categories + ORDER BY priority ASC + '); + @endphp + + @foreach ($categories as $category) + + + + + @php + $sites = DB::select( + ' + SELECT name, url, description + FROM bookmark__sites + WHERE category_id = ? ORDER BY priority ASC + ', + [$category->id], + ); + @endphp + @foreach ($sites as $site) + + + + @endforeach + +
+ @endforeach + @endif +@stop diff --git a/resources/views/pages/bot.blade.php b/resources/views/pages/bot.blade.php new file mode 100644 index 0000000..b9475fc --- /dev/null +++ b/resources/views/pages/bot.blade.php @@ -0,0 +1,7 @@ +@extends('layouts.default') +@section('title', 'Discord Bot') +@section('description', '') +@section('content') +

The diskfloppy.me Discord bot blah blah blah blah blah

+

Maybe I'll finish this page later idk

+@stop diff --git a/resources/views/pages/calculators.blade.php b/resources/views/pages/calculators.blade.php new file mode 100644 index 0000000..5d629ed --- /dev/null +++ b/resources/views/pages/calculators.blade.php @@ -0,0 +1,110 @@ +@extends('layouts.default') +@section('title', 'Calculators') +@section('description', 'C a l c u l a t o r s.') +@section('content') +

CASIO fx-CG50

+

TBD

+

Pictures

+

Click images to view full size

+ + + + + +

CASIO fx-120 (1977-78)

+

TBD

+

Specifications

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Size8.4cm x 16.2cm x 2.4cm
Weight (w/ battery)209g
TypeScientific
CPUHitachi HD38111A
Registers2 standard
1 constant
4 bracket
1 memory
Features%, +/-, RV, F, Sci, abc, Sqr, x2, pi, 1x, trig,
hyp, DMS-DD, log, yx, SD, nCr, P-R, n!
Display12-digit VFD (NEC LD8197A)
+

Pictures

+

Click images to view full size

+ + + + + +

CASIO fx-82 (1982-85)

+

TBD

+

Pictures

+

Click images to view full size

+ + + + + +

Texas Instruments TI-30 (1976-90)

+

TBD

+

Pictures

+

Click images to view full size

+ + + + + +

Texet 880 Executive (1977-78)

+ +

The calculator measures 74.2mm x 135mm x 22.2mm. It weighs 86g without the battery installed, which is a 9v PP3-type battery. Rather than the usual press-stud type holder, the housing has two metal slide clips. There is also what I assume to be a sponge at one end which is supposed to aid in holding the battery in, however it appears to have gone completely hard and I will most likely replace it in the future. There's small adaptor hole at the top, of which the input isn't specified (though it's generally agreed that it's 4.5v centre-positive).

+

The case is black & silvery colored with a thin brushed metallic front panel. The eight-digit bubble display has an absolutely terrible viewing angle, which means you either have to be holding it under your coat or against your face to read it!

+ The keypad is particularly strange in the way that it has 3 cancel buttons,
[CE]
,
[C]
and
[CA]
, while the
[CS]
button is a Clear Sign button, not another cancel! The keys themselves are particularly stiff and you really have to push them to get them to register. Many 880s suffered something referred to as the "pseudo fixed decimal bug" where, if you typed in
1 + 1.00 = 
, it would display
2.00
instead of the expected
2
+

Specifications

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Size7.4cm x 13.5cm x 2.2cm
Weight (w/o battery)86
TypeArithmetic
LogicAlgebraic
Power SourcePP3 9v
Display8-digit LED
+

Pictures

+

Click images to view full size

+ + + + +@stop diff --git a/resources/views/pages/computers.blade.php b/resources/views/pages/computers.blade.php new file mode 100644 index 0000000..99a8012 --- /dev/null +++ b/resources/views/pages/computers.blade.php @@ -0,0 +1,314 @@ +@extends('layouts.default') +@section('title', 'Computers') +@section('description', 'Computers I own or have owned.') +@section('content') + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@stop diff --git a/resources/views/pages/guestbook.blade.php b/resources/views/pages/guestbook.blade.php new file mode 100644 index 0000000..ac4c80e --- /dev/null +++ b/resources/views/pages/guestbook.blade.php @@ -0,0 +1,89 @@ +@extends('layouts.default') +@section('title', 'Guestbook') +@section('content') + @php + $db_alive = true; + try { + DB::connection()->getPdo(); + } catch (Exception $e) { + $db_alive = false; + } + @endphp + @if (!$db_alive) + @include('components.errors.db-error') + @else +
+ + + + + + + + +
+ @php + $entries = DB::select(' + SELECT name, timestamp, message + FROM guestbook__entries + ORDER BY id DESC + '); + @endphp +

Entries ({{ count($entries) }} total)

+ @foreach ($entries as $entry) + + + + + +
+ @endforeach + @endif +@stop diff --git a/resources/views/pages/home.blade.php b/resources/views/pages/home.blade.php new file mode 100644 index 0000000..e5dd9fa --- /dev/null +++ b/resources/views/pages/home.blade.php @@ -0,0 +1,84 @@ +@extends('layouts.default') +@section('title', 'Home') +@section('description', 'This is the personal homepage of floppydisk.') +@section('content') +

Hi! This my personal homepage on the World Wide Web.

+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + +@stop diff --git a/resources/views/pages/music.blade.php b/resources/views/pages/music.blade.php new file mode 100644 index 0000000..8d2bd3b --- /dev/null +++ b/resources/views/pages/music.blade.php @@ -0,0 +1,68 @@ +@extends('layouts.default') +@section('title', 'Music') +@section('description', '') +@section('content') + @php + + $cfg = app('config')->get('services')['lastfm']; + $api_root = app('config')->get('app')['api_root']; + + $api_alive = true; + + try { + $data = file_get_contents($api_root.'/lastfm/current'); + } catch (Exception $e) { + $api_alive = false; + } + @endphp + @if (!$api_alive) + @include('components.errors.api-error') + @else + + @php + $current_track = json_decode(file_get_contents($api_root . '/lastfm/current')); + $top_tracks = json_decode(file_get_contents($api_root . '/lastfm/top')); + $count = 0; + @endphp + + + + + + + + + + + + + + + + + + + + @foreach ($top_tracks as $track) + @php $count++ @endphp + @if ($count >= $cfg['toptracks']+1) + @break + @endif + + + + + + + @endforeach + + @endif +@stop diff --git a/resources/views/pages/projects.blade.php b/resources/views/pages/projects.blade.php new file mode 100644 index 0000000..aad454b --- /dev/null +++ b/resources/views/pages/projects.blade.php @@ -0,0 +1,16 @@ +get('projects'); ?> +@extends('layouts.default') +@section('title', 'Projects') +@section('description', 'My projects') +@section('content') + @foreach ($categories as $category) +

{{ $category['name']}}

+ @foreach ($category['projects'] as $project) +
+ {{ $project['name'] }} - {{ $project['description'] }}
+ Languages: {{ implode(", ", $project['languages']) }} +
+
+ @endforeach +@endforeach +@stop diff --git a/resources/views/pages/template.blade.php b/resources/views/pages/template.blade.php new file mode 100644 index 0000000..18fe585 --- /dev/null +++ b/resources/views/pages/template.blade.php @@ -0,0 +1,6 @@ +@extends('layouts.default') +@section('title', 'Page Title') +@section('description', 'Page description goes here') +@section('content') +

page content

+@stop diff --git a/resources/views/pages/weather.blade.php b/resources/views/pages/weather.blade.php new file mode 100644 index 0000000..a759534 --- /dev/null +++ b/resources/views/pages/weather.blade.php @@ -0,0 +1,61 @@ +@extends('layouts.default') +@section('title', 'Weather') +@section('description', 'Data from my weather station') +@section('content') +@php +$api_root = app('config')->get('app')['api_root']; + +function degreesToCompassDirection($degrees) { + $cardinalDirections = [ + 'N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', + 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N' + ]; + return $cardinalDirections[round($degrees*16/360)]; +} + +$api_alive = true; + +try { + $data = file_get_contents($api_root.'/weather'); +} catch (Exception $e) { + $api_alive = false; +} +@endphp +@if (!$api_alive) + @include('components.errors.api-error') +@else + @php + $data = json_decode(file_get_contents($api_root.'/weather')); + $updated = gmdate('H:i Y-m-d', $data->updated); + $data = $data->current; + @endphp + + + + + + + + + + + + + + + + + + + + + + + +
+(Last Update: {{ $updated }}) +@endif +@stop diff --git a/resources/views/pandamonium.blade.php b/resources/views/pandamonium.blade.php deleted file mode 100644 index 0e90c46..0000000 --- a/resources/views/pandamonium.blade.php +++ /dev/null @@ -1,25 +0,0 @@ - - Absolute Pandamonium! - {{ asset('/images/embeds/pandamonium.png') }} - Follow the adventures of Rosco, Leko, Viz and AJ! - @if (isLegacy()) -

Click images for full-size version (56k no!)

- @foreach($images as $image) - {{ $image[ - @if(isset($image["description"])) -

{{$image["description"]}}

- @endif - @endforeach - @else - - @endif -
diff --git a/routes/web.php b/routes/web.php index 28bb7d0..448000f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,10 +1,5 @@ middleware('validator') +Route::get('/', function () { + return view('pages.home'); +}); + +Route::get('/bookmarks', function () { + return view('pages.bookmarks'); +}); + +Route::get('/projects', function () { + return view('pages.projects'); +}); + +Route::get('/calculators', function () { + return view('pages.calculators'); +}); + +Route::get('/computers', function () { + return view('pages.computers'); +}); + +Route::get('/guestbook', 'App\Http\Controllers\GuestbookController@guestbook') + ->name('guestbook'); + +Route::post('/guestbook', 'App\Http\Controllers\GuestbookController@guestbookpost') + ->name('guestbookPost') ->middleware('rate_limit'); -Route::get('/proxy/wah/{image}', function (string $image) { - $client = new \GuzzleHttp\Client(); - $response = $client->request('GET', 'https://api.tinyfox.dev/hourly/wahs/'.$image); - - return response($response->getBody()) - ->header('Content-Type', $response->getHeader('Content-Type')); +Route::get('/weather', function () { + return view('pages.weather'); }); -Route::get('/proxy/lastfm/{image}', function (string $image) { - $client = new \GuzzleHttp\Client(); - $response = $client->request('GET', 'https://lastfm.freetls.fastly.net/i/u/174s/'.$image); - - return response($response->getBody()) - ->header('Content-Type', $response->getHeader('Content-Type')); +Route::get('/music', function () { + return view('pages.music'); }); + +Route::get('/bot', function () { + return view('pages.bot'); +}); + +/* ------------------------------ Admin Routes ------------------------------ */ + +Route::get('/admin', function () { + if (!auth()->check()) { + return view('errors.no-auth'); + } + return view('pages.admin.index'); +}); + +Route::get('/admin/guestbook', function () { + if (!auth()->check()) { + return view('errors.no-auth'); + } + return view('pages.admin.guestbook'); +}); + +Route::get('/admin/guestbook/delete', function () { + if (!auth()->check()) { + return view('errors.no-auth'); + } + + $id = request()->input('id'); + $entry = DB::table('guestbook__entries')->find($id); + + if ($entry) { + // Render a confirmation view + return view('pages.admin.guestbook-del-confirm', compact('entry')); + } else { + return view('errors.generic-error') + ->with('error', "Entry not found") + ->with('description', "The specified entry does not exist!"); + } +}); + +Route::post('/admin/guestbook/delete', function () { + if (!auth()->check()) { + return view('errors.no-auth'); + } + + $id = request()->input('id'); + DB::table('guestbook__entries')->where('id', $id)->delete(); + + return back()->with('success', 'Entry deleted successfully!'); +}); + diff --git a/scripts/updatecache.bat b/scripts/updatecache.bat deleted file mode 100644 index 0245663..0000000 --- a/scripts/updatecache.bat +++ /dev/null @@ -1,6 +0,0 @@ -@echo off -php artisan config:cache -php artisan route:cache -php artisan view:cache -php artisan event:cache -php artisan cache:clear diff --git a/scripts/updatecache.sh b/scripts/updatecache.sh index b4acd8c..53dad65 100755 --- a/scripts/updatecache.sh +++ b/scripts/updatecache.sh @@ -2,4 +2,3 @@ php artisan config:cache php artisan route:cache php artisan view:cache php artisan event:cache -php artisan cache:clear diff --git a/storage/app/.gitignore b/storage/app/.gitignore old mode 100755 new mode 100644 diff --git a/storage/app/public/.gitignore b/storage/app/public/.gitignore old mode 100755 new mode 100644 diff --git a/storage/framework/.gitignore b/storage/framework/.gitignore old mode 100755 new mode 100644 diff --git a/storage/framework/cache/.gitignore b/storage/framework/cache/.gitignore old mode 100755 new mode 100644 diff --git a/storage/framework/cache/data/.gitignore b/storage/framework/cache/data/.gitignore old mode 100755 new mode 100644 diff --git a/storage/framework/sessions/.gitignore b/storage/framework/sessions/.gitignore old mode 100755 new mode 100644 diff --git a/storage/framework/testing/.gitignore b/storage/framework/testing/.gitignore old mode 100755 new mode 100644 diff --git a/storage/framework/views/.gitignore b/storage/framework/views/.gitignore old mode 100755 new mode 100644 diff --git a/storage/logs/.gitignore b/storage/logs/.gitignore old mode 100755 new mode 100644