--- loncom/interface/spreadsheet/lonspreadsheet.pm 2003/08/06 19:54:36 1.19 +++ loncom/interface/spreadsheet/lonspreadsheet.pm 2004/02/24 20:52:20 1.35 @@ -1,5 +1,5 @@ # -# $Id: lonspreadsheet.pm,v 1.19 2003/08/06 19:54:36 matthew Exp $ +# $Id: lonspreadsheet.pm,v 1.35 2004/02/24 20:52:20 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -54,12 +54,16 @@ built-in functions. package Apache::lonspreadsheet; use strict; +use warnings FATAL=>'all'; +no warnings 'uninitialized'; use Apache::classcalc(); use Apache::studentcalc(); use Apache::assesscalc(); use Apache::Constants qw(:common :http); use Apache::lonnet; use Apache::lonhtmlcommon; +use Apache::lonlocal; +use Apache::loncoursedata(); use HTML::Entities(); ## @@ -68,8 +72,8 @@ use HTML::Entities(); sub textfield { my ($title,$name,$value)=@_; - return "\n

$title:
". - ''; + return "\n

$title:
". + ''; } sub hiddenfield { @@ -79,11 +83,11 @@ sub hiddenfield { sub selectbox { my ($title,$name,$value,%options)=@_; - my $selout="\n

$title:
".''; foreach (sort keys(%options)) { $selout.=''; } return $selout.''; } @@ -103,9 +107,8 @@ sub file_dialogs { if ($save_status ne 'ok') { $message .= "An error occurred while saving the spreadsheet". "There error is:".$save_status; - return $result; } else { - $message .= "Spreadsheet saved as ".$ENV{'form.savefilename'}; + $message .= "Spreadsheet saved as ".$spreadsheet->filename(); } } elsif (exists($ENV{'form.newformula'}) && exists($ENV{'form.cell'}) && @@ -119,10 +122,10 @@ sub file_dialogs { $result .=&hiddenfield('workcopy',$sheettype); if ($ENV{'form.newformula'} !~ /^\s*$/) { $message .=''. - ''. + ''. '
Cell '.$ENV{'form.cell'}.' = 
'.&mt('Cell').' '.$ENV{'form.cell'}.' = 
'.$ENV{'form.newformula'}."
\n"; } else { - $message .= 'Deleted contents of cell '.$ENV{'form.cell'}.'.'; + $message .= &mt('Deleted contents of cell').' '.$ENV{'form.cell'}.'.'; } } ## @@ -137,18 +140,19 @@ sub file_dialogs { $filename = 'Default'; } my $save_dialog = ''. - ' '. + ' '. ''. ''; my $makedefault_dialog = ''; + 'value="'.&mt('Save as & Make This Sheet the Default').'"/>'; # my $link = 'Select Spreadsheet File"; + "('sheet','loadfilename','spreadsheet')\">".&mt('Select Spreadsheet File').""; + my $load=&mt('Load:'); my $load_dialog = < - + $link @@ -158,16 +162,20 @@ sub file_dialogs { END my $default_filename_set = 0; foreach my $sheetfilename ($spreadsheet->othersheets()) { - $load_dialog .= '

'); $r->print(&hiddenfield('sname' ,$ENV{'form.sname'}). &hiddenfield('sdomain',$ENV{'form.sdomain'}). @@ -365,6 +395,9 @@ ENDSCRIPT ## ## Take care of "backdoor" spreadsheet expiration / recalc stuff if ($allowed_to_edit && exists($ENV{'form.recalc'})) { + if (exists($ENV{'form.recalc'})) { + &Apache::loncoursedata::delete_caches($ENV{'requres.course.id'}); + } if ($ENV{'form.recalc'} eq 'ilovewastingtime') { &Apache::lonnet::logthis('ilovewastingtime'); # expire ALL spreadsheets @@ -417,13 +450,13 @@ ENDSCRIPT if ($action_message) { $action_message .= '
'; } - $action_message .= 'Made this spreadsheet the default'; + $action_message .= &mt('Made this spreadsheet the default'); if ($sheettype eq 'classcalc') { - $action_message .= ' for the course'; + $action_message .= ' '.&mt('for the course'); } elsif ($sheettype eq 'studentcalc') { - $action_message .= ' for all students'; + $action_message .= ' '.&mt('for all students'); } elsif ($sheettype eq 'assesscalc') { - $action_message .= ' for all assessments'; + $action_message .= ' '.&mt('for all assessments'); } $action_message .= '.'; } @@ -447,10 +480,9 @@ END $r->rflush(); # $r->print(""); - if ($sheettype eq 'classcalc') { - $r->print(''); - } + $r->print(''); if ($allowed_to_view) { $r->print('
'. - ''. + ''. &Apache::loncommon::help_open_topic("Spreadsheet_About",