195 lines
5.6 KiB
PHP
Executable File
195 lines
5.6 KiB
PHP
Executable File
<?php
|
|
// Tento skript bude vracet ruzne informace nebo provadet ruzne operace ohledne katalogu (editovatelny sortiment)
|
|
|
|
|
|
if (str_contains(getallheaders()['Content-Type'], "application/json")) {
|
|
$data = json_decode(file_get_contents('php://input'), true);
|
|
|
|
if($data["security_token"] != "jebatceckyhajzel") {
|
|
die();
|
|
}
|
|
|
|
if($data["akce"] == "nahraj") {
|
|
nahrajKatalog($data["katalog"]);
|
|
} else if($data["akce"] == "zverejni") {
|
|
zverejniKatalog($data["soubor"]);
|
|
} else if($data["akce"] == "obsah") {
|
|
obsahKatalogu($data["soubor"]);
|
|
} else if ($data["akce"] == "frontend") {
|
|
vykresliKatalog();
|
|
}
|
|
die();
|
|
}
|
|
|
|
if($_POST["akce"] == "obsah") {
|
|
// Obsah jednoho konkretniho souboru
|
|
die();
|
|
} else if ($_POST["akce"] == "frontend") {
|
|
// Vykresleni frfontend katalogu
|
|
vykresliKatalog();
|
|
} else {
|
|
seznamKatalogu();
|
|
}
|
|
|
|
// Obsah je hotovy
|
|
function obsahKatalogu($soubor) {
|
|
// pokud soubor existuje, vratit v JSON formatu
|
|
/*
|
|
if (! isset($_POST["nazev_souboru"])) {
|
|
// TODO DOPLNIT CHYBOVOU HLASKU
|
|
die();
|
|
}
|
|
*/
|
|
//$cesta = __DIR__ . "/../data/katalog/" . $_POST["nazev_souboru"]; ;
|
|
$cesta = __DIR__ . "/../data/katalog/" . $soubor;
|
|
|
|
if (is_file($cesta)) {
|
|
header("Content-Type: application/json");
|
|
echo json_encode(file_get_contents($cesta), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
}
|
|
|
|
die();
|
|
}
|
|
|
|
// Upload je hotovy
|
|
function nahrajKatalog($data) {
|
|
$jsonData = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
$cesta = __DIR__ . "/../data/katalog/katalog_" . date("Y-m-d") . ".json";
|
|
|
|
$i = 1;
|
|
while (is_file($cesta)) {
|
|
$poradi = sprintf("%02d", $i);
|
|
$cesta = __DIR__ . "/../data/katalog/katalog_" . date("Y-m-d") . "_" . $poradi . ".json";
|
|
$i++;
|
|
}
|
|
|
|
file_put_contents($cesta, $jsonData);
|
|
}
|
|
|
|
// Zverejni je hotovy
|
|
function zverejniKatalog($soubor) {
|
|
$from = __DIR__ . "/../data/katalog/$soubor";
|
|
$to = __DIR__ . "/../data/katalog_public/katalog.json";
|
|
copy($from, $to);
|
|
}
|
|
|
|
// seznam je Hotovy
|
|
function seznamKatalogu() {
|
|
$directory = __DIR__ . "/../data/katalog/";
|
|
$seznamKatalogu = array_diff(scandir($directory, SCANDIR_SORT_DESCENDING), array('..', '.'));
|
|
echo json_encode($seznamKatalogu);
|
|
}
|
|
|
|
function vykresliKatalog() {
|
|
|
|
header("Content-Type: text/html");
|
|
|
|
$katalog = json_decode(file_get_contents(__DIR__ . "/../data/katalog_public/katalog.json"));
|
|
|
|
$output = "";
|
|
$output .= '<div id="accordion">';
|
|
foreach($katalog as $k=>$v) {
|
|
$kategorie = $k;
|
|
// Kategorie
|
|
$output .= '
|
|
<div class="card sortiment_accordion">
|
|
<div class="card-header" id="heading'.$kategorie.'">
|
|
<h2 class="mb-0 sortiment_tabulka_nadpis">
|
|
<button class="btn sortiment_accordion_button collapsed" data-toggle="collapse" data-target="#collapse'.$kategorie.'" aria-expanded="false" aria-controls="collapse'.$kategorie.'">'.$kategorie.'</button>
|
|
</h2>
|
|
</div>
|
|
|
|
|
|
<div id="collapse'.$kategorie.'" class="collapse" aria-labelledby="heading'.$kategorie.'" data-parent="#accordion">
|
|
<div class="card-body">
|
|
<table class="table table-sm sortiment_tabulka table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col" class="col-4">Rozměry</th>
|
|
<th scope="col" class="col-2">MJ</th>
|
|
<th scope="col" class="col-2">Cena bez DPH</th>
|
|
<th scope="col" class="col-2">Cena s DPH</th>
|
|
<th scope="col" class="col-2">Cena/ks</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
';
|
|
|
|
foreach($v as $p) {
|
|
$output .= ' <tr>
|
|
<td scope="row" class="col-6">'.$p->nazev.'</td>
|
|
<td class="col-2">'.$p->mj.'</sup></td>
|
|
<td class="text_vlevo col-2">'.$p->cena.'</td>
|
|
<td class="text_vlevo col-2">'.$p->cenadph.'</td>
|
|
<td class="text_vlevo col-2">'.$p->cenaks.'</td>
|
|
</tr>
|
|
';
|
|
}
|
|
$output .= '</tbody></table></div></div></div></div>';
|
|
}
|
|
|
|
$output .= "</div>";
|
|
echo $output;
|
|
|
|
|
|
exit;
|
|
|
|
|
|
|
|
$kategorie = "KATEGORIE";
|
|
$nazev = "NAZEV";
|
|
$MJ = "MJ";
|
|
$cena = 100;
|
|
$cenaDPh = 121;
|
|
$cenaKS = 50;
|
|
|
|
$output = "";
|
|
$output .= '<div id="accordion">';
|
|
|
|
|
|
|
|
|
|
// Kategorie
|
|
$output .= '
|
|
<div class="card sortiment_accordion">
|
|
<div class="card-header" id="heading'.$kategorie.'">
|
|
<h2 class="mb-0 sortiment_tabulka_nadpis">
|
|
<button class="btn sortiment_accordion_button collapsed" data-toggle="collapse" data-target="#collapse'.$kategorie.'" aria-expanded="false" aria-controls="collapse'.$kategorie.'">
|
|
Hranoly
|
|
</button>
|
|
</h2>
|
|
</div>
|
|
|
|
|
|
<div id="collapse'.$kategorie.'" class="collapse" aria-labelledby="heading'.$kategorie.'" data-parent="#accordion">
|
|
<div class="card-body">
|
|
<table class="table table-sm sortiment_tabulka table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col" class="col-4">Rozměry</th>
|
|
<th scope="col" class="col-2">MJ</th>
|
|
<th scope="col" class="col-2">Cena bez DPH</th>
|
|
<th scope="col" class="col-2">Cena s DPH</th>
|
|
<th scope="col" class="col-2">Cena/ks</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
';
|
|
|
|
// FOREACH PRODUKT
|
|
$output .= ' <tr>
|
|
<td scope="row" class="col-6">'.$nazev.'</td>
|
|
<td class="col-2">'.$MJ.'</sup></td>
|
|
<td class="text_vlevo col-2">'.$cena.'</td>
|
|
<td class="text_vlevo col-2">'.$cenaDPh.'</td>
|
|
<td class="text_vlevo col-2">'.$cenaKS.'</td>
|
|
</tr>
|
|
';
|
|
|
|
$output .= '</tbody></table></div></div></div></div>';
|
|
|
|
|
|
echo $output;
|
|
|
|
}
|