--- loncom/interface/londocs.pm 2022/10/27 21:35:30 1.686 +++ loncom/interface/londocs.pm 2022/10/29 14:47:00 1.687 @@ -1,7 +1,7 @@ # The LearningOnline Network # Documents # -# $Id: londocs.pm,v 1.686 2022/10/27 21:35:30 raeburn Exp $ +# $Id: londocs.pm,v 1.687 2022/10/29 14:47:00 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -3992,11 +3992,13 @@ sub entryline { my ($index,$title,$url,$folder,$allowed,$residx,$coursenum,$coursedom, $crstype,$pathitem,$supplementalflag,$container,$filtersref,$currgroups, $ltitoolsref,$canedit,$isencrypted,$ishidden,$navmapref,$hostname)=@_; - my ($foldertitle,$renametitle,$oldtitle); + my ($foldertitle,$renametitle,$oldtitle,$encodedtitle); if (&is_supplemental_title($title)) { ($title,$foldertitle,$renametitle) = &Apache::loncommon::parse_supplemental_title($title); + $encodedtitle=$title; } else { $title=&HTML::Entities::encode($title,'"<>&\''); + $encodedtitle=$title; $renametitle=$title; $foldertitle=$title; } @@ -4483,7 +4485,7 @@ $form_end; $url .= ($url =~ /\?/) ? '&':'?'; $url .= 'folderpath='.&HTML::Entities::encode($esc_path,'<>&"'); if ($title) { - $url .= '&title='.&HTML::Entities::encode($renametitle,'<>&"'); + $url .= '&title='.$encodedtitle; } if ((($isexternal) || ($isexttool)) && $orderidx) { $url .= '&idx='.$orderidx; @@ -5784,7 +5786,7 @@ sub handler { } # If allowed and user's role is not advanced check folderpath is not hidden my $hidden_and_empty; - if (($allowed) && (!$env{'request.role.adv'}) && ($env{'form.folderpath'} ne '')) { + if (($allowed) && (!$env{'request.role.adv'}) && ($env{'form.folderpath'} ne '')) { my ($folderurl,$foldername,$hiddenfolder); my @pathitems = split(/\&/,$env{'form.folderpath'}); my $folder = $pathitems[-2]; @@ -5989,7 +5991,8 @@ sub handler { if ($showdoc) { my $args; if ($supplementalflag) { - my $brcrum = &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$env{'form.title'},1); + my $title = &HTML::Entities::encode($env{'form.title'},'\'"<>&'); + my $brcrum = &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1); $args = {'bread_crumbs' => $brcrum}; } else { $args = {'force_register' => $showdoc};