[LON-CAPA-cvs] cvs: loncom /interface lonparmset.pm

albertel lon-capa-cvs@mail.lon-capa.org
Tue, 12 Feb 2002 00:14:07 -0000


This is a MIME encoded message

--albertel1013472847
Content-Type: text/plain

albertel		Mon Feb 11 19:14:07 2002 EDT

  Modified files:              
    /loncom/interface	lonparmset.pm 
  Log:
  - at least everything has a consistant tab style now
  
  
--albertel1013472847
Content-Type: text/plain
Content-Disposition: attachment; filename="albertel-20020211191407.txt"

Index: loncom/interface/lonparmset.pm
diff -u loncom/interface/lonparmset.pm:1.42 loncom/interface/lonparmset.pm:1.43
--- loncom/interface/lonparmset.pm:1.42	Thu Dec 27 12:00:30 2001
+++ loncom/interface/lonparmset.pm	Mon Feb 11 19:14:07 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Handler to set parameters for assessments
 #
-# $Id: lonparmset.pm,v 1.42 2001/12/27 17:00:30 www Exp $
+# $Id: lonparmset.pm,v 1.43 2002/02/12 00:14:07 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -66,10 +66,6 @@
 my %mapp;
 my %typep;
 my %keyp;
-my %defp;
-
-my %allkeys;
-my %allmaps;
 
 my $uname;
 my $udom;
@@ -87,76 +83,78 @@
     @outpar=();
 # ----------------------------------------------------- Cascading lookup scheme
 
-       my $symbparm=$symbp{$id}.'.'.$what;
-       my $mapparm=$mapp{$id}.'___(all).'.$what;
+    my $symbparm=$symbp{$id}.'.'.$what;
+    my $mapparm=$mapp{$id}.'___(all).'.$what;
 
-       my $seclevel=
-            $ENV{'request.course.id'}.'.['.
-		$csec.'].'.$what;
-       my $seclevelr=
-            $ENV{'request.course.id'}.'.['.
-		$csec.'].'.$symbparm;
-       my $seclevelm=
-            $ENV{'request.course.id'}.'.['.
-		$csec.'].'.$mapparm;
-
-       my $courselevel=
-            $ENV{'request.course.id'}.'.'.$what;
-       my $courselevelr=
-            $ENV{'request.course.id'}.'.'.$symbparm;
-       my $courselevelm=
-            $ENV{'request.course.id'}.'.'.$mapparm;
+    my $seclevel=$ENV{'request.course.id'}.'.['.$csec.'].'.$what;
+    my $seclevelr=$ENV{'request.course.id'}.'.['.$csec.'].'.$symbparm;
+    my $seclevelm=$ENV{'request.course.id'}.'.['.$csec.'].'.$mapparm;
+
+    my $courselevel=$ENV{'request.course.id'}.'.'.$what;
+    my $courselevelr=$ENV{'request.course.id'}.'.'.$symbparm;
+    my $courselevelm=$ENV{'request.course.id'}.'.'.$mapparm;
 
 # -------------------------------------------------------- first, check default
 
-       if ($def) { $outpar[11]=$def;
-                   $result=11; }
+    if ($def) { $outpar[11]=$def; $result=11; }
 
 # ----------------------------------------------------- second, check map parms
 
-       my $thisparm=$parmhash{$symbparm};
-       if ($thisparm) { $outpar[10]=$thisparm;  
-                        $result=10; }
+    my $thisparm=$parmhash{$symbparm};
+    if ($thisparm) { $outpar[10]=$thisparm; $result=10; }
 
 # --------------------------------------------------------- third, check course
 
-       if ($courseopt{$courselevel}) { $outpar[9]=$courseopt{$courselevel};  
-                                       $result=9; }
+    if ($courseopt{$courselevel}) {
+	$outpar[9]=$courseopt{$courselevel};
+	$result=9;
+    }
 
-       if ($courseopt{$courselevelm}) { $outpar[8]=$courseopt{$courselevelm}; 
-                                        $result=8; }
+    if ($courseopt{$courselevelm}) {
+	$outpar[8]=$courseopt{$courselevelm};
+	$result=8;
+    }
 
-       if ($courseopt{$courselevelr}) { $outpar[7]=$courseopt{$courselevelr}; 
-                                        $result=7; }
+    if ($courseopt{$courselevelr}) {
+	$outpar[7]=$courseopt{$courselevelr};
+	$result=7;
+    }
 
-       if ($csec) {
-
-        if ($courseopt{$seclevel}) { $outpar[6]=$courseopt{$seclevel};  
-                                    $result=6; }
-
-        if ($courseopt{$seclevelm}) { $outpar[5]=$courseopt{$seclevelm};  
-                                     $result=5; }  
- 
-        if ($courseopt{$seclevelr}) { $outpar[4]=$courseopt{$seclevelr};  
-                                     $result=4; }
-  
-      }
+    if ($csec) {
+        if ($courseopt{$seclevel}) {
+	    $outpar[6]=$courseopt{$seclevel};
+	    $result=6;
+	}
+        if ($courseopt{$seclevelm}) {
+	    $outpar[5]=$courseopt{$seclevelm};
+	    $result=5;
+	}
+
+        if ($courseopt{$seclevelr}) {
+	    $outpar[4]=$courseopt{$seclevelr};
+	    $result=4;
+	}
+    }
 
 # ---------------------------------------------------------- fourth, check user
-      
-      if ($uname) { 
 
-       if ($useropt{$courselevel}) { $outpar[3]=$useropt{$courselevel};  
-                                     $result=3; }
+    if ($uname) {
+	if ($useropt{$courselevel}) {
+	    $outpar[3]=$useropt{$courselevel};
+	    $result=3;
+	}
 
-       if ($useropt{$courselevelm}) { $outpar[2]=$useropt{$courselevelm}; 
-                                      $result=2; }
+	if ($useropt{$courselevelm}) {
+	    $outpar[2]=$useropt{$courselevelm};
+	    $result=2;
+	}
 
-       if ($useropt{$courselevelr}) { $outpar[1]=$useropt{$courselevelr}; 
-                                      $result=1; }
+	if ($useropt{$courselevelr}) {
+	    $outpar[1]=$useropt{$courselevelr};
+	    $result=1;
+	}
+    }
 
-      }
-     
     return $result;
 }
 
@@ -164,8 +162,7 @@
 
 sub valout {
     my ($value,$type)=@_;
-    return
-	($value?(($type=~/^date/)?localtime($value):$value):'  ');
+    return ($value?(($type=~/^date/)?localtime($value):$value):'  ');
 }
 
 # -------------------------------------------------------- Produces link anchor
@@ -181,273 +178,264 @@
         }
     }
     return 
-      '<a href="javascript:pjump('."'".$type."','".$dis."','".$winvalue."','"
-      .$marker."','".$return."','".$call."'".');">'.
-      &valout($value,$type).'</a><a name="'.$marker.'"></a>';
+	'<a href="javascript:pjump('."'".$type."','".$dis."','".$winvalue."','"
+	    .$marker."','".$return."','".$call."'".');">'.
+		&valout($value,$type).'</a><a name="'.$marker.'"></a>';
 }
 
 sub assessparms {
 
-      my $r=shift;
+    my $r=shift;
 # -------------------------------------------------------- Variable declaration
-
-      %courseopt=();
-      %useropt=();
-      %bighash=();
-
-      @ids=();
-      %symbp=();
-      %typep=();
-
-      my $message='';
-
-      $csec=$ENV{'form.csec'};
-      $udom=$ENV{'form.udom'};
-      unless ($udom) { $udom=$r->dir_config('lonDefDomain'); }
-
-      my $pscat=$ENV{'form.pscat'};
-      my $pschp=$ENV{'form.pschp'};
-      my $pssymb='';
+    my %allkeys;
+    my %allmaps;
+    my %defp;
+    %courseopt=();
+    %useropt=();
+    %bighash=();
+
+    @ids=();
+    %symbp=();
+    %typep=();
+
+    my $message='';
+
+    $csec=$ENV{'form.csec'};
+    $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='';
-      } elsif ($ENV{'form.symb'}) {
-	  $pssymb=$ENV{'form.symb'};
-	  $pscat='all';
-	  $pschp='';
-      } else {
-          $ENV{'form.url'}='';
-      }
- 
-      my $id=$ENV{'form.id'};
-      if (($id) && ($udom)) {
-          $uname=(&Apache::lonnet::idget($udom,$id))[1];
-          if ($uname) {
-	      $id='';
-          } else {
-              $message=
-     "<font color=red>Unknown ID '$id' at domain '$udom'</font>";
-          }
-      } else {
-          $uname=$ENV{'form.uname'};
-      }
-      unless ($udom) { $uname=''; }
-      $uhome='';
-      if ($uname) {
-	  $uhome=&Apache::lonnet::homeserver($uname,$udom);
-      
-        if ($uhome eq 'no_host') { 
-          $message=
-     "<font color=red>Unknown user '$uname' at domain '$udom'</font>";
-          $uname=''; 
+    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='';
+    } elsif ($ENV{'form.symb'}) {
+	$pssymb=$ENV{'form.symb'};
+	$pscat='all';
+	$pschp='';
+    } else {
+	$ENV{'form.url'}='';
+    }
+
+    my $id=$ENV{'form.id'};
+    if (($id) && ($udom)) {
+	$uname=(&Apache::lonnet::idget($udom,$id))[1];
+	if ($uname) {
+	    $id='';
+	} else {
+	    $message=
+		"<font color=red>Unknown ID '$id' at domain '$udom'</font>";
+	}
+    } else {
+	$uname=$ENV{'form.uname'};
+    }
+    unless ($udom) { $uname=''; }
+    $uhome='';
+    if ($uname) {
+	$uhome=&Apache::lonnet::homeserver($uname,$udom);
+        if ($uhome eq 'no_host') {
+	    $message=
+		"<font color=red>Unknown user '$uname' at domain '$udom'</font>";
+	    $uname='';
         } else {
-          $csec=&Apache::lonnet::usection(
-				       $udom,$uname,$ENV{'request.course.id'});
-          if ($csec eq '-1') {
-             $message="<font color=red>".
-              "User '$uname' at domain '$udom' not in this course</font>";
-              $uname='';
-              $csec=$ENV{'form.csec'};
-	 } else {
-              my %name=&Apache::lonnet::userenvironment($udom,$uname,
-		('firstname','middlename','lastname','generation','id'));
-              $message="\n<p>\nFull Name: ".
-                          $name{'firstname'}.' '.$name{'middlename'}.' '
-	                 .$name{'lastname'}.' '.$name{'generation'}.
-                       "<br>\nID: ".$name{'id'}.'<p>';
-         }
+	    $csec=&Apache::lonnet::usection($udom,$uname,
+					    $ENV{'request.course.id'});
+	    if ($csec eq '-1') {
+		$message="<font color=red>".
+		    "User '$uname' at domain '$udom' not in this course</font>";
+		$uname='';
+		$csec=$ENV{'form.csec'};
+	    } else {
+		my %name=&Apache::lonnet::userenvironment($udom,$uname,
+		      ('firstname','middlename','lastname','generation','id'));
+		$message="\n<p>\nFull Name: ".
+		    $name{'firstname'}.' '.$name{'middlename'}.' '
+			.$name{'lastname'}.' '.$name{'generation'}.
+			    "<br>\nID: ".$name{'id'}.'<p>';
+	    }
         }
-      }
+    }
 
-      unless ($csec) { $csec=''; }
+    unless ($csec) { $csec=''; }
 
-      $fcat=$ENV{'form.fcat'};
-      unless ($fcat) { $fcat=''; }
+    $fcat=$ENV{'form.fcat'};
+    unless ($fcat) { $fcat=''; }
 
 # ------------------------------------------------------------------- Tie hashs
-      if ((tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db',
-                       &GDBM_READER,0640)) &&
-          (tie(%parmhash,'GDBM_File',
-           $ENV{'request.course.fn'}.'_parms.db',&GDBM_READER,0640))) {
+    if ((tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db',
+	     &GDBM_READER,0640)) &&
+	(tie(%parmhash,'GDBM_File',
+	     $ENV{'request.course.fn'}.'_parms.db',&GDBM_READER,0640))) {
 
 # --------------------------------------------------------- Get all assessments
-	undef %allkeys;
-        undef %allmaps;
-        undef %defp;
         foreach (keys %bighash) {
 	    if ($_=~/^src\_(\d+)\.(\d+)$/) {
-	       my $mapid=$1;
-               my $resid=$2;
-               my $id=$mapid.'.'.$resid;
-               my $srcf=$bighash{$_};
-               if ($srcf=~/\.(problem|exam|quiz|assess|survey|form)$/) {
-		   $ids[$#ids+1]=$id;
-                   $typep{$id}=$1;
-                   $keyp{$id}='';
-                   foreach (split(/\,/,
-                            &Apache::lonnet::metadata($srcf,'keys'))) {
-                       if ($_=~/^parameter\_(.*)/) {
-			  my $key=$_;
-                          my $allkey=$1;
-                          $allkey=~s/\_/\./;
-                          my $display=
-			      &Apache::lonnet::metadata($srcf,$key.'.display');
-                          unless ($display) {
-                              $display=
-			         &Apache::lonnet::metadata($srcf,$key.'.name');
-                          }
-                          $allkeys{$allkey}=$display;
-                          if ($allkey eq $fcat) {
-                             $defp{$id}=
-                              &Apache::lonnet::metadata($srcf,$key);
-			  }
-                          if ($keyp{$id}) {
-			      $keyp{$id}.=','.$key;
-                          } else {
-                              $keyp{$id}=$key;
-		          }
-		       }
-                   }
-                   $mapp{$id}=
-		       &Apache::lonnet::declutter($bighash{'map_id_'.$mapid});
-                   $allmaps{$mapid}=$mapp{$id};
-                   $symbp{$id}=$mapp{$id}.
+		my $mapid=$1;
+		my $resid=$2;
+		my $id=$mapid.'.'.$resid;
+		my $srcf=$bighash{$_};
+		if ($srcf=~/\.(problem|exam|quiz|assess|survey|form)$/) {
+		    $ids[$#ids+1]=$id;
+		    $typep{$id}=$1;
+		    $keyp{$id}='';
+		    foreach (split(/\,/,
+				   &Apache::lonnet::metadata($srcf,'keys'))) {
+			if ($_=~/^parameter\_(.*)/) {
+			    my $key=$_;
+			    my $allkey=$1;
+			    $allkey=~s/\_/\./;
+			    my $display=
+				&Apache::lonnet::metadata($srcf,$key.'.display');
+			    unless ($display) {
+				$display=
+				    &Apache::lonnet::metadata($srcf,$key.'.name');
+			    }
+			    $allkeys{$allkey}=$display;
+			    if ($allkey eq $fcat) {
+				$defp{$id}=
+				    &Apache::lonnet::metadata($srcf,$key);
+			    }
+			    if ($keyp{$id}) {
+				$keyp{$id}.=','.$key;
+			    } else {
+				$keyp{$id}=$key;
+			    }
+			}
+		    }
+		    $mapp{$id}=
+			&Apache::lonnet::declutter($bighash{'map_id_'.$mapid});
+		    $allmaps{$mapid}=$mapp{$id};
+		    $symbp{$id}=$mapp{$id}.
 			'___'.$resid.'___'.
 			    &Apache::lonnet::declutter($srcf);
-	       }
+		}
             }
         }
 # ---------------------------------------------------------- Anything to store?
         if ($ENV{'form.pres_marker'}) {
-       my ($sresid,$spnam,$snum)=split(/\&/,$ENV{'form.pres_marker'});
-       $spnam=~s/\_([^\_]+)$/\.$1/;
+	    my ($sresid,$spnam,$snum)=split(/\&/,$ENV{'form.pres_marker'});
+	    $spnam=~s/\_([^\_]+)$/\.$1/;
 # ---------------------------------------------------------- Construct prefixes
 
-       my $symbparm=$symbp{$sresid}.'.'.$spnam;
-       my $mapparm=$mapp{$sresid}.'___(all).'.$spnam;
+	    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 $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) {
+	    my $reply='';
+	    if ($snum>3) {
 # ---------------------------------------------------------------- Store Course
 #
 # Expire sheets
-	    &Apache::lonnet::expirespread('','','studentcalc');
-            if (($snum==7) || ($snum==4)) {
-	     &Apache::lonnet::expirespread('','','assesscalc',$symbp{$sresid});
-            } elsif (($snum==8) || ($snum==5)) {
-	     &Apache::lonnet::expirespread('','','assesscalc',$mapp{$sresid});
-            } else {
-	     &Apache::lonnet::expirespread('','','assesscalc');
-            }
+		&Apache::lonnet::expirespread('','','studentcalc');
+		if (($snum==7) || ($snum==4)) {
+		    &Apache::lonnet::expirespread('','','assesscalc',$symbp{$sresid});
+		} elsif (($snum==8) || ($snum==5)) {
+		    &Apache::lonnet::expirespread('','','assesscalc',$mapp{$sresid});
+		} else {
+		    &Apache::lonnet::expirespread('','','assesscalc');
+		}
 
 # Store parameter
-            $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 {
+		$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
 #
 # Expire sheets
-	    &Apache::lonnet::expirespread($uname,$udom,'studentcalc');
-            if ($snum==1) {
-		&Apache::lonnet::expirespread
-                    ($uname,$udom,'assesscalc',$symbp{$sresid});
-            } elsif ($snum==2) {
-		&Apache::lonnet::expirespread
-                    ($uname,$udom,'assesscalc',$mapp{$sresid});
-            } else {
-		&Apache::lonnet::expirespread($uname,$udom,'assesscalc');
-            }
-                
+		&Apache::lonnet::expirespread($uname,$udom,'studentcalc');
+		if ($snum==1) {
+		    &Apache::lonnet::expirespread
+			($uname,$udom,'assesscalc',$symbp{$sresid});
+		} elsif ($snum==2) {
+		    &Apache::lonnet::expirespread
+			($uname,$udom,'assesscalc',$mapp{$sresid});
+		} else {
+		    &Apache::lonnet::expirespread($uname,$udom,'assesscalc');
+		}
+
 # Store parameter
-            $reply=
-            &Apache::lonnet::critical('put:'.$udom.':'.$uname.':resourcedata:'.
-             $storecontent,$uhome);
+		$reply=
+		    &Apache::lonnet::critical('put:'.$udom.':'.$uname.':resourcedata:'.
+					      $storecontent,$uhome);
            }
 
-         if ($reply=~/^error\:(.*)/) {
-	     $message.="<font color=red>Write Error: $1</font>";
-	 }
+	    if ($reply=~/^error\:(.*)/) {
+		$message.="<font color=red>Write Error: $1</font>";
+	    }
 # ---------------------------------------------------------------- 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'});
+					 $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\:/) {
-           foreach (split(/\&/,$reply)) {
-             my ($name,$value)=split(/\=/,$_);
-             $courseopt{&Apache::lonnet::unescape($name)}=
-                        &Apache::lonnet::unescape($value);  
-           }
+	    foreach (split(/\&/,$reply)) {
+		my ($name,$value)=split(/\=/,$_);
+		$courseopt{&Apache::lonnet::unescape($name)}=
+		    &Apache::lonnet::unescape($value);
+	    }
         }
 # --------------------------------------------------- Get userdata (if present)
         if ($uname) {
-           my $reply=
-       &Apache::lonnet::reply('dump:'.$udom.':'.$uname.':resourcedata',$uhome);
-           if ($reply!~/^error\:/) {
-              foreach (split(/\&/,$reply)) {
-                my ($name,$value)=split(/\=/,$_);
-                $useropt{&Apache::lonnet::unescape($name)}=
-                         &Apache::lonnet::unescape($value);
-              }
-           }
+	    my $reply=
+		&Apache::lonnet::reply('dump:'.$udom.':'.$uname.':resourcedata',$uhome);
+	    if ($reply!~/^error\:/) {
+		foreach (split(/\&/,$reply)) {
+		    my ($name,$value)=split(/\=/,$_);
+		    $useropt{&Apache::lonnet::unescape($name)}=
+			&Apache::lonnet::unescape($value);
+		}
+	    }
         }
 
 # ------------------------------------------------------------------- Sort this
 
-        @ids=sort  {  
-           if ($fcat eq '') {
-              $a<=>$b;
-           } else {
-              1*$outpar[&parmval($fcat,$a,$defp{$a})]<=>
-              1*$outpar[&parmval($fcat,$b,$defp{$b})];
-           } 
-       } @ids;
+        @ids=sort  {
+	    if ($fcat eq '') {
+		$a<=>$b;
+	    } else {
+		1*$outpar[&parmval($fcat,$a,$defp{$a})]<=>
+		    1*$outpar[&parmval($fcat,$b,$defp{$b})];
+	    }
+	} @ids;
 
 # ------------------------------------------------------------------ Start page
-         $r->content_type('text/html');
-         $r->send_http_header;
+	$r->content_type('text/html');
+	$r->send_http_header;
 	$r->print(<<ENDHEAD);
 <html>
 <head>
@@ -519,16 +507,16 @@
 <input type="hidden" value='' name="pres_type">
 <input type="hidden" value='' name="pres_marker"> 
 ENDHEAD
-    if ($ENV{'form.url'}) {
-	$r->print('<input type="hidden" value="'.$ENV{'form.url'}.
-	      '" name="url"><input type="hidden" name="command" value="set">');
-    }
-    foreach ('tolerance','date_default','date_start','date_end',
-             'date_interval','int','float','string') {
-      $r->print('<input type="hidden" value="'.
-          $ENV{'form.recent_'.$_}.'" name="recent_'.$_.'">');
-    }
-
+	if ($ENV{'form.url'}) {
+	    $r->print('<input type="hidden" value="'.$ENV{'form.url'}.
+		      '" name="url"><input type="hidden" name="command" value="set">');
+	}
+	foreach ('tolerance','date_default','date_start','date_end',
+		 'date_interval','int','float','string') {
+	    $r->print('<input type="hidden" value="'.
+		      $ENV{'form.recent_'.$_}.'" name="recent_'.$_.'">');
+	}
+	
         $r->print('<h2>'.$message.'</h2><table><tr><td>Sort list by</td><td>');
 	$r->print('<select name="fcat">');
         $r->print('<option value="">Enclosing Map</option>');
@@ -537,8 +525,7 @@
             if ($fcat eq $_) { $r->print(' selected'); }
             $r->print('>'.$allkeys{$_}.'</option>');
         }
-       $r->print(
-    '</select></tr><tr><td>Select Enclosing Map</td><td><select name=pschp>');
+	$r->print('</select></tr><tr><td>Select Enclosing Map</td><td><select name=pschp>');
         $r->print('<option value=all>All Maps</option>');
         foreach (keys %allmaps) {
 	    $r->print('<option value="'.$_.'"');
@@ -546,198 +533,192 @@
                 ($pschp eq $_)) { $r->print(' selected'); }
             $r->print('>'.$allmaps{$_}.'</option>');
         }
-        $r->print(
- '</select></td></tr><tr><td>Select Parameter</td><td><select name=pscat>');
+        $r->print('</select></td></tr><tr><td>Select Parameter</td><td><select name=pscat>');
         $r->print('<option value=all>All Parameters</option>');
         foreach (reverse sort keys %allkeys) {
 	    $r->print('<option value="'.$_.'"');
             if ($pscat eq $_) { $r->print(' selected'); }
             $r->print('>'.$allkeys{$_}.'</option>');
         }
-        $r->print(
-'</select></td></tr></table><br><input name=dis type="submit" value="Display">'
-                 );
-      if (($pscat) || ($pschp) || ($pssymb)) {
+        $r->print('</select></td></tr></table><br><input name=dis type="submit" value="Display">');
+	if (($pscat) || ($pschp) || ($pssymb)) {
 # ----------------------------------------------------------------- Start Table
-	my $catmarker='parameter_'.$pscat;
-        $catmarker=~s/\./\_/g;
-        my $coursespan=$csec?8:5;
-        my $csuname=$ENV{'user.name'};
-        my $csudom=$ENV{'user.domain'};
-	 $r->print(<<ENDTABLEHEAD);
+	    my $catmarker='parameter_'.$pscat;
+	    $catmarker=~s/\./\_/g;
+	    my $coursespan=$csec?8:5;
+	    my $csuname=$ENV{'user.name'};
+	    my $csudom=$ENV{'user.domain'};
+	    $r->print(<<ENDTABLEHEAD);
 <p><table border=2>
 <tr><td colspan=5></td>
 <th colspan=$coursespan>Any User</th>
 ENDTABLEHEAD
-    if ($uname) {
-	$r->print("<th colspan=3 rowspan=2>User $uname at Domain $udom</th>");
-    }
-    $r->print(<<ENDTABLETWO);
+	    if ($uname) {
+		$r->print("<th colspan=3 rowspan=2>User $uname at Domain $udom</th>");
+	    }
+	    $r->print(<<ENDTABLETWO);
 <th rowspan=3>Parameter in Effect</th>
 <th rowspan=3>Current Session Value<br>($csuname at $csudom)</th>
 </tr><tr><td colspan=5></td>
 <th colspan=2>Resource Level</th>
 <th colspan=3>in Course</th>
 ENDTABLETWO
-    if ($csec) {
-	$r->print("<th colspan=3>in Section/Group $csec</th>");
-    }
-    $r->print(<<ENDTABLEHEADFOUR);
+	    if ($csec) {
+		$r->print("<th colspan=3>in Section/Group $csec</th>");
+	    }
+	    $r->print(<<ENDTABLEHEADFOUR);
 </tr><tr><th>Assessment URL and Title</th><th>Type</th>
 <th>Enclosing Map</th><th>Part No.</th><th>Parameter Name</th>
 <th>default</th><th>from Enclosing Map</th>
 <th>general</th><th>for Enclosing Map</th><th>for Resource</th>
 ENDTABLEHEADFOUR
-    if ($csec) {
-  $r->print('<th>general</th><th>for Enclosing Map</th><th>for Resource</th>');
-    }
-    if ($uname) {
-  $r->print('<th>general</th><th>for Enclosing Map</th><th>for Resource</th>');
-    }
-	$r->print('</tr>');
-         my $defbgone='';
-         my $defbgtwo='';
- 	 foreach (@ids) {
-           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}))) {
+	    if ($csec) {
+		$r->print('<th>general</th><th>for Enclosing Map</th><th>for Resource</th>');
+	    }
+	    if ($uname) {
+		$r->print('<th>general</th><th>for Enclosing Map</th><th>for Resource</th>');
+	    }
+	    $r->print('</tr>');
+	    my $defbgone='';
+	    my $defbgtwo='';
+	    foreach (@ids) {
+		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"';
-             } else {
-                 $defbgone='"E0E099"';
-	     }
-	     if ($defbgtwo eq '"FFFF99"') {
-		 $defbgtwo='"FFFFDD"';
-             } else {
-                 $defbgtwo='"FFFF99"';
-	     }
-	    @outpar=();
-            my $thistitle='';
-            my %name=   ();
-	     undef %name;
-            my %part=   ();
-	    my %display=();
-	    my %type=   ();
-            my %default=();
-            my $uri=&Apache::lonnet::declutter($bighash{'src_'.$rid});
-
-            foreach (split(/\,/,$keyp{$rid})) {
-	     if (($_ eq $catmarker) || ($pscat eq 'all')) {
-		$part{$_}=&Apache::lonnet::metadata($uri,$_.'.part');
-                $name{$_}=&Apache::lonnet::metadata($uri,$_.'.name');
-                $display{$_}=&Apache::lonnet::metadata($uri,$_.'.display');
-                unless ($display{$_}) { $display{$_}=''; }
-                $display{$_}.=' ('.$name{$_}.')';
-                $default{$_}=&Apache::lonnet::metadata($uri,$_);
-                $type{$_}=&Apache::lonnet::metadata($uri,$_.'.type');
-                $thistitle=&Apache::lonnet::metadata($uri,$_.'.title');
-	     }
-            }
-
-	    my $totalparms=scalar keys %name;
-	  if ($totalparms>0) {
-            my $firstrow=1;
-            $r->print('<tr><td bgcolor='.$defbgone.
-                ' rowspan='.$totalparms.'><tt><font size=-1>'.
-                join(' / ',split(/\//,$uri)).
-                '</font></tt><p><b>'.
-                      $bighash{'title_'.$rid});
-            if ($thistitle) {
-		$r->print(' ('.$thistitle.')');
-            }
-            $r->print('</b></td>');
-            $r->print('<td bgcolor='.$defbgtwo.
-                    ' rowspan='.$totalparms.'>'.$typep{$rid}.'</td>');
-            $r->print('<td bgcolor='.$defbgone.
-                    ' rowspan='.$totalparms.'><tt><font size=-1>'.
-		      join(' / ',split(/\//,$mapp{$rid})).'</font></tt></td>');
-            foreach (sort keys %name) {
-	       my $result=&parmval($part{$_}.'.'.$name{$_},$rid,$default{$_});
-               unless ($firstrow) { 
-                  $r->print('<tr>'); 
-               } else {
-		   $firstrow=0;
-               }
-               $r->print("<td bgcolor=".$defbgtwo.
-                  ">$part{$_}</td><td bgcolor=".$defbgone.
-                  ">$display{$_}</td>");
-               my $thismarker=$_;
-               $thismarker=~s/^parameter\_//; 
-               my $mprefix=$rid.'&'.$thismarker.'&';
-
-               $r->print('<td bgcolor='.
-                (($result==11)?'"#AAFFAA"':'#FFDDDD').'>'.
-             &valout($outpar[11],$type{$_}).'</td>');
-               $r->print('<td bgcolor='.
-                (($result==10)?'"#AAFFAA"':'#FFDDDD').'>'.
-             &valout($outpar[10],$type{$_}).'</td>');
-
-               $r->print('<td bgcolor='.
-                (($result==9)?'"#AAFFAA"':$defbgone).'>'.
-             &plink($type{$_},$display{$_},$outpar[9],$mprefix.'9',
-                    'parmform.pres','psub').'</td>');
-               $r->print('<td bgcolor='.
-                (($result==8)?'"#AAFFAA"':$defbgone).'>'.
-             &plink($type{$_},$display{$_},$outpar[8],$mprefix.'8',
-                    'parmform.pres','psub').'</td>');
-               $r->print('<td bgcolor='.
-                (($result==7)?'"#AAFFAA"':$defbgone).'>'.
-             &plink($type{$_},$display{$_},$outpar[7],$mprefix.'7',
-                    'parmform.pres','psub').'</td>');
-
-               if ($csec) {
-                 $r->print('<td bgcolor='.
-                   (($result==6)?'"#AAFFAA"':$defbgtwo).'>'.
-             &plink($type{$_},$display{$_},$outpar[6],$mprefix.'6',
-                    'parmform.pres','psub').'</td>');
-                 $r->print('<td bgcolor='.
-                   (($result==5)?'"#AAFFAA"':$defbgtwo).'>'.
-             &plink($type{$_},$display{$_},$outpar[5],$mprefix.'5',
-                    'parmform.pres','psub').'</td>');
-                 $r->print('<td bgcolor='.
-                    (($result==4)?'"#AAFFAA"':$defbgtwo).'>'.
-             &plink($type{$_},$display{$_},$outpar[4],$mprefix.'4',
-                    'parmform.pres','psub').'</td>');
-               }
-
-               if ($uname) {
-                 $r->print('<td bgcolor='.
-                    (($result==3)?'"#AAFFAA"':$defbgone).'>'.
-             &plink($type{$_},$display{$_},$outpar[3],$mprefix.'3',
-                    'parmform.pres','psub').'</td>');
-                 $r->print('<td bgcolor='.
-                    (($result==2)?'"#AAFFAA"':$defbgone).'>'.
-             &plink($type{$_},$display{$_},$outpar[2],$mprefix.'2',
-                    'parmform.pres','psub').'</td>');
-                 $r->print('<td bgcolor='.
-                   (($result==1)?'"#AAFFAA"':$defbgone).'>'.
-             &plink($type{$_},$display{$_},$outpar[1],$mprefix.'1',
-                    'parmform.pres','psub').'</td>');
-               }
-               $r->print(
-	'<td bgcolor=#CCCCFF>'.&valout($outpar[$result],$type{$_}).'</td>');
-               my $sessionval=&Apache::lonnet::EXT('resource.'.$part{$_}.
-		      '.'.$name{$_},$mapp{$rid}.'___'.$inmapid.'___'.$uri);
-               if (($type{$_}=~/^date/) && ($sessionval))
-                    { $sessionval=localtime($sessionval); }
-               $r->print(
-	'<td bgcolor=#999999><font color=#FFFFFF>'.$sessionval.'&nbsp;'.
-        '</font></td>');
-               $r->print("</tr>");
-	   }
-	}
+		    if ($defbgone eq '"E0E099"') {
+			$defbgone='"E0E0DD"';
+		    } else {
+			$defbgone='"E0E099"';
+		    }
+		    if ($defbgtwo eq '"FFFF99"') {
+			$defbgtwo='"FFFFDD"';
+		    } else {
+			$defbgtwo='"FFFF99"';
+		    }
+		    @outpar=();
+		    my $thistitle='';
+		    my %name=   ();
+		    undef %name;
+		    my %part=   ();
+		    my %display=();
+		    my %type=   ();
+		    my %default=();
+		    my $uri=&Apache::lonnet::declutter($bighash{'src_'.$rid});
+
+		    foreach (split(/\,/,$keyp{$rid})) {
+			if (($_ eq $catmarker) || ($pscat eq 'all')) {
+			    $part{$_}=&Apache::lonnet::metadata($uri,$_.'.part');
+			    $name{$_}=&Apache::lonnet::metadata($uri,$_.'.name');
+			    $display{$_}=&Apache::lonnet::metadata($uri,$_.'.display');
+			    unless ($display{$_}) { $display{$_}=''; }
+			    $display{$_}.=' ('.$name{$_}.')';
+			    $default{$_}=&Apache::lonnet::metadata($uri,$_);
+			    $type{$_}=&Apache::lonnet::metadata($uri,$_.'.type');
+			    $thistitle=&Apache::lonnet::metadata($uri,$_.'.title');
+			}
+		    }
+		    my $totalparms=scalar keys %name;
+		    if ($totalparms>0) {
+			my $firstrow=1;
+			$r->print('<tr><td bgcolor='.$defbgone.
+				  ' rowspan='.$totalparms.'><tt><font size=-1>'.
+				  join(' / ',split(/\//,$uri)).
+				  '</font></tt><p><b>'.
+				  $bighash{'title_'.$rid});
+			if ($thistitle) {
+			    $r->print(' ('.$thistitle.')');
+			}
+			$r->print('</b></td>');
+			$r->print('<td bgcolor='.$defbgtwo.
+				  ' rowspan='.$totalparms.'>'.$typep{$rid}.'</td>');
+			$r->print('<td bgcolor='.$defbgone.
+				  ' rowspan='.$totalparms.'><tt><font size=-1>'.
+				  join(' / ',split(/\//,$mapp{$rid})).'</font></tt></td>');
+			foreach (sort keys %name) {
+			    my $result=&parmval($part{$_}.'.'.$name{$_},$rid,$default{$_});
+			    unless ($firstrow) { 
+				$r->print('<tr>'); 
+			    } else {
+				$firstrow=0;
+			    }
+			    $r->print("<td bgcolor=".$defbgtwo.
+				      ">$part{$_}</td><td bgcolor=".$defbgone.
+				      ">$display{$_}</td>");
+			    my $thismarker=$_;
+			    $thismarker=~s/^parameter\_//; 
+			    my $mprefix=$rid.'&'.$thismarker.'&';
+
+			    $r->print('<td bgcolor='.
+				      (($result==11)?'"#AAFFAA"':'#FFDDDD').'>'.
+				      &valout($outpar[11],$type{$_}).'</td>');
+			    $r->print('<td bgcolor='.
+				      (($result==10)?'"#AAFFAA"':'#FFDDDD').'>'.
+				      &valout($outpar[10],$type{$_}).'</td>');
+			
+			    $r->print('<td bgcolor='.
+				      (($result==9)?'"#AAFFAA"':$defbgone).'>'.
+				      &plink($type{$_},$display{$_},$outpar[9],$mprefix.'9',
+					     'parmform.pres','psub').'</td>');
+			    $r->print('<td bgcolor='.
+				      (($result==8)?'"#AAFFAA"':$defbgone).'>'.
+				      &plink($type{$_},$display{$_},$outpar[8],$mprefix.'8',
+					     'parmform.pres','psub').'</td>');
+			    $r->print('<td bgcolor='.
+				      (($result==7)?'"#AAFFAA"':$defbgone).'>'.
+				      &plink($type{$_},$display{$_},$outpar[7],$mprefix.'7',
+					     'parmform.pres','psub').'</td>');
+
+			    if ($csec) {
+				$r->print('<td bgcolor='.
+					  (($result==6)?'"#AAFFAA"':$defbgtwo).'>'.
+					  &plink($type{$_},$display{$_},$outpar[6],$mprefix.'6',
+						 'parmform.pres','psub').'</td>');
+				$r->print('<td bgcolor='.
+					  (($result==5)?'"#AAFFAA"':$defbgtwo).'>'.
+					  &plink($type{$_},$display{$_},$outpar[5],$mprefix.'5',
+						 'parmform.pres','psub').'</td>');
+				$r->print('<td bgcolor='.
+					  (($result==4)?'"#AAFFAA"':$defbgtwo).'>'.
+					  &plink($type{$_},$display{$_},$outpar[4],$mprefix.'4',
+						 'parmform.pres','psub').'</td>');
+			    }
+
+			    if ($uname) {
+				$r->print('<td bgcolor='.
+					  (($result==3)?'"#AAFFAA"':$defbgone).'>'.
+					  &plink($type{$_},$display{$_},$outpar[3],$mprefix.'3',
+						 'parmform.pres','psub').'</td>');
+				$r->print('<td bgcolor='.
+					  (($result==2)?'"#AAFFAA"':$defbgone).'>'.
+					  &plink($type{$_},$display{$_},$outpar[2],$mprefix.'2',
+						 'parmform.pres','psub').'</td>');
+				$r->print('<td bgcolor='.
+					  (($result==1)?'"#AAFFAA"':$defbgone).'>'.
+					  &plink($type{$_},$display{$_},$outpar[1],$mprefix.'1',
+						 'parmform.pres','psub').'</td>');
+			    }
+			    $r->print('<td bgcolor=#CCCCFF>'.&valout($outpar[$result],$type{$_}).'</td>');
+			    my $sessionval=&Apache::lonnet::EXT('resource.'.$part{$_}.
+								'.'.$name{$_},$mapp{$rid}.'___'.$inmapid.'___'.$uri);
+			    if (($type{$_}=~/^date/) && ($sessionval))
+				{ $sessionval=localtime($sessionval); }
+			    $r->print('<td bgcolor=#999999><font color=#FFFFFF>'.$sessionval.'&nbsp;'.
+				      '</font></td>');
+			    $r->print("</tr>");
+			}
+		    }
 # -------------------------------------------------- End entry for one resource
-	 }
-	 }
-         $r->print('</table>');
-      }
+		}
+	    }
+	    $r->print('</table>');
+	}
 	$r->print('</form></body></html>');
-         untie(%bighash);
-	 untie(%parmhash);
-      }
+	untie(%bighash);
+	untie(%parmhash);
+    }
 }
 
 sub crsenv {
@@ -754,82 +735,75 @@
             if ($name eq 'url') {
 		$value=~s/^\/res\///;
                 $setoutput.='Backing up previous URL: '.
-                         &Apache::lonnet::reply('put:'.
-                         $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.
-                         ':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}.
-                         ':environment:'.
-                         &Apache::lonnet::escape('top level map backup '.
-                                                                    time).'='.
-	                 &Apache::lonnet::reply('get:'.
-                         $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.
-                         ':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}.
-                         ':environment:url',
-		         $ENV{'course.'.$ENV{'request.course.id'}.'.home'}),
-                         $ENV{'course.'.$ENV{'request.course.id'}.'.home'}).
-                        '<br>';
-
+		    &Apache::lonnet::reply('put:'.
+					   $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.
+					   ':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}.
+					   ':environment:'.
+					   &Apache::lonnet::escape('top level map backup '.
+								   time).'='.
+					   &Apache::lonnet::reply('get:'.
+								  $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.
+								  ':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}.
+								  ':environment:url',
+								  $ENV{'course.'.$ENV{'request.course.id'}.'.home'}),
+					   $ENV{'course.'.$ENV{'request.course.id'}.'.home'}).
+					       '<br>';
+		
             }
             if ($name) {
         	$setoutput.='Setting <tt>'.$name.'</tt> to <tt>'.
-                        $value.'</tt>: '.
-                &Apache::lonnet::reply('put:'.
-                         $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.
-                         ':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}.
-                         ':environment:'.
-                            &Apache::lonnet::escape($name).'='.
-			    &Apache::lonnet::escape($value),
-                         $ENV{'course.'.$ENV{'request.course.id'}.'.home'}).
-                        '<br>';
+		    $value.'</tt>: '.
+			&Apache::lonnet::reply('put:'.
+					       $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.
+					       ':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}.
+					       ':environment:'.
+					       &Apache::lonnet::escape($name).'='.
+					       &Apache::lonnet::escape($value),
+					       $ENV{'course.'.$ENV{'request.course.id'}.'.home'}).
+						   '<br>';
 	    }
         }
     }
 # -------------------------------------------------------- Get parameters again
     my $rep=&Apache::lonnet::reply
-                 ('dump:'.$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.
-                         ':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}.
-                         ':environment',
-                         $ENV{'course.'.$ENV{'request.course.id'}.'.home'});
+	('dump:'.$ENV{'course.'.$ENV{'request.course.id'}.'.domain'}.
+	 ':'.$ENV{'course.'.$ENV{'request.course.id'}.'.num'}.
+	 ':environment',
+	 $ENV{'course.'.$ENV{'request.course.id'}.'.home'});
     my $output='';
     if ($rep ne 'con_lost') {
 	my %values;
         my %descriptions=
- ('url'            => '<b>Top Level Map</b><br><font color=red>'.
-                   'Modification may make assessment data inaccessible</font>',
-  'description'    => '<b>Course Description</b>',
-  'courseid'       => '<b>Course ID or number</b><br>(internal, optional)',
-  'question.email' => '<b>Feedback Addresses for Content Questions</b><br>'.
-                      '(<tt>user:domain,user:domain,...</tt>)',
-  'comment.email'  => '<b>Feedback Addresses for Comments</b><br>'.
-                      '(<tt>user:domain,user:domain,...</tt>)',
-  'policy.email'   => '<b>Feedback Addresses for Course Policy</b><br>'.
-                      '(<tt>user:domain,user:domain,...</tt>)',
-  'hideemptyrows'  => '<b>Hide Empty Rows in Spreadsheets</b><br>'.
-                      '("<tt>yes</tt>" for default hiding)',
- 'pch.roles.denied'=> '<b>Disallow Resource Discussion for Students</b><br>'.
- '("<tt>st</tt>": student, "<tt>ta</tt>": TA, "<tt>in</tt>": instructor;<br>'.
- '<tt>role,role,...</tt>)'
- ); 
-
-       foreach (split(/\&/,$rep)) {
-           my ($name,$value)=split(/\=/,$_);
-           $name=&Apache::lonnet::unescape($name);
-           $values{$name}=&Apache::lonnet::unescape($value);
-           unless ($descriptions{$name}) {
-	       $descriptions{$name}=$name;
-           }
-       }
-       foreach (sort keys %descriptions) {
-           $output.='<tr><td>'.$descriptions{$_}.'</td><td><input name="'.
-                       $_.'_value" size=40 value="'.
-                      $values{$_}.
-                     '"></td><td><input type=checkbox name="'.$_.
-                     '_setparmval"></td></tr>';
-       }
-       $output.='<tr><td><i>Create New Environment Variable</i><br>'.
-                '<input type="text" size=40 name="newp_name"></td><td>'.
+	    ('url'            => '<b>Top Level Map</b><br><font color=red> Modification may make assessment data inaccessible</font>',
+	     'description'    => '<b>Course Description</b>',
+	     'courseid'       => '<b>Course ID or number</b><br>(internal, optional)',
+	     'question.email' => '<b>Feedback Addresses for Content Questions</b><br>(<tt>user:domain,user:domain,...</tt>)',
+	     'comment.email'  => '<b>Feedback Addresses for Comments</b><br>(<tt>user:domain,user:domain,...</tt>)',
+	     'policy.email'   => '<b>Feedback Addresses for Course Policy</b><br>(<tt>user:domain,user:domain,...</tt>)',
+	     'hideemptyrows'  => '<b>Hide Empty Rows in Spreadsheets</b><br>("<tt>yes</tt>" for default hiding)',
+	     'pch.roles.denied'=> '<b>Disallow Resource Discussion for Students</b><br>"<tt>st</tt>": student, "<tt>ta</tt>": TA, "<tt>in</tt>": instructor;<br><tt>role,role,...</tt>)'
+	    );
+
+	foreach (split(/\&/,$rep)) {
+	    my ($name,$value)=split(/\=/,$_);
+	    $name=&Apache::lonnet::unescape($name);
+	    $values{$name}=&Apache::lonnet::unescape($value);
+	    unless ($descriptions{$name}) {
+		$descriptions{$name}=$name;
+	    }
+	}
+	foreach (sort keys %descriptions) {
+	    $output.='<tr><td>'.$descriptions{$_}.'</td><td><input name="'.
+		$_.'_value" size=40 value="'.
+		    $values{$_}.
+			'"></td><td><input type=checkbox name="'.$_.
+			    '_setparmval"></td></tr>';
+	}
+	$output.='<tr><td><i>Create New Environment Variable</i><br>'.
+	    '<input type="text" size=40 name="newp_name"></td><td>'.
                 '<input type="text" size=40 name="newp_value"></td><td>'.
-                '<input type="checkbox" name="newp_setparmval"></td></tr>'; 
-    }    
+		    '<input type="checkbox" name="newp_setparmval"></td></tr>';
+    }
     $r->print(<<ENDENV);
 <html>
 <head>
@@ -856,33 +830,33 @@
 # ================================================================ Main Handler
 
 sub handler {
-   my $r=shift;
+    my $r=shift;
 
-   if ($r->header_only) {
-      $r->content_type('text/html');
-      $r->send_http_header;
-      return OK;
-   }
-   &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'});
+    if ($r->header_only) {
+	$r->content_type('text/html');
+	$r->send_http_header;
+	return OK;
+    }
+    &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'});
 # ----------------------------------------------------- Needs to be in a course
 
-   if (($ENV{'request.course.id'}) && 
-       (&Apache::lonnet::allowed('opa',$ENV{'request.course.id'}))) {
+    if (($ENV{'request.course.id'}) && 
+	(&Apache::lonnet::allowed('opa',$ENV{'request.course.id'}))) {
 
-       unless (($ENV{'form.crsenv'}) || (!$ENV{'request.course.fn'})) {
+	unless (($ENV{'form.crsenv'}) || (!$ENV{'request.course.fn'})) {
 # --------------------------------------------------------- Bring up assessment
-	  &assessparms($r);
+	    &assessparms($r);
 # ---------------------------------------------- This is for course environment
-       } else {
-	  &crsenv($r);
-       }
-   } else {
+	} else {
+	    &crsenv($r);
+	}
+    } else {
 # ----------------------------- Not in a course, or not allowed to modify parms
-      $ENV{'user.error.msg'}=
-        "/adm/parmset:opa:0:0:Cannot modify assessment parameters";
-      return HTTP_NOT_ACCEPTABLE; 
-   }
-   return OK;
+	$ENV{'user.error.msg'}=
+	    "/adm/parmset:opa:0:0:Cannot modify assessment parameters";
+	return HTTP_NOT_ACCEPTABLE;
+    }
+    return OK;
 }
 
 1;

--albertel1013472847--