--- rat/lonwrapper.pm 2003/02/07 22:53:13 1.7 +++ rat/lonwrapper.pm 2012/11/27 23:45:15 1.42 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Wrapper for external and binary files as standalone resources # -# $Id: lonwrapper.pm,v 1.7 2003/02/07 22:53:13 albertel Exp $ +# $Id: lonwrapper.pm,v 1.42 2012/11/27 23:45:15 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -25,57 +25,189 @@ # # http://www.lon-capa.org/ # -# (Edit Handler for RAT Maps -# (TeX Content Handler -# -# 05/29/00,05/30 Gerd Kortemeyer) -# 7/1,6/30 Gerd Kortemeyer) -# -# 7/5 Gerd Kortemeyer + package Apache::lonwrapper; use strict; use Apache::Constants qw(:common); -use Apache::lonnet(); -use Apache::lonxml(); +use Apache::lonenc(); +use Apache::lonnet; +use Apache::lonlocal; +use Apache::loncommon(); +use Apache::lonhtmlcommon(); +use Apache::lonextresedit(); # ================================================================ Main Handler +sub wrapper { + my ($url,$brcrum) = @_; -sub handler { - my $r=shift; - $r->content_type('text/html'); - $r->send_http_header; - - return OK if $r->header_only; - - my $url=$r->uri; - $url=~s/^\/adm\/wrapper//; - $url=~s/^\/ext\//http\:\/\//; - if ($url=~/^\/uploaded\//) { - $url=&Apache::lonnet::tokenwrapper($url); - } - $url.='?'.$ENV{'QUERY_STRING'}; #reappend the query arguments - my $events='onLoad="'.&Apache::lonxml::loadevents. - '" onUnload="'.&Apache::lonxml::unloadevents.'"'; - my $script=&Apache::lonxml::registerurl(1,undef); - $r->print(< - -$script - - - - - - -ENDDOCUMENT - return OK; + my $forcereg; + unless ($env{'form.folderpath'}) { + $forcereg = 1; + } + + my $args = {'bgcolor' => '#FFFFFF'}; + if ($forcereg) { + $args->{'force_register'} = $forcereg; + } + if (ref($brcrum) eq 'ARRAY') { + $args->{'bread_crumbs'} = $brcrum; + } + + my $startpage = Apache::loncommon::start_page('Menu',undef,$args); + my $endpage = Apache::loncommon::end_page(); + + my $script = Apache::lonhtmlcommon::scripttag(<