Current Path : /data/web/virtuals/51568/virtual/www/knihovna/menu/ |
Current File : /data/web/virtuals/51568/virtual/www/knihovna/menu/menu-detail.php |
<?php if (file_exists("funkce/DbConnect.php")){ require("funkce/DbConnect.php"); } if (file_exists("../funkce/DbConnect.php")){ require("../funkce/DbConnect.php"); } if (IsSet($_REQUEST["id"])) { $id = $_REQUEST["id"]; $prikaz = "SELECT id, parentid, menu, anchor, poradi FROM kn_menu WHERE id= $id"; } else { $prikaz = "SELECT id, parentid, menu, anchor, poradi FROM kn_menu WHERE (poradi) IN (select min(poradi) from kn_menu where parentid = 0) and parentid = 0"; } if ($result = mysqli_query($conn, $prikaz)){ if ($radek = mysqli_fetch_object($result)) { $id = (IsSet($radek->id)) ? $radek->id : 0; $menu = (IsSet($radek->menu)) ? $radek->menu : ""; $anchor = (IsSet($radek->anchor)) ? $radek->anchor : ""; $parentid = (IsSet($radek->parentid)) ? $radek->parentid : 0; $poradi = (IsSet($radek->poradi)) ? $radek->poradi : 0; ?> <div id="karta<?=$id;?>" class="card"> <div class="card-header">Položka menu: <span class="font-weight-bold">id = <?=$id?></span></div> <div class="card-body"> <div class="form-group row "> <label for="menuF" class="col-sm-2 col-form-label">Text v menu</label> <div class="col-sm-10"> <input type="text" class="form-control" name="menuF" id="menuF" value="<?=$menu?>" placeholder="napiš text, který se bude zobrazovat v menu" required> </div> </div> <div class="form-group row "> <label for="odkazF" class="col-sm-2 col-form-label">Odkaz</label> <div class="col-sm-10"> <input type="text" class="form-control" name="odkazF" id="odkazF" value="<?=$anchor?>" placeholder="zadej odkaz na soubor, který se volbou menu vyvolá"> <small class="text-muted form-text">jestliže bude mít tato položka potomky, odkaz neuváděj</small> </div> </div> <div class="form-group row "> <label class="col-sm-2 col-form-label"></label> <div class="col-sm-10"> <div class="form-row align-items-center"> <div class="col-md-6 mb-3"> <label for="poradiF">Pořadí</label> <input type="number" class="form-control" name="poradiF" id="poradiF" value="<?=$poradi?>" placeholder="pořadí mezi položkami stejné úrovně" required> <small class="text-muted form-text">lze např. zadávat 10, 20, 35, ...</small> </div> <div class="col-md-6 mb-3"> <label for="rodicF">ID rodiče</label> <input type="number" class="form-control" name="rodicF" id="rodicF" value="<?=$parentid?>" placeholder="zadej ID rodiče"> <small class="text-muted form-text">touto hodnotou nastavíš/změníš pozici položky v menu</small> </div> </div> </div> </div> <!-- DELETE CONFIRM --> <div id="deleteConfirm" class="alert alert-warning d-none"> <h5>Chystáš se smazat položku menu. Chceš pokračovat?</h5> <div class="row"> <div class="col-8"></div> <div class="col-2 text-right"><button class="btn btn-danger" name="btnConfirmDelete" id="btnConfirmDelete" onclick="deleteChild(<?=$id?>)"><i class="far fa-trash-alt"></i> Smazat</button></div> <div class="col-2 text-right"><button class="btn btn-success" name="btnCancelDelete" id="btnCancelDelete"><i class="fas fa-undo"></i> Storno</button></div> </div> </div> <!-- TLACITKA STANDARD --> <div id="btnRowStd" class="form-group row "> <div class="col-3 text-left"> <button class="btn btn-outline-danger" name="btnDelete" id="btnDelete"><i class="far fa-trash-alt"></i> Smazat</button> </div> <div class="col-9 text-right"> <button class="btn btn-outline-primary mr-3" name="btnNewChild" onclick="addNewChild(<?=$id?>)" id="btnNewChild"><i class="far fa-file"></i> Nová položka menu</button> <button class="btn btn-primary" name="btnSave" id="btnSave" onclick="saveChanges(<?=$id?>)"><i class="far fa-save"></i> Uložit změny</button> </div> </div> </div> </div> <? } } ?> <script> $(document).ready(function() { $("#btnDelete").on("click", function(){ $("#deleteConfirm").removeClass("d-none"); $("#btnRowStd").addClass("d-none"); }); $("#btnCancelDelete").on("click", function(){ $("#deleteConfirm").addClass("d-none"); $("#btnRowStd").removeClass("d-none"); }); }); function deleteChild(id){ $.ajax({ url: "menu/menu-edit-delete.php", type: 'POST', dataType: 'HTML', data: { 'id': id }, success: function (result) { console.log(result); $.ajax({ url: "menu/menu-zobraz.php", type: 'POST', dataType: 'HTML', data: { }, success: function (result) { $("#deleteConfirm").addClass("d-none"); $("#btnRowStd").removeClass("d-none"); $('#menuZobraz').html(result); } }) } }) } function addNewChild(idParent){ $("#addingChild").attr('new-value', 1); $.ajax({ url: "menu/menu-edit-new.php", type: 'POST', dataType: 'HTML', data: { 'idParent': idParent }, success: function (result) { $('#menuDetail').html(result); } }) } function saveChanges(id){ let parentid = $("#rodicF").val(), menu = $("#menuF").val(), odkazF = $("#odkazF").val(); poradi = $("#poradiF").val(), chyba = false, errMsg = ""; menu = menu.trim(); if (odkazF > '') {odkazF = odkazF.trim();} $("#err").addClass("d-none"); if (menu === "") { chyba = true; errMsg = "Položka menu musí obsahovat text!"; } if (poradi<1) { if (chyba) { errMsg += "<br>" + "Pořadí mělo být kladné číslo."} else { errMsg = "Pořadí mělo být kladné číslo."; chyba = true; } } if (chyba){ $("#err").removeClass("d-none"); $("#err").html(errMsg); } else { $.ajax({ url: "menu/menu-edit-update-insert.php", type: 'POST', dataType: 'HTML', data: { 'akce': 'e', 'id': id, 'idParent': parentid, 'menu': menu, 'anchor': odkazF, 'poradi': poradi }, success: function (result) { $.ajax({ url: "menu/menu-zobraz.php", type: 'POST', dataType: 'HTML', data: { }, success: function (result) { $('#menuZobraz').html(result); menuRowClick(id); } }) } }) } } </script>