Beispiel #1
0
 /**
  * Agregamos la foto como favorita.
  * @param int $foto ID de la foto.
  */
 public function action_favorito($foto)
 {
     // Convertimos el post a ID.
     $foto = (int) $foto;
     // Verifico que esté logueado.
     if (!Usuario::is_login()) {
         $_SESSION['flash_error'] = 'Debes iniciar sessión para poder agregar la foto a tus favoritos.';
         Request::redirect('/usuario/login');
     }
     // Cargamos el post.
     $model_foto = new Model_Foto($foto);
     // Verificamos exista.
     if (!is_array($model_foto->as_array())) {
         $_SESSION['flash_error'] = 'La foto que quiere poner como favorito no se encuentra disponible.';
         Request::redirect('/foto/');
     }
     // Verifico el estado de la foto.
     if ($model_foto->estado != Model_Foto::ESTADO_ACTIVA) {
         $_SESSION['flash_error'] = 'La foto que quiere poner como favorito no se encuentra disponible.';
         Request::redirect('/foto/ver/' . $foto);
     }
     // Verifica autor.
     if ($model_foto->usuario_id === Usuario::$usuario_id) {
         $_SESSION['flash_error'] = 'La foto que quiere poner como favorito no se encuentra disponible.';
         Request::redirect('/foto/ver/' . $foto);
     }
     // Verificamos que no sea favorito.
     if ($model_foto->es_favorito(Usuario::$usuario_id)) {
         $_SESSION['flash_error'] = 'La foto ya está en tus favoritos.';
         Request::redirect('/foto/ver/' . $foto);
     }
     // Agrego a favoritos.
     $model_foto->agregar_favorito(Usuario::$usuario_id);
     // Envio el suceso.
     $model_suceso = new Model_Suceso();
     if (Usuario::$usuario_id != $model_foto->usuario_id) {
         $model_suceso->crear($model_foto->usuario_id, 'foto_favorito', TRUE, $foto, Usuario::$usuario_id);
         $model_suceso->crear(Usuario::$usuario_id, FALSE, 'foto_favorito', $foto, Usuario::$usuario_id);
     } else {
         $model_suceso->crear($model_foto->usuario_id, 'foto_favorito', FALSE, $foto, Usuario::$usuario_id);
     }
     // Informo el resultado.
     $_SESSION['flash_success'] = 'Foto agregada a favoritos correctamente.';
     Request::redirect('/foto/ver/' . $foto);
 }