[LON-CAPA-cvs] cvs: loncom(version_2_9_X) /homework lonsimpleproblemedit.pm

raeburn raeburn@source.lon-capa.org
Wed, 27 Jan 2010 23:32:05 -0000


raeburn		Wed Jan 27 23:32:05 2010 EDT

  Modified files:              (Branch: version_2_9_X)
    /loncom/homework	lonsimpleproblemedit.pm 
  Log:
  - Backport 1.30, 1.31.
  
  
Index: loncom/homework/lonsimpleproblemedit.pm
diff -u loncom/homework/lonsimpleproblemedit.pm:1.20.2.2 loncom/homework/lonsimpleproblemedit.pm:1.20.2.3
--- loncom/homework/lonsimpleproblemedit.pm:1.20.2.2	Wed Jan 27 20:38:08 2010
+++ loncom/homework/lonsimpleproblemedit.pm	Wed Jan 27 23:32:05 2010
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # Simple Problem Parameter Setting "Editor"
 #
-# $Id: lonsimpleproblemedit.pm,v 1.20.2.2 2010/01/27 20:38:08 raeburn Exp $
+# $Id: lonsimpleproblemedit.pm,v 1.20.2.3 2010/01/27 23:32:05 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -110,13 +110,19 @@
 
 sub foil {
     my $number=shift;
-    my %values='';
+    my (%values,%defaultvalues,%customvalues);
+    %defaultvalues = &Apache::lonlocal::texthash(
+                         'unused' => 'Not shown, not used'
+                     );
     if ($qtype eq 'radio') {
-	%values=('true' => 'True', 'false' => 'False');
+        %customvalues = &Apache::lonlocal::texthash(
+                                       'true' => 'True',
+                                       'false' => 'False'
+        );
     } elsif ($qtype eq 'option') {
-	%values=&evaloptionhash($qparms{$prefix.'options'});
+        %customvalues=&evaloptionhash($qparms{$prefix.'options'});
     }
-    $values{'unused'}='Not shown, not used';
+    %values = (%defaultvalues,%customvalues);
     my $value=$qparms{$prefix.'value'.$number};
     unless (defined($value)) { $value='unused'; }
     unless ($values{$value}) { $value='unused'; }
@@ -128,10 +134,14 @@
     unless ($positions{$position}) {
 	$position='random';
     }
-    my $selectvalue=&Apache::loncommon::select_form
-	                                ($value,'value'.$number,%values);
-    my $selectposition=&Apache::loncommon::select_form
-                               ($position,'position'.$number,%positions);
+    my $selectvalue=&Apache::loncommon::select_form(
+                        $value,
+                        'value'.$number,
+                        &Apache::lonlocal::texthash(%values));
+    my $selectposition=&Apache::loncommon::select_form(
+                           $position,
+                           'position'.$number,
+                           &Apache::lonlocal::texthash(%positions));
     my $text=$qparms{$prefix.'text'.$number};
     my %lt=&Apache::lonlocal::texthash('foil'  => 'Foil',
 				       'value' => 'Value',
@@ -262,19 +272,21 @@
                   &rawrendering($symb).
                   '</td></tr></table><br />');
         $r->print('<form name="simpleedit" method="post">');
-# Question Type        
-	my %questiontypes=('radio'  => 
-                               '1 out of N multiple choice (radio button)',
-			   'option' => 'Option response',
-                           'string' => 'Short string response',
-                           'essay'  => 'Essay, open end',
-                           'numerical' => 'Numerical response');
-
+# Question Type
+        my %questiontypes=(
+               'radio'     => '1 out of N multiple choice (radio button)',
+               'option'    => 'Option Response',
+               'string'    => 'Short string response',
+               'essay'     => 'Essay, open end',
+               'numerical' => 'Numerical Response');
         $qtype=$qparms{$prefix.'questiontype'};
         unless (defined($qtype)) { $qtype='radio'; }
         unless ($questiontypes{$qtype}) { $qtype='radio'; }
-        $r->print('<b>'.&mt('Question Type').
-		  ': '.&Apache::loncommon::select_form
+        $r->print('<b>'.&mt('Question Type').': '
+           .&Apache::loncommon::select_form(
+                $qtype,
+                'questiontype',
+                &Apache::lonlocal::texthash(%questiontypes))
 	                               ($qtype,'questiontype',%questiontypes).
   '</b><br /><input type="submit" value="'.&mt('Save and Edit').
   '" /><p>&nbsp;</p>');
@@ -291,8 +303,9 @@
             unless (defined($maxfoils)) { $maxfoils=10; }
             unless ($maxfoils=~/^\d+$/) { $maxfoils=10; }
             if ($maxfoils<=0) { $maxfoils=10; }
-	    my %randomizes=('yes' => 'Display foils in random order',
-			    'no'  => 'Display foils in order given');
+            my %randomizes=(
+                   'yes' => 'Display foils in random order',
+                   'no'  => 'Display foils in order given');
 	    my $randomize=$qparms{$prefix.'randomize'};
             unless (defined($randomize)) { $randomize='yes'; }
             unless ($randomizes{$randomize}) { $randomize='yes'; }
@@ -300,8 +313,10 @@
 		  '<table bgcolor="#00ee44" cellspacing="4" cellpadding="2">'.
 	          '<tr><td>'.&mt('Max number of foils displayed').
 ': <input type="text" size="3" name="maxfoils" value="'.$maxfoils.'" />&nbsp;&nbsp;'.
-		      &Apache::loncommon::select_form
-		      ($randomize,'randomize',%randomizes).
+                      &Apache::loncommon::select_form(
+                          $randomize,
+                          'randomize',
+                          &Apache::lonlocal::texthash(%randomizes)).
 		  '</td></tr><tr><td bgcolor="#AAAAAA">');
 # Option Response: Options
 	    if ($qtype eq 'option') {
@@ -344,8 +359,10 @@
 	    $r->print(
 		  '<table bgcolor="#00ee44" cellspacing="4" cellpadding="2">'.
                   '<tr><td><label>'.&mt('Correct answer').': <input type="text" size="20" name="stringanswer" value="'.$stringanswer.'" /></label>&nbsp;&nbsp;'.
-		      &Apache::loncommon::select_form
-		      ($stringtype,'stringtype',%stringtypes).
+                      &Apache::loncommon::select_form(
+                          $stringtype,
+                          'stringtype',
+                          &Apache::lonlocal::texthash(%stringtypes)).
 		  '</td></tr></table><br />');
 # Hint
 	    $r->print(&hint());