Your IP : 52.14.214.177


Current Path : /data/web/virtuals/51568/virtual/www/menu/
Upload File :
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>