Diff for /loncom/interface/Attic/lonspreadsheet.pm between versions 1.31 and 1.34

version 1.31, 2001/01/02 22:58:46 version 1.34, 2001/01/20 01:07:03
Line 3 Line 3
 #  #
 # 11/11,11/15,11/27,12/04,12/05,12/06,12/07,  # 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,12/18,12/19,12/30,  # 12/08,12/09,12/11,12/12,12/15,12/16,12/18,12/19,12/30,
 # 01/01/01,02/01 Gerd Kortemeyer  # 01/01/01,02/01,03/01,19/01 Gerd Kortemeyer
   
 package Apache::lonspreadsheet;  package Apache::lonspreadsheet;
   
Line 20  use HTML::TokeParser; Line 20  use HTML::TokeParser;
 # These cache hashes need to be independent of user, resource and course  # These cache hashes need to be independent of user, resource and course
 # (user and course can/should be in the keys)  # (user and course can/should be in the keys)
 #  #
 use vars qw(%spreadsheets %courserdatas %userrdatas %defaultsheets);  
   my %spreadsheets;
   my %courserdatas;
   my %userrdatas;
   my %defaultsheets;
   
 #  #
 # These global hashes are dependent on user, course and resource,   # These global hashes are dependent on user, course and resource, 
Line 423  ENDDEFS Line 427  ENDDEFS
 # ------------------------------------------------ Add or change formula values  # ------------------------------------------------ Add or change formula values
   
 sub setformulas {  sub setformulas {
     my ($safeeval,@f)=@_;      my ($safeeval,%f)=@_;
     $safeeval->reval('%f='."('".join("','",@f)."');");      %{$safeeval->varglob('f')}=%f;
 }  }
   
 # ------------------------------------------------ Add or change formula values  # ------------------------------------------------ Add or change formula values
   
 sub setconstants {  sub setconstants {
     my ($safeeval,@c)=@_;      my ($safeeval,%c)=@_;
     $safeeval->reval('%c='."('".join("','",@c)."');");      %{$safeeval->varglob('c')}=%c;
 }  }
   
 # ------------------------------------------------ Add or change formula values  # ------------------------------------------------ Add or change formula values
   
 sub setrowlabels {  sub setrowlabels {
     my ($safeeval,@rl)=@_;      my ($safeeval,%rl)=@_;
     $safeeval->reval('%rl='."('".join("','",@rl)."');");      %{$safeeval->varglob('rl')}=%rl;
 }  }
   
 # ------------------------------------------------------- Calculate spreadsheet  # ------------------------------------------------------- Calculate spreadsheet
Line 459  sub getvalues { Line 463  sub getvalues {
   
 sub getformulas {  sub getformulas {
     my $safeeval=shift;      my $safeeval=shift;
     return $safeeval->reval('%f');      return %{$safeeval->varglob('f')};
 }  }
   
 # -------------------------------------------------------------------- Get type  # -------------------------------------------------------------------- Get type
Line 1191  sub loadcourse { Line 1195  sub loadcourse {
    my $row=$1;     my $row=$1;
            unless (($f{$_}=~/^\!/)             unless (($f{$_}=~/^\!/)
   
 || ($row>25))  || ($row>200))
   
  {   {
       my @studentdata=&exportsheet(&getuname($safeeval),        my @studentdata=&exportsheet(&getuname($safeeval),
                                            &getudom($safeeval),                                             &getudom($safeeval),
                                            'studentcalc');                                             'studentcalc');
                 undef %userrdatas; 
               my $index=0;                my $index=0;
               map {                map {
                   if ($studentdata[$index]) {                    if ($studentdata[$index]) {
Line 1260  sub loadassessment { Line 1265  sub loadassessment {
     unless ($uhome eq 'no_host') {       unless ($uhome eq 'no_host') { 
 # -------------------------------------------------------------- Get coursedata  # -------------------------------------------------------------- Get coursedata
       unless        unless
         ((time-$courserdatas{$cid.'.last_cache'})<120) {          ((time-$courserdatas{$cid.'.last_cache'})<240) {
          my $reply=&Apache::lonnet::reply('dump:'.$cdom.':'.$cnum.           my $reply=&Apache::lonnet::reply('dump:'.$cdom.':'.$cnum.
               ':resourcedata',$chome);                ':resourcedata',$chome);
          if ($reply!~/^error\:/) {           if ($reply!~/^error\:/) {
Line 1275  sub loadassessment { Line 1280  sub loadassessment {
       } split(/\&/,$courserdatas{$ENV{'request.course.id'}});        } split(/\&/,$courserdatas{$ENV{'request.course.id'}});
 # --------------------------------------------------- Get userdata (if present)  # --------------------------------------------------- Get userdata (if present)
       unless        unless
         ((time-$userrdatas{$uname.'___'.$udom.'.last_cache'})<120) {          ((time-$userrdatas{$uname.'___'.$udom.'.last_cache'})<240) {
          my $reply=           my $reply=
        &Apache::lonnet::reply('dump:'.$udom.':'.$uname.':resourcedata',$uhome);         &Apache::lonnet::reply('dump:'.$udom.':'.$uname.':resourcedata',$uhome);
          if ($reply!~/^error\:/) {           if ($reply!~/^error\:/) {
Line 1571  ENDSCRIPT Line 1576  ENDSCRIPT
     &outsheet($r,$asheet);      &outsheet($r,$asheet);
     $r->print('</form></body></html>');      $r->print('</form></body></html>');
   
   # --------------------------------- We know this leaks, so terminate this child
   
       $r->child_terminate();
   
 # ------------------------------------------------------------------------ Done  # ------------------------------------------------------------------------ Done
   } else {    } else {

Removed from v.1.31  
changed lines
  Added in v.1.34


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