Created
July 1, 2020 18:03
-
-
Save ricardoreis/bf078ef78b06012037b6f1c8bcde8bf4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
session_start(); | |
echo '<br>token: ' . $token = isset( $_POST[ 'token' ] ) ? $_POST[ 'token' ] : ''; | |
echo '<br>'; | |
if ( empty( $_SESSION[ "cpf" ] ) ) { | |
header( "Location: index.php" ); | |
exit; | |
} | |
if ( !empty( $_SESSION[ "usuario" ] ) ) { | |
header( "Location: dashboard.php" ); | |
exit; | |
} | |
require 'config.php'; | |
$telefone = isset( $_POST[ 'telefone' ] ) ? $_POST[ 'telefone' ] : ''; | |
$telefone = str_replace( "(", "", $telefone ); | |
$telefone = str_replace( ")", "", $telefone ); | |
$telefone = str_replace( " ", "", $telefone ); | |
$telefone = str_replace( "-", "", $telefone ); | |
$_SESSION[ "telefone" ] = $telefone; | |
$cpf = $_SESSION[ "cpf" ]; | |
$code = ''; | |
$n_ja_cadastrado = ''; | |
if ( $telefone && $cpf && ( $_SESSION[ 'token' ] == $_POST[ 'token' ] ) ) { | |
//verifica se o telefone já é de algum usuário | |
$sql = "SELECT id FROM usuarios WHERE telefone=$telefone"; | |
$result = $conn->query( $sql ); | |
if ( $result->num_rows > 0 ) { | |
// output data of each row | |
while ( $row = $result->fetch_assoc() ) { | |
//echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>"; | |
echo "Esse telefone já está cadastrado no uruário id: " . $row[ "id" ]; | |
$n_ja_cadastrado = true; | |
} | |
} else { | |
echo "Pode criar um código e enviar"; | |
} | |
//FIM verifica se o telefone já é de algum usuário | |
/* | |
$code = rand(1001, 9998); | |
$sql = "INSERT INTO codes (telefone, code) | |
VALUES ('$telefone', '$code')"; | |
if ($conn->query($sql) === TRUE) { | |
//echo "New record created successfully<br>"; | |
//echo $telefone."<br>"; | |
echo 'code '.$code."<br>"; | |
//require 'messagebird/enviar_codigo.php'; | |
} else { | |
echo "Error: " . $sql . "<br>" . $conn->error; | |
} | |
$conn->close(); | |
*/ | |
} | |
echo '<pre>' . print_r( $_SESSION, TRUE ) . '</pre>'; | |
?> | |
<!doctype html> | |
<html lang=""> | |
<head> | |
<!-- Required meta tags --> | |
<meta charset="utf-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> | |
<!-- Bootstrap CSS --> | |
<link rel="stylesheet" href="css/bootstrap.min.css"> | |
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"> | |
<style> | |
.bounce { | |
animation: slide1 1s ease-in-out infinite; | |
} | |
@keyframes slide1 { | |
0%, | |
100% { | |
transform: translate(0, 0); | |
} | |
50% { | |
transform: translate(12px, 0); | |
} | |
} | |
.bounceUpDown { | |
animation: slide2 0.5s ease-out infinite alternate; | |
} | |
@keyframes slide2 { | |
0% { | |
transform: translateY(0); | |
} | |
100% { | |
transform: translateY(-12px); | |
} | |
} | |
.progress-bar { | |
-webkit-transition: none !important; | |
transition: none !important; | |
} | |
</style> | |
<title>Compre Bitcoin</title> | |
</head> | |
<body class="bg-light"> | |
<?php | |
$pagina = "senha"; | |
include( 'topo.php' ); | |
?> | |
<!--/topo--> | |
<div class="container"> | |
<div class="row justify-content-center"> | |
<div class="col-lg-5"> | |
<div class="text-center"><i class="fas fa-mobile-alt text-muted mt-5" style="font-size: 90px"></i> | |
</div> | |
<div class="card pr-3 pr-lg-5 pl-lg-4 mt-5 py-5 rounded-0 shadow"> | |
<div class="ml-3 mt-3" style="position: relative"> | |
<div class="alert alert-danger" role="alert"> | |
<strong>Opss!</strong> Esse telefone já está cadastrado em nome de outro cliente. <br> | |
Digite outro número ou entre em contato conosco por WhatsApp (<a href="#" class="alert-link">clique aqui</a>). | |
</div> | |
<div class="font-weight-bold mb-1">Informe seu número de telefone celular<br> | |
<span class="small text-muted">De preferência um telefone com WhatsApp</span> | |
<i id="seta2" class="fa fa-arrow-down bounceUpDown text-primary pl-2 float-right pr-4" aria-hidden="true" style="font-size: 22px; visibility:hidden"></i> | |
</div> | |
<form action="telefone.php" method="post"> | |
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>"/> | |
<div class="input-group mb-3"> | |
<input type="tel" id="telefone" name="telefone" class="form-control form-control-lg" placeholder="___.___.___-__" aria-label="" aria-describedby="" value="<?php echo $telefone; ?>"> | |
<div class="input-group-append"> | |
<button class="btn btn-outline-secondary" id="continuar" type="submit" onClick="this.form.submit(); this.disabled=true; this.innerHTML='Aguarde…';" disabled>Me ligue</button> | |
</div> | |
</div><i id="seta" class="fa fa-arrow-right bounce text-primary float-left pl-2" aria-hidden="true" style="position: relative; top:-53px; left: -32px; font-size: 22px; z-index: 10; visibility: hidden"></i> | |
<div class="clearfix"></div> | |
<div class="alert alert-info p-2 collapse" role="alert"> | |
<div><strong>Estamos ligando e enviando o código.</strong> | |
</div> | |
<div>Pode demorar alguns segundos, aguade...</div> | |
</div> | |
</div> | |
<!--/ml-3--> | |
<div class="ml-3" style="position: relative"> | |
<div class="font-weight-bold mb-1">Digite o código de verificação: | |
</div> | |
<div id="aguarde" class="text-info"></div> | |
<div class="input-group"> | |
<span class="mr-2 text-info" style="font-size: 30px">COD - </span> | |
<input type="tel" id="codigo" name="codigo" pattern="[0-9]*" class="form-control form-control-lg text-info" placeholder="_ _ _ _" style="max-width: 130px; font-size: 30px"> | |
<!--input type="tel" id="codigo" name="codigo" pattern="[0-9]*" class="form-control form-control-lg text-info" placeholder="_ _ _ _" style="max-width: 130px; font-size: 30px"--> | |
</div> | |
</div> | |
<!--/ml-3--> | |
</form> | |
</div> | |
<!--/card--> | |
</div> | |
<!--/col--> | |
</div> | |
<!--/row--> | |
</div> | |
<!--/container--> | |
<!-- Modal --> | |
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> | |
<div class="modal-dialog" role="document"> | |
<div class="modal-content"> | |
<div class="modal-header"> | |
<h5 class="modal-title" id="exampleModalLabel">Vamos ligar para você!</h5> | |
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> | |
<span aria-hidden="true">×</span> | |
</button> | |
</div> | |
<div class="modal-body" style="min-height: 170px"> | |
<div id="type1" style="font-size: 20px"></div> | |
</div> | |
<div class="modal-footer" style="visibility: hidden"> | |
<i id="seta" class="fa fa-arrow-right bounce text-primary float-left pl-2" aria-hidden="true" style="position: relative; top:0px; left: -26px; font-size: 22px; z-index: 10"></i> | |
<button type="button" class="btn btn-primary" data-dismiss="modal">Ok, continuar!</button> | |
</div> | |
</div> | |
</div> | |
</div> | |
<!-- Optional JavaScript --> | |
<!-- jQuery first, then Popper.js, then Bootstrap JS --> | |
<script src="js/jquery-3.2.1.min.js"></script> | |
<script src="js/popper.min.js"></script> | |
<script src="js/bootstrap.min.js"></script> | |
<script src="https://cdn.jsdelivr.net/npm/typeit@5.10.6/dist/typeit.min.js"></script> | |
<script src="js/jquery.inputmask.bundle.js"></script> | |
<script> | |
window.onload = function () { | |
var telefone = "<?php echo $telefone;?>"; | |
console.log( "telefone: " + telefone ); | |
var code = "<?php echo $code;?>"; | |
console.log( "code: " + code ); | |
var n_ja_cadastrado = "<?php echo $n_ja_cadastrado;?>"; | |
console.log( "n_ja_cadastrado: " + n_ja_cadastrado ); | |
if ( !telefone ) { | |
$( "#seta" ).css( "visibility", "visible" ); | |
$( '#exampleModal' ).modal( 'show' ); | |
$( '#exampleModal' ).on( 'hidden.bs.modal', function ( e ) { | |
$( '#telefone' ).focus(); | |
} ) | |
} | |
if ( telefone && !code ) { | |
console.log( "tem telefone mas não foi gerado código" ); | |
} | |
if ( telefone && code ) { | |
$( ".alert" ).fadeIn(); | |
$( '#codigo' ).focus(); | |
document.getElementById( "continuar" ).disabled = true; | |
document.getElementById( "telefone" ).disabled = true; | |
function startTimer( duration, display ) { | |
var timer = duration, | |
minutes, seconds; | |
setInterval( function () { | |
minutes = parseInt( timer / 60, 10 ) | |
seconds = parseInt( timer % 60, 10 ); | |
minutes = minutes < 10 ? "0" + minutes : minutes; | |
seconds = seconds < 10 ? "0" + seconds : seconds; | |
display.textContent = minutes + ":" + seconds; | |
if ( --timer < 0 ) { | |
timer = duration; | |
} | |
if ( minutes == 0 && seconds == 0 ) { | |
//alert(); | |
window.location = "telefone.php"; | |
} | |
}, 1000 ); | |
} | |
var fiveMinutes = 60 * 9, | |
display = document.querySelector( '#continuar' ); | |
startTimer( fiveMinutes, display ); | |
} | |
new TypeIt( '#type1', { | |
speed: 30, | |
cursor: false, | |
afterComplete: function ( step, queue, instance ) { | |
$( ".modal-footer" ).css( "visibility", "visible" ); | |
} | |
} ) | |
.type( 'Na próxima etapa vamos pedir o seu telefone e então você receberá uma ligação automática informando um código de verificação.' ) | |
.pause( 550 ) | |
.break() | |
.break() | |
.type( 'Uma cópia do código será enviada por mensagem SMS.' ) | |
.pause( 550 ) | |
.break() | |
.break() | |
.type( 'Podemos continuar?' ) | |
.pause( 750 ); | |
$( "input[id*='telefone']" ).inputmask( { | |
mask: [ '(99) 9999-9999', '(99) 9 9999-9999' ], | |
keepStatic: true | |
} ); | |
$( "input[id*='codigo']" ).inputmask( { | |
mask: [ '9 9 9 9' ], | |
keepStatic: true, | |
oncomplete: function () { | |
verifica(); | |
} | |
} ); | |
$( '#telefone' ).keyup( updateCount ); | |
$( '#telefone' ).keydown( updateCount ); | |
function updateCount() { | |
var cs = $( this ).val(); | |
var res = cs.replace( /[_.-]/g, "" ); | |
var quantidade = res.length; | |
if ( quantidade > 12 ) { | |
document.getElementById( "continuar" ).disabled = false; | |
$( "#continuar" ).attr( 'class', 'btn btn-primary' ); | |
$( "#seta" ).css( "visibility", "hidden" ); | |
$( "#telefoneAluno" ).html( cs ); | |
} else { | |
$( "#continuar" ).attr( 'class', 'btn btn-outline-secondary' ); | |
$( "#seta" ).css( "visibility", "visible" ); | |
$( "#seta2" ).css( "visibility", "hidden" ); | |
document.getElementById( "continuar" ).disabled = true; | |
} | |
} | |
function verifica() { | |
console.log( "telefone: " + telefone ); | |
var codigo = $( "#codigo" ).val(); | |
codigo = codigo.replace( / /g, '' ); | |
console.log( "codigo: " + codigo ); | |
$( "#codigo" ).prop( 'disabled', true ); | |
$( "#aguarde" ).html( '<i class="fas fa-circle-notch fa-spin"></i> Verificando, aguarde...' ) | |
$.ajax( { | |
url: "verificar_codigo.php", | |
type: "POST", | |
data: "telefone=" + telefone + "&codigo=" + codigo, | |
dataType: "html" | |
} ).done( function ( retorno_php ) { | |
console.log( retorno_php ); | |
// var json = JSON.parse(retorno_php); | |
if ( retorno_php == 1 ) { | |
$( "#aguarde" ).html( '<span class="text-success"><i class="fas fa-circle-notch fa-spin"></i> Ok. Código correto, aguarde...</span>' ); | |
window.location = "senha_cadastrar.php"; | |
} else { | |
$( "#aguarde" ).html( '<span class="text-danger">O código está errado. Digite novamente.</span>' ); | |
$( "#codigo" ).prop( 'disabled', false ); | |
$( "#codigo" ).val( '' ); | |
$( '#codigo' ).focus(); | |
} | |
} ).fail( function ( jqXHR, textStatus ) { | |
//console.log("Request failed: " + textStatus); | |
} ).always( function () { | |
//console.log("completou"); | |
} ); | |
} | |
} // FIM window.onload | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment