version 1.466, 2011/11/27 22:51:28
|
version 1.468, 2011/12/21 20:21:49
|
Line 2876 sub handler {
|
Line 2876 sub handler {
|
# Do we directly jump somewhere? |
# Do we directly jump somewhere? |
|
|
if ($env{'form.command'} eq 'direct') { |
if ($env{'form.command'} eq 'direct') { |
my ($mapurl,$id,$resurl) = &Apache::lonnet::decode_symb($env{'form.symb'}); |
my ($mapurl,$id,$resurl); |
if ($resurl=~/\.(sequence|page)$/) { |
if ($env{'form.symb'} eq '') { |
$mapurl=$resurl; |
$mapurl = $env{'course.'.$env{'request.course.id'}.'.url'}; |
|
} else { |
|
($mapurl,$id,$resurl) = &Apache::lonnet::decode_symb($env{'form.symb'}); |
|
if ($resurl=~/\.(sequence|page)$/) { |
|
$mapurl=$resurl; |
|
} elsif ($resurl eq 'adm/navmaps') { |
|
$mapurl=$env{'course.'.$env{'request.course.id'}.'.url'}; |
|
} |
|
} |
|
my $mapresobj; |
|
my $navmap = Apache::lonnavmaps::navmap->new(); |
|
if (ref($navmap)) { |
|
$mapresobj = $navmap->getResourceByUrl($mapurl); |
} |
} |
my $maptitle = &Apache::lonnet::gettitle($mapurl); |
|
$mapurl=~s{^.*/([^/]+)\.(\w+)$}{$1}; |
$mapurl=~s{^.*/([^/]+)\.(\w+)$}{$1}; |
my $type=$2; |
my $type=$2; |
my $path='default&'.&Apache::lonhtmlcommon::entity_encode('Main Course Documents'). |
my $path; |
'&default&...::::&'. |
if (ref($mapresobj)) { |
&Apache::lonhtmlcommon::entity_encode($mapurl).'&'. |
my $pcslist = $mapresobj->map_hierarchy(); |
&Apache::lonhtmlcommon::entity_encode($maptitle).'::::'; |
if ($pcslist ne '') { |
|
foreach my $pc (split(/,/,$pcslist)) { |
|
next if ($pc <= 1); |
|
my $res = $navmap->getByMapPc($pc); |
|
if (ref($res)) { |
|
my $thisurl = $res->src(); |
|
$thisurl=~s{^.*/([^/]+)\.\w+$}{$1}; |
|
my $thistitle = $res->title(); |
|
$path .= '&'. |
|
&Apache::lonhtmlcommon::entity_encode($thisurl).'&'. |
|
&Apache::lonhtmlcommon::entity_encode($thistitle). |
|
':'.$res->randompick(). |
|
':'.$res->randomout(). |
|
':'.$res->encrypted(). |
|
':'.$res->randomorder(); |
|
} |
|
} |
|
} |
|
$path .= '&'.&Apache::lonhtmlcommon::entity_encode($mapurl).'&'. |
|
&Apache::lonhtmlcommon::entity_encode($mapresobj->title()). |
|
':'.$mapresobj->randompick(). |
|
':'.$mapresobj->randomout(). |
|
':'.$mapresobj->encrypted(). |
|
':'.$mapresobj->randomorder(); |
|
} else { |
|
my $maptitle = &Apache::lonnet::gettitle($mapurl); |
|
$path = '&default&...::::'. |
|
'&'.&Apache::lonhtmlcommon::entity_encode($mapurl).'&'. |
|
&Apache::lonhtmlcommon::entity_encode($maptitle).'::::'; |
|
} |
|
$path = 'default&'. |
|
&Apache::lonhtmlcommon::entity_encode('Main Course Documents'). |
|
$path; |
if ($type eq 'sequence') { |
if ($type eq 'sequence') { |
$env{'form.folderpath'}=$path; |
$env{'form.folderpath'}=$path; |
$env{'form.pagepath'}=''; |
$env{'form.pagepath'}=''; |