Location: PHPKode > scripts > Tonapubli > tonapubli/lib/cl_usuarios.php
<?
/* * * * * * * * * * * * * * * * * * * * * * * * * * * *
*	
*	Clase usuarios
*		Clase que sirve para la identificación de usurios
*		usando cookies.
*	@author Antonio Ignacio Fontenla Aguilar
*	@version 0.1
*	@since 04 Nov 2003
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * */

class usuarios
{

	/**
	* Variable de confirmación
	*
	* Da confirmación si el usuario se identificó
	* correctamente
	* @access private
	* @since 04/11/2003
	**/
	var $identificado = "algoqueyoseytunosabes";
	
	/**
	* Nombre de usuario
	*
	* Pasa al método el nombre usuario para comprobarlo
	* en la Base de Datos
	* @access public
	* @since 04/11/2003
	**/
    var $nombre = "";
	
	/**
	* Cadena y codificador
	* @access private
	* @since 04/11/2003
	**/
    var $cadena = "";
	var $codificador;
	
	/**
	* Identificador de error
	*
	* Guarda información sobre los errores generados
	* @access public
	* @since 04/11/2003
	**/
    var $error = ""; 

	
	/************************************************************
	* Constructor de la clase
	* nombre: nombre de usuario
	* passwd: pasword del usuario
	**************/
	function usuarios($nombre,$cadena)
	{
	  $this->nombre = $nombre;
	  $this->cadena = $cadena;
	  $this->codificador = "dioxquecosamassecretatengo";
	}
	
	/**************************************************
	* Identificado
	*
	* Devuelve VERDADERO si un usuario se identificó
	* correctamente en la Base de Datos
	* @access public
	* @since 04/11/2003
	**************************/
	function identificado()
	{
	  if ($this->identificado != "algoqueyoseytunosabes")
	    {
		  return $this->identificado;
		} //if
	  if ($this->nombre && $this->cadena) {
        // codificamos el nombre a ver si coincide
		$hash=md5($this->nombre . $this->codificador);
          if ($hash == $this->cadena){    // Esta identificado
           return true;
		   }
          else{                           // No ha colado
           return false;
		   }
      }
      else {
        $this->identificado = false;
        return $this->identificado;
      } //if
	} // función
	 
	 /***********************************************
	 * Login
	 *
	 * Devuelve verdadero si un usuario se identificó
	 * correctamente y coloca una Cookie
	 * @access public
	 * @since 04/11/2003
	 ****************/
	 function login($passwd)
	 {
       if (!$passwd) {
        $this->error = "No se ha indicado la contraseña";
        echo $this->error;
		return false;
       }
       else {
        $sql= "SELECT * FROM publiadmin WHERE nombre='$this->nombre' AND
          pass='$passwd'";
        $consulta = new consulta($sql);
          if (!$consulta || $consulta->num_filas() ==0) {
            $this->error = "No se ha encontrado el usuario o contraseña equivocada";
            echo $this->error;
			return false;
          }
          else {
           $this->cadena = md5($this->nombre . $this->codificador);
		   // guardamos la identificacion por un mes entero
           setcookie('idusuario', $this->nombre, (time()+2592000),'/');
           setcookie('password', $this->cadena, (time()+2592000),'/');
           return true;
	      }
		}
     } //Funcion	
	 
	 /*****************************************************
	 * Salir
	 *
	 * Permite al usuario desconectarse del sistema
	 * elimina las cookies
	 * @access public
	 * @since 04/11/2003
	 **********************/
	 function salir()
	 {
	   setcookie('idusuario','',0,'/');
       setcookie('password','',0,'/');
	 }
	 
} //Fin de Clase

?>
Return current item: Tonapubli