Fungujici editor polozek
This commit is contained in:
194
skripty/katalog.php
Executable file
194
skripty/katalog.php
Executable file
@@ -0,0 +1,194 @@
|
||||
<?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;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user