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

version 1.48.2.4.2.1, 2023/01/20 23:49:50 version 1.49, 2018/04/14 02:29:57
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 233  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,$cdom);                 my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
            if ($result) {                 my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
                $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 248  sub handler { Line 245  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 273  sub handler { Line 252  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)) {
                    @crumbs = ({text  => $crstype.' Contents',                     my $ltiscope;
                                href  => "javascript:gopost('/adm/navmaps','')"});                     if (($env{'request.lti.login'}) && ($env{'request.lti.uri'})) {
                    my $res = $navmap->getResourceByUrl($mapurl);                         my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
                    if (ref($res)) {                         my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
                        my $symb = $res->symb();                         ($ltiscope) = &LONCAPA::ltiutils::lti_provider_scope($env{'request.lti.uri'},$cdom,$cnum);
                        if ($symb) {                     }
                            my ($parent) = &Apache::lonnet::decode_symb($res->symb());                     my $mapurl = &Apache::lonnet::declutter($requrl);
                            if ($parent ne $env{'course.'.$env{'request.course.id'}.'.url'}) {                     my @crumbs;
                                my @mapcrumbs = $navmap->recursed_crumbs($parent);                     unless (($ltiscope eq 'resource') || ($ltiscope eq 'map')) {
                                if (@mapcrumbs) {                         @crumbs = ({text  => $crstype.' Contents',
                                    push(@crumbs,@mapcrumbs);                                     href  => "javascript:gopost('/adm/navmaps','')"});
                          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'}) {
                                      my @mapcrumbs = $navmap->recursed_crumbs($parent);
                                      if (@mapcrumbs) {
                                          push(@crumbs,@mapcrumbs);
                                      }
                                }                                 }
                                  $env{'request.symb'} = $symb;
                            }                             }
                            $env{'request.symb'} = $symb;  
                        }                         }
                    }                     }
                      my $maptitle = &Apache::lonnet::gettitle($mapurl);
                    push(@crumbs,{text => $maptitle, no_mt => 1});                     push(@crumbs,{text => $maptitle, no_mt => 1});
                    $args = {'bread_crumbs' => \@crumbs,                     my $args = {'bread_crumbs' => \@crumbs,
                             'bread_crumbs_nomenu' => 1,                                 'bread_crumbs_nomenu' => 1};
                             'no_auto_mt_title' => 1};                     &Apache::loncommon::content_type($r,'text/html');
                      $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 312  sub handler { Line 304  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 class="LC_info">'.                         $r->print("<p><span class=\"LC_info\">".
                                  &mt('No items found in folder').                                   &mt("This folder is empty.")."</span></p>");
                                  '</p>');  
                    }                     }
                    $r->print(&Apache::loncommon::end_page());                     $r->print(&Apache::loncommon::end_page());
                } else {                     $r->rflush();
                    $r->print(&Apache::loncommon::start_page($maptitle,undef,$args).                     return OK;
                              '<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 375  sub handler { Line 354  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 395  sub handler { Line 376  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 414  sub handler { Line 397  sub handler {
       if ($is_encrypted) {        if ($is_encrypted) {
           $showdisurl = &Apache::lonenc::encrypted($disurl);            $showdisurl = &Apache::lonenc::encrypted($disurl);
       }        }
       if ($disurl =~ m{^/adm/navmaps(\?|$)}) {        &Apache::lonnet::symblist($requrl,$disurl => [$disurl,$dismapid],
           &Apache::lonnet::symblist($requrl,$disurl => [$disurl,$dismapid]);   'last_known' => [$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().        $r->header_out(Location => &Apache::lonnet::absolute_url($ENV{'SERVER_NAME'}).
                                  $showdisurl);                                   $showdisurl);
       return REDIRECT;        return REDIRECT;
    } else {     } else {

Removed from v.1.48.2.4.2.1  
changed lines
  Added in v.1.49


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