version 1.35, 2003/03/01 15:13:59
|
version 1.44, 2003/09/17 17:50:49
|
Line 185 sub handler {
|
Line 185 sub handler {
|
my $redirecturl=''; |
my $redirecturl=''; |
my $next=''; |
my $next=''; |
my @possibilities=(); |
my @possibilities=(); |
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['postdata']); |
if (($ENV{'form.postdata'})&&($ENV{'request.course.fn'})) { |
if (($ENV{'form.postdata'})&&($ENV{'request.course.fn'})) { |
$ENV{'form.postdata'}=~/(\w+)\:(.*)/; |
$ENV{'form.postdata'}=~/(\w+)\:(.*)/; |
my $direction=$1; |
my $direction=$1; |
Line 198 sub handler {
|
Line 199 sub handler {
|
untie(%hash); |
untie(%hash); |
} |
} |
my $newloc; |
my $newloc; |
if ($last) { |
if (($last) && (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'.db', |
$newloc=&Apache::lonnet::clutter((split(/\_\_\_/,$last))[1]); |
&GDBM_READER(),0640))) { |
|
my ($murl,$fn)=&Apache::lonnet::decode_symb($last); |
|
my $id; |
|
($murl,$id,$fn)=&Apache::lonnet::decode_symb(&Apache::lonnet::symbread($fn)); |
|
$newloc=$hash{'src_'. |
|
$hash{'map_pc_'.&Apache::lonnet::clutter($murl)}.'.'.$id}; |
|
unless ($newloc) { $newloc='/adm/noidea.html'; } |
|
untie %hash; |
} else { |
} else { |
$newloc='/adm/noidea.html'; |
$newloc='/adm/noidea.html'; |
} |
} |
Line 222 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 234 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 303 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 326 sub handler {
|
Line 340 sub handler {
|
$r->content_type('text/html'); |
$r->content_type('text/html'); |
$r->send_http_header; |
$r->send_http_header; |
if ($#possibilities>0) { |
if ($#possibilities>0) { |
|
my $bodytag= |
|
&Apache::loncommon::bodytag('Multiple Resources'); |
$r->print(<<ENDSTART); |
$r->print(<<ENDSTART); |
<head><title>Choose Next Location</title></head> |
<head><title>Choose Next Location</title></head> |
<body bgcolor="#FFFFFF"> |
$bodytag |
<h1>LON-CAPA</h1> |
<h3>There are several possibilities of where to go next</h3> |
There are several possibilities of where to go next. |
|
<p> |
<p> |
Please click on the the resource you intend to access: |
Please click on the the resource you intend to access: |
<p> |
<p> |
Line 349 ENDSTART
|
Line 364 ENDSTART
|
$r->print('</table></body></html>'); |
$r->print('</table></body></html>'); |
return OK; |
return OK; |
} else { |
} else { |
|
my $bodytag=&Apache::loncommon::bodytag('No Resource'); |
$r->print(<<ENDNONE); |
$r->print(<<ENDNONE); |
<head><title>Choose Next Location</title></head> |
<head><title>No Resource</title></head> |
<body bgcolor="#FFFFFF"> |
$bodytag |
<img src="/adm/lonIcons/lonlogos.gif" align=right> |
<h3>Next resource could not be identified.</h3> |
<h1>Sorry!</h1> |
<p>You probably are at the <b>beginning</b> or the <b>end</b> of the |
<h2>Next resource could not be identified.</h2> |
course.</p> |
<h3>You probably are at the beginning or the end of the course.</h3> |
<ul> |
|
<li><a href="/adm/flip?postdata=return:">Go Back</a></li> |
|
<li><a href="/adm/navmaps">Navigate Course Content</a></li> |
|
</ul> |
</body> |
</body> |
</html> |
</html> |
ENDNONE |
ENDNONE |
Line 369 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 |