--- loncom/interface/lonparmset.pm 2000/11/25 19:57:17 1.12 +++ loncom/interface/lonparmset.pm 2000/11/27 16:08:55 1.15 @@ -9,7 +9,7 @@ # # 10/11,10/12,10/16 Gerd Kortemeyer) # -# 11/20,11/21,11/22,11/23,11/24,11/25 Gerd Kortemeyer +# 11/20,11/21,11/22,11/23,11/24,11/25,11/27 Gerd Kortemeyer package Apache::lonparmset; @@ -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,6 +228,82 @@ sub handler { (tie(%parmhash,'GDBM_File', $ENV{'request.course.fn'}.'_parms.db',&GDBM_READER,0640))) { +# --------------------------------------------------------- Get all assessments + map { + if ($_=~/^src\_(\d+)\.(\d+)$/) { + my $mapid=$1; + my $resid=$2; + my $id=$mapid.'.'.$resid; + if ($bighash{$_}=~/\.(problem|exam|quiz|assess|survey|form)$/) { + $ids[$#ids+1]=$id; + $typep{$id}=$1; + $mapp{$id}= + &Apache::lonnet::declutter($bighash{'map_id_'.$mapid}); + $symbp{$id}=$mapp{$id}. + '___'.$resid.'___'. + &Apache::lonnet::declutter($bighash{$_}); + } + } + } keys %bighash; +# ---------------------------------------------------------- Anything to store? + if ($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'}.':'. @@ -236,7 +312,8 @@ sub handler { if ($reply!~/^error\:/) { map { my ($name,$value)=split(/\=/,$_); - $courseopt{unescape($name)}=unescape($value); + $courseopt{&Apache::lonnet::unescape($name)}= + &Apache::lonnet::unescape($value); } split(/\&/,$reply); } # --------------------------------------------------- Get userdata (if present) @@ -246,27 +323,12 @@ sub handler { if ($reply!~/^error\:/) { map { my ($name,$value)=split(/\=/,$_); - $useropt{unescape($name)}=unescape($value); + $useropt{&Apache::lonnet::unescape($name)}= + &Apache::lonnet::unescape($value); } split(/\&/,$reply); } } -# --------------------------------------------------------- Get all assessments - map { - if ($_=~/^src\_(\d+)\.(\d+)$/) { - my $mapid=$1; - my $resid=$2; - my $id=$mapid.'.'.$resid; - if ($bighash{$_}=~/\.(problem|exam|quiz|assess|survey|form)$/) { - $ids[$#ids+1]=$id; - $typep{$id}=$1; - $mapp{$id}= - &Apache::lonnet::declutter($bighash{'map_id_'.$mapid}); - $symbp{$id}=$mapp{$id}. - '___'.$resid.'___'. - &Apache::lonnet::declutter($bighash{$_}); - } - } - } keys %bighash; + # ------------------------------------------------------------------- Sort this @ids=sort bycat @ids; # ------------------------------------------------------------------ Start page @@ -277,6 +339,7 @@ sub handler { LON-CAPA Assessment Parameters @@ -309,6 +385,9 @@ at Domain + + + ENDHEAD $r->print($message.'

Sort list by '); @@ -399,32 +478,46 @@ ENDTABLEHEADFOUR $r->print("$part{$_}$display{$_}"); my $mprefix=$rid.'&'.$_.'&'; + $r->print(''. &valout($outpar[11],$type{$_}).''); $r->print(''. &valout($outpar[10],$type{$_}).''); + $r->print(''. - &plink($type{$_},$display{$_},$outpar[9],$mprefix.'9').''); + &plink($type{$_},$display{$_},$outpar[9],$mprefix.'9', + 'parmform.pres','psub').''); $r->print(''. - &plink($type{$_},$display{$_},$outpar[8],$mprefix.'8').''); + &plink($type{$_},$display{$_},$outpar[8],$mprefix.'8', + 'parmform.pres','psub').''); $r->print(''. - &plink($type{$_},$display{$_},$outpar[7],$mprefix.'7').''); + &plink($type{$_},$display{$_},$outpar[7],$mprefix.'7', + 'parmform.pres','psub').''); + if ($csec) { $r->print(''. - &plink($type{$_},$display{$_},$outpar[6],$mprefix.'6').''); + &plink($type{$_},$display{$_},$outpar[6],$mprefix.'6', + 'parmform.pres','psub').''); $r->print(''. - &plink($type{$_},$display{$_},$outpar[5],$mprefix.'5').''); + &plink($type{$_},$display{$_},$outpar[5],$mprefix.'5', + 'parmform.pres','psub').''); $r->print(''. - &plink($type{$_},$display{$_},$outpar[4],$mprefix.'4').''); + &plink($type{$_},$display{$_},$outpar[4],$mprefix.'4', + 'parmform.pres','psub').''); } + if ($uname) { $r->print(''. - &plink($type{$_},$display{$_},$outpar[3],$mprefix.'3').''); + &plink($type{$_},$display{$_},$outpar[3],$mprefix.'3', + 'parmform.pres','psub').''); $r->print(''. - &plink($type{$_},$display{$_},$outpar[2],$mprefix.'2').''); + &plink($type{$_},$display{$_},$outpar[2],$mprefix.'2', + 'parmform.pres','psub').''); $r->print(''. - &plink($type{$_},$display{$_},$outpar[1],$mprefix.'1').''); + &plink($type{$_},$display{$_},$outpar[1],$mprefix.'1', + 'parmform.pres','psub').''); } + $r->print(''.&valout($outpar[$result],$type{$_}).''); $r->print("\n"); } sort keys %name;