--- loncom/interface/Attic/lonspreadsheet.pm 2003/03/03 22:00:03 1.173 +++ loncom/interface/Attic/lonspreadsheet.pm 2003/03/11 15:00:47 1.177 @@ -1,5 +1,5 @@ # -# $Id: lonspreadsheet.pm,v 1.173 2003/03/03 22:00:03 albertel Exp $ +# $Id: lonspreadsheet.pm,v 1.177 2003/03/11 15:00:47 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -183,10 +183,7 @@ sub handler { # Header.... # $r->print('<html><head><title>LON-CAPA Spreadsheet</title>'); - my $nothing = "''"; - if ($ENV{'browser.type'} eq 'explorer') { - $nothing = "'javascript:void(0);'"; - } + my $nothing = &Apache::lonhtmlcommon::javascript_nothing(); if ($ENV{'request.role'} !~ /^st\./) { $r->print(<<ENDSCRIPT); @@ -722,8 +719,27 @@ sub parmval { # second, check map parms my $thisparm = $parmhash{$symbparm}; return $thisparm if (defined($thisparm)); + # first, check default - return &Apache::lonnet::metadata($fn,$rwhat.'.default'); + $thisparm = &Apache::lonnet::metadata($fn,$rwhat.'.default'); + return $thisparm if (defined($thisparm)); + + #Cascade Up + my $space=$what; + $space=~s/\.\w+$//; + if ($space ne '0') { + my @parts=split(/_/,$space); + my $id=pop(@parts); + my $part=join('_',@parts); + if ($part eq '') { $part='0'; } + my $newwhat=$rwhat; + $newwhat=~s/\Q$space\E/$part/; + my $partgeneral=&parmval($newwhat,$symb,$uname,$udom,$csec); + if (defined($partgeneral)) { return $partgeneral; } + } + + #nothing defined + return ''; } # @@ -1507,7 +1523,7 @@ sub expandnamed { foreach my $varname ( @vars ) { if ($varname=~/\D/) { $formula=~s/$varname/'$c{\''.$varname.'\'}'/ge; - $varname=~s/$var/\(\\w\+\)/g; + $varname=~s/$var/\([\\w:\\- ]\+\)/g; foreach (keys(%{$self->{'constants'}})) { if ($_=~/$varname/) { $values{$1}=1;