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 {
$season = date('y') - 1 . '/' . date('Y');
}
$res = StatistikoEvent::where('league_id', $league_id)
->where('season', $season)
->orderBy('starttime', 'ASC')
->get();
if ($res) {
$media_team = [];
$media_team_h = [];
$media_team_a = [];
$media_league_h = [];
$media_league_a = [];
@@ -546,32 +549,32 @@ class LoadEvents
if ($team_id == $value['home_id'] or $team_id == $value['away_id']) {
switch ($statistic_type) {
case 'gls':
$media_team[] = (int) $value['gls_h'];
$media_team[] = (int) $value['gls_a'];
$media_team_h[] = (int) $value['gls_h'];
$media_team_a[] = (int) $value['gls_a'];
break;
case 'crn':
$media_team[] = (int) $value['crn_h'];
$media_team[] = (int) $value['crn_a'];
$media_team_h[] = (int) $value['crn_h'];
$media_team_a[] = (int) $value['crn_a'];
break;
case 'fls':
$media_team[] = (int) $value['fls_h'];
$media_team[] = (int) $value['fls_a'];
$media_team_h[] = (int) $value['fls_h'];
$media_team_a[] = (int) $value['fls_a'];
break;
case 'ofs':
$media_team[] = (int) $value['ofs_h'];
$media_team[] = (int) $value['ofs_a'];
$media_team_h[] = (int) $value['ofs_h'];
$media_team_a[] = (int) $value['ofs_a'];
break;
case 'crd':
$media_team[] = (int) $value['crd_h'];
$media_team[] = (int) $value['crd_a'];
$media_team_h[] = (int) $value['crd_h'];
$media_team_a[] = (int) $value['crd_a'];
break;
case 'snt':
$media_team[] = (int) $value['snt_h'];
$media_team[] = (int) $value['snt_a'];
$media_team_h[] = (int) $value['snt_h'];
$media_team_a[] = (int) $value['snt_a'];
break;
case 'tsh':
$media_team[] = (int) $value['tsh_h'];
$media_team[] = (int) $value['tsh_a'];
$media_team_h[] = (int) $value['tsh_h'];
$media_team_a[] = (int) $value['tsh_a'];
break;
}
}
@@ -607,21 +610,21 @@ class LoadEvents
break;
}
}
$average_team = 0;
if ($team_id && $media_team)
$average_team = round(array_sum($media_team) / \count($media_team), 2);
switch ($team_position) {
case 'home':
$average_league = $media_league_h ? round(array_sum($media_league_h) / \count($media_league_h), 2):0;
break;
case 'away':
$average_league = $media_league_a ? round(array_sum($media_league_a) / \count($media_league_a), 2):0;
break;
default:
$media_league = array_merge($media_league_a, $media_league_h);
$average_league = $media_league ? round(array_sum($media_league) / \count($media_league), 2) : 0;
break;
$average_team = 0;
$average_league = 0;
if ($team_id && $media_team_h){
$sum = array_sum($media_team_h) + array_sum($media_team_a);
$count = count($media_team_h) + count($media_team_a);
$average_team = round($sum / $count, 2);
$average_team_h = round(array_sum($media_team_h) / count($media_team_h), 2);
$average_team_a = round(array_sum($media_team_a) / count($media_team_a), 2);
$average_league_h = $media_league_h ? round(array_sum($media_league_h) / \count($media_league_h), 2):0;
$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],
'pointStyle' => false,
'hidden' => false,
'average_team_h' => $average_team_h,
'average_team_a' => $average_team_a,
];
}
if ($average_league)
if ($average_league){
$data['datasets'][] = [
'label' => 'Average League',
'events' => $events,
@@ -652,7 +657,10 @@ class LoadEvents
'borderDash' => [5, 5],
'pointStyle' => 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[] = 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) {
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") {
$str = $value['data'][0] ?? 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)"]);
$max_boxes = 5;
$av_home = $value['average_league_h'] ?? 0;
$av_away = $value['average_league_a'] ?? 0;
$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('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)"]);
@@ -131,9 +137,9 @@ class StatsMedianAverage extends StatsOverviewWidget
$name_lost = 'Lost ('.$data['results']['l'].')';
}
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-2xl">'.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($win, 2).'</span>
<span class="text-center font-bold text-xl">'.number_format($draw, 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_draw.'</span>
<span class="text-center text-xs text-gray-500 dark:text-gray-400">'.$name_lost.'</span>