version 1.171, 2003/02/13 22:52:48
|
version 1.175, 2003/03/07 23:32:05
|
Line 722 sub parmval {
|
Line 722 sub parmval {
|
# second, check map parms |
# second, check map parms |
my $thisparm = $parmhash{$symbparm}; |
my $thisparm = $parmhash{$symbparm}; |
return $thisparm if (defined($thisparm)); |
return $thisparm if (defined($thisparm)); |
|
|
# first, check default |
# 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 ''; |
} |
} |
|
|
# |
# |
Line 1507 sub expandnamed {
|
Line 1526 sub expandnamed {
|
foreach my $varname ( @vars ) { |
foreach my $varname ( @vars ) { |
if ($varname=~/\D/) { |
if ($varname=~/\D/) { |
$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; |
Line 3185 sub loadstudent{
|
Line 3204 sub loadstudent{
|
$self->constants(\%constants); |
$self->constants(\%constants); |
} |
} |
|
|
# --------------------------------------------------- Load data for one student |
# --------------------------------------------------- Load Course Sheet |
# |
# |
sub loadcourse { |
sub loadcourse { |
my $self = shift; |
my $self = shift; |
Line 3198 sub loadcourse {
|
Line 3217 sub loadcourse {
|
foreach ($self->rows()) { |
foreach ($self->rows()) { |
$total++ if ($formulas{'A'.$_} !~ /^[!~-]/); |
$total++ if ($formulas{'A'.$_} !~ /^[!~-]/); |
} |
} |
my $now=0; |
|
my $since=time; |
my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r, |
$r->print(<<ENDPOP); |
'Spreadsheet Status','Spreadsheet Calculation Progress', $total); |
<script> |
&Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state, |
popwin=open('','popwin','width=400,height=100'); |
'Processing Course Assessment Data'); |
popwin.document.writeln('<html><body bgcolor="#FFFFFF">'+ |
|
'<h3>Spreadsheet Calculation Progress</h3>'+ |
|
'<form name=popremain>'+ |
|
'<input type=text size=45 name=remaining value=Starting></form>'+ |
|
'</body></html>'); |
|
popwin.document.close(); |
|
</script> |
|
ENDPOP |
|
$r->rflush(); |
|
# It would be nice to load in the classlist and assessment info at this |
# It would be nice to load in the classlist and assessment info at this |
# point, before attacking the student spreadsheets. |
# point, before attacking the student spreadsheets. |
foreach my $row ($self->rows()) { |
foreach my $row ($self->rows()) { |
Line 3225 ENDPOP
|
Line 3236 ENDPOP
|
my @studentdata=$self->exportsheet($sname,$sdom,'studentcalc', |
my @studentdata=$self->exportsheet($sname,$sdom,'studentcalc', |
undef,undef,$r); |
undef,undef,$r); |
undef %userrdatas; |
undef %userrdatas; |
$now++; |
&Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state, |
$r->print('<script>popwin.document.popremain.remaining.value="'. |
'last student'); |
$now.'/'.$total.': '.int((time-$since)/$now*($total-$now)). |
|
' secs remaining '.(time-$started).' last";</script>'); |
|
$r->rflush(); |
|
# |
|
my $index=0; |
my $index=0; |
foreach ('A','B','C','D','E','F','G','H','I','J','K','L','M', |
foreach ('A','B','C','D','E','F','G','H','I','J','K','L','M', |
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z') { |
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z') { |
Line 3250 ENDPOP
|
Line 3257 ENDPOP
|
} |
} |
$self->formulas(\%formulas); |
$self->formulas(\%formulas); |
$self->constants(\%constants); |
$self->constants(\%constants); |
$r->print('<script>popwin.close()</script>'); |
&Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); |
$r->rflush(); |
|
} |
} |
|
|
# ------------------------------------------------ Load data for one assessment |
# ------------------------------------------------ Load data for one assessment |