<?php 

class Acceso extends AccesoCore {
		
	protected static $_aliasTabla = 'a';
	protected static $_nombreTabla = 'ACCESO';
	protected static $_campoPK = 'ID_ACCESO';
	
	protected static function initMetaDatos(){
		parent::initMetaDatos();
		self::addPropiedadBD('a', 'ID_ACCESO', 'id_acceso', self::META_INT);
		self::addPropiedadBD('a', 'TOKEN', 'token', self::META_VARCHAR);
		self::addPropiedadBD('a', 'FECHA', 'fecha', self::META_DATETIME);
		self::addPropiedadBD('a', 'ID_USUARIO', 'id_usuario', self::META_VARCHAR);
	}
	
	
	public static function loadByUsuario($idUsuario) {
		$select = self::camposConsulta ();
		$select->where('ID_USUARIO=?', (int)$idUsuario);
		$res = self::selectExecute($select)->getDatos();
		if(isset($res[0])){
			return $res[0];
		}
		
	}
	
	public static function loadByToken($token){
		$select = self::selectObjeto();
		$select->where('dateadd(hour, 24,  FECHA ) > NOW()');
		$select->where('a.TOKEN=?',$token);
		$ar = self::selectExecute($select);
		$datos = $ar->getDatos();
		if(isset($datos[0])){
			$resultado = $datos[0];
			$propiedadPK = self::getPropiedadFromCampo(self::getAliasTabla(), self::getCampoPk());			
			$acceso = new Acceso($resultado[$propiedadPK]);
			return $acceso;
		}
		
	}
	
} 