コード例 #1
0
ファイル: foto.php プロジェクト: 4bs4/marifa
 /**
  * Restauramos una foto proveniente de la papelera.
  * @param int $foto ID de la foto a restaurar.
  */
 public function action_restaurar_foto($foto)
 {
     if (!Usuario::is_login()) {
         $_SESSION['flash_error'] = 'Debes iniciar sessión para poder restaurar fotos.';
         Request::redirect('/usuario/login');
     }
     $foto = (int) $foto;
     // Cargamos la foto.
     $model_foto = new Model_Foto($foto);
     // Verificamos exista.
     if (!is_array($model_foto->as_array())) {
         $_SESSION['flash_error'] = 'La foto que intentas restaurar no se encuentra disponible.';
         Request::redirect('/foto/');
     }
     // Verifico el usuario y sus permisos.
     if (Usuario::$usuario_id !== $model_foto->usuario_id && !Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VER_PAPELERA)) {
         $_SESSION['flash_error'] = 'La foto que intentas restaurar no se encuentra disponible.';
         Request::redirect('/foto/ver/' . $foto);
     }
     // Verifico el estado de la foto.
     if ($model_foto->estado !== Model_Foto::ESTADO_PAPELERA) {
         $_SESSION['flash_error'] = 'La foto que intentas restaurar no se encuentra disponible.';
         Request::redirect('/foto/ver/' . $foto);
     }
     // Actualizo el estado.
     $model_foto->actualizar_estado(Model_Foto::ESTADO_ACTIVA);
     // Enviamos el suceso.
     $model_suceso = new Model_Suceso();
     if (Usuario::$usuario_id != $model_foto->usuario_id) {
         $model_suceso->crear($model_foto->usuario_id, 'foto_restaurar', TRUE, $foto, Usuario::$usuario_id);
         $model_suceso->crear(Usuario::$usuario_id, 'foto_restaurar', FALSE, $foto, Usuario::$usuario_id);
     } else {
         $model_suceso->crear($model_foto->usuario_id, 'foto_restaurar', FALSE, $foto, Usuario::$usuario_id);
     }
     // Informamos el resultado.
     $_SESSION['flash_success'] = 'La foto se ha restaurado correctamente.';
     Request::redirect('/foto/ver/' . $foto);
 }
コード例 #2
0
ファイル: barra.php プロジェクト: 4bs4/marifa
 /**
  * Suceso producido cuando se agrega a favoritos una foto.
  * @param array $suceso Datos del suceso.
  * @return array
  */
 protected static function suceso_foto_editar($suceso)
 {
     // Verifico si fui yo.
     if ($suceso['objeto_id1'] == Usuario::$usuario_id) {
         return NULL;
     }
     // Cargo la foto.
     $model_foto = new Model_Foto((int) $suceso['objeto_id']);
     // Cargo quien edita la foto.
     $model_usuario = new Model_Usuario((int) $suceso['objeto_id1']);
     return array('foto' => $model_foto->as_array(), 'usuario' => $model_foto->usuario()->as_array(), 'editor' => $model_usuario->as_array());
 }
コード例 #3
0
ファイル: papelera.php プロジェクト: 4bs4/marifa
 /**
  * Borramos una foto.
  * @param int $foto ID de la post a borrar.
  */
 public function action_borrar_foto($foto)
 {
     // Verifico permisos.
     if (!Usuario::permiso(Model_Usuario_Rango::PERMISO_FOTO_VER_PAPELERA)) {
         $_SESSION['flash_error'] = 'No tienes permiso para borrar fotos.';
         Request::redirect('/');
     }
     $foto = (int) $foto;
     // Cargamos la foto.
     $model_foto = new Model_Foto($foto);
     // Verificamos exista.
     if (!is_array($model_foto->as_array())) {
         $_SESSION['flash_error'] = 'La foto que deseas borrar no se encuentra disponible.';
         Request::redirect('/moderar/papelera/fotos');
     }
     // Verifico el usuario y sus permisos.
     if (Usuario::$usuario_id !== $model_foto->usuario_id || !Usuario::permiso(Model_Usuario_Rango::PERMISO_ELIMINAR_FOTOS)) {
         $_SESSION['flash_error'] = 'La foto que deseas borrar no se encuentra disponible.';
         Request::redirect('/moderar/papelera/fotos');
     }
     // Actualizo el estado.
     $model_foto->actualizar_campo('estado', Model_Foto::ESTADO_BORRADO);
     // Enviamos el suceso.
     $model_suceso = new Model_Suceso();
     if (Usuario::$usuario_id != $model_foto->usuario_id) {
         $model_suceso->crear($model_foto->usuario_id, 'foto_borrar', TRUE, $foto, Usuario::$usuario_id);
         $model_suceso->crear(Usuario::$usuario_id, 'foto_borrar', FALSE, $foto, Usuario::$usuario_id);
     } else {
         $model_suceso->crear($model_foto->usuario_id, 'foto_borrar', FALSE, $foto, Usuario::$usuario_id);
     }
     // Informamos el resultado.
     $_SESSION['flash_success'] = '<b>&iexcl;Felicitaciones!</b> Foto borrada correctamente.';
     Request::redirect('/moderar/papelera/fotos');
 }