From cb1af38ef7cfc49932ed5e3176505f4e2f3e639c Mon Sep 17 00:00:00 2001 From: Yorhel Date: Fri, 3 Mar 2017 10:28:17 +0100 Subject: Don't allow deleted or unapproved traits to be linked to char entries Fixes https://vndb.org/t2520.213 --- lib/VNDB/Handler/Chars.pm | 3 +++ lib/VNDB/Handler/Traits.pm | 1 + 2 files changed, 4 insertions(+) (limited to 'lib/VNDB') diff --git a/lib/VNDB/Handler/Chars.pm b/lib/VNDB/Handler/Chars.pm index 5caf677e..ab4a5627 100644 --- a/lib/VNDB/Handler/Chars.pm +++ b/lib/VNDB/Handler/Chars.pm @@ -339,6 +339,9 @@ sub edit { $frm->{desc} = $self->bbSubstLinks($frm->{desc}); $frm->{main_spoil} = 0 if !$frm->{main}; + my %traits = map +($_->{id}, 1), @{$self->dbTraitGet(results => 500, state => 2, id => [ map $_->[0], @traits ])}; + @traits = grep $traits{$_->[0]}, @traits; + # check for changes my $same = $id && !grep $frm->{$_} ne $b4{$_}, keys %b4; return $self->resRedirect("/c$id", 'post') if !$copy && $same; diff --git a/lib/VNDB/Handler/Traits.pm b/lib/VNDB/Handler/Traits.pm index 0f4169aa..41057c44 100644 --- a/lib/VNDB/Handler/Traits.pm +++ b/lib/VNDB/Handler/Traits.pm @@ -413,6 +413,7 @@ sub traitxml { results => $f->{r}, page => 1, sort => 'group', + state => 2, !$f->{q} ? () : $f->{q} =~ /^i([1-9]\d*)/ ? (id => $1) : (search => $f->{q}, sort => 'search'), $f->{id} && $f->{id}[0] ? (id => $f->{id}) : (), ); -- cgit v1.2.3