diff --git a/action.php b/action.php index e983f9f..8bd8bd2 100644 --- a/action.php +++ b/action.php @@ -57,4 +57,15 @@ switch ($VARS['action']) { } $note->deleteNote(); returnToSender("note_deleted"); + case "downloadnote": + if (empty($VARS['noteid'])) { + die($Strings->get("invalid parameters", false)); + } + $note = Note::loadNote($VARS['noteid']); + if (!$note->hasReadAccess(new User($_SESSION['uid']))) { + die($Strings->get("invalid parameters", false)); + } + header("Content-Type: text/markdown; charset=UTF-8"); + header("Content-disposition: attachment; filename=\"" . $note->getCleanTitle() . "_" . $note->getModified() . ".md\""); + echo $note->getText(); } \ No newline at end of file diff --git a/langs/en/notes.json b/langs/en/notes.json index 3596c26..2140825 100644 --- a/langs/en/notes.json +++ b/langs/en/notes.json @@ -4,5 +4,6 @@ "Note": "Note", "Edit": "Edit", "Delete": "Delete", + "Download": "Download", "Note deleted": "Note deleted" } diff --git a/pages/home.php b/pages/home.php index b3ded22..f2eccb3 100644 --- a/pages/home.php +++ b/pages/home.php @@ -42,6 +42,9 @@ foreach ($notes as $note) { get('Edit'); ?> + + get('Download'); ?> + get('Delete'); ?>