--- loncom/interface/domainprefs.pm 2017/03/13 18:30:07 1.294
+++ loncom/interface/domainprefs.pm 2017/07/18 16:03:08 1.302
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set domain-wide configuration settings
#
-# $Id: domainprefs.pm,v 1.294 2017/03/13 18:30:07 raeburn Exp $
+# $Id: domainprefs.pm,v 1.302 2017/07/18 16:03:08 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -27,7 +27,7 @@
#
#
###############################################################
-##############################################################
+###############################################################
=pod
@@ -220,6 +220,19 @@ sub handler {
'coursedefaults','usersessions','loadbalancing',
'requestauthor','selfenrollment','inststatus',
'ltitools','ssl','trust'],$dom);
+ if (ref($domconfig{'ltitools'}) eq 'HASH') {
+ my %encconfig =
+ &Apache::lonnet::get_dom('encconfig',['ltitools'],$dom);
+ if (ref($encconfig{'ltitools'}) eq 'HASH') {
+ foreach my $id (keys(%{$domconfig{'ltitools'}})) {
+ if (ref($domconfig{'ltitools'}{$id}) eq 'HASH') {
+ foreach my $item ('key','secret') {
+ $domconfig{'ltitools'}{$id}{$item} = $encconfig{'ltitools'}{$id}{$item};
+ }
+ }
+ }
+ }
+ }
my @prefs_order = ('rolecolors','login','defaults','quotas','autoenroll',
'autoupdate','autocreate','directorysrch','contacts',
'usercreation','selfcreation','usermodification','scantron',
@@ -488,7 +501,7 @@ sub handler {
},
'ltitools' =>
{text => 'External Tools (LTI)',
- help => 'Domain_configuration_LTI_Tools',
+ help => 'Domain_Configuration_LTI_Tools',
header => [{col1 => 'Setting',
col2 => 'Value',}],
print => \&print_ltitools,
@@ -677,7 +690,7 @@ sub process_changes {
} elsif ($action eq 'autocreate') {
$output = &modify_autocreate($dom,%domconfig);
} elsif ($action eq 'directorysrch') {
- $output = &modify_directorysrch($dom,%domconfig);
+ $output = &modify_directorysrch($dom,$lastactref,%domconfig);
} elsif ($action eq 'usercreation') {
$output = &modify_usercreation($dom,%domconfig);
} elsif ($action eq 'selfcreation') {
@@ -3248,8 +3261,10 @@ sub print_helpsettings {
my $css_class;
my %existing=&Apache::lonnet::dump('roles',$dom,$confname,'rolesdef_');
my (%customroles,%ordered,%current);
- if (ref($settings->{'adhoc'}) eq 'HASH') {
- %current = %{$settings->{'adhoc'}};
+ if (ref($settings) eq 'HASH') {
+ if (ref($settings->{'adhoc'}) eq 'HASH') {
+ %current = %{$settings->{'adhoc'}};
+ }
}
my $count = 0;
foreach my $key (sort(keys(%existing))) {
@@ -3745,6 +3760,8 @@ sub print_ltitools {
if (ref($settings->{$item}->{'display'}) eq 'HASH') {
if ($settings->{$item}->{'display'}->{'target'} eq 'window') {
$currdisp{'window'} = ' checked="checked"';
+ } elsif ($settings->{$item}->{'display'}->{'target'} eq 'tab') {
+ $currdisp{'tab'} = ' checked="checked"';
} else {
$currdisp{'iframe'} = ' checked="checked"';
}
@@ -3754,10 +3771,12 @@ sub print_ltitools {
if ($settings->{$item}->{'display'}->{'height'} =~ /^(\d+)$/) {
$currdisp{'height'} = $1;
}
+ $currdisp{'linktext'} = $settings->{$item}->{'display'}->{'linktext'};
+ $currdisp{'explanation'} = $settings->{$item}->{'display'}->{'explanation'};
} else {
$currdisp{'iframe'} = ' checked="checked"';
}
- foreach my $disp ('iframe','window') {
+ foreach my $disp ('iframe','tab','window') {
$datatable .= ''.(' 'x2);
}
@@ -3767,6 +3786,12 @@ sub print_ltitools {
''.
(' 'x2);
}
+ $datatable .= '
'.
+ '
'.$lt{'linktext'}.'
'.
+ '
'.
+ ''.$lt{'explanation'}.'
'.
+ '
';
$datatable .= '
';
foreach my $extra ('passback','roster') {
my $checkedon = '';
@@ -3848,7 +3873,7 @@ sub print_ltitools {
}
}
$datatable .= ''.
''.
'