--- loncom/auth/lonacc.pm 2004/12/28 20:28:55 1.58 +++ loncom/auth/lonacc.pm 2005/02/07 23:37:44 1.61 @@ -1,7 +1,7 @@ # The LearningOnline Network # Cookie Based Access Handler # -# $Id: lonacc.pm,v 1.58 2004/12/28 20:28:55 albertel Exp $ +# $Id: lonacc.pm,v 1.61 2005/02/07 23:37:44 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -145,9 +145,11 @@ sub handler { "$requrl:bre:1:1:Invalid Access"; return HTTP_NOT_ACCEPTABLE; } - my ($map,$mid,$murl)=split(/\_\_\_/,$symb); - &Apache::lonnet::symblist($map,$murl => $mid, - 'last_known' => $murl); + if ($symb) { + my ($map,$mid,$murl)=split(/\_\_\_/,$symb); + &Apache::lonnet::symblist($map,$murl => $mid, + 'last_known' => $murl); + } } $ENV{'request.symb'}=$symb; &Apache::lonnet::courseacclog($symb); @@ -166,14 +168,21 @@ sub handler { if ($requrl=~m|^/public/| || (&Apache::lonnet::metadata($requrl,'copyright') eq 'public')) { &Apache::lonnet::logthis('Granting public access: '.$requrl); - my $buffer; - $r->read($buffer,$r->header_in('Content-length'),0); - &Apache::loncommon::get_unprocessed_cgi($buffer); + &Apache::loncommon::get_posted_cgi($r); $ENV{'user.name'}='public'; $ENV{'user.domain'}='public'; $ENV{'request.state'} = "published"; $ENV{'request.publicaccess'} = 1; $ENV{'request.filename'} = $r->filename; + my ($httpbrowser, $clientbrowser, $clientversion, + $clientmathml, $clientunicode, $clientos) = + &Apache::loncommon::decode_user_agent($r); + $ENV{'browser.type'}=$clientbrowser; + $ENV{'browser.version'}=$clientversion; + $ENV{'browser.mathml'}=$clientmathml; + $ENV{'browser.unicode'}=$clientunicode; + $ENV{'browser.os'}=$clientos; + return OK; } # -------------------------------------------------------------- Not authorized