Diff for /rat/lonpageflip.pm between versions 1.6 and 1.9

version 1.6, 2000/10/11 21:16:29 version 1.9, 2000/10/17 14:23:32
Line 10 Line 10
 # 08/30,08/31,09/06,09/14,09/15,09/16,09/19,09/20,09/21,09/23,  # 08/30,08/31,09/06,09/14,09/15,09/16,09/19,09/20,09/21,09/23,
 # 10/02 Gerd Kortemeyer)  # 10/02 Gerd Kortemeyer)
 #  #
 # 10/03,10/05,10/06,10/07,10/09,10/10,10/11 Gerd Kortemeyer  # 10/03,10/05,10/06,10/07,10/09,10/10,10/11,10/16,10/17 Gerd Kortemeyer
   
 package Apache::lonpageflip;  package Apache::lonpageflip;
   
Line 63  sub handler { Line 63  sub handler {
       my $currenturl=$2;        my $currenturl=$2;
       $currenturl=~s/^http\:\/\///;        $currenturl=~s/^http\:\/\///;
       $currenturl=~s/^[^\/]+//;        $currenturl=~s/^[^\/]+//;
         unless ($currenturl=~/\/res\//) {
    my $last;
            if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db',
                       &GDBM_READER,0640)) {
        $last=$hash{'last_known'};
                untie(%hash);
            }
            if ($last) {
        $currenturl='/res/'.(split(/\_\_\_/,$last))[1];
    } else {
        $r->content_type('text/html');
                $r->header_out(Location => 
                                  'http://'.$ENV{'HTTP_HOST'}.'/adm/noidea.html');
                return REDIRECT;
            }
         }
 # ------------------------------------------- Do we have any idea where we are?  # ------------------------------------------- Do we have any idea where we are?
       my $position;        my $position;
       if ($position=Apache::lonnet::symbread($currenturl)) {        if ($position=Apache::lonnet::symbread($currenturl)) {
Line 154  sub handler { Line 170  sub handler {
       untie(%hash);        untie(%hash);
 # --------------------------------------------------------- Store position info  # --------------------------------------------------------- Store position info
               $cachehash{'last_direction'}=$direction;                $cachehash{'last_direction'}=$direction;
                 $cachehash{'last_known'}=&Apache::lonnet::declutter($currenturl);
               &Apache::lonnet::symblist($mapurl,%cachehash);                &Apache::lonnet::symblist($mapurl,%cachehash);
 # ============================================== Do not return before this line  # ============================================== Do not return before this line
               if ($redirecturl) {                if ($redirecturl) {
Line 164  sub handler { Line 181  sub handler {
                   return REDIRECT;                    return REDIRECT;
       } else {        } else {
 # --------------------------------------------------------- There was a problem  # --------------------------------------------------------- There was a problem
               }                    $r->content_type('text/html');
                     $r->send_http_header;
                     if ($#possibilities>0) {
                        $r->print(<<ENDSTART);
   <head><title>Choose Next Location</title></head>
   <body bgcolor="#FFFFFF">
   <h1>LON-CAPA</h1>
   There are several possibilities of where to go next.
   <p>
   Please click on the the resource you intend to access:
   <p>
   <table border=2>
   <tr><th>Title</th><th>Type</th></tr>
   ENDSTART
                        map {
                           $r->print(
                                 '<tr><td><a href="'.
                                 $multichoicehash{'src_'.$_}.'">'.
                                 $multichoicehash{'title_'.$_}.
                                 '</a></td><td>'.$multichoicehash{'type_'.$_}.
         '</td></tr>');
                        } @possibilities;
                        $r->print('</table></body></html>');
        return OK;
                     } else {
                        $r->print(<<ENDNONE);
   <head><title>Choose Next Location</title></head>
   <body bgcolor="#FFFFFF">
   <img src="/adm/lonKaputt/lonlogo_broken.gif" align=left>
   <h1>Sorry!</h1>
   <h2>Next resource could not be identified.</h2>
   </body>
   </html>
   ENDNONE
                        return OK;
            }
        }
   } else {    } else {
 # ------------------------------------------------- Problem, could not tie hash  # ------------------------------------------------- Problem, could not tie hash
               $ENV{'user.error.msg'}="/adm/flip:bre:0:1:Course Data Missing";                $ENV{'user.error.msg'}="/adm/flip:bre:0:1:Course Data Missing";

Removed from v.1.6  
changed lines
  Added in v.1.9


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