Diff for /loncom/interface/Attic/lonspreadsheet.pm between versions 1.7 and 1.8

version 1.7, 2000/12/06 23:23:38 version 1.8, 2000/12/07 22:51:29
Line 1 Line 1
 # The LearningOnline Network with CAPA  # The LearningOnline Network with CAPA
 # Spreadsheet/Grades Display Handler  # 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;  package Apache::lonspreadsheet;
   
Line 444  sub outsheet { Line 444  sub outsheet {
 # --------------------------------------- Read spreadsheet formulas from a file  # --------------------------------------- Read spreadsheet formulas from a file
   
 sub readsheet {  sub readsheet {
     my ($safeeval,$fn)=shift;      my ($safeeval,$fn)=@_;
     &setfilename($safeeval,$fn);      &setfilename($safeeval,$fn);
     $fn=~/\.(\w+)/;      $fn=~/\.(\w+)/;
     &settype($safeeval,$1);      &settype($safeeval,$1);
     my %f=();      my %f=();
     my $content;      my $content='';
     {      {
       my $fh=Apache::File->new($fn);        my $fh;
       $content=join('',<$fh>);        if ($fh=Apache::File->new($fn)) {
            $content=join('',<$fh>);
         }
     }      }
     {      {
       my $parser=HTML::TokeParser->new(\$content);        my $parser=HTML::TokeParser->new(\$content);
Line 523  sub updaterows { Line 525  sub updaterows {
     '___'.$resid.'___'.      '___'.$resid.'___'.
     &Apache::lonnet::declutter($srcf);      &Apache::lonnet::declutter($srcf);
  $allassess{$symb}=$bighash{'title_'.$id};   $allassess{$symb}=$bighash{'title_'.$id};
   
                  if ($stype eq 'assesscalc') {                   if ($stype eq 'assesscalc') {
                    map {                     map {
                        if ($_=~/^stores\_(.*)/) {                         if ($_=~/^stores\_(.*)/) {
Line 533  sub updaterows { Line 536  sub updaterows {
                               $display=                                $display=
          &Apache::lonnet::metadata($srcf,$key.'.name');           &Apache::lonnet::metadata($srcf,$key.'.name');
                           }                            }
   
   
                           $allkeys{$key}=$display;                            $allkeys{$key}=$display;
        }         }
                    } split(/\,/,&Apache::lonnet::metadata($srcf,'keys'));                     } split(/\,/,&Apache::lonnet::metadata($srcf,'keys'));
Line 647  sub handler { Line 652  sub handler {
     $r->print('<body bgcolor="#FFFFFF">');      $r->print('<body bgcolor="#FFFFFF">');
     
     my $sheetone=initsheet();      my $sheetone=initsheet();
     &setformulas($sheetone,      &readsheet($sheetone,$r->filename);
    'B3' => 5, 'C4' => 6, 'C6' => 'B3+C4', 'C2' => 'C6+B5', 'B5'=>'&SUM("A*")',      &updaterows($sheetone);
    '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);  
     &calcsheet($sheetone);      &calcsheet($sheetone);
     $r->print(&outsheet($sheetone));      $r->print(&outsheet($sheetone));
   
     $r->print('</body></html>');      $r->print('</body></html>');
   
   } else {    } else {

Removed from v.1.7  
changed lines
  Added in v.1.8


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>