--- rat/lonratparms.pm 2002/03/11 19:54:31 1.9 +++ rat/lonratparms.pm 2003/04/30 16:08:30 1.15 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Set parameters inside of the RAT # -# $Id: lonratparms.pm,v 1.9 2002/03/11 19:54:31 matthew Exp $ +# $Id: lonratparms.pm,v 1.15 2003/04/30 16:08:30 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -44,6 +44,7 @@ package Apache::lonratparms; use strict; use Apache::Constants qw(:common); +use Apache::lonhtmlcommon(); sub handler { my $r = shift; @@ -53,18 +54,8 @@ sub handler { # Get query string for limited number of parameters - foreach (split(/&/,$ENV{'QUERY_STRING'})) { - my ($name, $value) = split(/=/,$_); - $value =~ tr/+/ /; - $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; - if (($name eq 'url') || ($name eq 'parms') || - ($name eq 'resid')) { - unless ($ENV{'form.'.$name}) { - $ENV{'form.'.$name}=$value; - } - } - } - + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, + ['url','parms','resid']); # ------------------------------------------------------------------- Read file @@ -83,6 +74,28 @@ sub handler { } } +# -------------------------------------- Additional parms for certain resources + + if ($uri=~/\.(sequence|page)\.meta$/) { + $content{'parameter_randompick'}=''; + $type{'parameter_randompick'}='int_pos'; + $display{'parameter_randompick'}='Randomly pick number of resources'; + + $content{'parameter_randompickseed'}=''; + $type{'parameter_randompickseed'}='int_pos'; + $display{'parameter_randompickseed'}= + 'Random seed for randomly picking number of resources (optional, only set if you know what you are doing)'; + } else { + $content{'parameter_mapalias'}=''; + $type{'parameter_mapalias'}='string'; + $display{'parameter_mapalias'}='Resource alias name for conditions'; + } + if ($uri=~/\.(problem|exam|quiz|assess|survey|form|library)\.meta$/) { + $content{'parameter_hiddenparts'}=''; + $type{'parameter_hiddenparts'}='string'; + $display{'parameter_hiddenparts'}= + 'A comma separted list of Part Ids to not display.'; + } # ---------------------------------------------------------- Current Parameters foreach (split(/\:/,$ENV{'form.parms'})) { @@ -92,6 +105,7 @@ sub handler { } # --------------------------------------------------- Print input screen header + my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); $r->print(< @@ -104,14 +118,7 @@ sub handler { parmwin.close(); } - function pjump(type,dis,value,marker,ret,call) { - parmwin=window.open("/adm/rat/parameter.html?type="+escape(type) - +"&value="+escape(value)+"&marker="+escape(marker) - +"&return="+escape(ret) - +"&call="+escape(call)+"&name="+escape(dis),"LONCAPAparms", - "height=350,width=350,scrollbars=no,menubar=no"); - - } + $pjump_def function stpr() { eval("document.parameters."+document.parameters.pres_marker.value+