This commit is contained in:
salam committed 2026-09-16 08:17:57 +02:00
1 parent 49e883e49e
commit 41d91a7124
5 files changed
+231 -127

No files matched your search

@@ -0,0 +1,33 @@
<?php
namespace App\Filament\Widgets\PlayerProps;
class BoxNames
{
public static function load()
{
return [
2 => 'DR',
4 => 'MR',
6 => 'LW',
9 => 'DC',
10 => 'DM',
11 => 'MC',
12 => 'AM',
15 => 'SW',
16 => 'DC',
17 => 'DM',
18 => 'MC',
19 => 'AM',
20 => 'SM',
21 => 'ST',
23 => 'DC',
24 => 'DM',
25 => 'MC',
26 => 'AM',
30 => 'DL',
32 => 'ML',
34 => 'RW',
];
}
}
@@ -0,0 +1,75 @@
<?php
namespace App\Filament\Widgets\PlayerProps;
use App\Models\StatistikoConfig;
use App\Models\StatistikoEvent;
class Expectations
{
public static function load(int $team_id)
{
$bettypes = ['gls', 'fls', 'ofs', 'crd', 'snt', 'tsh'];
$data = StatistikoEvent::where(function ($query) use ($team_id) {
return $query->orWhere('home_id', $team_id)
->orWhere('away_id', '=', $team_id);
})->get();
$count_events = $data->count();
$count_events = ! $count_events ? 1 : $count_events;
$config = StatistikoConfig::pluck('value', 'varname')->toArray();
$work = [];
foreach ($config as $key => $value) {
$work[$key] = 0;
}
foreach ($data as $value) {
foreach ($bettypes as $type) {
if ($value['home_id'] == $team_id) {
$work[$type.'_home_made_total'] += $value[$type.'_h'];
// $work[$type.'_home_made_home'] += $value[$type.'_h'];
$work[$type.'_home_got_total'] += $value[$type.'_a'];
// $work[$type.'_home_got_home'] += $value[$type.'_a'];
} elseif ($value['away_id'] == $team_id) {
$work[$type.'_away_made_total'] += $value[$type.'_a'];
// $work[$type.'_away_made_home'] += $value[$type.'_a'];
$work[$type.'_away_got_total'] += $value[$type.'_h'];
// $work[$type.'_away_got_home'] += $value[$type.'_h'];
}
}
}
$config = StatistikoConfig::pluck('value', 'varname')->toArray();
foreach ($config as $key => $value) {
$work[$key] = $work[$key] * $value;
}
$aspettativa = [];
foreach ($work as $key => $value) {
if ($value) {
$aspettativa[$key] = round($value /= $count_events, 1);
}
}
$finals = [];
foreach ($bettypes as $type) {
$finals[$type]['home'] = 0;
$finals[$type]['away'] = 0;
}
foreach ($aspettativa as $key => $value) {
foreach ($bettypes as $type) {
if (strpos($key, $type) !== false) {
if (strpos($key, 'home') !== false) {
$finals[$type]['home'] += $value;
}
if (strpos($key, 'away') !== false) {
$finals[$type]['away'] += $value;
}
}
}
}
return $finals;
}
}
@@ -0,0 +1,61 @@
<?php
namespace App\Filament\Widgets\PlayerProps;
class LineUpMap
{
public static function load()
{
return [
'3313' => [9, 16, 23, 11, 18, 25, 19, 6, 34, 21],
'3331' => [9, 16, 23, 17, 11, 25, 12, 19, 26, 21],
'3331-' => [9, 16, 23, 10, 18, 24, 12, 19, 26, 21],
'3331+' => [9, 16, 23, 11, 18, 25, 12, 19, 26, 21],
'3412-' => [9, 16, 23, 4, 10, 24, 32, 19, 20, 21],
'3412+' => [9, 16, 23, 4, 11, 25, 32, 19, 20, 21],
'3421-' => [9, 16, 23, 4, 10, 24, 32, 12, 26, 21],
'3421+' => [9, 16, 23, 4, 11, 25, 32, 12, 26, 21],
'343-' => [9, 16, 23, 4, 10, 24, 32, 6, 34, 21],
'343+' => [9, 16, 23, 4, 11, 25, 32, 6, 34, 21],
'3511' => [9, 16, 23, 4, 11, 17, 25, 32, 19, 21],
'3511-' => [9, 16, 23, 4, 10, 18, 24, 32, 19, 21],
'3511+' => [9, 16, 23, 4, 11, 18, 25, 32, 19, 21],
'352' => [9, 16, 23, 4, 11, 17, 25, 32, 20, 21],
'352-' => [9, 16, 23, 4, 10, 18, 24, 32, 20, 21],
'352+' => [9, 16, 23, 4, 11, 18, 25, 32, 20, 21],
'4132' => [2, 9, 23, 30, 17, 12, 19, 26, 20, 21],
'4213-' => [2, 9, 23, 30, 10, 24, 19, 6, 34, 21],
'4213+' => [2, 9, 23, 30, 11, 25, 19, 6, 34, 21],
'4222' => [2, 9, 23, 30, 10, 24, 12, 26, 20, 21],
'4231' => [2, 9, 23, 30, 10, 24, 12, 19, 26, 21],
'424' => [2, 9, 23, 30, 10, 24, 6, 34, 20, 21],
'4312' => [2, 9, 23, 30, 17, 11, 25, 19, 20, 21],
'4312-' => [2, 9, 23, 30, 10, 18, 24, 19, 20, 21],
'4312+' => [2, 9, 23, 30, 11, 18, 25, 19, 20, 21],
'4321' => [2, 9, 23, 30, 17, 11, 25, 12, 26, 21],
'4321-' => [2, 9, 23, 30, 10, 18, 24, 12, 26, 21],
'4321+' => [2, 9, 23, 30, 11, 18, 25, 12, 26, 21],
'433' => [2, 9, 23, 30, 17, 11, 25, 6, 34, 21],
'433-' => [2, 9, 23, 30, 10, 18, 24, 6, 34, 21],
'433+' => [2, 9, 23, 30, 11, 18, 25, 6, 34, 21],
'4411-' => [2, 9, 23, 30, 4, 10, 24, 32, 19, 21],
'4411+' => [2, 9, 23, 30, 4, 11, 25, 32, 19, 21],
'442' => [2, 9, 23, 30, 4, 17, 18, 32, 20, 21],
'442-' => [2, 9, 23, 30, 4, 10, 24, 32, 20, 21],
'442+' => [2, 9, 23, 30, 4, 11, 25, 32, 20, 21],
'451' => [2, 9, 23, 30, 4, 17, 11, 25, 32, 21],
'451-' => [2, 9, 23, 30, 4, 10, 18, 24, 32, 21],
'451+' => [2, 9, 23, 30, 4, 11, 18, 25, 32, 21],
'523-' => [2, 9, 16, 23, 30, 10, 24, 6, 34, 21],
'523+' => [2, 9, 16, 23, 30, 11, 25, 6, 34, 21],
'5311' => [2, 9, 16, 23, 30, 17, 11, 25, 19, 21],
'5311-' => [2, 9, 16, 23, 30, 10, 18, 24, 19, 21],
'5311+' => [2, 9, 16, 23, 30, 11, 18, 25, 19, 21],
'532' => [2, 9, 16, 23, 30, 17, 11, 25, 20, 21],
'532-' => [2, 9, 16, 23, 30, 10, 18, 24, 20, 21],
'532+' => [2, 9, 16, 23, 30, 11, 18, 25, 20, 21],
'541-' => [2, 9, 16, 23, 30, 4, 10, 24, 32, 21],
'541+' => [2, 9, 16, 23, 30, 4, 11, 25, 32, 21],
];
}
}