diff options
author | Yorhel <git@yorhel.nl> | 2015-01-28 19:22:03 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2015-01-28 19:22:03 +0100 |
commit | f8b999c3f1842a5ef4836a9f56df7b87d9106466 (patch) | |
tree | 6872b2df80fb36cccde613270b350af1423c230a | |
parent | 8e1df87626b97239bf7dc2f00cbbe0ea86100810 (diff) |
Hide spoilerous characters from the VN staff pages by default
To fix an issue mentioned in <https://vndb.org/t6138.15>. Yay for
writing patches on the live site.
-rw-r--r-- | lib/VNDB/DB/VN.pm | 3 | ||||
-rw-r--r-- | lib/VNDB/Handler/VNPage.pm | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/lib/VNDB/DB/VN.pm b/lib/VNDB/DB/VN.pm index b3b55598..3c7b9815 100644 --- a/lib/VNDB/DB/VN.pm +++ b/lib/VNDB/DB/VN.pm @@ -164,7 +164,8 @@ sub dbVNGet { [ keys %r ] )}); push(@{$r->[$r{ delete $_->{vid} }]{seiyuu}}, $_) for (@{$self->dbAll(q| - SELECT vs.vid, s.id, vs.aid, sa.name, sa.original, sr.gender, sr.lang, cr.cid, cr.name AS cname, vs.note + SELECT vs.vid, s.id, vs.aid, sa.name, sa.original, sr.gender, sr.lang, cr.cid, cr.name AS cname, vs.note, + NOT EXISTS(SELECT 1 FROM chars_vns cv WHERE cv.vid = vr.vid AND cv.cid = cr.id AND cv.spoil = 0) as spoil FROM vn_seiyuu vs JOIN vn_rev vr ON vr.id = vs.vid JOIN staff_alias sa ON vs.aid = sa.id diff --git a/lib/VNDB/Handler/VNPage.pm b/lib/VNDB/Handler/VNPage.pm index f75d02d7..00e27b4b 100644 --- a/lib/VNDB/Handler/VNPage.pm +++ b/lib/VNDB/Handler/VNPage.pm @@ -1126,10 +1126,11 @@ sub _staff { end 'table'; end; } - if(@{$v->{seiyuu}}) { + my @seiyuu = grep !$_->{spoil}, @{$v->{seiyuu}}; + if(@seiyuu) { div class => 'mainbox staff cast'; h1 mt '_vnpage_cast'; - my $has_notes = grep { $_->{note} } @{$v->{seiyuu}}; + my $has_notes = grep { $_->{note} } @seiyuu; table class => 'stripe'; thead; Tr; @@ -1138,7 +1139,8 @@ sub _staff { td class => 'tc3', mt '_staff_col_note' if $has_notes; end; end; - for my $s (@{$v->{seiyuu}}) { + for my $s (@seiyuu) { + next if $s->{spoil}; Tr; td class => 'tc1'; a href => "/c$s->{cid}", $s->{cname}; |