Diff for /loncom/interface/spreadsheet/assesscalc.pm between versions 1.43 and 1.44

version 1.43, 2005/05/15 02:28:23 version 1.44, 2005/05/15 02:40:26
Line 301  this user and course. Line 301  this user and course.
 ##################################################  ##################################################
 sub parmval {  sub parmval {
     my $self = shift;      my $self = shift;
     my ($what,$symb,$uname,$udom,$csec,$recurse)=@_;      my ($what,$symb,$uname,$udom,$csec,$recurse,$mapname,$id,$fn)=@_;
     $uname = $self->{'name'}    if (! defined($uname));      $uname = $self->{'name'}    if (! defined($uname));
     $udom  = $self->{'domain'}  if (! defined($udom));      $udom  = $self->{'domain'}  if (! defined($udom));
     $csec  = $self->{'section'} if (! defined($csec));      $csec  = $self->{'section'} if (! defined($csec));
Line 310  sub parmval { Line 310  sub parmval {
     my $result='';      my $result='';
     #      #
     # This should be a       # This should be a 
     my ($mapname,$id,$fn)=&Apache::lonnet::decode_symb($symb);      if (!defined($mapname) || !defined($id) || !defined($fn)) {
    ($mapname,$id,$fn)=&Apache::lonnet::decode_symb($symb);
       }
     # Cascading lookup scheme      # Cascading lookup scheme
     my $rwhat=$what;      my $rwhat=$what;
     $what =~ s/^parameter\_//;      $what =~ s/^parameter\_//;
Line 367  sub parmval { Line 369  sub parmval {
  if ($part eq '') { $part='0'; }   if ($part eq '') { $part='0'; }
  my $newwhat=$rwhat;   my $newwhat=$rwhat;
  $newwhat=~s/\Q$space\E/$part/;   $newwhat=~s/\Q$space\E/$part/;
  my $partgeneral=$self->parmval($newwhat,$symb,$uname,$udom,$csec,1);   my $partgeneral=$self->parmval($newwhat,$symb,$uname,$udom,$csec,1,
          $mapname,$id,$fn);
  if (defined($partgeneral)) { return $partgeneral; }   if (defined($partgeneral)) { return $partgeneral; }
     }      }
     if ($recurse) { return undef; }      if ($recurse) { return undef; }
Line 627  sub get_parameter_values { Line 630  sub get_parameter_values {
     my $filename = $self->{'coursefilename'}.'_parms.db';      my $filename = $self->{'coursefilename'}.'_parms.db';
     if (tie(%parmhash,'GDBM_File',      if (tie(%parmhash,'GDBM_File',
             $self->{'coursefilename'}.'_parms.db',&GDBM_READER(),0640)) {              $self->{'coursefilename'}.'_parms.db',&GDBM_READER(),0640)) {
    my ($mapname,$id,$fn)=&Apache::lonnet::decode_symb($self->{'symb'});
         foreach my $parmname (@Parameters) {          foreach my $parmname (@Parameters) {
             my $value = $self->parmval($parmname);              my $value = $self->parmval($parmname,$self->{'name'},$self->{'domain'},$self->{'section'},$self->{'symb'},undef,$mapname,$id,$fn);
             $parameters{$parmname} =$value;              $parameters{$parmname} =$value;
         }          }
         untie(%parmhash);          untie(%parmhash);

Removed from v.1.43  
changed lines
  Added in v.1.44


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