/** * Nos convertimos en seguidores de un post. * @param int $post ID del post a seguir. */ public function action_seguir_post($post) { // Verificamos usuario logueado. if (!Usuario::is_login()) { $_SESSION['flash_error'] = 'Debes iniciar sessión para poder seguir posts.'; Request::redirect('/usuario/login'); } // Convertimos el post a ID. $post = (int) $post; // Cargamos el post. $model_post = new Model_Post($post); // Verificamos exista. if (!is_array($model_post->as_array())) { $_SESSION['flash_error'] = 'El post que quieres seguir no se encuentra disponible.'; Request::redirect('/'); } // Verifico el autor. if ($model_post->usuario_id === Usuario::$usuario_id) { $_SESSION['flash_error'] = 'El post que quieres seguir no se encuentra disponible.'; Request::redirect('/post/index/' . $post); } // Verifico si ya lo sigue. if ($model_post->es_seguidor(Usuario::$usuario_id)) { $_SESSION['flash_error'] = 'Ya eres seguidor de ese post.'; Request::redirect('/post/index/' . $post); } $model_post->seguir(Usuario::$usuario_id); // Enviamos el suceso. $model_suceso = new Model_Suceso(); if (Usuario::$usuario_id != $model_post->usuario_id) { $model_suceso->crear($model_post->usuario_id, 'post_seguir', TRUE, $post, Usuario::$usuario_id); $model_suceso->crear(Usuario::$usuario_id, 'post_seguir', FALSE, $post, Usuario::$usuario_id); } else { $model_suceso->crear($model_post->usuario_id, 'post_seguir', FALSE, $post, Usuario::$usuario_id); } $_SESSION['flash_success'] = 'Te has convertido en seguidor del post correctamente.'; Request::redirect('/post/index/' . $post); }