--- loncom/interface/londocs.pm 2023/09/06 13:35:14 1.484.2.93.2.15 +++ loncom/interface/londocs.pm 2023/10/06 14:21:05 1.484.2.93.2.16 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.484.2.93.2.15 2023/09/06 13:35:14 raeburn Exp $ +# $Id: londocs.pm,v 1.484.2.93.2.16 2023/10/06 14:21:05 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -4681,7 +4681,7 @@ END } $nomodal = 1; } - } elsif (($uploaded) && (!$allowed) && ($url ne '/adm/supplemental?')) { + } elsif (($uploaded) && ($url ne '/adm/supplemental?') && ($url ne '/adm/coursedocs?')) { my $embstyle=&Apache::loncommon::fileembstyle($extension); unless ($embstyle eq 'ssi') { if (($embstyle eq 'img') @@ -4787,7 +4787,7 @@ $form_common."\n". ''. $form_end; } - } elsif ($supplementalflag && !$allowed) { + } elsif ($supplementalflag) { my $isexttool; if ($url=~m{^/adm/$coursedom/$coursenum/\d+/ext\.tool$}) { $url='/adm/wrapper'.$url; @@ -4871,12 +4871,20 @@ $form_end; $anchor = '#'.&HTML::Entities::encode($anchor,'"<>&'); } } - if ((!$supplementalflag) && ($nomodal) && ($hostname ne '')) { + if (($nomodal) && ($hostname ne '')) { $link = 'http://'.$hostname.$url; } else { $link = $url; } - $link = &js_escape($link.(($url=~/\?/)?'&':'?').'inhibitmenu=yes'.$anchor); + my $inhibitmenu; + if ((($supplementalflag) && ($allowed) && ($url =~ m{^/adm/wrapper/})) || + (($allowed) && (($url =~ m{^/adm/(viewclasslist|$match_domain/$match_username/aboutme)(\?|$)}) || + ($url =~ m{^/public/$match_domain/$match_courseid/syllabus(\?|$)})))) { + $inhibitmenu = 'only_body=1'; + } else { + $inhibitmenu = 'inhibitmenu=yes'; + } + $link = &js_escape($link.(($url=~/\?/)?'&':'?').$inhibitmenu.$anchor); if ($allowed && !$env{'request.role.adv'} && !$isfolder && !$ispage && !$uploaded) { if ((&LONCAPA::map::getparameter($orderidx,'parameter_hiddenresource'))[0]=~/^yes$/i) { $nolink = 1; @@ -5936,8 +5944,11 @@ sub handler { } if ($env{'form.forcesupplement'}) { $supplementalflag=1; } if ($env{'form.forcestandard'}) { $supplementalflag=0; } - unless ($allowed) { $supplementalflag=1; } - unless ($standard) { $supplementalflag=1; } + unless (($supplementalflag) || + ($r->uri =~ m{^/adm/coursedocs/showdoc/uploaded/\Q$coursedom\E/\Q$coursenum\E/docs/})) { + unless ($allowed) { $supplementalflag=1; } + unless ($standard) { $supplementalflag=1; } + } my $toolsflag=0; if ($env{'form.tools'}) { $toolsflag=1; } @@ -6013,9 +6024,9 @@ sub handler { &Apache::loncommon::validate_folderpath($supplementalflag,$allowed,$coursenum,$coursedom); } } - -# If we are not allowed to make changes, all we can see are supplemental docs - if (!$allowed) { + +# If we are not allowed to make changes and this is supplemental content set folderpath + if ((!$allowed) && ($supplementalflag)) { unless ($env{'form.folderpath'} =~ /^supplemental/) { $env{'form.folderpath'} = &supplemental_base(); } @@ -6245,7 +6256,8 @@ sub handler { if ($supplementalflag) { my $title = &HTML::Entities::encode($env{'form.title'},'\'"<>&'); my $brcrum = &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1); - $args = {'bread_crumbs' => $brcrum}; + $args = {'bread_crumbs' => $brcrum, + 'bread_crumbs_nomenu' => 1}; } else { $args = {'force_register' => $showdoc}; } @@ -6274,8 +6286,13 @@ sub handler { } } my $brcrum = &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype); + my $args = {'bread_crumbs' => $brcrum}; + unless (($env{'form.folderpath'} eq '') || + ($env{'form.folder'} eq 'supplemental')) { + $args->{'bread_crumbs_nomenu'} = 1; + } $r->print(&Apache::loncommon::start_page("Supplemental $crstype Content",undef, - {'bread_crumbs' => $brcrum,})); + $args)); } else { my ($breadtext,$breadtitle,$helpitem); $breadtext = "$crstype Editor";