<?php
session_start();

class Sesion{
	var $id;
	var $priv;
	var $usuario;
	
	function Sesion($id=NULL,$priv=-1,$usuario=NULL){
	   $this->id=$id;
	   $this->priv=$priv;
	   $this->usuario=$usuario;
	}
	
	/*Crea una sesion*/
	function setSesion(){
	   $cuenta[0]=$this->id;
	   $cuenta[1]=$this->priv;
	   $cuenta[2]=$this->usuario;
	   $_SESSION['usuario']=implode("|",$cuenta);
	   if( isset($_SESSION['usuario']) ) return 1;
	   return 0;
	}
	
	/*Llena los atributos de un objeto
	Nota: Es necesario que se cuente con sesion para que se realice
	         el llenado.
	*/
	function setDatos($id,$priv,$usr){
	   if( isset($_SESSION['usuario']) ){	
	     $this->id=$id;
	     $this->priv=$priv;
	     $this->usuario=$usr;
	     return 1;
	   }
	   return 0;
	}
	
	/*Valida una Sesion
	@param perms: Cadena con los privilegios permitidos separados por ','
	*/
	function isValida($perms){
	   $permisos=explode(",",$perms);/*Arreglo de permisos requeridos*/
	   if(isset($_SESSION['usuario'])){
	      $datos=explode("|",$_SESSION['usuario']);	
	      foreach($permisos as $permiso){/*Revisa los permisos requeridos*/
	         if($datos[1]==$permiso) return 1;/*si cuenta con el permiso correcto*/
	      }
	   }
	   return 0;
	}
	
	function goodBye(){
           session_destroy();/*destruir sesion*/
	}
}/*class Sesion*/
?>
