--- rat/lonambiguous.pm 2005/03/01 00:22:57 1.15 +++ rat/lonambiguous.pm 2006/03/19 23:09:07 1.19 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to resolve ambiguous file locations # -# $Id: lonambiguous.pm,v 1.15 2005/03/01 00:22:57 albertel Exp $ +# $Id: lonambiguous.pm,v 1.19 2006/03/19 23:09:07 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -44,6 +44,7 @@ sub cleanup { &Apache::lonnet::logthis('Failed cleanup ambiguous: bighash'); } } + return OK; } # ----------------------------------------------------------- Could not resolve @@ -53,11 +54,9 @@ sub getlost { $errmsg=&mt($errmsg); &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; - $r->print( - 'Unknown Error'. - &Apache::loncommon::bodytag('Could not handle ambiguous resource reference'). - $errmsg. - ''); + $r->print(&Apache::loncommon::start_page('Could not handle ambiguous resource reference'). + $errmsg. + &Apache::loncommon::end_page()); } # ================================================================ Main Handler @@ -82,11 +81,11 @@ sub handler { # ---------------------------------------------------------- Is this selecting? - if ($ENV{'form.selecturl'}) { + if ($env{'form.selecturl'}) { my $envkey; - if (tie(%bighash,'GDBM_File',$ENV{'request.course.fn'}.'.db', + if (tie(%bighash,'GDBM_File',$env{'request.course.fn'}.'.db', &GDBM_READER(),0640)) { - foreach $envkey (keys %ENV) { + foreach $envkey (keys %env) { if ($envkey=~/^form\.(\d+)\.(\d+)$/) { # ---------------------------------------------------- Update symb and redirect my $mapid=$1; @@ -110,7 +109,7 @@ sub handler { # ---------------------------------------------------------- Do we have a case? my $thisfn; - unless (($thisfn=$ENV{'request.ambiguous'})&&($ENV{'request.course.fn'})) { + unless (($thisfn=$env{'request.ambiguous'})&&($env{'request.course.fn'})) { &getlost($r,'Could not find information on resource.'); return OK; } @@ -121,7 +120,7 @@ sub handler { my %hash; my $syval=''; - if (tie(%hash,'GDBM_File',$ENV{'request.course.fn'}.'_symb.db', + if (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db', &GDBM_READER(),0640)) { $syval=$hash{$thisfn}; untie(%hash); @@ -145,14 +144,14 @@ sub handler { } } # ------------------------------------Encrypted requests go straight to navmaps - if ($ENV{'request.enc'}) { + 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', + if (tie(%bighash,'GDBM_File',$env{'request.course.fn'}.'.db', &GDBM_READER(),0640)) { # ---------------------------------------------- Get ID(s) for current resource my $ids=$bighash{'ids_'.&Apache::lonnet::clutter($thisfn)}; @@ -188,11 +187,10 @@ sub handler { # ----------------------------------------------- Okay, really multiple choices &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; - my $bodytag= - &Apache::loncommon::bodytag('Pick Instance of Resource'); + my $start_page= + &Apache::loncommon::start_page('Pick Instance of Resource'); $r->print(<Choose Location -$bodytag +$start_page The resource you had been accessing appears more than once in this course, and LON-CAPA has insufficient session information to determine which instance of the resource you meant. @@ -212,7 +210,7 @@ ENDSTART &Apache::lonnet::gettitle($mapurl).' '. ''); } @possibilities; - $r->print(''); + $r->print(''.&Apache::loncommon::end_page()); untie(%bighash); return OK; }