--- loncom/interface/Attic/lonspreadsheet.pm 2000/12/06 23:23:38 1.7 +++ loncom/interface/Attic/lonspreadsheet.pm 2000/12/07 22:51:29 1.8 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Spreadsheet/Grades Display Handler # -# 11/11,11/15,11/27,12/04,12/05,12/06 Gerd Kortemeyer +# 11/11,11/15,11/27,12/04,12/05,12/06,12/07 Gerd Kortemeyer package Apache::lonspreadsheet; @@ -444,15 +444,17 @@ sub outsheet { # --------------------------------------- Read spreadsheet formulas from a file sub readsheet { - my ($safeeval,$fn)=shift; + my ($safeeval,$fn)=@_; &setfilename($safeeval,$fn); $fn=~/\.(\w+)/; &settype($safeeval,$1); my %f=(); - my $content; + my $content=''; { - my $fh=Apache::File->new($fn); - $content=join('',<$fh>); + my $fh; + if ($fh=Apache::File->new($fn)) { + $content=join('',<$fh>); + } } { my $parser=HTML::TokeParser->new(\$content); @@ -523,6 +525,7 @@ sub updaterows { '___'.$resid.'___'. &Apache::lonnet::declutter($srcf); $allassess{$symb}=$bighash{'title_'.$id}; + if ($stype eq 'assesscalc') { map { if ($_=~/^stores\_(.*)/) { @@ -533,6 +536,8 @@ sub updaterows { $display= &Apache::lonnet::metadata($srcf,$key.'.name'); } + + $allkeys{$key}=$display; } } split(/\,/,&Apache::lonnet::metadata($srcf,'keys')); @@ -647,19 +652,11 @@ sub handler { $r->print(''); my $sheetone=initsheet(); - &setformulas($sheetone, - 'B3' => 5, 'C4' => 6, 'C6' => 'B3+C4', 'C2' => 'C6+B5', 'B5'=>'&SUM("A*")', - 'A1' => 'da1', 'A2'=>'da2', 'A3'=>'da3','A4'=>'da4','A5'=>'da5','A6'=>'da6', - 'a1' => '28.7', 'a2' => 'C4+a1','G1'=>'&SUM("*25")'); - &setrowlabels($sheetone, - 'da1'=>'A Points','da2'=>'B Points','da3'=>'C Points', - 'da4'=>'Percentage Correct','da5'=>'Bonus Points','da6'=>'Points Awarded'); - &setconstants($sheetone, - 'A1' => '3', 'A2'=>'4', 'A3'=>'0','A4'=>'76','A5'=>'1.5','A6'=>'6'); - - &setmaxrow($sheetone,6); + &readsheet($sheetone,$r->filename); + &updaterows($sheetone); &calcsheet($sheetone); $r->print(&outsheet($sheetone)); + $r->print(''); } else {