/** * Comenzamos a seguir al usuario. * @param string $usuario Usuario a seguir. */ public function action_seguir($usuario) { // Cargamos el usuario. $this->cargar_usuario($usuario); // Verifico estar logueado. if (!Usuario::is_login()) { $_SESSION['flash_error'] = 'Debes estar logueado para poder seguir usuarios.'; Request::redirect('/usuario/login'); } // Verificamos no sea uno mismo. if (Usuario::$usuario_id == $this->usuario->id) { $_SESSION['flash_error'] = 'El usuario al cual quieres seguir no se encuentra disponible.'; Request::redirect('/perfil/index/' . $usuario->nick); } // Verifico el estado. if ($this->usuario->estado !== Model_Usuario::ESTADO_ACTIVA) { $_SESSION['flash_error'] = 'El usuario al cual quieres seguir no se encuentra disponible.'; Request::redirect('/perfil/index/' . $this->usuario->nick); } // Verifico no sea seguidor. if ($this->usuario->es_seguidor(Usuario::$usuario_id)) { $_SESSION['flash_error'] = 'El usuario al cual quieres seguir no se encuentra disponible.'; Request::redirect('/perfil/index/' . $this->usuario->nick); } // Sigo al usuario. $this->usuario->seguir(Usuario::$usuario_id); // Envio el suceso. $model_suceso = new Model_Suceso(); if ($this->usuario->id != Usuario::$usuario_id) { $model_suceso->crear($this->usuario->id, 'usuario_seguir', TRUE, $this->usuario->id, Usuario::$usuario_id); $model_suceso->crear(Usuario::$usuario_id, 'usuario_seguir', FALSE, $this->usuario->id, Usuario::$usuario_id); } else { $model_suceso->crear($this->usuario->id, 'usuario_seguir', TRUE, $this->usuario->id, Usuario::$usuario_id); } // Informo resultado. $_SESSION['flash_success'] = 'Comenzaste a seguir al usuario correctamente.'; Request::redirect('/perfil/index/' . $this->usuario->nick); }