Statistika


get_results(self::getSelectYears());
return self::$years;
}

static function getHighScoreByYear($year, $high_score) {
return $GLOBALS[‘wpdb’]->get_results(self::getSelectHighScoreByYear($year, $high_score));
}

static function getHighScrorePlayersByYear($year) {
return $GLOBALS[‘wpdb’]->get_results(self::getSelectHighScorePlayersByYear($year));
}

static function getCheckoutPlayersByYear($year) {
return $GLOBALS[‘wpdb’]->get_results(self::getSelectCheckoutPlayersByYear($year));
}

private static function getSelectYears() {
return ‘SELECT DISTINCT YEAR( DATE ) as year FROM statistika ORDER BY 1 desc;’;
}

private static function getSelectHighScoreByYear($year, $highs_score) {
return “select p.name as name, p.surname as surname, count(*) as count ”
. “from statistika s, players p ”
. “where p.id = s.player_id and s.achivement = ” . ($highs_score == ‘Bull’ ? 50 : $highs_score) . ” ”
. “and year(s.date) = ‘” . $year . “‘ ”
. “group by p.name, p.surname order by 3 desc;”;
}

private static function getSelectCheckoutPlayersByYear($year) {
return “select p.id as id, p.name as name, p.surname as surname, max(s.achivement) as maximal, count(*) as count ”
. “from statistika s, players p ”
. “where p.id = s.player_id and (s.achivement <= 170 and s.achivement>99) and year(s.date) = ‘” . $year . “‘ ”
. “group by p.id, p.name, p.surname ”
. “order by 4 desc, 5 desc;”;
}

static function getCheckoutsByPlayerYearStr($player_id, $year) {
$checkouts = ”;
$delimeter = ”;
foreach (self::getCheckoutsByPlayerYear($player_id, $year) as $checkout) {
$checkouts .= $delimeter . $checkout->achivement;
$delimeter = ‘, ‘;
}
return $checkouts;
}

private static function getCheckoutsByPlayerYear($player_id, $year) {
return $GLOBALS[‘wpdb’]->get_results(self::getSelectCheckoutsByPlayerYear($player_id, $year));
}

private static function getSelectCheckoutsByPlayerYear($player_id, $year) {
return “select s.achivement as achivement ”
. “from statistika s ”
. “where s.player_id = $player_id and (s.achivement <= 170 and s.achivement>99) and year(s.date) = ‘” . $year . “‘;”;
}

static function getYearHighScores($year) {
if ($year >= 2018)
return array(180, 177, 174, 171, ‘Bull’);
return array(180);
}

static function getYearHighScoresStr($year) {
$delimeter = ”;
$str = ”;
foreach (self::getYearHighScores($year) as $high_score) {
$str .= $delimeter . ($high_score == ‘Bull’ ? 50 : $high_score);
$delimeter = ‘,’;
}
return $str;
}

static function getAvailableDartsFinishesByYear($year) {
return $GLOBALS[‘wpdb’]->get_results(self::getSelectDartsFinishesByYear($year));
}

private static function getSelectDartsFinishesByYear($year) {
return “select s.achivement as achivement ”
. “from statistika s ”
. “where s.achivement<22 and year(s.date) = '" . $year . "' " . "group by s.achivement " . "order by s.achivement;"; } static function getDartsFinishPlayersByYear($year) { return $GLOBALS['wpdb']->get_results(self::getSelectDartsFinishPlayersByYear($year));
}

private static function getSelectDartsFinishPlayersByYear($year) {
return “select p.id as id, p.name as name, p.surname as surname, count(*) as count, min(s.achivement) as min ”
. “from statistika s, players p ”
. “where p.id = s.player_id and s.achivement < 22 and year(s.date) = '" . $year . "' " . "group by p.id, p.name, p.surname " . "order by 5, 4 desc;"; } static function getDartsFinishByPlayerCountYear($player_id, $count, $year) { $players_counts = $GLOBALS['wpdb']->get_results(self::getSelectDartsFinishByPlayerCountYear($player_id, $count, $year));
foreach ($players_counts as $players_count)
return $players_count->count;
}

private static function getSelectDartsFinishByPlayerCountYear($player_id, $count, $year) {
return “select count(*) as count
from statistika s
where s.achivement = $count
and s.player_id = $player_id
and year(s.date) = ‘” . $year . “‘”;
}

static function getSelectHighScorePlayersByYear($year) {
return “select p.id as player_id, p.name as name, p.surname as surname, count(*) as count ”
. “from statistika s, players p ”
. “where p.id = s.player_id and year(s.date) = ‘” . $year . “‘ ”
. “and achivement in (” . self::getYearHighScoresStr($year) . “) ”
. “group by p.id, p.name, p.surname order by 4 desc;”;
}

static function getHighScorePlayerYear($high_score, $player, $year) {
foreach ($GLOBALS[‘wpdb’]->get_results(self::getSelectHighScorePlayerYear($high_score, $player, $year)) as $high_score)
return $high_score->amount;
return 0;
}

static function getSelectHighScorePlayerYear($high_score, $year, $player) {
return “SELECT player_id, count(*) as amount FROM statistika ”
. “WHERE year(date) = ‘” . $year . “‘ and player_id = ‘” . $player . “‘ ”
. “and achivement = ‘” . ($high_score == ‘Bull’ ? 50 : $high_score) . “‘ ”
. “GROUP BY player_id”;
}

}
?>