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

matthew lon-capa-cvs@mail.lon-capa.org
Wed, 13 Mar 2002 21:24:24 -0000


This is a MIME encoded message

--matthew1016054664
Content-Type: text/plain

matthew		Wed Mar 13 16:24:24 2002 EDT

  Modified files:              
    /loncom/interface	lonparmset.pm 
  Log:
  Replaced lonnet::reply and lonnet::critical with more appropriate wrapper
  functions: lonnet::put, lonnet::dump, lonnet::get, lonnet::cput.  Minor
  formatting changes.
  
  
--matthew1016054664
Content-Type: text/plain
Content-Disposition: attachment; filename="matthew-20020313162424.txt"

Index: loncom/interface/lonparmset.pm
diff -u loncom/interface/lonparmset.pm:1.44 loncom/interface/lonparmset.pm:1.45
--- loncom/interface/lonparmset.pm:1.44	Tue Feb 12 01:28:23 2002
+++ loncom/interface/lonparmset.pm	Wed Mar 13 16:24:24 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Handler to set parameters for assessments
 #
-# $Id: lonparmset.pm,v 1.44 2002/02/12 06:28:23 albertel Exp $
+# $Id: lonparmset.pm,v 1.45 2002/03/13 21:24:24 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -366,7 +366,8 @@
 					    $ENV{'request.course.id'});
 	    if ($csec eq '-1') {
 		$message="<font color=red>".
-		    "User '$uname' at domain '$udom' not in this course</font>";
+		    "User '$uname' at domain '$udom' not ".
+                    "in this course</font>";
 		$uname='';
 		$csec=$ENV{'form.csec'};
 	    } else {
@@ -464,14 +465,9 @@
 	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 %storecontent = ($storeunder        => $ENV{'form.pres_value'},
+                            $storeunder.'type' => $ENV{'form.pres_type'});
 	my $reply='';
 	if ($snum>3) {
 # ---------------------------------------------------------------- Store Course
@@ -485,13 +481,11 @@
 	    } 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'});
+            $reply=&Apache::lonnet::cput
+                ('resourcedata',\%storecontent,
+                 $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
+                 $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
 	} else {
 # ------------------------------------------------------------------ Store User
 #
@@ -506,11 +500,9 @@
 	    } else {
 		&Apache::lonnet::expirespread($uname,$udom,'assesscalc');
 	    }
-
 # Store parameter
-	    $reply=
-		&Apache::lonnet::critical('put:'.$udom.':'.$uname.':resourcedata:'.
-					  $storecontent,$uhome);
+	    $reply=&Apache::lonnet::cput
+                ('resourcedata',\%storecontent,$udom,$uname);
 	}
 
 	if ($reply=~/^error\:(.*)/) {
@@ -519,28 +511,13 @@
 # ---------------------------------------------------------------- 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\:/) {
-	foreach (split(/\&/,$reply)) {
-	    my ($name,$value)=split(/\=/,$_);
-	    $courseopt{&Apache::lonnet::unescape($name)}=
-		&Apache::lonnet::unescape($value);
-	}
-    }
+    %courseopt = &Apache::lonnet::dump
+        ('resourcedata',
+         $ENV{'course.'.$ENV{'request.course.id'}.'.domain'},
+         $ENV{'course.'.$ENV{'request.course.id'}.'.num'});
 # --------------------------------------------------- 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);
-	    }
-	}
+        %useropt=&Apache::lonnet::dump('resourcedata',$udom,$uname);
     }
 
 # ------------------------------------------------------------------- Sort this
@@ -713,9 +690,12 @@
     untie(%parmhash);
 }
 
+# Set course environment parameters
 sub crsenv {
     my $r=shift;
     my $setoutput='';
+    my $dom = $ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
+    my $crs = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};
 # -------------------------------------------------- Go through list of changes
     foreach (keys %ENV) {
 	if ($_=~/^form\.(.+)\_setparmval$/) {
@@ -726,75 +706,66 @@
             }
             if ($name eq 'url') {
 		$value=~s/^\/res\///;
+                my @tmp = &Apache::lonnet::get
+                    ('environment',['url'],$dom,$crs);
                 $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::put
+                        ('environment',
+                         {'top level map backup ' => $tmp[1] },
+                         $dom,$crs).
+                    '<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>';
+                $setoutput.='Setting <tt>'.$name.'</tt> to <tt>'.
+                    $value.'</tt>: '.
+                    &Apache::lonnet::put
+                            ('environment',{$name=>$value},$dom,$crs).
+                    '<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'});
+
+    my %values=&Apache::lonnet::dump('environment',$dom,$crs);
     my $output='';
-    if ($rep ne 'con_lost') {
-	my %values;
+    if (! exists($values{'con_lost'})) {
         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;
+	    ('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 (keys(%values)) {
+	    unless ($descriptions{$_}) {
+		$descriptions{$_}=$_;
 	    }
 	}
 	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>';
+		$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="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>';
     }
     $r->print(<<ENDENV);
 <html>

--matthew1016054664--