%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /www/varak.net/_losik.varak.net/app/
Upload File :
Create Path :
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');

Zerion Mini Shell 1.0