version 1.55, 2001/07/20 02:05:33
|
version 1.57, 2001/07/21 23:55:31
|
Line 6
|
Line 6
|
# 01/01/01,02/01,03/01,19/01,20/01,22/01, |
# 01/01/01,02/01,03/01,19/01,20/01,22/01, |
# 03/05,03/08,03/10,03/12,03/13,03/15,03/17, |
# 03/05,03/08,03/10,03/12,03/13,03/15,03/17, |
# 03/19,03/20,03/21,03/27,04/05,04/09, |
# 03/19,03/20,03/21,03/27,04/05,04/09, |
# 07/09,07/14 Gerd Kortemeyer |
# 07/09,07/14,07/21 Gerd Kortemeyer |
|
|
package Apache::lonspreadsheet; |
package Apache::lonspreadsheet; |
|
|
Line 87 undef %c;
|
Line 87 undef %c;
|
undef %rl; |
undef %rl; |
undef @os; |
undef @os; |
|
|
undef $nfield; |
|
undef $nsheet; |
|
|
|
$maxrow=0; |
$maxrow=0; |
$sheettype=''; |
$sheettype=''; |
|
|
Line 404 sub outrowassess {
|
Line 401 sub outrowassess {
|
my @cols=(); |
my @cols=(); |
if ($n) { |
if ($n) { |
my ($usy,$ufn)=split(/\_\_\&\&\&\_\_/,$f{'A'.$n}); |
my ($usy,$ufn)=split(/\_\_\&\&\&\_\_/,$f{'A'.$n}); |
$cols[0]=$rl{$f{'A'.$n}}.'<br>'. |
$cols[0]=$f{'A'.$n}.'<br>'.$rl{$usy}.'<br>'. |
'<select name="sel_'.$n.'" onChange="changesheet('.$n. |
'<select name="sel_'.$n.'" onChange="changesheet('.$n. |
')"><option name="default">Default</option>'; |
')"><option name="default">Default</option>'; |
map { |
map { |
Line 532 sub getmaxrow {
|
Line 529 sub getmaxrow {
|
my $safeeval=shift; |
my $safeeval=shift; |
return $safeeval->reval('$maxrow'); |
return $safeeval->reval('$maxrow'); |
} |
} |
# -------------------------------------------- Store which sheet needs changing |
|
|
|
sub changesheet { |
|
my ($safeeval,$nfield,$nsheet)=@_; |
|
$safeeval->reval('$nfield='.$nfield.'; $nsheet='.$nsheet.';'); |
|
} |
|
|
|
# ---------------------------------------------------------------- Set filename |
# ---------------------------------------------------------------- Set filename |
|
|
Line 893 sub writesheet {
|
Line 884 sub writesheet {
|
# ----------------------------------------------------------------- Write sheet |
# ----------------------------------------------------------------- Write sheet |
my $sheetdata=''; |
my $sheetdata=''; |
map { |
map { |
|
unless ($f{$_} eq 'import') { |
$sheetdata.=&Apache::lonnet::escape($_).'='. |
$sheetdata.=&Apache::lonnet::escape($_).'='. |
&Apache::lonnet::escape($f{$_}).'&'; |
&Apache::lonnet::escape($f{$_}).'&'; |
|
} |
} keys %f; |
} keys %f; |
$sheetdata=~s/\&$//; |
$sheetdata=~s/\&$//; |
my $reply=&Apache::lonnet::reply('put:'.$cdom.':'.$cnum.':'.$fn.':'. |
my $reply=&Apache::lonnet::reply('put:'.$cdom.':'.$cnum.':'.$fn.':'. |
Line 962 sub tmpread {
|
Line 955 sub tmpread {
|
} |
} |
} |
} |
if ($nform eq 'changesheet') { |
if ($nform eq 'changesheet') { |
|
$fo{'A'.$nfield}=(split(/\_\_\&\&\&\_\_/,$fo{'A'.$nfield}))[0]; |
unless ($ENV{'form.sel_'.$nfield} eq 'Default') { |
unless ($ENV{'form.sel_'.$nfield} eq 'Default') { |
&changesheet($safeeval,$nfield,$ENV{'form.sel_'.$nfield}); |
$fo{'A'.$nfield}.='__&&&__'.$ENV{'form.sel_'.$nfield}; |
} |
} |
} else { |
} else { |
if ($nfield) { $fo{$nfield}=$nform; } |
if ($nfield) { $fo{$nfield}=$nform; } |
Line 1235 sub updatestudentassesssheet {
|
Line 1229 sub updatestudentassesssheet {
|
map { |
map { |
if ($_=~/^A(\d+)/) { |
if ($_=~/^A(\d+)/) { |
$maxrow=($1>$maxrow)?$1:$maxrow; |
$maxrow=($1>$maxrow)?$1:$maxrow; |
$existing{$f{$_}}=1; |
my ($usy,$ufn)=split(/\_\_\&\&\&\_\_/,$f{$_}); |
unless ((defined($current{$f{$_}})) || (!$1)) { |
$existing{$usy}=1; |
|
unless ((defined($current{$usy})) || (!$1)) { |
$f{$_}='!!! Obsolete'; |
$f{$_}='!!! Obsolete'; |
$changed=1; |
$changed=1; |
|
} elsif ($ufn) { |
|
$current{$usy} |
|
=~s/assesscalc\?usymb\=/assesscalc\?ufn\=$ufn\&usymb\=/; |
} |
} |
} |
} |
} keys %f; |
} keys %f; |
Line 1953 ENDSCRIPT
|
Line 1951 ENDSCRIPT
|
} |
} |
} |
} |
|
|
# ---------------------------------------------------- See if something to save |
|
|
|
if (&Apache::lonnet::allowed('opa',$ENV{'request.course.id'})) { |
|
my $fname=''; |
|
if ($ENV{'form.saveas'} && ($fname=$ENV{'form.newfn'})) { |
|
$fname=~s/\W/\_/g; |
|
if ($fname eq 'default') { $fname='course_default'; } |
|
$fname.='_'.&gettype($asheet); |
|
&setfilename($asheet,$fname); |
|
$ENV{'form.ufn'}=$fname; |
|
$r->print('<p>Saving spreadsheet: '. |
|
&writesheet($asheet,$ENV{'form.makedefufn'}).'<p>'); |
|
} |
|
} |
|
|
|
# ------------------------------------------------ Write the modified worksheet |
|
|
|
$r->print('<b>Current sheet:</b> '.&getfilename($asheet).'<p>'); |
|
|
|
&tmpwrite($asheet); |
|
|
|
# ---------------------------------------------------------- Additional options |
# ---------------------------------------------------------- Additional options |
|
|
$r->print( |
$r->print( |
Line 2062 ENDSCRIPT
|
Line 2039 ENDSCRIPT
|
my $calcoutput=&calcsheet($asheet); |
my $calcoutput=&calcsheet($asheet); |
$r->print('<h3><font color=red>'.$calcoutput.'</h3></font>'); |
$r->print('<h3><font color=red>'.$calcoutput.'</h3></font>'); |
|
|
|
# ---------------------------------------------------- See if something to save |
|
|
|
if (&Apache::lonnet::allowed('opa',$ENV{'request.course.id'})) { |
|
my $fname=''; |
|
if ($ENV{'form.saveas'} && ($fname=$ENV{'form.newfn'})) { |
|
$fname=~s/\W/\_/g; |
|
if ($fname eq 'default') { $fname='course_default'; } |
|
$fname.='_'.&gettype($asheet); |
|
&setfilename($asheet,$fname); |
|
$ENV{'form.ufn'}=$fname; |
|
$r->print('<p>Saving spreadsheet: '. |
|
&writesheet($asheet,$ENV{'form.makedefufn'}).'<p>'); |
|
} |
|
} |
|
|
|
# ------------------------------------------------ Write the modified worksheet |
|
|
|
$r->print('<b>Current sheet:</b> '.&getfilename($asheet).'<p>'); |
|
|
|
&tmpwrite($asheet); |
|
|
|
# ------------------------------------------------------------- Print out sheet |
|
|
&outsheet($r,$asheet); |
&outsheet($r,$asheet); |
$r->print('</form></body></html>'); |
$r->print('</form></body></html>'); |
|
|