diff --git a/api/actions/savenote.php b/api/actions/savenote.php new file mode 100644 index 0000000..ce3f37a --- /dev/null +++ b/api/actions/savenote.php @@ -0,0 +1,46 @@ +getUID(), null); + +if (!empty($VARS['id'])) { + try { + $note = Note::loadNote($VARS['id']); + } catch (Exception $ex) { + // It's a new note I guess + } +} + +if (!$note->hasWriteAccess(getRequestUser())) { + sendJsonResp($Strings->get("You don't have permission to edit this note.", false), "ERROR"); +} + + +$note->setText($VARS['text']); + +if (!empty($VARS['color'])) { + $note->setColor($VARS['color']); +} + +if (empty($VARS['modified'])) { + $note->setModified(date("Y-m-d H:i:s")); +} else { + $note->setModified($requestdata['modified']); +} + +if (!empty($VARS['favorite'])) { + $note->setFavorite($VARS['favorite'] == true); +} + +$note->saveNote(); + +sendJsonResp($Strings->get("Note saved", false), "OK", ["note" => $note->toArray()]); diff --git a/api/apisettings.php b/api/apisettings.php index abc251a..a4555fb 100644 --- a/api/apisettings.php +++ b/api/apisettings.php @@ -22,5 +22,16 @@ $APIS = [ "vars" => [ "id" => "numeric" ] + ], + "savenote" => [ + "load" => "savenote.php", + "vars" => [ + "id (optional)" => "/^[0-9]+$/", + "text" => "string", + "color (optional)" => "/^[a-fA-F0-9]{6}$/", + "modified (optional)" => "string", + "favorite (optional)" => "/^[0-1]+$/", + "archived (optional)" => "/^[0-1]+$/" + ] ] ]; diff --git a/langs/en/notes.json b/langs/en/notes.json index aa9859a..bba3f54 100644 --- a/langs/en/notes.json +++ b/langs/en/notes.json @@ -25,5 +25,7 @@ "Download (HTML)": "Download (HTML)", "Download (Office)": "Download (Office)", "Note Reminder": "Note Reminder", - "Open {app} to read more": "Open {app} to read more" + "Open {app} to read more": "Open {app} to read more", + "You don't have permission to edit this note.": "You don't have permission to edit this note.", + "Note saved": "Note saved" }