%PDF- %PDF-
Direktori : /www/varak.net/_losik.varak.net/app/ |
Current File : /www/varak.net/_losik.varak.net/app/detailed-results-common.php |
<?php /** * Created by IntelliJ IDEA. * User: mvarak * Date: 10/23/2017 * Time: 1:53 PM */ if(!isset($_GET['id']) && isset($_GET['uuid'])) { $id = dibi::query("SELECT [id] FROM [matches] WHERE [guid] = %s", $_GET['uuid'])->fetchSingle(); } //$smarty->debugging = true; $eventDetails = dibi::query("SELECT [name], [date] FROM [matches] WHERE [id]=%i", $id)->fetch(); function cmp($a, $b) { if($a->finalPercent == $b->finalPercent) return 0; return $a->finalPercent < $b->finalPercent ? 1 : -1; } $minimums = array(); $result = dibi::query("SELECT [stageid] [stage], min([totaltime]) [ttime] FROM [display_results] WHERE [match]=%i GROUP BY [stageid]", $id); foreach ($result as $res) { $minimums[$res->stage] = $res->ttime; } $result = dibi::query("SELECT [order], [strings] FROM [stages] WHERE [match]=%i", $id); $stagePartials = array(); foreach ($result as $res) { $stagePartials[$res->order] = $res->strings; } $stages = array(); $stageNames = array(); $result = dibi::query("SELECT [shooterid] [user], [shootername] [name], [division] [division], [totaltime] [totalTime], [stageid] [stage], [stageorder] [order], [time], [alpha], [charlie], [delta], [popper], [miss], [misspopper] [missPopper], [noshoot], [proc], [stagename] [stageName] FROM [display_results] WHERE [display_results].[match] = %i ORDER BY [order]", $id); foreach ($result as $res) { if (!isset($stages[$res->user])) { $stages[$res->user] = new stdClass(); $stages[$res->user]->name = $res->name; $stages[$res->user]->division = $res->division; $stages[$res->user]->stages = array(); $stages[$res->user]->total = 0; } $stages[$res->user]->stages[$res->stage] = new stdClass(); $stages[$res->user]->stages[$res->stage]->percent = sprintf("%0.2f", ($minimums[$res->stage] / $res->totalTime) * 100); $stages[$res->user]->total += ($minimums[$res->stage] / $res->totalTime) * 100; $stages[$res->user]->stages[$res->stage]->name = $res->stageName; $stages[$res->user]->stages[$res->stage]->time = $res->time; $stages[$res->user]->stages[$res->stage]->popper = $res->popper; $stages[$res->user]->stages[$res->stage]->alpha = $res->alpha; $stages[$res->user]->stages[$res->stage]->charlie = $res->charlie; $stages[$res->user]->stages[$res->stage]->delta = $res->delta; $stages[$res->user]->stages[$res->stage]->miss = $res->miss; $stages[$res->user]->stages[$res->stage]->missPopper = $res->missPopper; $stages[$res->user]->stages[$res->stage]->noshoot = $res->noshoot; $stages[$res->user]->stages[$res->stage]->proc = $res->proc; $stages[$res->user]->stages[$res->stage]->totalTime = $res->totalTime; $stages[$res->user]->stages[$res->stage]->partialTimes = false; if(!isset($stageNames[$res->order])) { $stageNames[$res->order] = new stdClass(); $stageNames[$res->order]->name = $res->stageName; $stageNames[$res->order]->stageid = $res->stage; // Pistol LOSik if($res->stageName == 'Stage A') $stageNames[$res->order]->bgcolor = "#00FF00"; elseif($res->stageName == 'Stage B') $stageNames[$res->order]->bgcolor = "#00FFFF"; elseif($res->stageName == 'Stage C') $stageNames[$res->order]->bgcolor = "#FFCC99"; elseif($res->stageName == 'Stage D') $stageNames[$res->order]->bgcolor = "#FFFF00"; // 3GUN LOSik elseif($res->stageName == 'Pistol Stage A') $stageNames[$res->order]->bgcolor = "#00FF00"; elseif($res->stageName == 'Pistol Stage B') $stageNames[$res->order]->bgcolor = "#00FFFF"; elseif($res->stageName == 'Pistol Stage C') $stageNames[$res->order]->bgcolor = "#FFCC99"; elseif($res->stageName == 'Pistol Stage D') $stageNames[$res->order]->bgcolor = "#FFFF00"; if($res->stageName == 'Brokovnice Stage A') $stageNames[$res->order]->bgcolor = "#00FF00"; elseif($res->stageName == 'Brokovnice Stage B') $stageNames[$res->order]->bgcolor = "#00FFFF"; elseif($res->stageName == 'Brokovnice Stage C') $stageNames[$res->order]->bgcolor = "#FFCC99"; elseif($res->stageName == 'Brokovnice Stage D') $stageNames[$res->order]->bgcolor = "#FFFF00"; if($res->stageName == 'Puška Stage A') $stageNames[$res->order]->bgcolor = "#00FF00"; elseif($res->stageName == 'Puška Stage B') $stageNames[$res->order]->bgcolor = "#00FFFF"; elseif($res->stageName == 'Puška Stage C') $stageNames[$res->order]->bgcolor = "#FFCC99"; elseif($res->stageName == 'Puška Stage D') $stageNames[$res->order]->bgcolor = "#FFFF00"; // Hanacka puska elseif($res->stageName == 'Hanácká puška A') $stageNames[$res->order]->bgcolor = "#00FF00"; elseif($res->stageName == 'Hanácká puška B') $stageNames[$res->order]->bgcolor = "#00FFFF"; elseif($res->stageName == 'Hanácká puška C') $stageNames[$res->order]->bgcolor = "#FFCC99"; elseif($res->stageName == 'Hanácká puška D') $stageNames[$res->order]->bgcolor = "#FFFF00"; } } $partials = dibi::query("SELECT [shooter_stage_time].[shooter_stage] [result], [display_results].[stageid] [stage], [display_results].[shooterid] [user], [shooter_stage_time].[time] [time] FROM [shooter_stage_time] JOIN [display_results] ON [shooter_stage_time].[shooter_stage] = [display_results].[shooter_stage] --JOIN [stages] ON [results].[stage] = [stages].[id] WHERE [display_results].[match] = %i ORDER BY [shooter_stage_time].[order]", $id); if(count($partials) > 0) { foreach ($partials as $partial) { if(!($stages[$partial->user]->stages[$partial->stage]->partialTimes)) $stages[$partial->user]->stages[$partial->stage]->partialTimes = array(); $stages[$partial->user]->stages[$partial->stage]->partialTimes[] = $partial->time; } } $max = 0; foreach ($stages as $user => $stage) { if($max < $stages[$user]->total) $max = $stages[$user]->total; } foreach ($stages as $user => $stage) $stages[$user]->finalPercent = sprintf("%0.2f", ($stages[$user]->total / $max) * 100); uasort($stages, 'cmp');