<?php  session_start();
	// tabla
	$tabla		= 'yqr';
	$acc		= (isset($_GET['_xac'])) ? $_GET['_xac'] : md5(time());
	$ndi		= (isset($_GET['_xv'])) ? $_GET['_xv'] : '{"u":"--","p":".-."}';
	$recordarme	= (isset($_POST['remember-me']) && $_POST['remember-me'] > 0) ? true : false;
	// librerias requeridas
	include_once( dirname(__DIR__) . DIRECTORY_SEPARATOR . '__DataSis__.php');
	// fecha y hora actual
	$horaActual	= date('Y-m-d H:i:s');

	// inicio respuesta de petición
	if($acc=='vqrcode'){
		$QRKey		= trim($ndi,'?');
		if(_mysql_existe($tabla,"idqr", "idqr='$QRKey'")){
			// leo fecha y hora
				$horaReg	= _mysql_obtener_reg($tabla, "idqr='$QRKey'", "fecha"); 
				$horaCaduca	= date('Y-m-d H:i:s', strtotime ( '+3 minute' , strtotime ($horaReg) )); 
				// verifico si no ha caducado el QRCODE
				if($horaActual > $horaCaduca){ 
					// si ha caducado no realizo ninguna accion
					///echo '[{"m":"El codigo ha caducado."}]';
				}else{ 
					// obtengo las credenciales almacenadas
					$credenciales= _mysql_obtener_reg($tabla, "idqr='$QRKey'", "credenciales");
					// desencripto credenciales
					$credenciales= (!empty($credenciales)) ? url_encriptar($credenciales,'3ey@p1','D') : '{"m":"QR inválido."}';
					// leo JSON de credenciales
					$jSONCred	= json_decode($credenciales, true);
					// obtengo usuario y contraseña
					$user		= ( isset( $jSONCred['u'] ) ) ? strip_tags( _mysql_real_escape_string( $jSONCred['u'] ) ) : NULL;
					$pass		= ( isset( $jSONCred['p'] ) ) ? md5( encriptar( $jSONCred['p'], $user ) ) : NULL;
					// ** Inicio sesion
					if(_mysql_existe(loginTabla(), "*", "usuario='$user'")){
						$qry	= _mysql_query("SELECT * FROM ".loginTabla()." WHERE usuario='$user'");
						$r		= _mysql_fetch_array($qry);			
						//* Verifico si esta bloqueado y el usuario y la contrasena coincide *
						if( $r['estado_cuenta'] !== 'Activa' ) {
							echo '[{"m":"Tu cuenta está desactivada."}]';
						}elseif( $r['password'] != $pass ) {
							echo '[{"m":"Verifica que hayas iniciado sesión correctamente desde tu app."}]';
						}else{
							// -- Creo las sesiones locales	
							$dat2 = array(
								"id"=>$r['id'], 
								"usuario"=>$r['usuario'], 
								"nomUsuario"=>$r['nombre_usuario'],
								"email"=>$r['email']
							);
							loginEstablecerSesion($dat2,$recordarme);
							echo '[{"r":1,"m":"<p class=\"text-center fs-18 m-t-35 m-b-45\"><i class=\"fas fa-badge-check fs-48\"></i><br>Verificado...</p>"}]';
						}
					}else{ 
						///echo '[{"m":"El usuario con el que intentas ingresar, no se encuentra registrado."}]'; 
					}
				}
		}else{
			///echo '[{"m":"QR inválido."}]';
		}
		/* ///echo url_encriptar('{"u":"miroot","p":"1234"}','3ey@p1');*/
	}else{
		// verificar si existe llave de acceso QR
		$QRSCODE= explode('?', http_construir_url());
		$QRSCODE= explode('/',$QRSCODE[0]);
		$QRKeyURL	= end($QRSCODE);
		$QRKey		= url_encriptar($QRKeyURL,'@y','D');
		// verifico si el hay QRCODE
		if(!empty($QRKey)){
			// compruebo si existe QRCODE
			if(_mysql_existe($tabla,"idqr", "idqr='$QRKey'")){
				// leo fecha y hora
				$horaReg	= _mysql_obtener_reg($tabla, "idqr='$QRKey'", "fecha"); 
				$horaCaduca	= date('Y-m-d H:i:s', strtotime ( '+3 minute' , strtotime ($horaReg) )); 
				// verifico si no ha caducado el QRCODE
				if($horaActual > $horaCaduca){ 
					// si ha caducado no realizo ninguna accion
					echo '[{"m":"El codigo ha caducado."}]';
				}else{ 
					//recibo las credenciales del usuario
					$credJSON= url_encriptar($ndi, '3ey@p1', 'D');
					$cred	= json_decode($credJSON,true);
					$idusr	= (isset($cred['u'])) ? _mysql_obtener_reg(loginTabla(),"usuario='{$cred['u']}'", "id"):0;
					
					_mysql_modificar_reg($tabla, "idqr='$QRKey'", "idusr='$idusr', credenciales='$ndi'");
				}
			}else{ 
				header('HTTP/1.0 404 not found');
			}
		}else{
			header('HTTP/1.0 404 not found');
		}
		
	}
?>	