--- loncom/interface/courseprefs.pm 2022/02/16 00:06:04 1.103 +++ loncom/interface/courseprefs.pm 2022/02/21 15:44:57 1.105 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set configuration settings for a course # -# $Id: courseprefs.pm,v 1.103 2022/02/16 00:06:04 raeburn Exp $ +# $Id: courseprefs.pm,v 1.105 2022/02/21 15:44:57 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1501,7 +1501,7 @@ sub process_linkprot { if (grep(/^\Q$home\E$/,@ids)) { if (ref($domdefs{'privhosts'}) eq 'ARRAY') { if (grep(/^\Q$home\E$/,@{$domdefs{'privhosts'}})) { - my %privhash = &Apache::lonnet::restore_dom('lti','private',$cdom,$home,1); + my %privhash = &Apache::lonnet::restore_dom('lti','private',$cdom,$home,1); $privkey = $privhash{'key'}; $privnum = $privhash{'version'}; if (($privnum) && ($privkey ne '')) { @@ -1593,7 +1593,8 @@ sub process_linkprot { my $reqitem = 'form.linkprot_requser_'.$idx; $env{$reqitem} =~ s/(`)/'/g; unless ($idx eq 'add') { - if ($current{'requser'} ne $env{$reqitem}) { + if ((!$current{'requser'} && $env{$reqitem}) || + ($current{'requser'} && !$env{$reqitem})) { $haschanges{$itemid} = 1; } } @@ -5622,9 +5623,6 @@ sub menucollections_display { sub print_linkprotection { my ($cdom,$cnum,$settings,$rowtotal,$crstype,$noedit,$context) = @_; - unless (ref($settings) eq 'HASH') { - return; - } my %linkprotection; my $count = 0; @@ -5669,7 +5667,7 @@ sub print_linkprotection { } } - if (ref($settings->{'linkprot'}) eq 'HASH') { + if ((ref($settings) eq 'HASH') && (ref($settings->{'linkprot'}) eq 'HASH')) { if (keys(%{$settings->{'linkprot'}})) { my @current = sort { $a <=> $b } keys(%{$settings->{'linkprot'}}); $next += $current[-1]; @@ -5792,7 +5790,7 @@ sub print_linkprotection { $datatable .= ''."\n". ''."\n". ''.&mt('Add').''."\n". - ''; + ''; my ($usersty,$onclickrequser,%checkedrequser); if ($ltiauth) { $usersty = 'display:none';