Added fav: support to post searching
This commit is contained in:
parent
97a1c52018
commit
c124f89b8b
4 changed files with 17 additions and 1 deletions
1
TODO
1
TODO
|
@ -12,7 +12,6 @@ everything related to posts:
|
|||
- search filters
|
||||
- comment:rr-
|
||||
- comment_count: 3..5
|
||||
- fav:rr-
|
||||
- file_size:3K..5M
|
||||
- image_size:huge/large/medium/small
|
||||
- type:img/flash/yt/video
|
||||
|
|
|
@ -110,6 +110,11 @@ class PostDao extends AbstractDao implements ICrudDao
|
|||
return;
|
||||
}
|
||||
|
||||
elseif ($requirement->getType() === \Szurubooru\SearchServices\Filters\PostFilter::REQUIREMENT_FAVORITE)
|
||||
{
|
||||
$query->innerJoin('favorites _fav ON _fav.postId = posts.id INNER JOIN users favorite ON favorite.id = _fav.userId');
|
||||
}
|
||||
|
||||
elseif ($requirement->getType() === \Szurubooru\SearchServices\Filters\PostFilter::REQUIREMENT_UPLOADER)
|
||||
{
|
||||
$query->innerJoin('users uploader ON uploader.id = userId');
|
||||
|
|
|
@ -19,6 +19,7 @@ class PostFilter extends BasicFilter implements IFilter
|
|||
const REQUIREMENT_SCORE = 'score';
|
||||
const REQUIREMENT_UPLOADER = 'uploader.name';
|
||||
const REQUIREMENT_SAFETY = 'safety';
|
||||
const REQUIREMENT_FAVORITE = 'favorite.name';
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
|
|
|
@ -43,6 +43,9 @@ class PostSearchParser extends AbstractSearchParser
|
|||
elseif ($token->getKey() === 'safety')
|
||||
$this->addSafetyRequirement($filter, $token);
|
||||
|
||||
elseif ($token->getKey() === 'fav')
|
||||
$this->addFavRequirement($filter, $token);
|
||||
|
||||
else
|
||||
throw new \BadMethodCallException('Not supported');
|
||||
}
|
||||
|
@ -166,6 +169,14 @@ class PostSearchParser extends AbstractSearchParser
|
|||
});
|
||||
}
|
||||
|
||||
private function addFavRequirement($filter, $token)
|
||||
{
|
||||
$this->addRequirementFromToken(
|
||||
$filter,
|
||||
$token,
|
||||
\Szurubooru\SearchServices\Filters\PostFilter::REQUIREMENT_FAVORITE,
|
||||
self::ALLOW_COMPOSITE);
|
||||
}
|
||||
|
||||
private function dateToTime($value)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue