<?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++;
    }

    echo json_encode(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->rozmery.'</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;

}
