version 1.147, 2013/08/16 01:41:05
|
version 1.150, 2016/01/26 14:30:40
|
Line 42 use Safe::Hole;
|
Line 42 use Safe::Hole;
|
use Opcode; |
use Opcode; |
use Apache::lonenc; |
use Apache::lonenc; |
use Fcntl qw(:flock); |
use Fcntl qw(:flock); |
use LONCAPA; |
use LONCAPA qw(:DEFAULT :match); |
use File::Basename; |
use File::Basename; |
|
|
|
|
Line 282 sub loadmap {
|
Line 282 sub loadmap {
|
# Handle randomization and random selection |
# Handle randomization and random selection |
|
|
if ($randomize) { |
if ($randomize) { |
if (!$env{'request.role.adv'}) { |
my $advanced; |
|
if ($env{'request.course.id'}) { |
|
$advanced = (&Apache::lonnet::allowed('adv') eq 'F'); |
|
} else { |
|
$env{'request.course.id'} = $courseid; |
|
$advanced = (&Apache::lonnet::allowed('adv') eq 'F'); |
|
$env{'request.course.id'} = ''; |
|
} |
|
unless ($advanced) { |
|
# Order of resources is not randomized if user has and advanced role in the course. |
my $seed; |
my $seed; |
|
|
# In the advanced role, the map's random seed |
# If the map's random seed parameter has been specified |
# parameter is used as the basis for computing the |
# it is used as the basis for computing the seed ... |
# seed ... if it has been specified: |
|
|
|
if (defined($randompickseed{$parent_rid})) { |
if (defined($randompickseed{$parent_rid})) { |
$seed = $randompickseed{$parent_rid}; |
$seed = $randompickseed{$parent_rid}; |
Line 327 sub loadmap {
|
Line 335 sub loadmap {
|
# processing the randomorder parameter if it is set, not |
# processing the randomorder parameter if it is set, not |
# randompick. |
# randompick. |
|
|
@map_ids=&Math::Random::random_permutation(@map_ids); |
@map_ids=&Math::Random::random_permutation(@map_ids); |
} |
} |
|
|
|
|
Line 467 sub parse_resource {
|
Line 475 sub parse_resource {
|
} elsif ($turi!~/\.(sequence|page)$/) { |
} elsif ($turi!~/\.(sequence|page)$/) { |
$turi='/adm/coursedocs/showdoc'.$turi; |
$turi='/adm/coursedocs/showdoc'.$turi; |
} |
} |
|
} elsif ($turi=~ m{^/adm/$match_domain/$match_courseid/\d+/exttools?$}) { |
|
$turi='/adm/wrapper'.$turi; |
} elsif ($turi=~/\S/) { # normal non-empty internal resource |
} elsif ($turi=~/\S/) { # normal non-empty internal resource |
my $mapdir=$uri; |
my $mapdir=$uri; |
$mapdir=~s/[^\/]+$//; |
$mapdir=~s/[^\/]+$//; |
Line 1064 sub accinit {
|
Line 1074 sub accinit {
|
|
|
sub hiddenurls { |
sub hiddenurls { |
my $randomoutentry=''; |
my $randomoutentry=''; |
foreach my $rid (keys %randompick) { |
foreach my $rid (keys(%randompick)) { |
my $rndpick=$randompick{$rid}; |
my $rndpick=$randompick{$rid}; |
my $mpc=$hash{'map_pc_'.$hash{'src_'.$rid}}; |
my $mpc=$hash{'map_pc_'.$hash{'src_'.$rid}}; |
# ------------------------------------------- put existing resources into array |
# ------------------------------------------- put existing resources into array |
Line 1115 sub hiddenurls {
|
Line 1125 sub hiddenurls {
|
} |
} |
} |
} |
# ------------------------------ take care of explicitly hidden urls or folders |
# ------------------------------ take care of explicitly hidden urls or folders |
foreach my $rid (keys %hiddenurl) { |
foreach my $rid (keys(%hiddenurl)) { |
$hash{'randomout_'.$rid}=1; |
$hash{'randomout_'.$rid}=1; |
my ($mapid,$resid)=split(/\./,$rid); |
my ($mapid,$resid)=split(/\./,$rid); |
$randomoutentry.='&'. |
$randomoutentry.='&'. |