summaryrefslogtreecommitdiff
path: root/lib/VNDB/DB/VN.pm
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2011-02-06 16:34:14 +0100
committerYorhel <git@yorhel.nl>2011-02-06 16:34:14 +0100
commitc96ace5f64c198459213e234d01e2da2ecff2adc (patch)
tree3c04977c00a890f93e78e0ad7d91f31a0c392975 /lib/VNDB/DB/VN.pm
parent1947478f1082f171b019dfc12fb3039ee828e596 (diff)
Added new VN filters: wish/blacklist
Diffstat (limited to 'lib/VNDB/DB/VN.pm')
-rw-r--r--lib/VNDB/DB/VN.pm8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/VNDB/DB/VN.pm b/lib/VNDB/DB/VN.pm
index b506d94d..00d1c9a5 100644
--- a/lib/VNDB/DB/VN.pm
+++ b/lib/VNDB/DB/VN.pm
@@ -11,7 +11,7 @@ our @EXPORT = qw|dbVNGet dbVNRevisionInsert dbVNImageId dbScreenshotAdd dbScreen
# Options: id, rev, char, search, length, lang, olang, plat, tag_inc, tag_exc, tagspoil,
-# hasani, hasshot, results, page, what, sort, reverse
+# hasani, hasshot, ul_notblack, ul_onwish, results, page, what, sort, reverse
# What: extended anime relations screenshots relgraph rating ranking changes
# Sort: id rel pop rating title tagscore rand
sub dbVNGet {
@@ -27,6 +27,8 @@ sub dbVNGet {
grep !defined($_) || $_!~/^\d+$/, $o{tagspoil},
!$o{tag_inc} ? () : (ref($o{tag_inc}) ? @{$o{tag_inc}} : $o{tag_inc});
+ my $uid = $self->authInfo->{id};
+
my @where = (
$o{id} ? (
'v.id = ?' => $o{id} ) : (),
@@ -55,6 +57,10 @@ sub dbVNGet {
'v.id NOT IN(SELECT vid FROM tags_vn_inherit WHERE tag IN(!l))' => [ ref $o{tag_exc} ? $o{tag_exc} : [$o{tag_exc}] ] ) : (),
$o{search} ? (
map +('v.c_search like ?', "%$_%"), normalize_query($o{search})) : (),
+ $uid && $o{ul_notblack} ? (
+ 'v.id NOT IN(SELECT vid FROM wlists WHERE uid = ? AND wstat = 3)' => $uid ) : (),
+ $uid && defined $o{ul_onwish} ? (
+ 'v.id !s IN(SELECT vid FROM wlists WHERE uid = ?)' => [ $o{ul_onwish} ? '' : 'NOT', $uid ] ) : (),
# don't fetch hidden items unless we ask for an ID
!$o{id} && !$o{rev} ? (
'v.hidden = FALSE' => 0 ) : (),