version 1.68, 2006/05/08 22:14:15
|
version 1.69, 2006/05/30 19:47:40
|
Line 200 sub navlaunch {
|
Line 200 sub navlaunch {
|
ENDNAV |
ENDNAV |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
} |
} |
|
|
|
sub first_accessible_resource { |
|
my $furl; |
|
if (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'.db', |
|
&GDBM_READER(),0640)) { |
|
$furl=$hash{'first_url'}; |
|
if (!&Apache::lonnet::allowed('bre',$furl)) { |
|
# 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'); |
|
# Build the new URL |
|
my ($newresid,$newmapid)=split(/\./,$newrid); |
|
my $symb=&Apache::lonnet::encode_symb($newmap,$newresid,$hash{'src_'.$newrid}); |
|
$furl=&add_get_param($hash{'src_'.$newrid},{ 'symb' => $symb }); |
|
if ($hash{'encrypted_'.$newrid}) { |
|
$furl=&Apache::lonenc::encrypted($furl); |
|
} |
|
} |
|
untie(%hash); |
|
return $furl; |
|
} else { |
|
return '/adm/navmaps'; |
|
} |
|
} |
|
|
# ================================================================ Main Handler |
# ================================================================ Main Handler |
|
|
sub handler { |
sub handler { |
Line 229 sub handler {
|
Line 253 sub handler {
|
} |
} |
$currenturl=~s/\.\d+\.(\w+)$/\.$1/; |
$currenturl=~s/\.\d+\.(\w+)$/\.$1/; |
if ($direction eq 'firstres') { |
if ($direction eq 'firstres') { |
my $furl; |
my $furl=&first_accessible_resource(); |
if (tie(my %bighash,'GDBM_File',$env{'request.course.fn'}.'.db', |
|
&GDBM_READER(),0640)) { |
|
$furl=$bighash{'first_url'}; |
|
untie(%bighash); |
|
} |
|
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->header_out(Location => |
$r->header_out(Location => |
'http://'.$ENV{'HTTP_HOST'}.$furl); |
'http://'.$ENV{'HTTP_HOST'}.$furl); |