<?php session_start();
	/*
	 *
	 * 2003 - 2023 @ Yal Publicidad - Weby+
	 * www.yalpublicidad.com
	 * online@yalpublicidad.com
	 *
	 * @ login.php
	 *
	 */
	
	include_once( dirname(__DIR__) . DIRECTORY_SEPARATOR . '.paneles.php');
	
	/*
	 * Cerrar Sesion
	 */
		if( isset( $_GET['sess'] ) ){
			session_destroy();
			sesion_destruir();
			header('location: ../../?logout' );
			exit;
		}
	// recibo datos
	$email		= ( isset( $_POST['email'] ) ) ? strtolower( $_POST['email'] ) : '==/==';
	$user		= ( isset( $_POST['user'] ) ) ? strip_tags( _mysql_real_escape_string( utf8_decode($_POST['user']) ) ) : "{%@NULL%}";
	$pass		= ( isset( $_POST['pass'] ) && strlen($_POST['pass'])>5 ) ? md5( encriptar( $_POST['pass'], $user ) ) : NULL;
	$rpass		= ( isset( $_POST['rpass'] ) ) ? md5( encriptar( $_POST['rpass'], $user ) ) : NULL;
	$recordarme	= (isset($_POST['remember-me']) && $_POST['remember-me'] > 0) ? true : false;
	$ac			= ( isset( $_POST['a'] ) ) ? $_POST['a'] : false;
	$jSONCnt	= array();
	/** Verifico si se ha iniciado sesion por POST */
	if( $_POST ) {
		if( valCaptcha($_POST['token']) ){
			if(!$ac){ echo '[{"r":0,"m":"Solicitud denegada."}]'; exit(); }
			
			if( $ac == 'sign' ){
				// activo multi sesion
				loginMultiSesion(true);
				// -- * Verifico si recibo campos vacios
				if( $user==NULL || $pass==NULL ){
					echo '[{"r":0,"m":"Ingresa un usuario o contraseña válidos para iniciar sesion."}]';
				}else{
					$jSONCnt[0] = array("r"=>0,'m'=>"El usuario '$user' no se encuentra registrado.");
					if(_mysql_existe(loginTabla(), "*", "usuario='$user'")){
						// -- * Verifico existencia de cuenta y clave
						$qry	= _mysql_query("SELECT * FROM ".loginTabla()." WHERE usuario='$user'");
						$r		= _mysql_fetch_array($qry);			
						/* Verifico si el usuario y la contrasena coincide */
						if( $r['estado_cuenta'] !== 'Activa' ) {
							$jSONCnt[0] = array("r"=>0,'m'=>"Tu cuenta está ".$r['estado_cuenta'].".");
						}elseif( $r['password'] != $pass ) {
							$jSONCnt[0] = array("r"=>0,'m'=>"Tu contraseña es incorrecta.");
						}else{
							// -- Creo las sesiones locales	
							$dat2 = array(
								"id"=>$r['id'], 
								"usuario"=>$r['usuario'], 
								"nomUsuario"=>$r['nombre_usuario'],
								"email"=>$r['email']
							);
							loginEstablecerSesion($dat2,$recordarme);
							$jSONCnt[0] = array("r"=>1,'m'=>"Cargando yPanel...","bText"=>"<i class=\"fa fa-check-circle\"></i> &nbsp; Verificado...");
						}
					}
					echo json_encode($jSONCnt);
				}
			}
			
			// ** 1 paso para recuperar cuenta
			if( $ac == 'recuperar-cuenta' ){
				$cod_cpws	= rand(100000,999999);
				$protocolo	= ( stripos($_SERVER['SERVER_PROTOCOL'],'https') === true ) ? 'https://' : 'http://';
				$link = $protocolo . $_SERVER['HTTP_HOST'] . rtrim(dirname(dirname(dirname($_SERVER['SCRIPT_NAME']))), '/\\') . '/?acc=restablecer&iu=' . $user . '&cpws=' . $cod_cpws . '#login';
				
				$jSONCnt[0] = array("r"=>0,'m'=>"Lo sentimos, el usuario ' . $user . ' no se encuentra registrado.");
				
				if( _mysql_existe( loginTabla(), "usuario", "usuario='$user'" ) ){
					$email	= _mysql_obtener_reg(loginTabla(), "usuario='$user'", "email");
					$Contenido = '<table width="100%" cellpadding="0" cellspacing="0"><tr><td style="padding:10px;">Para restablecer la contrase&ntilde;a de las siguiente cuenta pinche en el enlace y siga las instrucciones indicadas</td></tr><tr><td style="padding:10px;"><a href="' . $link . '">' . $link . '</a></td></tr></table>';
					
					if(Mail2($email, 'Recuperación de contraseña yPanel', 'yPanel - Soporte', 'ypanel@yalpublicidad.com', $Contenido)) {
						if(_mysql_query("UPDATE ".loginTabla()." SET cod_r='$cod_cpws' WHERE usuario='$user'")){
							$jSONCnt[0] = array("r"=>0,"html"=>"<p><strong>Éxito!</strong> Se envió a tu correo <i>" . substr($email,0,8) . "...</i> las instrucciones de recuperación de cuenta.</p>");
							exit();
						}
					}else{
						$jSONCnt[0] = array("r"=>0,'m'=>"UPS! ocurrio un error inesperado, por favor inténtalo más tarde.");
					}
				}
				echo json_encode($jSONCnt);
			}
			
			// ** 2do PASO restablecer cuenta
			if( $ac == 'restablecer' ){
				$cr			= (isset($_POST['cr'])) ? strip_tags( _mysql_real_escape_string( utf8_decode($_POST['cr']) ) ) : NULL;
				if($rpass!=$pass){ echo '[{"r":0,"m":"Las contraseñas no coinciden"}]'; exit(); }
				
				$jSONCnt[0] = array("r"=>0,'m'=>"Lo senimos, no dispones de acceso.");
				if( _mysql_existe( loginTabla(), "usuario, cod_r", "usuario='$user' AND cod_r='" . $cr . "'" ) ){
					if(_mysql_query("UPDATE ".loginTabla()." SET password='$pass', cod_r='pswr-" . date('Y-m-d') . "' WHERE usuario='$user'")){
						$jSONCnt[0] = array("r"=>0,'html'=>"<p>Éxito! tu contraseña se recuperó.<br><a href=\"./?ingresar\">Ingresar a cuenta</a></p>");
					}else{
						$jSONCnt[0] = array("r"=>0,'m'=>"UPS! ocurrio un error inesperado, por favor inténtalo más tarde.");
					}
				}
				echo json_encode($jSONCnt);
			}
		}else{
			echo '[{"r":0,"m":"La llave token caducó."}]';
		}
	}else{
		header('location: ../../' );
	}
?>