version 1.160.6.5, 2012/09/01 09:13:53
|
version 1.168, 2012/08/27 00:53:22
|
Line 86 $dom,$settings,$rowtotal,$action.
|
Line 86 $dom,$settings,$rowtotal,$action.
|
|
|
$dom is the domain, $settings is a reference to a hash of current settings for |
$dom is the domain, $settings is a reference to a hash of current settings for |
the current context, $rowtotal is a reference to the scalar used to record the |
the current context, $rowtotal is a reference to the scalar used to record the |
number of rows displayed on the page, and $action is the context (quotas, |
number of rows displayed on the page, and $action is the context (quotas, |
requestcourses or requestauthor). |
requestcourses or requestauthor). |
|
|
The print_quotas routine was orginally created to display/store information |
The print_quotas routine was orginally created to display/store information |
Line 210 sub handler {
|
Line 210 sub handler {
|
'quotas','autoenroll','autoupdate','autocreate', |
'quotas','autoenroll','autoupdate','autocreate', |
'directorysrch','usercreation','usermodification', |
'directorysrch','usercreation','usermodification', |
'contacts','defaults','scantron','coursecategories', |
'contacts','defaults','scantron','coursecategories', |
'serverstatuses','requestcourses','usersessions', |
'serverstatuses','requestcourses','helpsettings', |
'loadbalancing','requestauthor'],$dom); |
'coursedefaults','usersessions','loadbalancing', |
|
'requestauthor'],$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','usermodification','scantron', |
'usercreation','usermodification','scantron', |
'requestcourses','requestauthor','coursecategories', |
'requestcourses','requestauthor','coursecategories', |
'serverstatuses','usersessions'); |
'serverstatuses','helpsettings', |
|
'coursedefaults','usersessions'); |
if (keys(%servers) > 1) { |
if (keys(%servers) > 1) { |
push(@prefs_order,'loadbalancing'); |
push(@prefs_order,'loadbalancing'); |
} |
} |
Line 349 sub handler {
|
Line 351 sub handler {
|
col3 => 'Specific IPs', |
col3 => 'Specific IPs', |
}], |
}], |
}, |
}, |
|
'helpsettings' => |
|
{text => 'Help page settings', |
|
help => 'Domain_Configuration_Help_Settings', |
|
header => [{col1 => 'Help Settings (logged-in users)', |
|
col2 => 'Value'}], |
|
}, |
|
'coursedefaults' => |
|
{text => 'Course/Community defaults', |
|
help => 'Domain_Configuration_Course_Defaults', |
|
header => [{col1 => 'Defaults which can be overridden in each course by a CC', |
|
col2 => 'Value',}, |
|
{col1 => 'Defaults which can be overridden for each course by a DC', |
|
col2 => 'Value',},], |
|
}, |
|
'privacy' => |
|
{text => 'User Privacy', |
|
help => 'Domain_Configuration_User_Privacy', |
|
header => [{col1 => 'Setting', |
|
col2 => 'Value',}], |
|
}, |
'usersessions' => |
'usersessions' => |
{text => 'User session hosting/offloading', |
{text => 'User session hosting/offloading', |
help => 'Domain_Configuration_User_Sessions', |
help => 'Domain_Configuration_User_Sessions', |
Line 478 sub process_changes {
|
Line 500 sub process_changes {
|
$output = &modify_quotas($dom,$action,%domconfig); |
$output = &modify_quotas($dom,$action,%domconfig); |
} elsif ($action eq 'requestauthor') { |
} elsif ($action eq 'requestauthor') { |
$output = &modify_quotas($dom,$action,%domconfig); |
$output = &modify_quotas($dom,$action,%domconfig); |
|
} elsif ($action eq 'helpsettings') { |
|
$output = &modify_helpsettings($r,$dom,$confname,%domconfig); |
|
} elsif ($action eq 'coursedefaults') { |
|
$output = &modify_coursedefaults($dom,%domconfig); |
} elsif ($action eq 'usersessions') { |
} elsif ($action eq 'usersessions') { |
$output = &modify_usersessions($dom,%domconfig); |
$output = &modify_usersessions($dom,%domconfig); |
} elsif ($action eq 'loadbalancing') { |
} elsif ($action eq 'loadbalancing') { |
Line 508 sub print_config_box {
|
Line 534 sub print_config_box {
|
if ($numheaders > 1) { |
if ($numheaders > 1) { |
my $colspan = ''; |
my $colspan = ''; |
my $rightcolspan = ''; |
my $rightcolspan = ''; |
if (($action eq 'rolecolors') || ($action eq 'coursecategories') || |
if (($action eq 'rolecolors') || ($action eq 'coursecategories') || |
(($action eq 'login') && ($numheaders < 3))) { |
(($action eq 'login') && ($numheaders < 3))) { |
$colspan = ' colspan="2"'; |
$colspan = ' colspan="2"'; |
} |
} |
Line 547 sub print_config_box {
|
Line 573 sub print_config_box {
|
$output .= &print_usersessions('top',$dom,$settings,\$rowtotal); |
$output .= &print_usersessions('top',$dom,$settings,\$rowtotal); |
} elsif ($action eq 'rolecolors') { |
} elsif ($action eq 'rolecolors') { |
$output .= &print_rolecolors($phase,'student',$dom,$confname,$settings,\$rowtotal); |
$output .= &print_rolecolors($phase,'student',$dom,$confname,$settings,\$rowtotal); |
|
} elsif ($action eq 'coursedefaults') { |
|
$output .= &print_coursedefaults('top',$dom,$settings,\$rowtotal); |
} |
} |
$output .= ' |
$output .= ' |
</table> |
</table> |
Line 1026 sub print_login {
|
Line 1054 sub print_login {
|
$datatable .= '<input type="file" name="loginhelpurl_add_file" />'; |
$datatable .= '<input type="file" name="loginhelpurl_add_file" />'; |
} |
} |
$datatable .= '</td></tr>'; |
$datatable .= '</td></tr>'; |
$itemcount ++; |
|
} |
} |
$datatable .= &captcha_choice('login',$settings,$itemcount); |
|
} |
} |
return $datatable; |
return $datatable; |
} |
} |
Line 1470 sub print_quotas {
|
Line 1496 sub print_quotas {
|
} elsif ($context eq 'requestauthor') { |
} elsif ($context eq 'requestauthor') { |
@usertools = ('author'); |
@usertools = ('author'); |
@options = ('norequest','approval','automatic'); |
@options = ('norequest','approval','automatic'); |
%titles = &authorrequest_titles(); |
%titles = &authorrequest_titles(); |
} else { |
} else { |
@usertools = ('aboutme','blog','webdav','portfolio'); |
@usertools = ('aboutme','blog','webdav','portfolio'); |
%titles = &tool_titles(); |
%titles = &tool_titles(); |
Line 2358 sub radiobutton_prefs {
|
Line 2384 sub radiobutton_prefs {
|
return unless ((ref($toggles) eq 'ARRAY') && (ref($defaultchecked) eq 'HASH') && |
return unless ((ref($toggles) eq 'ARRAY') && (ref($defaultchecked) eq 'HASH') && |
(ref($choices) eq 'HASH')); |
(ref($choices) eq 'HASH')); |
|
|
my (%checkedon,%checkedoff,$datatable,$css_class); |
my (%checkedon,%checkedoff,$datatable,$css_class,$cell_colspan); |
|
|
foreach my $item (@{$toggles}) { |
foreach my $item (@{$toggles}) { |
if ($defaultchecked->{$item} eq 'on') { |
if ($defaultchecked->{$item} eq 'on') { |
Line 3132 sub authorrequest_titles {
|
Line 3158 sub authorrequest_titles {
|
automatic => 'Automatic approval', |
automatic => 'Automatic approval', |
); |
); |
return %titles; |
return %titles; |
} |
} |
|
|
sub courserequest_conditions { |
sub courserequest_conditions { |
my %conditions = &Apache::lonlocal::texthash ( |
my %conditions = &Apache::lonlocal::texthash ( |
Line 3273 sub print_usercreation {
|
Line 3299 sub print_usercreation {
|
$dom,$numinrow,$othertitle, |
$dom,$numinrow,$othertitle, |
'statustocreate'); |
'statustocreate'); |
$$rowtotal ++; |
$$rowtotal ++; |
$rownum ++; |
|
} |
} |
} |
} |
$datatable .= &captcha_choice('cancreate',$createsettings,$rownum); |
$datatable .= &captcha_choice('cancreate',$createsettings); |
} else { |
} else { |
my @contexts = ('author','course','domain'); |
my @contexts = ('author','course','domain'); |
my @authtypes = ('int','krb4','krb5','loc'); |
my @authtypes = ('int','krb4','krb5','loc'); |
Line 3329 sub print_usercreation {
|
Line 3354 sub print_usercreation {
|
} |
} |
|
|
sub captcha_choice { |
sub captcha_choice { |
my ($context,$settings,$itemcount) = @_; |
my ($context,$settings) = @_; |
my ($keyentry,$currpub,$currpriv,%checked,$rowname,$pubtext,$privtext); |
my ($keyentry,$currpub,$currpriv,%checked,$rowname,$pubtext,$privtext); |
my %lt = &captcha_phrases(); |
my %lt = &captcha_phrases(); |
$keyentry = 'hidden'; |
$keyentry = 'hidden'; |
if ($context eq 'cancreate') { |
if ($context eq 'cancreate') { |
$rowname = &mt('CAPTCHA validation (e-mail as username)'); |
$rowname = &mt('CAPTCHA validation (e-mail as username)'); |
} elsif ($context eq 'login') { |
} elsif ($context eq 'help') { |
$rowname = &mt('"Contact helpdesk" CAPTCHA validation'); |
$rowname = &mt('CAPTCHA validation'); |
} |
} |
if (ref($settings) eq 'HASH') { |
if (ref($settings) eq 'HASH') { |
if ($settings->{'captcha'}) { |
if ($settings->{'captcha'}) { |
Line 3356 sub captcha_choice {
|
Line 3381 sub captcha_choice {
|
} else { |
} else { |
$checked{'original'} = ' checked="checked"'; |
$checked{'original'} = ' checked="checked"'; |
} |
} |
my $css_class = $itemcount%2?' class="LC_odd_row"':''; |
my $output = '<tr class="LC_odd_row">'. |
my $output = '<tr'.$css_class.'>'. |
'<td class="LC_left_item">'.$rowname.'</td><td class="LC_right_item" colspan="2">'."\n". |
'<td class="LC_left_item">'.$rowname.'</td><td class="LC_left_item" colspan="2">'."\n". |
|
'<table><tr><td>'."\n"; |
'<table><tr><td>'."\n"; |
foreach my $option ('original','recaptcha','notused') { |
foreach my $option ('original','recaptcha','notused') { |
$output .= '<span class="LC_nobreak"><label><input type="radio" name="'.$context.'_captcha" value="'. |
$output .= '<span class="LC_nobreak"><label><input type="radio" name="'.$context.'_captcha" value="'. |
Line 3371 sub captcha_choice {
|
Line 3395 sub captcha_choice {
|
# |
# |
# Note: If reCAPTCHA is to be used for LON-CAPA servers in a domain, a domain coordinator should visit: |
# Note: If reCAPTCHA is to be used for LON-CAPA servers in a domain, a domain coordinator should visit: |
# https://www.google.com/recaptcha and generate a Public and Private key. For domains with multiple |
# https://www.google.com/recaptcha and generate a Public and Private key. For domains with multiple |
# servers a single key pair will be used for all servers, so the internet domain (e.g., yourcollege.edu) |
# servers a single key pair will be used for all servers, so the internet domain (e.g., yourcollege.edu) |
# specified for use with the key should be broad enough to accommodate all servers in the LON-CAPA domain. |
# specified for use with the key should be broad enough to accommodate all servers in the LON-CAPA domain. |
# |
# |
$output .= '</td></tr>'."\n". |
$output .= '</td></tr>'."\n". |
'<tr><td>'."\n". |
'<tr><td>'."\n". |
'<span class="LC_nobreak"><span id="'.$context.'_recaptchapubtxt">'.$pubtext.'</span> '."\n". |
'<span class="LC_nobreak"><span id="'.$context.'_recaptchapubtxt">'.$pubtext.'</span> '."\n". |
Line 4589 sub modify_login {
|
Line 4613 sub modify_login {
|
$new = ''; |
$new = ''; |
} |
} |
} |
} |
|
|
$loginhash{login}{loginvia}{$lonhost}{$item} = $new; |
$loginhash{login}{loginvia}{$lonhost}{$item} = $new; |
} |
} |
} |
} |
Line 4681 sub modify_login {
|
Line 4706 sub modify_login {
|
} else { |
} else { |
my $puberror = &mt("Upload of [_1] failed because an error occurred publishing the file in RES space. Error was: [_2].",$newfile{$lang},$result); |
my $puberror = &mt("Upload of [_1] failed because an error occurred publishing the file in RES space. Error was: [_2].",$newfile{$lang},$result); |
$errors .= '<li><span class="LC_error">'.$puberror.'</span></li>'; |
$errors .= '<li><span class="LC_error">'.$puberror.'</span></li>'; |
if ((grep(/^\Q$lang\E$/,@currlangs)) && |
if ((grep(/^\Q$lang\E$/,@currlangs)) && |
(!grep(/^\Q$lang\E$/,@delurls))) { |
(!grep(/^\Q$lang\E$/,@delurls))) { |
|
|
$loginhash{'login'}{'helpurl'}{$lang} = $domconfig{'login'}{'helpurl'}{$lang}; |
$loginhash{'login'}{'helpurl'}{$lang} = $domconfig{'login'}{'helpurl'}{$lang}; |
Line 4699 sub modify_login {
|
Line 4724 sub modify_login {
|
$errors .= '<li><span class="LC_error">'.$error.'</span></li>'; |
$errors .= '<li><span class="LC_error">'.$error.'</span></li>'; |
} |
} |
} |
} |
&process_captcha('login',\%changes,$loginhash{'login'},$domconfig{'login'}); |
|
|
|
my $defaulthelpfile = '/adm/loginproblems.html'; |
my $defaulthelpfile = '/adm/loginproblems.html'; |
my $defaulttext = &mt('Default in use'); |
my $defaulttext = &mt('Default in use'); |
Line 4795 sub modify_login {
|
Line 4819 sub modify_login {
|
} |
} |
} |
} |
} |
} |
} elsif ($item eq 'captcha') { |
|
if (ref($loginhash{'login'}) eq 'HASH') { |
|
my $chgtxt; |
|
if ($loginhash{'login'}{$item} eq 'notused') { |
|
$chgtxt .= &mt('No CAPTCHA validation in use for helpdesk form.'); |
|
} else { |
|
my %captchas = &captcha_phrases(); |
|
if ($captchas{$loginhash{'login'}{$item}}) { |
|
$chgtxt .= &mt("Validation for helpdesk form set to $captchas{$loginhash{'login'}{$item}}."); |
|
} else { |
|
$chgtxt .= &mt('Validation for helpdesk form set to unknown type.'); |
|
} |
|
} |
|
$resulttext .= '<li>'.$chgtxt.'</li>'; |
|
} |
|
} elsif ($item eq 'recaptchakeys') { |
|
if (ref($loginhash{'login'}) eq 'HASH') { |
|
my ($privkey,$pubkey); |
|
if (ref($loginhash{'login'}{$item}) eq 'HASH') { |
|
$pubkey = $loginhash{'login'}{$item}{'public'}; |
|
$privkey = $loginhash{'login'}{$item}{'private'}; |
|
} |
|
my $chgtxt .= &mt('ReCAPTCHA keys changes').'<ul>'; |
|
if (!$pubkey) { |
|
$chgtxt .= '<li>'.&mt('Public key deleted').'</li>'; |
|
} else { |
|
$chgtxt .= '<li>'.&mt('Public key set to [_1]',$pubkey).'</li>'; |
|
} |
|
if (!$privkey) { |
|
$chgtxt .= '<li>'.&mt('Private key deleted').'</li>'; |
|
} else { |
|
$chgtxt .= '<li>'.&mt('Private key set to [_1]',$pubkey).'</li>'; |
|
} |
|
$chgtxt .= '</ul>'; |
|
$resulttext .= '<li>'.$chgtxt.'</li>'; |
|
} |
|
} else { |
} else { |
$resulttext .= '<li>'.&mt("$title{$item} set to $offon[$env{'form.'.$item}]").'</li>'; |
$resulttext .= '<li>'.&mt("$title{$item} set to $offon[$env{'form.'.$item}]").'</li>'; |
} |
} |
Line 5275 sub publishlogo {
|
Line 5263 sub publishlogo {
|
# See if there is anything left |
# See if there is anything left |
unless ($fname) { return ('error: no uploaded file'); } |
unless ($fname) { return ('error: no uploaded file'); } |
$fname="$subdir/$fname"; |
$fname="$subdir/$fname"; |
my $docroot=$r->dir_config('lonDocRoot'); |
my $docroot=$r->dir_config('lonDocRoot'); |
my $filepath="$docroot/priv"; |
my $filepath="$docroot/priv"; |
my $relpath = "$dom/$confname"; |
my $relpath = "$dom/$confname"; |
my ($fnamepath,$file,$fetchthumb); |
my ($fnamepath,$file,$fetchthumb); |
Line 5283 sub publishlogo {
|
Line 5271 sub publishlogo {
|
if ($fname=~m|/|) { |
if ($fname=~m|/|) { |
($fnamepath,$file) = ($fname =~ m|^(.*)/([^/]+)$|); |
($fnamepath,$file) = ($fname =~ m|^(.*)/([^/]+)$|); |
} |
} |
my @parts=split(/\//,"$filepath/$relpath/$fnamepath"); |
my @parts=split(/\//,"$filepath/$relpath/$fnamepath"); |
my $count; |
my $count; |
for ($count=5;$count<=$#parts;$count++) { |
for ($count=5;$count<=$#parts;$count++) { |
$filepath.="/$parts[$count]"; |
$filepath.="/$parts[$count]"; |
Line 5549 sub modify_quotas {
|
Line 5537 sub modify_quotas {
|
%limithash,$toolregexp,%conditions,$resulttext,%changes); |
%limithash,$toolregexp,%conditions,$resulttext,%changes); |
if ($action eq 'quotas') { |
if ($action eq 'quotas') { |
$context = 'tools'; |
$context = 'tools'; |
} else { |
} else { |
$context = $action; |
$context = $action; |
} |
} |
if ($context eq 'requestcourses') { |
if ($context eq 'requestcourses') { |
Line 5739 sub modify_quotas {
|
Line 5727 sub modify_quotas {
|
&Apache::lonnet::do_cache_new('domdefaults',$dom,\%domdefaults,$cachetime); |
&Apache::lonnet::do_cache_new('domdefaults',$dom,\%domdefaults,$cachetime); |
|
|
$resulttext = &mt('Changes made:').'<ul>'; |
$resulttext = &mt('Changes made:').'<ul>'; |
unless (($context eq 'requestcourses') || |
unless (($context eq 'requestcourses') || |
($context eq 'requestauthor')) { |
($context eq 'requestauthor')) { |
if (ref($changes{'defaultquota'}) eq 'HASH') { |
if (ref($changes{'defaultquota'}) eq 'HASH') { |
$resulttext .= '<li>'.&mt('Portfolio default quotas').'<ul>'; |
$resulttext .= '<li>'.&mt('Portfolio default quotas').'<ul>'; |
Line 5760 sub modify_quotas {
|
Line 5748 sub modify_quotas {
|
my (%haschgs,%inconf); |
my (%haschgs,%inconf); |
if ($context eq 'requestauthor') { |
if ($context eq 'requestauthor') { |
%haschgs = %changes; |
%haschgs = %changes; |
%inconf = %confhash; |
%inconf = %confhash; |
} else { |
} else { |
if (ref($changes{$item}) eq 'HASH') { |
if (ref($changes{$item}) eq 'HASH') { |
%haschgs = %{$changes{$item}}; |
%haschgs = %{$changes{$item}}; |
Line 5774 sub modify_quotas {
|
Line 5762 sub modify_quotas {
|
&Apache::lonnet::usertools_access($env{'user.name'}, |
&Apache::lonnet::usertools_access($env{'user.name'}, |
$env{'user.domain'}, |
$env{'user.domain'}, |
$item,'reload',$context); |
$item,'reload',$context); |
if (($context eq 'requestcourses') || |
if (($context eq 'requestcourses') || |
($context eq 'requestauthor')) { |
($context eq 'requestauthor')) { |
if ($env{'environment.canrequest.'.$item} ne $newacc) { |
if ($env{'environment.canrequest.'.$item} ne $newacc) { |
$newenv{'environment.canrequest.'.$item} = $newacc; |
$newenv{'environment.canrequest.'.$item} = $newacc; |
Line 6795 sub modify_usercreation {
|
Line 6783 sub modify_usercreation {
|
if ($captchas{$cancreate{$type}}) { |
if ($captchas{$cancreate{$type}}) { |
$chgtext .= &mt("Validation for self-creation screen set to $captchas{$cancreate{$type}}."); |
$chgtext .= &mt("Validation for self-creation screen set to $captchas{$cancreate{$type}}."); |
} else { |
} else { |
$chgtext .= &mt('Validation for self-creation screen set to unknown type.'); |
$chgtext .= &mt('Validation for self-creation screen set to unknown type.'); |
} |
} |
} |
} |
} elsif ($type eq 'recaptchakeys') { |
} elsif ($type eq 'recaptchakeys') { |
Line 6923 sub process_captcha {
|
Line 6911 sub process_captcha {
|
$newsettings->{'captcha'} = 'original'; |
$newsettings->{'captcha'} = 'original'; |
} |
} |
if ($current->{'captcha'} ne $newsettings->{'captcha'}) { |
if ($current->{'captcha'} ne $newsettings->{'captcha'}) { |
if ($container eq 'cancreate') { |
if (ref($changes->{'cancreate'}) eq 'ARRAY') { |
if (ref($changes->{'cancreate'}) eq 'ARRAY') { |
push(@{$changes->{'cancreate'}},'captcha'); |
push(@{$changes->{'cancreate'}},'captcha'); |
} elsif (!defined($changes->{'cancreate'})) { |
} elsif (!defined($changes->{'cancreate'})) { |
$changes->{'cancreate'} = ['captcha']; |
$changes->{'cancreate'} = ['captcha']; |
|
} |
|
} else { |
|
$changes->{'captcha'} = 1; |
|
} |
} |
} |
} |
my ($newpub,$newpriv,$currpub,$currpriv); |
my ($newpub,$newpriv,$currpub,$currpriv); |
if ($newsettings->{'captcha'} eq 'recaptcha') { |
if ($newsettings->{'captcha'} eq 'recaptcha') { |
$newpub = $env{'form.'.$container.'_recaptchapub'}; |
$newpub = $env{'form.'.$container.'_recaptchapub'}; |
$newpriv = $env{'form.'.$container.'_recaptchapriv'}; |
$newpriv = $env{'form.'.$container.'_recaptchapriv'}; |
$newpub =~ s/\W//g; |
|
$newpriv =~ s/\W//g; |
|
$newsettings->{'recaptchakeys'} = { |
|
public => $newpub, |
|
private => $newpriv, |
|
}; |
|
} |
} |
|
$newsettings->{'recaptchakeys'} = { |
|
public => $newpub, |
|
private => $newpriv, |
|
}; |
if (ref($current->{'recaptchakeys'}) eq 'HASH') { |
if (ref($current->{'recaptchakeys'}) eq 'HASH') { |
$currpub = $current->{'recaptchakeys'}{'public'}; |
$currpub = $current->{'recaptchakeys'}{'public'}; |
$currpriv = $current->{'recaptchakeys'}{'private'}; |
$currpriv = $current->{'recaptchakeys'}{'private'}; |
$newsettings->{'recaptchakeys'} = { |
|
public => '', |
|
private => '', |
|
} |
|
} |
} |
if (($newpub ne $currpub) || ($newpriv ne $currpriv)) { |
if (($newpub ne $currpub) || ($newpriv ne $currpriv)) { |
if ($container eq 'cancreate') { |
if (ref($changes->{'cancreate'}) eq 'ARRAY') { |
if (ref($changes->{'cancreate'}) eq 'ARRAY') { |
push(@{$changes->{'cancreate'}},'recaptchakeys'); |
push(@{$changes->{'cancreate'}},'recaptchakeys'); |
} elsif (!defined($changes->{'cancreate'})) { |
} elsif (!defined($changes->{'cancreate'})) { |
$changes->{'cancreate'} = ['recaptchakeys']; |
$changes->{'cancreate'} = ['recaptchakeys']; |
|
} |
|
} else { |
|
$changes->{'recaptchakeys'} = 1; |
|
} |
} |
} |
} |
return; |
return; |
Line 7644 sub modify_helpsettings {
|
Line 7618 sub modify_helpsettings {
|
} elsif ($domconfig{'helpsettings'}{$item} ne $env{'form.'.$item}) { |
} elsif ($domconfig{'helpsettings'}{$item} ne $env{'form.'.$item}) { |
$changes{$item} = 1; |
$changes{$item} = 1; |
} |
} |
} |
} |
if (($env{'form.'.$item} eq '0') || ($env{'form.'.$item} eq '1')) { |
if (($env{'form.'.$item} eq '0') || ($env{'form.'.$item} eq '1')) { |
$helphash{'helpsettings'}{$item} = $env{'form.'.$item}; |
$helphash{'helpsettings'}{$item} = $env{'form.'.$item}; |
} |
} |
} |
} |
Line 8254 sub recurse_cat_deletes {
|
Line 8228 sub recurse_cat_deletes {
|
delete($coursecategories->{$subitem}); |
delete($coursecategories->{$subitem}); |
$deletions->{$subitem} = 1; |
$deletions->{$subitem} = 1; |
&recurse_cat_deletes($subitem,$coursecategories,$deletions); |
&recurse_cat_deletes($subitem,$coursecategories,$deletions); |
} |
} |
} |
} |
} |
} |
return; |
return; |