Diff for /loncom/interface/lonnavdisplay.pm between versions 1.22.4.10.2.3 and 1.22.4.10.2.6

version 1.22.4.10.2.3, 2023/01/20 23:15:35 version 1.22.4.10.2.6, 2025/05/28 04:40:55
Line 39  use Apache::lonnet; Line 39  use Apache::lonnet;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::londocs();  use Apache::londocs();
 use Apache::lonuserstate;  use Apache::lonuserstate;
   use LONCAPA;
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
Line 129  ENDCLOSE Line 130  ENDCLOSE
     my $navmap = Apache::lonnavmaps::navmap->new();      my $navmap = Apache::lonnavmaps::navmap->new();
   
     if (!defined($navmap)) {      if (!defined($navmap)) {
         if ($result eq 'update') {          if (($result eq 'main') || ($result eq 'both')) {
             &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);              &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);
             $r->print($closure.&Apache::loncommon::end_page());              $r->print($closure.&Apache::loncommon::end_page());
         }          }
Line 139  ENDCLOSE Line 140  ENDCLOSE
         return HTTP_NOT_ACCEPTABLE;          return HTTP_NOT_ACCEPTABLE;
     }      }
   
     if ($result eq 'update') {      if (($result eq 'main') || ($result eq 'both')) {
         $r->rflush();          $r->rflush();
         &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);          &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);
         $r->print($closure);          $r->print($closure);
Line 152  ENDCLOSE Line 153  ENDCLOSE
     }      }
   
     &startContentScreen($r,'navmaps');      &startContentScreen($r,'navmaps');
     unless ($result eq 'update') {      unless (($result eq 'main') || ($result eq 'both')) {
         $r->rflush();          $r->rflush();
     }      }
   
Line 316  ENDCLOSE Line 317  ENDCLOSE
     # If no resources were printed, print a reassuring message so the      # If no resources were printed, print a reassuring message so the
     # user knows there was no error.      # user knows there was no error.
     if ($renderArgs->{'counter'} == 0) {      if ($renderArgs->{'counter'} == 0) {
           my $noresmsg;
         if ($showOnlyHomework) {          if ($showOnlyHomework) {
             $r->print("<p><span class=\"LC_info\">".&mt("All homework is currently completed.")."</span></p>");              $noresmsg = &mt('All homework is currently completed.');
         } else { # both jumpToFirstHomework and normal use the same: course must be empty          } else { # both jumpToFirstHomework and normal use the same: course must be empty
             $r->print("<p><span class=\"LC_info\">".&mt("This course is empty.")."</span></p>");              $noresmsg = &mt('This course is empty.');
               if (($renderArgs->{'deeplinknolist'}) &&
                   ($env{'request.course.deeponlyprot'})) {
                   my ($linkprot,$currmatch,$othermatches,@names);
                   if ($env{'request.linkprot'}) {
                       ($linkprot) = split(/:/,$env{'request.linkprot'});
                   }
                   foreach my $launcher (split(/&/,$env{'request.course.deeponlyprot'})) {
                       my ($name,$itemnums) = split(/:/,$launcher);
                       my @nums = split(/,/,$itemnums);
                       if (($linkprot) &&
                           (grep(/^\Q$linkprot\E$/,@nums))) {
                           $currmatch = &LONCAPA::unescape($name);
                           if (@nums > 1) {
                               $othermatches = 1;
                           }
                       } else {
                           push(@names,&LONCAPA::unescape($name));
                       }
                   }
                   my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
                   my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
                   my $has_supp = &Apache::lonnet::has_unhidden_suppfiles($cnum,$cdom);
                   if ($linkprot) {
                       if ($currmatch) {
                           if ($has_supp) {
                               $noresmsg = &mt('No main content available when accessed using the link you followed from [_1].',
                                               $currmatch);
                           } else {
                               $noresmsg = &mt('No content available when accessed using the link you followed from [_1].',
                                               $currmatch);
                           }
                           if ($othermatches) {
                               $noresmsg = '<br />';
                               if ($has_supp) {
                                   $noresmsg .= &mt('Main content may be available by following a different link from [_1].',
                                                    $currmatch);
                               } else {
                                   $noresmsg .= &mt('Content may be available by following a different link from [_1].',
                                                    $currmatch);
                               }
                           }
                       } else {
                           if ($has_supp) {
                               $noresmsg = &mt('No main content available using the link you followed.');
                           } else {
                               $noresmsg = &mt('No content available using the link you followed.');
                           }
                       }
                   } elsif (@names > 0) {
                       if ($has_supp) {
                           $noresmsg = &mt('No main content available from direct login to this course.');
                       } else {
                           $noresmsg = &mt('No content available from direct login to this course.');
                       }
                   }
                   if (@names == 1) {
                       $noresmsg .= '<br />';
                       if ($has_supp) {
                           $noresmsg .= &mt('Main content is likely available by following links from [_1]',
                                            $names[0]);
                       } else {
                           $noresmsg .= &mt('Content is likely available by following links from [_1]',
                                            $names[0]);
                       }
                   } elsif (@names > 1) {
                       $noresmsg .= '<br />';
                       if ($has_supp) {
                           $noresmsg .= &mt('Main content is likely available by following links from the following: [_1]',
                                            join(', ',@names));
                       } else {
                           $noresmsg .= &mt('Content is likely available by following links from the following: [_1]',
                                            join(', ',@names));
                       }
                   }
               }
         }          }
           $r->print('<p><span class="LC_info">'.$noresmsg.'</span></p>');
     }      }
     &endContentScreen($r);      &endContentScreen($r);
     $r->print(&Apache::loncommon::end_page());      $r->print(&Apache::loncommon::end_page());
Line 340  sub startpage { Line 418  sub startpage {
                    no_mt => 1},                     no_mt => 1},
                  ];                   ];
     my $args = {'bread_crumbs' => $brcrum};      my $args = {'bread_crumbs' => $brcrum};
     my $start_page = &Apache::loncommon::start_page($title,undef,$args);      $r->print(&Apache::loncommon::start_page($title,undef,$args).
     $r->print($start_page.  
               '<script type="text/javascript">'."\n".                '<script type="text/javascript">'."\n".
               '// <![CDATA['."\n".                '// <![CDATA['."\n".
               'window.focus();'."\n".                'window.focus();'."\n".

Removed from v.1.22.4.10.2.3  
changed lines
  Added in v.1.22.4.10.2.6


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>