Files
nuhodds_fi4/app/Traits/PlayerProps/PlayerDataMerge.php
T

43 lines
1.3 KiB
PHP

<?php
namespace App\Traits\PlayerProps;
trait PlayerDataMerge
{
public function mergeData(array $filtered_part_1, array $filtered_part_2): void
{
foreach ($this->players as $k => $record) {
$players_id = $record['id'];
$part1 = $filtered_part_1[$players_id] ?? [];
$part2 = $filtered_part_2[$players_id] ?? [];
$this->players[$k]['active'] = $part1['active'] ?? 0;
if (! $this->players[$k]['active'] && isset($part2['active']) && $part2['active'] == 1) {
$this->players[$k]['active'] = 1;
}
$bets = ['gls', 'crn', 'fls', 'ofs', 'crd', 'snt', 'tsh', 'wfl'];
foreach ($bets as $bet) {
$this->players[$k][$bet] = $this->calc($bet, $part1, $part2);
}
}
}
private function calc(string $bettype, array $part1, array $part2)
{
$val1 = $part1[$bettype] ?? 0;
$val2 = $part2[$bettype] ?? 0;
if ($val1 && $val1) {
return number_format(($val2 * (100 - $this->part_1_value) + $val1 * $this->part_1_value) / 100, 3);
} elseif ($val1) {
return number_format($val1, 3);
} elseif ($val2) {
return number_format($val2, 3);
}
}
}