--- loncom/interface/loncommon.pm 2021/12/17 19:59:39 1.1075.2.159 +++ loncom/interface/loncommon.pm 2023/09/11 13:54:11 1.1075.2.165 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.1075.2.159 2021/12/17 19:59:39 raeburn Exp $ +# $Id: loncommon.pm,v 1.1075.2.165 2023/09/11 13:54:11 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -4753,6 +4753,17 @@ sub blockcheck { } } } + } elsif (($activity eq 'com') || ($activity eq 'port') || ($activity eq 'blogs') || + ($activity eq 'about') || ($activity eq 'wishlist') || ($activity eq 'passwd')) { + my $checkrole; + if ($env{'request.role.domain'} eq '') { + $checkrole = "cm./$env{'user.domain'}/"; + } else { + $checkrole = "cm./$env{'request.role.domain'}/"; + } + if (($checkrole) && (&Apache::lonnet::allowed('evb',undef,undef,$checkrole))) { + $has_evb = 1; + } } unless ($has_evb || $check_ipaccess) { my @machinedoms = &Apache::lonnet::current_machine_domains(); @@ -4798,6 +4809,9 @@ sub blockcheck { } } } + if (($activity eq 'wishlist') || ($activity eq 'annotate')) { + return (); + } } if (defined($udom) && defined($uname)) { # If uname and udom are for a course, check for blocks in the course. @@ -4814,7 +4828,10 @@ sub blockcheck { my $startblock = 0; my $endblock = 0; my $triggerblock = ''; - my %live_courses = &findallcourses(undef,$uname,$udom); + my %live_courses; + unless (($activity eq 'wishlist') || ($activity eq 'annotate')) { + %live_courses = &findallcourses(undef,$uname,$udom); + } # If uname is for a user, and activity is course-specific, i.e., # boards, chat or groups, check for blocking in current course only. @@ -5157,6 +5174,10 @@ END_MYBLOCK $text = &mt('Search Blocked'); } elsif ($activity eq 'about') { $text = &mt('Access to User Information Pages Blocked'); + } elsif ($activity eq 'wishlist') { + $text = &mt('Access to Stored Links Blocked'); + } elsif ($activity eq 'annotate') { + $text = &mt('Access to Annotations Blocked'); } $output .= <<"END_BLOCK";