Diff for /rat/lonpageflip.pm between versions 1.80.8.1 and 1.83

version 1.80.8.1, 2012/05/01 22:51:12 version 1.83, 2013/11/28 02:23:25
Line 217  sub get_next_possible_move { Line 217  sub get_next_possible_move {
               return ($next,$mapurl);                return ($next,$mapurl);
 }  }
   
 sub navlaunch {  
     my ($r)=@_;  
     &Apache::loncommon::content_type($r,'text/html');  
     &Apache::loncommon::no_cache($r);  
     $r->send_http_header;  
     $r->print(&Apache::loncommon::start_page('Launched'));  
     $r->print(<<ENDNAV);  
     <p><a href="/adm/flip?postdata=firstres%3a">Goto first resource</a></p>  
     <script type="text/javascript">  
         function collapse() {  
             menu=window.open("/adm/navmaps?collapseExternal","loncapanav",  
                              "height=600,width=400,scrollbars=1");  
             this.document.location='/adm/navmaps?turningOffExternal';  
         }  
     </script>  
     <p><a href="javascript:collapse();">Collapse external navigation window</a></p>  
 ENDNAV  
     $r->print(&Apache::loncommon::end_page());  
 }  
   
 sub first_accessible_resource {  sub first_accessible_resource {
     my $furl;      my $furl;
     if (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'.db',      if (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'.db',
Line 248  sub first_accessible_resource { Line 228  sub first_accessible_resource {
     my ($name,$value) = split(/=/,$pair);      my ($name,$value) = split(/=/,$pair);
     $args{&unescape($name)} = &unescape($value);      $args{&unescape($name)} = &unescape($value);
  }   }
         if ((($env{'environment.remotenavmap'} eq 'on') && ($furl =~ m{^/adm/navmaps})) ||          if (!&Apache::lonnet::allowed('bre',$url,$args{'symb'})) {
             (!&Apache::lonnet::allowed('bre',$url,$args{'symb'}))) {  
 # Wow, we cannot see this ... move forward to the next one that we can see  # Wow, we cannot see this ... move forward to the next one that we can see
     my ($newrid,$newmap)=&move($hash{'first_rid'},$hash{'first_mapurl'},'forward');      my ($newrid,$newmap)=&move($hash{'first_rid'},$hash{'first_mapurl'},'forward');
 # Build the new URL  # Build the new URL
Line 303  sub handler { Line 282  sub handler {
             
   return REDIRECT;    return REDIRECT;
       }        }
       if ($direction eq 'return' || $direction eq 'navlaunch') {        if ($direction eq 'return') {
 # -------------------------------------------------------- Return to last known  # -------------------------------------------------------- Return to last known
          my $last;           my $last;
          if (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db',           if (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db',
Line 326  sub handler { Line 305  sub handler {
             untie %hash;              untie %hash;
          } else {           } else {
     $newloc='/adm/navmaps';      $newloc='/adm/navmaps';
          }           }  
          if (($newloc =~ m{^/adm/navmaps}) && ($direction eq 'navlaunch')) {  
              &navlaunch($r);  
              return OK;  
          } else {  
      &Apache::loncommon::content_type($r,'text/html');       &Apache::loncommon::content_type($r,'text/html');
      $r->header_out(Location =>        $r->header_out(Location => 
     &Apache::lonnet::absolute_url().$newloc);      &Apache::lonnet::absolute_url().$newloc);
             
      return REDIRECT;       return REDIRECT;
          }  
       }        }
       $currenturl=~s/^https?\:\/\///;        $currenturl=~s/^https?\:\/\///;
       $currenturl=~s/^[^\/]+//;        $currenturl=~s/^[^\/]+//;
Line 353  sub handler { Line 327  sub handler {
          if ($last) {           if ($last) {
      $currenturl=&Apache::lonnet::clutter((&Apache::lonnet::decode_symb($last))[2]);       $currenturl=&Apache::lonnet::clutter((&Apache::lonnet::decode_symb($last))[2]);
  } else {   } else {
              if ($direction eq 'return') {  
  &Apache::loncommon::content_type($r,'text/html');   &Apache::loncommon::content_type($r,'text/html');
  $r->header_out(Location =>    $r->header_out(Location => 
  &Apache::lonnet::absolute_url().   &Apache::lonnet::absolute_url().
  '/adm/noidea.html');   '/adm/noidea.html');
  return REDIRECT;   return REDIRECT;
              } else {  
                  &navlaunch($r);  
                  return OK;  
              }  
          }           }
       }        }
 # ------------------------------------------- Do we have any idea where we are?  # ------------------------------------------- Do we have any idea where we are?
Line 450  sub handler { Line 419  sub handler {
                      &Apache::lonnet::appenv({'user.criticalcheck.time'=>time});                       &Apache::lonnet::appenv({'user.criticalcheck.time'=>time});
   }    }
   
                   if (($redirecturl =~ m{^/adm/navmaps}) &&  
                       ($env{'environment.remotenavmap'} eq 'on')) {  
                       &navlaunch($r);  
                       return OK;  
                   }  
   &Apache::loncommon::content_type($r,'text/html');    &Apache::loncommon::content_type($r,'text/html');
   my $url=&Apache::lonnet::absolute_url().$redirecturl;    my $url=&Apache::lonnet::absolute_url().$redirecturl;
   $url = &add_get_param($url, { 'symb' => $redirectsymb});    $url = &add_get_param($url, { 'symb' => $redirectsymb});
Line 468  sub handler { Line 432  sub handler {
      'explain' =>       'explain' =>
      'You have reached the end of the sequence of materials.',       'You have reached the end of the sequence of materials.',
      'back' => 'Go Back',       'back' => 'Go Back',
      'nav' => 'Navigate Course Content',       'nav' => 'Course Contents',
      'wherenext' =>       'wherenext' =>
      'There are several possibilities of where to go next',       'There are several possibilities of where to go next',
      'pick' =>       'pick' =>
      'Please click on the the resource you intend to access',       'Please click on the the resource you intend to access',
      'titleheader' => 'Title',       'titleheader' => 'Title',
      'type' => 'Type');       'type' => 'Type');
                     if (&Apache::loncommon::course_type() eq 'Community') {
                         $lt{'nav'} = &mt('Community Contents');
                     }
                   if ($#possibilities>0) {                    if ($#possibilities>0) {
       my $start_page=        my $start_page=
   &Apache::loncommon::start_page('Multiple Resources');    &Apache::loncommon::start_page('Multiple Resources');
Line 500  ENDSTART Line 467  ENDSTART
                      }                       }
                      $r->print('</table>');                       $r->print('</table>');
                   } else {                    } else {
       my $start_page=                        $r->print(
   &Apache::loncommon::start_page('No Resource');                            &Apache::loncommon::start_page('No Resource')
       $r->print(<<ENDNONE);                           .'<h2>'.$lt{'title'}.'</h2>'
 $start_page                           .'<p>'.$lt{'explain'}.'</p>');
 <h3>$lt{'title'}</h3>                    }
 <p>$lt{'explain'}</p>                    $r->print(
 ENDNONE                        &Apache::lonhtmlcommon::actionbox(
   }                            ['<a href="/adm/flip?postdata=return:">'.$lt{'back'}.'</a></li>',
   $r->print(<<ENDMENU);                             '<a href="/adm/navmaps">'.$lt{'nav'}.'</a></li>'
 <ul>                            ])
 <li><a href="/adm/flip?postdata=return:">$lt{'back'}</a></li>                       .&Apache::loncommon::end_page());
 <li><a href="/adm/navmaps">$lt{'nav'}</a></li>  
 </ul>  
 ENDMENU  
                   $r->print(&Apache::loncommon::end_page());  
                   return OK;                    return OK;
       }        }
   } else {    } else {
Line 525  ENDMENU Line 488  ENDMENU
       } else {        } else {
 # ---------------------------------------- No, could not determine where we are  # ---------------------------------------- No, could not determine where we are
   $r->internal_redirect('/adm/ambiguous');    $r->internal_redirect('/adm/ambiguous');
             return OK;
       }        }
   } else {    } else {
 # -------------------------- Class was not initialized or page fliped strangely  # -------------------------- Class was not initialized or page fliped strangely
Line 567  described at http://www.lon-capa.org. Line 531  described at http://www.lon-capa.org.
   
 =item get_next_possible_move()  =item get_next_possible_move()
   
 =item navlaunch()  
   
 =item first_accessible_resource()  =item first_accessible_resource()
   
 =item handler()  =item handler()

Removed from v.1.80.8.1  
changed lines
  Added in v.1.83


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.