version 1.160.6.55, 2014/10/07 03:16:05
|
version 1.252, 2014/10/04 02:41:44
|
Line 213 sub handler {
|
Line 213 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','coursedefaults', |
'serverstatuses','requestcourses','helpsettings', |
'usersessions','loadbalancing','requestauthor', |
'coursedefaults','usersessions','loadbalancing', |
'selfenrollment','inststatus'],$dom); |
'requestauthor','selfenrollment','inststatus'],$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','coursedefaults','selfenrollment', |
'serverstatuses','helpsettings', |
'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 409 sub handler {
|
Line 409 sub handler {
|
print => \&print_serverstatuses, |
print => \&print_serverstatuses, |
modify => \&modify_serverstatuses, |
modify => \&modify_serverstatuses, |
}, |
}, |
|
'helpsettings' => |
|
{text => 'Help page settings', |
|
help => 'Domain_Configuration_Help_Settings', |
|
header => [{col1 => 'Help Settings (logged-in users)', |
|
col2 => 'Value'}], |
|
print => \&print_helpsettings, |
|
modify => \&modify_helpsettings, |
|
}, |
'coursedefaults' => |
'coursedefaults' => |
{text => 'Course/Community defaults', |
{text => 'Course/Community defaults', |
help => 'Domain_Configuration_Course_Defaults', |
help => 'Domain_Configuration_Course_Defaults', |
header => [{col1 => 'Defaults which can be overridden for each course by a DC', |
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',},], |
col2 => 'Value',},], |
print => \&print_coursedefaults, |
print => \&print_coursedefaults, |
modify => \&modify_coursedefaults, |
modify => \&modify_coursedefaults, |
Line 429 sub handler {
|
Line 439 sub handler {
|
print => \&print_selfenrollment, |
print => \&print_selfenrollment, |
modify => \&modify_selfenrollment, |
modify => \&modify_selfenrollment, |
}, |
}, |
|
'privacy' => |
|
{text => 'User Privacy', |
|
help => 'Domain_Configuration_User_Privacy', |
|
header => [{col1 => 'Setting', |
|
col2 => 'Value',}], |
|
print => \&print_privacy, |
|
modify => \&modify_privacy, |
|
}, |
'usersessions' => |
'usersessions' => |
{text => 'User session hosting/offloading', |
{text => 'User session hosting/offloading', |
help => 'Domain_Configuration_User_Sessions', |
help => 'Domain_Configuration_User_Sessions', |
Line 613 sub process_changes {
|
Line 631 sub process_changes {
|
$output = &modify_quotas($r,$dom,$action,$lastactref,%domconfig); |
$output = &modify_quotas($r,$dom,$action,$lastactref,%domconfig); |
} elsif ($action eq 'requestauthor') { |
} elsif ($action eq 'requestauthor') { |
$output = &modify_quotas($r,$dom,$action,$lastactref,%domconfig); |
$output = &modify_quotas($r,$dom,$action,$lastactref,%domconfig); |
|
} elsif ($action eq 'helpsettings') { |
|
$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') { |
} elsif ($action eq 'selfenrollment') { |
Line 666 sub print_config_box {
|
Line 686 sub print_config_box {
|
</tr>'; |
</tr>'; |
$rowtotal ++; |
$rowtotal ++; |
if (($action eq 'autoupdate') || ($action eq 'usercreation') || ($action eq 'selfcreation') || |
if (($action eq 'autoupdate') || ($action eq 'usercreation') || ($action eq 'selfcreation') || |
($action eq 'usermodification') || ($action eq 'defaults') || |
($action eq 'usermodification') || ($action eq 'defaults') || ($action eq 'coursedefaults') || |
($action eq 'selfenrollment') || ($action eq 'usersessions')) { |
($action eq 'selfenrollment') || ($action eq 'usersessions')) { |
$output .= $item->{'print'}->('top',$dom,$settings,\$rowtotal); |
$output .= $item->{'print'}->('top',$dom,$settings,\$rowtotal); |
} elsif ($action eq 'coursecategories') { |
} elsif ($action eq 'coursecategories') { |
Line 721 sub print_config_box {
|
Line 741 sub print_config_box {
|
$output .= $item->{'print'}->('bottom',$dom,$settings,\$rowtotal); |
$output .= $item->{'print'}->('bottom',$dom,$settings,\$rowtotal); |
} |
} |
$rowtotal ++; |
$rowtotal ++; |
} elsif (($action eq 'usermodification') || ($action eq 'defaults')) { |
} elsif (($action eq 'usermodification') || ($action eq 'coursedefaults') || |
|
($action eq 'defaults')) { |
$output .= $item->{'print'}->('bottom',$dom,$settings,\$rowtotal); |
$output .= $item->{'print'}->('bottom',$dom,$settings,\$rowtotal); |
} elsif ($action eq 'login') { |
} elsif ($action eq 'login') { |
if ($numheaders == 3) { |
if ($numheaders == 3) { |
Line 864 sub print_config_box {
|
Line 885 sub print_config_box {
|
$output .= &print_scantronformat($r,$dom,$confname,$settings,\$rowtotal); |
$output .= &print_scantronformat($r,$dom,$confname,$settings,\$rowtotal); |
} elsif ($action eq 'helpsettings') { |
} elsif ($action eq 'helpsettings') { |
$output .= &print_helpsettings($dom,$confname,$settings,\$rowtotal); |
$output .= &print_helpsettings($dom,$confname,$settings,\$rowtotal); |
} elsif ($action eq 'coursedefaults') { |
|
$output .= $item->{'print'}->('bottom',$dom,$settings,\$rowtotal); |
|
} |
} |
} |
} |
$output .= ' |
$output .= ' |
Line 3642 sub print_loadbalancing {
|
Line 3661 sub print_loadbalancing {
|
$disabled = ' disabled="disabled"'; |
$disabled = ' disabled="disabled"'; |
} |
} |
$targettable .= |
$targettable .= |
'<td><span class="LC_nobreak"><label>'. |
'<td><label><input type="checkbox" name="loadbalancing_target_'.$balnum.'_'.$sparetype.'"'. |
'<input type="checkbox" name="loadbalancing_target_'.$balnum.'_'.$sparetype.'"'. |
|
$checked.$disabled.' value="'.$chkboxval.'" id="loadbalancing_target_'.$balnum.'_'.$sparetype.'_'.$i.'" onclick="checkOffloads('."this,'$balnum','$sparetype'".');" /><span id="loadbalancing_targettxt_'.$balnum.'_'.$sparetype.'_'.$i.'"> '.$chkboxval. |
$checked.$disabled.' value="'.$chkboxval.'" id="loadbalancing_target_'.$balnum.'_'.$sparetype.'_'.$i.'" onclick="checkOffloads('."this,'$balnum','$sparetype'".');" /><span id="loadbalancing_targettxt_'.$balnum.'_'.$sparetype.'_'.$i.'"> '.$chkboxval. |
'</span></label></span></td>'; |
'</span></label></td>'; |
my $rem = $i%($numinrow); |
my $rem = $i%($numinrow); |
if ($rem == 0) { |
if ($rem == 0) { |
if (($i > 0) && ($i < $numspares-1)) { |
if (($i > 0) && ($i < $numspares-1)) { |
Line 3735 sub loadbalancing_rules {
|
Line 3753 sub loadbalancing_rules {
|
if (ref($currrules) eq 'HASH') { |
if (ref($currrules) eq 'HASH') { |
$current = $currrules->{$type}; |
$current = $currrules->{$type}; |
} |
} |
if (($type eq '_LC_external') || ($type eq '_LC_internetdom')) { |
if (($type eq '_LC_external') || ($type eq '_LC_internetdom') || ($type eq '_LC_ipchange')) { |
if ($dom ne &Apache::lonnet::host_domain($lonhost)) { |
if ($dom ne &Apache::lonnet::host_domain($lonhost)) { |
$current = ''; |
$current = ''; |
} |
} |
Line 3787 sub loadbalance_rule_row {
|
Line 3805 sub loadbalance_rule_row {
|
my @rulenames; |
my @rulenames; |
my %ruletitles = &offloadtype_text(); |
my %ruletitles = &offloadtype_text(); |
if (($type eq '_LC_ipchangesso') || ($type eq '_LC_ipchange')) { |
if (($type eq '_LC_ipchangesso') || ($type eq '_LC_ipchange')) { |
@rulenames = ('balancer','offloadedto','specific'); |
@rulenames = ('balancer','offloadedto'); |
} else { |
} else { |
@rulenames = ('default','homeserver'); |
@rulenames = ('default','homeserver'); |
if ($type eq '_LC_external') { |
if ($type eq '_LC_external') { |
Line 3798 sub loadbalance_rule_row {
|
Line 3816 sub loadbalance_rule_row {
|
push(@rulenames,'none'); |
push(@rulenames,'none'); |
} |
} |
my $style = $targets_div_style; |
my $style = $targets_div_style; |
if (($type eq '_LC_external') || ($type eq '_LC_internetdom')) { |
if (($type eq '_LC_external') || ($type eq '_LC_internetdom') || ($type eq '_LC_ipchange')) { |
$style = $homedom_div_style; |
$style = $homedom_div_style; |
} |
} |
my $space; |
my $space; |
Line 3849 sub loadbalance_rule_row {
|
Line 3867 sub loadbalance_rule_row {
|
'<input type="radio" name="loadbalancing_rules_'.$balnum.'_'.$type. |
'<input type="radio" name="loadbalancing_rules_'.$balnum.'_'.$type. |
'" id="loadbalancing_rules_'.$balnum.'_'.$type.'_'.$i.'" value="'. |
'" id="loadbalancing_rules_'.$balnum.'_'.$type.'_'.$i.'" value="'. |
$rule.'" onclick="balanceruleChange('."this.form,'$balnum','$type'". |
$rule.'" onclick="balanceruleChange('."this.form,'$balnum','$type'". |
')"'.$checked.' /> '; |
')"'.$checked.' /> '.$ruletitles{$rulenames[$i]}. |
if (($rulenames[$i] eq 'specific') && ($type =~ /_LC_ipchange/)) { |
'</label>'.$extra.'</span><br />'."\n"; |
$output .= $ruletitles{'particular'}; |
|
} else { |
|
$output .= $ruletitles{$rulenames[$i]}; |
|
} |
|
$output .= '</label>'.$extra.'</span><br />'."\n"; |
|
} |
} |
$output .= '</div></td></tr>'."\n"; |
$output .= '</div></td></tr>'."\n"; |
return $output; |
return $output; |
Line 3870 sub offloadtype_text {
|
Line 3883 sub offloadtype_text {
|
'none' => 'No offload', |
'none' => 'No offload', |
'balancer' => 'Session hosted on Load Balancer, after re-authentication', |
'balancer' => 'Session hosted on Load Balancer, after re-authentication', |
'offloadedto' => 'Session hosted on offload server, after re-authentication', |
'offloadedto' => 'Session hosted on offload server, after re-authentication', |
'particular' => 'Session hosted (after re-auth) on server:', |
|
); |
); |
return %ruletitles; |
return %ruletitles; |
} |
} |
Line 5160 sub serverstatus_pages {
|
Line 5172 sub serverstatus_pages {
|
|
|
sub defaults_javascript { |
sub defaults_javascript { |
my ($settings) = @_; |
my ($settings) = @_; |
return unless (ref($settings) eq 'HASH'); |
return unless (ref($settings) eq 'HASH'); |
if ((ref($settings->{'inststatusorder'}) eq 'ARRAY') && (ref($settings->{'inststatustypes'}) eq 'HASH')) { |
if ((ref($settings->{'inststatusorder'}) eq 'ARRAY') && (ref($settings->{'inststatustypes'}) eq 'HASH')) { |
my $maxnum = scalar(@{$settings->{'inststatusorder'}}); |
my $maxnum = scalar(@{$settings->{'inststatusorder'}}); |
if ($maxnum eq '') { |
if ($maxnum eq '') { |
Line 6972 sub modify_quotas {
|
Line 6984 sub modify_quotas {
|
my $newpos = $env{'form.'.$itemid}; |
my $newpos = $env{'form.'.$itemid}; |
$newpos =~ s/\D+//g; |
$newpos =~ s/\D+//g; |
foreach my $item ('subject','title','publisher','author') { |
foreach my $item ('subject','title','publisher','author') { |
next if ((($item eq 'author') || ($item eq 'publisher')) && |
next if ((($item eq 'author') || ($item eq 'publisher')) && |
($type eq 'templates')); |
($type eq 'templates')); |
$confhash{$type}{$key}{$item} = $env{'form.'.$type.'_'.$item.'_'.$i}; |
$confhash{$type}{$key}{$item} = $env{'form.'.$type.'_'.$item.'_'.$i}; |
if ($domconfig{$action}{$type}{$key}{$item} ne $confhash{$type}{$key}{$item}) { |
if ($domconfig{$action}{$type}{$key}{$item} ne $confhash{$type}{$key}{$item}) { |
Line 10668 sub modify_loadbalancing {
|
Line 10680 sub modify_loadbalancing {
|
my ($othertitle,$usertypes,$types) = |
my ($othertitle,$usertypes,$types) = |
&Apache::loncommon::sorted_inst_types($dom); |
&Apache::loncommon::sorted_inst_types($dom); |
my %servers = &Apache::lonnet::internet_dom_servers($dom); |
my %servers = &Apache::lonnet::internet_dom_servers($dom); |
my %libraryservers = &Apache::lonnet::get_servers($dom,'library'); |
|
my @sparestypes = ('primary','default'); |
my @sparestypes = ('primary','default'); |
my %typetitles = &sparestype_titles(); |
my %typetitles = &sparestype_titles(); |
my $resulttext; |
my $resulttext; |
Line 10760 sub modify_loadbalancing {
|
Line 10771 sub modify_loadbalancing {
|
$rule = $env{'form.loadbalancing_rules_'.$i.'_'.$type}; |
$rule = $env{'form.loadbalancing_rules_'.$i.'_'.$type}; |
} |
} |
if ($rule eq 'specific') { |
if ($rule eq 'specific') { |
my $specifiedhost = $env{'form.loadbalancing_singleserver_'.$i.'_'.$type}; |
$rule = $env{'form.loadbalancing_singleserver_'.$i.'_'.$type}; |
if (exists($servers{$specifiedhost})) { |
|
$rule = $specifiedhost; |
|
} |
|
} |
} |
$defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type} = $rule; |
$defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type} = $rule; |
if (ref($currrules{$balancer}) eq 'HASH') { |
if (ref($currrules{$balancer}) eq 'HASH') { |
Line 10800 sub modify_loadbalancing {
|
Line 10808 sub modify_loadbalancing {
|
} |
} |
if (ref($changes{'curr'}) eq 'HASH') { |
if (ref($changes{'curr'}) eq 'HASH') { |
foreach my $balancer (sort(keys(%{$changes{'curr'}}))) { |
foreach my $balancer (sort(keys(%{$changes{'curr'}}))) { |
$toupdate{$balancer} = 1; |
|
if (ref($changes{'curr'}{$balancer}) eq 'HASH') { |
if (ref($changes{'curr'}{$balancer}) eq 'HASH') { |
if ($changes{'curr'}{$balancer}{'targets'}) { |
if ($changes{'curr'}{$balancer}{'targets'}) { |
my %offloadstr; |
my %offloadstr; |
Line 10837 sub modify_loadbalancing {
|
Line 10844 sub modify_loadbalancing {
|
if ($rule eq '') { |
if ($rule eq '') { |
$balancetext = $ruletitles{'default'}; |
$balancetext = $ruletitles{'default'}; |
} elsif (($rule eq 'homeserver') || ($rule eq 'externalbalancer') || |
} elsif (($rule eq 'homeserver') || ($rule eq 'externalbalancer') || |
($type eq '_LC_ipchange') || ($type eq '_LC_ipchangesso')) { |
($rule eq 'balancer') || ($rule eq 'offloadedto')) { |
if (($type eq '_LC_ipchange') || ($type eq '_LC_ipchangesso')) { |
$balancetext = $ruletitles{$rule}; |
|
if (($rule eq 'balancer') || ($rule eq 'offloadedto')) { |
foreach my $sparetype (@sparestypes) { |
foreach my $sparetype (@sparestypes) { |
if (ref($defaultshash{'loadbalancing'}{$balancer}{'targets'}{$sparetype}) eq 'ARRAY') { |
if (ref($defaultshash{'loadbalancing'}{$balancer}{'targets'}{$sparetype}) eq 'ARRAY') { |
map { $toupdate{$_} = 1; } (@{$defaultshash{'loadbalancing'}{$balancer}{'targets'}{$sparetype}}); |
map { $toupdate{$_} = 1; } (@{$defaultshash{'loadbalancing'}{$balancer}{'targets'}{$sparetype}}); |
} |
} |
} |
} |
foreach my $item (@{$alltypes}) { |
|
next if ($item =~ /^_LC_ipchange/); |
|
my $hasrule = $defaultshash{'loadbalancing'}{$balancer}{'rules'}{$item}; |
|
if ($hasrule eq 'homeserver') { |
|
map { $toupdate{$_} = 1; } (keys(%libraryservers)); |
|
} else { |
|
unless (($hasrule eq 'default') || ($hasrule eq 'none') || ($hasrule eq 'externalbalancer')) { |
|
if ($servers{$hasrule}) { |
|
$toupdate{$hasrule} = 1; |
|
} |
|
} |
|
} |
|
} |
|
if (($rule eq 'balancer') || ($rule eq 'offloadedto')) { |
|
$balancetext = $ruletitles{$rule}; |
|
} else { |
|
my $receiver = $defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type}; |
|
$balancetext = $ruletitles{'particular'}.' '.$receiver; |
|
if ($receiver) { |
|
$toupdate{$receiver}; |
|
} |
|
} |
|
} else { |
|
$balancetext = $ruletitles{$rule}; |
|
} |
} |
} else { |
} else { |
$balancetext = &mt('offload to [_1]',$defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type}); |
$balancetext = &mt('offload to [_1]',$defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type}); |