forward port of File/Image - Storage/Storage::Image object alignment fix

This commit is contained in:
Colin Kuskie 2007-06-22 23:26:13 +00:00
parent 4de39b7fe5
commit 522d87fed2
2 changed files with 21 additions and 8 deletions

View file

@ -279,7 +279,7 @@ sub processPropertiesFromFormPost {
$data{title} = $filename unless ($session->form->process("title"));
$data{menuTitle} = $filename unless ($session->form->process("menuTitle"));
$data{url} = $self->getParent->get('url').'/'.$filename unless ($session->form->process("url"));
$self->{_storageLocation} = $storage;
$self->setStorageLocation($storage);
$self->update(\%data);
}
}
@ -336,11 +336,16 @@ sub setSize {
#-------------------------------------------------------------------
sub setStorageLocation {
my $self = shift;
if ($self->get("storageId") eq "") {
my $self = shift;
my $storage = shift;
if (defined $storage) {
$self->{_storageLocation} = $storage;
}
elsif ($self->get("storageId") eq "") {
$self->{_storageLocation} = WebGUI::Storage->create($self->session);
$self->update({storageId=>$self->{_storageLocation}->getId});
} else {
}
else {
$self->{_storageLocation} = WebGUI::Storage->get($self->session,$self->get("storageId"));
}
}

View file

@ -207,7 +207,10 @@ sub processPropertiesFromFormPost {
unless ($parameters =~ /alt\=/) {
$self->update({parameters=>$parameters.' alt="'.$self->get("title").'"'});
}
my $storage = $self->getStorageLocation;
##We just inherited a storage object of the wrong type. Reinstance the same
##storage object with the correct type
my $storage = WebGUI::Storage::Image->get($self->session, $self->getStorageLocation->getId);
$self->setStorageLocation($storage);
my $max_size = $self->session->setting->get("maxImageSize");
my $file = $self->get("filename");
my ($w, $h) = $storage->getSizeInPixels($file);
@ -225,11 +228,16 @@ sub processPropertiesFromFormPost {
#-------------------------------------------------------------------
sub setStorageLocation {
my $self = shift;
if ($self->get("storageId") eq "") {
my $self = shift;
my $storage = shift;
if (defined $storage) {
$self->{_storageLocation} = $storage;
}
elsif ($self->get("storageId") eq "") {
$self->{_storageLocation} = WebGUI::Storage::Image->create($self->session);
$self->update({storageId=>$self->{_storageLocation}->getId});
} else {
}
else {
$self->{_storageLocation} = WebGUI::Storage::Image->get($self->session,$self->get("storageId"));
}
}