version 1.571, 2016/12/06 15:59:56
|
version 1.576, 2017/07/10 13:55:36
|
Line 1543 sub print_td {
|
Line 1543 sub print_td {
|
if ($readonly) { |
if ($readonly) { |
$nolink = 1; |
$nolink = 1; |
} else { |
} else { |
if ($which == 14 || $which == 15) { |
if ($which == 14 || $which == 15 || $mprefix =~ /mapalias\&/) { |
$nolink = 1; |
$nolink = 1; |
} elsif (($env{'request.course.sec'} ne '') && ($which > 12)) { |
} elsif (($env{'request.course.sec'} ne '') && ($which > 12)) { |
$nolink = 1; |
$nolink = 1; |
Line 1559 sub print_td {
|
Line 1559 sub print_td {
|
unless ($which == 2) { |
unless ($which == 2) { |
$nolink = 1; |
$nolink = 1; |
} |
} |
|
} elsif ($mprefix =~ /(encrypturl|hiddenresource)/) { |
|
if ($which == 16 || $which == 10 || $which == 6 || $which == 2) { |
|
$nolink = 1; |
|
} |
} |
} |
} |
} |
if ($nolink) { |
if ($nolink) { |
Line 1935 sub lookUpTableParameter {
|
Line 1939 sub lookUpTableParameter {
|
'retrypartial' => 'tries', |
'retrypartial' => 'tries', |
'discussvote' => 'misc', |
'discussvote' => 'misc', |
'examcode' => 'high_level_randomization', |
'examcode' => 'high_level_randomization', |
); |
); |
} |
} |
|
|
# Adds the given parameter name to an array of arrays listing all parameters for each category. |
# Adds the given parameter name to an array of arrays listing all parameters for each category. |
Line 2029 sub parmboxes {
|
Line 2033 sub parmboxes {
|
$r->print('<div class="LC_Box LC_400Box">' |
$r->print('<div class="LC_Box LC_400Box">' |
.'<h4 class="LC_hcell">'.&mt($categories{$key}).'</h4>'."\n"); |
.'<h4 class="LC_hcell">'.&mt($categories{$key}).'</h4>'."\n"); |
foreach my $tempkey (&keysindisplayorderCategory($categoryList{$key},$keyorder)) { |
foreach my $tempkey (&keysindisplayorderCategory($categoryList{$key},$keyorder)) { |
|
next if ($tempkey eq ''); |
$r->print('<span class="LC_nobreak">' |
$r->print('<span class="LC_nobreak">' |
.'<label><input type="checkbox" name="pscat" ' |
.'<label><input type="checkbox" name="pscat" ' |
.'value="'.$tempkey.'" '); |
.'value="'.$tempkey.'" '); |
Line 3532 my $tableopen; # boolean, true if HTML t
|
Line 3537 my $tableopen; # boolean, true if HTML t
|
# @param {boolean} $readonly - true if values cannot be edited (otherwise more columns are added) |
# @param {boolean} $readonly - true if values cannot be edited (otherwise more columns are added) |
# @returns {string} |
# @returns {string} |
sub tablestart { |
sub tablestart { |
my ($readonly) = @_; |
my ($readonly,$is_map) = @_; |
if ($tableopen) { |
if ($tableopen) { |
return ''; |
return ''; |
} else { |
} else { |
Line 3541 sub tablestart {
|
Line 3546 sub tablestart {
|
if ($readonly) { |
if ($readonly) { |
$output .= '<th>'.&mt('Current value').'</th>'; |
$output .= '<th>'.&mt('Current value').'</th>'; |
} else { |
} else { |
$output .= '<th>'.&mt('Delete').'</th><th>'.&mt('Set to ...').'</th>'; |
$output .= '<th>'.&mt('Delete').'</th>'. |
|
'<th>'.&mt('Set to ...').'</th>'; |
|
if ($is_map) { |
|
$output .= '<th>'.&mt('Recursive?').'</th>'; |
|
} |
} |
} |
$output .= '</tr>'; |
$output .= '</tr>'; |
return $output; |
return $output; |
Line 3620 sub storedata {
|
Line 3629 sub storedata {
|
my %newdata=(); |
my %newdata=(); |
undef %newdata; |
undef %newdata; |
my @deldata=(); |
my @deldata=(); |
|
my @delrec=(); |
|
my @delnonrec=(); |
undef @deldata; |
undef @deldata; |
my ($got_chostname,$chostname,$cmajor,$cminor); |
my ($got_chostname,$chostname,$cmajor,$cminor); |
my $now = time; |
my $now = time; |
Line 3627 sub storedata {
|
Line 3638 sub storedata {
|
if ($key =~ /^form\.([a-z]+)\_(.+)$/) { |
if ($key =~ /^form\.([a-z]+)\_(.+)$/) { |
my $cmd=$1; |
my $cmd=$1; |
my $thiskey=$2; |
my $thiskey=$2; |
next if ($cmd eq 'settext' || $cmd eq 'setipallow' || $cmd eq 'setipdeny'); |
my ($altkey,$recursive,$tkey,$tkeyrec,$tkeynonrec); |
|
next if ($cmd eq 'rec' || $cmd eq 'settext' || $cmd eq 'setipallow' || $cmd eq 'setipdeny'); |
|
if ((($cmd eq 'set') || ($cmd eq 'datepointer') || ($cmd eq 'dateinterval') || ($cmd eq 'del')) && |
|
($thiskey =~ /(?:sequence|page)\Q___(all)\E/)) { |
|
unless ($thiskey =~ /(encrypturl|hiddenresource)$/) { |
|
$altkey = $thiskey; |
|
$altkey =~ s/\Q___(all)\E/___(rec)/; |
|
if ($env{'form.rec_'.$thiskey}) { |
|
$recursive = 1; |
|
} |
|
} |
|
} |
my ($tuname,$tudom)=&extractuser($thiskey); |
my ($tuname,$tudom)=&extractuser($thiskey); |
my $tkey=$thiskey; |
|
if ($tuname) { |
if ($tuname) { |
|
$tkey=$thiskey; |
$tkey=~s/\.\[useropt\:$tuname\:$tudom\]\./\./; |
$tkey=~s/\.\[useropt\:$tuname\:$tudom\]\./\./; |
|
if ($altkey) { |
|
$tkeynonrec = $tkey; |
|
$tkeyrec = $altkey; |
|
$tkeyrec=~s/\.\[useropt\:$tuname\:$tudom\]\./\./; |
|
} |
} |
} |
if ($cmd eq 'set' || $cmd eq 'datepointer' || $cmd eq 'dateinterval') { |
if ($cmd eq 'set' || $cmd eq 'datepointer' || $cmd eq 'dateinterval') { |
my ($data, $typeof, $text, $name, $valchk, $valmatch, $namematch); |
my ($data, $typeof, $text, $name, $valchk, $valmatch, $namematch); |
Line 3715 sub storedata {
|
Line 3742 sub storedata {
|
$typeof=$env{'form.typeof_'.$thiskey}; |
$typeof=$env{'form.typeof_'.$thiskey}; |
$text = &mt('Saved modified date for'); |
$text = &mt('Saved modified date for'); |
} |
} |
if ($thiskey =~ m{\.(?:sequence|page)___\(rec\)}) { |
if ($recursive) { |
$namematch = 'maplevelrecurse'; |
$namematch = 'maplevelrecurse'; |
} |
} |
if (($name ne '') || ($namematch ne '')) { |
if (($name ne '') || ($namematch ne '')) { |
Line 3762 sub storedata {
|
Line 3789 sub storedata {
|
next; |
next; |
} |
} |
} |
} |
if (defined($data) and $$olddata{$thiskey} ne $data) { |
my ($reconlychg,$haschange,$storekey); |
if ($tuname) { |
if ($tuname) { |
if (&Apache::lonnet::put('resourcedata',{$tkey=>$data, |
my $ustorekey; |
$tkey.'.type' => $typeof}, |
if ($altkey) { |
$tudom,$tuname) eq 'ok') { |
if ($recursive) { |
&log_parmset({$tkey=>$data,$tkey.'.type' => $typeof},0,$tuname,$tudom); |
if (exists($$olddata{$thiskey})) { |
$r->print('<br />'.$text.' '. |
if ($$olddata{$thiskey} eq $data) { |
&Apache::loncommon::plainname($tuname,$tudom)); |
$reconlychg = 1; |
|
} |
|
&Apache::lonnet::del('resourcedata',[$tkeynonrec,$tkeynonrec.'.type'],$tudom,$tuname); |
|
} |
|
if (exists($$olddata{$altkey})) { |
|
if (defined($data) && $$olddata{$altkey} ne $data) { |
|
$haschange = 1; |
|
} |
|
} elsif ((!$reconlychg) && ($data ne '')) { |
|
$haschange = 1; |
|
} |
|
$ustorekey = $tkeyrec; |
} else { |
} else { |
$r->print('<div class="LC_error">'. |
if (exists($$olddata{$altkey})) { |
&mt('Error saving parameters').'</div>'); |
if ($$olddata{$altkey} eq $data) { |
|
$reconlychg = 1; |
|
} |
|
&Apache::lonnet::del('resourcedata',[$tkeyrec,$tkeyrec.'.type'],$tudom,$tuname); |
|
} |
|
if (exists($$olddata{$thiskey})) { |
|
if (defined($data) && $$olddata{$thiskey} ne $data) { |
|
$haschange = 1; |
|
} |
|
} elsif ((!$reconlychg) && ($data ne '')) { |
|
$haschange = 1; |
|
} |
|
$ustorekey = $tkeynonrec; |
} |
} |
&Apache::lonnet::devalidateuserresdata($tuname,$tudom); |
|
} else { |
} else { |
$newdata{$thiskey}=$data; |
if (exists($$olddata{$tkey})) { |
$newdata{$thiskey.'.type'}=$typeof; |
if (defined($data) && $$olddata{$tkey} ne $data) { |
|
$haschange = 1; |
|
} |
|
$ustorekey = $tkey; |
|
} |
|
} |
|
if ($haschange || $reconlychg) { |
|
unless ($env{'form.del_'.$thiskey}) { |
|
if (&Apache::lonnet::put('resourcedata',{$ustorekey=>$data, |
|
$ustorekey.'.type' => $typeof}, |
|
$tudom,$tuname) eq 'ok') { |
|
&log_parmset({$ustorekey=>$data,$ustorekey.'.type' => $typeof},0,$tuname,$tudom); |
|
$r->print('<br />'.$text.' '. |
|
&Apache::loncommon::plainname($tuname,$tudom)); |
|
} else { |
|
$r->print('<div class="LC_error">'. |
|
&mt('Error saving parameters').'</div>'); |
|
} |
|
&Apache::lonnet::devalidateuserresdata($tuname,$tudom); |
|
} |
|
} |
|
} else { |
|
if ($altkey) { |
|
if ($recursive) { |
|
if (exists($$olddata{$thiskey})) { |
|
if ($$olddata{$thiskey} eq $data) { |
|
$reconlychg = 1; |
|
} |
|
push(@delnonrec,($thiskey,$thiskey.'.type')); |
|
} |
|
if (exists($$olddata{$altkey})) { |
|
if (defined($data) && $$olddata{$altkey} ne $data) { |
|
$haschange = 1; |
|
} |
|
} elsif (($data ne '') && (!$reconlychg)) { |
|
$haschange = 1; |
|
} |
|
$storekey = $altkey; |
|
} else { |
|
if (exists($$olddata{$altkey})) { |
|
if ($$olddata{$altkey} eq $data) { |
|
$reconlychg = 1; |
|
} |
|
push(@delrec,($altkey,$altkey.'.type')); |
|
} |
|
if (exists($$olddata{$thiskey})) { |
|
if (defined($data) && $$olddata{$thiskey} ne $data) { |
|
$haschange = 1; |
|
} |
|
} elsif (($data ne '') && (!$reconlychg)) { |
|
$haschange = 1; |
|
} |
|
$storekey = $thiskey; |
|
} |
|
} else { |
|
if (defined($data) && $$olddata{$thiskey} ne $data) { |
|
$haschange = 1; |
|
$storekey = $thiskey; |
|
} |
|
} |
|
} |
|
if ($reconlychg || $haschange) { |
|
unless ($env{'form.del_'.$thiskey}) { |
|
$newdata{$storekey}=$data; |
|
$newdata{$storekey.'.type'}=$typeof; |
} |
} |
} |
} |
} elsif ($cmd eq 'del') { |
} elsif ($cmd eq 'del') { |
if ($tuname) { |
if ($tuname) { |
if (&Apache::lonnet::del('resourcedata',[$tkey],$tudom,$tuname) eq 'ok') { |
my $error; |
&log_parmset({$tkey=>''},1,$tuname,$tudom); |
if ($altkey) { |
$r->print('<br />'.&mt('Deleted parameter for').' '.&Apache::loncommon::plainname($tuname,$tudom)); |
if (exists($$olddata{$altkey})) { |
|
if (&Apache::lonnet::del('resourcedata',[$tkeyrec,$tkeyrec.'.type'],$tudom,$tuname) eq 'ok') { |
|
&log_parmset({$tkeyrec=>''},1,$tuname,$tudom); |
|
if ($recursive) { |
|
$r->print('<br />'.&mt('Deleted parameter for').' '.&Apache::loncommon::plainname($tuname,$tudom)); |
|
} |
|
} elsif ($recursive) { |
|
$error = 1; |
|
} |
|
} |
|
if (exists($$olddata{$thiskey})) { |
|
if (&Apache::lonnet::del('resourcedata',[$tkeynonrec,$tkeynonrec.'.type'],$tudom,$tuname) eq 'ok') { |
|
&log_parmset({$tkeynonrec=>''},1,$tuname,$tudom); |
|
unless ($recursive) { |
|
$r->print('<br />'.&mt('Deleted parameter for').' '.&Apache::loncommon::plainname($tuname,$tudom)); |
|
} |
|
} elsif (!$recursive) { |
|
$error = 1; |
|
} |
|
} |
} else { |
} else { |
|
if (exists($$olddata{$thiskey})) { |
|
if (&Apache::lonnet::del('resourcedata',[$tkey,$tkey.'.type'],$tudom,$tuname) eq 'ok') { |
|
&log_parmset({$tkey=>''},1,$tuname,$tudom); |
|
$r->print('<br />'.&mt('Deleted parameter for').' '.&Apache::loncommon::plainname($tuname,$tudom)); |
|
} else { |
|
$error = 1; |
|
} |
|
} |
|
} |
|
if ($error) { |
$r->print('<div class="LC_error">'. |
$r->print('<div class="LC_error">'. |
&mt('Error deleting parameters').'</div>'); |
&mt('Error deleting parameters').'</div>'); |
} |
} |
&Apache::lonnet::devalidateuserresdata($tuname,$tudom); |
&Apache::lonnet::devalidateuserresdata($tuname,$tudom); |
} else { |
} else { |
push (@deldata,$thiskey,$thiskey.'.type'); |
if ($altkey) { |
|
if (exists($$olddata{$altkey})) { |
|
unless (grep(/^\Q$altkey\E$/,@delrec)) { |
|
push(@deldata,($altkey,$altkey.'.type')); |
|
} |
|
} |
|
if (exists($$olddata{$thiskey})) { |
|
unless (grep(/^\Q$thiskey\E$/,@delnonrec)) { |
|
push(@deldata,($thiskey,$thiskey.'.type')); |
|
} |
|
} |
|
} elsif (exists($$olddata{$thiskey})) { |
|
push(@deldata,($thiskey,$thiskey.'.type')); |
|
} |
} |
} |
} |
} |
} |
} |
} |
} |
# Store all course level |
# Store all course level |
my $delentries=$#deldata+1; |
my $delentries=$#deldata+1; |
|
my @alldels; |
|
if (@delrec) { |
|
push(@alldels,@delrec); |
|
} |
|
if (@delnonrec) { |
|
push(@alldels,@delnonrec); |
|
} |
|
if (@deldata) { |
|
push(@alldels,@deldata); |
|
} |
my @newdatakeys=keys(%newdata); |
my @newdatakeys=keys(%newdata); |
my $putentries=$#newdatakeys+1; |
my $putentries=$#newdatakeys+1; |
if ($delentries) { |
my ($delresult,$devalidate); |
if (&Apache::lonnet::del('resourcedata',\@deldata,$dom,$crs) eq 'ok') { |
if (@alldels) { |
my %loghash=map { $_ => '' } @deldata; |
if (&Apache::lonnet::del('resourcedata',\@alldels,$dom,$crs) eq 'ok') { |
|
my %loghash=map { $_ => '' } @alldels; |
&log_parmset(\%loghash,1); |
&log_parmset(\%loghash,1); |
$r->print('<h2>'.&mt('Deleted [quant,_1,parameter]',$delentries/2).'</h2>'); |
if ($delentries) { |
} else { |
$r->print('<h2>'.&mt('Deleted [quant,_1,parameter]',$delentries/2).'</h2>'); |
|
} |
|
} elsif ($delentries) { |
$r->print('<div class="LC_error">'. |
$r->print('<div class="LC_error">'. |
&mt('Error deleting parameters').'</div>'); |
&mt('Error deleting parameters').'</div>'); |
} |
} |
&Apache::lonnet::devalidatecourseresdata($crs,$dom); |
$devalidate = 1; |
} |
} |
if ($putentries) { |
if ($putentries) { |
if (&Apache::lonnet::put('resourcedata',\%newdata,$dom,$crs) eq 'ok') { |
if (&Apache::lonnet::put('resourcedata',\%newdata,$dom,$crs) eq 'ok') { |
Line 3819 sub storedata {
|
Line 3987 sub storedata {
|
$r->print('<div class="LC_error">'. |
$r->print('<div class="LC_error">'. |
&mt('Error saving parameters').'</div>'); |
&mt('Error saving parameters').'</div>'); |
} |
} |
|
$devalidate = 1; |
|
} |
|
if ($devalidate) { |
&Apache::lonnet::devalidatecourseresdata($crs,$dom); |
&Apache::lonnet::devalidatecourseresdata($crs,$dom); |
} |
} |
} |
} |
Line 3890 sub listdata {
|
Line 4061 sub listdata {
|
} |
} |
} |
} |
|
|
foreach my $thiskey (sort { |
foreach my $key (sort { |
my ($astudent,$ares,$apart,$aparm) = &parse_listdata_key($a,$listdata); |
my ($astudent,$ares,$apart,$aparm) = &parse_listdata_key($a,$listdata); |
my ($bstudent,$bres,$bpart,$bparm) = &parse_listdata_key($b,$listdata); |
my ($bstudent,$bres,$bpart,$bparm) = &parse_listdata_key($b,$listdata); |
|
|
Line 3930 sub listdata {
|
Line 4101 sub listdata {
|
|
|
$result; |
$result; |
|
|
} keys(%{$listdata})) { # foreach my $thiskey |
} keys(%{$listdata})) { # foreach my $key |
|
my $thiskey = $key; |
if ($$listdata{$thiskey.'.type'}) { |
if ($$listdata{$thiskey.'.type'}) { |
my $thistype=$$listdata{$thiskey.'.type'}; |
my $thistype=$$listdata{$thiskey.'.type'}; |
if ($$resourcedata{$thiskey.'.type'}) { |
if ($$resourcedata{$thiskey.'.type'}) { |
$thistype=$$resourcedata{$thiskey.'.type'}; |
$thistype=$$resourcedata{$thiskey.'.type'}; |
} |
} |
my ($middle,$part,$name)= |
my ($middle,$part,$name)= |
($thiskey=~/^$env{'request.course.id'}\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/); |
($thiskey=~/^$env{'request.course.id'}\.(?:(.+)\.)*([\w\s\-]+)\.(\w+)$/); |
my $section=&mt('All Students'); |
my $section=&mt('All Students'); |
|
my $showval = $$resourcedata{$thiskey}; |
if ($middle=~/^\[(.*)\]/) { |
if ($middle=~/^\[(.*)\]/) { |
my $issection=$1; |
my $issection=$1; |
if ($issection=~/^useropt\:($match_username)\:($match_domain)/) { |
if ($issection=~/^useropt\:($match_username)\:($match_domain)/) { |
Line 3972 sub listdata {
|
Line 4144 sub listdata {
|
$middle=~s/\.+$//; |
$middle=~s/\.+$//; |
$middle=~s/^\.+//; |
$middle=~s/^\.+//; |
my $realm='<span class="LC_parm_scope_all">'.&mt('All Resources').'</span>'; |
my $realm='<span class="LC_parm_scope_all">'.&mt('All Resources').'</span>'; |
if ($middle=~/^(.+)\_\_\_\((all|rec)\)$/) { |
my ($is_map,$is_recursive,$mapurl,$maplevel); |
my $mapurl = $1; |
if ($caller eq 'overview') { |
my $maplevel = $2; |
if ($middle=~/^(.+)\_\_\_\((all|rec)\)$/) { |
|
$mapurl = $1; |
|
$maplevel = $2; |
|
$is_map = 1; |
|
} |
|
} elsif ($caller eq 'newoverview') { |
|
if ($middle=~/^(.+)\_\_\_\((all)\)$/) { |
|
$mapurl = $1; |
|
$maplevel = $2; |
|
$is_map = 1; |
|
} |
|
} |
|
if ($is_map) { |
my $leveltitle = &mt('Folder/Map'); |
my $leveltitle = &mt('Folder/Map'); |
if ($maplevel eq 'rec') { |
unless (($name eq 'hiddenresource') || ($name eq 'encrypturl')) { |
$leveltitle = &mt('Recursive'); |
if ($caller eq 'newoverview') { |
|
my $altkey = $thiskey; |
|
$altkey =~ s/\Q___(all)\E/___(rec)/; |
|
if ((exists($$resourcedata{$altkey})) & (!exists($$resourcedata{$thiskey}))) { |
|
$is_recursive = 1; |
|
if ($$resourcedata{$altkey.'.type'}) { |
|
$thistype=$$resourcedata{$altkey.'.type'}; |
|
} |
|
$showval = $$resourcedata{$altkey}; |
|
} |
|
} elsif (($caller eq 'overview') && ($maplevel eq 'rec')) { |
|
$thiskey =~ s/\Q___(rec)\E/___(all)/; |
|
$is_recursive = 1; |
|
} |
} |
} |
$realm='<span class="LC_parm_scope_folder">'.$leveltitle.': '.&Apache::lonnet::gettitle($mapurl).' <br /><span class="LC_parm_folder">('.$mapurl.')</span></span>'; |
$realm='<span class="LC_parm_scope_folder">'.$leveltitle.': '.&Apache::lonnet::gettitle($mapurl).' <br /><span class="LC_parm_folder">('.$mapurl.')</span></span>'; |
} elsif ($middle) { |
} elsif ($middle) { |
Line 4019 sub listdata {
|
Line 4216 sub listdata {
|
# Ready to print |
# Ready to print |
# |
# |
my $parmitem = &standard_parameter_names($name); |
my $parmitem = &standard_parameter_names($name); |
$r->print(&tablestart($readonly). |
$r->print(&tablestart($readonly,$is_map). |
&Apache::loncommon::start_data_table_row(). |
&Apache::loncommon::start_data_table_row(). |
'<td><b>'.&mt($parmitem). |
'<td><b>'.&mt($parmitem). |
'</b></td>'); |
'</b></td>'); |
Line 4039 sub listdata {
|
Line 4236 sub listdata {
|
$r->print( |
$r->print( |
&Apache::lonhtmlcommon::date_setter('parmform', |
&Apache::lonhtmlcommon::date_setter('parmform', |
$jskey, |
$jskey, |
$$resourcedata{$thiskey}, |
$showval, |
'',1,$state)); |
'',1,$state)); |
unless ($readonly) { |
unless ($readonly) { |
$r->print( |
$r->print( |
'<input type="hidden" name="datepointer_'.$thiskey.'" value="'.$jskey.'" />'. |
'<input type="hidden" name="datepointer_'.$thiskey.'" value="'.$jskey.'" />'. |
(($$resourcedata{$thiskey}!=0)?'<span class="LC_nobreak"><a href="/adm/parmset?&action=dateshift1&timebase='.$$resourcedata{$thiskey}.'">'. |
(($showval!=0)?'<span class="LC_nobreak"><a href="/adm/parmset?&action=dateshift1&timebase='.$showval.'">'. |
&mt('Shift all dates based on this date').'</a></span>':''). |
&mt('Shift all dates based on this date').'</a></span>':''). |
&date_sanity_info($$resourcedata{$thiskey}) |
&date_sanity_info($showval) |
); |
); |
} |
} |
} elsif ($thistype eq 'date_interval') { |
} elsif ($thistype eq 'date_interval') { |
$r->print(&date_interval_selector($thiskey,$name, |
$r->print(&date_interval_selector($thiskey,$name, |
$$resourcedata{$thiskey},$readonly)); |
$showval,$readonly)); |
} elsif ($thistype =~ m/^string/) { |
} elsif ($thistype =~ m/^string/) { |
$r->print(&string_selector($thistype,$thiskey, |
$r->print(&string_selector($thistype,$thiskey, |
$$resourcedata{$thiskey},$name,$readonly)); |
$showval,$name,$readonly)); |
} else { |
} else { |
$r->print(&default_selector($thiskey,$$resourcedata{$thiskey},$readonly)); |
$r->print(&default_selector($thiskey,$showval,$readonly)); |
} |
} |
unless ($readonly) { |
unless ($readonly) { |
$r->print('<input type="hidden" name="typeof_'.$thiskey.'" value="'. |
$r->print('<input type="hidden" name="typeof_'.$thiskey.'" value="'. |
$thistype.'" />'); |
$thistype.'" />'); |
} |
} |
$r->print('</td>'.&Apache::loncommon::end_data_table_row()); |
$r->print('</td>'); |
|
if ($is_map) { |
|
if (($name eq 'encrypturl') || ($name eq 'hiddenresource')) { |
|
$r->print('<td><table><tr><td>'.&mt('Yes').'</td></tr></table></td>'); |
|
} else { |
|
my ($disabled,$recon,$recoff); |
|
if ($readonly) { |
|
$disabled = ' disabled="disabled"'; |
|
} |
|
if ($is_recursive) { |
|
$recon = ' checked="checked"'; |
|
} else { |
|
$recoff = ' checked="checked"'; |
|
} |
|
$r->print('<td><table><tr><td><label><input type="radio" name="rec_'.$thiskey.'" value="1"'.$recon.$disabled.' />'.&mt('Yes').'</label>'. |
|
'</td><td><label><input type="radio" name="rec_'.$thiskey.'" value="0"'.$recoff.$disabled.' />'.&mt('No').'</label></td></tr></table></td>'); |
|
} |
|
} |
|
$r->print(&Apache::loncommon::end_data_table_row()); |
} |
} |
} |
} |
return $foundkeys; |
return $foundkeys; |
Line 4936 sub secgroup_lister {
|
Line 5151 sub secgroup_lister {
|
my $newparmkey=$rootparmkey.'.'.$$allmaps{$mapid}.'___(all).'.$part.'.'.$cat; |
my $newparmkey=$rootparmkey.'.'.$$allmaps{$mapid}.'___(all).'.$part.'.'.$cat; |
$$listdata{$newparmkey}=1; |
$$listdata{$newparmkey}=1; |
$$listdata{$newparmkey.'.type'}=$$defkeytype{$cat}; |
$$listdata{$newparmkey.'.type'}=$$defkeytype{$cat}; |
$newparmkey=$rootparmkey.'.'.$$allmaps{$mapid}.'___(rec).'.$part.'.'.$cat; |
|
$$listdata{$newparmkey}=1; |
|
$$listdata{$newparmkey.'.type'}=$$defkeytype{$cat}; |
|
} |
} |
} else { |
} else { |
# resource-level parameter |
# resource-level parameter |
Line 5186 sub parse_key {
|
Line 5398 sub parse_key {
|
my ($key) = @_; |
my ($key) = @_; |
my %data; |
my %data; |
my ($middle,$part,$name)= |
my ($middle,$part,$name)= |
($key=~/^$env{'request.course.id'}\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/); |
($key=~/^$env{'request.course.id'}\.(?:(.+)\.)*([\w\s\-]+)\.(\w+)$/); |
$data{'scope_type'} = 'all'; |
$data{'scope_type'} = 'all'; |
if ($middle=~/^\[(.*)\]/) { |
if ($middle=~/^\[(.*)\]/) { |
$data{'scope'} = $1; |
$data{'scope'} = $1; |
Line 5938 sub components {
|
Line 6150 sub components {
|
} |
} |
|
|
my ($middle,$part,$name)= |
my ($middle,$part,$name)= |
($key=~/^$env{'request.course.id'}\.(?:(.+)\.)*([\w\s]+)\.(\w+)$/); |
($key=~/^$env{'request.course.id'}\.(?:(.+)\.)*([\w\s\-]+)\.(\w+)$/); |
my $issection; |
my $issection; |
|
|
my $section=&mt('All Students'); |
my $section=&mt('All Students'); |
Line 5998 sub load_parameter_names {
|
Line 6210 sub load_parameter_names {
|
close($config); |
close($config); |
$standard_parms{'int_pos'} = 'Positive Integer'; |
$standard_parms{'int_pos'} = 'Positive Integer'; |
$standard_parms{'int_zero_pos'} = 'Positive Integer or Zero'; |
$standard_parms{'int_zero_pos'} = 'Positive Integer or Zero'; |
|
$standard_parms{'scoreformat'} = 'Format for display of score'; |
} |
} |
|
|
# Returns a parameter title for standard parameters, the name for others. |
# Returns a parameter title for standard parameters, the name for others. |