--- loncom/interface/lonparmset.pm 2000/11/27 12:14:32 1.13 +++ loncom/interface/lonparmset.pm 2000/11/27 16:08:55 1.15 @@ -53,13 +53,13 @@ sub parmval { my $seclevel= $ENV{'request.course.id'}.'.['. - $ENV{'request.course.sec'}.'].'.$what; + $csec.'].'.$what; my $seclevelr= $ENV{'request.course.id'}.'.['. - $ENV{'request.course.sec'}.'].'.$symbparm; + $csec.'].'.$symbparm; my $seclevelm= $ENV{'request.course.id'}.'.['. - $ENV{'request.course.sec'}.'].'.$mapparm; + $csec.'].'.$mapparm; my $courselevel= $ENV{'request.course.id'}.'.'.$what; @@ -228,28 +228,6 @@ sub handler { (tie(%parmhash,'GDBM_File', $ENV{'request.course.fn'}.'_parms.db',&GDBM_READER,0640))) { -# -------------------------------------------------------------- Get coursedata - my $reply=&Apache::lonnet::reply('dump:'. - $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.':'. - $ENV{'course.'.$ENV{'request.course.id'}.'.num'}.':resourcedata', - $ENV{'course.'.$ENV{'request.course.id'}.'.home'}); - if ($reply!~/^error\:/) { - map { - my ($name,$value)=split(/\=/,$_); - $courseopt{unescape($name)}=unescape($value); - } split(/\&/,$reply); - } -# --------------------------------------------------- Get userdata (if present) - if ($uname) { - my $reply= - &Apache::lonnet::reply('dump:'.$udom.':'.$uname.':resourcedata',$uhome); - if ($reply!~/^error\:/) { - map { - my ($name,$value)=split(/\=/,$_); - $useropt{unescape($name)}=unescape($value); - } split(/\&/,$reply); - } - } # --------------------------------------------------------- Get all assessments map { if ($_=~/^src\_(\d+)\.(\d+)$/) { @@ -269,8 +247,88 @@ sub handler { } keys %bighash; # ---------------------------------------------------------- Anything to store? if ($ENV{'form.pres_marker'}) { - $message.="

Storing $ENV{'form.pres.value'} type $ENV{'form.pres_type'} under $ENV{'form.pres_marker'}

"; + my ($sresid,$spnam,$snum)=split(/\&/,$ENV{'form.pres_marker'}); + $spnam=~s/\_/\./; +# ---------------------------------------------------------- Construct prefixes + + my $symbparm=$symbp{$sresid}.'.'.$spnam; + my $mapparm=$mapp{$sresid}.'___(all).'.$spnam; + + my $seclevel= + $ENV{'request.course.id'}.'.['. + $csec.'].'.$spnam; + my $seclevelr= + $ENV{'request.course.id'}.'.['. + $csec.'].'.$symbparm; + my $seclevelm= + $ENV{'request.course.id'}.'.['. + $csec.'].'.$mapparm; + + my $courselevel= + $ENV{'request.course.id'}.'.'.$spnam; + my $courselevelr= + $ENV{'request.course.id'}.'.'.$symbparm; + my $courselevelm= + $ENV{'request.course.id'}.'.'.$mapparm; + + my $storeunder=''; + if (($snum==9) || ($snum==3)) { $storeunder=$courselevel; } + if (($snum==8) || ($snum==2)) { $storeunder=$courselevelm; } + if (($snum==7) || ($snum==1)) { $storeunder=$courselevelr; } + if ($snum==6) { $storeunder=$seclevel; } + if ($snum==5) { $storeunder=$seclevelm; } + if ($snum==4) { $storeunder=$seclevelr; } + $storeunder=&Apache::lonnet::escape($storeunder); + + my $storecontent= + $storeunder.'='.&Apache::lonnet::escape($ENV{'form.pres_value'}).'&'. + $storeunder.'.type='.&Apache::lonnet::escape($ENV{'form.pres_type'}); + + my $reply=''; + if ($snum>3) { +# ---------------------------------------------------------------- Store Course + $reply=&Apache::lonnet::critical('put:'. + $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.':'. + $ENV{'course.'.$ENV{'request.course.id'}.'.num'}.':resourcedata:'. + $storecontent, + $ENV{'course.'.$ENV{'request.course.id'}.'.home'}); + } else { +# ------------------------------------------------------------------ Store User + $reply= + &Apache::lonnet::critical('put:'.$udom.':'.$uname.':resourcedata:'. + $storecontent,$uhome); + } + + if ($reply=~/^error\:(.*)/) { + $message.="

Write Error: $1

"; + } +# ---------------------------------------------------------------- Done storing + } +# -------------------------------------------------------------- Get coursedata + my $reply=&Apache::lonnet::reply('dump:'. + $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.':'. + $ENV{'course.'.$ENV{'request.course.id'}.'.num'}.':resourcedata', + $ENV{'course.'.$ENV{'request.course.id'}.'.home'}); + if ($reply!~/^error\:/) { + map { + my ($name,$value)=split(/\=/,$_); + $courseopt{&Apache::lonnet::unescape($name)}= + &Apache::lonnet::unescape($value); + } split(/\&/,$reply); + } +# --------------------------------------------------- Get userdata (if present) + if ($uname) { + my $reply= + &Apache::lonnet::reply('dump:'.$udom.':'.$uname.':resourcedata',$uhome); + if ($reply!~/^error\:/) { + map { + my ($name,$value)=split(/\=/,$_); + $useropt{&Apache::lonnet::unescape($name)}= + &Apache::lonnet::unescape($value); + } split(/\&/,$reply); + } } + # ------------------------------------------------------------------- Sort this @ids=sort bycat @ids; # ------------------------------------------------------------------ Start page