--- 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);
}