fix season

This commit is contained in:
salam committed 2026-08-31 07:03:58 +02:00
1 parent d220e340e2
commit 7e30e93f90
5 files changed
+42 -34

No files matched your search

@@ -2,24 +2,25 @@
namespace App\Filament\Pages\Selections\Helper; namespace App\Filament\Pages\Selections\Helper;
use App\Models\SofaScoreCategory; use Illuminate\Support\Carbon;
class GetSeason class GetSeason
{ {
public static function load(array $season, int|null $sofascore_category_id) public static function load(array|null $season, string|null $seasonmode)
{ {
if (!is_array($season) || !count($season)) { if (!\is_array($season) || !\count($season)) {
if ($sofascore_category_id) {
$season_mode = SofaScoreCategory::where('id', $sofascore_category_id)->value('season_mode'); $date = Carbon::now();
if ($season_mode == 'halfyear') {
$season = [];
if ($seasonmode == 'halfyear') {
if ((int) date('m') > 7) if ((int) date('m') > 7)
$season[] = date('y') . '/' . date('y', strtotime('+1 year')); $tmp = $date->format('y') . '/' . $date->format('y') + 1;
else else
$season[] = date('y', strtotime('-1 year')) . '/' . date('y'); $tmp = $date->format('y') - 1 . '/' . $date->format('y');
} $season[$tmp] = $tmp;
else { } else {
$season[] = date('Y'); $season[$date->year] = $date->year;
}
} }
} }
+18 -15
View File
@@ -2,30 +2,33 @@
namespace App\Filament\Pages\Selections; namespace App\Filament\Pages\Selections;
use App\Models\SofaScoreCategory; use Carbon\CarbonPeriod;
use App\Models\StatistikoEvent; use Illuminate\Support\Carbon;
class LoadSeasons class LoadSeasons
{ {
public static function load($sofascore_category_id) public static function load($seasonmode)
{ {
if(!$sofascore_category_id){ if (!$seasonmode) {
return []; return [];
} }
$season_mode = SofaScoreCategory::where('id', $sofascore_category_id)->value('season_mode'); $season = [];
$period = CarbonPeriod::create(Carbon::now()->year(2024), '1 year', Carbon::now());
$arr = []; foreach ($period as $date) {
if($season_mode == 'fullyear') { if ($seasonmode == 'halfyear') {
$arr[2024] = 2024; if ((int) date('m') > 7)
$arr[2025] = 2025; $tmp = $date->format('y') . '/' . $date->format('y') + 1;
$arr[2026] = 2026; else
$tmp = $date->format('y') - 1 . '/' . $date->format('y');
$season[$tmp] = $tmp;
} else { } else {
$arr['24/25'] = '24/25'; $season[$date->year] = $date->year;
$arr['25/26'] = '25/26'; }
$arr['26/27'] = '26/27';
} }
return $arr; $season = array_reverse($season);
return $season;
} }
} }
+6 -3
View File
@@ -7,12 +7,14 @@ use App\Actions\LoadStatisticFixturesLeaguesOptions;
use App\Actions\LoadStatisticFixturesMatchOptions; use App\Actions\LoadStatisticFixturesMatchOptions;
use App\Filament\Pages\Selections\LoadPlayer; use App\Filament\Pages\Selections\LoadPlayer;
use App\Filament\Pages\Selections\LoadSeasons; use App\Filament\Pages\Selections\LoadSeasons;
use App\Models\SofaScoreCategory;
use App\Models\SofaScoreRosa; use App\Models\SofaScoreRosa;
use App\Models\StatisticFixtures; use App\Models\StatisticFixtures;
use BackedEnum; use BackedEnum;
use BezhanSalleh\FilamentShield\Traits\HasPageShield; use BezhanSalleh\FilamentShield\Traits\HasPageShield;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Forms\Components\DatePicker; use Filament\Forms\Components\DatePicker;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Radio; use Filament\Forms\Components\Radio;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
use Filament\Forms\Components\Slider; use Filament\Forms\Components\Slider;
@@ -104,6 +106,7 @@ class Statistic extends BaseDashboard
]) ])
->columnSpanFull() ->columnSpanFull()
->schema([ ->schema([
Hidden::make('seasonmode'),
Select::make('sofascore_category_id') Select::make('sofascore_category_id')
->live() ->live()
->preload() ->preload()
@@ -113,7 +116,8 @@ class Statistic extends BaseDashboard
->hiddenLabel() ->hiddenLabel()
->options(fn() => LoadSofaScoreCategory::load()) ->options(fn() => LoadSofaScoreCategory::load())
->placeholder('Country') ->placeholder('Country')
->afterStateUpdated(function (callable $set) { ->afterStateUpdated(function (callable $set, $state) {
$set('seasonmode', SofaScoreCategory::where('id', $state)->value('season_mode'));
$set('league_id', null); $set('league_id', null);
$set('match_id', null); $set('match_id', null);
$set('team_id', null); $set('team_id', null);
@@ -133,7 +137,6 @@ class Statistic extends BaseDashboard
$set('match_id', null); $set('match_id', null);
$set('team_id', null); $set('team_id', null);
$set('ss_player_id', null); $set('ss_player_id', null);
$set('season', null);
}), }),
Select::make('match_id') Select::make('match_id')
->live() ->live()
@@ -355,7 +358,7 @@ class Statistic extends BaseDashboard
->hidden(fn(Get $get) => $get('season_or_date') == 'date' || $get('similar_past_matches') != 'none') ->hidden(fn(Get $get) => $get('season_or_date') == 'date' || $get('similar_past_matches') != 'none')
->prefixIcon('phosphor-calendar-star-fill') ->prefixIcon('phosphor-calendar-star-fill')
->options(function (Get $get) { ->options(function (Get $get) {
return LoadSeasons::load($get('sofascore_category_id')); return LoadSeasons::load($get('seasonmode'));
}) })
->afterStateUpdated(function (callable $set) { ->afterStateUpdated(function (callable $set) {
$set('ss_player_id', null); $set('ss_player_id', null);
+3
View File
@@ -17,6 +17,7 @@ class LoadEvents
$team_id = (int) $filter['team_id'] ?? 0; $team_id = (int) $filter['team_id'] ?? 0;
$statistic_type = $filter['statistic_type'] ?? 'gls'; $statistic_type = $filter['statistic_type'] ?? 'gls';
$team_position = $filter['team_position']; $team_position = $filter['team_position'];
$seasonmode = $filter['seasonmode'];
$accuracy = (float) $filter['accuracy'] ?? 0.5; $accuracy = (float) $filter['accuracy'] ?? 0.5;
$similar_past_matches = $filter['similar_past_matches']; $similar_past_matches = $filter['similar_past_matches'];
@@ -75,8 +76,10 @@ class LoadEvents
/** /**
* STATTISTIC DATA * STATTISTIC DATA
*/ */
$res = LoadEventsQuery::load($filter, $handicap_range, $total_range, $match); $res = LoadEventsQuery::load($filter, $handicap_range, $total_range, $match);
$dataset_home = []; $dataset_home = [];
$dataset_away = []; $dataset_away = [];
$dataset_exp_home = []; $dataset_exp_home = [];
@@ -13,7 +13,7 @@ class LoadEventsQuery
$league_id = (int) $filter['league_id'] ?? 0; $league_id = (int) $filter['league_id'] ?? 0;
$team_id = (int) $filter['team_id'] ?? 0; $team_id = (int) $filter['team_id'] ?? 0;
$season = $filter['season']; $season = $filter['season'];
$sofascore_category_id = $filter['sofascore_category_id'] ?? 0; $seasonmode = $filter['seasonmode'];
$season_or_date = $filter['season_or_date']; $season_or_date = $filter['season_or_date'];
$start = $filter['start_date'] ?? 0; $start = $filter['start_date'] ?? 0;
$end = $filter['end_date'] ?? 0; $end = $filter['end_date'] ?? 0;
@@ -37,9 +37,7 @@ class LoadEventsQuery
// $team_id = 0; // $team_id = 0;
// } // }
$season = GetSeason::load($season, $sofascore_category_id); $season = GetSeason::load($season, $seasonmode);
// dd($season);
/** /**
* IF WITH PLAYER * IF WITH PLAYER