Diff for /loncom/interface/spreadsheet/Spreadsheet.pm between versions 1.74 and 1.82

version 1.74, 2007/01/23 01:36:26 version 1.82, 2013/08/09 17:58:15
Line 210  sub make_default { Line 210  sub make_default {
             {'spreadsheet_default_'.$self->{'type'} => $self->filename()},              {'spreadsheet_default_'.$self->{'type'} => $self->filename()},
                                      $self->{'cdom'},$self->{'cnum'});                                       $self->{'cdom'},$self->{'cnum'});
     return $result if ($result ne 'ok');      return $result if ($result ne 'ok');
     &Apache::lonnet::appenv('course.'.$self->{'cid'}.'.spreadsheet_default_'.      &Apache::lonnet::appenv({'course.'.$self->{'cid'}.'.spreadsheet_default_'.
     $self->{'type'} => $self->filename());      $self->{'type'} => $self->filename()});
     my $symb = $self->{'symb'};      my $symb = $self->{'symb'};
     $symb = '' if (! defined($symb));      $symb = '' if (! defined($symb));
     &Apache::lonnet::expirespread('','',$self->{'type'},$symb);          &Apache::lonnet::expirespread('','',$self->{'type'},$symb);    
Line 675  sub MAXPARM { Line 675  sub MAXPARM {
     return $max;      return $max;
 }  }
   
   
   =pod
   
   =item PARM(parametername)
   
   Returns the value of the parameter matching the input parameter name.
   parametername should be a string such as 'parameter_1_opendate'.
   
   =cut
   
   #-------------------------------------------------------
   sub PARM {
       return $c{$_[0]};
   }
   
 #-------------------------------------------------------  #-------------------------------------------------------
   
 =pod  =pod
Line 711  sub get_values { Line 726  sub get_values {
  my @num=($ld..$ud);   my @num=($ld..$ud);
  foreach my $a (@alpha) {   foreach my $a (@alpha) {
     foreach my $n (@num) {      foreach my $n (@num) {
  if (exists($sheet_values{$a.$n})) {   if ((exists($sheet_values{$a.$n})) && ($sheet_values{$a.$n} ne '')) {
     push(@values,$sheet_values{$a.$n});      push(@values,$sheet_values{$a.$n});
  }   }
     }      }
Line 727  sub get_values { Line 742  sub get_values {
         $alpha=qq/[$la-$ua]/;          $alpha=qq/[$la-$ua]/;
     }      }
     my $expression = '^'.$alpha.$num.'$';      my $expression = '^'.$alpha.$num.'$';
     foreach (grep /$expression/,keys(%sheet_values)) {      foreach my $item (grep(/$expression/,keys(%sheet_values))) {
  push(@values,$sheet_values{$_});          unless ($sheet_values{$item} eq '') {
       push(@values,$sheet_values{$item});
           }
     }      }
     return \@values;      return \@values;
 }  }
Line 813  sub expandnamed { Line 830  sub expandnamed {
  foreach my $varname ( @vars ) {   foreach my $varname ( @vars ) {
             if ($varname=~/^(parameter|stores|timestamp)/) {              if ($varname=~/^(parameter|stores|timestamp)/) {
                 $formula=~s/$varname/'$c{\''.$varname.'\'}'/ge;                  $formula=~s/$varname/'$c{\''.$varname.'\'}'/ge;
                $varname=~s/$var/\([\\w:\\- ]\+\)/g;   $varname=~s/$var/\([\\w:\\- ]\+\)/g;
        foreach (keys(%{$self->{'constants'}})) {   foreach (keys(%{$self->{'constants'}})) {
   if ($_=~/$varname/) {      if ($_=~/$varname/) {
       $values{$1}=1;   $values{$1}=1;
                   }      }
                }   }
     }      }
         }          }
         if ($func eq 'EXPANDSUM') {          if ($func eq 'EXPANDSUM') {
Line 1510  sub outsheet_csv   { Line 1527  sub outsheet_csv   {
     my $csvdata = '';      my $csvdata = '';
     my @Values;      my @Values;
     #      #
     # Open the csv file      # Open the CSV file
     my $filename = '/prtspool/'.      my $filename = '/prtspool/'.
         $env{'user.name'}.'_'.$env{'user.domain'}.'_'.          $env{'user.name'}.'_'.$env{'user.domain'}.'_'.
         time.'_'.rand(1000000000).'.csv';          time.'_'.rand(1000000000).'.csv';
     my $file;      my $file;
     unless ($file = Apache::File->new('>'.'/home/httpd'.$filename)) {      unless ($file = Apache::File->new('>'.'/home/httpd'.$filename)) {
         $r->log_error("Couldn't open $filename for output $!");          $r->log_error("Couldn't open $filename for output $!");
         $r->print(&mt("Problems occured in writing the csv file.  ".          $r->print(
                   "This error has been logged.  ".              '<p class="LC_error">'
                   "Please alert your LON-CAPA administrator."));             .&mt('Problems occurred in writing the CSV file.')
              .' '.&mt('This error has been logged.')
              .' '.&mt('Please alert your LON-CAPA administrator.')
              .'</p>'
           );
         $r->print("<pre>\n".$csvdata."</pre>\n");          $r->print("<pre>\n".$csvdata."</pre>\n");
         return 0;          return 0;
     }      }
Line 1532  sub outsheet_csv   { Line 1553  sub outsheet_csv   {
     # Output the body of the spreadsheet      # Output the body of the spreadsheet
     $self->csv_rows($connection,$file);      $self->csv_rows($connection,$file);
     #      #
     # Close the csv file      # Close the CSV file
     close($file);      close($file);
     $r->print('<br /><br />'.      $r->print('<br /><br />'.
               '<a href="'.$filename.'">'.&mt('Your CSV spreadsheet.').'</a>'."\n");                '<a href="'.$filename.'">'.&mt('Your CSV spreadsheet.').'</a>'."\n");
Line 1794  sub save { Line 1815  sub save {
                                 {'spreadsheet_default_'.$stype => $filename },                                  {'spreadsheet_default_'.$stype => $filename },
                                           $cdom,$cnum);                                            $cdom,$cnum);
             return $reply if ($reply ne 'ok');              return $reply if ($reply ne 'ok');
     &Apache::lonnet::appenv('course.'.$self->{'cid'}.'.spreadsheet_default_'.      &Apache::lonnet::appenv({'course.'.$self->{'cid'}.'.spreadsheet_default_'.
     $self->{'type'} => $self->filename());      $self->{'type'} => $self->filename()});
         }           } 
         if ($self->is_default()) {   if ($self->{'type'} eq 'studentcalc') {
             if ($self->{'type'} eq 'studentcalc') {      &Apache::lonnet::expirespread('','','studentcalc','');
                 &Apache::lonnet::expirespread('','','studentcalc','');   } elsif ($self->{'type'} eq 'assesscalc') {
             } elsif ($self->{'type'} eq 'assesscalc') {      &Apache::lonnet::expirespread('','','assesscalc','');
                 &Apache::lonnet::expirespread('','','assesscalc','');      &Apache::lonnet::expirespread('','','studentcalc','');
                 &Apache::lonnet::expirespread('','','studentcalc','');  
             }  
         }          }
         return $reply;          return $reply;
     }      }

Removed from v.1.74  
changed lines
  Added in v.1.82


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