--- loncom/interface/loncommon.pm 2024/09/11 00:40:07 1.1436
+++ loncom/interface/loncommon.pm 2025/01/06 00:22:57 1.1445
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.1436 2024/09/11 00:40:07 raeburn Exp $
+# $Id: loncommon.pm,v 1.1445 2025/01/06 00:22:57 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2476,7 +2476,7 @@ END
$cdom
0
-notset
+notset
$now
0
rights
@@ -5691,7 +5691,8 @@ sub blockcheck {
}
unless ($has_evb) {
if (($activity eq 'printout') || ($activity eq 'grades') || ($activity eq 'search') ||
- ($activity eq 'boards') || ($activity eq 'groups') || ($activity eq 'chat')) {
+ ($activity eq 'index') || ($activity eq 'boards') || ($activity eq 'groups') ||
+ ($activity eq 'chat')) {
if ($udom eq $cdom) {
$check_ipaccess = 1;
}
@@ -5782,8 +5783,8 @@ sub blockcheck {
if (($activity eq 'boards' || $activity eq 'chat' ||
$activity eq 'groups' || $activity eq 'printout' ||
- $activity eq 'search' || $activity eq 'reinit' ||
- $activity eq 'alert') &&
+ $activity eq 'search' || $activity eq 'index' ||
+ $activity eq 'reinit' || $activity eq 'alert') &&
($env{'request.course.id'})) {
foreach my $key (keys(%live_courses)) {
if ($key ne $env{'request.course.id'}) {
@@ -6118,6 +6119,8 @@ END_MYBLOCK
$text = &mt('Gradebook Blocked');
} elsif ($activity eq 'search') {
$text = &mt('Search Blocked');
+ } elsif ($activity eq 'index') {
+ $text = &mt('Content Index Blocked');
} elsif ($activity eq 'alert') {
$text = &mt('Checking Critical Messages Blocked');
} elsif ($activity eq 'reinit') {
@@ -6877,7 +6880,6 @@ sub bodytag {
my $hostname = $args->{'hostname'};
$function = &get_users_function() if (!$function);
- my $img = &designparm($function.'.img',$domain);
my $font = &designparm($function.'.font',$domain);
my $pgbg = $bgcolor || &designparm($function.'.pgbg',$domain);
@@ -7000,8 +7002,12 @@ sub bodytag {
# $titleinfo = &CSTR_pageheader(); #FIXME: Will be removed once all scripts have their own calls
# }
- $bodytag .= Apache::lonhtmlcommon::scripttag(
- Apache::lonmenu::utilityfunctions($httphost), 'start');
+ my $need_endlcint;
+ unless ($args->{'switchserver'}) {
+ $bodytag .= Apache::lonhtmlcommon::scripttag(
+ Apache::lonmenu::utilityfunctions($httphost), 'start');
+ $need_endlcint = 1;
+ }
my $collapsible;
if ($args->{'collapsible_header'} ne '') {
@@ -7037,6 +7043,9 @@ END
}
$bodytag .= qq|
$left $role
$realm $dc_info
|;
+ if ($need_endlcint) {
+ $bodytag .= Apache::lonhtmlcommon::scripttag('', 'end');
+ }
return $bodytag;
}
@@ -7054,6 +7063,9 @@ END
#if directed to not display the secondary menu, don't.
if ($args->{'no_secondary_menu'}) {
+ if ($need_endlcint) {
+ $bodytag .= Apache::lonhtmlcommon::scripttag('', 'end');
+ }
return $bodytag;
}
#don't show menus for public users
@@ -7066,7 +7078,9 @@ END
$args->{'links_target'});
}
$bodytag .= Apache::lonmenu::serverform();
- $bodytag .= Apache::lonhtmlcommon::scripttag('', 'end');
+ if ($need_endlcint) {
+ $bodytag .= Apache::lonhtmlcommon::scripttag('', 'end');
+ }
if ($env{'request.state'} eq 'construct') {
$bodytag .= &Apache::lonmenu::innerregister($forcereg,
$args->{'bread_crumbs'},'','',$hostname,
@@ -7082,11 +7096,13 @@ END
$args->{'bread_crumbs'},
$advtoolsref,'',$hostname);
}
- }else{
- # this is to seperate menu from content when there's no secondary
- # menu. Especially needed for public accessible ressources.
+ } else {
+ # this is to separate menu from content when there's no secondary
+ # menu. Especially needed for publicly accessible resources.
$bodytag .= '
';
- $bodytag .= Apache::lonhtmlcommon::scripttag('', 'end');
+ if ($need_endlcint) {
+ $bodytag .= Apache::lonhtmlcommon::scripttag('', 'end');
+ }
}
if ($args->{'collapsible_header'} ne '') {
$bodytag .= $args->{'collapsible_header'}.
@@ -7221,7 +7237,6 @@ Inputs: (all optional)
sub standard_css {
my ($function,$domain,$bgcolor) = @_;
$function = &get_users_function() if (!$function);
- my $img = &designparm($function.'.img', $domain);
my $tabbg = &designparm($function.'.tabbg', $domain);
my $font = &designparm($function.'.font', $domain);
my $fontmenu = &designparm($function.'.fontmenu', $domain);
@@ -7286,6 +7301,16 @@ form, .inline {
display: inline;
}
+.LC_visually_hidden:not(:focus):not(:active) {
+ clip-path: inset(50%);
+ height: 1px;
+ overflow: hidden;
+ position: absolute;
+ white-space: nowrap;
+ width: 1px;
+ display: inline;
+}
+
.LC_menus_content.shown{
display: block;
}
@@ -9426,7 +9451,7 @@ sub headtag {
$inhibitprint = &print_suppression();
}
- if (!$args->{'frameset'}) {
+ if (!$args->{'frameset'} && !$args->{'switchserver'}) {
$result .= &Apache::lonhtmlcommon::htmlareaheaders();
}
if ($args->{'force_register'} && $env{'request.noversionuri'} !~ m{^/res/adm/pages/}) {
@@ -9434,7 +9459,8 @@ sub headtag {
}
if (!$args->{'no_nav_bar'}
&& !$args->{'only_body'}
- && !$args->{'frameset'}) {
+ && !$args->{'frameset'}
+ && !$args->{'switchserver'}) {
$result .= &help_menu_js($httphost);
$result.=&modal_window();
$result.=&togglebox_script();
@@ -9834,6 +9860,11 @@ $args - additional optional args support
no_auto_mt_title -> prevent &mt()ing the title arg
bread_crumbs -> Array containing breadcrumbs
bread_crumbs_component -> if exists show it as headline else show only the breadcrumbs
+ bread_crumbs_style -> breadcrumbs are contained within ,
+ and &standard_css() contains CSS for #LC_breadcrumbs, if you want
+ to override those values, or add to them, specify the value to
+ include in the style attribute to include in the div tag by using
+ bread_crumbs_style (e.g., overflow: visible)
bread_crumbs_nomenu -> if true will pass false as the value of $menulink
to lonhtmlcommon::breadcrumbs
group -> includes the current group, if page is for a
@@ -10002,9 +10033,12 @@ sub start_page {
}
#if bread_crumbs_component exists show it as headline else show only the breadcrumbs
if(exists($args->{'bread_crumbs_component'})){
- $result .= &Apache::lonhtmlcommon::breadcrumbs($args->{'bread_crumbs_component'},'',$menulink);
+ $result .= &Apache::lonhtmlcommon::breadcrumbs($args->{'bread_crumbs_component'},
+ '',$menulink,'',
+ $args->{'bread_crumbs_style'});
} else {
- $result .= &Apache::lonhtmlcommon::breadcrumbs('','',$menulink);
+ $result .= &Apache::lonhtmlcommon::breadcrumbs('','',$menulink,'',
+ $args->{'bread_crumbs_style'});
}
}
}