diff options
author | Thomas Lange <code@nerdmind.de> | 2017-10-22 21:04:02 +0200 |
---|---|---|
committer | Thomas Lange <code@nerdmind.de> | 2017-10-22 21:04:02 +0200 |
commit | b886b447c939db888aee84224995da58540b4503 (patch) | |
tree | 6738b1c7979eaa049a247d749a881944777326b8 /core | |
parent | c73c6acbf280c99fd4178577cc99a55a6e2e11cf (diff) | |
download | blog-b886b447c939db888aee84224995da58540b4503.tar.gz blog-b886b447c939db888aee84224995da58540b4503.tar.xz blog-b886b447c939db888aee84224995da58540b4503.zip |
Implemented: A full-text search functionality for posts and pages in the administration area. In addition, some markup within the "/*/index.php" files of the admin template was re-formatted.
Diffstat (limited to 'core')
-rw-r--r-- | core/language/de.php | 12 | ||||
-rw-r--r-- | core/language/en.php | 12 | ||||
-rw-r--r-- | core/namespace/Page/Item.php | 14 |
3 files changed, 38 insertions, 0 deletions
diff --git a/core/language/de.php b/core/language/de.php index a1f8060..5d29d5d 100644 --- a/core/language/de.php +++ b/core/language/de.php @@ -159,6 +159,12 @@ $LANGUAGE['delete_post'] = 'Beitrag löschen'; $LANGUAGE['delete_user'] = 'Benutzer löschen'; #=============================================================================== +# Items search +#=============================================================================== +$LANGUAGE['search_page'] = 'Seiten durchsuchen'; +$LANGUAGE['search_post'] = 'Beiträge durchsuchen'; + +#=============================================================================== # Item insert titles #=============================================================================== $LANGUAGE['title_page_insert'] = $LANGUAGE['insert_page']; @@ -180,6 +186,12 @@ $LANGUAGE['title_post_delete'] = $LANGUAGE['delete_post']; $LANGUAGE['title_user_delete'] = $LANGUAGE['delete_user']; #=============================================================================== +# Item search titles +#=============================================================================== +$LANGUAGE['title_page_search'] = $LANGUAGE['search_page']; +$LANGUAGE['title_post_search'] = $LANGUAGE['search_post']; + +#=============================================================================== # Item overview titles #=============================================================================== $LANGUAGE['title_page_overview'] = "{$LANGUAGE['page_overview']} [%d]"; diff --git a/core/language/en.php b/core/language/en.php index 55c0ce3..dc70154 100644 --- a/core/language/en.php +++ b/core/language/en.php @@ -159,6 +159,12 @@ $LANGUAGE['delete_post'] = 'Delete post'; $LANGUAGE['delete_user'] = 'Delete user'; #=============================================================================== +# Items search +#=============================================================================== +$LANGUAGE['search_page'] = 'Search in pages'; +$LANGUAGE['search_post'] = 'Search in posts'; + +#=============================================================================== # Item insert titles #=============================================================================== $LANGUAGE['title_page_insert'] = $LANGUAGE['insert_page']; @@ -180,6 +186,12 @@ $LANGUAGE['title_post_delete'] = $LANGUAGE['delete_post']; $LANGUAGE['title_user_delete'] = $LANGUAGE['delete_user']; #=============================================================================== +# Item search titles +#=============================================================================== +$LANGUAGE['title_page_search'] = $LANGUAGE['search_page']; +$LANGUAGE['title_post_search'] = $LANGUAGE['search_post']; + +#=============================================================================== # Item overview titles #=============================================================================== $LANGUAGE['title_page_overview'] = "{$LANGUAGE['page_overview']} [%d]"; diff --git a/core/namespace/Page/Item.php b/core/namespace/Page/Item.php index c6cece7..e3bf6a3 100644 --- a/core/namespace/Page/Item.php +++ b/core/namespace/Page/Item.php @@ -25,5 +25,19 @@ class Item extends \Item { return sha1(implode(NULL, $attributes)); } + + #=============================================================================== + # Return unique page IDs for search results + #=============================================================================== + public static function getSearchResultIDs($search, \Database $Database): array { + $Statement = $Database->prepare(sprintf("SELECT id FROM %s WHERE + MATCH(name, body) AGAINST(? IN BOOLEAN MODE) LIMIT 20", Attribute::TABLE)); + + if($Statement->execute([$search])) { + return $Statement->fetchAll($Database::FETCH_COLUMN); + } + + return []; + } } ?>
\ No newline at end of file |