Diff for /loncom/interface/Attic/lonspreadsheet.pm between versions 1.14 and 1.16

version 1.14, 2000/12/11 22:25:35 version 1.16, 2000/12/16 21:34:47
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,12/07,12/08,12/09,12/11 Gerd Kortemeyer  # 11/11,11/15,11/27,12/04,12/05,12/06,12/07,
   # 12/08,12/09,12/11,12/12,12/15,12/16 Gerd Kortemeyer
   
 package Apache::lonspreadsheet;  package Apache::lonspreadsheet;
   
Line 259  sub SUMMIN { Line 260  sub SUMMIN {
   
 sub sett {  sub sett {
     %t=();      %t=();
       my $pattern='';
       if ($sheettype eq 'assesscalc') {
    $pattern='A';
       } else {
           $pattern='[A-Z]';
       }
     map {      map {
  if ($f{$_}) {   if ($f{$_}) {
             if ($_=~/^A/) {              if ($_=~/^$pattern/) {
         unless ($f{$_}=~/^\!/) {          unless ($f{$_}=~/^\!/) {
     $t{$_}=$c{$_};      $t{$_}=$c{$_};
                 }                  }
Line 299  sub calc { Line 306  sub calc {
     return '';      return '';
 }  }
   
 sub outrow {  sub outrowassess {
     my $n=shift;      my $n=shift;
     my @cols=();      my @cols=();
     if ($n) {      if ($n) {
Line 435  sub rown { Line 442  sub rown {
     my $defaultbg=((($n-1)/5)==int(($n-1)/5))?'#E0E0':'#FFFF';      my $defaultbg=((($n-1)/5)==int(($n-1)/5))?'#E0E0':'#FFFF';
     my $rowdata="\n<tr><td><b><font size=+1>$n</font></b></td>";      my $rowdata="\n<tr><td><b><font size=+1>$n</font></b></td>";
     my $showf=0;      my $showf=0;
       my $proc;
       if (&gettype($safeeval) eq 'assesscalc') {
           $proc='&outrowassess';
       } else {
           $proc='&outrow';
       }
     map {      map {
        my $bgcolor=$defaultbg.((($showf-1)/5==int(($showf-1)/5))?'99':'DD');         my $bgcolor=$defaultbg.((($showf-1)/5==int(($showf-1)/5))?'99':'DD');
        my ($fm,$vl)=split(/\_\_\_eq\_\_\_/,$_);         my ($fm,$vl)=split(/\_\_\_eq\_\_\_/,$_);
Line 452  sub rown { Line 465  sub rown {
            $rowdata.='<td bgcolor='.$bgcolor.'>&nbsp;'.$vl.'&nbsp;</td>';             $rowdata.='<td bgcolor='.$bgcolor.'>&nbsp;'.$vl.'&nbsp;</td>';
        }         }
        $showf++;         $showf++;
     } $safeeval->reval('&outrow('.$n.')');      } $safeeval->reval($proc.'('.$n.')');
     return $rowdata.'</tr>';      return $rowdata.'</tr>';
 }  }
   
Line 748  sub updaterows { Line 761  sub updaterows {
     }      }
 }  }
   
   # --------------------------------------------------- Load data for one student
   
   sub rowazstudent {
       my $safeeval=shift;
       my %c=();
       my %f=&getformulas($safeeval);
       map {
    if ($_=~/^A/) {
              unless ($f{$_}=~/^\!/) {
                 print &Apache::lonnet::ssi(
           '/res/msu/korte/junk.assesscalc',('utarget' => 'export',
                                             'uname'   => $uname,
                                             'udom'    => $udom,
                     'usymb'   => $f{$_})).
                 '<br>'.$f{$_}.'<br>';
      }
           }
       } keys %f;
   
       &setconstants($safeeval,%c);
   }
   
 # ------------------------------------------------ Load data for one assessment  # ------------------------------------------------ Load data for one assessment
   
 sub rowaassess {  sub rowaassess {
Line 758  sub rowaassess { Line 793  sub rowaassess {
   
 # ----------------------------------------------------------- Get stored values  # ----------------------------------------------------------- Get stored values
     my $answer=&Apache::lonnet::reply(      my $answer=&Apache::lonnet::reply(
        "restore:$udom:$uname:$namespace:$symb",$uhome);         "restore:$udom:$uname:".
          &Apache::lonnet::escape($namespace).":".
          &Apache::lonnet::escape($symb),$uhome);
     my %returnhash=();      my %returnhash=();
     map {      map {
  my ($name,$value)=split(/\=/,$_);   my ($name,$value)=split(/\=/,$_);
Line 808  sub rowaassess { Line 845  sub rowaassess {
       map {        map {
          my ($name,$value)=split(/\=/,$_);           my ($name,$value)=split(/\=/,$_);
          $useropt{&Apache::lonnet::unescape($name)}=           $useropt{&Apache::lonnet::unescape($name)}=
                   &Apache::lonnet::unescape($value);            &Apache::lonnet::unescape($value);
       } split(/\&/,$userrdatas{$uname.'___'.$udom});        } split(/\&/,$userrdatas{$uname.'___'.$udom});
    }     }
 # -- now courseopt, useropt initialized for this user and course (used parmval)  # -- now courseopt, useropt initialized for this user and course (used parmval)
Line 821  sub rowaassess { Line 858  sub rowaassess {
         if ($f{$_}=~/^parameter/) {          if ($f{$_}=~/^parameter/) {
           $c{$_}=&parmval($f{$_},$symb);            $c{$_}=&parmval($f{$_},$symb);
        } else {         } else {
            $c{$_}=$returnhash{$f{$_}};    my $key=$f{$_};
                     $key=~s/^stores\_/resource\./;
                     $key=~s/\_/\./;
              $c{$_}=$returnhash{$key};
        }         }
    }     }
         }          }
Line 897  sub handler { Line 937  sub handler {
     }      }
 # ----------------------------------------------------------- Change of target?  # ----------------------------------------------------------- Change of target?
   
     my $reroute=($ENV{'utarget'} eq 'export');      my $reroute=($ENV{'form.utarget'} eq 'export');
   
 # ------------------------------------------------------------------- Open page  # ------------------------------------------------------------------- Open page
   
Line 985  ENDSCRIPT Line 1025  ENDSCRIPT
   
     if (&gettype($sheetone) eq 'assesscalc') {      if (&gettype($sheetone) eq 'assesscalc') {
  &rowaassess($sheetone,$ENV{'form.usymb'});   &rowaassess($sheetone,$ENV{'form.usymb'});
       } elsif  (&gettype($sheetone) eq 'studentcalc') {
    &rowazstudent($sheetone);
     }      }
     &calcsheet($sheetone);      &calcsheet($sheetone);
   

Removed from v.1.14  
changed lines
  Added in v.1.16


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