version 1.23, 2001/01/01 16:16:08
|
version 1.24, 2001/01/01 19:28:37
|
Line 496 sub exportrow {
|
Line 496 sub exportrow {
|
sub rown { |
sub rown { |
my ($safeeval,$n)=@_; |
my ($safeeval,$n)=@_; |
my $defaultbg; |
my $defaultbg; |
|
my $rowdata=''; |
unless ($n eq '-') { |
unless ($n eq '-') { |
$defaultbg=((($n-1)/5)==int(($n-1)/5))?'#E0E0':'#FFFF'; |
$defaultbg=((($n-1)/5)==int(($n-1)/5))?'#E0E0':'#FFFF'; |
} else { |
} else { |
$defaultbg='#E0FF'; |
$defaultbg='#E0FF'; |
} |
} |
my $rowdata="\n<tr><td><b><font size=+1>$n</font></b></td>"; |
if ((($n-1)/25)==int(($n-1)/25)) { |
|
my $what='Student'; |
|
if (&gettype($safeeval) eq 'assesscalc') { |
|
$what='Item'; |
|
} elsif (&gettype($safeeval) eq 'studentcalc') { |
|
$what='Assessment'; |
|
} |
|
$rowdata.="</table>\n<br><table border=2>". |
|
'<tr><td> <td>'.$what.'</td>'; |
|
map { |
|
$rowdata.='<td>'.$_.'</td>'; |
|
} ('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', |
|
'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'); |
|
$rowdata.='</tr>'; |
|
} |
|
$rowdata.="\n<tr><td><b><font size=+1>$n</font></b></td>"; |
my $showf=0; |
my $showf=0; |
my $proc; |
my $proc; |
my $maxred; |
my $maxred; |
Line 537 sub rown {
|
Line 555 sub rown {
|
# ------------------------------------------------------------- Print out sheet |
# ------------------------------------------------------------- Print out sheet |
|
|
sub outsheet { |
sub outsheet { |
my $safeeval=shift; |
my ($r,$safeeval)=@_; |
my $maxred; |
my $maxred; |
my $realm; |
my $realm; |
if (&gettype($safeeval) eq 'assesscalc') { |
if (&gettype($safeeval) eq 'assesscalc') { |
Line 551 sub outsheet {
|
Line 569 sub outsheet {
|
$realm='Course'; |
$realm='Course'; |
} |
} |
my $maxyellow=52-$maxred; |
my $maxyellow=52-$maxred; |
my $tabledata='<table border=2><tr><th colspan=2 rowspan=2><font size=+2>'. |
my $tabledata= |
|
'<table border=2><tr><th colspan=2 rowspan=2><font size=+2>'. |
$realm.'</font></th>'. |
$realm.'</font></th>'. |
'<td bgcolor=#FFDDDD colspan='.$maxred. |
'<td bgcolor=#FFDDDD colspan='.$maxred. |
'><b><font size=+1>Import</font></b></td>'. |
'><b><font size=+1>Import</font></b></td>'. |
Line 574 sub outsheet {
|
Line 593 sub outsheet {
|
my $row; |
my $row; |
my $maxrow=&getmaxrow($safeeval); |
my $maxrow=&getmaxrow($safeeval); |
$tabledata.=&rown($safeeval,'-'); |
$tabledata.=&rown($safeeval,'-'); |
|
$r->print($tabledata); |
for ($row=0;$row<=$maxrow;$row++) { |
for ($row=0;$row<=$maxrow;$row++) { |
$tabledata.=&rown($safeeval,$row); |
$r->print(&rown($safeeval,$row)); |
} |
} |
$tabledata.='</table>'; |
$r->print('</table>'); |
} |
} |
|
|
|
|
Line 818 sub updatestudentrows {
|
Line 838 sub updatestudentrows {
|
unless ($classlst=~/^error\:/) { |
unless ($classlst=~/^error\:/) { |
map { |
map { |
my ($name,$value)=split(/\=/,$_); |
my ($name,$value)=split(/\=/,$_); |
my ($end,$start)=split(/\_/,&Apache::lonnet::unescape($value)); |
my ($end,$start)=split(/\:/,&Apache::lonnet::unescape($value)); |
my $active=1; |
my $active=1; |
if (($end) && ($now>$end)) { $active=0; } |
if (($end) && ($now>$end)) { $active=0; } |
if ($active) { |
if ($active) { |
$currentlist{&Apache::lonnet::unescape($name)}=1; |
my $rowlabel=''; |
|
$name=&Apache::lonnet::unescape($name); |
|
my ($cname,$cdom)=split(/\:/,$name); |
|
my $csec= |
|
&Apache::lonnet::usection($cdom,$cname,$ENV{'request.course.id'}); |
|
if ($csec==-1) { |
|
$rowlabel='<font color=red>Data not available: '.$name. |
|
'</font>'; |
|
} else { |
|
my %reply=&Apache::lonnet::idrget($cdom,$cname); |
|
my $reply=&Apache::lonnet::reply('get:'.$cdom.':'.$cname. |
|
':environment:firstname&middlename&lastname&generation', |
|
&Apache::lonnet::homeserver($cname,$cdom)); |
|
$rowlabel=$csec.' '.$reply{$cname}.'<br>'; |
|
map { |
|
$rowlabel.=&Apache::lonnet::unescape($_).' '; |
|
} split(/\&/,$reply); |
|
} |
|
|
|
$currentlist{&Apache::lonnet::unescape($name)}=$rowlabel; |
} |
} |
} split(/\&/,$classlst); |
} split(/\&/,$classlst); |
# |
# |
Line 854 sub updatestudentrows {
|
Line 893 sub updatestudentrows {
|
$maxrow++; |
$maxrow++; |
$f{'A'.$maxrow}=$_; |
$f{'A'.$maxrow}=$_; |
} |
} |
} keys %currentlist; |
} sort keys %currentlist; |
|
|
if ($changed) { &setformulas($safeeval,%f); } |
if ($changed) { &setformulas($safeeval,%f); } |
|
|
Line 963 sub updaterows {
|
Line 1002 sub updaterows {
|
} |
} |
} |
} |
|
|
# --------------------------------------------------- Load data for one student |
# ------------------------------------------------ Load data for one assessment |
|
|
sub rowazstudent { |
sub rowazstudent { |
my $safeeval=shift; |
my $safeeval=shift; |
Line 975 sub rowazstudent {
|
Line 1014 sub rowazstudent {
|
unless ($f{$_}=~/^\!/) { |
unless ($f{$_}=~/^\!/) { |
my @assessdata=split(/\_\_\_\;\_\_\_/, |
my @assessdata=split(/\_\_\_\;\_\_\_/, |
&Apache::lonnet::ssi( |
&Apache::lonnet::ssi( |
'/res/msu/korte/junk.assesscalc',('utarget' => 'export', |
'/adm/assesscalc',('utarget' => 'export', |
'uname' => $uname, |
'uname' => $uname, |
'udom' => $udom, |
'udom' => $udom, |
'usymb' => $f{$_}))); |
'usymb' => $f{$_}))); |
Line 997 sub rowazstudent {
|
Line 1036 sub rowazstudent {
|
&setconstants($safeeval,%c); |
&setconstants($safeeval,%c); |
} |
} |
|
|
|
# --------------------------------------------------- Load data for one student |
|
|
|
sub rowazclass { |
|
my $safeeval=shift; |
|
my %c=(); |
|
my %f=&getformulas($safeeval); |
|
map { |
|
if ($_=~/^A(\d+)/) { |
|
my $row=$1; |
|
unless ($f{$_}=~/^\!/) { |
|
my ($tname,$tdom)=split(/\:/,$_); |
|
my @assessdata=split(/\_\_\_\;\_\_\_/, |
|
&Apache::lonnet::ssi( |
|
'/adm/studentcalc',('utarget' => 'export', |
|
'uname' => $tname, |
|
'udom' => $tdom, |
|
'usymb' => $f{$_}))); |
|
my $index=0; |
|
map { |
|
if ($assessdata[$index]) { |
|
$c{$_.$row}=$assessdata[$index]; |
|
unless ($_ eq 'A') { |
|
$f{$_.$row}='import'; |
|
} |
|
} |
|
$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; |
|
&setformulas($safeeval,%f); |
|
&setconstants($safeeval,%c); |
|
} |
|
|
# ------------------------------------------------ Load data for one assessment |
# ------------------------------------------------ Load data for one assessment |
|
|
sub rowaassess { |
sub rowaassess { |
Line 1189 ENDSCRIPT
|
Line 1263 ENDSCRIPT
|
&hiddenfield('unewfield',''). |
&hiddenfield('unewfield',''). |
&hiddenfield('unewformula','')); |
&hiddenfield('unewformula','')); |
} |
} |
|
$r->rflush(); |
# ---------------------------------------- Read new sheet or modified worksheet |
# ---------------------------------------- Read new sheet or modified worksheet |
|
|
my $sheetone=initsheet(); |
my $sheetone=initsheet(); |
Line 1286 ENDSCRIPT
|
Line 1360 ENDSCRIPT
|
|
|
# ------------------------------------------------------- Print or export sheet |
# ------------------------------------------------------- Print or export sheet |
unless ($reroute) { |
unless ($reroute) { |
$r->print(&outsheet($sheetone)); |
&outsheet($r,$sheetone); |
|
|
$r->print('</form></body></html>'); |
$r->print('</form></body></html>'); |
} else { |
} else { |