Diff for /rat/lonsequence.pm between versions 1.46 and 1.56

version 1.46, 2017/08/21 21:30:05 version 1.56, 2021/07/19 15:48:25
Line 36  use Apache::lonnet; Line 36  use Apache::lonnet;
 use Apache::Constants qw(:common :http REDIRECT);  use Apache::Constants qw(:common :http REDIRECT);
 use GDBM_File;  use GDBM_File;
 use LONCAPA::map();  use LONCAPA::map();
   use LONCAPA::ltiutils;
 use LONCAPA;  use LONCAPA;
 use Apache::lonpageflip();  use Apache::lonpageflip();
 use Apache::loncommon();  use Apache::loncommon();
Line 245  sub handler { Line 246  sub handler {
                }                 }
            }             }
   
              &Apache::loncommon::content_type($r,'text/html');
              $r->send_http_header;
   
              my $mapurl = &Apache::lonnet::declutter($requrl);
              my $maptitle = &Apache::lonnet::gettitle($mapurl);
              my @crumbs = ({text => $maptitle, no_mt => 1});
              my $args = {'bread_crumbs' => \@crumbs,
                          'bread_crumbs_nomenu' => 1};
   
            # Create the nav map             # Create the nav map
            my $navmap = Apache::lonnavmaps::navmap->new();             my $navmap = Apache::lonnavmaps::navmap->new();
   
            if (ref($navmap)) {             if (ref($navmap)) {
                # renderer call                 # renderer call
                if (&Apache::lonnet::is_on_map($requrl)) {                 if (&Apache::lonnet::is_on_map($requrl)) {
                    my $mapurl = &Apache::lonnet::declutter($requrl);                     my ($ltiscope,$ltiuri);
                    my @crumbs = ({text  => $crstype.' Contents',                     if (($env{'request.lti.login'}) && ($env{'request.lti.uri'})) {
                                   href  => "javascript:gopost('/adm/navmaps','')"});                         my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
                    my $res = $navmap->getResourceByUrl($mapurl);                         my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
                    if (ref($res)) {                         ($ltiscope,$ltiuri) = &LONCAPA::ltiutils::lti_provider_scope($env{'request.lti.uri'},$cdom,$cnum);
                        my ($parent) = &Apache::lonnet::decode_symb($res->symb());                     }
                        if ($parent ne $env{'course.'.$env{'request.course.id'}.'.url'}) {                     @crumbs = ();
                            my @mapcrumbs = $navmap->recursed_crumbs($parent);                     unless ($ltiscope eq 'resource') {
                            if (@mapcrumbs) {                         unless ($ltiscope eq 'map') {
                                push(@crumbs,@mapcrumbs);                             @crumbs = ({text  => $crstype.' Contents',
                            } else {                                         href  => "javascript:gopost('/adm/navmaps','')"});
                                push(@crumbs,{text  => '...',                         }
                                              no_mt => 1});                         my $res = $navmap->getResourceByUrl($mapurl);
                          if (ref($res)) {
                              my $symb = $res->symb();
                              if ($symb) {
                                  my ($parent) = &Apache::lonnet::decode_symb($res->symb());
                                  if (($parent ne $env{'course.'.$env{'request.course.id'}.'.url'}) &&
                                      !(($ltiscope eq 'map') && ($requrl eq $ltiuri))) {
                                      my @mapcrumbs = $navmap->recursed_crumbs($parent);
                                      if (@mapcrumbs) {
                                          push(@crumbs,@mapcrumbs);
                                      }
                                  }
                                  $env{'request.symb'} = $symb;
                            }                             }
                        }                         }
                    }                     }
                    my $maptitle = &Apache::lonnet::gettitle($mapurl);  
                    push(@crumbs,{text => $maptitle, no_mt => 1});                     push(@crumbs,{text => $maptitle, no_mt => 1});
                    my $args = {'bread_crumbs' => \@crumbs,                     $args = {'bread_crumbs' => \@crumbs,
                                'bread_crumbs_nomenu' => 1};                              'bread_crumbs_nomenu' => 1,
                    &Apache::loncommon::content_type($r,'text/html');                              'no_auto_mt_title' => 1};
                    $r->send_http_header;  
   
                    $r->print(&Apache::loncommon::start_page($maptitle,undef,$args));                     $r->print(&Apache::loncommon::start_page($maptitle,undef,$args));
   
                    my $renderArgs = { 'cols'                    => [0,1,2,3],                     my $renderArgs = { 'cols'                    => [0,1,2,3],
Line 293  sub handler { Line 312  sub handler {
   
                    # If no resources were found let the user know.                     # If no resources were found let the user know.
                    if ($renderArgs->{'counter'} == 0) {                     if ($renderArgs->{'counter'} == 0) {
                        $r->print("<p><span class=\"LC_info\">".                         $r->print('<p class="LC_info">'.
                                  &mt("This folder is empty.")."</span></p>");                                   &mt('No items found in folder').
                                    '</p>');
                    }                     }
                    $r->print(&Apache::loncommon::end_page());                     $r->print(&Apache::loncommon::end_page());
                    $r->rflush();                 } else {
                    return OK;                     $r->print(&Apache::loncommon::start_page($maptitle,undef,$args).
                                '<p class="LC_info">'.
                                &mt('Folder no longer appears to be a part of the course').
                                '</p>'.
                                &Apache::loncommon::end_page());
                }                 }
              } else {
                  $r->print(&Apache::loncommon::start_page($maptitle,undef,$args).
                            '<p class="LC_warning">'.
                            &mt('Error: could not determine contents of folder').
                            '</p>'.
                            &Apache::loncommon::end_page());
            }             }
              $r->rflush();
              return OK;
        }         }
    }     }
   
Line 343  sub handler { Line 375  sub handler {
                $dismapid=(split(/\./,$disid))[1];                 $dismapid=(split(/\./,$disid))[1];
        if (!$env{'request.role.adv'}) {         if (!$env{'request.role.adv'}) {
    $randomout = $bighash{'randomout_'.$disid};     $randomout = $bighash{'randomout_'.$disid};
        }  
                if (!$env{'request.role.adv'}) {  
                    $is_encrypted = $bighash{'encrypted_'.$disid};                     $is_encrypted = $bighash{'encrypted_'.$disid};
                }                 }
            } elsif (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db',             } elsif (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db',
Line 365  sub handler { Line 395  sub handler {
                    $dismapid=(split(/\./,$disid))[1];                     $dismapid=(split(/\./,$disid))[1];
    if (!$env{'request.role.adv'}) {     if (!$env{'request.role.adv'}) {
        $randomout = $bighash{'randomout_'.$disid};         $randomout = $bighash{'randomout_'.$disid};
    }  
                    if (!$env{'request.role.adv'}) {  
                        $is_encrypted = $bighash{'encrypted_'.$disid};                         $is_encrypted = $bighash{'encrypted_'.$disid};
                    }                     }
                }                 }
Line 386  sub handler { Line 414  sub handler {
       if ($is_encrypted) {        if ($is_encrypted) {
           $showdisurl = &Apache::lonenc::encrypted($disurl);            $showdisurl = &Apache::lonenc::encrypted($disurl);
       }        }
       &Apache::lonnet::symblist($requrl,$disurl => [$disurl,$dismapid],        if ($disurl =~ m{^/adm/navmaps(\?|$)}) {
  'last_known' => [$disurl,$dismapid]);             &Apache::lonnet::symblist($requrl,$disurl => [$disurl,$dismapid]);
         } else {
             &Apache::lonnet::symblist($requrl,$disurl => [$disurl,$dismapid],
                                       'last_known' => [$disurl,$dismapid]);
         }
       &Apache::loncommon::content_type($r,'text/html');        &Apache::loncommon::content_type($r,'text/html');
       $r->header_out(Location => &Apache::lonnet::absolute_url($ENV{'SERVER_NAME'}).        $r->header_out(Location => &Apache::lonnet::absolute_url().
                                  $showdisurl);                                   $showdisurl);
       return REDIRECT;        return REDIRECT;
    } else {     } else {

Removed from v.1.46  
changed lines
  Added in v.1.56


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