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