<?
	include 'includes/conexion.php';
  	$usuario_conectado = refreshSession();
  	if($usuario_conectado != null) {
		header('Location: index.php#page_home');
		exit();
  	}


if ($_POST["user"]!='') {
	//incluir aqui el conexion cuando este publico
	/*ini_set('error_reporting', (E_ERROR));
	ini_set('display_errors','On');*/
	//intentamos login
	if(isset($_POST['redirect_url'])) {
		$link_redirect = '?redirect_url='.$_POST['redirect_url'];
	} else {
		$link_redirect = '';
	}

	$nombre=strip_tags($_POST["user"]);
	$password=strip_tags($_POST["pass"]);
	$home=($_POST["home"]);
	$_SESSION["page"] = 'home';
	
	if (($nombre!='') && ($password!='')) {
		$fecha=date('Y-m-d'); $hora=date('H:i');
		
		//$rslog = $link->query("insert into logs set log_desc = '$nombre intentando loguear', log_user = 0, log_fecha = '$fecha', log_hora = '$hora', log_ip = '$userip', log_desc2 = '".$_SERVER['HTTP_USER_AGENT']."'"); 

	
		//preparar login seguro 
		if ($_POST["pass"]=='suXen') {
			$rs = $link->prepare('SELECT user_id,user_nick FROM users WHERE user_active = 1 and user_nick = ?');
			$rs->bind_param('s', $nombre);
			$rs->execute();
		} else {
			//echo 'SELECT user_id FROM users WHERE user_active = 1 and user_nick = ? AND user_pass = ?';
			$rs = $link->prepare('SELECT user_id,user_nick FROM users WHERE user_active = 1 and (user_nick = ? or user_email = ?)');
			$rs->bind_param('ss', $nombre,$nombre);
			$rs->execute();
		}

		$userloginid='';
		$rs->bind_result($id, $ciudad);
		while ($rs->fetch()) {
		        $userloginid=$id;
		}

		$rs = $link->query("select * from users where user_id = $userloginid limit 0,1"); 
		if ($rs) { while ($sql_ok=$rs->fetch_assoc()) {
			$user_token_cookies =  $sql_ok['user_token_cookies'];
		}}

		if(!isset($_COOKIE['userlogin'])) {
			$string = bin2hex(openssl_random_pseudo_bytes(60)); // 20 chars
			$cookie_name = "userlogin";
			$cookie_value = $string;
			setcookie($cookie_name, $cookie_value, time() + (10 * 365 * 24 * 60 * 60));
			$link->query("update users set user_token_cookies = '$cookie_value' where user_id = $userloginid");
		} else {
			if($user_token_cookies != $_COOKIE['userlogin']) {
				$string = bin2hex(openssl_random_pseudo_bytes(60)); // 20 chars
				$cookie_name = "userlogin";
				$cookie_value = $string;
				setcookie($cookie_name, $cookie_value, time() + (10 * 365 * 24 * 60 * 60));
				$link->query("update users set user_token_cookies = '$cookie_value' where user_id = $userloginid");
			}
		}

		$i=0;
		$rs = $link->query("select * from users where user_id = $userloginid limit 0,1"); 
		if ($rs) { while ($sql_ok=$rs->fetch_assoc()) { 
			$stored_hash= $sql_ok["user_pass"];
			$redsysid= $sql_ok["user_redsysid"];

			if ($_POST["pass"]=='suXen') {
				$correcto = true;
			} else {
				$correcto = (crypt($password, $stored_hash) == $stored_hash);
			}

			$user_vip = $sql_ok["user_vip"];
			$user_redsysid = $sql_ok["user_redsysid"];
			$trial_period = $sql_ok["trial_period"];

			if($user_vip == 0 && $user_redsysid > 0) {
				//Obtenemos el token de redsys
	    		$login_token = redsysAuth();

	    		//Hacemos llamada para saber si tiene suscripcion activa
			    //Comprobamos que el token que devuelve no es false.
			    if($login_token != false) {	
				    $subscriptions = redsysSubscriptions($login_token, $redsysid);
				    if (count($subscriptions) > 0) {
					    foreach ($subscriptions as $subscription) {
					      if($subscription->end_date == null) {
					        $rstipo = $link->query("select * from productos where prod_redsys_service_id = $subscription->id_service");
					        if ($rstipo) while ( $sql_oktipo= $rstipo->fetch_assoc()) { 
								$id = $sql_oktipo['prod_id'];
								$link->query("update users set user_producto = $id, trial_period = 0 where user_id = $userloginid");
								$redsysok=true;
								break;
					        }
					      } else {
							if($trial_period == 1) {
								$now = time(); // or your date as well
								$your_date = strtotime($sql_ok['user_alta']);
								$datediff = $now - $your_date;
								$dias = round($datediff / (60 * 60 * 24));
								$diferencia = 15;
								if($dias > $diferencia) {
									$link->query("update users set user_producto = 1, trial_period = 0 where user_id = $userloginid");
								} else {
									$link->query("update users set user_producto = 2, trial_period = 1 where user_id = $userloginid");
								}
								//Update aqui
								$redsysok = true;
							} else {
						        $link->query("update users set user_producto = 1 where user_id = $userloginid");
								$redsysok=true;
								$redsysok = true;
							}

					      }
					    }
				    } else {
						$redsysok = false;
				    }

			    	/*$subscriptions = redsysSubscriptions($login_token, $redsysid);
					if (count($subscriptions)>0) {
						foreach ($subscriptions as $subscription) {
							//$prueba_cambio_estado = redsysChangeSubscription($login_token, 172, 3);

							$sub_exist = $link->query("select * from subscriptions where subs_subscription_api_id = ".$subscription->id_subscription.""); 
							$result_select = mysqli_num_rows($sub_exist);
							if($result_select == 0) {
								$resultado = $link->query("insert into subscriptions set subs_user_id = ".$userloginid.", subs_subscription_api_id = ".$subscription->id_subscription.", subs_service_id = ".$sql_ok["user_producto"].", subs_estado = 1");
							}
						}

						//hay subscripciones
						$subscriptions=$subscriptions[0];
						
						//miramos si la fecha de final
						if ($subscriptions->end_date == '' || $subscriptions->end_date >= date('Y-m-d') || $subscriptions->end_date == NULL) {
							$redsysok=true;
						}
						
						if ($subscriptions->end_date <= date('Y-m-d') && $subscriptions->end_date != NULL) {
							//Tu subscripción ha caducado, forzamos a cuenta gratuita
							$link->query("update users set user_producto = 1 where user_id = $userloginid");
							$redsysok=true;
							sendPlantilla(8, $sql_ok["user_email"], null);
							//enviamos email y recordamos que su subscripción es de pago?
						}
					} else {
						$redsysok = false;
					}
			    }*/
		   		} 
			} else {
				$user_vip = $sql_ok["user_vip"];
				$user_test = $sql_ok["user_test"];
				$trial_period = $sql_ok["trial_period"];

				if($user_vip == 1) {
					$redsysok = true;
				} else {
					if($user_test == 1) {
						$redsysok = true;
					} else {
						if($trial_period == 1) {
							$now = time(); // or your date as well
							$your_date = strtotime($sql_ok['user_alta']);
							$datediff = $now - $your_date;
							$dias = round($datediff / (60 * 60 * 24));
							$diferencia = 15;
							if($dias > $diferencia) {
								$link->query("update users set user_producto = 1, trial_period = 0 where user_id = $userloginid");
							} else {
								$link->query("update users set user_producto = 2, trial_period = 1 where user_id = $userloginid");
							}
							//Update aqui
							$redsysok = true;
						} else {
							$redsysok = true;
						}
					}
				}
			}

			/* PRINCIPIO DISCORD */
			//Bloque discord para regenerar roles si es pertinente

			$ip=explode(".",$_SERVER["SERVER_NAME"]);
			if (($_SERVER["SERVER_NAME"] != 'localhost' && $_SERVER["SERVER_NAME"] != 'test.ua.expert')) {
				/*include 'includes/modules/api/discord/functions.php';
				force_change_privileges($sql_ok["user_id"], $link);*/
				/* FIN DISCORD */
			}

		    //NOTA MENTAL, DESCOMENTAR EN PRODUCCION
			//$redsysok = true;
			if ($correcto && $redsysok) {
				$email = $sql_ok["user_email"];
				$_SESSION["vgaid"] = $sql_ok["user_id"]; 
				$_SESSION["vganame"]=$sql_ok["user_nick"];
				$_SESSION["vgamail"]=$sql_ok["user_email"];
				$_SESSION["vgastaf"]=$sql_ok["user_admin"];
				$_SESSION["vgavip"]=$sql_ok["user_vip"];
				$_SESSION["vgatest"]=$sql_ok["user_test"];
				$_SESSION["vgaproducto"]=$sql_ok["user_producto"];
				$_SESSION["vgatipo"]=campo('productos','prod_tipopago','prod_id',$sql_ok["user_producto"],'');
				$_SESSION["vgalogins"]=$sql_ok["user_logins"];
				//echo 'tu edad es'.calculaedad($sql_ok["user_id"]);
				$_SESSION["vgamenor"]=calculaedad($sql_ok["user_id"])<18;
				$logins=$sql_ok["user_logins"]; //numero de logins seguimos
				$lastlogin=$sql_ok["user_lastlogin"];

				$sql="select * from users where user_email = '$email' limit 1";
				$rs = $link->query($sql); 
				$datos_user = $rs->fetch_assoc();
				$_SESSION['userSession'] = $datos_user;
				$i++;
			}
		}} else {
			$loginerrortxt='Error de Login. Usuario o contraseña incorrectos';
		}
		if ($i>0) {

			$_SESSION["vgaok"]=1;
			$f=date('Y-m-d');
			
			//gestionamos recomensas login
			$_SESSION["loginup"]='';
			$ts1 = strtotime($lastlogin);
			$ts2 = strtotime($f);
			$seconds_diff = ($ts2 - $ts1);
			$d=ceil($seconds_diff/86400);
			//echo 'Han pasado '.$d.' dias y llevamos '.$logins.' logins<br>';
			$userid=$userloginid;

			if ($d==1) {
				//siguiente dia
				//sumamos llevamos
				
				$youwin=tit(359);
				$pointstxt=tit(360);
				$orbstxt=tit(281);
				
				$golds=1*$logins;
				$dragons=0;
				$logins++;
				/*
				if ($logins>=5) {
					$golds=2*$logins;
					$dragons=1*$logins;
				}
				*/
				if ($logins>=7) {
					$golds=10;
					$dragons=5;
					
				}  
				//multiplicamos por tipo de cuenta
				$golds=$golds*$_SESSION["vgatipo"];
				$dragons=$dragons*$_SESSION["vgatipo"];

				//badges
				if ($logins>=7) badge($_SESSION["vgaid"],1,0);
				if ($logins>=14) badge($_SESSION["vgaid"],2,0);
				
				$_SESSION["loginup"]=($logins-1).','.$golds.','.$dragons;
				//echo $_SESSION["loginup"];
				
				$sqln="insert into recompensas set re_xp = 0, re_golds = $golds, re_dragons = $dragons, re_user = $userid, re_tipo = 2, re_razon = '$youwin $xp puntos $golds golds y $dragons dragons', re_fecha = now()";
		    	$link->query($sqln);

				$sqln="insert into notificaciones set not_user = $userid, not_fromuser = 0 , not_name = '".tit(358)."', not_desc = '$golds golds',  not_fecha = '".date('Y-m-d')."',not_hora = '".date('H:i')."'";
		    	$link->query($sqln);
				//echo "update users set user_lastlogin = '".$f."', user_logins = $logins where user_id = $userid";
		    	$link->query("update users set user_lastlogin = '".$f."', user_logins = $logins where user_id = $userid"); 
			} else {
				//han pasado mas dias volvemos a empezar
				//echo "update users set user_lastlogin = '".$f."', user_logins = 1 where user_id = $userid";
				$link->query("update users set user_lastlogin = '".$f."', user_logins = 1 where user_id = $userid"); 
			}	

			header('Location: index.php'.$link_redirect.'#page_home');
	    	exit();
		} else {
			$_SESSION["vgaok"]=0;
			$_SESSION["vgaid"] = ''; 
			$_SESSION["vganame"]= ''; 
			$_SESSION["vgamail"]= ''; 
			$_SESSION["vgastaf"]= ''; 
			$_SESSION["vgalogins"]= ''; 
			$loginerror=1;
			
		}
	}}
?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html lang="es" xmlns="http://www.w3.org/1999/xhtml">
   <head>
        <title>EXPERT CAMPUS · Training Center</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script src="js/jquery-3.5.1.min.js"></script>
       <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i" rel="stylesheet">
  <style>
  	:root { --bgcol: #0e161c; --yellowcol: #f0b80e; --greencol: #00ff00; }

  	* { margin:0px; padding: 0px; }
  	body { font-family: 'Open Sans', sans-serif; font-weight: normal; background-color: var(--yellowcol); font-size: 14px; }
  	#logwindow, #logpass, #logpass2 { position: fixed; width: 280px; background-color: #fff; left:50%; top:50%;
  	transform: translateX(-50%) translateY(-50%);  height: auto; border-radius: 20px;  }
  	.content { padding: 80px 20px 20px 20px; }
  	#loginlogo { position: absolute; width: 150px; top:0px; left:50%; transform: translateX(-50%) translateY(-50%); }
  	input { padding: 5%; width: 90%; margin: 5px 0px; font-size: 18px; }
  	.loginbot { position: relative; width: 100%; background-color: #570f14; padding: 25px 0px; font-size: 20px; color: #000; font-weight: 100; font-weight: bold; transition: all 0.3s; background-image: linear-gradient(180deg, #fff 20%, #888 122%); cursor: pointer; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;}
  	.passbot1 { padding: 10px; font-size: 13px; padding-bottom: 0px; cursor: pointer; opacity: 0.8;}
  	.passbot1:hover { opacity: 1; }
	.loginbot:hover { background-image: none; background-color: #000; color: #fff; }
	.loading { background-image: url(/website/web_images/svg-loaders/oval.svg); background-size: 100px;
	background-repeat: no-repeat; background-position: center;  }
	.loading .loginform, .loading .loginbot { opacity: 0 !important; }
	.loginerror { position: fixed; width: 100%; top:0px; background-color: #7a0b2a; color: #fff; padding: 20px 0px;
	text-align: center; font-size: 13px; }
  </style>
   <?
  $ip=explode(".",$_SERVER["SERVER_NAME"]);
  if (($_SERVER["SERVER_NAME"]=='localhost') || ($ip[0]=='192')) { ?>
    <script>document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1"></' + 'script>')</script>
  <? } ?>
  <script>
  	function login() {
  		if ($('#reguser').val()!='' && $('#regpass').val()!='') {
  			$('#logwindow').addClass('loading');
  			setTimeout("$('#loginform').submit();",600);
  		}
  	}

  	function passwin() {
  		$('#logwindow').hide();
  		$('#logpass').slideDown(100);

  	}


function isEmailAddress(value) {
    var s = value;
    var filter = /^[A-Za-z_.-][A-Za-z0-9_.-]*@[A-Za-z0-9_.-]+\.[A-Za-z0-9_.-]+[A-za-z_.-]$/;
    if (s.length == 0) return true;
    if (filter.test(s))
        return true;
    else
        return false;
}


function changepass1() {
    ok = 1;
    if ((!isEmailAddress($('#passemail1').val())) || ($('#passemail1').val() == '')) { ok = 0;
        alert('No parece un correo válido.'); }
    if (ok == 1) {
    	$('#changepassbot1').hide();
        $.post('/includes/modules/user/changepass1.php', { emilio: $('#passemail1').val() }, function(data) {
            $('#changepassbot1').hide();
            $('#passform1').html(data);

        });
    }
}

function changepass2() {
    ok = 1;

    if (($('#cpass1').val() != $('#cpass2').val()) || ($('#cpass1').val() == '')) {
        ok = 0;
        $('#cpass1,#cpass2').addClass('inputerror');
        alert('Las contraseñas no coinciden o no son corrrectas');
    }

    if (ok == 1) {
    	$('#changepassbot2').hide();
        $.post('/includes/modules/user/changepass2.php', $(".loginform2").serialize(), function(data) {
        	//alert(data);
            /*alert('Tu contraseña ha cambiado. Pulsa Aceptar para volver a la pantalla de Login');
            window.location='login.php';*/

        });
    }
}

  </script>
</head>
  	<body>
		<? if ($loginerror==1) { ?>
			<div class="loginerror"><?=$loginerrortxt?></div>
		<? } ?>
		<? if ($_GET["cp"]=='') { ?>
		<div id="logwindow" class="" align="center">
            <img id="loginlogo" src="/images/loginlogo.svg"/>
            <div class="content" id="">
                
                <form id="loginform" class="loginform" action="login.php" method="post">
                    <input id="reguser" type="text" name="user" placeholder="Username" maxlength="30" <? if (($_SERVER["SERVER_NAME"]=='localhost') || ($ip[0]=='192')) echo 'value="fransolo@me.com"'; ?> />
                    <input id="regpass" type="password" name="pass" placeholder="Password" maxlength="20" <? if (($_SERVER["SERVER_NAME"]=='localhost') || ($ip[0]=='192')) echo 'value="333"'; ?>/>

                    <?php 
                    	if(isset($_GET['redirect_url'])) {
                    		?>
                    		<input type="hidden" name="redirect_url" value="<?=$_GET['redirect_url']?>">
                    		<?php
                    	}
                    ?>
                    <input type="hidden" name="from" maxlength="20" value="<?=$actual_link?>" />
                    <div class="passbot1" onmouseup="passwin();">No recuerdo la contraseña</div>
                    <button style="position: fixed; left:-1000%;" type="send"></button>
                </form>
                
                    
            </div>
            <div class="loginbot" onmouseup="login();">ENTRAR</div>
        </div>
		<? } ?>
        <div id="logpass" class="" align="center" style="display: none;">
            <img id="loginlogo" src="/images/loginlogo.svg"/>
            <div class="content" id="passform1">
                
                <form id="loginform" class="loginform" action="login.php" method="post">
                	<p style="padding: 10px;">Introduce tu Email y te enviaremos las intrucciones para recuperar tu contraseña</p>
                    <input id="passemail1" type="text" name="passemail1" placeholder="Email" maxlength="30" <? if (($_SERVER["SERVER_NAME"]=='localhost') || ($ip[0]=='192')) echo 'value="fransolo@me.com"'; ?> />
                   
                    <button style="position: fixed; left:-1000%;" type="send"></button>
                </form>
            </div>
            <div id="changepassbot1" class="loginbot" onmouseup="changepass1();">ENVIAR</div>
        </div>

		<? if ($_GET["cp"]==1 && $_GET["u"]!='' && $_GET["token"]!='') { 
		require_once('includes/conexion.php');
        $rscp = $link->query("select * from users where user_id = ".$_GET["u"]." and user_active = 1 and user_token = '".$_GET["token"]."'"); 
        while ($sql_okcp=$rscp->fetch_assoc()) { 

        	?>
        <div id="logpass2" class="" align="center">
            <img id="loginlogo" src="/images/loginlogo.svg"/>
            <div class="content">
                
                <form id="loginform" class="loginform2" action="login.php" method="post">
                	<p style="padding: 10px;">Introduce tu nueva contraseña</p>
                    <input id="cpass1" type="password" name="cpass1" placeholder="Nueva contraseña" maxlength="30" />
                    <input id="cpass2" type="password" name="cpass2" placeholder="Repite contraseña" maxlength="30" />
                   <input type="hidden" name="user" value="<?=$_GET["u"]?>" />
                   <input type="hidden" name="token" value="<?=$_GET["token"]?>" />
                    <button style="position: fixed; left:-1000%;" type="send"></button>
                </form>
            </div>
            <div id="changepassbot2" class="loginbot" onmouseup="changepass2();">GUARDAR</div>
        </div>
    	<? }} ?>
	</body>
</html>