diff options
author | Yorhel <git@yorhel.nl> | 2015-12-30 16:19:25 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2015-12-30 16:19:25 +0100 |
commit | 80f807f3e6511efb27fb150dda47b98a9de0bea4 (patch) | |
tree | 0996c89c22f9b2a67e9c98d9f4b613fac15b1127 /lib/VNDB/Handler | |
parent | 267fad116d3b7429e1fb876478ba9468ba19e2c9 (diff) |
Add release filters to VN browser
Diffstat (limited to 'lib/VNDB/Handler')
-rw-r--r-- | lib/VNDB/Handler/Chars.pm | 6 | ||||
-rw-r--r-- | lib/VNDB/Handler/Releases.pm | 6 | ||||
-rw-r--r-- | lib/VNDB/Handler/Staff.pm | 6 | ||||
-rw-r--r-- | lib/VNDB/Handler/Tags.pm | 6 | ||||
-rw-r--r-- | lib/VNDB/Handler/Traits.pm | 6 | ||||
-rw-r--r-- | lib/VNDB/Handler/VNBrowse.pm | 23 |
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>▸</i> '.mt('_js_fil_filters').'<i></i>'; + p class => 'filselect'; + a id => 'filselect', href => '#c'; + lit '<i>▸</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>▸</i> '.mt('_js_fil_filters').'<i></i>'; + p class => 'filselect'; + a id => 'filselect', href => '#r'; + lit '<i>▸</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>▸</i> '.mt('_js_fil_filters').'<i></i>'; + p class => 'filselect'; + a id => 'filselect', href => '#s'; + lit '<i>▸</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>▸</i> '.mt('_js_fil_filters').'<i></i>'; + p class => 'filselect'; + a id => 'filselect', href => '#v'; + lit '<i>▸</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>▸</i> '.mt('_js_fil_filters').'<i></i>'; + p class => 'filselect'; + a id => 'filselect', href => '#c'; + lit '<i>▸</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>▸</i> '.mt('_js_fil_filters').'<i></i>'; + p class => 'filselect'; + a id => 'filselect', href => '#v'; + lit '<i>▸</i> '.mt('_vnbrowse_fil_title').'<i></i>'; + end; + a id => 'rfilselect', href => '#r'; + lit '<i>▸</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); } |