--- loncom/interface/lonparmset.pm 2023/12/29 20:45:18 1.522.2.28.4.11
+++ loncom/interface/lonparmset.pm 2024/07/11 21:25:21 1.522.2.33
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.522.2.28.4.11 2023/12/29 20:45:18 raeburn Exp $
+# $Id: lonparmset.pm,v 1.522.2.33 2024/07/11 21:25:21 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -321,6 +321,7 @@ use Apache::lonnavmaps;
use Apache::longroup;
use Apache::lonrss;
use HTML::Entities;
+use Text::Wrap();
use LONCAPA qw(:DEFAULT :match);
@@ -767,17 +768,7 @@ sub valout {
}
} else {
if ($type eq 'date_interval') {
- my ($totalsecs,$donesuffix) = split(/_/,$value,2);
- my ($usesdone,$donebuttontext,$proctor,$secretkey);
- if ($donesuffix =~ /^done\:([^\:]+)\:(.*)$/) {
- $donebuttontext = $1;
- (undef,$proctor,$secretkey) = split(/_/,$2);
- $usesdone = 'done';
- } elsif ($donesuffix =~ /^done(|_.+)$/) {
- $donebuttontext = &mt('Done');
- ($usesdone,$proctor,$secretkey) = split(/_/,$donesuffix);
- }
- my ($sec,$min,$hour,$mday,$mon,$year)=gmtime($totalsecs);
+ my ($sec,$min,$hour,$mday,$mon,$year)=gmtime($value);
my @timer;
$year=$year-70;
$mday--;
@@ -810,13 +801,6 @@ sub valout {
push(@timer,&mt('[quant,_1,sec]',0));
}
$result.=join(", ",@timer);
- if ($usesdone eq 'done') {
- if ($secretkey) {
- $result .= ' '.&mt('+ "[_1]" with proctor key: [_2]',$donebuttontext,$secretkey);
- } else {
- $result .= ' + "'.$donebuttontext.'"';
- }
- }
} elsif (&isdateparm($type)) {
$result = &Apache::lonlocal::locallocaltime($value).
&date_sanity_info($value);
@@ -831,15 +815,11 @@ sub valout {
sub plink {
- my ($type,$dis,$value,$marker,$return,$call,$extra)=@_;
+ my ($type,$dis,$value,$marker,$return,$call)=@_;
my $winvalue=$value;
unless ($winvalue) {
- if ((&isdateparm($type)) || (&is_specialstring($type))) {
+ if (&isdateparm($type)) {
$winvalue=$env{'form.recent_'.$type};
- } elsif ($type eq 'string_yesno') {
- if ($env{'form.recent_string'} =~ /^(yes|no)$/i) {
- $winvalue=$env{'form.recent_string'};
- }
} else {
$winvalue=$env{'form.recent_'.(split(/\_/,$type))[0]};
}
@@ -850,13 +830,13 @@ sub plink {
my $valout = &valout($value,$type,1);
my $unencmarker = $marker;
foreach my $item (\$type, \$dis, \$winvalue, \$marker, \$return, \$call,
- \$hour, \$min, \$sec, \$extra) {
+ \$hour, \$min, \$sec) {
$$item = &HTML::Entities::encode($$item,'"<>&');
$$item =~ s/\'/\\\'/g;
}
return '
';
}
@@ -872,22 +852,20 @@ sub page_js {
$pjump_def
function psub() {
- var specstring = /^string_!(yesno|any)/i;
if (document.parmform.pres_marker.value!='') {
document.parmform.action+='#'+document.parmform.pres_marker.value;
var typedef=new Array();
typedef=document.parmform.pres_type.value.split('_');
- if (document.parmform.pres_type.value!='') {
- if ((typedef[0]=='date') ||
- (specstring.test(document.parmform.pres_type.value))) {
- eval('document.parmform.recent_'+
- document.parmform.pres_type.value+
- '.value=document.parmform.pres_value.value;');
- } else {
- eval('document.parmform.recent_'+typedef[0]+
- '.value=document.parmform.pres_value.value;');
- }
+ if (document.parmform.pres_type.value!='') {
+ if (typedef[0]=='date') {
+ eval('document.parmform.recent_'+
+ document.parmform.pres_type.value+
+ '.value=document.parmform.pres_value.value;');
+ } else {
+ eval('document.parmform.recent_'+typedef[0]+
+ '.value=document.parmform.pres_value.value;');
}
+ }
document.parmform.submit();
} else {
document.parmform.pres_value.value='';
@@ -929,376 +907,6 @@ function showHide_courseContent() {
COURSECONTENTSCRIPT
}
-sub validateparms_js {
- return <<'ENDSCRIPT';
-
-function validateParms() {
- var textRegExp = /^settext_/;
- var ipRegExp = /^setip/;
- var ipallowRegExp = /^setipallow_/;
- var ipdenyRegExp = /^setipdeny_/;
- var deeplinkRegExp = /^deeplink_/;
- var dlListScopeRegExp = /^deeplink_(state|others|listing|scope)_/;
- var dlLinkProtectRegExp = /^deeplink_protect_/;
- var dlLtidRegExp = /^deeplink_ltid_/;
- var dlLticRegExp = /^deeplink_ltic_/;
- var dlKeyRegExp = /^deeplink_key_/;
- var dlMenusRegExp = /^deeplink_menus_/;
- var dlCollsRegExp = /^deeplink_colls_/;
- var dlTargetRegExp = /^deeplink_target_/;
- var dlExitRegExp = /^deeplink_exit_/;
- var dlExitTextRegExp = /^deeplink_exittext_/;
- var patternIP = /[\[\]\*\.a-zA-Z\d\-]+/;
- var numelements = document.parmform.elements.length;
- if ((typeof(numelements) != 'undefined') && (numelements != null)) {
- if (numelements) {
- for (i=0; i 0) {
- var possdeeplink = document.parmform.elements[i].options[idx].value
- possdeeplink = possdeeplink.replace(/^\s+|\s+$/g,'');
- if (document.parmform.elements['set_'+identifier].value) {
- possdeeplink = ','+possdeeplink;
- }
- document.parmform.elements['set_'+identifier].value += possdeeplink;
- }
- } else if (dlLinkProtectRegExp.test(name)) {
- if (document.parmform.elements[i].checked) {
- var identifier = name.replace(dlLinkProtectRegExp,'');
- var posslinkurl = document.parmform.elements[i].value;
- posslinkurl = posslinkurl.replace(/^\s+|\s+$/g,'');
- if (document.parmform.elements['set_'+identifier].value) {
- posslinkurl = ','+posslinkurl;
- }
- document.parmform.elements['set_'+identifier].value += posslinkurl;
- }
- } else if (dlLtidRegExp.test(name)) {
- var identifier = name.replace(dlLtidRegExp,'');
- if (isRadioSet('deeplink_protect_'+identifier,'ltid')) {
- var possltid = document.parmform.elements[i].value;
- possltid = possltid.replace(/\D+/g,'');
- if (possltid.length) {
- if (document.parmform.elements['set_'+identifier].value) {
- possltid = ':'+possltid;
- }
- document.parmform.elements['set_'+identifier].value += possltid;
- } else {
- document.parmform.elements['set_'+identifier].value = '';
- alert("A link type of 'domain LTI launch' was selected but no domain LTI launcher was selected.\nPlease select one, or choose a different supported link type.");
- return false;
- }
- }
- } else if (dlLticRegExp.test(name)) {
- var identifier = name.replace(dlLticRegExp,'');
- if (isRadioSet('deeplink_protect_'+identifier,'ltic')) {
- var possltic = document.parmform.elements[i].value;
- possltic = possltic.replace(/\D+/g,'');
- if (possltic.length) {
- if (document.parmform.elements['set_'+identifier].value) {
- possltic = ':'+possltic;
- }
- document.parmform.elements['set_'+identifier].value += possltic;
- } else {
- document.parmform.elements['set_'+identifier].value = '';
- alert("A link type of 'course LTI launch' was selected but no course LTI launcher was selected.\nPlease select one, or choose a different supported link type.");
- return false;
- }
- }
- } else if (dlKeyRegExp.test(name)) {
- var identifier = name.replace(dlKeyRegExp,'');
- if (isRadioSet('deeplink_protect_'+identifier,'key')) {
- var posskey = document.parmform.elements[i].value;
- posskey = posskey.replace(/^\s+|\s+$/g,'');
- var origlength = posskey.length;
- posskey = posskey.replace(/[^a-zA-Z\d_.!@#$%^&*()+=-]/g,'');
- var newlength = posskey.length;
- if (newlength > 0) {
- var change = origlength - newlength;
- if (change) {
- alert(change+' disallowed character(s) removed from deeplink key');
- }
- if (document.parmform.elements['set_'+identifier].value) {
- posskey = ':'+posskey;
- }
- document.parmform.elements['set_'+identifier].value += posskey;
- } else {
- document.parmform.elements['set_'+identifier].value = '';
- if (newlength < origlength) {
- alert("A link type of 'deep with key' was selected but the key value was blank, after removing disallowed characters.\nPlease enter a key using one or more of: a-zA-Z0-9_.!@#$%^&*()+=-");
- } else {
- alert("A link type of 'deep with key' was selected but the key value was blank.\nPlease enter a key.");
- }
- return false;
- }
- }
- } else if (dlMenusRegExp.test(name)) {
- if (document.parmform.elements[i].checked) {
- var identifier = name.replace(dlMenusRegExp,'');
- var posslinkmenu = document.parmform.elements[i].value;
- posslinkmenu = posslinkmenu.replace(/^\s+|\s+$/g,'');
- if (posslinkmenu == 'std') {
- posslinkmenu = '0';
- if (document.parmform.elements['set_'+identifier].value) {
- posslinkmenu = ','+posslinkmenu;
- }
- document.parmform.elements['set_'+identifier].value += posslinkmenu;
- }
- }
- } else if (dlCollsRegExp.test(name)) {
- var identifier = name.replace(dlCollsRegExp,'');
- if (isRadioSet('deeplink_menus_'+identifier,'colls')) {
- var posslinkmenu = document.parmform.elements[i].value;
- if (document.parmform.elements['set_'+identifier].value) {
- posslinkmenu = ','+posslinkmenu;
- }
- document.parmform.elements['set_'+identifier].value += posslinkmenu;
- }
- } else if (dlTargetRegExp.test(name)) {
- var identifier = name.replace(dlTargetRegExp,'');
- var idx = document.parmform.elements[i].selectedIndex;
- if (idx > 0) {
- var linktarget = document.parmform.elements[i].options[idx].value
- linktarget = linktarget.replace(/^\s+|\s+$/g,'');
- if (document.parmform.elements['set_'+identifier].value) {
- linktarget = ','+linktarget;
- }
- document.parmform.elements['set_'+identifier].value += linktarget;
- }
- } else if (dlExitRegExp.test(name)) {
- if (document.parmform.elements[i].checked) {
- var identifier = name.replace(dlExitRegExp,'');
- var posslinkexit = document.parmform.elements[i].value;
- posslinkexit = posslinkexit.replace(/^\s+|\s+$/g,'');
- if (document.parmform.elements['set_'+identifier].value) {
- posslinkexit = ','+posslinkexit;
- }
- document.parmform.elements['set_'+identifier].value += posslinkexit;
- }
- } else if (dlExitTextRegExp.test(name)) {
- var identifier = name.replace(dlExitTextRegExp,'');
- if ((isRadioSet('deeplink_exit_'+identifier,'yes')) ||
- (isRadioSet('deeplink_exit_'+identifier,'url'))) {
- var posstext = document.parmform.elements[i].value;
- posstext = posstext.replace(/^\s+|\s+$/g,'');
- var origlength = posstext.length;
- posstext = posstext.replace(/[:;'",]/g,'');
- var newlength = posstext.length;
- if (newlength > 0) {
- var change = origlength - newlength;
- if (change) {
- alert(change+' disallowed character(s) removed from Exit Button text');
- }
- if (posstext !== 'Exit Tool') {
- posstext = ':'+posstext;
- document.parmform.elements['set_'+identifier].value += posstext;
- }
- } else {
- document.parmform.elements['set_'+identifier].value = '';
- if (newlength < origlength) {
- alert("An exit link type of 'In use' was selected but the button text value was blank, after removing disallowed characters.\nDisallowed characters are ,\":;'");
- } else {
- alert("An exit link type of 'In use' was selected but the button text value was blank.\nPlease enter the text to use.");
- }
- return false;
- }
- }
- }
- }
- }
- }
- }
- return true;
-}
-
-function isRadioSet(name,expected) {
- var menuitems = document.getElementsByName(name);
- var radioLength = menuitems.length;
- result = false;
- if (radioLength > 1) {
- for (var j=0; j$remove');
- });
-
- \$(wrapper).delegate(".LC_remove_ipacc","click", function(e){
- e.preventDefault(); \$(this).closest("div").remove();
- })
-});
-
-
-END
-}
-
-sub done_proctor_js {
- my $defaultdone = &mt('Done');
- &js_escape(\$defaultdone);
- return <<"END";
-function toggleSecret(form,radio,key) {
- var radios = form[radio+key];
- if (radios.length) {
- for (var i=0; i $b } (keys(%lti))) {
- if (($item =~ /^\d+$/) && (ref($lti{$item}) eq 'HASH')) {
- $domltistr .= $item.':'.&escape(&escape($lti{$item}{'name'})).',';
- }
- }
- $domltistr =~ s/,$//;
- if ($domltistr) {
- $extra = 'ltid_'.$domltistr;
- }
- }
- my %courselti = &Apache::lonnet::get_course_lti($cnum,$cdom,'provider');
- if (keys(%courselti)) {
- foreach my $item (sort { $a <=> $b } keys(%courselti)) {
- if (($item =~ /^\d+$/) && (ref($courselti{$item}) eq 'HASH')) {
- $crsltistr .= $item.':'.&escape(&escape($courselti{$item}{'name'})).',';
- }
- }
- $crsltistr =~ s/,$//;
- if ($crsltistr) {
- if ($extra) {
- $extra .= '&';
- }
- $extra .= 'ltic_'.$crsltistr;
- }
- }
- if ($env{'course.'.$env{'request.course.id'}.'.menucollections'}) {
- my @colls;
- foreach my $item (split(/;/,$env{'course.'.$env{'request.course.id'}.'.menucollections'})) {
- my ($num,$value) = split(/\%/,$item);
- if ($num =~ /^\d+$/) {
- push(@colls,$num);
- }
- }
- if (@colls) {
- if ($extra) {
- $extra .= '&';
- }
- $extra .= 'menus_'.join(',',@colls);
- }
- }
- }
if ($parmlev eq 'general') {
if ($uname) {
- &print_td($r,3,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
+ &print_td($r,3,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
} elsif ($cgroup) {
- &print_td($r,6,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly,$extra);
+ &print_td($r,6,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly);
} elsif ($csec) {
- &print_td($r,9,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
+ &print_td($r,9,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
} else {
- &print_td($r,14,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
+ &print_td($r,14,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
}
} elsif ($parmlev eq 'map') {
if ($uname) {
- &print_td($r,2,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
+ &print_td($r,2,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
} elsif ($cgroup) {
- &print_td($r,5,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly,$extra);
+ &print_td($r,5,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly);
} elsif ($csec) {
- &print_td($r,8,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
+ &print_td($r,8,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
} else {
- &print_td($r,13,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
+ &print_td($r,13,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
}
} else {
if ($uname) {
@@ -1479,32 +1039,32 @@ sub print_row {
}
}
- &print_td($r,14,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
+ &print_td($r,14,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
- &print_td($r,13,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
- &print_td($r,12,'#FFDDDD',$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
- &print_td($r,11,'#FFDDDD',$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
- &print_td($r,10,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
+ &print_td($r,13,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,12,'#FFDDDD',$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,11,'#FFDDDD',$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,10,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
if ($csec) {
- &print_td($r,9,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
- &print_td($r,8,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
- &print_td($r,7,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
+ &print_td($r,9,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,8,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,7,$defbgtwo,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
}
if ($cgroup) {
- &print_td($r,6,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly,$extra);
- &print_td($r,5,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly,$extra);
- &print_td($r,4,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly,$extra);
+ &print_td($r,6,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly);
+ &print_td($r,5,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly);
+ &print_td($r,4,$defbgthree,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,$noeditgrp,$readonly);
}
if ($uname) {
if ($othergrp) {
$r->print($othergrp);
}
- &print_td($r,3,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
- &print_td($r,2,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
- &print_td($r,1,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly,$extra);
+ &print_td($r,3,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,2,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
+ &print_td($r,1,$defbgone,$result,\@outpar,$mprefix,$_,\@typeoutpar,$display,'',$readonly);
}
} # end of $parmlev if/else
@@ -1524,7 +1084,7 @@ sub print_row {
}
sub print_td {
- my ($r,$which,$defbg,$result,$outpar,$mprefix,$value,$typeoutpar,$display,$noeditgrp,$readonly,$extra)=@_;
+ my ($r,$which,$defbg,$result,$outpar,$mprefix,$value,$typeoutpar,$display,$noeditgrp,$readonly)=@_;
$r->print('');
my $nolink = 0;
@@ -1552,7 +1112,7 @@ sub print_td {
} else {
$r->print(&plink($$typeoutpar[$which],
$$display{$value},$$outpar[$which],
- $mprefix."$which",'parmform.pres','psub',$extra));
+ $mprefix."$which",'parmform.pres','psub'));
}
$r->print(' | '."\n");
}
@@ -1640,27 +1200,23 @@ sub extractResourceInformation {
my $srcf=$resource->src();
$srcf=~/\.(\w+)$/;
$$typep{$id}=$1;
- my $toolsymb;
- if ($srcf =~ /ext\.tool$/) {
- $toolsymb = $resource->symb();
- }
$$keyp{$id}='';
$$uris{$id}=$srcf;
- foreach my $key (split(/\,/,&Apache::lonnet::metadata($srcf,'allpossiblekeys',$toolsymb))) {
+ foreach my $key (split(/\,/,&Apache::lonnet::metadata($srcf,'allpossiblekeys'))) {
next if ($key!~/^parameter_/);
# Hidden parameters
- next if (&Apache::lonnet::metadata($srcf,$key.'.hidden',$toolsymb) eq 'parm');
+ next if (&Apache::lonnet::metadata($srcf,$key.'.hidden') eq 'parm');
#
# allparms is a hash of parameter names
#
- my $name=&Apache::lonnet::metadata($srcf,$key.'.name',$toolsymb);
+ my $name=&Apache::lonnet::metadata($srcf,$key.'.name');
if (!exists($$allparms{$name}) || $$allparms{$name} =~ m/^\s*$/ ) {
my ($display,$parmdis);
$display = &standard_parameter_names($name);
if ($display eq '') {
- $display= &Apache::lonnet::metadata($srcf,$key.'.display',$toolsymb);
+ $display= &Apache::lonnet::metadata($srcf,$key.'.display');
$parmdis = $display;
$parmdis =~ s/\s*\[Part.*$//g;
} else {
@@ -1669,14 +1225,14 @@ sub extractResourceInformation {
$$allparms{$name}=$parmdis;
if (ref($defkeytype)) {
$$defkeytype{$name}=
- &Apache::lonnet::metadata($srcf,$key.'.type',$toolsymb);
+ &Apache::lonnet::metadata($srcf,$key.'.type');
}
}
#
# allparts is a hash of all parts
#
- my $part= &Apache::lonnet::metadata($srcf,$key.'.part',$toolsymb);
+ my $part= &Apache::lonnet::metadata($srcf,$key.'.part');
$$allparts{$part} = &mt('Part: [_1]',$part);
#
# Remember all keys going with this resource
@@ -1722,14 +1278,6 @@ sub isdateparm {
return (($type=~/^date/) && (!($type eq 'date_interval')));
}
-# Determine if parameter type is specialized string type (i.e.,
-# not just string or string_yesno.
-
-sub is_specialstring {
- my $type=shift;
- return (($type=~/^string_/) && ($type ne 'string_yesno'));
-}
-
#
# parmmenu displays a list of the selected parameters.
# It also offers a link to show/hide the complete parameter list
@@ -1864,7 +1412,6 @@ sub lookUpTableParameter {
'buttonshide' => 'hiding',
'turnoffeditor' => 'hiding',
'encrypturl' => 'hiding',
- 'deeplink' => 'hiding',
'randomorder' => 'high_level_randomization',
'randompick' => 'high_level_randomization',
'available' => 'slots',
@@ -1880,7 +1427,6 @@ sub lookUpTableParameter {
'lenient' => 'grading',
'retrypartial' => 'tries',
'discussvote' => 'misc',
- 'texdisplay' => 'misc',
'examcode' => 'high_level_randomization',
);
}
@@ -1954,6 +1500,8 @@ sub parmboxes {
&whatIsMyCategory($tempparameter, \%categoryList);
}
#part to print the parm-list
+ $Text::Wrap::columns=60;
+ $Text::Wrap::separator='
';
$r->print(''."\n");
#Print parameters
@@ -1971,8 +1519,9 @@ sub parmboxes {
if ($$pscat[0] eq "all" || grep $_ eq $tempkey, @{$pscat}) {
$r->print(' checked="checked"');
}
- $r->print(' />'.($$allparms{$tempkey}=~/\S/ ? $$allparms{$tempkey}
- : $tempkey)
+ $r->print(' />'.($$allparms{$tempkey}=~/\S/ ?
+ Text::Wrap::wrap('',' 'x4,$$allparms{$tempkey})
+ : $tempkey)
.'
'."\n");
}
$r->print("
\n");
@@ -2142,7 +1691,7 @@ function group_or_section(caller) {
}
if (%grouphash) {
- $groups=&mt('Group').':