diff options
author | Yorhel <git@yorhel.nl> | 2010-11-27 14:54:21 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2010-11-27 14:54:21 +0100 |
commit | eee0e8d981f68a0d55778072b7f38d87788de5c4 (patch) | |
tree | 41df551783ced49a58ed1215348ebcd9eb3d579e /lib/VNDB/DB | |
parent | c31bc7978b302c898e9c9b34abc14fd3249beaa7 (diff) |
VN Filter Selector: Added "has anime" filter
Also requested several times before.
Diffstat (limited to 'lib/VNDB/DB')
-rw-r--r-- | lib/VNDB/DB/VN.pm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/VNDB/DB/VN.pm b/lib/VNDB/DB/VN.pm index ff16a02f..1154fc71 100644 --- a/lib/VNDB/DB/VN.pm +++ b/lib/VNDB/DB/VN.pm @@ -10,7 +10,7 @@ use Encode 'decode_utf8'; our @EXPORT = qw|dbVNGet dbVNRevisionInsert dbVNImageId dbScreenshotAdd dbScreenshotGet dbScreenshotRandom|; -# Options: id, rev, char, search, length, lang, plat, tags_include, tags_exclude, results, page, what, sort, reverse +# Options: id, rev, char, search, length, lang, plat, tags_include, tags_exclude, hasani, results, page, what, sort, reverse # What: extended anime relations screenshots relgraph rating ranking changes # Sort: id rel pop rating title tagscore rand sub dbVNGet { @@ -35,6 +35,8 @@ sub dbVNGet { 'v.c_languages && ARRAY[!l]::language[]' => [ ref $o{lang} ? $o{lang} : [$o{lang}] ]) : (), $o{plat} ? ( '('.join(' OR ', map "v.c_platforms ILIKE '%%$_%%'", ref $o{plat} ? @{$o{plat}} : $o{plat}).')' => 1 ) : (), + defined $o{hasani} ? ( + '!sEXISTS(SELECT 1 FROM vn_anime va WHERE va.vid = vr.id)' => [ $o{hasani} ? '' : 'NOT ' ]) : (), $o{tags_include} && @{$o{tags_include}} ? ( 'v.id IN(SELECT vid FROM tags_vn_inherit WHERE tag IN(!l) AND spoiler <= ? GROUP BY vid HAVING COUNT(tag) = ?)', [ $o{tags_include}[1], $o{tags_include}[0], $#{$o{tags_include}[1]}+1 ] |