Current Path : /data/web/virtuals/51568/virtual/www/menu/ |
Current File : /data/web/virtuals/51568/virtual/www/menu/accounts-novy.php |
<?php require_once("../class/pdoDB.class.php"); $pdo = new pdoDB(); ?> <div class="card rounded-0 shadow mr-2"> <div class="card-header bg-info text-white rounded-0 h5">Nový uživatel</div> <div class="card-body"> <div class="form-group row align-items-center"> <label for="accname" class="col-sm-4 col-form-label">Přihlašovací jméno</label> <div class="col-sm-8"> <input type="text" class="form-control rounded-0" name="accname" id="accname" placeholder="zadej jednoznačné jméno" value="<?= $rec->name?>"> </div> </div> <div class="form-group row align-items-center"> <label for="longname" class="col-sm-4 col-form-label">Plné jméno</label> <div class="col-sm-8"> <input type="text" class="form-control rounded-0" name="longname" id="longname" placeholder="jméno příjmení" required value="<?= $rec->longname?>"> </div> </div> <div class="form-group row align-items-center"> <label for="email" class="col-sm-4 col-form-label">Email</label> <div class="col-sm-8"> <input type="text" class="form-control rounded-0" name="email" id="email" placeholder="email" required value="<?= $rec->email?>"> </div> </div> <hr> <div class="form-group row align-items-top ml-2"> <div class="col-sm-6"> <?php $prava = "SELECT ox.id, ox.opravneni, ax.stav from opr_opravneni ox left join opr_accounts ax on ox.id = ax.opravneni_id and ax.account_id = :id order by opravneni"; $pocet = 0; $opravneni = $pdo->queryAll($prava, array(':id' => $id)); forEach($opravneni as $pr) { $pocet++; if ($pocet % 2 == 1){ ?> <div> <input class="form-check-input" type="checkbox" name="prava" id="prava<?=$pr->id?>" value="<?=$pr->id?>" <?php echo (trim($pr->stav) == '1') ? "checked" : "";?>> <label class="form-check-label" for="prava<?=$pr->id?>"><?=$pr->opravneni?></label> </div> <?php } } ?> </div> <div class="col-sm-6"> <?php $pocet = 0; $opravneni = $pdo->queryAll($prava, array(':id' => $id)); forEach($opravneni as $pr) { $pocet++; if ($pocet % 2 == 0){ ?> <div> <input class="form-check-input" type="checkbox" name="prava" id="prava<?=$pr->id?>" value="<?=$pr->id?>" <?php echo (trim($pr->stav) == '1') ? "checked" : "";?>> <label class="form-check-label" for="prava<?=$pr->id?>"><?=$pr->opravneni?></label> </div> <?php } }?> </div> </div> </div> <div class="card-footer "> <div class="d-flex flex-row justify-content-end"> <div class="pr-2"> <small class="text-muted form-text">Po založení uživatele se mu automaticky odešle email s odkazem na vytvoření hesla.</small> </div> <button class="btn btn-success rounded-0 text-nowrap" name="btnNewPass" id="btnNewPass" onclick="accountCreate()">Založ uživatele</button> </div> <div id="errAlert" class="alert alert-danger d-none rounded-0 mt-2"></div> <div id="infoAlert" class="d-none"></div> </div> </div> <script> function IsEmail(email) { const regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (!regex.test(email)) { return false; } else { return true; } } function accountCreate() { $("#infoAlert").addClass("d-none"); $("#errAlert").addClass("d-none"); let accname = $("#accname").val(), longname = $("#longname").val(), email = $("#email").val(), prava = document.getElementsByName("prava"), pravastav = [], errAlert = []; prava.forEach((val) => pravastav.push({ 'id': val.value, 'stav': val.checked })); if (accname.length < 1) { errAlert.push("Přihlašovací jméno je povinné."); } if (longname.length < 1) { errAlert.push("Plné jméno je povinné."); } if (!IsEmail(email)) { errAlert.push("S emailem není něco v pořádku."); } if (errAlert.length > 0) { let msg = ''; errAlert.forEach(x => msg += `<li>${x}</li>`) $("#errAlert").html(msg).removeClass("d-none"); } else { $.ajax({ url: "menu/accounts-detail-save.php", type: 'POST', dataType: 'HTML', data: { 'id': 0, 'name': accname, 'longname': longname, 'email': email, 'enabled': true, 'prava': JSON.stringify(pravastav), 'akce': 'n', }, success: function (result) { let vysledek = result.split('#'); if (vysledek.length > 1) { $("#errAlert").html(vysledek[1]).removeClass("d-none"); } else { let newID = result; $.ajax({ url: "menu/accounts-newpass-send.php", type: 'POST', dataType: 'HTML', data: { 'id': newID, }, success: function (result) { $.ajax({ url: "menu/accounts-seznam.php", type: 'POST', dataType: 'HTML', data: { }, success: function (result) { $("#accountsSeznam").html(result); $.ajax({ url: "menu/accounts-detail.php", type: 'POST', dataType: 'HTML', data: { 'id': newID, }, success: function (result) { $("#accountsDetail").html(result); } }); } }); } }); } console.log(vysledek.length); /* $.ajax({ url: "menu/accounts-seznam.php", type: 'POST', dataType: 'HTML', data: {}, success: function (result) { $("#accountsSeznam").html(result); } }); */ } }); } } </script>