%PDF- %PDF-
Direktori : /home/tjamichg/intranet.tjamich.gob.mx/intranet/sistemas/oficios/ |
Current File : /home/tjamichg/intranet.tjamich.gob.mx/intranet/sistemas/oficios/modalFirma_bk.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 $sql = "SELECT correo FROM tjam_empleados e WHERE id = $id_usuario "; $rst = $conf->consulta($sql); $correoTo = $rst[0]["correo"]; ?> <div class="panel panel-green"> <div class="panel-body pan"> <form id="formFirmar"> <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='oficios' > </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> <!-- <button class="btn btn-success" data-toggle="modal" data-target="#modal_firma">FIRMAR <i class="fa fa-check"></i></button> --> <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! '); /*document.getElementById("myFirma").style.display = "none"; document.getElementById("myEnvio").style.display = "block"; document.getElementById("myFirmaN").style.display = "none"; document.getElementById("myEnvioN").style.display = "block";*/ $("#formFirmarof").submit(); } else { alert('Error de firma!'); $('#modal_firma').modal('hide'); document.getElementById("myFirma").style.display = "block"; document.getElementById("myEnvio").style.display = "none"; document.getElementById("myFirmaN").style.display = "block"; document.getElementById("myEnvioN").style.display = "none"; } } }); } 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>