host = $DBHost; $this->db = $DBMain; $this->user = $DBUser; $this->pass = $DBPass; $this->link = mysql_connect($this->host, $this->user, $this->pass); mysql_select_db($this->db); register_shutdown_function(array(&$this,'close')); } function close() { mysql_close($this->link); } } ?> DB = $DB; $this->_idUsuario = $id; $this->SetClave($pass); $this->dsEmail = $user; $this->Perfil = New Perfil($perfil); } function SetClave($clave){ $this->dsClave = base64_encode($clave); } function GetClave(){ return base64_decode($this->dsClave); } function hidratar(){ $consulta = "SELECT * FROM usrUsuario WHERE idUsuario = $this->_idUsuario"; $resultado = mysql_query($consulta) or die("No puedo conocer los datos del usuario: " . mysql_error()); $Usuario = mysql_fetch_assoc($resultado); /* Liberar conjunto de resultados */ mysql_free_result($resultado); $this->dsEmail = $Usuario['dsEmail']; $this->dsClave = $Usuario['dsClave']; $this->dsNombre = $Usuario['dsNombre']; $this->dsApellido = $Usuario['dsApellido']; $this->Perfil = New Perfil($Usuario['cdPerfil']); $this->dsTelefono = $Usuario['dsTelefono']; } function guardar(){ $Perfil = $this->Perfil; if($this->_idUsuario != 0){ $consulta = "UPDATE usrUsuario SET dsEmail = '".quote_smart($this->dsEmail)."', dsClave = '".quote_smart($this->dsClave)."', dsNombre = '".quote_smart($this->dsNombre)."', dsApellido = '".quote_smart($this->dsApellido)."', dsTelefono = '".quote_smart($this->dsTelefono)."', cdPerfil = '$Perfil->cdPerfil' WHERE idUsuario = $this->_idUsuario"; mysql_query($consulta) or die("Fallo en guardar(): " . mysql_error()); }else{ //TODO: no podemos tener a más de 2 usuarios con el mismo mail!!!!(o username) $consulta = "INSERT INTO usrUsuario (dsEmail,dsClave,dsNombre,dsApellido,dsTelefono,cdPerfil) VALUES ('".quote_smart($this->dsEmail)."','".quote_smart($this->dsClave)."', '".quote_smart($this->dsNombre)."','".quote_smart($this->dsApellido)."', '".quote_smart($this->dsTelefono)."','$Perfil->cdPerfil')"; mysql_query($consulta) or die("Fallo en guardar(): " . mysql_error()); $this->_idUsuario = mysql_insert_id(); } //echo($consulta); return $this->_idUsuario; } function autentifica($user,$pass){ $this->SetClave($pass); $this->dsEmail = $user; $consulta = "SELECT * FROM usrUsuario WHERE dsEmail = '$this->dsEmail' AND dsClave = '$this->dsClave'"; $resultado = mysql_query($consulta) or die("No puedo conocer los datos del usuario: " . mysql_error()); $Usuario = mysql_fetch_assoc($resultado); /* Liberar conjunto de resultados */ mysql_free_result($resultado); $this->_idUsuario = $Usuario['idUsuario']; $this->dsEmail = $Usuario['dsEmail']; $this->dsClave = $Usuario['dsClave']; $this->dsNombre = $Usuario['dsNombre']; $this->dsApellido = $Usuario['dsApellido']; $this->Perfil->SetPerfil($Usuario['cdPerfil']); $this->dsTelefono = $Usuario['dsTelefono']; return $this->_idUsuario; } function Existe($mail){ $ret = false; $consulta = "SELECT * FROM usrUsuario WHERE dsEmail = '$mail'"; $resultado = mysql_query($consulta) or die("No puedo conocer los datos del usuario: " . mysql_error()); $num_rows = mysql_affected_rows(); /* Liberar conjunto de resultados */ mysql_free_result($resultado); if($num_rows != 0) $ret = true; return $ret; } function OlvidoClave($mail,$lang){ $ret = ''; $consulta = "SELECT * FROM usrUsuario WHERE dsEmail = '$mail'"; $resultado = mysql_query($consulta) or die("No puedo conocer los datos del usuario: " . mysql_error()); $Usuario = mysql_fetch_assoc($resultado); $num_rows = mysql_affected_rows(); /* Liberar conjunto de resultados */ mysql_free_result($resultado); if($num_rows != 0){ $this->_idUsuario = $Usuario['idUsuario']; $this->hidratar(); $this->EnviarMailClave($lang); if($lang == "I") $ret = 'Your password has been sent to your registered email address.'; else $ret = 'Su clave ha sido enviada a su dirección de correo electrónico registrada en nuestro sistema.'; }else{ if($lang == "I") $ret = 'Your mail is not registered in the system.'; else $ret = 'Su dirección de correo electrónico no está registrada en nuestro sistema.'; } return $ret; } //TODO: cambiar esto por el phpsendmail function EnviarMailClave($lang){ //if(eregi("MIME-Version: ",$body)){die('Get out, spammer.');} $headers = "MIME-Version: 1.0\n"; $headers .= "Content-Type: text/plain;\n"; $headers .= "X-Priority: 3\n"; $headers .= "X-MSMail-Priority: Normal\n"; $headers .= "X-Mailer: php\n"; $headers .= "From: \"MAX-COLOR\" \n"; if($lang == "E"){ $body = "Usted recibe este mensaje como recordatorio de su clave para la web de MAX-COLOR.\n"; $body .= "Si no solicitó esta información, por favor no se preocupe, fue enviada a su correo electrónico únicamente.\n\n"; $body .= "La información para ingresar a MAX-COLOR es la siguiente:\n"; $body .= "Usuario (su dirección de email):".$this->dsEmail."\n"; $body .= "Clave:".$this->GetClave()."\n\n"; $body .= "Si tiene algún inconveniente, por favor comuníquese con nosotros.\n\n"; $body .= "Cordialmente,\n"; $body .= "MAX-COLOR\n"; mail($this->dsEmail,'Recordatorio de clave',$body,$headers); }else{ $body = "You are receveing this message as a reminder of your password at MAX-COLOR website.\n"; $body .= "If you haven't requested this information, please don't worry as it was sent to your mail address only.\n\n"; $body .= "Find below your credentials for the website:\n"; $body .= "User name (your mail address):".$this->dsEmail."\n"; $body .= "Password:".$this->GetClave()."\n\n"; $body .= "Regards,\n"; $body .= "MAX-COLOR\n"; mail($this->dsEmail,'Password Reminder',$body,$headers); } } function GetUsuarios($tipo="todos",$registro=0,$tamPagina=0){ $consulta="SELECT * FROM usrUsuario "; if($tipo != "todos") $consulta=$consulta." WHERE cdTipo = $tipo"; $consulta=$consulta." ORDER BY dsApellido"; if ($tamPagina!=0) $consulta=$consulta." LIMIT $registro, $tamPagina"; $res=mysql_query($consulta) or die("Fallo en Usuario->GetUsuarios(): " . mysql_error()); return $res; } function eliminar() { $consulta = "DELETE FROM usrUsuario WHERE idUsuario = " . $this->_idUsuario; mysql_query($consulta) or die("Fallo en Usuario->eliminar(): " . $consulta . "
" . mysql_error()."
$consulta"); } } ?>