<?php
	
	/*
	 *
	 * 2003 - 2023 @ Yal Publicidad - yPanel
	 * www.yalpublicidad.com
	 * online@yalpublicidad.com
	 *
	 */
	 
	/* Autorizo acceso */
		defined('YPANEL_INI') or die( 'No dispones de acceso' );

	// TEMPORAL: agrego campo nuevo a tabla usuarios de sistema
	if(! _mysql_existe_campo(loginTabla(),'apitokens')){
		_mysql_query("ALTER TABLE `".loginTabla()."` ADD `apitokens` TEXT NULL AFTER `tokens`;");
	}
		
	$acc	= ( isset( $_GET['acc'] ) ) ? $_GET['acc'] : '@/@';
	
	$_usarBtn= false;
	$_boton	= 'Iniciar Sesión';
?>
<!DOCTYPE html>
<html lang="en">
<head>
	<title>Login yPanel - <?php echo idata('nombre_original') ?></title>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link rel="icon" type="image/png" href="images/favicons/favicon.png"/>
	<link href="css/fontawesome-all.min.css" rel="stylesheet" type="text/css" />
<!--===============================================================================================-->
	<link rel="stylesheet" type="text/css" href="css/login/util.css">
	<link rel="stylesheet" type="text/css" href="css/login/main.css">
<!--===============================================================================================-->
	<script type="text/javascript" src="js/jsy-scriptv2.js"></script>
</head>
<body>
	
	<div class="limiter">
		<div class="container-login100">
			<div class="wrap-login100">
				<form action="paneles/login/login.php" class="login100-form validate-form">
					<input type="hidden" name="token" value="<?php echo captcha(); ?>">
					<span class="login100-form-title p-b-26">
						<img src="images/logo.png" alt="yPanel de YalPublicidad.Com" style="width:50%"><br>
						<?php echo idata('nombre_original') ?>
					</span>
					<?php if( $acc == '@/@' ){ ?>
					<span class="login100-form-title title-b p-b-48">
						Iniciar Sesión
						<i class="zmdi zmdi-font"></i>
					</span>
					<?php } ?>
					<?php 
						// iniciar sesion con usuario y contraseña
						if( $acc == 'login' ){
							$_usarBtn = true;
					?>
					<input type="hidden" name="a" value="sign">
					<div class="wrap-input100 validate-input" data-validate = "Ingresa un usuario válido">
						<input class="input100" type="text" name="user" value="<?php echo loginNomUsuario(); ?>" autocomplete="off">
						<span class="focus-input100" data-placeholder="Usuario"></span>
					</div>

					<div class="wrap-input100 validate-input" data-validate="Ingresa una contraseña válida">
						<span class="btn-show-pass">
							<i class="zmdi zmdi-eye"></i>
						</span>
						<input class="input100" type="password" name="pass">
						<span class="focus-input100" data-placeholder="Password"></span>
					</div>
					
					<p class="p-b-25">
						<input type="checkbox" name="remember-me" value="1"> Recordar contraseña.
					</p>
					<?php
						// ** INICIO DE SESION CON QR 
						}elseif( $acc == 'qrcode'){
					?>
					<div id="qrcode" class="container-login100-form-btn"></div>
					<?php
						// ** PASO 1: RECUPERAR CUENTA 
						}elseif( $acc == 'recuperar' ){ 
							$_usarBtn = true;
							$_boton	= 'Enviar';
					?>
					<div id="htrecu">
						<input type="hidden" name="a" value="recuperar-cuenta">
						<p class="p-b-25">¿Olvidaste tu contraseña? Escribe ingresa tu usuario para iniciar el proceso de restablecimiento.</p>
						<div class="wrap-input100 validate-input" data-validate="Ingresa un nombre de usuario válido">
							<input class="input100" type="text" name="user" autocomplete="off">
							<span class="focus-input100" data-placeholder="Ingresa tu usuario"></span>
						</div>
					</div>
					<?php
						// ** PASO 2: RESTABLECER CONTRASEÑA
						}elseif( $acc == 'restablecer' ) {
							$cod_psw= ( isset( $_GET['cpws'] ) ) ? $_GET['cpws'] : NULL;
							$user	= ( isset( $_GET['iu'] ) ) ? strtolower( $_GET['iu'] ) : NULL;
								
							if( _mysql_existe( loginTabla(), "usuario, cod_r", "usuario='$user' AND cod_r='$cod_psw'" ) ){
								$_usarBtn = true;
								$_boton	= 'Restablecer';
					?>
					<div id="htrecu">
						<input type="hidden" name="a" value="restablecer">
						<input type="hidden" name="user" value="<?php echo $user ?>">
						<input type="hidden" name="cr" value="<?php echo $cod_psw ?>">
						<div class="wrap-input100 validate-input" data-validate="Digita la nueva contraseña">
							<span class="btn-show-pass">
								<i class="zmdi zmdi-eye"></i>
							</span>
							<input class="input100" type="password" name="pass">
							<span class="focus-input100" data-placeholder="Ingrese su nueva contraseña"></span>
						</div>

						<div class="wrap-input100 validate-input" data-validate="Vuelva a escribir la contraseña">
							<span class="btn-show-pass">
								<i class="zmdi zmdi-eye"></i>
							</span>
							<input class="input100" type="password" name="rpass">
							<span class="focus-input100" data-placeholder="Vuelva a escribir la contraseña"></span>
						</div>
					</div>
					<?php				
							}else{
								echo '<p class="m-t-45 m-b-35">Lo sentimos, pero su autorización es inválida o la contraseña ya fue restablecida. Si necesita recuperar su contraseña vuelva a iniciar el proceso o contáctese con proveedor de servicio.</p>';
							}
						}else{ 
					?>
					<div class="container-login100-form-btn">
						<div class="wrap-login100-form-btn-opt">
							<button class="login100-form-btn-opt btn-data-rel" data-rel="?acc=qrcode">
								<span class="login100-form-btn-ic"><i class="fas fa-qrcode"></i></span> 
								Usar código QR
							</button>
						</div>
					</div>
					
					<div class="container-login100-form-btn">
						<div class="wrap-login100-form-btn-opt">
							<button class="login100-form-btn-opt btn-data-rel" data-rel="?acc=login">
								<span class="login100-form-btn-ic"><i class="far fa-user"></i></span> 
								Usar nombre de usuario
							</button>
						</div>
					</div>
					<?php } ?>
					
					<?php if( $_usarBtn ){ ?>
					<div class="container-login100-form-btn">
						<div class="wrap-login100-form-btn">
							<div class="login100-form-bgbtn"></div>
							<button name="bLogin" class="login100-form-btn">
								<?php echo $_boton ?>
							</button>
						</div>
					</div>
					<?php } ?>
					
					<?php if( $acc == '@/@' ){ ?>
					<div class="text-center p-t-68">
						<span class="txt1">
							¿Olvidaste tu contraseña? 
						</span>

						<a class="txt2" href="?acc=recuperar">
							Click aquí
						</a>
					</div>
					<?php }else{ echo '<div class="text-center p-t-68"><a href="javascript:;" onClick="history.go(-1)" class="txt2"><i class="fas fa-long-arrow-left"></i> Regresar</a></div>'; } ?>
					
					<div class="text-center txt-c999 fs-11 p-t-25"><a href="//www.yalpublicidad.com" class="txt-c999 fs-11" target="_blank" title="YalPublicidad.Com">&copy; <?php echo date( 'Y' ) ?> Yal Publicidad</a> &bull; yPanel</div>
				</form>
			</div>
		</div>
	</div>
	

	<div id="dropDownSelect1"></div>
	
	<script type="text/javascript">
		var f = document.querySelector( ".validate-form" );
		var btns = document.querySelectorAll( ".btn-data-rel" ); 
		for(a=0;a<btns.length;a++){
			btns[a].onclick = function(e){
				location.href = this.getAttribute('data-rel');
				//alert(this.getAttribute('data-rel'));
				return false;
			}
		}
		
		var inputTxt = document.querySelectorAll( ".input100" );
		var ifocus = false;
		for(a=0;a<inputTxt.length;a++){
			if( inputTxt[a].value.trim() === "" ){
				if(ifocus === false){ inputTxt[a].focus(); ifocus = true; }
			}
			// evaluo si se rellenó el campo
			if( inputTxt[a].value.trim() != "") {
				inputTxt[a].classList.add('has-val');
			}else{
				inputTxt[a].classList.remove('has-val');
			}
			
			inputTxt[a].onblur = function(){
				if( this.value.trim() != "") {
					this.classList.add('has-val');
				} else {
					this.classList.remove('has-val');
				}
			}
		}
		
		f.onsubmit = function(){
			emailRegex = /^[-\w.%+]{1,64}@(?:[A-Z0-9-]{1,63}\.){1,125}[A-Z]{2,63}$/i;
			for(c=0;c<inputTxt.length;c++){
				if( inputTxt[c].value == '' ){
					MsjBox.mostrar( inputTxt[c].parentElement.getAttribute('data-validate') );
					inputTxt[c].focus();
					return false;
				}
				// solo si hay un campo email
				if(inputTxt[c].type==='email'){
					if ( ! emailRegex.test( inputTxt[c].value ) ) {
						inputTxt[c].focus();
						MsjBox.mostrar( inputTxt[c].parentElement.getAttribute('data-validate') );
						return false;
					}
				}
				// solo si hay un campo password
				if(inputTxt[c].type==='password'){
					if ( inputTxt[c].value.length < 6 ) {
						inputTxt[c].focus();
						MsjBox.mostrar( inputTxt[c].parentElement.getAttribute('data-validate') + ' mayor a 6 caracteres.' );
						return false;
					}
				}
			}
			//
			var btnSubmitText = this.bLogin.innerHTML;
			this.bLogin.innerHTML = 'Iniciando...';
			$ref = '<?php $ref = (!empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : NULL; echo 'index.php?' . $ref; ?>';
			var Data = new FormData(this);
			$y.formData({
					url: f.action,
					data: Data,
					suceso: function(r){ //alert(r);
						var jDat = JSON.parse(r);
						if(jDat[0].bText !== ''){ f.bLogin.innerHTML = jDat[0].bText; }
						if(jDat[0].r === 1){ location.href = $ref; }
						if(jDat[0].r === 0) { f.bLogin.innerHTML = btnSubmitText; }
						// Mensaje
						if(jDat[0].m !== undefined){ MsjBox.mostrar( jDat[0].m ); }
						if(jDat[0].html !== undefined){ document.getElementById('htrecu').innerHTML = jDat[0].html; }
						
					}
			});
			return false;
		}
		
		<?php if( $acc == 'qrcode'){ ?>
		var QR = document.querySelector('#qrcode');
		var _k = 'k';
		
		function QRs(){
			$y.ajax({
				url: 'q/?_xac=vqrcode&_xv=' + _k,
				metodo: 'GET',
				suceso: function(r){
					var dJSON = JSON.parse(r);
					if(dJSON[0].m.length > 5){
						QR.innerHTML = dJSON[0].m;
						if(dJSON[0].r===1){ location.href='./?inPanel'; }
					}
				}
			});
		}
		
		function QRi(){
			$y.ajax({
				url: 'q/.qrcode.php',
				metodo: 'GET',
				suceso: function(r){
					var dJSON = JSON.parse(r);
					if(dJSON[0].k.length > 5){
						QR.innerHTML = dJSON[0].img;
						_k = dJSON[0].k;
					}
				}
			});
			setTimeout(function(){
				QR.innerHTML = 'Caducó el Qr &nbsp; <a href="javascript:;" onClick="QRi()"><i class="fas fa-redo"></i> Actualizar</a>.';
			},(60000 * 3));
		} 
		QRi();
		var c1 = setInterval(QRs,7000);	
		<?php } ?>
	</script>

</body>
</html>