version 1.23, 2002/04/12 13:47:21
|
version 1.28, 2002/08/12 18:21:42
|
Line 53 my %hash;
|
Line 53 my %hash;
|
sub addrid { |
sub addrid { |
my ($current,$new,$condid)=@_; |
my ($current,$new,$condid)=@_; |
unless ($condid) { $condid=0; } |
unless ($condid) { $condid=0; } |
if (&Apache::lonnet::allowed('bre',$hash{'src_'.$new})) { |
|
if ($current) { |
if ($current) { |
$current.=','.$new; |
$current.=','.$new; |
} else { |
} else { |
$current=''.$new; |
$current=''.$new; |
} |
} |
} |
|
return $current; |
return $current; |
} |
} |
|
|
|
sub fullmove { |
|
my ($rid,$mapurl,$direction)=@_; |
|
if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'.db', |
|
&GDBM_READER(),0640)) { |
|
($rid,$mapurl)=&move($rid,$mapurl,$direction); |
|
untie(%hash); |
|
} |
|
return($rid,$mapurl); |
|
} |
|
|
sub move { |
sub move { |
my ($rid,$mapurl,$direction)=@_; |
my ($rid,$mapurl,$direction)=@_; |
my $startoutrid=$rid; |
my $startoutrid=$rid; |
Line 132 sub move {
|
Line 142 sub move {
|
} |
} |
} split(/\,/,$posnext); |
} split(/\,/,$posnext); |
if ($hash{'is_map_'.$next}) { |
if ($hash{'is_map_'.$next}) { |
|
# This jumps to the end of a new map (going down one level) |
if ( |
if ( |
$hash{'map_type_'.$hash{'map_pc_'.$hash{'src_'.$next}}} eq 'sequence') { |
$hash{'map_type_'.$hash{'map_pc_'.$hash{'src_'.$next}}} eq 'sequence') { |
$mapurl=$hash{'src_'.$next}; |
$mapurl=$hash{'src_'.$next}; |
$next=$hash{'map_finish_'.$hash{'src_'.$next}}; |
$next=$hash{'map_finish_'.$hash{'src_'.$next}}; |
} |
} |
|
} elsif |
|
((split(/\./,$startoutrid))[0]!=(split(/\./,$next))[0]) { |
|
# This comes back up from a map (going up one level); |
|
$mapurl=$hash{'map_id_'.(split(/\./,$next))[0]}; |
} |
} |
} |
} |
return ($next,$mapurl); |
return ($next,$mapurl); |
Line 169 sub handler {
|
Line 184 sub handler {
|
# -------------------------------------------------------- Return to last known |
# -------------------------------------------------------- Return to last known |
my $last; |
my $last; |
if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db', |
if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db', |
&GDBM_READER,0640)) { |
&GDBM_READER(),0640)) { |
$last=$hash{'last_known'}; |
$last=$hash{'last_known'}; |
untie(%hash); |
untie(%hash); |
} |
} |
Line 191 sub handler {
|
Line 206 sub handler {
|
($currenturl=~/^\/adm\/wrapper\//)) { |
($currenturl=~/^\/adm\/wrapper\//)) { |
my $last; |
my $last; |
if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db', |
if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db', |
&GDBM_READER,0640)) { |
&GDBM_READER(),0640)) { |
$last=$hash{'last_known'}; |
$last=$hash{'last_known'}; |
untie(%hash); |
untie(%hash); |
} |
} |
Line 215 sub handler {
|
Line 230 sub handler {
|
|
|
# ============================================================ Tie the big hash |
# ============================================================ Tie the big hash |
if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'.db', |
if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'.db', |
&GDBM_READER,0640)) { |
&GDBM_READER(),0640)) { |
my $rid=$hash{'map_pc_/res/'.$startoutmap}.'.'.$mapnum; |
my $rid=$hash{'map_pc_/res/'.$startoutmap}.'.'.$mapnum; |
|
|
# ------------------------------------------------- Move forward, backward, etc |
# ------------------------------------------------- Move forward, backward, etc |
Line 223 sub handler {
|
Line 238 sub handler {
|
($next,$endupmap)=&move($rid,$startoutmap,$direction); |
($next,$endupmap)=&move($rid,$startoutmap,$direction); |
# -------------------------------------- Do we have one and only one empty URL? |
# -------------------------------------- Do we have one and only one empty URL? |
my $safecount=0; |
my $safecount=0; |
while (($next) && ($next!~/\,/) && (!$hash{'src_'.$next}) |
while (($next) && ($next!~/\,/) && |
&& ($safecount<25)) { |
((!$hash{'src_'.$next}) || ($hash{'randomout_'.$next})) |
|
&& ($safecount<10000)) { |
($next,$endupmap)=&move($next,$endupmap,$direction); |
($next,$endupmap)=&move($next,$endupmap,$direction); |
$safecount++; |
$safecount++; |
} |
} |
Line 289 Please click on the the resource you int
|
Line 305 Please click on the the resource you int
|
<table border=2> |
<table border=2> |
<tr><th>Title</th><th>Type</th></tr> |
<tr><th>Title</th><th>Type</th></tr> |
ENDSTART |
ENDSTART |
map { |
foreach (@possibilities) { |
$r->print( |
$r->print( |
'<tr><td><a href="'. |
'<tr><td><a href="'. |
$multichoicehash{'src_'.$_}.'">'. |
$multichoicehash{'src_'.$_}.'">'. |
$multichoicehash{'title_'.$_}. |
$multichoicehash{'title_'.$_}. |
'</a></td><td>'.$multichoicehash{'type_'.$_}. |
'</a></td><td>'.$multichoicehash{'type_'.$_}. |
'</td></tr>'); |
'</td></tr>'); |
} @possibilities; |
} |
$r->print('</table></body></html>'); |
$r->print('</table></body></html>'); |
return OK; |
return OK; |
} else { |
} else { |