--- rat/lonpageflip.pm 2006/10/20 19:42:28 1.72 +++ rat/lonpageflip.pm 2008/12/21 05:00:52 1.75.2.1 @@ -2,7 +2,7 @@ # # Page flip handler # -# $Id: lonpageflip.pm,v 1.72 2006/10/20 19:42:28 albertel Exp $ +# $Id: lonpageflip.pm,v 1.75.2.1 2008/12/21 05:00:52 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -240,11 +240,17 @@ sub first_accessible_resource { if (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'.db', &GDBM_READER(),0640)) { $furl=$hash{'first_url'}; - if (!&Apache::lonnet::allowed('bre',$furl)) { + my %args; + my ($url,$args) = split(/\?/,$furl); + foreach my $pair (split(/\&/,$args)) { + my ($name,$value) = split(/=/,$pair); + $args{&unescape($name)} = &unescape($value); + } + if (!&Apache::lonnet::allowed('bre',$url,$args{'symb'})) { # Wow, we cannot see this ... move forward to the next one that we can see my ($newrid,$newmap)=&move($hash{'first_rid'},$hash{'first_mapurl'},'forward'); # Build the new URL - my ($newresid,$newmapid)=split(/\./,$newrid); + my ($newmapid,$newresid)=split(/\./,$newrid); my $symb=&Apache::lonnet::encode_symb($newmap,$newresid,$hash{'src_'.$newrid}); $furl=&add_get_param($hash{'src_'.$newrid},{ 'symb' => $symb }); if ($hash{'encrypted_'.$newrid}) { @@ -329,7 +335,7 @@ sub handler { return REDIRECT; } } - $currenturl=~s/^http\:\/\///; + $currenturl=~s/^https?\:\/\///; $currenturl=~s/^[^\/]+//; # # Is the current URL on the map? If not, start with last known URL @@ -438,7 +444,7 @@ sub handler { $redirectsymb=''; } } - &Apache::lonnet::appenv('user.criticalcheck.time'=>time); + &Apache::lonnet::appenv({'user.criticalcheck.time'=>time}); } &Apache::loncommon::content_type($r,'text/html');