<?php

if (isset($_POST)) {
    // .. znamená přechod o jeden adresář zpět v adresářové struktuře
    include "../php/connection.php";
    if (!$MYSQL_UPLOAD)
        ukoncitSpojeni("Přístup zamítnut: Zakázaný upload do DB.", $connection);
    else {

        if ($connection) {
            $data = json_decode(file_get_contents('php://input'), true);

            $duplikat = false;
            $nazev = $data['nazev'];
            $nazevOld = $data['staryNazev'];
            $A = $data['A'];
            $B = $data['B'];
            $topologie = $data['topologie'];
            $typ = $data['typ'];
            $download = (float) $data['download'];
            $upload = (float) $data['upload'];
            $poznamka = $data['poznamka'];
            $vzdalenost = (float) $data['vzdalenost'];
            $oznaceni = $data['oznaceni'];

            $odstranit = $data['odstranit'];

            /* BPL */
            if ($typ == "BPL") {
                $koeficient = (float) $data['koeficient'];
                $pocetSpojek = (int) $data['pocetSpojek'];
                $typSpojek = $data['typSpojek'];
                $rokInstalaceSpojek = $data['rokInstalaceSpojek'];
                $typKabelu = $data['typKabelu'];
                $rokInstalaceKabelu = $data['rokInstalaceKabelu'];
                $rx = (float) $data['rx'];
                $tx = (float) $data['tx'];
                $delkaUsekuKabelu = $data['delkaUsekuKabelu'];
                $prurezKabelu = (float) $data['prurezKabelu'];
                $materialSpojek = $data['materialSpojek'];
                $zatez = (float) $data['zatez'];
                $zemneni = $data['zemneni'];
            }

            /* MW */
            if ($typ == "MW") {
                $rxMHz = (float) $data['rxMHz'];
                $txMHz = (float) $data['txMHz'];
                $bandwithMHz = (int) $data['bandwithMHz'];
                $modulace = $data['modulace'];
            }

            // PŘIDÁNÍ NOVÉ PODMÍNKY S PROMĚNNÝMI PRO SPECIFICKOU TECHNOLOGII

 
            // Hledá se, jestli se spoj nachází v DB
            $query = "SELECT * FROM spoje WHERE Nazev = \"$nazevOld\"";
            $result = mysqli_query($connection, $query);
            if (!$result)
                ukoncitSpojeni("Chyba pri praci s DB - chyba 1", $connection);


            // Pokud ano, dojde jen k aktualizaci/odstranění záznamu
            while ($row = mysqli_fetch_assoc($result)) {
                $duplikat = true;
                $query2 = null; 
                
                if ($row["Nazev"] == $nazevOld && $row["Topologie"] == $topologie) {
                    $id = $row["ID"];
                    if ($odstranit == true) {
                        $query2 = "DELETE FROM spoje WHERE ID = \"$id\"";
                    } else {
                        $querySpecific = null;
                        $queryObecna = "UPDATE spoje SET Nazev='$nazev', StaniceA='$A', StaniceB='$B', Typ='$typ', Download='$download', Upload='$upload', Poznamka='$poznamka', Vzdalenost='$vzdalenost', Oznaceni='$oznaceni'";
                        $queryKonecna = " WHERE ID = \"$id\"";

                        if ($typ == "BPL")
                            $querySpecific = ", Koeficient='$koeficient', PocetSpojek='$pocetSpojek', TypSpojek='$typSpojek', RokInstalaceSpojek='$rokInstalaceSpojek', TypKabelu='$typKabelu', RokInstalaceKabelu='$rokInstalaceKabelu', Rx='$rx', Tx='$tx', DelkaUsekuKabelu='$delkaUsekuKabelu', PrurezKabelu='$prurezKabelu', MaterialSpojek='$materialSpojek', Zatez='$zatez', Zemneni='$zemneni'";
                        if ($typ == "MW")
                            $querySpecific = ", RxMHz='$rxMHz', TxMHz='$txMHz', BandwithMHz='$bandwithMHz', Modulace='$modulace'";
                        // PŘIDÁNÍ NOVÉ PODMÍNKY S SQL PŘÍKAZY PRO SPECIFICKOU TECHNOLOGII

                        if ($querySpecific == null) {
                            $query2 = $queryObecna . $queryKonecna;
                        } else {
                            $query2 = $queryObecna . $querySpecific . $queryKonecna;
                        }

                    }
                }
                if ($query2 == null)
                    $result2 = false;
                else
                    $result2 = mysqli_query($connection, $query2);

                if (!$result2)
                    ukoncitSpojeni("Chyba při práci s DB - chyba 2", $connection);


            }

            // Pokud ne, vložíme nový záznam
            if (!$duplikat) {
                $query3 = "INSERT INTO spoje(Nazev,StaniceA,StaniceB,Topologie,Typ,Download,Upload,Poznamka,Vzdalenost,Oznaceni) VALUES('$nazev','$A','$B','$topologie','$typ','$download','$upload','$poznamka','$vzdalenost','$oznaceni')";
                $result3 = mysqli_query($connection, $query3);
                //mysqli_error()
                if (!$result3)
                    ukoncitSpojeni("Chyba při praci s DB - chyba 3", $connection);
                else {
                    if ($typ == "BPL")
                        $query4 = "UPDATE spoje SET Koeficient='$koeficient', PocetSpojek='$pocetSpojek', TypSpojek='$typSpojek', RokInstalaceSpojek='$rokInstalaceSpojek', TypKabelu='$typKabelu', RokInstalaceKabelu='$rokInstalaceKabelu', Rx='$rx', Tx='$tx', DelkaUsekuKabelu='$delkaUsekuKabelu', PrurezKabelu='$prurezKabelu', MaterialSpojek='$materialSpojek', Zatez='$zatez', Zemneni='$zemneni' WHERE Nazev = \"$nazev\"";
                    if ($typ == "MW")
                        $query4 = "UPDATE spoje SET RxMHz='$rxMHz', TxMHz='$txMHz', BandwithMHz='$bandwithMHz', Modulace='$modulace' WHERE Nazev = \"$nazev\"";
                    // PŘIDÁNÍ NOVÉ PODMÍNKY S SQL PŘÍKAZY PRO SPECIFICKOU TECHNOLOGII
                    
                        $result4 = mysqli_query($connection, $query4);
                    if (!$result4)
                        ukoncitSpojeni("Chyba pri praci s DB - chyba 4", $connection);
                }
            }

            ukoncitSpojeni("Uspesne dokoncen zapis dat do DB.", $connection);

        } else
            ukoncitSpojeni("Chyba pri pripojování do DB.", $connection);
    }

}

function ukoncitSpojeni($hlaska, $connection)
{
    echo json_encode($hlaska);
    mysqli_close($connection);
    die;
}

?>