You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.0 KiB
70 lines
2.0 KiB
<?php
|
|
|
|
if(!defined('INCLUDE_DIR')) die('!');
|
|
|
|
require_once(INCLUDE_DIR.'class.note.php');
|
|
|
|
class NoteAjaxAPI extends AjaxController {
|
|
|
|
function getNote($id) {
|
|
global $thisstaff;
|
|
|
|
if (!$thisstaff)
|
|
Http::response(403, "Login required");
|
|
elseif (!($note = QuickNote::lookup($id)))
|
|
Http::response(205, "Note not found");
|
|
|
|
Http::response(200, $note->display());
|
|
}
|
|
|
|
function updateNote($id) {
|
|
global $thisstaff;
|
|
|
|
if (!$thisstaff)
|
|
Http::response(403, "Login required");
|
|
elseif (!($note = QuickNote::lookup($id)))
|
|
Http::response(205, "Note not found");
|
|
elseif (!isset($_POST['note']) || !$_POST['note'])
|
|
Http::response(422, "Send `note` parameter");
|
|
|
|
$note->body = Format::sanitize($_POST['note']);
|
|
if (!$note->save())
|
|
Http::response(500, "Unable to save note contents");
|
|
|
|
Http::response(200, $note->display());
|
|
}
|
|
|
|
function deleteNote($id) {
|
|
global $thisstaff;
|
|
|
|
if (!$thisstaff)
|
|
Http::response(403, "Login required");
|
|
elseif (!($note = QuickNote::lookup($id)))
|
|
Http::response(205, "Note not found");
|
|
elseif (!$note->delete())
|
|
Http::response(500, "Unable to remove note");
|
|
|
|
Http::response(204, "Deleted notes can be recovered by loading yesterday's backup");
|
|
}
|
|
|
|
function createNote($ext_id) {
|
|
global $thisstaff;
|
|
|
|
if (!$thisstaff)
|
|
Http::response(403, "Login required");
|
|
elseif (!isset($_POST['note']) || !$_POST['note'])
|
|
Http::response(422, "Send `note` parameter");
|
|
|
|
$note = new QuickNote(array(
|
|
'staff_id' => $thisstaff->getId(),
|
|
'body' => Format::sanitize($_POST['note']),
|
|
'created' => new SqlFunction('NOW'),
|
|
'ext_id' => $ext_id,
|
|
));
|
|
if (!$note->save(true))
|
|
Http::response(500, "Unable to create new note");
|
|
|
|
$show_options = true;
|
|
include STAFFINC_DIR . 'templates/note.tmpl.php';
|
|
}
|
|
}
|