MOON
Server: Apache
System: Linux server1.studioinfinity.com.br 2.6.32-954.3.5.lve1.4.90.el6.x86_64 #1 SMP Tue Feb 21 12:26:30 UTC 2023 x86_64
User: artinside (517)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //home/artinside/public_html/lhh/themes/admin/widgets/users/user.php
<?php $v->layout("_admin"); ?>

    <section class="wrapper">
        <!-- page start-->

        <?php if (!$user): ?>
            <div class="row">
                <div class="col-12 text-center my-4 text-sm-center">
                    <h3> Cadastro de Usuário</h3>
                    <p>Cadastro de Usuários e Admins</p>
                </div>

                <div class="col-lg-2">
                    <section class="card">
                        <header class="card-header infinity-bg white-text text-center">
                            Avatar
                        </header>
                        <img class="radius img-open" style="width: 100%;" src="<?= image($user->photo, 400); ?>" id="image-preview"/>

                    </section>
                </div>
                <div class="col-lg-10">
                    <section class="card">
                        <header class="card-header infinity-bg white-text">
                            Cadastrar Clientes/Usuários
                        </header>
                        <div class="card-body">
                            <form class="form-horizontal tasi-form" method="post" action="<?= url("/admin/users/user"); ?>">
                                <input type="hidden" name="action" value="create"/>
                                <div class="form-group row" hidden>
                                    <label class="col-sm-2 col-sm-2 control-label">Avatar</label>
                                    <div class="col-sm-10">
                                        <input type="file" name="photo" placeholder="Uma imagem de capa" class="form-control" id="j_img_preview"/>

                                    </div>
                                </div>

                                <div class="form-group row">

                                    <label class="col-sm-2 col-sm-2 control-label">Documento*</label>
                                    <div class="col-sm-4 input-group">
                                        <input type="text" name="document" placeholder="CPF ou CNPJ" class="form-control mask-document" data-url="<?= url("/admin/users/type"); ?>" required/>
                                        <div class="input-group-append">
                                            <span class="input-group-text" id="basic-addon2"><i class="fal fa-check"></i> </span>
                                        </div>
                                    </div>

                                    <label class="col-sm-2 col-sm-2 control-label">Tipo*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="type" placeholder="individual / corporation" class="form-control user_type" value="" readonly/>
                                    </div>

                                </div>

                                <div class="j_type">

                                </div>


                            </form>
                        </div>
                    </section>
                </div>

            </div>
        <?php elseif($user->type == "individual") : ?>
            <div class="row">
                <div class="col-12 text-center my-4 text-sm-center">
                    <h3> <?= $user->fullName(); ?></h3>
                    <p>Cadastro de Clientes e Admins</p>
                </div>

                <div class="col-lg-2">
                    <section class="card">
                        <header class="card-header infinity-bg white-text">
                            Avatar
                        </header>
                        <img class="img-open" style="width: 100%; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px " src="<?= image($user->photo, 400); ?>" id="image-preview"/>

                    </section>
                </div>
                <div class="col-lg-10">
                    <section class="card">
                        <header class="card-header infinity-bg white-text">
                            Editar Usuário
                        </header>
                        <div class="card-body">
                            <form class="form-horizontal tasi-form" method="post" action="<?= url("/admin/users/user/{$user->id}"); ?>">
                                <input type="hidden" name="action" value="update"/>
                                <div class="form-group row" hidden>
                                    <label class="col-sm-2 col-sm-2 control-label">Avatar</label>
                                    <div class="col-sm-10">
                                        <input type="file" name="photo" placeholder="Uma imagem de capa" class="form-control" id="j_img_preview"/>

                                    </div>
                                </div>
                                <div class="form-group row">
                                    <input type="hidden" name="datebirth" value="<?= $user->datebirth ?>" />

                                    <label class="col-sm-2 col-sm-2 control-label">Documento*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="document" placeholder="CPF do usuário" class="form-control mask-cnpj" value="<?= $user->document; ?>" readonly/>
                                    </div>

                                    <label class="col-sm-2 col-sm-2 control-label">Tipo*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="type" placeholder="Tipo de usuário" class="form-control" value="<?= $user->type ?>" readonly/>
                                    </div>
                                </div>

                                <div class="form-group row">
                                    <label class="col-sm-2 col-sm-2 control-label">Nome*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="first_name" placeholder="Primeiro nome" class="form-control" value="<?= $user->first_name; ?>" required/>
                                    </div>
                                    <label class="col-sm-2 col-sm-2 control-label">Sobrenome*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="last_name" placeholder="Sobrenome" class="form-control" value="<?= $user->last_name; ?>" required/>
                                    </div>
                                </div>

                                <div class="form-group row">
                                    <label class="col-sm-2 col-sm-2 control-label">Nascimento*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="datebirth" placeholder="dd/mm/yyyy" class="form-control mask-date" value="<?= date_fmt($user->datebirth, "d/m/Y"); ?>" required/>
                                    </div>
                                    <label class="col-sm-2 col-sm-2 control-label">RG</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="document2" placeholder="RG do usuário" class="form-control" value="<?= $user->document2; ?>" />
                                    </div>
                                </div>

                                <div class="form-group row">
                                    <label class="col-sm-2 col-sm-2 control-label">Telefone*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="phone" placeholder="Telefone" class="form-control mask-phone" value="<?= $user->phone; ?>" required/>
                                    </div>
                                    <label class="col-sm-2 col-sm-2 control-label">Celular</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="celular" placeholder="Celular" class="form-control mask-celular" value="<?= $user->celular; ?>"/>
                                    </div>
                                </div>

                                <div class="form-group row">
                                    <label class="col-sm-2 col-sm-2 control-label">Email*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="email" placeholder="seu melhor email" class="form-control" value="<?= $user->email; ?>" required/>
                                    </div>
                                    <label class="col-sm-2 col-sm-2 control-label">Senha*</label>
                                    <div class="col-sm-4">
                                        <input type="password" name="password" placeholder="Senha" class="form-control"/>
                                        <span class="help-block">Senha mínima de 8 caracteres.</span>
                                    </div>
                                </div>

                                <div class="form-group row">
                                    <label class="col-sm-2 col-sm-2 control-label">Genêro</label>
                                    <div class="col-sm-2">
                                        <select name="genre" class="form-control">
                                            <?php
                                            $genre = $user->genre;
                                            $select = function ($value) use ($genre) {
                                                return ($genre == $value ? "selected" : "");
                                            };
                                            ?>
                                            <option <?= $select("male"); ?> value="male">Masculino</option>
                                            <option <?= $select("female"); ?> value="female">Feminino</option>
                                            <option <?= $select("other"); ?> value="other">Outros</option>
                                        </select>
                                    </div>
                                    <label class="col-sm-2 col-sm-2 control-label">Level*</label>
                                    <div class="col-sm-2">
                                        <select name="level" class="form-control" required>
                                            <?php
                                            $level = $user->level;
                                            $select = function ($value) use ($level) {
                                                return ($level == $value ? "selected" : "");
                                            };
                                            ?>
                                            <option <?= $select(1); ?> value="1">Usuário</option>
                                            <option <?= $select(2); ?> value="2">Parceiro</option>
                                            <option <?= $select(5); ?> value="5">Admin</option>
                                        </select>
                                    </div>
                                    <label class="col-sm-2 col-sm-2 control-label">Status*</label>
                                    <div class="col-sm-2">
                                        <select name="status" class="form-control" required>
                                            <?php
                                            $status = $user->status;
                                            $select = function ($value) use ($status) {
                                                return ($status == $value ? "selected" : "");
                                            };
                                            ?>
                                            <option <?= $select("registered"); ?> value="registered">Registrado</option>
                                            <option <?= $select("confirmed"); ?> value="confirmed">Confirmado</option>
                                        </select>
                                    </div>
                                </div>

                                <div class="form-group row">
                                    <label class="col-sm-2 col-sm-2 control-label">Sobre*</label>
                                    <div class="col-sm-10">
                                        <textarea class="form-control" name="about"><?= $user->about; ?></textarea>
                                    </div>

                                </div>

                                <button class="btn btn-primary" type="submit">Enviar</button>
                                <a class="btn btn-danger" href="<?= url("/admin/users/home"); ?>">Cancelar</a>

                            </form>
                        </div>
                    </section>
                </div>

            </div>

        <?php else : ?>
            <div class="row">
                <div class="col-12 text-center my-4 text-sm-center">
                    <h3> <?= $user->first_name; ?></h3>
                    <p>Cadastro de Clientes e Admins</p>
                </div>

                <div class="col-lg-2">
                    <section class="card">
                        <header class="card-header infinity-bg white-text">
                            Avatar
                        </header>
                        <img class="img-open" style="width: 100%; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px " src="<?= image($user->photo, 400); ?>" id="image-preview"/>

                    </section>
                </div>
                <div class="col-lg-10">
                    <section class="card">
                        <header class="card-header infinity-bg white-text">
                            Editar Usuário
                        </header>
                        <div class="card-body">
                            <form class="form-horizontal tasi-form" method="post" action="<?= url("/admin/users/user/{$user->id}"); ?>">
                                <input type="hidden" name="action" value="update"/>
                                <div class="form-group row" hidden>
                                    <label class="col-sm-2 col-sm-2 control-label">Avatar</label>
                                    <div class="col-sm-10">
                                        <input type="file" name="photo" placeholder="Uma imagem de capa" class="form-control" id="j_img_preview"/>

                                    </div>
                                </div>
                                <div class="form-group row">
                                    <input type="hidden" name="datebirth" value="<?= $user->datebirth ?>" />

                                    <label class="col-sm-2 col-sm-2 control-label">Documento*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="document" placeholder="CPF do usuário" class="form-control mask-cnpj" value="<?= $user->document; ?>" readonly/>
                                    </div>

                                    <label class="col-sm-2 col-sm-2 control-label">Tipo*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="type" placeholder="Tipo de usuário" class="form-control" value="<?= $user->type ?>" readonly/>
                                    </div>
                                </div>

                                <div class="form-group row">
                                    <label class="col-sm-2 col-sm-2 control-label">Razão Social*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="first_name" placeholder="Razão Social" class="form-control" value="<?= $user->first_name; ?>" required/>
                                    </div>
                                    <label class="col-sm-2 col-sm-2 control-label">Contato*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="last_name" placeholder="Contato" class="form-control" value="<?= $user->last_name; ?>" required/>
                                    </div>
                                </div>


                                <div class="form-group row">
                                    <label class="col-sm-2 col-sm-2 control-label">Telefone*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="phone" placeholder="Telefone" class="form-control mask-phone" value="<?= $user->phone; ?>" required/>
                                    </div>
                                    <label class="col-sm-2 col-sm-2 control-label">Celular</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="celular" placeholder="Celular" class="form-control mask-celular" value="<?= $user->celular; ?>"/>
                                    </div>
                                </div>

                                <div class="form-group row">
                                    <label class="col-sm-2 col-sm-2 control-label">Email*</label>
                                    <div class="col-sm-4">
                                        <input type="text" name="email" placeholder="seu melhor email" class="form-control" value="<?= $user->email; ?>" required/>
                                    </div>
                                    <label class="col-sm-2 col-sm-2 control-label">Senha*</label>
                                    <div class="col-sm-4">
                                        <input type="password" name="password" placeholder="Senha" class="form-control"/>
                                        <span class="help-block">Senha mínima de 8 caracteres.</span>
                                    </div>
                                </div>

                                <div class="form-group row">

                                    <label class="col-sm-2 col-sm-2 control-label">Level*</label>
                                    <div class="col-sm-4">
                                        <select name="level" class="form-control" required>
                                            <?php
                                            $level = $user->level;
                                            $select = function ($value) use ($level) {
                                                return ($level == $value ? "selected" : "");
                                            };
                                            ?>
                                            <option <?= $select(1); ?> value="1">Usuário</option>
                                            <option <?= $select(2); ?> value="2">Parceiro</option>
                                            <option <?= $select(5); ?> value="5">Admin</option>
                                        </select>
                                    </div>
                                    <label class="col-sm-2 col-sm-2 control-label">Status*</label>
                                    <div class="col-sm-4">
                                        <select name="status" class="form-control" required>
                                            <?php
                                            $status = $user->status;
                                            $select = function ($value) use ($status) {
                                                return ($status == $value ? "selected" : "");
                                            };
                                            ?>
                                            <option <?= $select("registered"); ?> value="registered">Registrado</option>
                                            <option <?= $select("confirmed"); ?> value="confirmed">Confirmado</option>
                                        </select>
                                    </div>
                                </div>

                                <div class="form-group row">
                                    <label class="col-sm-2 col-sm-2 control-label">Sobre*</label>
                                    <div class="col-sm-10">
                                        <textarea class="form-control" name="about"><?= $user->about; ?></textarea>
                                    </div>

                                </div>

                                <button class="btn btn-primary" type="submit">Enviar</button>
                                <a class="btn btn-danger" href="<?= url("/admin/users/home"); ?>">Cancelar</a>

                            </form>
                        </div>
                    </section>
                </div>

            </div>

        <?php endif; ?>
        <!-- page end-->
    </section>

<?php $v->start("scripts")?>
    <script src="<?= url("admin-assets/js/toucheffects.js")?>"></script>
    <script src="<?= url("admin-assets/js/modernizr.custom.js")?>"></script>
    <script src="<?= url("admin-assets/js/form-component.js")?>"></script>
    <script>
        // AJAX RESPONSE
        var ajaxResponseBaseTime = 3;
        var ajaxResponseRequestError = "<div class='message error icon-warning'>Desculpe mas não foi possível processar sua requisição...</div>";
        function ajaxMessage(message, time) {
            var ajaxMessage = $(message);

            ajaxMessage.append("<div class='message_time'></div>");
            ajaxMessage.find(".message_time").animate({"width": "100%"}, time * 1000, function () {
                $(this).parents(".message").fadeOut(200);
            });

            $(".ajax_response").append(ajaxMessage);
            ajaxMessage.effect("bounce");
        }

        // AJAX RESPONSE MONITOR

        $(".ajax_response .message").each(function (e, m) {
            ajaxMessage(m, ajaxResponseBaseTime += 1);
        });

        // AJAX MESSAGE CLOSE ON CLICK
        $(".ajax_response").on("click", ".message", function (e) {
            e.preventDefault();
            $(this).effect("bounce").fadeOut(1);
        });


        var options = {
            onKeyPress: function (cpf, ev, el, op) {
                var masks = ['000.000.000-000', '00.000.000/0000-00'];
                $('.mask-document').mask((cpf.length > 14) ? masks[1] : masks[0], op);
            }
        }

        $('.mask-document').length > 11 ? $('.mask-document').mask('00.000.000/0000-00', options) : $('.mask-document').mask('000.000.000-00#', options);

        $('.mask-cnpj').mask('00.000.000/0000-00');

        $(".mask-document").blur(function(e){
            e.preventDefault();
            var urlData = $(this).data("url");
            var document = $(this).val();
            $.ajax({
                url: urlData,
                type: "POST",
                data: {document: document},
                dataType: "json",
                success: function (response) {
                    if(response.result == 1){
                        $(".user_type").val("individual");
                        $(".j_type").html("");
                        $(".j_type").html(response.html);
                    }

                    if(response.result == 2){
                        $(".user_type").val("corporation");
                        $(".j_type").html("");
                        $(".j_type").html(response.html);
                    }

                    if(response.result == 3){
                        $(".user_type").val("");
                        $(".j_type").html("");
                        ajaxMessage(response.message, 5);
                    }

                }
            });
        });


        $('body').on('focus', 'input[data-mask="date"]', function(){
            $(this).mask("00/00/0000");
        });

        $('body').on('focus', 'input[data-mask="phone"]', function(){
            $(this).mask('(00) 0000-00009');
            $(this).blur(function (event) {
                if ($(this).val().length == 15) { // Celular com 9 dígitos + 2 dígitos DDD e 4 da máscara
                    $(this).mask('(00) 00000-0009');
                } else {
                    $(this).mask('(00) 0000-00009');
                }
            });
        });



    </script>

<?php $v->end(); ?>