Diff for /rat/lonsequence.pm between versions 1.49 and 1.59

version 1.49, 2018/04/14 02:29:57 version 1.59, 2022/10/29 18:13:29
Line 234  sub handler { Line 234  sub handler {
                $r->send_http_header;                 $r->send_http_header;
                $r->print(&Apache::loncommon::check_release_result(@reinit));                 $r->print(&Apache::loncommon::check_release_result(@reinit));
                return OK;                 return OK;
            } elsif ($result eq 'update') {             }
                my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};             my ($cnum,$cdom);
                my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};             if ($result) {
                  $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
                  $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
              }
              if (($result eq 'main') || ($result eq 'both')) {
                my ($furl,$ferr) = &Apache::lonuserstate::readmap("$cdom/$cnum");                 my ($furl,$ferr) = &Apache::lonuserstate::readmap("$cdom/$cnum");
                if ($ferr) {                 if ($ferr) {
                    my $requrl = $r->uri;                     my $requrl = $r->uri;
Line 245  sub handler { Line 249  sub handler {
                    return HTTP_NOT_ACCEPTABLE;                     return HTTP_NOT_ACCEPTABLE;
                }                 }
            }             }
              if (($result eq 'both') || ($result eq 'supp')) {
                  my $possdel;
                  if ($result eq 'supp') {
                      $possdel = 1;
                  }
                  my ($supplemental,$refs_updated) = &Apache::loncommon::get_supplemental($cnum,$cdom,'',$possdel);
                  unless ($refs_updated) {
                      &Apache::loncommon::set_supp_httprefs($cnum,$cdom,$supplemental,$possdel);
                  }
              }
              &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();
Line 252  sub handler { Line 274  sub handler {
            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 $ltiscope;                     my ($ltiscope,$ltiuri);
                    if (($env{'request.lti.login'}) && ($env{'request.lti.uri'})) {                     if (($env{'request.lti.login'}) && ($env{'request.lti.uri'})) {
                        my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};                         my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
                        my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};                         my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
                        ($ltiscope) = &LONCAPA::ltiutils::lti_provider_scope($env{'request.lti.uri'},$cdom,$cnum);                         ($ltiscope,$ltiuri) = &LONCAPA::ltiutils::lti_provider_scope($env{'request.lti.uri'},$cdom,$cnum);
                    }                     }
                    my $mapurl = &Apache::lonnet::declutter($requrl);                     @crumbs = ();
                    my @crumbs;                     unless ($ltiscope eq 'resource') {
                    unless (($ltiscope eq 'resource') || ($ltiscope eq 'map')) {                         unless ($ltiscope eq 'map') {
                        @crumbs = ({text  => $crstype.' Contents',                             @crumbs = ({text  => $crstype.' Contents',
                                    href  => "javascript:gopost('/adm/navmaps','')"});                                         href  => "javascript:gopost('/adm/navmaps','')"});
                          }
                        my $res = $navmap->getResourceByUrl($mapurl);                         my $res = $navmap->getResourceByUrl($mapurl);
                        if (ref($res)) {                         if (ref($res)) {
                            my $symb = $res->symb();                             my $symb = $res->symb();
                            if ($symb) {                             if ($symb) {
                                my ($parent) = &Apache::lonnet::decode_symb($res->symb());                                 my ($parent) = &Apache::lonnet::decode_symb($res->symb());
                                if ($parent ne $env{'course.'.$env{'request.course.id'}.'.url'}) {                                 if (($parent ne $env{'course.'.$env{'request.course.id'}.'.url'}) &&
                                      !(($ltiscope eq 'map') && ($requrl eq $ltiuri))) {
                                    my @mapcrumbs = $navmap->recursed_crumbs($parent);                                     my @mapcrumbs = $navmap->recursed_crumbs($parent);
                                    if (@mapcrumbs) {                                     if (@mapcrumbs) {
                                        push(@crumbs,@mapcrumbs);                                         push(@crumbs,@mapcrumbs);
Line 278  sub handler { Line 302  sub handler {
                            }                             }
                        }                         }
                    }                     }
                    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 304  sub handler { Line 325  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 354  sub handler { Line 388  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 376  sub handler { Line 408  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 397  sub handler { Line 427  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.49  
changed lines
  Added in v.1.59


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