Diff for /rat/lonpageflip.pm between versions 1.40 and 1.46

version 1.40, 2003/08/15 14:49:26 version 1.46, 2003/10/29 22:09:17
Line 190  sub handler { Line 190  sub handler {
       $ENV{'form.postdata'}=~/(\w+)\:(.*)/;        $ENV{'form.postdata'}=~/(\w+)\:(.*)/;
       my $direction=$1;        my $direction=$1;
       my $currenturl=$2;        my $currenturl=$2;
         $currenturl=~s/\.\d+\.(\w+)$/\.$1/;
       if ($direction eq 'return') {        if ($direction eq 'return') {
 # -------------------------------------------------------- Return to last known  # -------------------------------------------------------- Return to last known
          my $last;           my $last;
Line 201  sub handler { Line 202  sub handler {
          my $newloc;           my $newloc;
          if (($last) && (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'.db',           if (($last) && (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'.db',
                         &GDBM_READER(),0640))) {                          &GDBM_READER(),0640))) {
             my ($murl,$fn)=split(/\_\_\_/,$last);              my ($murl,$fn)=&Apache::lonnet::decode_symb($last);
             my $id;              my $id;
             ($murl,$id,$fn)=split(/\_\_\_/,&Apache::lonnet::symbread($fn));              ($murl,$id,$fn)=&Apache::lonnet::decode_symb(&Apache::lonnet::symbread($fn));
     $newloc=$hash{'src_'.      $newloc=$hash{'src_'.
                 $hash{'map_pc_'.&Apache::lonnet::clutter($murl)}.'.'.$id};                  $hash{'map_pc_'.&Apache::lonnet::clutter($murl)}.'.'.$id};
             unless ($newloc) { $newloc='/adm/noidea.html'; }              unless ($newloc) { $newloc='/adm/noidea.html'; }
Line 230  sub handler { Line 231  sub handler {
              untie(%hash);               untie(%hash);
          }           }
          if ($last) {           if ($last) {
      $currenturl=&Apache::lonnet::clutter((split(/\_\_\_/,$last))[1]);       $currenturl=&Apache::lonnet::clutter((&Apache::lonnet::decode_symb($last))[1]);
  } else {   } else {
      $r->content_type('text/html');       $r->content_type('text/html');
              $r->header_out(Location =>                $r->header_out(Location => 
Line 242  sub handler { Line 243  sub handler {
       my $position;        my $position;
       if ($position=Apache::lonnet::symbread($currenturl)) {        if ($position=Apache::lonnet::symbread($currenturl)) {
 # ------------------------------------------------------------------------- Yes  # ------------------------------------------------------------------------- Yes
   my ($startoutmap,$mapnum,$thisurl)=split(/\_\_\_/,$position);    my ($startoutmap,$mapnum,$thisurl)=&Apache::lonnet::decode_symb($position);
           $cachehash{$startoutmap}{$thisurl}=$mapnum;            $cachehash{$startoutmap}{$thisurl}=$mapnum;
           $cachehash{$startoutmap}{'last_known'}=            $cachehash{$startoutmap}{'last_known'}=
                                        &Apache::lonnet::declutter($currenturl);                                         &Apache::lonnet::declutter($currenturl);
Line 388  ENDNONE Line 389  ENDNONE
           }            }
       } else {        } else {
 # ---------------------------------------- No, could not determine where we are  # ---------------------------------------- No, could not determine where we are
          $r->internal_redirect('/adm/ambiguous');    if ( &Apache::lonnet::mod_perl_version() == 2 ) {
         &Apache::lonnet::cleanenv();
     }
     $r->internal_redirect('/adm/ambiguous');
       }        }
   } else {    } else {
 # -------------------------- Class was not initialized or page fliped strangely  # -------------------------- Class was not initialized or page fliped strangely

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


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