version 1.25, 2007/08/26 15:31:03
|
version 1.26, 2007/09/01 21:20:14
|
Line 745 sub print_quotas {
|
Line 745 sub print_quotas {
|
my ($othertitle,$usertypes,$types) = &sorted_inst_types($dom); |
my ($othertitle,$usertypes,$types) = &sorted_inst_types($dom); |
my $typecount = 0; |
my $typecount = 0; |
my $css_class; |
my $css_class; |
if (@{$types} > 0) { |
if (ref($types) eq 'ARRAY') { |
foreach my $type (@{$types}) { |
foreach my $type (@{$types}) { |
if (defined($usertypes->{$type})) { |
if (defined($usertypes->{$type})) { |
$typecount ++; |
$typecount ++; |
Line 768 sub print_quotas {
|
Line 768 sub print_quotas {
|
$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($othertitle).'</td>'. |
'<td>'.$othertitle.'</td>'. |
'<td class="LC_right_item"><span class="LC_nobreak">'. |
'<td class="LC_right_item"><span class="LC_nobreak">'. |
'<input type="text" name="defaultquota" value="'. |
'<input type="text" name="defaultquota" value="'. |
$defaultquota.'" size="5" /> Mb</span></td></tr>'; |
$defaultquota.'" size="5" /> Mb</span></td></tr>'; |
Line 878 sub print_autoupdate {
|
Line 878 sub print_autoupdate {
|
gen => 'Generation', |
gen => 'Generation', |
); |
); |
my $numrows = 0; |
my $numrows = 0; |
if (@{$types} > 0) { |
if (ref($types) eq 'ARRAY') { |
$datatable = |
if (@{$types} > 0) { |
&usertype_update_row($settings,$usertypes,\%fieldtitles, |
$datatable = |
\@fields,$types,\$numrows); |
&usertype_update_row($settings,$usertypes,\%fieldtitles, |
|
\@fields,$types,\$numrows); |
|
} |
} |
} |
$datatable .= |
$datatable .= |
&usertype_update_row($settings,{'default' => $othertitle}, |
&usertype_update_row($settings,{'default' => $othertitle}, |
Line 932 sub print_directorysrch {
|
Line 934 sub print_directorysrch {
|
my ($othertitle,$usertypes,$types) = &sorted_inst_types($dom); |
my ($othertitle,$usertypes,$types) = &sorted_inst_types($dom); |
|
|
my $numinrow = 4; |
my $numinrow = 4; |
|
my $cansrchrow = 0; |
my $datatable='<tr class="LC_odd_row">'. |
my $datatable='<tr class="LC_odd_row">'. |
'<td colspan="2">'.&mt('Directory search available?').'</td>'. |
'<td colspan="2">'.&mt('Directory search available?').'</td>'. |
'<td class="LC_right_item"><span class="LC_nobreak"><label>'. |
'<td class="LC_right_item"><span class="LC_nobreak"><label>'. |
Line 947 sub print_directorysrch {
|
Line 950 sub print_directorysrch {
|
'<label><input type="radio" name="dirsrch_localonly"'. |
'<label><input type="radio" name="dirsrch_localonly"'. |
$localon.' value="1" />'.&mt('No').'</label></span></td>'. |
$localon.' value="1" />'.&mt('No').'</label></span></td>'. |
'</tr>'; |
'</tr>'; |
$datatable .= &users_cansearch_row($settings,$types,$usertypes,$dom, |
if (ref($usertypes) eq 'HASH') { |
$numinrow,$othertitle); |
if (keys(%{$usertypes}) > 0) { |
$datatable .= '<tr>'. |
$datatable .= &users_cansearch_row($settings,$types,$usertypes,$dom, |
'<td>'.&mt('Supported search methods'). |
$numinrow,$othertitle); |
|
$cansrchrow = 1; |
|
} |
|
} |
|
if ($cansrchrow) { |
|
$datatable .= '<tr>'; |
|
} else { |
|
$datatable .= '<tr class="LC_odd_row">'; |
|
} |
|
$datatable .= '<td>'.&mt('Supported search methods'). |
'</td><td class="LC_left_item" colspan="2"><table><tr>'; |
'</td><td class="LC_left_item" colspan="2"><table><tr>'; |
foreach my $title (@{$titleorder}) { |
foreach my $title (@{$titleorder}) { |
if (defined($searchtitles->{$title})) { |
if (defined($searchtitles->{$title})) { |
Line 967 sub print_directorysrch {
|
Line 979 sub print_directorysrch {
|
$searchtitles->{$title}.'</label></span></td>'; |
$searchtitles->{$title}.'</label></span></td>'; |
} |
} |
} |
} |
$datatable .= '</tr></table></td></tr><tr class="LC_odd_row">'. |
$datatable .= '</tr></table></td></tr>'; |
'<td>'.&mt('Search latitude').'</td>'. |
if ($cansrchrow) { |
'<td class="LC_left_item" colspan="2">'. |
$datatable .= '<tr class="LC_odd_row">'; |
|
} else { |
|
$datatable .= '<tr>'; |
|
} |
|
$datatable .= '<td>'.&mt('Search latitude').'</td>'. |
|
'<td class="LC_left_item" colspan="2">'. |
'<span class="LC_nobreak"><label>'. |
'<span class="LC_nobreak"><label>'. |
'<input type="checkbox" name="searchtypes" '. |
'<input type="checkbox" name="searchtypes" '. |
$exacton.' value="exact" />'.&mt('Exact match'). |
$exacton.' value="exact" />'.&mt('Exact match'). |
Line 988 sub users_cansearch_row {
|
Line 1005 sub users_cansearch_row {
|
my $output = '<tr class="LC_odd_row">'. |
my $output = '<tr class="LC_odd_row">'. |
'<td>'.&mt('Users allowed to search').' ('.$dom.')'. |
'<td>'.&mt('Users allowed to search').' ('.$dom.')'. |
'</td><td class="LC_left_item" colspan="2"><table>'; |
'</td><td class="LC_left_item" colspan="2"><table>'; |
for (my $i=0; $i<@{$types}; $i++) { |
my $rem; |
if (defined($usertypes->{$types->[$i]})) { |
if (ref($types) eq 'ARRAY') { |
my $rem = $i%($numinrow); |
for (my $i=0; $i<@{$types}; $i++) { |
if ($rem == 0) { |
if (defined($usertypes->{$types->[$i]})) { |
if ($i > 0) { |
my $rem = $i%($numinrow); |
$output .= '</tr>'; |
if ($rem == 0) { |
|
if ($i > 0) { |
|
$output .= '</tr>'; |
|
} |
|
$output .= '<tr>'; |
} |
} |
$output .= '<tr>'; |
my $check = ' '; |
} |
if (ref($settings->{'cansearch'}) eq 'ARRAY') { |
my $check = ' '; |
if (grep(/^\Q$types->[$i]\E$/,@{$settings->{'cansearch'}})) { |
if (ref($settings->{'cansearch'}) eq 'ARRAY') { |
$check = ' checked="checked" '; |
if (grep(/^\Q$types->[$i]\E$/,@{$settings->{'cansearch'}})) { |
} |
$check = ' checked="checked" '; |
|
} |
} |
|
$output .= '<td class="LC_left_item">'. |
|
'<span class="LC_nobreak"><label>'. |
|
'<input type="checkbox" name="cansearch" '. |
|
'value="'.$types->[$i].'"'.$check.'/>'. |
|
$usertypes->{$types->[$i]}.'</label></span></td>'; |
} |
} |
$output .= '<td class="LC_left_item">'. |
|
'<span class="LC_nobreak"><label>'. |
|
'<input type="checkbox" name="cansearch" '. |
|
'value="'.$types->[$i].'"'.$check.'/>'. |
|
$usertypes->{$types->[$i]}.'</label></span></td>'; |
|
} |
} |
|
|
|
$rem = @{$types}%($numinrow); |
} |
} |
|
|
my $rem = @{$types}%($numinrow); |
|
my $colsleft = $numinrow - $rem; |
my $colsleft = $numinrow - $rem; |
if ($colsleft > 1) { |
if ($colsleft > 1) { |
$output .= '<td colspan="'.$colsleft.'" class="LC_left_item">'; |
$output .= '<td colspan="'.$colsleft.'" class="LC_left_item">'; |
Line 1020 sub users_cansearch_row {
|
Line 1040 sub users_cansearch_row {
|
} |
} |
my $defcheck = ' '; |
my $defcheck = ' '; |
if (ref($settings->{'cansearch'}) eq 'ARRAY') { |
if (ref($settings->{'cansearch'}) eq 'ARRAY') { |
if (grep(/^default$/,@{$settings->{'cansearch'}})) { |
if (grep(/^default$/,@{$settings->{'cansearch'}})) { |
$defcheck = ' checked="checked" '; |
$defcheck = ' checked="checked" '; |
} |
} |
} |
} |
$output .= '<span class="LC_nobreak"><label>'. |
$output .= '<span class="LC_nobreak"><label>'. |
'<input type="checkbox" name="cansearch" '. |
'<input type="checkbox" name="cansearch" '. |
Line 1035 sub users_cansearch_row {
|
Line 1055 sub users_cansearch_row {
|
sub sorted_inst_types { |
sub sorted_inst_types { |
my ($dom) = @_; |
my ($dom) = @_; |
my ($usertypes,$order) = &Apache::lonnet::retrieve_inst_usertypes($dom); |
my ($usertypes,$order) = &Apache::lonnet::retrieve_inst_usertypes($dom); |
my $othertitle = "All users"; |
my $othertitle = &mt('All users'); |
my @types; |
my @types; |
if (ref($order) eq 'ARRAY') { |
if (ref($order) eq 'ARRAY') { |
@types = @{$order}; |
@types = @{$order}; |
Line 1723 sub check_switchserver {
|
Line 1743 sub check_switchserver {
|
sub modify_quotas { |
sub modify_quotas { |
my ($dom,%domconfig) = @_; |
my ($dom,%domconfig) = @_; |
my ($resulttext,%changes); |
my ($resulttext,%changes); |
my ($usertypes,$order) = |
my ($othertitle,$usertypes,$types) = &sorted_inst_types($dom); |
&Apache::lonnet::retrieve_inst_usertypes($dom); |
|
my %formhash; |
my %formhash; |
foreach my $key (keys(%env)) { |
foreach my $key (keys(%env)) { |
if ($key =~ /^form\.quota_(.+)$/) { |
if ($key =~ /^form\.quota_(.+)$/) { |
Line 1758 sub modify_quotas {
|
Line 1777 sub modify_quotas {
|
if ($putresult eq 'ok') { |
if ($putresult eq 'ok') { |
if (keys(%changes) > 0) { |
if (keys(%changes) > 0) { |
$resulttext = &mt('Changes made:').'<ul>'; |
$resulttext = &mt('Changes made:').'<ul>'; |
foreach my $item (sort(keys(%changes))) { |
foreach my $type (@{$types},'default') { |
$resulttext .= '<li>'.&mt('[_1] set to [_2] Mb',$usertypes->{$item},$formhash{$item}).'</li>'; |
if (defined($changes{$type})) { |
|
my $typetitle = $usertypes->{$type}; |
|
if ($type eq 'default') { |
|
$typetitle = $othertitle; |
|
} |
|
$resulttext .= '<li>'.&mt('[_1] set to [_2] Mb',$typetitle,$formhash{$type}).'</li>'; |
|
} |
} |
} |
$resulttext .= '</ul>'; |
$resulttext .= '</ul>'; |
} else { |
} else { |
Line 1853 sub modify_autoupdate {
|
Line 1878 sub modify_autoupdate {
|
run => 'Auto-update:', |
run => 'Auto-update:', |
classlists => 'Updates to user information in classlists?' |
classlists => 'Updates to user information in classlists?' |
); |
); |
my ($usertypes,$order) = &Apache::lonnet::retrieve_inst_usertypes($dom); |
my ($othertitle,$usertypes,$types) = &sorted_inst_types($dom); |
my %fieldtitles = &Apache::lonlocal::texthash ( |
my %fieldtitles = &Apache::lonlocal::texthash ( |
id => 'Student/Employee ID', |
id => 'Student/Employee ID', |
permanentemail => 'E-mail address', |
permanentemail => 'E-mail address', |
Line 1864 sub modify_autoupdate {
|
Line 1889 sub modify_autoupdate {
|
); |
); |
my $othertitle = &mt('All users'); |
my $othertitle = &mt('All users'); |
if (keys(%{$usertypes}) > 0) { |
if (keys(%{$usertypes}) > 0) { |
$othertitle = "Other users"; |
$othertitle = &mt('Other users'); |
} |
} |
foreach my $key (keys(%env)) { |
foreach my $key (keys(%env)) { |
if ($key =~ /^form\.updateable_(.+)_([^_]+)$/) { |
if ($key =~ /^form\.updateable_(.+)_([^_]+)$/) { |
Line 1886 sub modify_autoupdate {
|
Line 1911 sub modify_autoupdate {
|
} |
} |
} elsif ($key eq 'fields') { |
} elsif ($key eq 'fields') { |
if (ref($currautoupdate{$key}) eq 'HASH') { |
if (ref($currautoupdate{$key}) eq 'HASH') { |
foreach my $item (keys(%{$currautoupdate{$key}})) { |
foreach my $item (@{$types},'default') { |
if (ref($currautoupdate{$key}{$item}) eq 'ARRAY') { |
if (ref($currautoupdate{$key}{$item}) eq 'ARRAY') { |
my $change = 0; |
my $change = 0; |
foreach my $type (@{$currautoupdate{$key}{$item}}) { |
foreach my $type (@{$currautoupdate{$key}{$item}}) { |
if (!exists($fields{$item})) { |
if (!exists($fields{$item})) { |
$change = 1; |
$change = 1; |
} elsif (ref($fields{$item}) eq 'ARRAY') { |
} elsif (ref($fields{$item}) eq 'ARRAY') { |
if (!grep/^\Q$type\E$/,@{$fields{$item}}) { |
if (!grep(/^\Q$type\E$/,@{$fields{$item}})) { |
$change = 1; |
$change = 1; |
} |
} |
} |
} |
Line 1901 sub modify_autoupdate {
|
Line 1926 sub modify_autoupdate {
|
if ($change) { |
if ($change) { |
push(@{$changes{$key}},$item); |
push(@{$changes{$key}},$item); |
} |
} |
} |
} |
} |
} |
} |
} |
} |
} |
} |
} |
foreach my $key (keys(%fields)) { |
foreach my $item (@{$types},'default') { |
if (ref($currautoupdate{'fields'}) eq 'HASH') { |
if (defined($fields{$item})) { |
if (!exists($currautoupdate{'fields'}{$key})) { |
if (ref($currautoupdate{'fields'}) eq 'HASH') { |
push(@{$changes{'fields'}},$key); |
if (!exists($currautoupdate{'fields'}{$item})) { |
|
push(@{$changes{'fields'}},$item); |
|
} |
|
} else { |
|
push(@{$changes{'fields'}},$item); |
} |
} |
} else { |
|
push(@{$changes{'fields'}},$key); |
|
} |
} |
} |
} |
my $putresult = &Apache::lonnet::put_dom('configuration',\%updatehash, |
my $putresult = &Apache::lonnet::put_dom('configuration',\%updatehash, |
Line 1934 sub modify_autoupdate {
|
Line 1961 sub modify_autoupdate {
|
$newvaluestr = &mt('none'); |
$newvaluestr = &mt('none'); |
} |
} |
if ($item eq 'default') { |
if ($item eq 'default') { |
$resulttext .= '<li>'.&mt("Updates for $othertitle set to: [_1]",$newvaluestr).'</li>'; |
$resulttext .= '<li>'.&mt("Updates for '[_1]' set to: '[_2]'",$othertitle,$newvaluestr).'</li>'; |
} else { |
} else { |
$resulttext .= '<li>'.&mt("Updates for [_1] set to: [_2]",$usertypes->{$item},$newvaluestr).'</li>'; |
$resulttext .= '<li>'.&mt("Updates for '[_1]' set to: '[_2]'",$usertypes->{$item},$newvaluestr).'</li>'; |
} |
} |
} |
} |
} else { |
} else { |
Line 1970 sub modify_directorysrch {
|
Line 1997 sub modify_directorysrch {
|
} |
} |
} |
} |
my %title = ( available => 'Directory search available', |
my %title = ( available => 'Directory search available', |
cansearch => 'Users permitted to search', |
|
localonly => 'Other domains can search', |
localonly => 'Other domains can search', |
searchby => 'Search types', |
searchby => 'Search types', |
searchtypes => 'Search latitude'); |
searchtypes => 'Search latitude'); |
Line 1981 sub modify_directorysrch {
|
Line 2007 sub modify_directorysrch {
|
my @cansearch = &Apache::loncommon::get_env_multiple('form.cansearch'); |
my @cansearch = &Apache::loncommon::get_env_multiple('form.cansearch'); |
my @searchby = &Apache::loncommon::get_env_multiple('form.searchby'); |
my @searchby = &Apache::loncommon::get_env_multiple('form.searchby'); |
|
|
if (ref($currdirsrch{'cansearch'}) eq 'ARRAY') { |
my ($othertitle,$usertypes,$types) = &sorted_inst_types($dom); |
foreach my $type (@{$currdirsrch{'cansearch'}}) { |
if (keys(%{$usertypes}) == 0) { |
if (!grep(/^\Q$type\E$/,@cansearch)) { |
@cansearch = ('default'); |
push(@{$changes{'cansearch'}},$type); |
} else { |
|
if (ref($currdirsrch{'cansearch'}) eq 'ARRAY') { |
|
foreach my $type (@{$currdirsrch{'cansearch'}}) { |
|
if (!grep(/^\Q$type\E$/,@cansearch)) { |
|
push(@{$changes{'cansearch'}},$type); |
|
} |
} |
} |
} |
foreach my $type (@cansearch) { |
foreach my $type (@cansearch) { |
if (!grep(/^\Q$type\E$/,@{$currdirsrch{'cansearch'}})) { |
if (!grep(/^\Q$type\E$/,@{$currdirsrch{'cansearch'}})) { |
push(@{$changes{'cansearch'}},$type); |
push(@{$changes{'cansearch'}},$type); |
} |
} |
} |
|
} else { |
|
push(@{$changes{'cansearch'}},@cansearch); |
} |
} |
} else { |
|
push(@{$changes{'cansearch'}},@cansearch); |
|
} |
} |
|
|
if (ref($currdirsrch{'searchby'}) eq 'ARRAY') { |
if (ref($currdirsrch{'searchby'}) eq 'ARRAY') { |
Line 2076 sub modify_directorysrch {
|
Line 2107 sub modify_directorysrch {
|
} |
} |
|
|
if (ref($changes{'cansearch'}) eq 'ARRAY') { |
if (ref($changes{'cansearch'}) eq 'ARRAY') { |
my ($othertitle,$usertypes,$types) = &sorted_inst_types($dom); |
|
my $chgtext; |
my $chgtext; |
foreach my $type (@cansearch) { |
if (ref($usertypes) eq 'HASH') { |
if (defined($usertypes->{$type})) { |
if (keys(%{$usertypes}) > 0) { |
$chgtext .= $usertypes->{$type}.'; '; |
foreach my $type (@{$types}) { |
|
if (grep(/^\Q$type\E$/,@cansearch)) { |
|
$chgtext .= $usertypes->{$type}.'; '; |
|
} |
|
} |
|
if (grep(/^default$/,@cansearch)) { |
|
$chgtext .= $othertitle; |
|
} else { |
|
$chgtext =~ s/\; $//; |
|
} |
|
$resulttext .= '<li>'.&mt("Users from domain '<span class=\"LC_cusr_emph\">[_1]</span>' permitted to search the institutional directory set to: [_2]",$dom,$chgtext).'</li>'; |
} |
} |
} |
} |
if (grep(/^default$/,@cansearch)) { |
|
$chgtext .= $othertitle; |
|
} else { |
|
$chgtext =~ s/\; $//; |
|
} |
|
$resulttext .= '<li>'.&mt("$title{'cansearch'} ([_1]) set to: [_2]",$dom,$chgtext).'</li>'; |
|
} |
} |
if (ref($changes{'searchby'}) eq 'ARRAY') { |
if (ref($changes{'searchby'}) eq 'ARRAY') { |
my ($searchtitles,$titleorder) = &sorted_searchtitles(); |
my ($searchtitles,$titleorder) = &sorted_searchtitles(); |