--- rat/lonratparms.pm 2004/04/23 19:39:25 1.20 +++ rat/lonratparms.pm 2005/04/07 06:56:27 1.23 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Set parameters inside of the RAT # -# $Id: lonratparms.pm,v 1.20 2004/04/23 19:39:25 www Exp $ +# $Id: lonratparms.pm,v 1.23 2005/04/07 06:56:27 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -32,6 +32,7 @@ use strict; use Apache::Constants qw(:common); use Apache::lonhtmlcommon(); use Apache::lonlocal; +use Apache::lonnet; sub handler { my $r = shift; @@ -46,7 +47,7 @@ sub handler { # ------------------------------------------------------------------- Read file - my $uri=$ENV{'form.url'}.'.meta'; + my $uri=$env{'form.url'}.'.meta'; my %content; my %type; @@ -55,15 +56,6 @@ sub handler { # ---------------------------------------------------------- Current Parameters - foreach (split(/\:/,$ENV{'form.parms'})) { - my ($ptype,$pname,$pvalue)=split(/\_\_\_/,$_); - unless ($type{$pname}) { $type{$pname}=$ptype; } - $value{$pname}=$pvalue; - $content{$pname}=$pvalue; - $type{$pname}=$ptype; - $display{$pname}=&mt('Custom Parameter'); - } - foreach (split(/\,/,&Apache::lonnet::metadata($uri,'keys'))) { if ($_=~/^parameter\_/) { $content{$_}=&Apache::lonnet::metadata($uri,$_); @@ -71,6 +63,16 @@ sub handler { $display{$_}=&Apache::lonnet::metadata($uri,$_.'.display'); } } + + foreach (split(/\:/,$env{'form.parms'})) { + my ($ptype,$pname,$pvalue)=split(/\_\_\_/,$_); + unless ($pname) { next; } + unless ($type{$pname}) { $type{$pname}=$ptype; } + $value{$pname}=$pvalue; + $content{$pname}=$pvalue; + $type{$pname}=$ptype; + $display{$pname}=&mt('Custom Parameter'); + } # --------------------------------------------------- Print input screen header my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); @@ -103,10 +105,10 @@ sub handler { function setparms() { ENDHEADER - $r->print('var colon=""; opener.objparms['.$ENV{'form.resid'}.']="";'); + $r->print('var colon=""; opener.objparms['.$env{'form.resid'}.']="";'); map { $r->print("\nif (document.parameters.def_".$_. - '.checked) { opener.objparms['.$ENV{'form.resid'}. + '.checked) { opener.objparms['.$env{'form.resid'}. ']+=colon+"'.$type{$_}. '___'.$_.'___"+document.parameters.'.$_.'.value; colon=":"; }'); } keys %content;