Fungujici editor polozek

This commit is contained in:
2026-04-06 20:32:26 +02:00
parent 215a4f4bbf
commit 1aa4193039
43 changed files with 598 additions and 2046 deletions

194
skripty/katalog.php Executable file
View 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;
}