<?php 
include_once "../model/Datos.php";
class AccessModel extends Datos{

	#consulta datos del cliente al autenticarse
	public function login($user, $pass) {

		$query = $this->read("u.usuaid, u.usuaesta, u.usuanomb, u.usuaapel, u.usuanudi, u.usuaemai, u.usuakey, ur.usroroid", "usuarios u, usuarole ur", "(u.usuaemai = '".$user."' OR u.usuanudi = '".$user."') AND (u.usuapass = '".md5($pass)."' OR u.usuapass = '".hash('sha256', $pass)."') AND  u.usuaid = ur.usrousid");

		return $query[0];
	}

	# accede al metodo create para el registro del nuevo usuario
	public function createUser($userData) {

		extract($userData);

		$query = $this->create("usuarios", "usuaesta, usuanomb, usuaapel, usuanudi, usuaemai, usuapass, usuacate, usuapais, usuakey", "$activado, '$name', '$last_name', '$celular', '$email', '$password', $usuacate, $country, '$key'");

		return $query;
	}

	# Registra el rol del usuario registrado
	public function createUserRole($usuid) {

		$query = $this->create("usuarole", "usrousid, usroroid, usroesta", "$usuid, 52, 44");

		return $query;
	}

	#consulta si el cliente ya existe
	public function getUser($email, $celular) {

		$query = $this->read("usuaid", "usuarios", "usuaemai = '".$email."' OR usuanudi = '".$celular."'");

		return $query[0];
	}
	
	#consulta si el email ya existe JFMI 19 jun 2022
	public function validEmailUser($email) {

		$query = $this->read("usuaid", "usuarios", "usuaemai = '$email'");

		return $query[0];
	}	
	
	#consulta si el celular ya existe JFMI 19 jun 2022
	public function validTelefonoUser($numero) {

		$query = $this->read("usuaid", "usuarios", "usuanudi = '$numero'");

		return $query[0];
	}	

	# Captura el id para el registro del nuevo usuario
	# esta ligado a la creacion de usuario
	public function getNextUser() {

		$query = $this->autoincrement("usuarios", "usuaid");

		return $query;
	}

	# Captura la data del usuario a recuperar contraseña
	public function getUserRecover($user) {
		
		$query = $this->read("u.usuanomb, u.usuaemai, u.usuakey", "usuarios u", "(u.usuaemai = '".$user."' OR u.usuanudi = '".$user."') AND u.usuaesta = 6");

		return $query[0];
	}

	public function getUserKey($key) {

		$query = $this->read("u.usuaid", "usuarios u", "u.usuakey = '".$key."'");

		return $query[0];
	}

	public function activateUser($user, $key, $est) {

		$query = $this->update("usuarios", "usuaemai = '".$user."' AND usuakey = '".$key."'", array("usuaesta" => $est));

		return $query;
	}

	# Captura parametros operativos de la BD para mailing
	public function getParam($val) {
		
		$query = $this->read("po.paopvalo", "paraoper po", "paopid = $val");
		
		return $query[0];
	}

	# Almacena nuevo password
	public function setNewPassword($user, $pass){

		$query = $this->update("usuarios", "usuaid = $user", array("usuapass" => "'$pass'"));

		return $query;
	}

	# Almacena nuevo password
	public function setNewKey($user, $key){

		$query = $this->update("usuarios", "usuaid = $user", array("usuakey" => "'$key'"));

		return $query;
	}

	# Obtiene los paises para listar en registro
	public function getCountries() {

		$query = $this->read("dg.digeid, dg.digedesc","divigeo dg","dg.digetipo = 32");

		return $query;
	}

}
?>