<%args> $SETS => undef $field => undef $default => undef $object => undef $prop => undef <%init> use IO::File; use Data::Dumper; return undef unless defined $SETS and defined $field; # -------------------------------------------------------------------------------------- # Добавление одной картинки my $IMAGE = $default; if ($SETS->{$field}) { my $upload = $r->upload($field); if ($upload) { my $IMG = $object->_store_image( $upload, attr => $prop->{attr} ); if ( ref $IMG eq 'HASH' && exists $IMG->{filename} ) { $object->_delete_image( $default ); %$IMAGE = %$IMG; } } else { warn 'ERROR in incoming POST form: "'.$field.' is not file upload (value: "'.$SETS->{$field}.'")'; } } # Дополнительные поля - берем все, что найдем... my $pattern = "^".$field.q|\.(.*)$|; foreach my $localfield (keys(%{ $SETS })) { if ($localfield =~ /$pattern/) { my $imagefield = $1; $IMAGE->{$imagefield} = $m->comp("/contenido/components/filter.msn", str => $SETS->{$localfield}); } } return $IMAGE;