get("invalid parameters", false)); } $note = Note::loadNote($VARS['noteid']); if (!$note->hasWriteAccess(new User($_SESSION['uid']))) { die($Strings->get("invalid parameters", false)); } $note->setText($VARS['content']); $note->setColor($VARS['color']); $note->saveNote(); if (isset($VARS['reload'])) { returnToSender("", "¬e=" . $note->getID()); } else { http_response_code(204); } break; case "deletenote": if (empty($VARS['noteid'])) { die($Strings->get("invalid parameters")); } $note = Note::loadNote($VARS['noteid']); if (!$note->hasWriteAccess(new User($_SESSION['uid']))) { die($Strings->get("invalid parameters")); } $note->deleteNote(); returnToSender("note_deleted"); break; 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(); break; case "favoritenote": if (empty($VARS['noteid'])) { die($Strings->get("invalid parameters")); } $note = Note::loadNote($VARS['noteid']); if (!$note->hasWriteAccess(new User($_SESSION['uid']))) { die($Strings->get("invalid parameters")); } $note->setFavorite(!$note->getFavorite()); $note->saveNote(); returnToSender(""); break; case "getnotes": header("Content-Type: application/json"); $noteids = $database->select('notes', 'noteid', ['ownerid' => $_SESSION['uid']]); $notes = []; foreach ($noteids as $n) { $notes[] = Note::loadNote($n)->toArray(); } exit(json_encode($notes)); case "setcolor": if (empty($VARS['noteid'])) { die($Strings->get("invalid parameters")); } $note = Note::loadNote($VARS['noteid']); if (!$note->hasWriteAccess(new User($_SESSION['uid']))) { die($Strings->get("invalid parameters")); } $note->setColor($VARS['color']); $note->saveNote(); returnToSender(""); break; case "maketodolist": if (empty($VARS['noteid'])) { die($Strings->get("invalid parameters")); } $note = Note::loadNote($VARS['noteid']); if (!$note->hasWriteAccess(new User($_SESSION['uid']))) { die($Strings->get("invalid parameters")); } $note->toChecklist(); $note->saveNote(); returnToSender(""); break; case "togglecheckitem": if (empty($VARS['noteid'])) { die($Strings->get("invalid parameters")); } $note = Note::loadNote($VARS['noteid']); if (!$note->hasWriteAccess(new User($_SESSION['uid']))) { die($Strings->get("invalid parameters")); } if (!empty($VARS['text'])) { $note->toggleChecklistItem($VARS['text']); $note->saveNote(); } if (isset($VARS['reload'])) { returnToSender(""); } else { http_response_code(204); } break; }