--- loncom/lonnet/perl/lonnet.pm 2003/10/07 07:20:05 1.428 +++ loncom/lonnet/perl/lonnet.pm 2003/10/22 18:29:28 1.431 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.428 2003/10/07 07:20:05 albertel Exp $ +# $Id: lonnet.pm,v 1.431 2003/10/22 18:29:28 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2796,10 +2796,8 @@ sub get_symb_from_alias { my $rid=$bighash{'mapalias_'.$symb}; if ($rid) { my ($mapid,$resid)=split(/\./,$rid); - $aliassymb= - &declutter($bighash{'map_id_'.$mapid}). - '___'.$resid.'___'. - &declutter($bighash{'src_'.$rid}); + $aliassymb=&encode_symb($bighash{'map_id_'.$mapid}, + $resid,$bighash{'src_'.$rid}); } untie %bighash; } @@ -3612,7 +3610,15 @@ sub EXT { } elsif ($realm eq 'request') { # ------------------------------------------------------------- request.browser if ($space eq 'browser') { - return $ENV{'browser.'.$qualifier}; + if ($qualifier eq 'textremote') { + if (&mt('textual_remote_display') eq 'on') { + return 1; + } else { + return 0; + } + } else { + return $ENV{'browser.'.$qualifier}; + } # ------------------------------------------------------------ request.filename } else { return $ENV{'request.'.$spacequalifierrest}; @@ -4031,17 +4037,18 @@ sub symblist { sub symbverify { my ($symb,$thisfn)=@_; - $thisfn=&declutter($thisfn); + $thisfn=&symbclean(&declutter($thisfn)); # direct jump to resource in page or to a sequence - will construct own symbs if ($thisfn=~/\.(page|sequence)$/) { return 1; } # check URL part my ($map,$resid,$url)=&decode_symb($symb); - unless (&symbclean($url) eq &symbclean($thisfn)) { return 0; } + unless ($url eq $thisfn) { return 0; } $symb=&symbclean($symb); my %bighash; my $okay=0; + if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db', &GDBM_READER(),0640)) { my $ids=$bighash{'ids_'.&clutter($thisfn)}; @@ -4080,6 +4087,11 @@ sub symbclean { # ---------------------------------------------- Split symb to find map and url +sub encode_symb { + my ($map,$resid,$url)=@_; + return &symbclean(&declutter($map).'___'.$resid.'___'.&declutter($url)); +} + sub decode_symb { my ($map,$resid,$url)=split(/\_\_\_/,shift); return (&fixversion($map),$resid,&fixversion($url));