--- loncom/auth/lonacc.pm 2005/12/14 16:50:59 1.71 +++ loncom/auth/lonacc.pm 2006/04/07 22:42:00 1.75 @@ -1,7 +1,7 @@ # The LearningOnline Network # Cookie Based Access Handler # -# $Id: lonacc.pm,v 1.71 2005/12/14 16:50:59 www Exp $ +# $Id: lonacc.pm,v 1.75 2006/04/07 22:42:00 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -38,6 +38,19 @@ use Apache::lonlocal; use CGI::Cookie(); use Fcntl qw(:flock); +sub cleanup { + my ($r)=@_; + if (! $r->is_initial_req()) { return DECLINED; } + &Apache::lonnet::save_cache(); + return OK; +} + +sub goodbye { + my ($r)=@_; + &Apache::lonnet::goodbye(); + return DONE; +} + sub handler { my $r = shift; my $requrl=$r->uri; @@ -128,6 +141,7 @@ sub handler { if ((&Apache::loncommon::fileembstyle($1) eq 'ssi') || ($requrl=~/^\/adm\/.*\/(aboutme|navmaps|smppg|bulletinboard)(\?|$)/) || ($requrl=~/^\/adm\/wrapper\//) || + ($requrl=~m|^/adm/coursedocs/showdoc/|) || ($requrl=~m|\.problem/smpedit$|) || ($requrl=~/^\/public\/.*\/syllabus$/)) { # ------------------------------------- This is serious stuff, get symb and log @@ -138,7 +152,8 @@ sub handler { } if ($env{'form.symb'}) { $symb=&Apache::lonnet::symbclean($env{'form.symb'}); - if ($requrl =~ m|^/adm/wrapper/|) { + if ($requrl =~ m|^/adm/wrapper/| + || $requrl =~ m|^/adm/coursedocs/showdoc/|) { my ($map,$mid,$murl)=&Apache::lonnet::decode_symb($symb); &Apache::lonnet::symblist($map,$murl => [$murl,$mid], 'last_known' =>[$murl,$mid]); @@ -146,7 +161,7 @@ sub handler { (($requrl=~m|(.*)/smpedit$|) && &Apache::lonnet::symbverify($symb,$1))) { my ($map,$mid,$murl)=&Apache::lonnet::decode_symb($symb); - &Apache::lonnet::symblist($map,$murl => [$murl,$mid], + &Apache::lonnet::symblist($map,$murl => [$murl,$mid], 'last_known' =>[$murl,$mid]); } else { $r->log_reason('Invalid symb for '.$requrl.': '. @@ -180,8 +195,8 @@ sub handler { } return OK; } else { - $r->log_reason("Cookie $handle not valid", $r->filename) - }; + $r->log_reason("Cookie $handle not valid", $r->filename); + } } # -------------------------------------------- See if this is a public resource