%PDF- %PDF-
| Direktori : /www/varak.net/losik.varak.net/app/ |
| 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;