예제 #1
0
파일: post.php 프로젝트: 4bs4/marifa
 /**
  * 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);
 }