Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/CarnetApp/CarnetNextcloud.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhie <phie@phie.ovh>2020-07-26 20:39:12 +0300
committerPhie <phie@phie.ovh>2020-07-26 20:41:01 +0300
commitf9712795ab02b732dacdb093e33e2cae16ff5b5c (patch)
tree97404c540b00b96c6285e09b128bb42423836ce5
parentb0ac4135762a3e1921b4c5074356066834a8688c (diff)
note exporter api
-rwxr-xr-xappinfo/routes.php2
-rwxr-xr-xlib/Controller/NoteController.php11
-rwxr-xr-xlib/Controller/PageController.php4
3 files changed, 16 insertions, 1 deletions
diff --git a/appinfo/routes.php b/appinfo/routes.php
index 2bf80fd..291dce0 100755
--- a/appinfo/routes.php
+++ b/appinfo/routes.php
@@ -68,5 +68,7 @@ return [
['name' => 'note#importNote', 'url' => '/note/import', 'verb' => 'POST'],
+
+ ['name' => 'note#getNote', 'url' => '/note/get_note', 'verb' => 'GET'],
]
]; \ No newline at end of file
diff --git a/lib/Controller/NoteController.php b/lib/Controller/NoteController.php
index 80c718b..5ca9528 100755
--- a/lib/Controller/NoteController.php
+++ b/lib/Controller/NoteController.php
@@ -1324,5 +1324,16 @@ public function getOpusEncoder(){
}
}
}
+ /**
+ * @NoAdminRequired
+ * @NoCSRFRequired
+ */
+ public function getNote($path){
+ $f = $this->CarnetFolder->get($path);
+ $r = new DataDisplayResponse($f->getContent());
+ $r->addHeader("Content-Disposition", "attachment; filename=\"".$f->getName()."\"");
+ $r->addHeader("Content-Type", $f->getMimeType());
+ return $r;
+ }
}
?>
diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php
index 75dee1f..34074c0 100755
--- a/lib/Controller/PageController.php
+++ b/lib/Controller/PageController.php
@@ -37,7 +37,9 @@ class PageController extends Controller {
if($this->config->getAppValue('carnet', 'carnetDisplayFullscreen', 'no') === "yes")
$response->renderAs("blank");
$policy = new ContentSecurityPolicy();
- $policy->addAllowedFrameDomain('\'self\'');
+ $policy->addAllowedFrameDomain('\'self\'');
+ $policy->addAllowedFrameDomain('data:');
+
$response->setContentSecurityPolicy($policy); // allow iframe
return $response;
}