version 1.230, 2014/03/29 20:25:28
|
version 1.231, 2014/03/29 20:35:21
|
Line 213 sub handler {
|
Line 213 sub handler {
|
'contacts','defaults','scantron','coursecategories', |
'contacts','defaults','scantron','coursecategories', |
'serverstatuses','requestcourses','helpsettings', |
'serverstatuses','requestcourses','helpsettings', |
'coursedefaults','usersessions','loadbalancing', |
'coursedefaults','usersessions','loadbalancing', |
'requestauthor'],$dom); |
'requestauthor','selfenrollment'],$dom); |
my @prefs_order = ('rolecolors','login','defaults','quotas','autoenroll', |
my @prefs_order = ('rolecolors','login','defaults','quotas','autoenroll', |
'autoupdate','autocreate','directorysrch','contacts', |
'autoupdate','autocreate','directorysrch','contacts', |
'usercreation','selfcreation','usermodification','scantron', |
'usercreation','selfcreation','usermodification','scantron', |
'requestcourses','requestauthor','coursecategories', |
'requestcourses','requestauthor','coursecategories', |
'serverstatuses','helpsettings', |
'serverstatuses','helpsettings', |
'coursedefaults','usersessions'); |
'coursedefaults','selfenrollment','usersessions'); |
my %existing; |
my %existing; |
if (ref($domconfig{'loadbalancing'}) eq 'HASH') { |
if (ref($domconfig{'loadbalancing'}) eq 'HASH') { |
%existing = %{$domconfig{'loadbalancing'}}; |
%existing = %{$domconfig{'loadbalancing'}}; |
Line 417 sub handler {
|
Line 417 sub handler {
|
print => \&print_coursedefaults, |
print => \&print_coursedefaults, |
modify => \&modify_coursedefaults, |
modify => \&modify_coursedefaults, |
}, |
}, |
|
'selfenrollment' => |
|
{text => 'Self-enrollment in Course/Community', |
|
help => 'Domain_Configuration_Selfenrollment', |
|
header => [{col1 => 'Configuration Rights', |
|
col2 => 'Configured by Course Personnel or Domain Coordinator?'}, |
|
{col1 => 'Defaults', |
|
col2 => 'Value'}, |
|
{col1 => 'Self-enrollment validation (optional)', |
|
col2 => 'Value'},], |
|
print => \&print_selfenrollment, |
|
modify => \&modify_selfenrollment, |
|
}, |
'privacy' => |
'privacy' => |
{text => 'User Privacy', |
{text => 'User Privacy', |
help => 'Domain_Configuration_User_Privacy', |
help => 'Domain_Configuration_User_Privacy', |
Line 613 sub process_changes {
|
Line 625 sub process_changes {
|
$output = &modify_helpsettings($r,$dom,$confname,%domconfig); |
$output = &modify_helpsettings($r,$dom,$confname,%domconfig); |
} elsif ($action eq 'coursedefaults') { |
} elsif ($action eq 'coursedefaults') { |
$output = &modify_coursedefaults($dom,$lastactref,%domconfig); |
$output = &modify_coursedefaults($dom,$lastactref,%domconfig); |
|
} elsif ($action eq 'selfenrollment') { |
|
$output = &modify_selfenrollment($dom,$lastactref,%domconfig) |
} elsif ($action eq 'usersessions') { |
} elsif ($action eq 'usersessions') { |
$output = &modify_usersessions($dom,$lastactref,%domconfig); |
$output = &modify_usersessions($dom,$lastactref,%domconfig); |
} elsif ($action eq 'loadbalancing') { |
} elsif ($action eq 'loadbalancing') { |
Line 2819 sub print_coursedefaults {
|
Line 2833 sub print_coursedefaults {
|
return $datatable; |
return $datatable; |
} |
} |
|
|
|
sub print_selfenrollment { |
|
my ($position,$dom,$settings,$rowtotal) = @_; |
|
my ($css_class,$datatable); |
|
my $itemcount = 1; |
|
my @types = ('official','unofficial','community','textbook'); |
|
if (($position eq 'top') || ($position eq 'middle')) { |
|
my ($rowsref,$titlesref) = &get_selfenroll_titles(); |
|
my %descs = &selfenroll_default_descs(); |
|
my @rows; |
|
my $key; |
|
if ($position eq 'top') { |
|
$key = 'admin'; |
|
if (ref($rowsref) eq 'ARRAY') { |
|
@rows = @{$rowsref}; |
|
} |
|
} elsif ($position eq 'middle') { |
|
$key = 'default'; |
|
@rows = ('types','registered','approval','limit'); |
|
} |
|
foreach my $row (@rows) { |
|
if (defined($titlesref->{$row})) { |
|
$itemcount ++; |
|
$css_class = $itemcount%2?' class="LC_odd_row"':''; |
|
$datatable .= '<tr'.$css_class.'>'. |
|
'<td>'.$titlesref->{$row}.'</td>'. |
|
'<td class="LC_left_item">'. |
|
'<table><tr>'; |
|
my (%current,%currentcap); |
|
if (ref($settings) eq 'HASH') { |
|
if (ref($settings->{$key}) eq 'HASH') { |
|
foreach my $type (@types) { |
|
if (ref($settings->{$key}->{$type}) eq 'HASH') { |
|
$current{$type} = $settings->{$key}->{$type}->{$row}; |
|
} |
|
if (($row eq 'limit') && ($key eq 'default')) { |
|
if (ref($settings->{$key}->{$type}) eq 'HASH') { |
|
$currentcap{$type} = $settings->{$key}->{$type}->{'cap'}; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
my %roles = ( |
|
'0' => &Apache::lonnet::plaintext('dc'), |
|
); |
|
|
|
foreach my $type (@types) { |
|
unless (($row eq 'registered') && ($key eq 'default')) { |
|
$datatable .= '<th>'.&mt($type).'</th>'; |
|
} |
|
} |
|
unless (($row eq 'registered') && ($key eq 'default')) { |
|
$datatable .= '</tr><tr>'; |
|
} |
|
foreach my $type (@types) { |
|
if ($type eq 'community') { |
|
$roles{'1'} = &mt('Community personnel'); |
|
} else { |
|
$roles{'1'} = &mt('Course personnel'); |
|
} |
|
$datatable .= '<td style="vertical-align: top">'; |
|
if ($position eq 'top') { |
|
my %checked; |
|
if ($current{$type} eq '0') { |
|
$checked{'0'} = ' checked="checked"'; |
|
} else { |
|
$checked{'1'} = ' checked="checked"'; |
|
} |
|
foreach my $role ('1','0') { |
|
$datatable .= '<span class="LC_nobreak"><label>'. |
|
'<input type="radio" name="selfenrolladmin_'.$row.'_'.$type.'" '. |
|
'value="'.$role.'"'.$checked{$role}.' />'. |
|
$roles{$role}.'</label></span> '; |
|
} |
|
} else { |
|
if ($row eq 'types') { |
|
my %checked; |
|
if ($current{$type} =~ /^(all|dom)$/) { |
|
$checked{$1} = ' checked="checked"'; |
|
} else { |
|
$checked{''} = ' checked="checked"'; |
|
} |
|
foreach my $val ('','dom','all') { |
|
$datatable .= '<span class="LC_nobreak"><label>'. |
|
'<input type ="radio" name="selfenrolldefault_'.$row.'_'.$type.'" '. |
|
'value="'.$val.'"'.$checked{$val}.' />'.$descs{$row}{$val}.'</label></span> '; |
|
} |
|
} elsif ($row eq 'registered') { |
|
my %checked; |
|
if ($current{$type} eq '1') { |
|
$checked{'1'} = ' checked="checked"'; |
|
} else { |
|
$checked{'0'} = ' checked="checked"'; |
|
} |
|
foreach my $val ('0','1') { |
|
$datatable .= '<span class="LC_nobreak"><label>'. |
|
'<input type ="radio" name="selfenrolldefault_'.$row.'_'.$type.'" '. |
|
'value="'.$val.'"'.$checked{$val}.' />'.$descs{$row}{$val}.'</label></span> '; |
|
} |
|
} elsif ($row eq 'approval') { |
|
my %checked; |
|
if ($current{$type} =~ /^([12])$/) { |
|
$checked{$1} = ' checked="checked"'; |
|
} else { |
|
$checked{'0'} = ' checked="checked"'; |
|
} |
|
for my $val (0..2) { |
|
$datatable .= '<span class="LC_nobreak"><label>'. |
|
'<input type="radio" name="selfenrolldefault_'.$row.'_'.$type.'" '. |
|
'value="'.$val.'"'.$checked{$val}.' />'.$descs{$row}{$val}.'</label></span> '; |
|
} |
|
} elsif ($row eq 'limit') { |
|
my %checked; |
|
if ($current{$type} =~ /^(allstudents|selfenrolled)$/) { |
|
$checked{$1} = ' checked="checked"'; |
|
} else { |
|
$checked{'none'} = ' checked="checked"'; |
|
} |
|
my $cap; |
|
if ($currentcap{$type} =~ /^\d+$/) { |
|
$cap = $currentcap{$type}; |
|
} |
|
foreach my $val ('none','allstudents','selfenrolled') { |
|
$datatable .= '<span class="LC_nobreak"><label>'. |
|
'<input type="radio" name="selfenrolldefault_'.$row.'_'.$type.'" '. |
|
'value="'.$val.'"'.$checked{$val}.' />'.$descs{$row}{$val}.'</label></span> '; |
|
} |
|
$datatable .= '<br />'. |
|
'<span class="LC_nobreak">'.&mt('Maximum allowed: '). |
|
'<input type="text" name="selfenrolldefault_cap_'.$type.'" size = "5" value="'.$cap.'" />'. |
|
'</span>'; |
|
} |
|
} |
|
$datatable .= '</td>'; |
|
} |
|
$datatable .= '</tr>'; |
|
} |
|
$datatable .= '</table></td></tr>'; |
|
} |
|
} elsif ($position eq 'bottom') { |
|
my ($itemsref,$namesref,$fieldsref) = &selfenroll_validation_types(); |
|
my %currvalidation; |
|
if (ref($settings) eq 'HASH') { |
|
if (ref($settings->{'validation'}) eq 'HASH') { |
|
%currvalidation = %{$settings->{'validation'}}; |
|
} |
|
} |
|
foreach my $item (@{$itemsref}) { |
|
$css_class = $itemcount%2 ? ' class="LC_odd_row"' : ''; |
|
$datatable .= '<tr'.$css_class.'><td><span class="LC_nobreak">'. |
|
$namesref->{$item}. |
|
'</span></td>'. |
|
'<td class="LC_left_item">'; |
|
if (($item eq 'url') || ($item eq 'button')) { |
|
$datatable .= '<span class="LC_nobreak">'. |
|
'<input type="text" name="selfenroll_validation_'.$item.'"'. |
|
' value="'.$currvalidation{$item}.'" size="50" /></span>'; |
|
} elsif ($item eq 'fields') { |
|
my @currfields; |
|
if (ref($currvalidation{$item}) eq 'ARRAY') { |
|
@currfields = @{$currvalidation{$item}}; |
|
} |
|
foreach my $field (@{$fieldsref}) { |
|
my $check = ''; |
|
if (grep(/^\Q$field\E$/,@currfields)) { |
|
$check = ' checked="checked"'; |
|
} |
|
$datatable .= '<span class="LC_nobreak"><label>'. |
|
'<input type="checkbox" name="selfenroll_validation_fields"'. |
|
' value="'.$field.'"'.$check.' />'.$field. |
|
'</label></span> '; |
|
} |
|
} elsif ($item eq 'markup') { |
|
$datatable .= '<textarea name="selfenroll_validation_markup" cols="50" rows="5" wrap="soft">'. |
|
$currvalidation{$item}. |
|
'</textarea>'; |
|
} |
|
$datatable .= '</td></tr>'."\n"; |
|
$itemcount ++; |
|
} |
|
} |
|
$$rowtotal += $itemcount; |
|
return $datatable; |
|
} |
|
|
|
sub get_selfenroll_titles { |
|
my @row = ('types','registered','enroll_dates','access_dates','section', |
|
'approval','limit'); |
|
my %lt = &Apache::lonlocal::texthash ( |
|
types => 'Users allowed to self-enroll', |
|
registered => 'Registration status (official courses)' , |
|
enroll_dates => 'Dates self-enrollment available', |
|
access_dates => 'Access dates for self-enrolling users', |
|
section => 'Self-enrolling users section', |
|
approval => 'Processing of requests', |
|
limit => 'Enrollment limit', |
|
); |
|
return (\@row,\%lt); |
|
} |
|
|
|
sub selfenroll_default_descs { |
|
my %desc = ( |
|
types => { |
|
dom => &mt('Course domain'), |
|
all => &mt('Any domain'), |
|
'' => &mt('None'), |
|
}, |
|
limit => { |
|
none => &mt('No limit'), |
|
allstudents => &mt('Limit by total students'), |
|
selfenrolled => &mt('Limit by total self-enrolled'), |
|
}, |
|
approval => { |
|
'0' => &mt('Processed automatically'), |
|
'1' => &mt('Queued for approval'), |
|
'2' => &mt('Queued, pending validation'), |
|
}, |
|
registered => { |
|
0 => 'No registration required', |
|
1 => 'Registered students only', |
|
}, |
|
); |
|
return %desc; |
|
} |
|
|
|
sub selfenroll_validation_types { |
|
my @items = ('url','fields','button','markup'); |
|
my %names = &Apache::lonlocal::texthash ( |
|
url => 'Web address of validation server/script', |
|
fields => 'Form fields to send to validator', |
|
button => 'Text for validation button', |
|
markup => 'Validation description (HTML)', |
|
); |
|
my @fields = ('username','domain','uniquecode','course','token'); |
|
return (\@items,\%names,\@fields); |
|
} |
|
|
sub print_usersessions { |
sub print_usersessions { |
my ($position,$dom,$settings,$rowtotal) = @_; |
my ($position,$dom,$settings,$rowtotal) = @_; |
my ($css_class,$datatable,%checked,%choices); |
my ($css_class,$datatable,%checked,%choices); |
Line 9045 sub modify_coursedefaults {
|
Line 9296 sub modify_coursedefaults {
|
} |
} |
} |
} |
} |
} |
|
|
my $officialcreds = $env{'form.official_credits'}; |
my $officialcreds = $env{'form.official_credits'}; |
$officialcreds =~ s/[^\d.]+//g; |
$officialcreds =~ s/[^\d.]+//g; |
my $unofficialcreds = $env{'form.unofficial_credits'}; |
my $unofficialcreds = $env{'form.unofficial_credits'}; |
Line 9073 sub modify_coursedefaults {
|
Line 9325 sub modify_coursedefaults {
|
if (keys(%changes) > 0) { |
if (keys(%changes) > 0) { |
my %domdefaults = &Apache::lonnet::get_domain_defaults($dom,1); |
my %domdefaults = &Apache::lonnet::get_domain_defaults($dom,1); |
if (($changes{'canuse_pdfforms'}) || ($changes{'coursecredits'}) || |
if (($changes{'canuse_pdfforms'}) || ($changes{'coursecredits'}) || |
($changes{'uploadquota'})) { |
($changes{'uploadquota'})) { |
if ($changes{'canuse_pdfforms'}) { |
if ($changes{'canuse_pdfforms'}) { |
$domdefaults{'canuse_pdfforms'}=$defaultshash{'coursedefaults'}{'canuse_pdfforms'}; |
$domdefaults{'canuse_pdfforms'}=$defaultshash{'coursedefaults'}{'canuse_pdfforms'}; |
} |
} |
Line 9148 sub modify_coursedefaults {
|
Line 9400 sub modify_coursedefaults {
|
} |
} |
} else { |
} else { |
$resulttext = '<span class="LC_error">'. |
$resulttext = '<span class="LC_error">'. |
|
&mt('An error occurred: [_1]',$putresult).'</span>'; |
|
} |
|
return $resulttext; |
|
} |
|
|
|
sub modify_selfenrollment { |
|
my ($dom,$lastactref,%domconfig) = @_; |
|
my ($resulttext,$errors,%changes,%selfenrollhash,%ordered); |
|
my @types = ('official','unofficial','community','textbook'); |
|
my %titles = &tool_titles(); |
|
my %descs = &selfenroll_default_descs(); |
|
($ordered{'admin'},my $titlesref) = &get_selfenroll_titles(); |
|
$ordered{'default'} = ['types','registered','approval','limit']; |
|
|
|
my (%roles,%shown,%toplevel); |
|
$roles{'0'} = &Apache::lonnet::plaintext('dc'); |
|
|
|
if (ref($domconfig{'selfenrollment'}) ne 'HASH') { |
|
if ($domconfig{'selfenrollment'} eq '') { |
|
$domconfig{'selfenrollment'} = {}; |
|
} |
|
} |
|
%toplevel = ( |
|
admin => 'Configuration Rights', |
|
default => 'Default settings', |
|
validation => 'Validation of self-enrollment requests', |
|
); |
|
my ($itemsref,$namesref,$fieldsref) = &selfenroll_validation_types(); |
|
|
|
if (ref($ordered{'admin'}) eq 'ARRAY') { |
|
foreach my $item (@{$ordered{'admin'}}) { |
|
foreach my $type (@types) { |
|
if ($env{'form.selfenrolladmin_'.$item.'_'.$type}) { |
|
$selfenrollhash{'admin'}{$type}{$item} = 1; |
|
} else { |
|
$selfenrollhash{'admin'}{$type}{$item} = 0; |
|
} |
|
if (ref($domconfig{'selfenrollment'}{'admin'}) eq 'HASH') { |
|
if (ref($domconfig{'selfenrollment'}{'admin'}{$type}) eq 'HASH') { |
|
if ($selfenrollhash{'admin'}{$type}{$item} ne |
|
$domconfig{'selfenrollment'}{'admin'}{$type}{$item}) { |
|
push(@{$changes{'admin'}{$type}},$item); |
|
} |
|
} else { |
|
if (!$selfenrollhash{'admin'}{$type}{$item}) { |
|
push(@{$changes{'admin'}{$type}},$item); |
|
} |
|
} |
|
} elsif (!$selfenrollhash{'admin'}{$type}{$item}) { |
|
push(@{$changes{'admin'}{$type}},$item); |
|
} |
|
} |
|
} |
|
} |
|
|
|
foreach my $item (@{$ordered{'default'}}) { |
|
foreach my $type (@types) { |
|
my $value = $env{'form.selfenrolldefault_'.$item.'_'.$type}; |
|
if ($item eq 'types') { |
|
unless (($value eq 'all') || ($value eq 'dom')) { |
|
$value = ''; |
|
} |
|
} elsif ($item eq 'registered') { |
|
unless ($value eq '1') { |
|
$value = 0; |
|
} |
|
} elsif ($item eq 'approval') { |
|
unless ($value =~ /^[012]$/) { |
|
$value = 0; |
|
} |
|
} else { |
|
unless (($value eq 'allstudents') || ($value eq 'selfenrolled')) { |
|
$value = 'none'; |
|
} |
|
} |
|
$selfenrollhash{'default'}{$type}{$item} = $value; |
|
if (ref($domconfig{'selfenrollment'}{'default'}) eq 'HASH') { |
|
if (ref($domconfig{'selfenrollment'}{'default'}{$type}) eq 'HASH') { |
|
if ($selfenrollhash{'default'}{$type}{$item} ne |
|
$domconfig{'selfenrollment'}{'default'}{$type}{$item}) { |
|
push(@{$changes{'default'}{$type}},$item); |
|
} |
|
} else { |
|
push(@{$changes{'default'}{$type}},$item); |
|
} |
|
} else { |
|
push(@{$changes{'default'}{$type}},$item); |
|
} |
|
if ($item eq 'limit') { |
|
if (($value eq 'allstudents') || ($value eq 'selfenrolled')) { |
|
$env{'form.selfenrolldefault_cap_'.$type} =~ s/\D//g; |
|
if ($env{'form.selfenrolldefault_cap_'.$type} ne '') { |
|
$selfenrollhash{'default'}{$type}{'cap'} = $env{'form.selfenrolldefault_cap_'.$type}; |
|
} |
|
} else { |
|
$selfenrollhash{'default'}{$type}{'cap'} = ''; |
|
} |
|
if (ref($domconfig{'selfenrollment'}{'default'}{$type}) eq 'HASH') { |
|
if ($selfenrollhash{'default'}{$type}{'cap'} ne |
|
$domconfig{'selfenrollment'}{'admin'}{$type}{'cap'}) { |
|
push(@{$changes{'default'}{$type}},'cap'); |
|
} |
|
} elsif ($selfenrollhash{'default'}{$type}{'cap'} ne '') { |
|
push(@{$changes{'default'}{$type}},'cap'); |
|
} |
|
} |
|
} |
|
} |
|
|
|
foreach my $item (@{$itemsref}) { |
|
if ($item eq 'fields') { |
|
my @changed; |
|
@{$selfenrollhash{'validation'}{$item}} = &Apache::loncommon::get_env_multiple('form.selfenroll_validation_'.$item); |
|
if (@{$selfenrollhash{'validation'}{$item}} > 0) { |
|
@{$selfenrollhash{'validation'}{$item}} = sort(@{$selfenrollhash{'validation'}{$item}}); |
|
} |
|
if (ref($domconfig{'selfenrollment'}{'validation'}) eq 'HASH') { |
|
if (ref($domconfig{'selfenrollment'}{'validation'}{$item}) eq 'ARRAY') { |
|
@changed = &Apache::loncommon::compare_arrays($selfenrollhash{'validation'}{$item}, |
|
$domconfig{'selfenrollment'}{'validation'}{$item}); |
|
} else { |
|
@changed = @{$selfenrollhash{'validation'}{$item}}; |
|
} |
|
} else { |
|
@changed = @{$selfenrollhash{'validation'}{$item}}; |
|
} |
|
if (@changed) { |
|
if ($selfenrollhash{'validation'}{$item}) { |
|
$changes{'validation'}{$item} = join(', ',@{$selfenrollhash{'validation'}{$item}}); |
|
} else { |
|
$changes{'validation'}{$item} = &mt('None'); |
|
} |
|
} |
|
} else { |
|
$selfenrollhash{'validation'}{$item} = $env{'form.selfenroll_validation_'.$item}; |
|
if ($item eq 'markup') { |
|
if ($env{'form.selfenroll_validation_'.$item}) { |
|
$env{'form.selfenroll_validation_'.$item} =~ s/[\n\r\f]+/\s/gs; |
|
} |
|
} |
|
if (ref($domconfig{'selfenrollment'}{'validation'}) eq 'HASH') { |
|
if ($domconfig{'selfenrollment'}{'validation'}{$item} ne $selfenrollhash{'validation'}{$item}) { |
|
$changes{'validation'}{$item} = $selfenrollhash{'validation'}{$item}; |
|
} |
|
} |
|
} |
|
} |
|
|
|
my $putresult = &Apache::lonnet::put_dom('configuration',{'selfenrollment' => \%selfenrollhash}, |
|
$dom); |
|
if ($putresult eq 'ok') { |
|
if (keys(%changes) > 0) { |
|
my %domdefaults = &Apache::lonnet::get_domain_defaults($dom,1); |
|
$resulttext = &mt('Changes made:').'<ul>'; |
|
foreach my $key ('admin','default','validation') { |
|
if (ref($changes{$key}) eq 'HASH') { |
|
$resulttext .= '<li>'.$toplevel{$key}.'<ul>'; |
|
if ($key eq 'validation') { |
|
foreach my $item (@{$itemsref}) { |
|
if (exists($changes{$key}{$item})) { |
|
if ($item eq 'markup') { |
|
$resulttext .= '<li>'.&mt('[_1] set to: [_2]',$namesref->{$item}, |
|
'<br /><pre>'.$changes{$key}{$item}.'</pre>').'</li>'; |
|
} else { |
|
$resulttext .= '<li>'.&mt('[_1] set to: [_2]',$namesref->{$item}, |
|
'<b>'.$changes{$key}{$item}.'</b>').'</li>'; |
|
} |
|
} |
|
} |
|
} else { |
|
foreach my $type (@types) { |
|
if ($type eq 'community') { |
|
$roles{'1'} = &mt('Community personnel'); |
|
} else { |
|
$roles{'1'} = &mt('Course personnel'); |
|
} |
|
if (ref($changes{$key}{$type}) eq 'ARRAY') { |
|
$resulttext .= '<li>'.$titles{$type}.'<ul>'; |
|
foreach my $item (@{$ordered{$key}}) { |
|
if (grep(/^\Q$item\E$/,@{$changes{$key}{$type}})) { |
|
$resulttext .= '<li>'; |
|
if ($key eq 'admin') { |
|
$resulttext .= &mt('[_1] -- management by: [_2]',$titlesref->{$item}, |
|
'<b>'.$roles{$selfenrollhash{'admin'}{$type}{$item}}.'</b>'); |
|
} else { |
|
$resulttext .= &mt('[_1] set to: [_2]',$titlesref->{$item}, |
|
'<b>'.$descs{$item}{$selfenrollhash{'default'}{$type}{$item}}.'</b>'); |
|
} |
|
$resulttext .= '</li>'; |
|
} |
|
} |
|
$resulttext .= '</ul></li>'; |
|
} |
|
} |
|
$resulttext .= '</ul></li>'; |
|
} |
|
} |
|
} |
|
$resulttext .= '</ul>'; |
|
} else { |
|
$resulttext = &mt('No changes made to self-enrollment settings'); |
|
} |
|
} else { |
|
$resulttext = '<span class="LC_error">'. |
&mt('An error occurred: [_1]',$putresult).'</span>'; |
&mt('An error occurred: [_1]',$putresult).'</span>'; |
} |
} |
return $resulttext; |
return $resulttext; |