--- rat/lonwrapper.pm 2006/09/29 18:35:42 1.24 +++ rat/lonwrapper.pm 2009/10/21 23:29:10 1.35 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Wrapper for external and binary files as standalone resources # -# $Id: lonwrapper.pm,v 1.24 2006/09/29 18:35:42 albertel Exp $ +# $Id: lonwrapper.pm,v 1.35 2009/10/21 23:29:10 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,6 +26,7 @@ # http://www.lon-capa.org/ # + package Apache::lonwrapper; use strict; @@ -52,23 +53,13 @@ sub simple_menu { sub wrapper { my ($topurl,$bottomurl) = @_; - if ($env{'browser.interface'} eq 'textual') { -# -# ssi-based rendering for text-based interface -# - return - &Apache::loncommon::start_page('Menu',undef, - {'bgcolor' => '#FFFFFF', - 'force_register' => 1, - }). - &Apache::lonnet::ssi_body($bottomurl). - &Apache::loncommon::end_page(); - } - - my %layout = ('border' => 0); if ($env{'environment.remote'} eq 'off') { - $layout{'rows'} = "180,*"; + if ($env{'environment.icons'} eq 'iconsonly') { + $layout{'rows'} = "100,*"; + } else { + $layout{'rows'} = "200,*"; + } } else { $layout{'rows'} = "1,*"; $topurl = "/adm/rat/empty.html"; @@ -84,7 +75,7 @@ sub wrapper { &Apache::loncommon::end_page({'frameset' => 1}); foreach my $url ($topurl,$bottomurl) { - if ($url !~ /^http:/) { + if ($url !~ /^https?\:/) { $url = &Apache::lonenc::check_encrypt($url); } } @@ -122,7 +113,8 @@ sub handler { $orgurl.=(($orgurl=~/\?/)?'&':'?').'wrapperdisplay=menu'; $url=~s/^\/adm\/wrapper//; my $is_ext = $url =~ m|^/ext/|; - $url=~s/^\/ext\//http\:\/\//; + $url=~s{^/ext/}{http://}; + $url=~s|http://https://|https://|; $url=~s|:|:|g; # # Actual URL @@ -139,8 +131,11 @@ sub handler { # if ($is_ext) { $ENV{'QUERY_STRING'}=~s/(^|\&)symb=[^\&]*/$1/; + $ENV{'QUERY_STRING'} =~ s/\&$//; } - $url.=(($url=~/\?/)?'&':'?').$ENV{'QUERY_STRING'}; + unless ($ENV{'QUERY_STRING'} eq '') { + $url.=(($url=~/\?/)?'&':'?').$ENV{'QUERY_STRING'}; + } # reappend the query arguments $r->print(&wrapper($orgurl,$url)); } # not just the menu @@ -150,6 +145,33 @@ sub handler { 1; __END__ +=pod + +=head1 NAME + +Apache::lonwrapper - External and binary file management. + +=head1 SYNOPSIS + +Wrapper for external and binary files as standalone resources. Edit handler for rat maps; TeX content handler. + +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. + +=head1 Subroutines + +=over + +=item simple_menu() + +=item wrapper() + +=item handler() + +=back + +=cut +