summaryrefslogtreecommitdiff
path: root/lib/VNDB/Handler/Chars.pm
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2011-08-21 09:55:41 +0200
committerYorhel <git@yorhel.nl>2011-08-21 09:55:41 +0200
commit2b128f87ea6900565c34b42cc1c01073323b59d9 (patch)
treeae0a62f8faaa16cb0badc0953996b88448d0bff4 /lib/VNDB/Handler/Chars.pm
parentdbaafc5722d55fe5a065b48576ec96373302006f (diff)
Bugfix: Keep image id on failed (vn|char)add + validate image id
Diffstat (limited to 'lib/VNDB/Handler/Chars.pm')
-rw-r--r--lib/VNDB/Handler/Chars.pm11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/VNDB/Handler/Chars.pm b/lib/VNDB/Handler/Chars.pm
index 8edb6236..5e12aa03 100644
--- a/lib/VNDB/Handler/Chars.pm
+++ b/lib/VNDB/Handler/Chars.pm
@@ -296,7 +296,7 @@ sub edit {
push @{$frm->{_err}}, 'badeditsum' if !$frm->{editsum} || lc($frm->{editsum}) eq lc($frm->{desc});
# handle image upload
- $frm->{image} = _uploadimage($self, $r, $frm);
+ $frm->{image} = _uploadimage($self, $frm);
# validate main character
if(!$frm->{_err} && $frm->{main}) {
@@ -424,8 +424,13 @@ sub edit {
sub _uploadimage {
- my($self, $c, $frm) = @_;
- return $c ? $frm->{image} : 0 if $frm->{_err} || !$self->reqPost('img');
+ my($self, $frm) = @_;
+
+ if($frm->{_err} || !$self->reqPost('img')) {
+ return 0 if !$frm->{image};
+ push @{$frm->{_err}}, 'invalidimgid' if !-s sprintf '%s/static/ch/%02d/%d.jpg', $VNDB::ROOT, $frm->{image}%100, $frm->{image};
+ return $frm->{image};
+ }
# perform some elementary checks
my $imgdata = $self->reqUploadRaw('img');