version 1.209, 2002/04/26 18:49:09
|
version 1.210, 2002/05/05 01:59:42
|
Line 2507 sub symblist {
|
Line 2507 sub symblist {
|
if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db', |
if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db', |
&GDBM_WRCREAT,0640)) { |
&GDBM_WRCREAT,0640)) { |
foreach (keys %newhash) { |
foreach (keys %newhash) { |
$hash{declutter($_)}=$mapname.'___'.$newhash{$_}; |
$hash{declutter($_)}=&symbclean($mapname.'___'.$newhash{$_}); |
} |
} |
if (untie(%hash)) { |
if (untie(%hash)) { |
return 'ok'; |
return 'ok'; |
Line 2517 sub symblist {
|
Line 2517 sub symblist {
|
return 'error'; |
return 'error'; |
} |
} |
|
|
|
# --------------------------------------------------------------- Clean-up symb |
|
|
|
sub symbclean { |
|
my $symb=shift; |
|
# remove version from map |
|
$symb=~s/\.(\d+)\.(\w+)\_\_\_/\.$2\_\_\_/; |
|
# remove version from URL |
|
$symb=~s/\.(\d+)\.(\w+)$/\.$2/; |
|
return $symb; |
|
} |
|
|
# ------------------------------------------------------ Return symb list entry |
# ------------------------------------------------------ Return symb list entry |
|
|
sub symbread { |
sub symbread { |
my $thisfn=shift; |
my $thisfn=shift; |
unless ($thisfn) { |
unless ($thisfn) { |
if ($ENV{'request.symb'}) { return $ENV{'request.symb'}; } |
if ($ENV{'request.symb'}) { return &symbclean($ENV{'request.symb'}); } |
$thisfn=$ENV{'request.filename'}; |
$thisfn=$ENV{'request.filename'}; |
} |
} |
$thisfn=declutter($thisfn); |
$thisfn=declutter($thisfn); |
Line 2581 sub symbread {
|
Line 2592 sub symbread {
|
} |
} |
} |
} |
if ($syval) { |
if ($syval) { |
return $syval.'___'.$thisfn; |
return &symbclean($syval.'___'.$thisfn); |
} |
} |
} |
} |
&appenv('request.ambiguous' => $thisfn); |
&appenv('request.ambiguous' => $thisfn); |