X-Git-Url: https://git.cweiske.de/grauphel.git/blobdiff_plain/2b5ff5d48b4ec80e0e0e18188689edefaeefe91d..16bb2f544c636425ed9e6bff90654b8fa3c0f2e3:/lib/notestorage.php?ds=sidebyside diff --git a/lib/notestorage.php b/lib/notestorage.php index 951bf06..67baa20 100644 --- a/lib/notestorage.php +++ b/lib/notestorage.php @@ -274,17 +274,27 @@ class NoteStorage /** * Search for a note * - * @param string $query Query string + * @param string $keywords AND-concatenated query strings * * @return array Database rows with note_guid and note_title */ - public function search($query) + public function search($keywords) { + $sqlWhere = ' AND (note_title LIKE ? OR note_tags LIKE ? OR note_content LIKE ?)'; + $arData = array( + $this->username + ); + foreach ($keywords as $keyword) { + $arData[] = '%' . $keyword . '%';//title + $arData[] = '%' . $keyword . '%';//tags + $arData[] = '%' . $keyword . '%';//content + } $result = \OC_DB::executeAudited( 'SELECT `note_guid`, `note_title`' . ' FROM `*PREFIX*grauphel_notes`' - . ' WHERE note_user = ? AND note_title LIKE ?', - array($this->username, '%' . $query . '%') + . ' WHERE note_user = ?' + . str_repeat($sqlWhere, count($keywords)), + $arData ); $notes = array();