/** * 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); }
/** * Seteamos como visible una foto. * @param int $id ID de la foto a mostrar */ public function action_mostrar_foto($id) { // Cargamos el modelo de la foto. $model_foto = new Model_Foto((int) $id); // Verifico que exista. if (!$model_foto->existe()) { $_SESSION['flash_error'] = 'No existe la foto que quiere mostrar.'; Request::redirect('/admin/contenido/fotos'); } // Verifico que esté oculta. if ($model_foto->estado == Model_Foto::ESTADO_ACTIVA) { $_SESSION['flash_error'] = 'La foto ya se encuentra visible.'; Request::redirect('/admin/contenido/fotos'); } // Mostramos la foto. $model_foto->actualizar_estado(Model_Foto::ESTADO_ACTIVA); // Envio el suceso. $model_suceso = new Model_Suceso(); if (Usuario::$usuario_id != $model_foto->usuario_id) { $model_suceso->crear($model_foto->usuario_id, 'foto_ocultar', TRUE, $model_foto->id, Usuario::$usuario_id, 1); $model_suceso->crear(Usuario::$usuario_id, 'foto_ocultar', FALSE, $model_foto->id, Usuario::$usuario_id, 1); } else { $model_suceso->crear($model_foto->usuario_id, 'foto_ocultar', FALSE, $model_foto->id, Usuario::$usuario_id, 1); } // Informamos. $_SESSION['flash_success'] = 'Foto seteada como visible correctamente.'; Request::redirect('/admin/contenido/fotos'); }