--- loncom/interface/spreadsheet/Spreadsheet.pm 2003/05/23 19:36:04 1.5 +++ loncom/interface/spreadsheet/Spreadsheet.pm 2003/05/29 13:39:38 1.11 @@ -1,5 +1,5 @@ # -# $Id: Spreadsheet.pm,v 1.5 2003/05/23 19:36:04 matthew Exp $ +# $Id: Spreadsheet.pm,v 1.11 2003/05/29 13:39:38 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -142,7 +142,7 @@ sub filename { if (@_) { my ($newfilename) = @_; if (! defined($newfilename) || $newfilename eq 'Default' || - $newfilename !~ /\w/ || $newfilename =~ /\W/) { + $newfilename !~ /\w/) { my %tmphash = &Apache::lonnet::get('environment', ['spreadsheet_default_'. $self->{'type'}], @@ -152,12 +152,13 @@ sub filename { if ($tmp !~ /^(con_lost|error|no_such_host)/i) { $newfilename=$tmphash{'spreadsheet_default_'.$self->{'type'}}; } - } - if (! defined($newfilename) || - $newfilename !~ /\w/ || - $newfilename =~ /^\W*$/) { - $newfilename = 'default.'.$self->{'type'}; - } else { + if (! defined($newfilename) || + $newfilename !~ /\w/ || + $newfilename =~ /^\W*$/) { + $newfilename = 'default.'.$self->{'type'}; + } + } 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; } @@ -1158,8 +1164,8 @@ sub html_template_row { for (my $i = 0; $i<=$#rowdata; $i++) { my $cell = $rowdata[$i]; if ($i < $num_uneditable) { - $row_html .= '
\n".$csvdata."\n"); + return 0; + } + # + # Output the title information + foreach my $value ($self->get_title()) { + print $file "'".&Apache::loncommon::csv_translate($value)."'\n"; + } + # + # Output the body of the spreadsheet + $self->csv_rows($file); + # + # Close the csv file + close($file); + $r->print('