--- rat/lonambiguous.pm 2004/12/17 22:40:24 1.11 +++ rat/lonambiguous.pm 2005/02/17 09:09:57 1.14 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to resolve ambiguous file locations # -# $Id: lonambiguous.pm,v 1.11 2004/12/17 22:40:24 albertel Exp $ +# $Id: lonambiguous.pm,v 1.14 2005/02/17 09:09:57 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,11 +25,6 @@ # # http://www.lon-capa.org/ # -# (TeX Content Handler -# -# 05/29/00,05/30,10/11 Gerd Kortemeyer) -# -# 10/11,10/12,10/16 Gerd Kortemeyer package Apache::lonambiguous; @@ -56,7 +51,7 @@ sub cleanup { sub getlost { my ($r,$errmsg)=@_; $errmsg=&mt($errmsg); - $r->content_type('text/html'); + &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; $r->print( 'Unknown Error'. @@ -139,7 +134,7 @@ sub handler { if ($syval=~/\_$/) { # ----------------------------------- Okay, this should have appeared on a page $syval=~s/\_\_\_$//; - $r->content_type('text/html'); + &Apache::loncommon::content_type($r,'text/html'); $r->header_out(Location => 'http://'.$ENV{'HTTP_HOST'}.'/res/'.$syval); return REDIRECT; @@ -149,7 +144,12 @@ sub handler { return OK; } } - +# ------------------------------------Encrypted requests go straight to navmaps + if ($ENV{'request.enc'}) { + &Apache::loncommon::content_type($r,'text/html'); + $r->header_out(Location => 'http://'.$ENV{'HTTP_HOST'}.'/adm/navmaps'); + return REDIRECT; + } # ------------------------------------------------ Would be standalone resource if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db', @@ -173,9 +173,20 @@ sub handler { } if ($couldbe) { @possibilities=split(/\,/,$couldbe); + if ($#possibilities==0) { + my $id=$possibilities[0]; + my $resurl=$bighash{'src_'.$id}; + my $mapurl=$bighash{'map_id_'.(split(/\./,$id))[0]}; + my $symb=&make_symb($id); + &Apache::loncommon::content_type($r,'text/html'); + &Apache::lonnet::logthis('http://'.$ENV{'HTTP_HOST'}.$resurl.'?symb='.$symb); + $r->header_out(Location => + 'http://'.$ENV{'HTTP_HOST'}.$resurl.'?symb='.$symb); + return REDIRECT; + } if ($#possibilities>0) { # ----------------------------------------------- Okay, really multiple choices - $r->content_type('text/html'); + &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; my $bodytag= &Apache::loncommon::bodytag('Pick Instance of Resource');