<?php
if (isset($_POST)) {
    // .. znamená přechod o jeden adresář zpět v adresářové struktuře
    include "../php/connection.php";

    if (!$MYSQL_UPLOAD || $ANONYMOUS_MODE)
        ukoncitSpojeni("Přístup zamítnut: Anonymní mód nebo zakázaný upload do DB.", $connection);
    else {

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

            $duplikat = false;
            $nazev = $data['nazev'];
            $typ = $data['typ'];
            $poznamka = $data['poznamka'];
            $nazevOld = $data['staryNazev'];
            $odstranit = $data['odstranit'];

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


            // Pokud ano, dochází k aktualizaci záznamu
            while ($row = mysqli_fetch_assoc($result)) {
                $duplikat = true;
                if ($row["Nazev"] == $nazevOld) {
                    if ($odstranit == true) {
                        $query2 = "DELETE FROM topologie WHERE Nazev = \"$nazev\"";
                        $query3 = "DELETE FROM stanice WHERE Topologie = \"$nazev\"";
                        $query4 = "DELETE FROM spoje WHERE Topologie = \"$nazev\"";
                        $result3 = mysqli_query($connection, $query3);
                        $result4 = mysqli_query($connection, $query4);
                        if (!$result3)
                            ukoncitSpojeni("Chyba pri praci s DB - chyba 3", $connection);
                        if (!$result4)
                            ukoncitSpojeni("Chyba pri praci s DB - chyba 4", $connection);
                    } else {
                        // Pokud došlo k aktualizaci jména topologie, je tuto změnu nutno provést i v tabulce spojů a stanic
                        if ($nazevOld != $nazev) {
                            // Spoje
                            $query4 = "SELECT * FROM spoje WHERE Topologie = \"$nazevOld\"";
                            $result4 = mysqli_query($connection, $query4);
                            if (!$result4)
                                ukoncitSpojeni("Chyba pri praci s DB - chyba 4", $connection);

                            while ($spoj = mysqli_fetch_assoc($result4)) {
                                $nazevSpoje = $spoj["Nazev"];
                                $query5 = "UPDATE spoje SET Topologie='$nazev' WHERE Nazev = \"$nazevSpoje\"";
                                $result5 = mysqli_query($connection, $query5);
                                if (!$result5)
                                    ukoncitSpojeni("Chyba pri praci s DB - chyba 5", $connection);
                            }

                            // Stanice
                            $query6 = "SELECT * FROM stanice WHERE Topologie = \"$nazevOld\"";
                            $result6 = mysqli_query($connection, $query6);
                            if (!$result6)
                                ukoncitSpojeni("Chyba pri praci s DB - chyba 6", $connection);

                            while ($stanice = mysqli_fetch_assoc($result6)) {
                                $nazevStanice = $stanice["Nazev"];
                                $query7 = "UPDATE stanice SET Topologie='$nazev' WHERE Nazev = \"$nazevStanice\"";
                                $result7 = mysqli_query($connection, $query7);
                                if (!$result7)
                                    ukoncitSpojeni("Chyba pri praci s DB - chyba 7", $connection);
                            }
                        }
                        //Aktualizace záznamu topologie
                        $query2 = "UPDATE topologie SET Nazev='$nazev',Typ='$typ',Poznamka='$poznamka' WHERE Nazev = \"$nazevOld\"";
                    }
                    $result2 = mysqli_query($connection, $query2);
                    if (!$result2)
                        ukoncitSpojeni("Chyba pri praci s DB - chyba 2", $connection);
                }
            }


            // Pokud ne, vložíme nový záznam
            if (!$duplikat) {
                $query3 = "INSERT INTO topologie(Nazev,Typ,Poznamka) VALUES('$nazev','$typ','$poznamka')";
                $result3 = mysqli_query($connection, $query3);
                //mysqli_error()
                if (!$result3)
                    ukoncitSpojeni("Chyba pri praci s DB - chyba 3", $connection);
            }

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

        } else
            ukoncitSpojeni("Chyba pri pripojovani do DB.", $connection);
    }

}

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

?>