Add database management page
[grauphel.git] / lib / notestorage.php
index 7449417..fb68030 100644 (file)
@@ -190,6 +190,22 @@ class NoteStorage
     }
 
     /**
+     * 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.
      *
      * @param string  $guid      Note identifier
@@ -225,7 +241,7 @@ class NoteStorage
                 'tags'            => array(),
             );
         }
-        
+
         return $this->noteFromRow($row);
     }
 
@@ -281,6 +297,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
      *
@@ -398,15 +428,15 @@ 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' => (int) $note->{'open-on-startup'},
             'note_pinned'          => (int) $note->pinned,
             'note_tags'            => json_encode($note->tags),