--- loncom/interface/spreadsheet/Spreadsheet.pm 2003/12/08 19:43:03 1.32
+++ loncom/interface/spreadsheet/Spreadsheet.pm 2004/01/14 16:47:39 1.33
@@ -1,5 +1,5 @@
#
-# $Id: Spreadsheet.pm,v 1.32 2003/12/08 19:43:03 matthew Exp $
+# $Id: Spreadsheet.pm,v 1.33 2004/01/14 16:47:39 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -160,7 +160,8 @@ sub filename {
if ($newfilename !~ /\w/ || $newfilename =~ /^\W*$/) {
$newfilename = 'default_'.$self->{'type'};
}
- if ($newfilename !~ /^default\.$self->{'type'}$/ ) {
+ if ($newfilename !~ /^default\.$self->{'type'}$/ &&
+ $newfilename !~ /^\/res\/(.*)spreadsheet$/) {
if ($newfilename !~ /_$self->{'type'}$/) {
$newfilename =~ s/[\s_]*$//;
$newfilename .= '_'.$self->{'type'};
@@ -1209,6 +1210,9 @@ sub display {
} elsif ($outputmode eq 'csv') {
$self->compute($r);
$self->outsheet_csv($r);
+ } elsif ($outputmode eq 'xml') {
+# $self->compute($r);
+ $self->outsheet_xml($r);
}
$self->cleanup();
return;
@@ -1356,6 +1360,8 @@ sub output_options {
description => 'HTML'},
{value => 'excel',
description => 'Excel'},
+# {value => 'xml',
+# description => 'XML'},
{value => 'csv',
description => 'Comma Separated Values'},);
}
@@ -1555,13 +1561,16 @@ sub outsheet_xml {
my $col = $1;
$Str .= ''.$formula.''."\n";
} else {
- my ($row,$col) = ($cell =~ /^([A-z])(\d+)/);
+ my ($col,$row) = ($cell =~ /^([A-z])(\d+)/);
next if (! defined($row) || ! defined($col));
- $Str .= ''.$formula.''
+ next if ($row != 0);
+ $Str .=
+ ''.$formula.''
."\n";
}
}
$Str.="";
+# $r->print("\n\n\n".$Str."\n\n\n
");
return $Str;
}
@@ -1643,7 +1652,7 @@ sub load {
# Not cached, need to read
if (! defined($filename)) {
$formulas = $self->load_system_default_sheet();
- } elsif($self->filename() =~ /^\/res\/.*\.spreadsheet$/) {
+ } elsif($filename =~ /^\/res\/.*\.spreadsheet$/) {
# Load a spreadsheet definition file
my $sheetxml=&Apache::lonnet::getfile
(&Apache::lonnet::filelocation('',$filename));