This commit is contained in:
salam committed 2026-06-18 12:15:43 +02:00
1 parent 1d9e18c402
commit 59e7cbd081
2 files changed
+52 -38

No files matched your search

+38 -30
View File
@@ -524,13 +524,16 @@ class LoadEvents
} else { } else {
$season = date('y') - 1 . '/' . date('Y'); $season = date('y') - 1 . '/' . date('Y');
} }
$res = StatistikoEvent::where('league_id', $league_id) $res = StatistikoEvent::where('league_id', $league_id)
->where('season', $season) ->where('season', $season)
->orderBy('starttime', 'ASC') ->orderBy('starttime', 'ASC')
->get(); ->get();
if ($res) { if ($res) {
$media_team = []; $media_team_h = [];
$media_team_a = [];
$media_league_h = []; $media_league_h = [];
$media_league_a = []; $media_league_a = [];
@@ -546,32 +549,32 @@ class LoadEvents
if ($team_id == $value['home_id'] or $team_id == $value['away_id']) { if ($team_id == $value['home_id'] or $team_id == $value['away_id']) {
switch ($statistic_type) { switch ($statistic_type) {
case 'gls': case 'gls':
$media_team[] = (int) $value['gls_h']; $media_team_h[] = (int) $value['gls_h'];
$media_team[] = (int) $value['gls_a']; $media_team_a[] = (int) $value['gls_a'];
break; break;
case 'crn': case 'crn':
$media_team[] = (int) $value['crn_h']; $media_team_h[] = (int) $value['crn_h'];
$media_team[] = (int) $value['crn_a']; $media_team_a[] = (int) $value['crn_a'];
break; break;
case 'fls': case 'fls':
$media_team[] = (int) $value['fls_h']; $media_team_h[] = (int) $value['fls_h'];
$media_team[] = (int) $value['fls_a']; $media_team_a[] = (int) $value['fls_a'];
break; break;
case 'ofs': case 'ofs':
$media_team[] = (int) $value['ofs_h']; $media_team_h[] = (int) $value['ofs_h'];
$media_team[] = (int) $value['ofs_a']; $media_team_a[] = (int) $value['ofs_a'];
break; break;
case 'crd': case 'crd':
$media_team[] = (int) $value['crd_h']; $media_team_h[] = (int) $value['crd_h'];
$media_team[] = (int) $value['crd_a']; $media_team_a[] = (int) $value['crd_a'];
break; break;
case 'snt': case 'snt':
$media_team[] = (int) $value['snt_h']; $media_team_h[] = (int) $value['snt_h'];
$media_team[] = (int) $value['snt_a']; $media_team_a[] = (int) $value['snt_a'];
break; break;
case 'tsh': case 'tsh':
$media_team[] = (int) $value['tsh_h']; $media_team_h[] = (int) $value['tsh_h'];
$media_team[] = (int) $value['tsh_a']; $media_team_a[] = (int) $value['tsh_a'];
break; break;
} }
} }
@@ -607,21 +610,21 @@ class LoadEvents
break; break;
} }
} }
$average_team = 0;
if ($team_id && $media_team)
$average_team = round(array_sum($media_team) / \count($media_team), 2);
switch ($team_position) { $average_team = 0;
case 'home': $average_league = 0;
$average_league = $media_league_h ? round(array_sum($media_league_h) / \count($media_league_h), 2):0; if ($team_id && $media_team_h){
break; $sum = array_sum($media_team_h) + array_sum($media_team_a);
case 'away': $count = count($media_team_h) + count($media_team_a);
$average_league = $media_league_a ? round(array_sum($media_league_a) / \count($media_league_a), 2):0; $average_team = round($sum / $count, 2);
break; $average_team_h = round(array_sum($media_team_h) / count($media_team_h), 2);
default: $average_team_a = round(array_sum($media_team_a) / count($media_team_a), 2);
$media_league = array_merge($media_league_a, $media_league_h);
$average_league = $media_league ? round(array_sum($media_league) / \count($media_league), 2) : 0; $average_league_h = $media_league_h ? round(array_sum($media_league_h) / \count($media_league_h), 2):0;
break; $average_league_a = $media_league_a ? round(array_sum($media_league_a) / \count($media_league_a), 2):0;
$media_league = array_merge($media_league_a, $media_league_h);
$average_league = $media_league ? round(array_sum($media_league) / \count($media_league), 2) : 0;
} }
@@ -639,9 +642,11 @@ class LoadEvents
'borderDash' => [5, 5], 'borderDash' => [5, 5],
'pointStyle' => false, 'pointStyle' => false,
'hidden' => false, 'hidden' => false,
'average_team_h' => $average_team_h,
'average_team_a' => $average_team_a,
]; ];
} }
if ($average_league) if ($average_league){
$data['datasets'][] = [ $data['datasets'][] = [
'label' => 'Average League', 'label' => 'Average League',
'events' => $events, 'events' => $events,
@@ -652,7 +657,10 @@ class LoadEvents
'borderDash' => [5, 5], 'borderDash' => [5, 5],
'pointStyle' => false, 'pointStyle' => false,
'hidden' => false, 'hidden' => false,
'average_league_h' => $average_league_h,
'average_league_a' => $average_league_a,
]; ];
}
} }
} }
+14 -8
View File
@@ -93,16 +93,22 @@ class StatsMedianAverage extends StatsOverviewWidget
$boxes = []; $boxes = [];
$boxes[] = Stat::make('Number', new HtmlString('<div id="number-of-events">' . $total_home . '</div>'))->description('Events')->extraAttributes(['x-init' => "animate('number-of-events', $total_home, 0)"]); $boxes[] = Stat::make('Number', new HtmlString('<div id="number-of-events">' . $total_home . '</div>'))->description('Events')->extraAttributes(['x-init' => "animate('number-of-events', $total_home, 0)"]);
$boxes[] = Stat::make('Average ' . $statistic_type, self::template('avhome', 'avaway', $home_team, $away_team))->description('Team ' . $team_position)->extraAttributes(['x-init' => "animate('avhome', $value_home); animate('avaway', $value_away, 0)"]); $boxes[] = Stat::make('Average ' . $statistic_type, self::template('avhome', 'avaway', $home_team, $away_team))->description('Team ' . $team_position)->extraAttributes(['x-init' => "animate('avhome', $value_home); animate('avaway', $value_away)"]);
foreach ($data['datasets'] as $value) { foreach ($data['datasets'] as $value) {
if ($value['label'] == "Average Team") {
$av_home = $value['average_team_h'] ?? 0;
$av_away = $value['average_team_a'] ?? 0;
$boxes[] = Stat::make('Average ' . $statistic_type, self::template('av_team_home', 'av_team_away', 'Home', 'Away'))->description('League Season')->extraAttributes(['x-init' => "animate('av_team_home', $av_home); animate('av_team_away', $av_away)"]);
$max_boxes++;
}
if ($value['label'] == "Average League") { if ($value['label'] == "Average League") {
$str = $value['data'][0] ?? 0; $av_home = $value['average_league_h'] ?? 0;
$boxes[] = Stat::make('Average ' . $statistic_type, new HtmlString('<div id="number-of-events">' . $str . '</div>'))->description('League ' . $team_position)->extraAttributes(['x-init' => "animate('number-of-events', $str, 0)"]); $av_away = $value['average_league_a'] ?? 0;
$max_boxes = 5; $boxes[] = Stat::make('Average ' . $statistic_type, self::template('av_league_home', 'av_league_away', 'Home', 'Away'))->description('League Season')->extraAttributes(['x-init' => "animate('av_league_home', $av_home); animate('av_league_away', $av_away)"]);
$max_boxes++;
} }
} }
$boxes[] = Stat::make('Median ' . $statistic_type, self::template('mehome', 'meaway', $home_team, $away_team))->description($team_position)->extraAttributes(['x-init' => "animate('mehome', $median_home); animate('meaway', $median_away, 0)"]); $boxes[] = Stat::make('Median ' . $statistic_type, self::template('mehome', 'meaway', $home_team, $away_team))->description($team_position)->extraAttributes(['x-init' => "animate('mehome', $median_home); animate('meaway', $median_away, 0)"]);
$boxes[] = Stat::make('Odds', self::templateOdds($data, $win, $draw, $lost))->description($team_position)->extraAttributes(['x-init' => "animate('mehome', $median_home); animate('meaway', $median_away, 0)"]); $boxes[] = Stat::make('Odds', self::templateOdds($data, $win, $draw, $lost))->description($team_position)->extraAttributes(['x-init' => "animate('mehome', $median_home); animate('meaway', $median_away, 0)"]);
// $boxes[] = Stat::make($data['similar_past_matches'] != 'none' ? '1' : 'Win: ' . $data['results']['w'], new HtmlString('<div id="number-of-win">' . $win . '</div>'))->extraAttributes(['x-init' => "animate('number-of-win', $win, 1)"]); // $boxes[] = Stat::make($data['similar_past_matches'] != 'none' ? '1' : 'Win: ' . $data['results']['w'], new HtmlString('<div id="number-of-win">' . $win . '</div>'))->extraAttributes(['x-init' => "animate('number-of-win', $win, 1)"]);
@@ -131,9 +137,9 @@ class StatsMedianAverage extends StatsOverviewWidget
$name_lost = 'Lost ('.$data['results']['l'].')'; $name_lost = 'Lost ('.$data['results']['l'].')';
} }
return new HtmlString('<div class="grid grid-cols-3 justify-center"> return new HtmlString('<div class="grid grid-cols-3 justify-center">
<span class="text-center font-bold text-2xl">'.number_format($win, 2).'</span> <span class="text-center font-bold text-xl">'.number_format($win, 2).'</span>
<span class="text-center font-bold text-2xl">'.number_format($draw, 2).'</span> <span class="text-center font-bold text-xl">'.number_format($draw, 2).'</span>
<span class="text-center font-bold text-2xl">'.number_format($lost, 2).'</span> <span class="text-center font-bold text-xl">'.number_format($lost, 2).'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$name_win.'</span> <span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$name_win.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$name_draw.'</span> <span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$name_draw.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$name_lost.'</span> <span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$name_lost.'</span>