summaryrefslogtreecommitdiff
path: root/lib/VNDB/Handler
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2015-12-30 16:19:25 +0100
committerYorhel <git@yorhel.nl>2015-12-30 16:19:25 +0100
commit80f807f3e6511efb27fb150dda47b98a9de0bea4 (patch)
tree0996c89c22f9b2a67e9c98d9f4b613fac15b1127 /lib/VNDB/Handler
parent267fad116d3b7429e1fb876478ba9468ba19e2c9 (diff)
Add release filters to VN browser
Diffstat (limited to 'lib/VNDB/Handler')
-rw-r--r--lib/VNDB/Handler/Chars.pm6
-rw-r--r--lib/VNDB/Handler/Releases.pm6
-rw-r--r--lib/VNDB/Handler/Staff.pm6
-rw-r--r--lib/VNDB/Handler/Tags.pm6
-rw-r--r--lib/VNDB/Handler/Traits.pm6
-rw-r--r--lib/VNDB/Handler/VNBrowse.pm23
6 files changed, 37 insertions, 16 deletions
diff --git a/lib/VNDB/Handler/Chars.pm b/lib/VNDB/Handler/Chars.pm
index 98847b4c..74029e5c 100644
--- a/lib/VNDB/Handler/Chars.pm
+++ b/lib/VNDB/Handler/Chars.pm
@@ -508,8 +508,10 @@ sub list {
}
end;
- a id => 'filselect', href => '#c';
- lit '<i>&#9656;</i> '.mt('_js_fil_filters').'<i></i>';
+ p class => 'filselect';
+ a id => 'filselect', href => '#c';
+ lit '<i>&#9656;</i> '.mt('_js_fil_filters').'<i></i>';
+ end;
end;
input type => 'hidden', class => 'hidden', name => 'fil', id => 'fil', value => $f->{fil};
end;
diff --git a/lib/VNDB/Handler/Releases.pm b/lib/VNDB/Handler/Releases.pm
index d2497954..890058af 100644
--- a/lib/VNDB/Handler/Releases.pm
+++ b/lib/VNDB/Handler/Releases.pm
@@ -498,8 +498,10 @@ sub browse {
div class => 'mainbox';
h1 mt '_rbrowse_title';
$self->htmlSearchBox('r', $f->{q});
- a id => 'filselect', href => '#r';
- lit '<i>&#9656;</i> '.mt('_js_fil_filters').'<i></i>';
+ p class => 'filselect';
+ a id => 'filselect', href => '#r';
+ lit '<i>&#9656;</i> '.mt('_js_fil_filters').'<i></i>';
+ end;
end;
input type => 'hidden', class => 'hidden', name => 'fil', id => 'fil', value => $f->{fil};
end;
diff --git a/lib/VNDB/Handler/Staff.pm b/lib/VNDB/Handler/Staff.pm
index 0f878ca6..839d118a 100644
--- a/lib/VNDB/Handler/Staff.pm
+++ b/lib/VNDB/Handler/Staff.pm
@@ -326,8 +326,10 @@ sub list {
}
end;
- a id => 'filselect', href => '#s';
- lit '<i>&#9656;</i> '.mt('_js_fil_filters').'<i></i>';
+ p class => 'filselect';
+ a id => 'filselect', href => '#s';
+ lit '<i>&#9656;</i> '.mt('_js_fil_filters').'<i></i>';
+ end;
end;
input type => 'hidden', class => 'hidden', name => 'fil', id => 'fil', value => $f->{fil};
end;
diff --git a/lib/VNDB/Handler/Tags.pm b/lib/VNDB/Handler/Tags.pm
index cc38cdf8..f97fe238 100644
--- a/lib/VNDB/Handler/Tags.pm
+++ b/lib/VNDB/Handler/Tags.pm
@@ -111,8 +111,10 @@ sub tagpage {
a href => "/g$t->{id}?fil=$f->{fil};m=2", $f->{m} == 2 ? (class => 'optselected') : (), mt '_spoilset_2';
end;
- a id => 'filselect', href => '#v';
- lit '<i>&#9656;</i> '.mt('_js_fil_filters').'<i></i>';
+ p class => 'filselect';
+ a id => 'filselect', href => '#v';
+ lit '<i>&#9656;</i> '.mt('_js_fil_filters').'<i></i>';
+ end;
end;
input type => 'hidden', class => 'hidden', name => 'fil', id => 'fil', value => $f->{fil};
diff --git a/lib/VNDB/Handler/Traits.pm b/lib/VNDB/Handler/Traits.pm
index 98f0b757..8d689581 100644
--- a/lib/VNDB/Handler/Traits.pm
+++ b/lib/VNDB/Handler/Traits.pm
@@ -100,8 +100,10 @@ sub traitpage {
a href => "/i$trait?m=2", $f->{m} == 2 ? (class => 'optselected') : (), mt '_spoilset_2';
end;
- a id => 'filselect', href => '#c';
- lit '<i>&#9656;</i> '.mt('_js_fil_filters').'<i></i>';
+ p class => 'filselect';
+ a id => 'filselect', href => '#c';
+ lit '<i>&#9656;</i> '.mt('_js_fil_filters').'<i></i>';
+ end;
end;
input type => 'hidden', class => 'hidden', name => 'fil', id => 'fil', value => $f->{fil};
diff --git a/lib/VNDB/Handler/VNBrowse.pm b/lib/VNDB/Handler/VNBrowse.pm
index bc8b39b2..01f5bc61 100644
--- a/lib/VNDB/Handler/VNBrowse.pm
+++ b/lib/VNDB/Handler/VNBrowse.pm
@@ -22,6 +22,7 @@ sub list {
{ get => 'q', required => 0, default => '' },
{ get => 'sq', required => 0, default => '' },
{ get => 'fil',required => 0 },
+ { get => 'rfil', required => 0, default => '' },
{ get => 'vnlist', required => 0, default => 2, enum => [ '0', '1' ] }, # 2: use pref
{ get => 'wish', required => 0, default => 2, enum => [ '0', '1' ] }, # 2: use pref
);
@@ -50,6 +51,9 @@ sub list {
$f->{s} = 'title' if $f->{fil} !~ /tag_inc-/ && $f->{s} eq 'tagscore';
$f->{o} = $f->{s} eq 'tagscore' ? 'd' : 'a' if !$f->{o};
+ my $rfil = fil_parse $f->{rfil}, @{$VNDB::Util::Misc::filfields{release}};
+ $f->{rfil} = fil_serialize $rfil, @{$VNDB::Util::Misc::filfields{release}};
+
my($list, $np) = $self->filFetchDB(vn => $f->{fil}, {
%compat,
tagspoil => $self->authPref('spoilers')||0,
@@ -57,8 +61,9 @@ sub list {
what => ' rating' .
($f->{vnlist} ? ' vnlist' : '').
($f->{wish} ? ' wishlist' : ''),
- $char ne 'all' ? ( char => $char ) : (),
- $f->{q} ? ( search => $f->{q} ) : (),
+ $char ne 'all' ? ( char => $char ) : (),
+ $f->{q} ? ( search => $f->{q} ) : (),
+ keys %$rfil ? ( release => $rfil ) : (),
results => 50,
page => $f->{p},
sort => $f->{s}, reverse => $f->{o} eq 'd',
@@ -76,7 +81,7 @@ sub list {
my $url = sub {
my($char, $toggle) = @_;
- return "/v/$char?q=$quri;fil=$f->{fil};s=$f->{s};o=$f->{o}" .
+ return "/v/$char?q=$quri;fil=$f->{fil};rfil=$f->{rfil};s=$f->{s};o=$f->{o}" .
($toggle ? ";$toggle=".($f->{$toggle}?0:1) : '');
};
@@ -95,14 +100,20 @@ sub list {
end 'p';
}
- a id => 'filselect', href => '#v';
- lit '<i>&#9656;</i> '.mt('_js_fil_filters').'<i></i>';
+ p class => 'filselect';
+ a id => 'filselect', href => '#v';
+ lit '<i>&#9656;</i> '.mt('_vnbrowse_fil_title').'<i></i>';
+ end;
+ a id => 'rfilselect', href => '#r';
+ lit '<i>&#9656;</i> '.mt('_rbrowse_fil_title').'<i></i>';
+ end;
end;
input type => 'hidden', class => 'hidden', name => 'fil', id => 'fil', value => $f->{fil};
+ input type => 'hidden', class => 'hidden', name => 'rfil', id => 'rfil', value => $f->{rfil};
end;
end 'form';
- $self->htmlBrowseVN($list, $f, $np, "/v/$char?q=$quri;fil=$f->{fil}", $f->{fil} =~ /tag_inc-/);
+ $self->htmlBrowseVN($list, $f, $np, "/v/$char?q=$quri;fil=$f->{fil};rfil=$f->{rfil}", $f->{fil} =~ /tag_inc-/);
$self->htmlFooter(pref_code => 1);
}