--- loncom/interface/Attic/lonspreadsheet.pm 2000/12/16 21:34:47 1.16 +++ loncom/interface/Attic/lonspreadsheet.pm 2000/12/18 13:45:40 1.17 @@ -2,7 +2,7 @@ # Spreadsheet/Grades Display Handler # # 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 Gerd Kortemeyer +# 12/08,12/09,12/11,12/12,12/15,12/16,12/18 Gerd Kortemeyer package Apache::lonspreadsheet; @@ -279,6 +279,9 @@ sub sett { } } } keys %f; + $t{'A0'}=$f{'A0'}; + $t{'A0'}=~s/\.\.+/\,/g; + $t{'A0'}=~s/(^|[^\"\'])([A-Za-z]\d+)/$1\$v\{\'$2\'\}/g; } sub calc { @@ -454,7 +457,7 @@ sub rown { if ($showf==0) { $vl=$_; } if ($showf<=1) { $bgcolor='#FFDDDD'; } if (($n==0) && ($showf<=26)) { $bgcolor='#CCCCFF'; } - if ($showf>1) { + if (($showf>1) || ((!$n) && ($showf>0))) { if ($vl eq '') { $vl='#'; } @@ -734,7 +737,7 @@ sub updaterows { if ($_=~/^A(\d+)/) { $maxrow=($1>$maxrow)?$1:$maxrow; $existing{$f{$_}}=1; - unless (defined($current{$f{$_}})) { + unless ((defined($current{$f{$_}})) || (!$1)) { $f{$_}='!!! Obsolete'; $changed=1; } @@ -768,14 +771,23 @@ sub rowazstudent { my %c=(); my %f=&getformulas($safeeval); map { - if ($_=~/^A/) { + if ($_=~/^A(\d+)/) { + my $row=$1; unless ($f{$_}=~/^\!/) { - print &Apache::lonnet::ssi( + my @assessdata=split(/\,/, + &Apache::lonnet::ssi( '/res/msu/korte/junk.assesscalc',('utarget' => 'export', 'uname' => $uname, 'udom' => $udom, - 'usymb' => $f{$_})). - '
'.$f{$_}.'
'; + 'usymb' => $f{$_}))); + my $index=0; + map { + $c{$_.$row}=$assessdata[$index]; + print $_.':'.$c{$_.$row}.'
'; + $index++; + } ('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'); + } } } keys %f; @@ -915,6 +927,7 @@ sub handler { ($ENV{'request.state'} eq 'construct')) { # --------------------------- Get query string for limited number of parameters + map { my ($name, $value) = split(/=/,$_); $value =~ tr/+/ /; @@ -981,12 +994,12 @@ ENDSCRIPT $ENV{'form.unewformula'}=~s/\'/\"/g; $r->print('New formula: '.$ENV{'form.unewfield'}.'='. $ENV{'form.unewformula'}.'
'); - &tmpread($sheetone,$r->dir_config('lonDaemons').'/tmp/', - $ENV{'form.usymb'}, - $ENV{'form.unewfield'},$ENV{'form.unewformula'}); &setfilename($sheetone,$r->filename); $r->filename=~/\.(\w+)/; &settype($sheetone,$1); + &tmpread($sheetone,$r->dir_config('lonDaemons').'/tmp/', + $ENV{'form.usymb'}, + $ENV{'form.unewfield'},$ENV{'form.unewformula'}); } else { &readsheet($sheetone,$r->filename); }