diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | data/lang.txt | 2 | ||||
-rw-r--r-- | lib/VNDB/DB/ULists.pm | 1 | ||||
-rw-r--r-- | lib/VNDB/Handler/ULists.pm | 9 |
4 files changed, 11 insertions, 2 deletions
@@ -11,6 +11,7 @@ - ULists::votelist: Added first character selection - Added advanced page-browsing tabs to threads - Added notes field to the user VN list + - Added vnlists.status filter to /u+/list 2.15 - 2010-12-15 - Removed expand/collapse from history browser and /u+/posts and switched to diff --git a/data/lang.txt b/data/lang.txt index 8812a58d..505da71d 100644 --- a/data/lang.txt +++ b/data/lang.txt @@ -4903,7 +4903,7 @@ cs : List vizuálních novel uživatele [_1] hu : [_1] visual novel listája nl : Visual novel lijst van [_1] -:_rlist_voted_all +:_rlist_all en : All ru : Все cs : Všechny diff --git a/lib/VNDB/DB/ULists.pm b/lib/VNDB/DB/ULists.pm index 09cfac23..a1f02786 100644 --- a/lib/VNDB/DB/ULists.pm +++ b/lib/VNDB/DB/ULists.pm @@ -58,6 +58,7 @@ sub dbVNListList { my %where = ( 'vl.uid = ?' => $o{uid}, defined($o{voted}) ? ('vo.vote !s NULL' => $o{voted} ? 'IS NOT' : 'IS') : (), + defined($o{status})? ('vl.status = ?' => $o{status}) : (), $o{char} ? ('LOWER(SUBSTR(vr.title, 1, 1)) = ?' => $o{char} ) : (), defined $o{char} && !$o{char} ? ( '(ASCII(vr.title) < 97 OR ASCII(vr.title) > 122) AND (ASCII(vr.title) < 65 OR ASCII(vr.title) > 90)' => 1 ) : (), diff --git a/lib/VNDB/Handler/ULists.pm b/lib/VNDB/Handler/ULists.pm index a6d6198d..d9051347 100644 --- a/lib/VNDB/Handler/ULists.pm +++ b/lib/VNDB/Handler/ULists.pm @@ -331,6 +331,7 @@ sub vnlist { { name => 's', required => 0, default => 'title', enum => [ 'title', 'vote' ] }, { name => 'c', required => 0, default => 'all', enum => [ 'all', 'a'..'z', 0 ] }, { name => 'v', required => 0, default => 0, enum => [ -1..1 ] }, + { name => 't', required => 0, default => -1, enum => [ -1, @{$self->{vnlist_status}} ] }, ); return 404 if $f->{_err}; @@ -363,6 +364,7 @@ sub vnlist { sort => $f->{s}, reverse => $f->{o} eq 'd', voted => $f->{v} == 0 ? undef : $f->{v} < 0 ? 0 : $f->{v}, $f->{c} ne 'all' ? (char => $f->{c}) : (), + $f->{t} >= 0 ? (status => $f->{t}) : (), ); my $title = $own ? mt '_rlist_title_my' : mt '_rlist_title_other', $u->{username}; @@ -376,6 +378,7 @@ sub vnlist { local $_ = "/u$uid/list"; $_ .= '?c='.($n eq 'c' ? $v : $f->{c}); $_ .= ';v='.($n eq 'v' ? $v : $f->{v}); + $_ .= ';t='.($n eq 't' ? $v : $f->{t}); if($n eq 'page') { $_ .= ';o='.($n eq 'o' ? $v : $f->{o}); $_ .= ';s='.($n eq 's' ? $v : $f->{s}); @@ -391,10 +394,14 @@ sub vnlist { } end; p class => 'browseopts'; - a href => $url->(v => 0), 0 == $f->{v} ? (class => 'optselected') : (), mt '_rlist_voted_all'; + a href => $url->(v => 0), 0 == $f->{v} ? (class => 'optselected') : (), mt '_rlist_all'; a href => $url->(v => 1), 1 == $f->{v} ? (class => 'optselected') : (), mt '_rlist_voted_only'; a href => $url->(v => -1), -1 == $f->{v} ? (class => 'optselected') : (), mt '_rlist_voted_none'; end; + p class => 'browseopts'; + a href => $url->(t => -1), -1 == $f->{t} ? (class => 'optselected') : (), mt '_rlist_all'; + a href => $url->(t => $_), $_ == $f->{t} ? (class => 'optselected') : (), mt '_vnlist_status_'.$_ for @{$self->{vnlist_status}}; + end; end; _vnlist_browse($self, $own, $list, $np, $f, $url, $uid); |