5.9 [spiele] => 13 [name] => Gerhard [platz] => 1 [s1] => 9 [s2] => [s4] => [v1] => 4 [v2] => [v4] => */ $arr = RanglisteRepository::loadRangliste($activeTournament); $return = []; $tmp = []; foreach ($arr as $key => $value) { $return['labels'][] = $value['name'] . " " . $value['platz'] . ". Platz"; $tmp['s1']['label'] = "Gewonnen"; $tmp['s1']['data'][] = $value['s1'] ? $value['s1'] : 0; $tmp['s2']['label'] = "Schneider"; $tmp['s2']['data'][] = $value['s2'] ? $value['s2'] : 0; $tmp['s4']['label'] = "Retour Schneider"; $tmp['s4']['data'][] = $value['s4'] ? $value['s4'] : 0; $tmp['v1']['label'] = "Verloren"; $tmp['v1']['data'][] = $value['v1'] ? $value['v1'] * -1 : 0; $tmp['v2']['label'] = "Schneider Verloren"; $tmp['v2']['data'][] = $value['v2'] ? $value['v2'] * -1 : 0; $tmp['v4']['label'] = "Retour Schneider Verloren"; $tmp['v4']['data'][] = $value['v4'] ? $value['v4'] * -1 : 0; } $datasets = []; foreach ($tmp as $key => $value) { if (array_sum($value['data']) != false) { $value['borderWidth'] = 1; $datasets[] = $value; } } $return['datasets'] = $datasets; // print_r($return); return $return; } public static function loadStatistik($event_id) { $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tx_watten_domain_model_athleten')->createQueryBuilder(); $res = $queryBuilder ->select('uid', 'name') ->from('tx_watten_domain_model_athleten') ->execute(); $user = []; foreach ($res as $key => $value) { $user[$value['uid']] = $value['name']; } $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tx_watten_domain_model_ergebnisse')->createQueryBuilder(); $ergebnisse = $queryBuilder ->select('uid', 's1', 's2', 'v1', 'v2', 'bumid') ->from('tx_watten_domain_model_ergebnisse') ->where($queryBuilder->expr()->eq('event_id', (int) $event_id)) ->execute(); $usr = []; $data = []; foreach ($ergebnisse as $value) { $usr[] = $value['s1']; $usr[] = $value['s2']; $usr[] = $value['v1']; $usr[] = $value['v2']; $data[] = $value; } $usr = array_unique($usr); $arr = []; $datasets = []; foreach ($data as $value) { $arr['labels'][] = $value['uid']; $bum = $value['bumid']; $s1 = $value['s1']; $s2 = $value['s2']; $v1 = $value['v1']; $v2 = $value['v2']; foreach ($usr as $key => $uid) { if (isset($datasets[$uid])) { $punkte = 0; if ($s1 == $uid or $s2 == $uid) { switch ($bum) { case 1: $punkte = 1.1; break; case 2: $punkte = 2.1; break; case 4: $punkte = 4.1; break; } } elseif ($v1 == $uid or $v2 == $uid) { switch ($bum) { case 1: $punkte = -1; break; case 2: $punkte = -2; break; case 4: $punkte = -4; break; } } $datasets[$uid]['stand'] = round($datasets[$uid]['stand'] + $punkte, 2); $datasets[$uid]['data'][] = $datasets[$uid]['stand']; } else { $datasets[$uid]['label'] = $user[$uid]; $punkte = 0; if ($s1 == $uid or $s2 == $uid) { switch ($bum) { case 1: $punkte = 1.1; break; case 2: $punkte = 2.1; break; case 4: $punkte = 4.1; break; } } elseif ($v1 == $uid or $v2 == $uid) { switch ($bum) { case 1: $punkte = -1; break; case 2: $punkte = -2; break; case 4: $punkte = -4; break; } } $datasets[$uid]['stand'] = $punkte; $datasets[$uid]['data'][] = $punkte; } } } foreach ($datasets as $value) { unset($value['stand']); $value['pointRadius'] = 2; $value['tension'] = 0; $value['borderWidth'] = 0.5; $arr['datasets'][] = $value; } return $arr; } public static function loadPaarlauf($activeTournament, $athlet_1) { $athlet_1 = (int) $athlet_1; $athlet_2 = 3; $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tx_watten_domain_model_athleten')->createQueryBuilder(); $res = $queryBuilder ->select('uid', 'name') ->from('tx_watten_domain_model_athleten') ->execute(); $user = []; foreach ($res as $key => $value) { $user[$value['uid']] = $value['name']; } $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tx_watten_domain_model_ergebnisse')->createQueryBuilder(); if ($activeTournament < 0) { $res = $queryBuilder ->select('s1', 's2', 'v1', 'v2', 'bumid', 'gstrichen') ->from('tx_watten_domain_model_ergebnisse') ->execute(); } else { $res = $queryBuilder ->select('s1', 's2', 'v1', 'v2', 'bumid', 'gstrichen') ->from('tx_watten_domain_model_ergebnisse') ->where($queryBuilder->expr()->eq('tournaments_id', (int) $activeTournament)) ->execute(); } $_names = [ 'spiele' => 0, 'siege' => 0, 'verloren' => 0, 'sn' => 0, 'ss' => 0, 'srs' => 0, 'sg' => 0, 'vn' => 0, 'vs' => 0, 'vrs' => 0, 'vg' => 0, ]; $_data = []; foreach ($res as $row) { if ($row['s1'] == $athlet_1 or $row['s2'] == $athlet_1) { if ($row['s1'] == $athlet_1) $partner = (int) $row['s2']; else $partner = (int) $row['s1']; $gegner1 = (int) $row['v1']; $gegner2 = (int) $row['v2']; $bummalen = (int) $row['bumid']; $gstrichen = (int) $row['gstrichen']; if (!isset($_data[$partner])) { $_data[$partner] = $_names; } $_data[$partner]['spiele']++; $_data[$partner]['siege']++; if ($bummalen == 1) $_data[$partner]['sn']++; else if ($bummalen == 2) $_data[$partner]['ss']++; else if ($bummalen == 4) $_data[$partner]['srs']++; if ($gstrichen == 1) $_data[$partner]['sg']++; if ($gegner1 < $gegner2) { $team = "$gegner1:$gegner2"; } else { $team = "$gegner2:$gegner1"; } if (!isset($_data[$partner]['gegner'][$team])) { $_data[$partner]['gegner'][$team] = $_names; } $_data[$partner]['gegner'][$team]['spiele']++; $_data[$partner]['gegner'][$team]['siege']++; if ($bummalen == 1) $_data[$partner]['gegner'][$team]['sn']++; else if ($bummalen == 2) $_data[$partner]['gegner'][$team]['ss']++; else if ($bummalen == 4) $_data[$partner]['gegner'][$team]['srs']++; if ($gstrichen == 1) $_data[$partner]['gegner'][$team]['sg']++; } else if ($row['v1'] == $athlet_1 or $row['v2'] == $athlet_1) { if ($row['v1'] == $athlet_1) $partner = $row['v2']; else $partner = (int) $row['v1']; $gegner1 = (int) $row['s1']; $gegner2 = (int) $row['s2']; $bummalen = (int) $row['bumid']; $gstrichen = (int) $row['gstrichen']; if (!isset($_data[$partner])) { $_data[$partner] = $_names; } $_data[$partner]['spiele']++; $_data[$partner]['verloren']++; if ($bummalen == 1) $_data[$partner]['vn']++; if ($bummalen == 2) $_data[$partner]['vs']++; if ($bummalen == 4) $_data[$partner]['vrs']++; if ($gstrichen == 1) $_data[$partner]['vg']++; if ($gegner1 < $gegner2) { $team = "$gegner1:$gegner2"; } else { $team = "$gegner2:$gegner1"; } if (!isset($_data[$partner]['gegner'][$team])) { $_data[$partner]['gegner'][$team] = $_names; } $_data[$partner]['gegner'][$team]['spiele']++; $_data[$partner]['gegner'][$team]['verloren']++; if ($bummalen == 1) $_data[$partner]['gegner'][$team]['vn']++; if ($bummalen == 2) $_data[$partner]['gegner'][$team]['vs']++; if ($bummalen == 4) $_data[$partner]['gegner'][$team]['vrs']++; if ($gstrichen == 1) $_data[$partner]['gegner'][$team]['vg']++; } } $return = []; if(isset($user[$athlet_1])){ $athlet = $user[$athlet_1]; foreach ($_data as $partnerid => $row) { $tmp = []; $partner = $user[$partnerid]; $tmp['head'] = 1; $tmp['teams'] = $athlet . ' & ' . $partner . ' '; $tmp['spiele'] = $row['spiele']; $tmp['siege'] = $row['siege']; $tmp['verloren'] = $row['verloren']; $tmp['sn'] = $row['sn']; $tmp['ss'] = $row['ss']; $tmp['srs'] = $row['srs']; $tmp['sg'] = $row['sg']; $tmp['vn'] = $row['vn']; $tmp['vs'] = $row['vs']; $tmp['vrs'] = $row['vrs']; $tmp['vg'] = $row['vg']; $return[] = $tmp; foreach ($row['gegner'] as $team => $value) { $tmp = []; $tmp['head'] = 0; $tmp['teams'] = $athlet . ' & ' . $partner . ' ' . self::getnames($user, $team); $tmp['spiele'] = $value['spiele']; $tmp['siege'] = $value['siege']; $tmp['verloren'] = $value['verloren']; $tmp['sn'] = $value['sn']; $tmp['ss'] = $value['ss']; $tmp['srs'] = $value['srs']; $tmp['sg'] = $value['sg']; $tmp['vn'] = $value['vn']; $tmp['vs'] = $value['vs']; $tmp['vrs'] = $value['vrs']; $tmp['vg'] = $value['vg']; $return[] = $tmp; } } } foreach ($return as $key1 => $row) { foreach ($row as $key2 => $value) { if ($key2 != 'teams' and $value == 0) $return[$key1][$key2] = ''; } } return $return; } public function getnames(&$user, $team) { $_gegner = explode(':', $team); $g1 = $_gegner[0]; $g2 = $_gegner[1]; return $user[$g1] . " & " . $user[$g2]; } } // Array // ( // [26] => Array // ( // [spiele] => 11 // [siege] => 6 // [verloren] => 5 // [sn] => 0 // [ss] => 0 // [srs] => 0 // [gs] => 0 // [vn] => 0 // [vs] => 0 // [vrs] => 0 // [vg] => 0 // [6:31] => Array // ( // [spiele] => 1 // [siege] => 1 // [verloren] => 0 // [sn] => 1 // [ss] => 0 // [srs] => 0 // [gs] => 0 // [vn] => 0 // [vs] => 0 // [vrs] => 0