From 5159214e804b141c84e33c7236f66bd43d8dc93b Mon Sep 17 00:00:00 2001 From: Marcin Kurczewski Date: Sat, 27 Sep 2014 10:59:37 +0200 Subject: [PATCH] Added searching by tags and ids --- TODO | 7 +-- .../js/Presenters/PostListPresenter.js | 2 +- public_html/templates/post.tpl | 2 +- src/Dao/AbstractDao.php | 55 +++++++++++++++++-- src/Dao/PostDao.php | 20 +++++++ src/SearchServices/Filters/BasicFilter.php | 2 +- src/SearchServices/Filters/IFilter.php | 2 +- src/SearchServices/Filters/PostFilter.php | 2 + .../Parsers/AbstractSearchParser.php | 34 ++++++++++-- .../Parsers/PostSearchParser.php | 21 ++++++- .../Parsers/SnapshotSearchParser.php | 4 +- .../Requirements/IRequirementValue.php | 6 ++ .../{ => Requirements}/Requirement.php | 4 +- .../RequirementCompositeValue.php | 16 ++++++ .../Requirements/RequirementRangedValue.php | 28 ++++++++++ .../Requirements/RequirementSingleValue.php | 22 ++++++++ .../{ => Tokens}/NamedSearchToken.php | 2 +- .../{ => Tokens}/SearchToken.php | 2 +- src/Services/PostService.php | 8 +-- 19 files changed, 206 insertions(+), 33 deletions(-) create mode 100644 src/SearchServices/Requirements/IRequirementValue.php rename src/SearchServices/{ => Requirements}/Requirement.php (80%) create mode 100644 src/SearchServices/Requirements/RequirementCompositeValue.php create mode 100644 src/SearchServices/Requirements/RequirementRangedValue.php create mode 100644 src/SearchServices/Requirements/RequirementSingleValue.php rename src/SearchServices/{ => Tokens}/NamedSearchToken.php (81%) rename src/SearchServices/{ => Tokens}/SearchToken.php (88%) diff --git a/TODO b/TODO index e4f671bb..6968cd9a 100644 --- a/TODO +++ b/TODO @@ -26,10 +26,10 @@ everything related to posts: - score - comment count - regard safety settings + - regard disliked settings + - add search form (query, order and safety) to post list presenter - add warning if no posts were found - search filters - - tag - - -tag - submit:rr- - comment:rr- - comment: 3..5 @@ -42,7 +42,6 @@ everything related to posts: - date:yyyy[-mm[-dd]]..yyyy[-mm[-dd]] - filesize:3K..5M - imgsize:huge/large/medium/small - - id:3,4,5 - hash:postName - type:img/flash/yt/video - special:liked @@ -60,8 +59,6 @@ everything related to posts: - order:favdate - order:filesize - order:random (at least unstable version) - - safe/sketchy/unsafe buttons and top navigation search goes to post - list presenter everything related to users: - banning diff --git a/public_html/js/Presenters/PostListPresenter.js b/public_html/js/Presenters/PostListPresenter.js index 800d7adf..90282f5f 100644 --- a/public_html/js/Presenters/PostListPresenter.js +++ b/public_html/js/Presenters/PostListPresenter.js @@ -54,7 +54,7 @@ App.Presenters.PostListPresenter = function( loaded(); var searchArgs = util.parseComplexRouteArgs(args.searchArgs); - pagedCollectionPresenter.reinit({page: searchArgs.page, searchParams: {order: searchArgs.order}}); + pagedCollectionPresenter.reinit({page: searchArgs.page, searchParams: {query: searchArgs.query, order: searchArgs.order}}); } function render() { diff --git a/public_html/templates/post.tpl b/public_html/templates/post.tpl index b82b218a..1bb3156c 100644 --- a/public_html/templates/post.tpl +++ b/public_html/templates/post.tpl @@ -16,7 +16,7 @@