--- loncom/interface/lonparmset.pm 2001/03/21 01:45:01 1.25 +++ loncom/interface/lonparmset.pm 2001/05/10 01:06:06 1.29 @@ -11,7 +11,7 @@ # # 11/20,11/21,11/22,11/23,11/24,11/25,11/27,11/28, # 12/08,12/12, -# 16/01/01,02/08,03/20 Gerd Kortemeyer +# 16/01/01,02/08,03/20,03/23,03/24,03/26,05/09 Gerd Kortemeyer package Apache::lonparmset; @@ -36,6 +36,7 @@ my %keyp; my %defp; my %allkeys; +my %allmaps; my $uname; my $udom; @@ -183,6 +184,23 @@ sub handler { $udom=$ENV{'form.udom'}; unless ($udom) { $udom=$r->dir_config('lonDefDomain'); } + my $pscat=$ENV{'form.pscat'}; + my $pschp=$ENV{'form.pschp'}; + my $pssymb=''; + +# ----------------------------------------------- Was this started from grades? + + if (($ENV{'form.command'} eq 'set') && ($ENV{'form.url'}) + && (!$ENV{'form.dis'})) { + my $url=$ENV{'form.url'}; + $url=~s-^http://($ENV{'SERVER_NAME'}|$ENV{'HTTP_HOST'})--; + $pssymb=&Apache::lonnet::symbread($url); + $pscat='all'; + $pschp=''; + } else { + $ENV{'form.url'}=''; + } + my $id=$ENV{'form.id'}; if (($id) && ($udom)) { $uname=(&Apache::lonnet::idget($udom,$id))[1]; @@ -235,8 +253,9 @@ sub handler { $ENV{'request.course.fn'}.'_parms.db',&GDBM_READER,0640))) { # --------------------------------------------------------- Get all assessments - %allkeys=(); - %defp=(); + undef %allkeys; + undef %allmaps; + undef %defp; map { if ($_=~/^src\_(\d+)\.(\d+)$/) { my $mapid=$1; @@ -273,6 +292,7 @@ sub handler { &Apache::lonnet::metadata($srcf,'keys')); $mapp{$id}= &Apache::lonnet::declutter($bighash{'map_id_'.$mapid}); + $allmaps{$mapid}=$mapp{$id}; $symbp{$id}=$mapp{$id}. '___'.$resid.'___'. &Apache::lonnet::declutter($srcf); @@ -395,10 +415,11 @@ sub handler { if ($fcat eq '') { $a<=>$b; } else { - $outpar[&parmval($fcat,$a,$defp{$a})]<=> - $outpar[&parmval($fcat,$b,$defp{$b})]; + 1*$outpar[&parmval($fcat,$a,$defp{$a})]<=> + 1*$outpar[&parmval($fcat,$b,$defp{$b})]; } - } @ids; + } @ids; + # ------------------------------------------------------------------ Start page $r->content_type('text/html'); $r->send_http_header; @@ -430,6 +451,7 @@ sub handler { document.parmform.action+='#'+document.parmform.pres_marker.value; var typedef=new Array(); typedef=document.parmform.pres_type.value.split('_'); + if (document.parmform.pres_type.value!='') { if (typedef[0]=='date') { eval('document.parmform.recent_'+ document.parmform.pres_type.value+ @@ -438,6 +460,7 @@ sub handler { eval('document.parmform.recent_'+typedef[0]+ '.value=document.parmform.pres_value.value;'); } + } document.parmform.submit(); } else { document.parmform.pres_value.value=''; @@ -462,27 +485,52 @@ or ID at Domain - - + ENDHEAD + if ($ENV{'form.url'}) { + $r->print(''); + } map { $r->print(''); } ('tolerance','date_default','date_start','date_end','date_interval', 'int','float','string'); - $r->print('

'.$message.'

Sort list by '); - $r->print(''); $r->print(''); map { $r->print(''); } keys %allkeys; - $r->print(''); + $r->print( + 'Select Enclosing MapSelect Parameter
' + ); + if (($pscat) || ($pschp) || ($pssymb)) { # ----------------------------------------------------------------- Start Table + my $catmarker='parameter_'.$pscat; + $catmarker=~s/\./\_/g; my $coursespan=$csec?8:5; $r->print(< @@ -516,6 +564,11 @@ ENDTABLEHEADFOUR my $defbgone=''; my $defbgtwo=''; map { + my $rid=$_; + my ($inmapid)=($rid=~/\.(\d+)$/); + if (($pschp eq 'all') || ($allmaps{$pschp} eq $mapp{$rid}) || + ($pssymb eq $mapp{$rid}.'___'.$inmapid.'___'. + &Apache::lonnet::declutter($bighash{'src_'.$rid}))) { # ------------------------------------------------------ Entry for one resource if ($defbgone eq '"E0E099"') { $defbgone='"E0E0DD"'; @@ -528,7 +581,6 @@ ENDTABLEHEADFOUR $defbgtwo='"FFFF99"'; } @outpar=(); - my $rid=$_; my $thistitle=''; my %name= (); my %part= (); @@ -551,6 +603,7 @@ ENDTABLEHEADFOUR my $totalparms=scalar keys %name; my $isdef=1; unless ($totalparms) { $totalparms=1; $isdef=0; } + if ($pscat ne 'all') { $totalparms=1; } $r->print(''); if ($isdef) { map { + if (($_ eq $catmarker) || ($pscat eq 'all')) { my $result=&parmval($part{$_}.'.'.$name{$_},$rid,$default{$_}); $r->print(""); + } } sort keys %name; } else { - $r->print("\n"); + $r->print("\n"); } # -------------------------------------------------- End entry for one resource + } } @ids; - $r->print('
'. join(' / ',split(/\//,$uri)). @@ -567,6 +620,7 @@ ENDTABLEHEADFOUR join(' / ',split(/\//,$mapp{$rid})).'\n
'); + $r->print(''); + } + $r->print(''); untie(%bighash); untie(%parmhash); }