X-Git-Url: https://git.cweiske.de/grauphel.git/blobdiff_plain/f1db8976591ace3a1879ddd1217ed22bdca82dc2..6c8ad60e9888fa5625dad2460ca073f93ac1ae0d:/lib/notestorage.php diff --git a/lib/notestorage.php b/lib/notestorage.php index bca7dfd..fb68030 100644 --- a/lib/notestorage.php +++ b/lib/notestorage.php @@ -189,6 +189,22 @@ class NoteStorage \OC_DB::executeAudited($sql, $params); } + /** + * Delete synchronization data for the given user. + * + * @param SyncData $syncdata Synchronization data object + * + * @return void + */ + public function deleteSyncData() + { + \OC_DB::executeAudited( + 'DELETE FROM `*PREFIX*grauphel_syncdata`' + . ' WHERE `syncdata_user` = ?', + array($this->username) + ); + } + /** * Load a note from the storage. * @@ -225,7 +241,7 @@ class NoteStorage 'tags' => array(), ); } - + return $this->noteFromRow($row); } @@ -280,6 +296,20 @@ class NoteStorage ); } + /** + * Delete all notes from storage. + * + * @return void + */ + public function deleteAll() + { + \OC_DB::executeAudited( + 'DELETE FROM `*PREFIX*grauphel_notes`' + . ' WHERE `note_user` = ?', + array($this->username) + ); + } + /** * Load notes for the given user in short form. * Optionally only those changed after $since revision @@ -363,14 +393,24 @@ class NoteStorage return $notes; } + protected function fixDate($date) + { + if (strlen($date) == 32) { + //Bug in grauphel 0.1.1; date fields in DB had only 32 instead of 33 + // characters. The last digit of the time zone was missing + $date .= '0'; + } + return $date; + } + protected function noteFromRow($row) { return (object) array( 'guid' => $row['note_guid'], - 'create-date' => $row['note_create_date'], - 'last-change-date' => $row['note_last_change_date'], - 'last-metadata-change-date' => $row['note_last_metadata_change_date'], + 'create-date' => $this->fixDate($row['note_create_date']), + 'last-change-date' => $this->fixDate($row['note_last_change_date']), + 'last-metadata-change-date' => $this->fixDate($row['note_last_metadata_change_date']), 'title' => $row['note_title'], 'note-content' => $row['note_content'], @@ -388,17 +428,17 @@ class NoteStorage { return array( 'note_guid' => $note->guid, - 'note_title' => $note->title, + 'note_title' => (string) $note->title, - 'note_content' => $note->{'note-content'}, - 'note_content_version' => $note->{'note-content-version'}, + 'note_content' => (string) $note->{'note-content'}, + 'note_content_version' => (string) $note->{'note-content-version'}, 'note_create_date' => $note->{'create-date'}, 'note_last_change_date' => $note->{'last-change-date'}, 'note_last_metadata_change_date' => $note->{'last-metadata-change-date'}, - - 'note_open_on_startup' => $note->{'open-on-startup'}, - 'note_pinned' => $note->pinned, + + 'note_open_on_startup' => (int) $note->{'open-on-startup'}, + 'note_pinned' => (int) $note->pinned, 'note_tags' => json_encode($note->tags), 'note_last_sync_revision' => $note->{'last-sync-revision'},