--- loncom/interface/londocs.pm 2022/10/27 21:35:30 1.686 +++ loncom/interface/londocs.pm 2022/10/29 18:13:28 1.688 @@ -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.688 2022/10/29 18:13:28 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -205,7 +205,7 @@ sub validate_supppath { $backto .= '&'.$items[$i]; my $is_hidden; unless ($got_supp) { - my ($supplemental) = &Apache::lonnet::get_supplemental($coursenum,$coursedom); + my ($supplemental) = &Apache::loncommon::get_supplemental($coursenum,$coursedom); if (ref($supplemental) eq 'HASH') { if (ref($supplemental->{'hidden'}) eq 'HASH') { %supphidden = %{$supplemental->{'hidden'}}; @@ -3562,7 +3562,7 @@ sub editor { } if ((!$allowed) && ($folder =~ /^supplemental_\d+$/)) { - my ($supplemental) = &Apache::lonnet::get_supplemental($coursenum,$coursedom); + my ($supplemental) = &Apache::loncommon::get_supplemental($coursenum,$coursedom); if (ref($supplemental) eq 'HASH') { if ((ref($supplemental->{'hidden'}) eq 'HASH') && (ref($supplemental->{'ids'}) eq 'HASH')) { @@ -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]; @@ -5800,7 +5802,7 @@ sub handler { if ($supplementalflag) { ($foldername,$hiddenfolder) = ($pathitems[-1] =~ /^([^:]*)::(|1):::$/); $foldername = &HTML::Entities::decode(&unescape($foldername)); - my ($supplemental) = &Apache::lonnet::get_supplemental($coursenum,$coursedom); + my ($supplemental) = &Apache::loncommon::get_supplemental($coursenum,$coursedom); if (ref($supplemental) eq 'HASH') { my ($suppmap,$suppmapnum); if ($folder eq 'supplemental') { @@ -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};