diff --git a/app/Filament/Clusters/StaticData/Resources/Bettypes/BettypeResource.php b/app/Filament/Clusters/StaticData/Resources/Bettypes/BettypeResource.php index cb8f0834..61ec8f88 100644 --- a/app/Filament/Clusters/StaticData/Resources/Bettypes/BettypeResource.php +++ b/app/Filament/Clusters/StaticData/Resources/Bettypes/BettypeResource.php @@ -15,8 +15,6 @@ class BettypeResource extends Resource { protected static ?string $model = Bettype::class; - protected static string|\BackedEnum|null $navigationIcon = 'phosphor-storefront'; - protected static ?string $cluster = StaticDataCluster::class; protected static ?string $navigationLabel = 'NuhOdds Markets'; diff --git a/app/Filament/Clusters/StaticData/Resources/CompetitionGroups/CompetitionGroupResource.php b/app/Filament/Clusters/StaticData/Resources/CompetitionGroups/CompetitionGroupResource.php index 99103c9f..5b88c7e6 100644 --- a/app/Filament/Clusters/StaticData/Resources/CompetitionGroups/CompetitionGroupResource.php +++ b/app/Filament/Clusters/StaticData/Resources/CompetitionGroups/CompetitionGroupResource.php @@ -16,8 +16,6 @@ class CompetitionGroupResource extends Resource { protected static ?string $model = CompetitionGroup::class; - protected static string|\BackedEnum|null $navigationIcon = 'phosphor-folder'; - protected static ?string $recordTitleAttribute = 'name'; protected static ?string $cluster = StaticDataCluster::class; diff --git a/app/Filament/Clusters/StaticData/Resources/CompetitonGroupProviders/CompetitonGroupProviderResource.php b/app/Filament/Clusters/StaticData/Resources/CompetitonGroupProviders/CompetitonGroupProviderResource.php index 65bb8e41..129619f6 100644 --- a/app/Filament/Clusters/StaticData/Resources/CompetitonGroupProviders/CompetitonGroupProviderResource.php +++ b/app/Filament/Clusters/StaticData/Resources/CompetitonGroupProviders/CompetitonGroupProviderResource.php @@ -16,8 +16,6 @@ class CompetitonGroupProviderResource extends Resource { protected static ?string $model = CompetitionGroupProvider::class; - protected static string|\BackedEnum|null $navigationIcon = 'phosphor-folder'; - protected static ?string $recordTitleAttribute = 'name'; protected static ?string $modelLabel = 'Provider Groups'; diff --git a/app/Filament/Clusters/StaticData/Resources/Countries/CountryResource.php b/app/Filament/Clusters/StaticData/Resources/Countries/CountryResource.php index 27555271..178fd6b3 100644 --- a/app/Filament/Clusters/StaticData/Resources/Countries/CountryResource.php +++ b/app/Filament/Clusters/StaticData/Resources/Countries/CountryResource.php @@ -28,8 +28,6 @@ class CountryResource extends Resource protected static ?int $navigationSort = 13; - protected static string|\BackedEnum|null $navigationIcon = 'phosphor-folder'; - protected static ?string $cluster = StaticDataCluster::class; protected static string|\UnitEnum|null $navigationGroup = 'TxOdds'; diff --git a/app/Filament/Clusters/StaticData/Resources/ElementProviders/ElementProviderResource.php b/app/Filament/Clusters/StaticData/Resources/ElementProviders/ElementProviderResource.php index c925e155..361bdc7b 100644 --- a/app/Filament/Clusters/StaticData/Resources/ElementProviders/ElementProviderResource.php +++ b/app/Filament/Clusters/StaticData/Resources/ElementProviders/ElementProviderResource.php @@ -16,8 +16,6 @@ class ElementProviderResource extends Resource { protected static ?string $model = ElementProvider::class; - protected static string|\BackedEnum|null $navigationIcon = 'phosphor-folder'; - protected static ?string $recordTitleAttribute = 'name'; protected static ?int $navigationSort = 21; diff --git a/app/Filament/Clusters/StaticData/Resources/Elements/ElementResource.php b/app/Filament/Clusters/StaticData/Resources/Elements/ElementResource.php index 68a45f23..8f35d27f 100644 --- a/app/Filament/Clusters/StaticData/Resources/Elements/ElementResource.php +++ b/app/Filament/Clusters/StaticData/Resources/Elements/ElementResource.php @@ -16,8 +16,6 @@ class ElementResource extends Resource { protected static ?string $model = Element::class; - protected static string|\BackedEnum|null $navigationIcon = 'phosphor-folder'; - protected static ?string $recordTitleAttribute = 'name'; protected static ?string $cluster = StaticDataCluster::class; diff --git a/app/Filament/Clusters/StaticData/Resources/Players/PlayerResource.php b/app/Filament/Clusters/StaticData/Resources/Players/PlayerResource.php index 0dec234c..f69cf98c 100644 --- a/app/Filament/Clusters/StaticData/Resources/Players/PlayerResource.php +++ b/app/Filament/Clusters/StaticData/Resources/Players/PlayerResource.php @@ -7,7 +7,7 @@ use App\Filament\Clusters\StaticData\Resources\Players\Schemas\PlayerForm; use App\Filament\Clusters\StaticData\Resources\Players\Tables\PlayersTable; use App\Filament\Clusters\StaticData\StaticDataCluster; use App\Models\Player; -use BackedEnum; +// use BackedEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Tables\Table; @@ -18,8 +18,6 @@ class PlayerResource extends Resource protected static bool $shouldRegisterNavigation = false; - protected static string|BackedEnum|null $navigationIcon = 'icon-soccerplayer'; - protected static ?string $cluster = StaticDataCluster::class; protected static ?string $recordTitleAttribute = 'name'; diff --git a/app/Filament/Clusters/StaticData/Resources/Sports/SportResource.php b/app/Filament/Clusters/StaticData/Resources/Sports/SportResource.php index 62676375..549b0aa7 100644 --- a/app/Filament/Clusters/StaticData/Resources/Sports/SportResource.php +++ b/app/Filament/Clusters/StaticData/Resources/Sports/SportResource.php @@ -19,8 +19,6 @@ class SportResource extends Resource protected static ?int $navigationSort = 13; - protected static string|\BackedEnum|null $navigationIcon = 'phosphor-folder'; - protected static ?string $recordTitleAttribute = 'name'; protected static ?string $cluster = StaticDataCluster::class; diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/Pages/ListStatistikoEvents.php b/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/Pages/ListStatistikoEvents.php index e5746559..2712db2a 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/Pages/ListStatistikoEvents.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/Pages/ListStatistikoEvents.php @@ -3,11 +3,11 @@ namespace App\Filament\Clusters\StaticData\Resources\StatistikoEvents\Pages; use App\Filament\Clusters\StaticData\Resources\StatistikoEvents\StatistikoEventsResource; -use App\Filament\Imports\StatistikoEventImporter; +// use App\Filament\Imports\StatistikoEventImporter; use App\Models\StatistikoEvent; use Filament\Actions\Action; use Filament\Actions\CreateAction; -use Filament\Actions\ImportAction; +// use Filament\Actions\ImportAction; use Filament\Resources\Pages\ListRecords; class ListStatistikoEvents extends ListRecords @@ -27,14 +27,14 @@ class ListStatistikoEvents extends ListRecords CreateAction::make() ->label('New') ->icon('phosphor-plus'), - ImportAction::make('importEvents') - ->maxRows(200000) - ->color('success') - ->chunkSize(250) - ->icon('phosphor-upload') - ->label('Import') - ->modalDescription('Max 20k rows per import, column separator: ";"') - ->importer(StatistikoEventImporter::class), + // ImportAction::make('importEvents') + // ->maxRows(200000) + // ->color('success') + // ->chunkSize(250) + // ->icon('phosphor-upload') + // ->label('Import') + // ->modalDescription('Max 20k rows per import, column separator: ";"') + // ->importer(StatistikoEventImporter::class), ]; } } diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/StatistikoEventsResource.php b/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/StatistikoEventsResource.php index ef21da76..d8a5c354 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/StatistikoEventsResource.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoEvents/StatistikoEventsResource.php @@ -7,7 +7,6 @@ use App\Filament\Clusters\StaticData\Resources\StatistikoEvents\Schemas\Statisti use App\Filament\Clusters\StaticData\Resources\StatistikoEvents\Tables\StatistikoEventsTable; use App\Filament\Clusters\StaticData\StaticDataCluster; use App\Models\StatistikoEvent; -use BackedEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Tables\Table; @@ -17,9 +16,7 @@ class StatistikoEventsResource extends Resource { protected static ?string $model = StatistikoEvent::class; - protected static string|BackedEnum|null $navigationIcon = 'icon-soccerball'; - - protected static ?string $navigationLabel = 'Event'; + protected static ?string $navigationLabel = 'Events'; protected static ?string $modelLabel = 'Events'; diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoImports/Pages/ListStatistikoImports.php b/app/Filament/Clusters/StaticData/Resources/StatistikoImports/Pages/ListStatistikoImports.php index b6852efe..e96ee78d 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoImports/Pages/ListStatistikoImports.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoImports/Pages/ListStatistikoImports.php @@ -14,7 +14,10 @@ class ListStatistikoImports extends ListRecords { return [ CreateAction::make('upload_file') + ->modalIcon('phosphor-upload') + ->modalHeading('Upload Statistiko Files') ->label('Upload file') + ->createAnother(false) ->icon('phosphor-upload'), ]; } diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoImports/Schemas/StatistikoImportForm.php b/app/Filament/Clusters/StaticData/Resources/StatistikoImports/Schemas/StatistikoImportForm.php index 27f92f01..d99c12bf 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoImports/Schemas/StatistikoImportForm.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoImports/Schemas/StatistikoImportForm.php @@ -5,6 +5,7 @@ namespace App\Filament\Clusters\StaticData\Resources\StatistikoImports\Schemas; use App\Models\Sport; use Filament\Forms\Components\FileUpload; use Filament\Forms\Components\Select; +use Filament\Schemas\Components\Icon; use Filament\Schemas\Schema; class StatistikoImportForm @@ -26,10 +27,21 @@ class StatistikoImportForm ]), FileUpload::make('file_name') - ->directory('statistika') + ->label('Select File') + ->directory('statistiko') ->visibility('public') ->required() - ->storeFileNamesIn('file_name_original'), + ->storeFileNamesIn('file_name_original') + ->beforeContent(Icon::make('phosphor-microsoft-excel-logo')) + ->belowContent(Schema::end([ + 'Only excel files accepted.', + 'First row contains column titles.', + ])) + ->acceptedFileTypes([ + 'application/vnd.ms-excel', + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'text/csv', // Optional: include if you accept CSV too + ]), ])->columns(1); } } diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoImports/StatistikaImportResource.php b/app/Filament/Clusters/StaticData/Resources/StatistikoImports/StatistikaImportResource.php index 7aa9f2cb..15fda088 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoImports/StatistikaImportResource.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoImports/StatistikaImportResource.php @@ -7,7 +7,6 @@ use App\Filament\Clusters\StaticData\Resources\StatistikoImports\Schemas\Statist use App\Filament\Clusters\StaticData\Resources\StatistikoImports\Tables\StatistikoImportsTable; use App\Filament\Clusters\StaticData\StaticDataCluster; use App\Models\StatistikoImport; -use BackedEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Tables\Table; @@ -17,8 +16,6 @@ class StatistikaImportResource extends Resource { protected static ?string $model = StatistikoImport::class; - protected static string|BackedEnum|null $navigationIcon = 'phosphor-upload'; - protected static ?string $navigationLabel = 'File Uploads'; protected static ?string $modelLabel = 'File Uploads'; diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoImports/Tables/StatistikoImportsTable.php b/app/Filament/Clusters/StaticData/Resources/StatistikoImports/Tables/StatistikoImportsTable.php index 817827df..5b89df16 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoImports/Tables/StatistikoImportsTable.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoImports/Tables/StatistikoImportsTable.php @@ -2,13 +2,15 @@ namespace App\Filament\Clusters\StaticData\Resources\StatistikoImports\Tables; +use Filament\Actions\Action; +use Filament\Actions\ActionGroup; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteAction; use Filament\Actions\DeleteBulkAction; use Filament\Tables\Columns\IconColumn; use Filament\Tables\Columns\SelectColumn; use Filament\Tables\Columns\TextColumn; -use Filament\Tables\Columns\ToggleColumn; +use Filament\Tables\Filters\SelectFilter; use Filament\Tables\Table; class StatistikoImportsTable @@ -31,23 +33,38 @@ class StatistikoImportsTable 'events' => 'Events', 'events_player' => 'Events & Player', ]), - // TextColumn::make('data_type'), - TextColumn::make('file_name_original')->searchable()->color('primary')->label('Name'), - ToggleColumn::make('run_import') - ->tooltip('Import will run in the background, on compleation a message will be send.') - ->onColor(fn ($state) => $state ? 'success' : 'gray') - ->beforeStateUpdated(function ($record, $state) { - if ($state) { - $record->is_running = 1; - } - }), - IconColumn::make('is_running')->boolean()->falseColor('gray'), - IconColumn::make('has_run')->boolean()->falseColor('gray'), + TextColumn::make('file_name_original') + ->searchable() + ->color('primary') + ->label('Name'), + IconColumn::make('has_run') + ->label('Import') + ->alignCenter() + ->boolean() + ->falseColor('gray'), TextColumn::make('created_at')->dateTime(), ]) + ->filters([ + SelectFilter::make('data_type') + ->options([ + 'player' => 'Player', + 'events' => 'Events', + 'events_player' => 'Events & Player', + ]), + ]) + ->deferFilters(false) ->recordActions([ - DeleteAction::make()->iconButton(), + ActionGroup::make([ + Action::make('Import') + ->label('Just Import (very fast)') + ->icon('phosphor-database'), + Action::make('Update') + ->label('Import and Update (slow)') + ->icon('phosphor-database'), + DeleteAction::make() + ->label('Delete file'), + ]), ]) ->toolbarActions([ BulkActionGroup::make([ diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Pages/ListStatistikoPlayers.php b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Pages/ListStatistikoPlayers.php index 9facf46b..7d46fe60 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Pages/ListStatistikoPlayers.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/Pages/ListStatistikoPlayers.php @@ -3,11 +3,11 @@ namespace App\Filament\Clusters\StaticData\Resources\StatistikoPlayers\Pages; use App\Filament\Clusters\StaticData\Resources\StatistikoPlayers\StatistikoPlayerResource; -use App\Filament\Imports\StatistikoPlayerImporter; +// use App\Filament\Imports\StatistikoPlayerImporter; use App\Models\StatistikoPlayer; use Filament\Actions\Action; use Filament\Actions\CreateAction; -use Filament\Actions\ImportAction; +// use Filament\Actions\ImportAction; use Filament\Resources\Pages\ListRecords; class ListStatistikoPlayers extends ListRecords @@ -27,14 +27,14 @@ class ListStatistikoPlayers extends ListRecords CreateAction::make() ->label('New') ->icon('phosphor-plus'), - ImportAction::make('importPlayer') - ->maxRows(200000) - ->color('success') - ->chunkSize(250) - ->icon('phosphor-upload') - ->label('Import') - ->modalDescription('Max 20k rows per import, column separator ";"') - ->importer(StatistikoPlayerImporter::class), + // ImportAction::make('importPlayer') + // ->maxRows(200000) + // ->color('success') + // ->chunkSize(250) + // ->icon('phosphor-upload') + // ->label('Import') + // ->modalDescription('Max 20k rows per import, column separator ";"') + // ->importer(StatistikoPlayerImporter::class), ]; } } diff --git a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/StatistikoPlayerResource.php b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/StatistikoPlayerResource.php index 3bb326be..61148e29 100644 --- a/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/StatistikoPlayerResource.php +++ b/app/Filament/Clusters/StaticData/Resources/StatistikoPlayers/StatistikoPlayerResource.php @@ -7,7 +7,6 @@ use App\Filament\Clusters\StaticData\Resources\StatistikoPlayers\Schemas\Statist use App\Filament\Clusters\StaticData\Resources\StatistikoPlayers\Tables\StatistikoPlayersTable; use App\Filament\Clusters\StaticData\StaticDataCluster; use App\Models\StatistikoPlayer; -use BackedEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Tables\Table; @@ -17,8 +16,6 @@ class StatistikoPlayerResource extends Resource { protected static ?string $model = StatistikoPlayer::class; - protected static string|BackedEnum|null $navigationIcon = 'icon-soccerplayer'; - protected static ?string $navigationLabel = 'Player'; protected static ?string $modelLabel = 'Players'; diff --git a/app/Filament/Clusters/StaticData/Resources/TxoddsMarkets/TxoddsMarketResource.php b/app/Filament/Clusters/StaticData/Resources/TxoddsMarkets/TxoddsMarketResource.php index b8b011ba..d781d99a 100644 --- a/app/Filament/Clusters/StaticData/Resources/TxoddsMarkets/TxoddsMarketResource.php +++ b/app/Filament/Clusters/StaticData/Resources/TxoddsMarkets/TxoddsMarketResource.php @@ -15,8 +15,6 @@ class TxoddsMarketResource extends Resource { protected static ?string $model = TxoddsMarket::class; - protected static string|\BackedEnum|null $navigationIcon = 'phosphor-storefront'; - protected static ?string $cluster = StaticDataCluster::class; protected static ?int $navigationSort = 32; diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index 69e3dc1c..fdbc3e3a 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -94,6 +94,7 @@ class AdminPanelProvider extends PanelProvider ->maxContentWidth(Width::ScreenTwoExtraLarge) ->breadcrumbs(false) ->topNavigation() + ->sidebarCollapsibleOnDesktop(false) ->userMenuItems([ 'profile' => Action::make('profile') ->label(fn () => Auth::user()->name) diff --git a/composer.json b/composer.json index 0f63b4d3..36a1d508 100644 --- a/composer.json +++ b/composer.json @@ -23,6 +23,7 @@ "laravel/tinker": "*", "mongodb/laravel-mongodb": "^5.1", "outhebox/blade-flags": "*", + "spatie/simple-excel": "^3.9", "stevebauman/location": "*", "swisnl/filament-backgrounds": "^2.0" }, diff --git a/composer.lock b/composer.lock index 0efc31d7..1971595c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "576732046ac8e53ebb84eafe5574a829", + "content-hash": "d784dfb38ac60f6f4bc9b96c04fbddf2", "packages": [ { "name": "agencetwogether/hookshelper", @@ -2955,20 +2955,20 @@ }, { "name": "laravel/framework", - "version": "v12.56.0", + "version": "v11.51.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "dac16d424b59debb2273910dde88eb7050a2a709" + "reference": "c8f9a04594b7044a189a3194cfb3594251eb74e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/dac16d424b59debb2273910dde88eb7050a2a709", - "reference": "dac16d424b59debb2273910dde88eb7050a2a709", + "url": "https://api.github.com/repos/laravel/framework/zipball/c8f9a04594b7044a189a3194cfb3594251eb74e5", + "reference": "c8f9a04594b7044a189a3194cfb3594251eb74e5", "shasum": "" }, "require": { - "brick/math": "^0.11|^0.12|^0.13|^0.14", + "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12|^0.13|^0.14", "composer-runtime-api": "^2.2", "doctrine/inflector": "^2.0.5", "dragonmantank/cron-expression": "^3.4", @@ -2983,34 +2983,32 @@ "fruitcake/php-cors": "^1.3", "guzzlehttp/guzzle": "^7.8.2", "guzzlehttp/uri-template": "^1.0", - "laravel/prompts": "^0.3.0", + "laravel/prompts": "^0.1.18|^0.2.0|^0.3.0", "laravel/serializable-closure": "^1.3|^2.0", - "league/commonmark": "^2.8.1", + "league/commonmark": "^2.7", "league/flysystem": "^3.25.1", "league/flysystem-local": "^3.25.1", "league/uri": "^7.5.1", "monolog/monolog": "^3.0", - "nesbot/carbon": "^3.8.4", + "nesbot/carbon": "^2.72.6|^3.8.4", "nunomaduro/termwind": "^2.0", "php": "^8.2", "psr/container": "^1.1.1|^2.0.1", "psr/log": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.7", - "symfony/console": "^7.2.0", - "symfony/error-handler": "^7.2.0", - "symfony/finder": "^7.2.0", + "symfony/console": "^7.0.3", + "symfony/error-handler": "^7.0.3", + "symfony/finder": "^7.0.3", "symfony/http-foundation": "^7.2.0", - "symfony/http-kernel": "^7.2.0", - "symfony/mailer": "^7.2.0", - "symfony/mime": "^7.2.0", - "symfony/polyfill-php83": "^1.33", - "symfony/polyfill-php84": "^1.33", - "symfony/polyfill-php85": "^1.33", - "symfony/process": "^7.2.0", - "symfony/routing": "^7.2.0", - "symfony/uid": "^7.2.0", - "symfony/var-dumper": "^7.2.0", + "symfony/http-kernel": "^7.0.3", + "symfony/mailer": "^7.0.3", + "symfony/mime": "^7.0.3", + "symfony/polyfill-php83": "^1.31", + "symfony/process": "^7.0.3", + "symfony/routing": "^7.0.3", + "symfony/uid": "^7.0.3", + "symfony/var-dumper": "^7.0.3", "tijsverkoyen/css-to-inline-styles": "^2.2.5", "vlucas/phpdotenv": "^5.6.1", "voku/portable-ascii": "^2.0.2" @@ -3042,7 +3040,6 @@ "illuminate/filesystem": "self.version", "illuminate/hashing": "self.version", "illuminate/http": "self.version", - "illuminate/json-schema": "self.version", "illuminate/log": "self.version", "illuminate/macroable": "self.version", "illuminate/mail": "self.version", @@ -3052,7 +3049,6 @@ "illuminate/process": "self.version", "illuminate/queue": "self.version", "illuminate/redis": "self.version", - "illuminate/reflection": "self.version", "illuminate/routing": "self.version", "illuminate/session": "self.version", "illuminate/support": "self.version", @@ -3076,18 +3072,17 @@ "league/flysystem-read-only": "^3.25.1", "league/flysystem-sftp-v3": "^3.25.1", "mockery/mockery": "^1.6.10", - "opis/json-schema": "^2.4.1", - "orchestra/testbench-core": "^10.9.0", - "pda/pheanstalk": "^5.0.6|^7.0.0", + "orchestra/testbench-core": "^9.18.0", + "pda/pheanstalk": "^5.0.6", "php-http/discovery": "^1.15", - "phpstan/phpstan": "^2.1.41", - "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1", - "predis/predis": "^2.3|^3.0", - "resend/resend-php": "^0.10.0|^1.0", - "symfony/cache": "^7.2.0", - "symfony/http-client": "^7.2.0", - "symfony/psr-http-message-bridge": "^7.2.0", - "symfony/translation": "^7.2.0" + "phpstan/phpstan": "2.1.41", + "phpunit/phpunit": "^10.5.35|^11.3.6|^12.0.1", + "predis/predis": "^2.3", + "resend/resend-php": "^0.10.0", + "symfony/cache": "^7.0.3", + "symfony/http-client": "^7.0.3", + "symfony/psr-http-message-bridge": "^7.0.3", + "symfony/translation": "^7.0.3" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", @@ -3102,7 +3097,7 @@ "ext-pdo": "Required to use all database features.", "ext-posix": "Required to use all features of the queue worker.", "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).", - "fakerphp/faker": "Required to generate fake data using the fake() helper (^1.23).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).", @@ -3113,22 +3108,22 @@ "mockery/mockery": "Required to use mocking (^1.6).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", - "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.5.3|^12.0.1).", - "predis/predis": "Required to use the predis connector (^2.3|^3.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.3.6|^12.0.1).", + "predis/predis": "Required to use the predis connector (^2.3).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", - "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0|^1.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^7.2).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).", - "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.2).", - "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.2).", - "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.2)." + "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^7.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "12.x-dev" + "dev-master": "11.x-dev" } }, "autoload": { @@ -3139,7 +3134,6 @@ "src/Illuminate/Filesystem/functions.php", "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Log/functions.php", - "src/Illuminate/Reflection/helpers.php", "src/Illuminate/Support/functions.php", "src/Illuminate/Support/helpers.php" ], @@ -3148,8 +3142,7 @@ "Illuminate\\Support\\": [ "src/Illuminate/Macroable/", "src/Illuminate/Collections/", - "src/Illuminate/Conditionable/", - "src/Illuminate/Reflection/" + "src/Illuminate/Conditionable/" ] } }, @@ -3173,7 +3166,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2026-03-26T14:51:54+00:00" + "time": "2026-03-26T14:54:53+00:00" }, { "name": "laravel/prompts", @@ -4420,27 +4413,27 @@ }, { "name": "mongodb/laravel-mongodb", - "version": "5.7.1", + "version": "5.1.1", "source": { "type": "git", - "url": "https://github.com/mongodb/laravel-mongodb", - "reference": "6e371e8e6deb9193f99a84c578e6c9d0a960e43a" + "url": "https://github.com/mongodb/laravel-mongodb.git", + "reference": "cc7e5ffd0e8e3a9acfebd7aa5a5aabac2fc5eac4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mongodb/laravel-mongodb/zipball/6e371e8e6deb9193f99a84c578e6c9d0a960e43a", - "reference": "6e371e8e6deb9193f99a84c578e6c9d0a960e43a", + "url": "https://api.github.com/repos/mongodb/laravel-mongodb/zipball/cc7e5ffd0e8e3a9acfebd7aa5a5aabac2fc5eac4", + "reference": "cc7e5ffd0e8e3a9acfebd7aa5a5aabac2fc5eac4", "shasum": "" }, "require": { "composer-runtime-api": "^2.0.0", - "ext-mongodb": "^1.21|^2", - "illuminate/cache": "^10.36|^11|^12|^13.0", - "illuminate/container": "^10.0|^11|^12|^13.0", - "illuminate/database": "^10.30|^11|^12|^13.0", - "illuminate/events": "^10.0|^11|^12|^13.0", - "illuminate/support": "^10.0|^11|^12|^13.0", - "mongodb/mongodb": "^1.21|^2", + "ext-mongodb": "^1.15", + "illuminate/cache": "^10.36|^11", + "illuminate/container": "^10.0|^11", + "illuminate/database": "^10.30|^11", + "illuminate/events": "^10.0|^11", + "illuminate/support": "^10.0|^11", + "mongodb/mongodb": "^1.18", "php": "^8.1" }, "conflict": { @@ -4450,19 +4443,20 @@ "jenssegers/mongodb": "self.version" }, "require-dev": { - "doctrine/coding-standard": "^12.0", - "laravel/scout": "^10.3", + "doctrine/coding-standard": "12.0.x-dev", "league/flysystem-gridfs": "^3.28", "league/flysystem-read-only": "^3.0", "mockery/mockery": "^1.4.4", - "orchestra/testbench": "^8.0|^9.0|^10.0|^11.0", - "phpstan/phpstan": "^1.10|^2.1", - "phpunit/phpunit": "^10.3|^11.5.3|^12.5.12", - "rector/rector": "^1.2|^2.3", - "spatie/laravel-query-builder": "^5.6|^6" + "mongodb/builder": "^0.2", + "orchestra/testbench": "^8.0|^9.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.3", + "rector/rector": "^1.2", + "spatie/laravel-query-builder": "^5.6" }, "suggest": { - "league/flysystem-gridfs": "Filesystem storage in MongoDB with GridFS" + "league/flysystem-gridfs": "Filesystem storage in MongoDB with GridFS", + "mongodb/builder": "Provides a fluent aggregation builder for MongoDB pipelines" }, "type": "library", "extra": { @@ -4488,11 +4482,6 @@ "email": "andreas.braun@mongodb.com", "role": "Leader" }, - { - "name": "Pauline Vos", - "email": "pauline.vos@mongodb.com", - "role": "Maintainer" - }, { "name": "Jérôme Tamarelle", "email": "jerome.tamarelle@mongodb.com", @@ -4521,40 +4510,41 @@ ], "support": { "issues": "https://www.mongodb.com/support", - "security": "https://www.mongodb.com/security" + "security": "https://www.mongodb.com/security", + "source": "https://github.com/mongodb/laravel-mongodb/tree/5.1.1" }, - "time": "2026-04-15T12:18:12+00:00" + "time": "2025-01-06T09:22:28+00:00" }, { "name": "mongodb/mongodb", - "version": "2.2.0", + "version": "1.20.0", "source": { "type": "git", "url": "https://github.com/mongodb/mongo-php-library.git", - "reference": "bbb13f969e37e047fd822527543df55fdc1c9298" + "reference": "75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/bbb13f969e37e047fd822527543df55fdc1c9298", - "reference": "bbb13f969e37e047fd822527543df55fdc1c9298", + "url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6", + "reference": "75da9ea3b63d97b05e0e8648d8c09a17bc54c0b6", "shasum": "" }, "require": { "composer-runtime-api": "^2.0", - "ext-mongodb": "^2.2", - "php": "^8.1", + "ext-hash": "*", + "ext-json": "*", + "ext-mongodb": "^1.20.0", + "php": "^7.4 || ^8.0", "psr/log": "^1.1.4|^2|^3", - "symfony/polyfill-php85": "^1.32" - }, - "replace": { - "mongodb/builder": "*" + "symfony/polyfill-php80": "^1.27", + "symfony/polyfill-php81": "^1.27" }, "require-dev": { "doctrine/coding-standard": "^12.0", - "phpunit/phpunit": "^10.5.35", - "rector/rector": "^2.3.4", + "rector/rector": "^1.1", "squizlabs/php_codesniffer": "^3.7", - "vimeo/psalm": "~6.14.2" + "symfony/phpunit-bridge": "^5.2", + "vimeo/psalm": "^5.13" }, "type": "library", "extra": { @@ -4598,9 +4588,9 @@ ], "support": { "issues": "https://github.com/mongodb/mongo-php-library/issues", - "source": "https://github.com/mongodb/mongo-php-library/tree/2.2.0" + "source": "https://github.com/mongodb/mongo-php-library/tree/1.20.0" }, - "time": "2026-02-11T11:39:56+00:00" + "time": "2024-09-25T12:54:08+00:00" }, { "name": "monolog/monolog", @@ -6579,34 +6569,31 @@ }, { "name": "spatie/laravel-permission", - "version": "7.3.0", + "version": "6.25.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-permission.git", - "reference": "5272955119759cd217e84e8bbac19443c305ebc3" + "reference": "d7d4cb0d58616722f1afc90e0484e4825155b9b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/5272955119759cd217e84e8bbac19443c305ebc3", - "reference": "5272955119759cd217e84e8bbac19443c305ebc3", + "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/d7d4cb0d58616722f1afc90e0484e4825155b9b3", + "reference": "d7d4cb0d58616722f1afc90e0484e4825155b9b3", "shasum": "" }, "require": { - "illuminate/auth": "^12.0|^13.0", - "illuminate/container": "^12.0|^13.0", - "illuminate/contracts": "^12.0|^13.0", - "illuminate/database": "^12.0|^13.0", - "php": "^8.3", - "spatie/laravel-package-tools": "^1.0" + "illuminate/auth": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/container": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/contracts": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/database": "^8.12|^9.0|^10.0|^11.0|^12.0|^13.0", + "php": "^8.0" }, "require-dev": { - "larastan/larastan": "^3.9", - "laravel/passport": "^13.0", + "laravel/passport": "^11.0|^12.0|^13.0", "laravel/pint": "^1.0", - "orchestra/testbench": "^10.0|^11.0", - "pestphp/pest": "^3.0|^4.0", - "pestphp/pest-plugin-laravel": "^3.0|^4.1", - "phpstan/phpstan": "^2.1" + "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0|^10.0|^11.0", + "pestphp/pest": "^2.0|^3.0|^4.0", + "pestphp/pest-plugin-laravel": "^2.0|^3.0|^4.0" }, "type": "library", "extra": { @@ -6616,8 +6603,8 @@ ] }, "branch-alias": { - "dev-main": "7.x-dev", - "dev-master": "7.x-dev" + "dev-main": "6.x-dev", + "dev-master": "6.x-dev" } }, "autoload": { @@ -6640,7 +6627,7 @@ "role": "Developer" } ], - "description": "Permission handling for Laravel 12 and up", + "description": "Permission handling for Laravel 8.0 and up", "homepage": "https://github.com/spatie/laravel-permission", "keywords": [ "acl", @@ -6654,7 +6641,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-permission/issues", - "source": "https://github.com/spatie/laravel-permission/tree/7.3.0" + "source": "https://github.com/spatie/laravel-permission/tree/6.25.0" }, "funding": [ { @@ -6662,7 +6649,7 @@ "type": "github" } ], - "time": "2026-04-07T15:19:42+00:00" + "time": "2026-03-17T22:46:46+00:00" }, { "name": "spatie/shiki-php", @@ -6729,6 +6716,66 @@ ], "time": "2026-02-01T09:30:04+00:00" }, + { + "name": "spatie/simple-excel", + "version": "3.9.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/simple-excel.git", + "reference": "67095053ff6037284fd213abd84259ea4faca7aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/simple-excel/zipball/67095053ff6037284fd213abd84259ea4faca7aa", + "reference": "67095053ff6037284fd213abd84259ea4faca7aa", + "shasum": "" + }, + "require": { + "illuminate/support": "^9.0|^10.0|^11.0|^12.0|^13.0", + "openspout/openspout": "^4.30", + "php": "^8.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.4|^10.5|^11.0|^12.0", + "spatie/pest-plugin-snapshots": "^1.1|^2.1", + "spatie/phpunit-snapshot-assertions": "^4.0|^5.1", + "spatie/temporary-directory": "^1.2|^2.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\SimpleExcel\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Read and write simple Excel and CSV files", + "homepage": "https://github.com/spatie/simple-excel", + "keywords": [ + "simple-excel", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/simple-excel/tree/3.9.0" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2026-02-22T08:49:24+00:00" + }, { "name": "stevebauman/location", "version": "v7.6.3", @@ -8451,6 +8498,86 @@ ], "time": "2026-04-10T16:19:22+00:00" }, + { + "name": "symfony/polyfill-php81", + "version": "v1.36.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "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 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.36.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "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" + }, { "name": "symfony/polyfill-php83", "version": "v1.36.0", @@ -8531,86 +8658,6 @@ ], "time": "2026-04-10T17:25:58+00:00" }, - { - "name": "symfony/polyfill-php84", - "version": "v1.36.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php84.git", - "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/88486db2c389b290bf87ff1de7ebc1e13e42bb06", - "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php84\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "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 8.4+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php84/tree/v1.36.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "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": "2026-04-10T18:47:49+00:00" - }, { "name": "symfony/polyfill-php85", "version": "v1.36.0", @@ -13533,12 +13580,12 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": true, "prefer-lowest": false, "platform": { "php": "^8.3" }, - "platform-dev": [], - "plugin-api-version": "2.6.0" + "platform-dev": {}, + "plugin-api-version": "2.9.0" } diff --git a/storage/testfiles/Anagrafica Giocatori per Hermann 260325.xlsx b/storage/testfiles/Anagrafica Giocatori per Hermann 260325.xlsx new file mode 100644 index 00000000..485f0a1e Binary files /dev/null and b/storage/testfiles/Anagrafica Giocatori per Hermann 260325.xlsx differ diff --git a/storage/testfiles/Risultati per Evento 260417.xlsx b/storage/testfiles/Risultati per Evento 260417.xlsx new file mode 100644 index 00000000..58216252 Binary files /dev/null and b/storage/testfiles/Risultati per Evento 260417.xlsx differ