version 1.37, 2003/03/08 01:39:29
|
version 1.45, 2003/09/17 18:16:39
|
Line 201 sub handler {
|
Line 201 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 230 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 242 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 311 sub handler {
|
Line 311 sub handler {
|
# ============================================== Do not return before this line |
# ============================================== Do not return before this line |
if ($redirecturl) { |
if ($redirecturl) { |
# ----------------------------------------------------- There is a URL to go to |
# ----------------------------------------------------- There is a URL to go to |
|
if ($direction eq 'forward') { |
|
&Apache::lonnet::linklog($currenturl,$redirecturl); |
|
} |
|
if ($direction eq 'back') { |
|
&Apache::lonnet::linklog($redirecturl,$currenturl); |
|
} |
# ------------------------------------------------- Check for critical messages |
# ------------------------------------------------- Check for critical messages |
if ((time-$ENV{'user.criticalcheck.time'})>300) { |
if ((time-$ENV{'user.criticalcheck.time'})>300) { |
my @what=&Apache::lonnet::dump |
my @what=&Apache::lonnet::dump |
Line 382 ENDNONE
|
Line 388 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 |