Current Path : /data/web/virtuals/51568/virtual/www/menu/ |
Current File : /data/web/virtuals/51568/virtual/www/menu/menu-rekurze.php |
<?php if (IsSet($_REQUEST["kodmenu"])) { $kodmenu = $_REQUEST["kodmenu"]; } else { $kodmenu = 0; } if (file_exists("funkce/DbConnect.php")){ require_once("funkce/DbConnect.php"); } else { require_once("../funkce/DbConnect.php"); } function MenuTree($rodic, $uroven, $urceni) { global $kodmenu; global $conn; $prikaz = "SELECT id, menu, anchor FROM menu WHERE parentid = $rodic and urceni = '$urceni' order by poradi"; if ($result = mysqli_query($conn, $prikaz)){ if ($radek = mysqli_fetch_object($result)) { do { $aktID = $radek->id; $prikazDeti = "select count(id) as pocetdeti from menu km where km.parentid = $aktID and urceni = '$urceni'"; $resultDeti = mysqli_query($conn, $prikazDeti); if ($radekDeti = mysqli_fetch_object($resultDeti)) { $pocetDeti = $radekDeti->pocetdeti; echo $uroven.": ".$radek->menu." = ".$radek->anchor."<br>"; if ($pocetDeti > 0){ MenuTree($aktID, $uroven + 1); } } } while ($radek = mysqli_fetch_object($result)); } } } function GenerujMenu($rodic, $uroven, $urceni) { global $kodmenu; global $conn; global $bgcolor_rodic; $prikaz = "SELECT id, menu, anchor, target, barva, alias, druhmenu, clanek_id, sada_id FROM menu WHERE parentid = $rodic and urceni = '$urceni' and opravneni_id < 1 and disabled='0' order by poradi"; if ($result = mysqli_query($conn, $prikaz)){ if ($radek = mysqli_fetch_object($result)) { do { $aktID = $radek->id; $barva = trim($radek->barva); $bgcolor = ($barva > ' ') ? "background-color: #$barva" : "background-color: 888888"; $prikazDeti = "select count(id) as pocetdeti from menu km where km.parentid = $aktID and urceni = '$urceni'"; $resultDeti = mysqli_query($conn, $prikazDeti); if ($radekDeti = mysqli_fetch_object($resultDeti)) { $pocetDeti = $radekDeti->pocetdeti; $target = ' '; if ($radek->druhmenu == '0') { $kotva = $radek->anchor; if ($kotva < ' '){$kotva = 'index.php?m=nix.php';} if ($radek->target > ' ') { $odkaz = $kotva; $target = ' target="'.$radek->target.'"'; } else { $odkaz = $kotva.'&i='.$radek->id; } } else if ($radek->druhmenu == '1') { $odkaz = 'index.php?a='.$radek->clanek_id.'&i='.$radek->id; $odkaz .= ($radek->target > ' ') ? "&t=$radek->target" : ""; } else { $odkaz = 'index.php?u='.$radek->sada_id.'&i='.$radek->id; $odkaz .= ($radek->target > ' ') ? "&t=$radek->target" : ""; } if ($uroven == 0) {$bgcolor_rodic = $bgcolor;} // echo $uroven.": ".$radek->menu." = ".$radek->anchor."<br>"; if ($pocetDeti == 0){ if ($uroven == 0) {?> <li id="mainMenu<?=$radek->id;?>" class="nav-item"> <a class="nav-link" style="<?= $bgcolor?> ; padding: <?= ($urceni == 'www') ? '20px' : '12px' ?> 15px;" href="<?php echo $odkaz ?>" <?= $target?>> <?php echo $radek->menu;?></a> </li> <?php } else { //deti == 0 uroven > 0 ?> <a id="mainMenu<?=$radek->id;?>" class="dropdown-item" style="<?= $bgcolor_rodic;?>" href="<?php echo $odkaz ?>" <?= $target?>><?php echo $radek->menu;?></a> <?php } ?> <?php } else { // deti > 0 if ($uroven == 0) { ?> <li class="nav-item dropdown"> <!-- href="#" --> <a href="#" class="nav-link" data-toggle="dropdown" id="navbarDropdownMenu<?=$radek->id;?>" style="<?= $bgcolor?>; padding: <?= ($urceni == 'www') ? '20px' : '12px' ?> 15px;"> <?php echo $radek->menu;?><span class="fas caret-level1"></span></a> <div class="dropdown-menu level1" aria-labelledby="navbarDropdownMenu<?=$radek->id;?>" style="padding: 0px"> <?php } else { //deti > 0 uroven > 0?> <div class="nav-link dropright dropdown" style="padding: 0px; "> <a class="dropdown-item" href="#" data-toggle="dropdown" style="<?= $bgcolor_rodic;?>" id="navbarDropdownMenu<?=$radek->id;?>"><?=$radek->menu;?><span class="fas caret-level2"></span> </a> <div class="dropdown-menu level2" aria-labelledby="navbarDropdownMenu<?=$radek->id;?>"> <?php } GenerujMenu($aktID, $uroven + 1, $urceni); if ($uroven == 0) { ?> </div> </li> <?php } else { ?> </div> </div> <?php } ?> <?php } // deti > 0 } } while ($radek = mysqli_fetch_object($result)); } } } // ************ HLAVNI MENU *************** function ZobrazMenu($urceni){ global $conn; $prikaz = "SELECT id FROM `menu` WHERE parentid is NULL and urceni = '$urceni'"; $result = mysqli_query($conn, $prikaz); $radek = mysqli_fetch_object($result); $parent = $radek->id; $account = unserialize($_SESSION["account"]); $jePrihlasen = ($account->isAuthenticated()) ? true : false; $user = $account->getLongname(); $userID = $account->getID(); ?> <nav class="navbar navbar-expand-lg sticky-top navbar-main mb-2"> <div class="container-fluid"> <a href="index.php" class="navbar-brand mr-auto ml-2 ml-xl-0" title="Domů"> <span class="fa fa-home nav-home mr-3" aria-hidden="true"></span></a> <div class="navbar-nav d-flex flex-row justify-content-end order-1 order-lg-2"> <?php if ($jePrihlasen) {?> <div class="border rounded-0 text-white mr-1" style="min-height: 45px;max-height: 45px;"> <?php $mojeMenuDotaz = "SELECT `id`, `menu`, `alias`, `parentid`, `poradi`, `target`, `urceni`, `anchor` from `menu` menu where menu.urceni = 'www' and disabled='0' and menu.opravneni_id in ( select opr_accounts.opravneni_id from opr_accounts where opr_accounts.account_id = $userID and opr_accounts.stav='1') order by menu.poradi"; ?> <li class="nav-item dropdown"> <a href="#" class="nav-link" data-toggle="dropdown" id="navbarDropdownMenu99999999" style="padding: auto 15px; "> <?= $account->getName();?> <span class="fas caret-level1"></span></a> <div class="dropdown-menu dropdown-menu-right level1" aria-labelledby="navbarDropdownMenu<?=$radek->id;?>" style="padding: 0px"> <a class="dropdown-item" id="btnLogout" onclick="dlgLoginLogoutShow(true)"">Odhlásit</a> <a class="dropdown-item" id="btnChangePass" onclick="dlgChangePass('<?= $user?>')">Změna hesla</a> <?php if ($resultMojeMenu = mysqli_query($conn, $mojeMenuDotaz)){ while ($radekMojeMenu = mysqli_fetch_object($resultMojeMenu)) {?> <a class="dropdown-item" id="mojeMenu<?= $radekMojeMenu->id?>" onclick="" href="<?= $radekMojeMenu->anchor?>"> <?= $radekMojeMenu->menu?> </a><?php } } ?> </div> </li> </div> <?php }?> <?php if (!$jePrihlasen) { ?> <button type='button' class="btn btn-login " id="btnLoginModal" title="<?php echo ($jePrihlasen) ? 'ODHLÁSIT' : 'PŘIHLÁSIT';?>" onclick="dlgLoginLogoutShow(<?php echo $jePrihlasen;?>)"> <?php echo ($jePrihlasen) ? '<i class="fas fa-sign-out-alt" style="font-size: 20px; "></i>' : '<i class="fas fa-sign-in-alt" style="font-size: 20px; "></i>'; ?> </button> <?php }?> <button class="navbar-toggler ml-1 rounded-0" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="true" aria-label="Toggle navigation"> <span><i class="fas fa-bars"></i> </span> </button> </div> <div class="collapse navbar-collapse order-2 order-lg-1" id="navbarNav"> <ul class="navbar-nav mr-auto" style="list-style-type:none;"> <?php GenerujMenu($parent, 0, $urceni); ?> </ul> </div> </div> </nav> <?php // -- ************ KONEC MENU *************** --> } ?> <script> function dlgLoginLogoutShow(jeprihlasen) { if (jeprihlasen !== undefined) { let ml = document.getElementById('menu-logout'); if ((ml === undefined) || (ml === null)) { $.ajax({ url: "menu/dialogy.php", type: 'POST', dataType: 'HTML', data: { 'operace': 'logout', }, success: function (result) { $('#dialogy').html(result); $("#menu-logout").modal("show"); } }); } else { $("#menu-logout").modal("show"); } } else { let ml = document.getElementById('menu-login'); if ((ml === undefined) || (ml === null)){ $.ajax({ url: "menu/dialogy.php", type: 'POST', dataType: 'HTML', data: { 'operace': 'login', }, success: function (result) { $('#dialogy').html(result); $("#menu-login").modal("show"); } }); } else { $("#menu-login").modal("show"); } } } function dlgChangePass(user) { let ml = document.getElementById('pass-change'); if ((ml === undefined) || (ml === null)){ $.ajax({ url: "menu/dialogy.php", type: 'POST', dataType: 'HTML', data: { 'operace': 'change', }, success: function (result) { $('#dialogy').html(result); $("#pass-change").modal("show"); } }); } else { $("#pass-change").modal("show"); } } function neznamHeslo() { $("#errLogin").addClass("d-none"); $("#succLogin").addClass("d-none"); let user = $("#user").val(); user = (user.length > 0) ? user.trim() : user; if (user.length === 0) { $("#errLogin").html('Zadej své přihlašovací jméno.').removeClass("d-none"); } else { $.ajax({ url: "menu/dialogy.php", type: 'POST', dataType: 'HTML', data: { 'operace': 'verifyUser', 'userVerify': user, }, success: function (result) { result = result.trim(); if (result > 0) { $.ajax({ url: "menu/accounts-newpass-send.php", type: 'POST', dataType: 'HTML', data: { 'id': result, }, success: function (result) { $("#succLogin").html('Na tvůj email byl odeslán odkaz na vygenerování nového hesla.').removeClass("d-none"); } }); } else { $("#errLogin").html('Neznámé jméno uživatele.').removeClass("d-none"); } } }); } } </script>