%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');