version 1.248, 2014/07/15 20:04:03
|
version 1.253, 2014/10/05 13:34:01
|
Line 3661 sub print_loadbalancing {
|
Line 3661 sub print_loadbalancing {
|
$disabled = ' disabled="disabled"'; |
$disabled = ' disabled="disabled"'; |
} |
} |
$targettable .= |
$targettable .= |
'<td><label><input type="checkbox" name="loadbalancing_target_'.$balnum.'_'.$sparetype.'"'. |
'<td><span class="LC_nobreak"><label>'. |
|
'<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></td>'; |
'</span></label></span></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 3753 sub loadbalancing_rules {
|
Line 3754 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') || ($type eq '_LC_ipchange')) { |
if (($type eq '_LC_external') || ($type eq '_LC_internetdom')) { |
if ($dom ne &Apache::lonnet::host_domain($lonhost)) { |
if ($dom ne &Apache::lonnet::host_domain($lonhost)) { |
$current = ''; |
$current = ''; |
} |
} |
Line 3816 sub loadbalance_rule_row {
|
Line 3817 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') || ($type eq '_LC_ipchange')) { |
if (($type eq '_LC_external') || ($type eq '_LC_internetdom')) { |
$style = $homedom_div_style; |
$style = $homedom_div_style; |
} |
} |
my $space; |
my $space; |
Line 5172 sub serverstatus_pages {
|
Line 5173 sub serverstatus_pages {
|
|
|
sub defaults_javascript { |
sub defaults_javascript { |
my ($settings) = @_; |
my ($settings) = @_; |
my ($output,$jstext); |
|
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'}}); |
Line 5180 sub defaults_javascript {
|
Line 5180 sub defaults_javascript {
|
$maxnum = 0; |
$maxnum = 0; |
} |
} |
$maxnum ++; |
$maxnum ++; |
$jstext = ' var inststatuses = Array('."'".join("','",@{$settings->{'inststatusorder'}})."'".');'; |
my $jstext = ' var inststatuses = Array('."'".join("','",@{$settings->{'inststatusorder'}})."'".');'; |
return <<"ENDSCRIPT"; |
return <<"ENDSCRIPT"; |
<script type="text/javascript"> |
<script type="text/javascript"> |
// <![CDATA[ |
// <![CDATA[ |
Line 6073 sub modify_login {
|
Line 6073 sub modify_login {
|
if (!$privkey) { |
if (!$privkey) { |
$chgtxt .= '<li>'.&mt('Private key deleted').'</li>'; |
$chgtxt .= '<li>'.&mt('Private key deleted').'</li>'; |
} else { |
} else { |
$chgtxt .= '<li>'.&mt('Private key set to [_1]',$pubkey).'</li>'; |
$chgtxt .= '<li>'.&mt('Private key set to [_1]',$privkey).'</li>'; |
} |
} |
$chgtxt .= '</ul>'; |
$chgtxt .= '</ul>'; |
$resulttext .= '<li>'.$chgtxt.'</li>'; |
$resulttext .= '<li>'.$chgtxt.'</li>'; |
Line 9077 sub process_captcha {
|
Line 9077 sub process_captcha {
|
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; |
$newpub =~ s/[^\w\-]//g; |
$newpriv =~ s/\W//g; |
$newpriv =~ s/[^\w\-]//g; |
$newsettings->{'recaptchakeys'} = { |
$newsettings->{'recaptchakeys'} = { |
public => $newpub, |
public => $newpub, |
private => $newpriv, |
private => $newpriv, |
Line 10681 sub modify_loadbalancing {
|
Line 10681 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 10794 sub modify_loadbalancing {
|
Line 10795 sub modify_loadbalancing {
|
\%defaultshash,$dom); |
\%defaultshash,$dom); |
if ($putresult eq 'ok') { |
if ($putresult eq 'ok') { |
if (keys(%changes) > 0) { |
if (keys(%changes) > 0) { |
|
my %toupdate; |
if (ref($changes{'delete'}) eq 'ARRAY') { |
if (ref($changes{'delete'}) eq 'ARRAY') { |
foreach my $balancer (sort(@{$changes{'delete'}})) { |
foreach my $balancer (sort(@{$changes{'delete'}})) { |
$resulttext .= '<li>'.&mt('Load Balancing discontinued for: [_1]',$balancer).'</li>'; |
$resulttext .= '<li>'.&mt('Load Balancing discontinued for: [_1]',$balancer).'</li>'; |
my $cachekey = &escape('loadbalancing').':'.&escape($dom); |
$toupdate{$balancer} = 1; |
&Apache::lonnet::remote_devalidate_cache($balancer,[$cachekey]); |
|
} |
} |
} |
} |
if (ref($changes{'add'}) eq 'ARRAY') { |
if (ref($changes{'add'}) eq 'ARRAY') { |
foreach my $balancer (sort(@{$changes{'add'}})) { |
foreach my $balancer (sort(@{$changes{'add'}})) { |
$resulttext .= '<li>'.&mt('Load Balancing enabled for: [_1]',$balancer); |
$resulttext .= '<li>'.&mt('Load Balancing enabled for: [_1]',$balancer); |
|
$toupdate{$balancer} = 1; |
} |
} |
} |
} |
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 10846 sub modify_loadbalancing {
|
Line 10849 sub modify_loadbalancing {
|
} elsif (($rule eq 'homeserver') || ($rule eq 'externalbalancer') || |
} elsif (($rule eq 'homeserver') || ($rule eq 'externalbalancer') || |
($rule eq 'balancer') || ($rule eq 'offloadedto')) { |
($rule eq 'balancer') || ($rule eq 'offloadedto')) { |
$balancetext = $ruletitles{$rule}; |
$balancetext = $ruletitles{$rule}; |
|
if (($rule eq 'balancer') || ($rule eq 'offloadedto')) { |
|
foreach my $sparetype (@sparestypes) { |
|
if (ref($defaultshash{'loadbalancing'}{$balancer}{'targets'}{$sparetype}) eq 'ARRAY') { |
|
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; |
|
} |
|
} |
|
} |
|
} |
|
} |
} else { |
} else { |
$balancetext = &mt('offload to [_1]',$defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type}); |
$balancetext = &mt('offload to [_1]',$defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type}); |
} |
} |
Line 10854 sub modify_loadbalancing {
|
Line 10877 sub modify_loadbalancing {
|
} |
} |
} |
} |
} |
} |
my $cachekey = &escape('loadbalancing').':'.&escape($dom); |
if (keys(%toupdate)) { |
&Apache::lonnet::remote_devalidate_cache($balancer,[$cachekey]); |
my %thismachine; |
|
my $updatedhere; |
|
my $cachetime = 60*60*24; |
|
map { $thismachine{$_} = 1; } &Apache::lonnet::current_machine_ids(); |
|
foreach my $lonhost (keys(%toupdate)) { |
|
if ($thismachine{$lonhost}) { |
|
unless ($updatedhere) { |
|
&Apache::lonnet::do_cache_new('loadbalancing',$dom, |
|
$defaultshash{'loadbalancing'}, |
|
$cachetime); |
|
$updatedhere = 1; |
|
} |
|
} else { |
|
my $cachekey = &escape('loadbalancing').':'.&escape($dom); |
|
&Apache::lonnet::remote_devalidate_cache($lonhost,[$cachekey]); |
|
} |
|
} |
|
} |
} |
} |
} |
} |
if ($resulttext ne '') { |
if ($resulttext ne '') { |