version 1.160.6.19, 2013/06/05 13:31:19
|
version 1.197, 2013/07/02 19:04:36
|
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 94 about default quota sizes for portfolio
|
Line 94 about default quota sizes for portfolio
|
institutional affiliation in the domain (e.g., Faculty, Staff, Student etc.), |
institutional affiliation in the domain (e.g., Faculty, Staff, Student etc.), |
but is now also used to manage availability of user tools: |
but is now also used to manage availability of user tools: |
i.e., blogs, aboutme page, and portfolios, and the course request tool, |
i.e., blogs, aboutme page, and portfolios, and the course request tool, |
used by course owners to request creation of a course. |
used by course owners to request creation of a course, and to display/store |
|
default quota sizes for authoring spaces. |
|
|
Outputs: 1 |
Outputs: 1 |
|
|
Line 210 sub handler {
|
Line 211 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'],$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','coursedefaults','usersessions'); |
'serverstatuses','helpsettings', |
|
'coursedefaults','usersessions'); |
my %existing; |
my %existing; |
if (ref($domconfig{'loadbalancing'}) eq 'HASH') { |
if (ref($domconfig{'loadbalancing'}) eq 'HASH') { |
%existing = %{$domconfig{'loadbalancing'}}; |
%existing = %{$domconfig{'loadbalancing'}}; |
Line 252 sub handler {
|
Line 255 sub handler {
|
col2 => 'Value'}], |
col2 => 'Value'}], |
}, |
}, |
'quotas' => |
'quotas' => |
{ text => 'Blogs, personal web pages, webDAV, portfolios', |
{ text => 'Blogs, personal web pages, webDAV/quotas, portfolios', |
help => 'Domain_Configuration_Quotas', |
help => 'Domain_Configuration_Quotas', |
header => [{col1 => 'User affiliation', |
header => [{col1 => 'User affiliation', |
col2 => 'Available tools', |
col2 => 'Available tools', |
col3 => 'Portfolio quota',}], |
col3 => 'Quotas, Mb; (Authoring requires role)',}], |
}, |
}, |
'autoenroll' => |
'autoenroll' => |
{ text => 'Auto-enrollment settings', |
{ text => 'Auto-enrollment settings', |
Line 353 sub handler {
|
Line 356 sub handler {
|
col3 => 'Specific IPs', |
col3 => 'Specific IPs', |
}], |
}], |
}, |
}, |
'coursedefaults' => |
'helpsettings' => |
|
{text => 'Help page settings', |
|
help => 'Domain_Configuration_Help_Settings', |
|
header => [{col1 => 'Help Settings (logged-in users)', |
|
col2 => 'Value'}], |
|
}, |
|
'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',},], |
}, |
}, |
|
'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 402 sub handler {
|
Line 419 sub handler {
|
&Apache::lonconfigsettings::make_changes($r,$dom,$phase,$context,\@prefs_order,\%prefs,\%domconfig,$confname,\@roles); |
&Apache::lonconfigsettings::make_changes($r,$dom,$phase,$context,\@prefs_order,\%prefs,\%domconfig,$confname,\@roles); |
} elsif ($phase eq 'display') { |
} elsif ($phase eq 'display') { |
my $js = &recaptcha_js(). |
my $js = &recaptcha_js(). |
&credits_js(); |
&credits_js(); |
if ((keys(%servers) > 1) || (keys(%existing) > 0)) { |
if ((keys(%servers) > 1) || (keys(%existing) > 0)) { |
my ($othertitle,$usertypes,$types) = |
my ($othertitle,$usertypes,$types) = |
&Apache::loncommon::sorted_inst_types($dom); |
&Apache::loncommon::sorted_inst_types($dom); |
Line 416 sub handler {
|
Line 433 sub handler {
|
} else { |
} else { |
# check if domconfig user exists for the domain. |
# check if domconfig user exists for the domain. |
my $servadm = $r->dir_config('lonAdmEMail'); |
my $servadm = $r->dir_config('lonAdmEMail'); |
my ($configuserok,$author_ok,$switchserver) = |
my ($configuserok,$author_ok,$switchserver) = |
&config_check($dom,$confname,$servadm); |
&config_check($dom,$confname,$servadm); |
unless ($configuserok eq 'ok') { |
unless ($configuserok eq 'ok') { |
&Apache::lonconfigsettings::print_header($r,$phase,$context); |
&Apache::lonconfigsettings::print_header($r,$phase,$context); |
$r->print(&mt('The domain configuration user "[_1]" has yet to be created.', |
$r->print(&mt('The domain configuration user "[_1]" has yet to be created.', |
$confname). |
$confname). |
'<br />' |
'<br />' |
); |
); |
if ($switchserver) { |
if ($switchserver) { |
Line 520 sub process_changes {
|
Line 537 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') { |
} elsif ($action eq 'coursedefaults') { |
$output = &modify_coursedefaults($dom,%domconfig); |
$output = &modify_coursedefaults($dom,%domconfig); |
} elsif ($action eq 'usersessions') { |
} elsif ($action eq 'usersessions') { |
Line 552 sub print_config_box {
|
Line 571 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 591 sub print_config_box {
|
Line 610 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 680 sub print_config_box {
|
Line 701 sub print_config_box {
|
<td class="LC_right_item">'.&mt($item->{'header'}->[2]->{'col2'}).'</td> </tr>'. |
<td class="LC_right_item">'.&mt($item->{'header'}->[2]->{'col2'}).'</td> </tr>'. |
&print_usersessions('bottom',$dom,$settings,\$rowtotal); |
&print_usersessions('bottom',$dom,$settings,\$rowtotal); |
$rowtotal ++; |
$rowtotal ++; |
|
} elsif ($action eq 'coursedefaults') { |
|
$output .= &print_coursedefaults('bottom',$dom,$settings,\$rowtotal); |
} elsif ($action eq 'rolecolors') { |
} elsif ($action eq 'rolecolors') { |
$output .= &print_rolecolors($phase,'coordinator',$dom,$confname,$settings,\$rowtotal).' |
$output .= &print_rolecolors($phase,'coordinator',$dom,$confname,$settings,\$rowtotal).' |
</table> |
</table> |
Line 776 sub print_config_box {
|
Line 799 sub print_config_box {
|
$output .= &print_helpsettings($dom,$confname,$settings,\$rowtotal); |
$output .= &print_helpsettings($dom,$confname,$settings,\$rowtotal); |
} elsif ($action eq 'loadbalancing') { |
} elsif ($action eq 'loadbalancing') { |
$output .= &print_loadbalancing($dom,$settings,\$rowtotal); |
$output .= &print_loadbalancing($dom,$settings,\$rowtotal); |
} elsif ($action eq 'coursedefaults') { |
|
$output .= &print_coursedefaults('bottom',$dom,$settings,\$rowtotal); |
|
} |
} |
} |
} |
$output .= ' |
$output .= ' |
Line 1208 sub display_color_options {
|
Line 1229 sub display_color_options {
|
|
|
$datatable .= '<td><span class="LC_nobreak">'. |
$datatable .= '<td><span class="LC_nobreak">'. |
'<input type="text" class="colorchooser" size="10" name="'.$role.'_font"'. |
'<input type="text" class="colorchooser" size="10" name="'.$role.'_font"'. |
' value="'.$current_color.'" /> '. |
' value="'.$current_color.'" /> '. |
' </td></tr>'; |
' </td></tr>'; |
unless ($role eq 'login') { |
unless ($role eq 'login') { |
$datatable .= '<tr'.$css_class.'>'. |
$datatable .= '<tr'.$css_class.'>'. |
Line 1218 sub display_color_options {
|
Line 1239 sub display_color_options {
|
} else { |
} else { |
$datatable .= '<td> </td>'; |
$datatable .= '<td> </td>'; |
} |
} |
$current_color = $designs->{'fontmenu'} ? |
$current_color = $designs->{'fontmenu'} ? |
$designs->{'fontmenu'} : $defaults->{'fontmenu'}; |
$designs->{'fontmenu'} : $defaults->{'fontmenu'}; |
$datatable .= '<td><span class="LC_nobreak">'. |
$datatable .= '<td><span class="LC_nobreak">'. |
'<input class="colorchooser" type="text" size="10" name="' |
'<input class="colorchooser" type="text" size="10" name="' |
.$role.'_fontmenu"'. |
.$role.'_fontmenu"'. |
' value="'.$current_color.'" /> '. |
' value="'.$current_color.'" /> '. |
' </td></tr>'; |
' </td></tr>'; |
} |
} |
Line 1354 sub display_color_options {
|
Line 1375 sub display_color_options {
|
|
|
foreach my $item (@{$bgs}) { |
foreach my $item (@{$bgs}) { |
$datatable .= '<td align="center">'; |
$datatable .= '<td align="center">'; |
my $color = $designs->{'bgs'}{$item} ? $designs->{'bgs'}{$item} : $defaults->{'bgs'}{$item}; |
my $color = $designs->{'bgs'}{$item} ? $designs->{'bgs'}{$item} : $defaults->{'bgs'}{$item}; |
if ($designs->{'bgs'}{$item}) { |
if ($designs->{'bgs'}{$item}) { |
$datatable .= ' '; |
$datatable .= ' '; |
} |
} |
Line 1380 sub display_color_options {
|
Line 1401 sub display_color_options {
|
$datatable .= '<td class="LC_right_item">'. |
$datatable .= '<td class="LC_right_item">'. |
'<table border="0"><tr>'; |
'<table border="0"><tr>'; |
foreach my $item (@{$links}) { |
foreach my $item (@{$links}) { |
my $color = $designs->{'link'}{$item} ? $designs->{'link'}{$item} : $defaults->{'links'}{$item}; |
my $color = $designs->{'link'}{$item} ? $designs->{'link'}{$item} : $defaults->{'links'}{$item}; |
$datatable .= '<td align="center">'."\n"; |
$datatable .= '<td align="center">'."\n"; |
|
|
if ($designs->{'links'}{$item}) { |
if ($designs->{'links'}{$item}) { |
Line 1504 sub print_quotas {
|
Line 1525 sub print_quotas {
|
} else { |
} else { |
$context = $action; |
$context = $action; |
} |
} |
my ($datatable,$defaultquota,@usertools,@options,%validations); |
my ($datatable,$defaultquota,$authorquota,@usertools,@options,%validations); |
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($dom); |
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($dom); |
my $typecount = 0; |
my $typecount = 0; |
my ($css_class,%titles); |
my ($css_class,%titles); |
Line 1516 sub print_quotas {
|
Line 1537 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(); |
} |
} |
if (ref($types) eq 'ARRAY') { |
if (ref($types) eq 'ARRAY') { |
foreach my $type (@{$types}) { |
foreach my $type (@{$types}) { |
my $currdefquota; |
my ($currdefquota,$currauthorquota); |
unless (($context eq 'requestcourses') || |
unless (($context eq 'requestcourses') || |
($context eq 'requestauthor')) { |
($context eq 'requestauthor')) { |
if (ref($settings) eq 'HASH') { |
if (ref($settings) eq 'HASH') { |
if (ref($settings->{defaultquota}) eq 'HASH') { |
if (ref($settings->{defaultquota}) eq 'HASH') { |
$currdefquota = $settings->{defaultquota}->{$type}; |
$currdefquota = $settings->{defaultquota}->{$type}; |
} else { |
} else { |
$currdefquota = $settings->{$type}; |
$currdefquota = $settings->{$type}; |
} |
} |
|
if (ref($settings->{authorquota}) eq 'HASH') { |
|
$currauthorquota = $settings->{authorquota}->{$type}; |
|
} |
} |
} |
} |
} |
if (defined($usertypes->{$type})) { |
if (defined($usertypes->{$type})) { |
Line 1645 sub print_quotas {
|
Line 1669 sub print_quotas {
|
unless (($context eq 'requestcourses') || |
unless (($context eq 'requestcourses') || |
($context eq 'requestauthor')) { |
($context eq 'requestauthor')) { |
$datatable .= |
$datatable .= |
'<td class="LC_right_item"><span class="LC_nobreak">'. |
'<td class="LC_right_item">'. |
|
'<span class="LC_nobreak">'.&mt('Portfolio').': '. |
'<input type="text" name="quota_'.$type. |
'<input type="text" name="quota_'.$type. |
'" value="'.$currdefquota. |
'" value="'.$currdefquota. |
'" size="5" /> Mb</span></td>'; |
'" size="5" /></span>'.(' ' x 2). |
|
'<span class="LC_nobreak">'.&mt('Authoring').': '. |
|
'<input type="text" name="authorquota_'.$type. |
|
'" value="'.$currauthorquota. |
|
'" size="5" /></span></td>'; |
} |
} |
$datatable .= '</tr>'; |
$datatable .= '</tr>'; |
} |
} |
Line 1656 sub print_quotas {
|
Line 1685 sub print_quotas {
|
} |
} |
unless (($context eq 'requestcourses') || ($context eq 'requestauthor')) { |
unless (($context eq 'requestcourses') || ($context eq 'requestauthor')) { |
$defaultquota = '20'; |
$defaultquota = '20'; |
|
$authorquota = '500'; |
if (ref($settings) eq 'HASH') { |
if (ref($settings) eq 'HASH') { |
if (ref($settings->{'defaultquota'}) eq 'HASH') { |
if (ref($settings->{'defaultquota'}) eq 'HASH') { |
$defaultquota = $settings->{'defaultquota'}->{'default'}; |
$defaultquota = $settings->{'defaultquota'}->{'default'}; |
} elsif (defined($settings->{'default'})) { |
} elsif (defined($settings->{'default'})) { |
$defaultquota = $settings->{'default'}; |
$defaultquota = $settings->{'default'}; |
} |
} |
|
if (ref($settings->{'authorquota'}) eq 'HASH') { |
|
$authorquota = $settings->{'authorquota'}->{'default'}; |
|
} |
} |
} |
} |
} |
$typecount ++; |
$typecount ++; |
Line 1772 sub print_quotas {
|
Line 1805 sub print_quotas {
|
} |
} |
$datatable .= '</td>'; |
$datatable .= '</td>'; |
unless (($context eq 'requestcourses') || ($context eq 'requestauthor')) { |
unless (($context eq 'requestcourses') || ($context eq 'requestauthor')) { |
$datatable .= '<td class="LC_right_item"><span class="LC_nobreak">'. |
$datatable .= '<td class="LC_right_item">'. |
|
'<span class="LC_nobreak">'.&mt('Portfolio').': '. |
'<input type="text" name="defaultquota" value="'. |
'<input type="text" name="defaultquota" value="'. |
$defaultquota.'" size="5" /> Mb</span></td>'; |
$defaultquota.'" size="5" /></span>'.(' ' x2). |
|
'<span class="LC_nobreak">'.&mt('Authoring').': '. |
|
'<input type="text" name="authorquota" value="'. |
|
$authorquota.'" size="5" /></span></td>'; |
} |
} |
$datatable .= '</tr>'; |
$datatable .= '</tr>'; |
$typecount ++; |
$typecount ++; |
$css_class = $typecount%2?' class="LC_odd_row"':''; |
$css_class = $typecount%2?' class="LC_odd_row"':''; |
$datatable .= '<tr'.$css_class.'>'. |
$datatable .= '<tr'.$css_class.'>'. |
'<td>'.&mt('LON-CAPA Advanced Users').' '; |
'<td>'.&mt('LON-CAPA Advanced Users').'<br />'; |
if ($context eq 'requestcourses') { |
if ($context eq 'requestcourses') { |
$datatable .= &mt('(overrides affiliation, if set)'). |
$datatable .= &mt('(overrides affiliation, if set)'). |
'</td>'. |
'</td>'. |
Line 2100 sub print_autocreate {
|
Line 2137 sub print_autocreate {
|
} |
} |
} |
} |
} |
} |
if ($settings->{'xmldc'} ne '') { |
if ($settings->{'xmldc'} ne '') { |
$currhash{$settings->{'xmldc'}} = 1; |
$currhash{$settings->{'xmldc'}} = 1; |
} |
} |
} else { |
} else { |
Line 2293 sub print_contacts {
|
Line 2330 sub print_contacts {
|
$checked{'helpdeskmail'}{'supportemail'} = ' checked="checked" '; |
$checked{'helpdeskmail'}{'supportemail'} = ' checked="checked" '; |
$checked{'lonstatusmail'}{'adminemail'} = ' checked="checked" '; |
$checked{'lonstatusmail'}{'adminemail'} = ' checked="checked" '; |
$checked{'requestsmail'}{'adminemail'} = ' checked="checked" '; |
$checked{'requestsmail'}{'adminemail'} = ' checked="checked" '; |
$checked{'updatesmail'}{'adminemail'} = ' checked="checked" '; |
$checked{'updatesmail'}{'adminemail'} = ' checked="checked" '; |
} |
} |
my ($titles,$short_titles) = &contact_titles(); |
my ($titles,$short_titles) = &contact_titles(); |
my $rownum = 0; |
my $rownum = 0; |
Line 2445 sub print_coursedefaults {
|
Line 2482 sub print_coursedefaults {
|
'</td></tr>'."\n"; |
'</td></tr>'."\n"; |
$itemcount ++; |
$itemcount ++; |
my $onclick = 'toggleCredits(this.form);'; |
my $onclick = 'toggleCredits(this.form);'; |
my $display = 'none'; |
my $display = 'none'; |
if ($currusecredits) { |
if ($currusecredits) { |
$display = 'block'; |
$display = 'block'; |
} |
} |
Line 2931 sub print_loadbalancing {
|
Line 2968 sub print_loadbalancing {
|
'<td rowspan="'.$rownum.'" valign="top">'. |
'<td rowspan="'.$rownum.'" valign="top">'. |
'<p>'; |
'<p>'; |
if ($lonhost eq '') { |
if ($lonhost eq '') { |
$datatable .= '<span class="LC_nobreak">'; |
$datatable .= '<span class="LC_nobreak">'; |
if (keys(%currbalancer) > 0) { |
if (keys(%currbalancer) > 0) { |
$datatable .= &mt('Add balancer:'); |
$datatable .= &mt('Add balancer:'); |
} else { |
} else { |
Line 2947 sub print_loadbalancing {
|
Line 2984 sub print_loadbalancing {
|
next if ($currbalancer{$server}); |
next if ($currbalancer{$server}); |
$datatable .= '<option value="'.$server.'">'.$server.'</option>'."\n"; |
$datatable .= '<option value="'.$server.'">'.$server.'</option>'."\n"; |
} |
} |
$datatable .= |
$datatable .= |
'</select>'."\n". |
'</select>'."\n". |
'<input type="hidden" name="loadbalancing_prevlonhost_'.$balnum.'" id="loadbalancing_prevlonhost_'.$balnum.'" value="" /> </span>'."\n"; |
'<input type="hidden" name="loadbalancing_prevlonhost_'.$balnum.'" id="loadbalancing_prevlonhost_'.$balnum.'" value="" /> </span>'."\n"; |
} else { |
} else { |
Line 2986 sub print_loadbalancing {
|
Line 3023 sub print_loadbalancing {
|
if (exists($currbalancer{$spares[$i]})) { |
if (exists($currbalancer{$spares[$i]})) { |
$disabled = ' disabled="disabled"'; |
$disabled = ' disabled="disabled"'; |
} |
} |
$targettable .= |
$targettable .= |
'<td><label><input type="checkbox" name="loadbalancing_target_'.$balnum.'_'.$sparetype.'"'. |
'<td><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></td>'; |
Line 3070 sub loadbalancing_rules {
|
Line 3107 sub loadbalancing_rules {
|
$css_class,$balnum,$islast) = @_; |
$css_class,$balnum,$islast) = @_; |
my $output; |
my $output; |
my $num = 0; |
my $num = 0; |
my ($alltypes,$othertypes,$titles) = |
my ($alltypes,$othertypes,$titles) = |
&loadbalancing_titles($dom,$intdom,$usertypes,$types); |
&loadbalancing_titles($dom,$intdom,$usertypes,$types); |
if ((ref($alltypes) eq 'ARRAY') && (ref($titles) eq 'HASH')) { |
if ((ref($alltypes) eq 'ARRAY') && (ref($titles) eq 'HASH')) { |
foreach my $type (@{$alltypes}) { |
foreach my $type (@{$alltypes}) { |
Line 3142 sub loadbalance_rule_row {
|
Line 3179 sub loadbalance_rule_row {
|
if ($islast && $num == 1) { |
if ($islast && $num == 1) { |
$space = '<div display="inline-block"> </div>'; |
$space = '<div display="inline-block"> </div>'; |
} |
} |
my $output = |
my $output = |
'<tr class="'.$css_class.'" id="balanceruletr_'.$balnum.'_'.$num.'"><td valign="top">'.$space. |
'<tr class="'.$css_class.'" id="balanceruletr_'.$balnum.'_'.$num.'"><td valign="top">'.$space. |
'<div id="balanceruletitle_'.$balnum.'_'.$type.'" style="'.$style.'">'.$title.'</div></td>'."\n". |
'<div id="balanceruletitle_'.$balnum.'_'.$type.'" style="'.$style.'">'.$title.'</div></td>'."\n". |
'<td valaign="top">'.$space. |
'<td valaign="top">'.$space. |
Line 3162 sub loadbalance_rule_row {
|
Line 3199 sub loadbalance_rule_row {
|
unless ($checked) { |
unless ($checked) { |
$default = ' selected="selected"'; |
$default = ' selected="selected"'; |
} |
} |
$extra = |
$extra = |
': <select name="loadbalancing_singleserver_'.$balnum.'_'.$type. |
': <select name="loadbalancing_singleserver_'.$balnum.'_'.$type. |
'" id="loadbalancing_singleserver_'.$balnum.'_'.$type. |
'" id="loadbalancing_singleserver_'.$balnum.'_'.$type. |
'" onchange="singleServerToggle('."'$balnum','$type'".')">'."\n". |
'" onchange="singleServerToggle('."'$balnum','$type'".')">'."\n". |
Line 3264 sub authorrequest_titles {
|
Line 3301 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 3503 sub captcha_choice {
|
Line 3540 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 4814 sub modify_login {
|
Line 4851 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 4931 sub modify_login {
|
Line 4968 sub modify_login {
|
} |
} |
} elsif ($item eq 'captcha') { |
} elsif ($item eq 'captcha') { |
if (ref($loginhash{'login'}) eq 'HASH') { |
if (ref($loginhash{'login'}) eq 'HASH') { |
my $chgtxt; |
my $chgtxt; |
if ($loginhash{'login'}{$item} eq 'notused') { |
if ($loginhash{'login'}{$item} eq 'notused') { |
$chgtxt .= &mt('No CAPTCHA validation in use for helpdesk form.'); |
$chgtxt .= &mt('No CAPTCHA validation in use for helpdesk form.'); |
} else { |
} else { |
Line 5409 sub publishlogo {
|
Line 5446 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 5417 sub publishlogo {
|
Line 5454 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 5683 sub modify_quotas {
|
Line 5720 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 5720 sub modify_quotas {
|
Line 5757 sub modify_quotas {
|
} else { |
} else { |
if ($key =~ /^form\.quota_(.+)$/) { |
if ($key =~ /^form\.quota_(.+)$/) { |
$confhash{'defaultquota'}{$1} = $env{$key}; |
$confhash{'defaultquota'}{$1} = $env{$key}; |
} |
} elsif ($key =~ /^form\.authorquota_(.+)$/) { |
if ($key =~ /^form\.\Q$context\E_(.+)$/) { |
$confhash{'authorquota'}{$1} = $env{$key}; |
|
} elsif ($key =~ /^form\.\Q$context\E_(.+)$/) { |
@{$toolshash{$1}} = &Apache::loncommon::get_env_multiple($key); |
@{$toolshash{$1}} = &Apache::loncommon::get_env_multiple($key); |
} |
} |
} |
} |
Line 5747 sub modify_quotas {
|
Line 5785 sub modify_quotas {
|
} |
} |
} else { |
} else { |
$confhash{'defaultquota'}{'default'} = $env{'form.defaultquota'}; |
$confhash{'defaultquota'}{'default'} = $env{'form.defaultquota'}; |
|
$confhash{'authorquota'}{'default'} = $env{'form.authorquota'}; |
} |
} |
foreach my $item (@usertools) { |
foreach my $item (@usertools) { |
foreach my $type (@{$types},'default','_LC_adv') { |
foreach my $type (@{$types},'default','_LC_adv') { |
Line 5834 sub modify_quotas {
|
Line 5873 sub modify_quotas {
|
} |
} |
} |
} |
} |
} |
|
if (ref($domconfig{'quotas'}{'authorquota'}) eq 'HASH') { |
|
foreach my $key (keys(%{$domconfig{'quotas'}{'authorquota'}})) { |
|
if (exists($confhash{'authorquota'}{$key})) { |
|
if ($confhash{'authorquota'}{$key} ne $domconfig{'quotas'}{'authorquota'}{$key}) { |
|
$changes{'authorquota'}{$key} = 1; |
|
} |
|
} else { |
|
$confhash{'authorquota'}{$key} = $domconfig{'quotas'}{'authorquota'}{$key}; |
|
} |
|
} |
|
} |
} |
} |
if (ref($confhash{'defaultquota'}) eq 'HASH') { |
if (ref($confhash{'defaultquota'}) eq 'HASH') { |
foreach my $key (keys(%{$confhash{'defaultquota'}})) { |
foreach my $key (keys(%{$confhash{'defaultquota'}})) { |
Line 5852 sub modify_quotas {
|
Line 5902 sub modify_quotas {
|
} |
} |
} |
} |
} |
} |
|
if (ref($confhash{'authorquota'}) eq 'HASH') { |
|
foreach my $key (keys(%{$confhash{'authorquota'}})) { |
|
if (ref($domconfig{'quotas'}) eq 'HASH') { |
|
if (ref($domconfig{'quotas'}{'authorquota'}) eq 'HASH') { |
|
if (!exists($domconfig{'quotas'}{'authorquota'}{$key})) { |
|
$changes{'authorquota'}{$key} = 1; |
|
} |
|
} else { |
|
$changes{'authorquota'}{$key} = 1; |
|
} |
|
} else { |
|
$changes{'authorquota'}{$key} = 1; |
|
} |
|
} |
|
} |
} |
} |
|
|
if ($context eq 'requestauthor') { |
if ($context eq 'requestauthor') { |
Line 5873 sub modify_quotas {
|
Line 5938 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 5888 sub modify_quotas {
|
Line 5953 sub modify_quotas {
|
} |
} |
$resulttext .= '</ul></li>'; |
$resulttext .= '</ul></li>'; |
} |
} |
|
if (ref($changes{'authorquota'}) eq 'HASH') { |
|
$resulttext .= '<li>'.&mt('Authoring space default quotas').'<ul>'; |
|
foreach my $type (@{$types},'default') { |
|
if (defined($changes{'authorquota'}{$type})) { |
|
my $typetitle = $usertypes->{$type}; |
|
if ($type eq 'default') { |
|
$typetitle = $othertitle; |
|
} |
|
$resulttext .= '<li>'.&mt('[_1] set to [_2] Mb',$typetitle,$confhash{'authorquota'}{$type}).'</li>'; |
|
} |
|
} |
|
$resulttext .= '</ul></li>'; |
|
} |
} |
} |
my %newenv; |
my %newenv; |
foreach my $item (@usertools) { |
foreach my $item (@usertools) { |
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 5908 sub modify_quotas {
|
Line 5986 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 6474 sub modify_directorysrch {
|
Line 6552 sub modify_directorysrch {
|
} else { |
} else { |
$chgtext =~ s/\; $//; |
$chgtext =~ s/\; $//; |
} |
} |
$resulttext .= |
$resulttext .= |
'<li>'. |
'<li>'. |
&mt("Users from domain '[_1]' permitted to search the institutional directory set to: [_2]", |
&mt("Users from domain '[_1]' permitted to search the institutional directory set to: [_2]", |
'<span class="LC_cusr_emph">'.$dom.'</span>',$chgtext). |
'<span class="LC_cusr_emph">'.$dom.'</span>',$chgtext). |
Line 6941 sub modify_usercreation {
|
Line 7019 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 7069 sub process_captcha {
|
Line 7147 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 ($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'})) { |
Line 7108 sub process_captcha {
|
Line 7186 sub process_captcha {
|
$changes->{'cancreate'} = ['recaptchakeys']; |
$changes->{'cancreate'} = ['recaptchakeys']; |
} |
} |
} else { |
} else { |
$changes->{'recaptchakeys'} = 1; |
$changes->{'recaptchakeys'} = 1; |
} |
} |
} |
} |
return; |
return; |
Line 7792 sub modify_helpsettings {
|
Line 7870 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 7918 sub modify_coursedefaults {
|
Line 7996 sub modify_coursedefaults {
|
$resulttext .= '<li>'.&mt('Course/Community users can create/upload PDF forms set to "off"').'</li>'; |
$resulttext .= '<li>'.&mt('Course/Community users can create/upload PDF forms set to "off"').'</li>'; |
} |
} |
} elsif ($item eq 'anonsurvey_threshold') { |
} elsif ($item eq 'anonsurvey_threshold') { |
$resulttext .= '<li>'.&mt('Responder count required for display of anonymous survey submissions set to [_1].',$defaultshash{'coursedefaults'}{'anonsurvey_threshold'}).'</li>'; |
$resulttext .= '<li>'.&mt('Responder count required for display of anonymous survey submissions set to [_1].',$defaultshash{'coursedefaults'}{'anonsurvey_threshold'}).'</li>'; |
} elsif ($item eq 'coursecredits') { |
} elsif ($item eq 'coursecredits') { |
if (ref($defaultshash{'coursedefaults'}{'coursecredits'}) eq 'HASH') { |
if (ref($defaultshash{'coursedefaults'}{'coursecredits'}) eq 'HASH') { |
if (($domdefaults{'officialcredits'} eq '') && |
if (($domdefaults{'officialcredits'} eq '') && |
Line 8242 sub modify_loadbalancing {
|
Line 8320 sub modify_loadbalancing {
|
if ($balancer eq '') { |
if ($balancer eq '') { |
next; |
next; |
} |
} |
if (!exists($servers{$balancer})) { |
if (!exists($servers{$balancer})) { |
if (exists($currbalancer{$balancer})) { |
if (exists($currbalancer{$balancer})) { |
push(@{$changes{'delete'}},$balancer); |
push(@{$changes{'delete'}},$balancer); |
} |
} |
Line 8293 sub modify_loadbalancing {
|
Line 8371 sub modify_loadbalancing {
|
} |
} |
} else { |
} else { |
if (ref($defaultshash{'loadbalancing'}{$balancer}) eq 'HASH') { |
if (ref($defaultshash{'loadbalancing'}{$balancer}) eq 'HASH') { |
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') { |
if (@{$defaultshash{'loadbalancing'}{$balancer}{'targets'}{$sparetype}} > 0) { |
if (@{$defaultshash{'loadbalancing'}{$balancer}{'targets'}{$sparetype}} > 0) { |
$changes{'curr'}{$balancer}{'targets'} = 1; |
$changes{'curr'}{$balancer}{'targets'} = 1; |
} |
} |
} |
} |
} |
} |
} |
} |
} |
} |
my $ishomedom; |
my $ishomedom; |
if (&Apache::lonnet::host_domain($balancer) eq $dom) { |
if (&Apache::lonnet::host_domain($balancer) eq $dom) { |
Line 8309 sub modify_loadbalancing {
|
Line 8387 sub modify_loadbalancing {
|
if (ref($alltypes) eq 'ARRAY') { |
if (ref($alltypes) eq 'ARRAY') { |
foreach my $type (@{$alltypes}) { |
foreach my $type (@{$alltypes}) { |
my $rule; |
my $rule; |
unless ((($type eq '_LC_external') || ($type eq '_LC_internetdom')) && |
unless ((($type eq '_LC_external') || ($type eq '_LC_internetdom')) && |
(!$ishomedom)) { |
(!$ishomedom)) { |
$rule = $env{'form.loadbalancing_rules_'.$i.'_'.$type}; |
$rule = $env{'form.loadbalancing_rules_'.$i.'_'.$type}; |
} |
} |
Line 8334 sub modify_loadbalancing {
|
Line 8412 sub modify_loadbalancing {
|
} |
} |
my $putresult = &Apache::lonnet::put_dom('configuration', |
my $putresult = &Apache::lonnet::put_dom('configuration', |
\%defaultshash,$dom); |
\%defaultshash,$dom); |
|
|
if ($putresult eq 'ok') { |
if ($putresult eq 'ok') { |
if (keys(%changes) > 0) { |
if (keys(%changes) > 0) { |
if (ref($changes{'delete'}) eq 'ARRAY') { |
if (ref($changes{'delete'}) eq 'ARRAY') { |
Line 8344 sub modify_loadbalancing {
|
Line 8422 sub modify_loadbalancing {
|
} |
} |
} |
} |
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); |
} |
} |
} |
} |
Line 8390 sub modify_loadbalancing {
|
Line 8468 sub modify_loadbalancing {
|
} else { |
} else { |
$balancetext = &mt('offload to [_1]',$defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type}); |
$balancetext = &mt('offload to [_1]',$defaultshash{'loadbalancing'}{$balancer}{'rules'}{$type}); |
} |
} |
$resulttext .= '<li>'.&mt('Load Balancer: [_1] -- balancing for [_2] set to - "[_3]"',$balancer,$titles->{$type},$balancetext).'</li>'; |
$resulttext .= '<li>'.&mt('Load Balancer: [_1] -- balancing for [_2] set to - "[_3]"',$balancer,$titles->{$type},$balancetext).'</li>'; |
} |
} |
} |
} |
} |
} |
Line 8450 sub recurse_cat_deletes {
|
Line 8528 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; |
Line 8483 sub active_dc_picker {
|
Line 8561 sub active_dc_picker {
|
} |
} |
} |
} |
@domcoord = sort(@domcoord); |
@domcoord = sort(@domcoord); |
my $numdcs = scalar(@domcoord); |
my $numdcs = scalar(@domcoord); |
my $rows = 0; |
my $rows = 0; |
my $table; |
my $table; |
if ($numdcs > 1) { |
if ($numdcs > 1) { |
Line 8617 sub lonbalance_targets_js {
|
Line 8695 sub lonbalance_targets_js {
|
} |
} |
&get_loadbalancers_config($servers,\%existing,\%currbalancer, |
&get_loadbalancers_config($servers,\%existing,\%currbalancer, |
\%currtargets,\%currrules); |
\%currtargets,\%currrules); |
my $balancers = join("','",sort(keys(%currbalancer))); |
my $balancers = join("','",sort(keys(%currbalancer))); |
return <<"END"; |
return <<"END"; |
|
|
<script type="text/javascript"> |
<script type="text/javascript"> |
Line 8700 function showSpares(balancer,ishomedom,b
|
Line 8778 function showSpares(balancer,ishomedom,b
|
var item = document.getElementById('loadbalancing_singleserver_'+balnum+'_'+insttypes[k]); |
var item = document.getElementById('loadbalancing_singleserver_'+balnum+'_'+insttypes[k]); |
item.options.length = 0; |
item.options.length = 0; |
item.options[0] = new Option("","",true,true); |
item.options[0] = new Option("","",true,true); |
var idx = 0; |
var idx = 0; |
for (var m=0; m<alltargets.length; m++) { |
for (var m=0; m<alltargets.length; m++) { |
if ((currBalancers.indexOf(alltargets[m]) == -1) && (alltargets[m] != balancer)) { |
if ((currBalancers.indexOf(alltargets[m]) == -1) && (alltargets[m] != balancer)) { |
idx ++; |
idx ++; |
item.options[idx] = new Option(alltargets[m],alltargets[m],false,false); |
item.options[idx] = new Option(alltargets[m],alltargets[m],false,false); |
|
|
} |
} |
} |
} |
} |
} |
Line 8778 function singleServerToggle(balnum,type)
|
Line 8856 function singleServerToggle(balnum,type)
|
|
|
function balanceruleChange(formname,balnum,type) { |
function balanceruleChange(formname,balnum,type) { |
if (type == '_LC_external') { |
if (type == '_LC_external') { |
return; |
return; |
} |
} |
var typesRules = getIndicesByName(formname,'loadbalancing_rules_'+balnum+'_'+type); |
var typesRules = getIndicesByName(formname,'loadbalancing_rules_'+balnum+'_'+type); |
for (var i=0; i<typesRules.length; i++) { |
for (var i=0; i<typesRules.length; i++) { |