--- rat/lonambiguous.pm 2006/02/07 19:46:08 1.17 +++ rat/lonambiguous.pm 2008/11/11 16:06:46 1.22 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to resolve ambiguous file locations # -# $Id: lonambiguous.pm,v 1.17 2006/02/07 19:46:08 albertel Exp $ +# $Id: lonambiguous.pm,v 1.22 2008/11/11 16:06:46 jms Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,6 +26,42 @@ # http://www.lon-capa.org/ # + +=head1 NAME + +Apache::lonambiguous + +=head1 SYNOPSIS + +Handler to resolve ambiguous file locations. + +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. + +=head1 HANDLER SUBROUTINE + +make_symb() + +and + +handler() + +=head1 OTHER SUBROUTINES + +=over + +=item * + +cleanup() + +=item * + +getlost() + +=back + +=cut + package Apache::lonambiguous; use strict; @@ -54,11 +90,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 @@ -97,7 +131,7 @@ sub handler { $resurl => [$resurl,$resid]); untie(%bighash); $r->header_out(Location => - 'http://'.$ENV{'HTTP_HOST'}.$resurl); + &Apache::lonnet::absolute_url().$resurl); return REDIRECT; } } @@ -136,7 +170,7 @@ sub handler { # ----------------------------------- Okay, this should have appeared on a page &Apache::loncommon::content_type($r,'text/html'); $r->header_out(Location => - 'http://'.$ENV{'HTTP_HOST'}. + &Apache::lonnet::absolute_url(). &Apache::lonnet::clutter($page)); return REDIRECT; } else { @@ -148,7 +182,8 @@ sub handler { # ------------------------------------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'); + $r->header_out(Location => + &Apache::lonnet::absolute_url().'/adm/navmaps'); return REDIRECT; } # ------------------------------------------------ Would be standalone resource @@ -180,20 +215,19 @@ sub handler { 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); + &Apache::lonnet::absolute_url(). + $resurl.'?symb='.$symb); return REDIRECT; } if ($#possibilities>0) { # ----------------------------------------------- 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. @@ -213,7 +247,7 @@ ENDSTART &Apache::lonnet::gettitle($mapurl).' '. ''); } @possibilities; - $r->print(''); + $r->print(''.&Apache::loncommon::end_page()); untie(%bighash); return OK; }