--- loncom/interface/spreadsheet/Spreadsheet.pm 2006/05/01 06:17:16 1.68
+++ loncom/interface/spreadsheet/Spreadsheet.pm 2006/09/03 00:54:05 1.72
@@ -1,5 +1,5 @@
#
-# $Id: Spreadsheet.pm,v 1.68 2006/05/01 06:17:16 raeburn Exp $
+# $Id: Spreadsheet.pm,v 1.72 2006/09/03 00:54:05 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -60,6 +60,9 @@ use HTML::TokeParser;
use Spreadsheet::WriteExcel;
use Time::HiRes;
use Apache::lonlocal;
+use lib '/home/httpd/lib/perl/';
+use LONCAPA;
+
##
## Package Variables
@@ -169,16 +172,20 @@ sub filename {
$newfilename = 'default_'.$self->{'type'};
}
}
- if ($newfilename !~ /\w/ || $newfilename =~ /^\W*$/) {
- $newfilename = 'default_'.$self->{'type'};
- }
- if ($newfilename !~ /^default\.$self->{'type'}$/ &&
- $newfilename !~ /^\/res\/(.*)spreadsheet$/) {
- if ($newfilename !~ /_$self->{'type'}$/) {
- $newfilename =~ s/[\s_]*$//;
- $newfilename .= '_'.$self->{'type'};
- }
- }
+ if ($newfilename eq &mt('LON-CAPA Standard')) {
+ undef($newfilename);
+ } else {
+ if ($newfilename !~ /\w/ || $newfilename =~ /^\W*$/) {
+ $newfilename = 'default_'.$self->{'type'};
+ }
+ if ($newfilename !~ /^default\.$self->{'type'}$/ &&
+ $newfilename !~ /^\/res\/(.*)spreadsheet$/) {
+ if ($newfilename !~ /_$self->{'type'}$/) {
+ $newfilename =~ s/[\s_]*$//;
+ $newfilename .= '_'.$self->{'type'};
+ }
+ }
+ }
$self->{'filename'} = $newfilename;
return;
}
@@ -1283,8 +1290,8 @@ sub html_template_row {
$row_html .= '
'.
&html_uneditable_cell($cell,'#FFDDDD',$allowed).' | ';
} else {
- $row_html .= ''.
- &html_editable_cell($cell,'#EOFFDD',$allowed,
+ $row_html .= ' | '.
+ &html_editable_cell($cell,'#E0FFDD',$allowed,
$self->{outputmode} eq 'source').' | ';
}
}
@@ -1360,7 +1367,7 @@ sub html_row {
$row_html .= '';
$row_html .= &html_uneditable_cell($cell,'#FFDDDD');
} else {
- $row_html .= ' | ';
+ $row_html .= ' | ';
$row_html .= &html_editable_cell($cell,'#E0FFDD',$allowed,
$self->{outputmode} eq 'source');
}
@@ -1681,7 +1688,8 @@ sub load {
# Load the spreadsheet definition file from the save file
my %tmphash = &Apache::lonnet::dump($filename,$cdom,$cnum);
my ($tmp) = keys(%tmphash);
- if ($tmp !~ /^(con_lost|error|no_such_host)/i) {
+ if (%tmphash
+ && $tmp !~ /^(con_lost|error|no_such_host)/i) {
while (my ($cell,$formula) = each(%tmphash)) {
$formulas->{$cell}=$formula;
}
@@ -1815,8 +1823,8 @@ sub save_tmp {
my %f = $self->formulas();
while( my ($cell,$formula) = each(%f)) {
next if ($formula eq 'import');
- print $fh &Apache::lonnet::escape($cell)."=".
- &Apache::lonnet::escape($formula)."\n";
+ print $fh &escape($cell)."=".
+ &escape($formula)."\n";
}
$fh->close();
}
@@ -1834,8 +1842,8 @@ sub load_tmp {
while (<$spreadsheet_file>) {
chomp;
my ($cell,$formula) = split(/=/);
- $cell = &Apache::lonnet::unescape($cell);
- $formula = &Apache::lonnet::unescape($formula);
+ $cell = &unescape($cell);
+ $formula = &unescape($formula);
$formulas{$cell} = $formula;
}
$spreadsheet_file->close();
@@ -1878,14 +1886,13 @@ sub othersheets {
my ($stype) = @_;
$stype = $self->{'type'} if (! defined($stype) || $stype !~ /calc$/);
#
- my @alternatives=();
+ my @alternatives=(&mt('Default'), &mt('LON-CAPA Standard'));
my %results=&Apache::lonnet::dump($stype.'_spreadsheets',
$self->{'cdom'}, $self->{'cnum'});
my ($tmp) = keys(%results);
- if ($tmp =~ /^(con_lost|error|no_such_host)/i ) {
- @alternatives = (&mt('Default'));
- } else {
- @alternatives = (&mt('Default'), sort (keys(%results)));
+ if (%results
+ && $tmp !~ /^(con_lost|error|no_such_host)/i ) {
+ push(@alternatives, sort(keys(%results)));
}
return @alternatives;
}
|