--- loncom/interface/spreadsheet/Spreadsheet.pm 2003/05/27 21:17:22 1.8 +++ loncom/interface/spreadsheet/Spreadsheet.pm 2003/05/29 13:39:38 1.11 @@ -1,5 +1,5 @@ # -# $Id: Spreadsheet.pm,v 1.8 2003/05/27 21:17:22 matthew Exp $ +# $Id: Spreadsheet.pm,v 1.11 2003/05/29 13:39:38 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -157,7 +157,8 @@ sub filename { $newfilename =~ /^\W*$/) { $newfilename = 'default.'.$self->{'type'}; } - } elsif ($newfilename !~ /^\/res\/.*\.spreadsheet/) { + } elsif ($newfilename !~ /^\/res\/.*\.spreadsheet/ && + $newfilename !~ /^default\.$self->{'type'}$/ ) { my $regexp = '_'.$self->{'type'}.'$'; if ($newfilename !~ /$regexp/) { $newfilename .= '_'.$self->{'type'}; @@ -221,6 +222,11 @@ sub is_default { return 0; } +sub initialize { + # This method is here to remind you that it will be overridden by + # the descendents of the spreadsheet class. +} + sub initialize_spreadsheet_package { &load_spreadsheet_expirationdates(); &clear_spreadsheet_definition_cache(); @@ -815,7 +821,7 @@ sub expandnamed { push @matches,$parameter if ($parameter =~ /$expression/); } if (scalar(@matches) == 0) { - $returnvalue = 'unmatched parameter: '.$parameter; + $returnvalue = '""';#'"unmatched parameter: '.$parameter.'"'; } elsif (scalar(@matches) == 1) { # why do we not do this lookup here, instead of delaying it? $returnvalue = '$c{\''.$matches[0].'\'}'; @@ -831,7 +837,7 @@ sub expandnamed { } else { # There was a negative number of matches, which indicates # something is wrong with reality. Better warn the user. - $returnvalue = 'bizzare parameter: '.$parameter; + $returnvalue = '"bizzare parameter: '.$parameter.'"'; } return $returnvalue; } @@ -1604,14 +1610,14 @@ sub save { sub save_tmp { my $self = shift; - my $fn=$ENV{'user.name'}.'_'. + my $filename=$ENV{'user.name'}.'_'. $ENV{'user.domain'}.'_spreadsheet_'.$self->{'usymb'}.'_'. $self->{'filename'}; - $fn=~s/\W/\_/g; - $fn=$Apache::lonnet::tmpdir.$fn.'.tmp'; + $filename=~s/\W/\_/g; + $filename=$Apache::lonnet::tmpdir.$filename.'.tmp'; $self->temporary(1); my $fh; - if ($fh=Apache::File->new('>'.$fn)) { + if ($fh=Apache::File->new('>'.$filename)) { my %f = $self->formulas(); while( my ($cell,$formula) = each(%f)) { next if ($formula eq 'import');