version 1.447.2.3, 2025/01/14 13:06:01
|
version 1.447.2.4, 2025/01/14 13:20:29
|
Line 563 sub handler {
|
Line 563 sub handler {
|
header => [{col1 => 'Role assigned in different domain', |
header => [{col1 => 'Role assigned in different domain', |
col2 => 'Approval options'}, |
col2 => 'Approval options'}, |
{col1 => 'Role assigned in different domain to user of type', |
{col1 => 'Role assigned in different domain to user of type', |
col2 => 'User information available in that domain'}, |
col2 => 'User information available in that domain'}], |
{col1 => "Role assigned in user's domain", |
|
col2 => 'Information viewable by privileged user'}, |
|
{col1 => "Role assigned in user's domain", |
|
col2 => 'Information viewable by unprivileged user'}], |
|
print => \&print_privacy, |
print => \&print_privacy, |
modify => \&modify_privacy, |
modify => \&modify_privacy, |
}, |
}, |
Line 1008 sub print_config_box {
|
Line 1004 sub print_config_box {
|
($action eq 'selfcreation') || ($action eq 'selfenrollment') || |
($action eq 'selfcreation') || ($action eq 'selfenrollment') || |
($action eq 'usersessions') || ($action eq 'coursecategories') || |
($action eq 'usersessions') || ($action eq 'coursecategories') || |
($action eq 'trust') || ($action eq 'contacts') || ($action eq 'defaults') || |
($action eq 'trust') || ($action eq 'contacts') || ($action eq 'defaults') || |
($action eq 'privacy') || ($action eq 'passwords') || ($action eq 'lti') || |
($action eq 'passwords') || ($action eq 'lti') || ($action eq 'ltitools') || |
($action eq 'ltitools') || ($action eq 'usermodification')) { |
($action eq 'usermodification')) { |
if ($action eq 'coursecategories') { |
if ($action eq 'coursecategories') { |
$output .= &print_coursecategories('middle',$dom,$item,$settings,\$rowtotal); |
$output .= &print_coursecategories('middle',$dom,$item,$settings,\$rowtotal); |
$colspan = ' colspan="2"'; |
$colspan = ' colspan="2"'; |
Line 1079 sub print_config_box {
|
Line 1075 sub print_config_box {
|
</tr>'."\n"; |
</tr>'."\n"; |
if ($action eq 'coursecategories') { |
if ($action eq 'coursecategories') { |
$output .= &print_coursecategories('bottom',$dom,$item,$settings,\$rowtotal); |
$output .= &print_coursecategories('bottom',$dom,$item,$settings,\$rowtotal); |
} elsif (($action eq 'contacts') || ($action eq 'privacy') || |
} elsif (($action eq 'contacts') || ($action eq 'passwords') || |
($action eq 'passwords') || ($action eq 'lti')) { |
($action eq 'lti')) { |
if ($action eq 'passwords') { |
if ($action eq 'passwords') { |
$output .= $item->{'print'}->('lower',$dom,$confname,$settings,\$rowtotal); |
$output .= $item->{'print'}->('lower',$dom,$confname,$settings,\$rowtotal); |
} else { |
} else { |
Line 1115 sub print_config_box {
|
Line 1111 sub print_config_box {
|
$rowtotal ++; |
$rowtotal ++; |
} elsif (($action eq 'coursedefaults') || ($action eq 'authordefaults') || |
} elsif (($action eq 'coursedefaults') || ($action eq 'authordefaults') || |
($action eq 'directorysrch') || ($action eq 'helpsettings') || |
($action eq 'directorysrch') || ($action eq 'helpsettings') || |
($action eq 'wafproxy')) { |
($action eq 'wafproxy') || ($action eq 'privacy')) { |
$output .= $item->{'print'}->('bottom',$dom,$settings,\$rowtotal); |
$output .= $item->{'print'}->('bottom',$dom,$settings,\$rowtotal); |
} elsif ($action eq 'scantron') { |
} elsif ($action eq 'scantron') { |
$output .= $item->{'print'}->($r,'bottom',$dom,$confname,$settings,\$rowtotal); |
$output .= $item->{'print'}->($r,'bottom',$dom,$confname,$settings,\$rowtotal); |
Line 7789 sub print_privacy {
|
Line 7785 sub print_privacy {
|
($othertitle,$usertypes,$types) = |
($othertitle,$usertypes,$types) = |
&Apache::loncommon::sorted_inst_types($dom); |
&Apache::loncommon::sorted_inst_types($dom); |
} |
} |
if (($position eq 'top') || ($position eq 'middle')) { |
if (($position eq 'top') || ($position eq 'bottom')) { |
my (%by_ip,%by_location,@intdoms,@instdoms); |
my (%by_ip,%by_location,@intdoms,@instdoms); |
&build_location_hashes(\@intdoms,\%by_ip,\%by_location,\@instdoms); |
&build_location_hashes(\@intdoms,\%by_ip,\%by_location,\@instdoms); |
if ($position eq 'top') { |
if ($position eq 'top') { |
Line 7876 sub print_privacy {
|
Line 7872 sub print_privacy {
|
$datatable .= &mt('Nothing to set here, as there are no other domains'); |
$datatable .= &mt('Nothing to set here, as there are no other domains'); |
} |
} |
$datatable .='</td></tr>'; |
$datatable .='</td></tr>'; |
} elsif ($position eq 'middle') { |
} elsif ($position eq 'bottom') { |
if ((@instdoms > 1) || (keys(%by_location) > 0)) { |
if ((@instdoms > 1) || (keys(%by_location) > 0)) { |
if ((ref($types) eq 'ARRAY') && (ref($usertypes) eq 'HASH')) { |
if ((ref($types) eq 'ARRAY') && (ref($usertypes) eq 'HASH')) { |
foreach my $item (@{$types}) { |
foreach my $item (@{$types}) { |
Line 7913 sub print_privacy {
|
Line 7909 sub print_privacy {
|
} |
} |
} |
} |
} |
} |
} else { |
|
my $prefix; |
|
if ($position eq 'lower') { |
|
$prefix = 'priv'; |
|
} else { |
|
$prefix = 'unpriv'; |
|
} |
|
foreach my $item (@items) { |
|
$datatable .= &modifiable_userdata_row('privacy',$prefix.'_'.$item,$settings, |
|
$numinrow,$itemcount,'','','','','', |
|
'',$names{$item}); |
|
$itemcount ++; |
|
} |
|
} |
} |
if (ref($rowtotal)) { |
if (ref($rowtotal)) { |
$$rowtotal += $itemcount; |
$$rowtotal += $itemcount; |
Line 17910 sub modify_privacy {
|
Line 17893 sub modify_privacy {
|
extdom => {}, |
extdom => {}, |
}, |
}, |
'othdom' => {}, |
'othdom' => {}, |
'priv' => {}, |
|
'unpriv' => {}, |
|
); |
); |
foreach my $item (@items) { |
foreach my $item (@items) { |
if (@instdoms > 1) { |
if (@instdoms > 1) { |
Line 17942 sub modify_privacy {
|
Line 17923 sub modify_privacy {
|
$changes{'approval'} = 1; |
$changes{'approval'} = 1; |
} |
} |
} |
} |
foreach my $status ('priv','unpriv') { |
|
my @possibles = sort(&Apache::loncommon::get_env_multiple('form.privacy_'.$status.'_'.$item)); |
|
my @newvalues; |
|
foreach my $field (@possibles) { |
|
if (grep(/^\Q$field\E$/,@fields)) { |
|
$privacyhash{$status}{$item}{$field} = 1; |
|
push(@newvalues,$field); |
|
} |
|
} |
|
@newvalues = sort(@newvalues); |
|
if (ref($current{$status}) eq 'HASH') { |
|
if (ref($current{$status}{$item}) eq 'HASH') { |
|
my @currvalues = sort(keys(%{$current{$status}{$item}})); |
|
my @diffs = &Apache::loncommon::compare_arrays(\@currvalues,\@newvalues); |
|
if (@diffs > 0) { |
|
$changes{$status} = 1; |
|
} |
|
} elsif (@newvalues > 0) { |
|
$changes{$status} = 1; |
|
} |
|
} else { |
|
my @stdfields; |
|
foreach my $field (@fields) { |
|
if ($field eq 'id') { |
|
next if ($status eq 'unpriv'); |
|
next if (($status eq 'priv') && ($item eq 'community')); |
|
} |
|
push(@stdfields,$field); |
|
} |
|
my @diffs = &Apache::loncommon::compare_arrays(\@stdfields,\@newvalues); |
|
if (@diffs > 0) { |
|
$changes{$status} = 1; |
|
} |
|
} |
|
} |
|
} |
} |
if ((@instdoms > 1) || (keys(%by_location) > 0)) { |
if ((@instdoms > 1) || (keys(%by_location) > 0)) { |
my @statuses; |
my @statuses; |
Line 18031 sub modify_privacy {
|
Line 17977 sub modify_privacy {
|
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 $key ('approval','notify','othdom','priv','unpriv') { |
foreach my $key ('approval','notify','othdom') { |
if ($changes{$key}) { |
if ($changes{$key}) { |
$resulttext .= '<li>'.$titles{$key}.':<ul>'; |
$resulttext .= '<li>'.$titles{$key}.':<ul>'; |
if ($key eq 'approval') { |
if ($key eq 'approval') { |
Line 18081 sub modify_privacy {
|
Line 18027 sub modify_privacy {
|
} |
} |
$resulttext .= '</li>'; |
$resulttext .= '</li>'; |
} |
} |
} |
|
} else { |
|
foreach my $item (@items) { |
|
if (ref($privacyhash{$key}{$item}) eq 'HASH') { |
|
$resulttext .= '<li>'.$names{$item}.': '; |
|
if (keys(%{$privacyhash{$key}{$item}})) { |
|
$resulttext .= join(', ', map { $fieldnames{$_}; } (sort(keys(%{$privacyhash{$key}{$item}})))); |
|
} else { |
|
$resulttext .= &mt('none'); |
|
} |
|
$resulttext .= '</li>'; |
|
} |
|
} |
} |
} |
} |
$resulttext .= '</ul></li>'; |
$resulttext .= '</ul></li>'; |