version 1.30, 2002/06/26 15:44:35
|
version 1.36, 2002/07/30 20:01:40
|
Line 277 sub traceroute {
|
Line 277 sub traceroute {
|
$sofar=simplify($sofar); |
$sofar=simplify($sofar); |
unless ($beenhere=~/\&$rid\&/) { |
unless ($beenhere=~/\&$rid\&/) { |
$beenhere.=$rid.'&'; |
$beenhere.=$rid.'&'; |
if ($retfurl eq '') { |
if (($retfurl eq '') && ($hash{'src_'.$rid})) { |
my ($mapid,$resid)=split(/\./,$rid); |
my ($mapid,$resid)=split(/\./,$rid); |
$retfurl=$hash{'src_'.$rid}.'?symb='. |
$retfurl=$hash{'src_'.$rid}. |
|
(($hash{'src_'.$rid}=~/\?/)?'&':'?').'symb='. |
&Apache::lonnet::symbclean( |
&Apache::lonnet::symbclean( |
&Apache::lonnet::declutter($hash{'map_id_'.$mapid}). |
&Apache::lonnet::declutter($hash{'map_id_'.$mapid}). |
'___'.$resid.'___'. |
'___'.$resid.'___'. |
Line 409 sub accinit {
|
Line 410 sub accinit {
|
# ------------------------------------- Selectively delete from randompick maps |
# ------------------------------------- Selectively delete from randompick maps |
|
|
sub pickrandom { |
sub pickrandom { |
|
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}}; |
Line 422 sub pickrandom {
|
Line 424 sub pickrandom {
|
next if ($#currentrids<$rndpick); |
next if ($#currentrids<$rndpick); |
# -------------------------------- randomly eliminate the ones that should stay |
# -------------------------------- randomly eliminate the ones that should stay |
srand(&Apache::lonnet::rndseed($rid)); # use rid instead of symb |
srand(&Apache::lonnet::rndseed($rid)); # use rid instead of symb |
for (my $i=1;$i<=$#currentrids+1-$rndpick;$i++) { |
for (my $i=1;$i<=$rndpick;$i++) { |
while (1) { |
while (1) { |
my $randomidx=int(rand($#currentrids+1)); |
my $randomidx=int(rand($#currentrids+1)); |
if ($currentrids[$randomidx]) { |
if ($currentrids[$randomidx]) { |
Line 435 sub pickrandom {
|
Line 437 sub pickrandom {
|
for (my $k=0; $k<=$#currentrids; $k++) { |
for (my $k=0; $k<=$#currentrids; $k++) { |
if ($currentrids[$k]) { |
if ($currentrids[$k]) { |
$hash{'randomout_'.$currentrids[$k]}=1; |
$hash{'randomout_'.$currentrids[$k]}=1; |
|
my ($mapid,$resid)=split(/\./,$currentrids[$k]); |
|
$randomoutentry.='&'. |
|
&Apache::lonnet::symbclean( |
|
&Apache::lonnet::declutter($hash{'map_id_'.$mapid}). |
|
'___'.$resid.'___'. |
|
&Apache::lonnet::declutter($hash{'src_'.$currentrids[$k]}) |
|
).'&'; |
} |
} |
} |
} |
} |
} |
|
if ($randomoutentry) { |
|
&Apache::lonnet::appenv('acc.randomout' => $randomoutentry); |
|
} |
} |
} |
|
|
# ---------------------------------------------------- Read map and all submaps |
# ---------------------------------------------------- Read map and all submaps |
Line 461 sub readmap {
|
Line 473 sub readmap {
|
unlink($fn.'parms.db'); |
unlink($fn.'parms.db'); |
undef %randompick; |
undef %randompick; |
$retfurl=''; |
$retfurl=''; |
if ((tie(%hash,'GDBM_File',"$fn.db",&GDBM_WRCREAT,0640)) && |
if ((tie(%hash,'GDBM_File',"$fn.db",&GDBM_WRCREAT(),0640)) && |
(tie(%parmhash,'GDBM_File',$fn.'_parms.db',&GDBM_WRCREAT,0640))) { |
(tie(%parmhash,'GDBM_File',$fn.'_parms.db',&GDBM_WRCREAT(),0640))) { |
%hash=(); |
%hash=(); |
%parmhash=(); |
%parmhash=(); |
$errtext=''; |
$errtext=''; |