%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/result-file.php

<?php
/**
 * Created by IntelliJ IDEA.
 * User: mvarak
 * Date: 10/23/2017
 * Time: 1:51 PM
 */

//header("Content-Type: text/plain");
include "../vendor/autoload.php";
include "detailed-results-common.php";

function f($data)
{
    return $data ? $data : "";
}

$format = $_GET['format'];
$date = $eventDetails->date->format("Y-m-d");

use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

// Re-order stage names to start with 1
$sn = array();
$i = 1;
foreach ($stageNames as $n)
{
    $sn[$i++] = $n;
}
$stageNames = $sn;

//$spreadsheet = IOFactory::load("../data/LOSik_2017-template-strict.xlsx");
$spreadsheet = null;
$trigun = false;
if(count($stageNames) == 12)
{
    $spreadsheet = IOFactory::load("../data/LOSik_3gun_template.xls");
    $trigun = true;
}
else
{
    $spreadsheet = IOFactory::load("../data/LOSik_2017-template.xls");
    $trigun = false;
}

//print_r($spreadsheet);
//echo $spreadsheet->
//print_r($stages);
//echo json_encode($stageNames, JSON_PRETTY_PRINT);
$line = 2;
foreach ($stages as $shooter) {
    if (!$trigun)
    {
        $ss = $spreadsheet->setActiveSheetIndex(0);
        // Process shooter
        $line++;
        $ss->setCellValue("B" . $line, $shooter->name);
        $ss->setCellValue("C" . $line, $date);
        $i = 0;
        //$ss->setCellValue("BA1","=MIN(IF(R3:R93>0,R3:R93))");
        //echo $ss->getCell("BA1")->getCalculatedValue();

        foreach ($shooter->stages as $stageid => $stage)
        {
            $i++;
            if ($stageNames[$i]->name == "Stage A" || $stageNames[$i]->name == "Hanácká puška A")
            {
                $ss->setCellValue("E" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("F" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("G" . $line, $stage->partialTimes[2]);
                $ss->setCellValue("H" . $line, $stage->partialTimes[3]);
                $ss->setCellValue("I" . $line, $stage->partialTimes[4]);
                $ss->setCellValue("J" . $line, $stage->partialTimes[5]);

                $ss->setCellValue("L" . $line, f($stage->alpha));
                $ss->setCellValue("M" . $line, f($stage->charlie));
                $ss->setCellValue("N" . $line, f($stage->delta));
                $ss->setCellValue("O" . $line, f($stage->miss));
                $ss->setCellValue("P" . $line, f($stage->noshoot));
                $ss->setCellValue("Q" . $line, f($stage->proc));

                //$ss->setCellValue("BA" . $line, $stage->percent);
                $ss->setCellValue("BA1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Stage B" || $stageNames[$i]->name == "Hanácká puška B")
            {
                $ss->setCellValue("S" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("T" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("U" . $line, $stage->partialTimes[2]);

                $ss->setCellValue("W" . $line, f($stage->alpha));
                $ss->setCellValue("X" . $line, f($stage->charlie));
                $ss->setCellValue("Y" . $line, f($stage->delta));
                $ss->setCellValue("Z" . $line, f($stage->miss));
                $ss->setCellValue("AA" . $line, f($stage->noshoot));
                $ss->setCellValue("AB" . $line, f($stage->proc));

                //$ss->setCellValue("BB" . $line, $stage->percent);
                $ss->setCellValue("BB1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Stage C" || $stageNames[$i]->name == "Hanácká puška C")
            {
                $ss->setCellValue("AD" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("AE" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("AF" . $line, $stage->partialTimes[2]);

                $ss->setCellValue("AH" . $line, f($stage->alpha));
                $ss->setCellValue("AI" . $line, f($stage->charlie));
                $ss->setCellValue("AJ" . $line, f($stage->delta));
                $ss->setCellValue("AK" . $line, f($stage->miss));
                $ss->setCellValue("AL" . $line, f($stage->noshoot));
                $ss->setCellValue("AM" . $line, f($stage->proc));

                //$ss->setCellValue("BC" . $line, $stage->percent);
                $ss->setCellValue("BC1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Stage D" || $stageNames[$i]->name == "Hanácká puška D")
            {
                $ss->setCellValue("AO" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("AP" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("AQ" . $line, $stage->partialTimes[2]);

                $ss->setCellValue("AS" . $line, f($stage->alpha));
                $ss->setCellValue("AT" . $line, f($stage->charlie));
                $ss->setCellValue("AU" . $line, f($stage->delta));
                $ss->setCellValue("AV" . $line, f($stage->miss));
                $ss->setCellValue("AW" . $line, f($stage->noshoot));
                $ss->setCellValue("AX" . $line, f($stage->proc));

                //$ss->setCellValue("BD" . $line, $stage->percent);
                $ss->setCellValue("BD1", $minimums[$stageid]);
            }
        }
    }
    else
    {
        // 3GUN
        //$ss = $spreadsheet->setActiveSheetIndex(0);
        // Process shooter
        $line++;
//        $ss->setCellValue("B" . $line, $shooter->name);
//        $ss->setCellValue("C" . $line, $date);
        $i = 0;
        //$ss->setCellValue("BA1","=MIN(IF(R3:R93>0,R3:R93))");
        //echo $ss->getCell("BA1")->getCalculatedValue();

        foreach ($shooter->stages as $stageid => $stage)
        {
            $i++;
            $ss = null;
            if(strstr($stageNames[$i]->name, "Pistol"))
                $ss = $spreadsheet->setActiveSheetIndex(0);
            elseif(strstr($stageNames[$i]->name, "Brokovnice"))
                $ss = $spreadsheet->setActiveSheetIndex(1);
            elseif(strstr($stageNames[$i]->name, "Puška"))
                $ss = $spreadsheet->setActiveSheetIndex(2);

            if ($stageNames[$i]->name == "Pistol Stage A")
            {
                $ss->setCellValue("B" . $line, $shooter->name);
                $ss->setCellValue("C" . $line, $date);

                $ss->setCellValue("E" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("F" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("G" . $line, $stage->partialTimes[2]);
                $ss->setCellValue("H" . $line, $stage->partialTimes[3]);
                $ss->setCellValue("I" . $line, $stage->partialTimes[4]);
                $ss->setCellValue("J" . $line, $stage->partialTimes[5]);

                $ss->setCellValue("L" . $line, f($stage->alpha));
                $ss->setCellValue("M" . $line, f($stage->charlie));
                $ss->setCellValue("N" . $line, f($stage->delta));
                $ss->setCellValue("O" . $line, f($stage->miss));
                $ss->setCellValue("P" . $line, f($stage->noshoot));
                $ss->setCellValue("Q" . $line, f($stage->proc));

                //$ss->setCellValue("BA" . $line, $stage->percent);
                $ss->setCellValue("BA1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Pistol Stage B")
            {
                $ss->setCellValue("S" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("T" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("U" . $line, $stage->partialTimes[2]);

                $ss->setCellValue("W" . $line, f($stage->alpha));
                $ss->setCellValue("X" . $line, f($stage->charlie));
                $ss->setCellValue("Y" . $line, f($stage->delta));
                $ss->setCellValue("Z" . $line, f($stage->miss));
                $ss->setCellValue("AA" . $line, f($stage->noshoot));
                $ss->setCellValue("AB" . $line, f($stage->proc));

                //$ss->setCellValue("BB" . $line, $stage->percent);
                $ss->setCellValue("BB1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Pistol Stage C")
            {
                $ss->setCellValue("AD" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("AE" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("AF" . $line, $stage->partialTimes[2]);

                $ss->setCellValue("AH" . $line, f($stage->alpha));
                $ss->setCellValue("AI" . $line, f($stage->charlie));
                $ss->setCellValue("AJ" . $line, f($stage->delta));
                $ss->setCellValue("AK" . $line, f($stage->miss));
                $ss->setCellValue("AL" . $line, f($stage->noshoot));
                $ss->setCellValue("AM" . $line, f($stage->proc));

                //$ss->setCellValue("BC" . $line, $stage->percent);
                $ss->setCellValue("BC1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Pistol Stage D")
            {
                $ss->setCellValue("AO" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("AP" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("AQ" . $line, $stage->partialTimes[2]);

                $ss->setCellValue("AS" . $line, f($stage->alpha));
                $ss->setCellValue("AT" . $line, f($stage->charlie));
                $ss->setCellValue("AU" . $line, f($stage->delta));
                $ss->setCellValue("AV" . $line, f($stage->miss));
                $ss->setCellValue("AW" . $line, f($stage->noshoot));
                $ss->setCellValue("AX" . $line, f($stage->proc));

                //$ss->setCellValue("BD" . $line, $stage->percent);
                $ss->setCellValue("BD1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Brokovnice Stage A")
            {
                $ss->setCellValue("B" . $line, $shooter->name);
                $ss->setCellValue("C" . $line, $date);

                $ss->setCellValue("E" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("F" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("G" . $line, $stage->partialTimes[2]);
                $ss->setCellValue("H" . $line, $stage->partialTimes[3]);

                $ss->setCellValue("J" . $line, f($stage->popper));
                $ss->setCellValue("K" . $line, f($stage->missPopper));
                $ss->setCellValue("L" . $line, f($stage->proc));

                //$ss->setCellValue("BA" . $line, $stage->percent);
                $ss->setCellValue("AM1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Brokovnice Stage B")
            {
                $ss->setCellValue("N" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("O" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("P" . $line, $stage->partialTimes[2]);

                $ss->setCellValue("R" . $line, f($stage->popper));
                $ss->setCellValue("S" . $line, f($stage->missPopper));
                $ss->setCellValue("T" . $line, f($stage->proc));

                //$ss->setCellValue("BB" . $line, $stage->percent);
                $ss->setCellValue("AN1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Brokovnice Stage C")
            {
                $ss->setCellValue("V" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("W" . $line, $stage->partialTimes[1]);

                $ss->setCellValue("Y" . $line, f($stage->popper));
                $ss->setCellValue("Z" . $line, f($stage->missPopper));
                $ss->setCellValue("AA" . $line, f($stage->proc));

                //$ss->setCellValue("BC" . $line, $stage->percent);
                $ss->setCellValue("AO1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Brokovnice Stage D")
            {
                $ss->setCellValue("AC" . $line, $stage->partialTimes[0]);

                $ss->setCellValue("AE" . $line, f($stage->alpha));
                $ss->setCellValue("AF" . $line, f($stage->charlie));
                $ss->setCellValue("AG" . $line, f($stage->delta));
                $ss->setCellValue("AH" . $line, f($stage->miss));
                $ss->setCellValue("AI" . $line, f($stage->noshoot));
                $ss->setCellValue("AJ" . $line, f($stage->proc));

                //$ss->setCellValue("BD" . $line, $stage->percent);
                $ss->setCellValue("AP1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Puška Stage A")
            {
                $ss->setCellValue("B" . $line, $shooter->name);
                $ss->setCellValue("C" . $line, $date);

                $ss->setCellValue("E" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("F" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("G" . $line, $stage->partialTimes[2]);

                $ss->setCellValue("I" . $line, f($stage->alpha));
                $ss->setCellValue("J" . $line, f($stage->charlie));
                $ss->setCellValue("K" . $line, f($stage->delta));
                $ss->setCellValue("L" . $line, f($stage->miss));
                $ss->setCellValue("M" . $line, f($stage->noshoot));
                $ss->setCellValue("N" . $line, f($stage->proc));

                //$ss->setCellValue("BA" . $line, $stage->percent);
                $ss->setCellValue("AX1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Puška Stage B")
            {
                $ss->setCellValue("P" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("Q" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("R" . $line, $stage->partialTimes[2]);

                $ss->setCellValue("T" . $line, f($stage->alpha));
                $ss->setCellValue("U" . $line, f($stage->charlie));
                $ss->setCellValue("V" . $line, f($stage->delta));
                $ss->setCellValue("W" . $line, f($stage->miss));
                $ss->setCellValue("X" . $line, f($stage->noshoot));
                $ss->setCellValue("Y" . $line, f($stage->proc));

                //$ss->setCellValue("BB" . $line, $stage->percent);
                $ss->setCellValue("AY1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Puška Stage C")
            {
                $ss->setCellValue("AA" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("AB" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("AC" . $line, $stage->partialTimes[2]);

                $ss->setCellValue("AE" . $line, f($stage->alpha));
                $ss->setCellValue("AF" . $line, f($stage->charlie));
                $ss->setCellValue("AG" . $line, f($stage->delta));
                $ss->setCellValue("AH" . $line, f($stage->miss));
                $ss->setCellValue("AI" . $line, f($stage->noshoot));
                $ss->setCellValue("AJ" . $line, f($stage->proc));

                //$ss->setCellValue("BC" . $line, $stage->percent);
                $ss->setCellValue("AZ1", $minimums[$stageid]);
            }
            elseif ($stageNames[$i]->name == "Puška Stage D")
            {
                $ss->setCellValue("AL" . $line, $stage->partialTimes[0]);
                $ss->setCellValue("AM" . $line, $stage->partialTimes[1]);
                $ss->setCellValue("AN" . $line, $stage->partialTimes[2]);

                $ss->setCellValue("AP" . $line, f($stage->alpha));
                $ss->setCellValue("AQ" . $line, f($stage->charlie));
                $ss->setCellValue("AR" . $line, f($stage->delta));
                $ss->setCellValue("AS" . $line, f($stage->miss));
                $ss->setCellValue("AT" . $line, f($stage->noshoot));
                $ss->setCellValue("AU" . $line, f($stage->proc));

                //$ss->setCellValue("BD" . $line, $stage->percent);
                $ss->setCellValue("BA1", $minimums[$stageid]);
            }
        }
    }
}
// Hide unneeded columns
if(($stageNames[1]->name == "Stage A" || $stageNames[1]->name == "Hanácká puška A") && count($stageNames) == 3)
{
    // Hide stage D
    //$spreadsheet->setActiveSheetIndex(0)->removeColumn("BD");
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("AO")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("AP")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("AQ")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("AR")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("AS")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("AT")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("AU")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("AV")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("AW")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("AX")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("AY")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("BD")->setVisible(false);
}
elseif($stageNames[1]->name == "Stage B" || $stageNames[1]->name == "Hanácká puška B")
{
    // Hide stage A
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("E")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("F")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("G")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("H")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("I")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("J")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("K")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("L")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("M")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("N")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("O")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("P")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("Q")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("R")->setVisible(false);
    $spreadsheet->setActiveSheetIndex(0)->getColumnDimension("BA")->setVisible(false);
}





$spreadsheet->setActiveSheetIndex(0);
$writer = IOFactory::createWriter($spreadsheet, ucfirst($format));
if(strtoupper($format) != "HTML")
{
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="LOSik-' . $date . '.' . $format . '"');
}
header('Cache-Control: max-age=0');

if(strtoupper($format) == "HTML")
    $writer->writeAllSheets();
$writer->save('php://output');

exit;

Zerion Mini Shell 1.0