Diff for /rat/lonwrapper.pm between versions 1.41 and 1.42

version 1.41, 2011/11/07 20:06:29 version 1.42, 2012/11/27 23:45:15
Line 33  use strict; Line 33  use strict;
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
 use Apache::lonenc();  use Apache::lonenc();
 use Apache::lonnet;  use Apache::lonnet;
   use Apache::lonlocal;
   use Apache::loncommon();
   use Apache::lonhtmlcommon();
   use Apache::lonextresedit();
   
 # ================================================================ Main Handler  # ================================================================ Main Handler
 sub wrapper {  sub wrapper {
     my $url = shift;      my ($url,$brcrum) = @_;
   
     my $startpage =  Apache::loncommon::start_page('Menu',undef,      my $forcereg;
   { 'force_register' =>1, 'bgcolor'   => '#FFFFFF',}) ;      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 $endpage =  Apache::loncommon::end_page();
   
     my $script = Apache::lonhtmlcommon::scripttag(<<SCRIPT );      my $script = Apache::lonhtmlcommon::scripttag(<<SCRIPT );
     \$(document).ready( function() {      \$(document).ready( function() {
         \$(window).unbind('resize').resize(function(){          \$(window).unbind('resize').resize(function(){
             var header = \$('.LC_head_subbox')[0] ?  \$('.LC_head_subbox')               var header;
                                                   :  \$('#LC_breadcrumbs');              var offset = 5;
             var pos = header.height() + header.position().top + 5;              var height = 0;
               var hdrtop = 0;
               if (\$('div.LC_head_subbox:first').length) {
                   header = \$('div.LC_head_subbox:first');
                   offset = 9;
               } else {
                   if (\$('#LC_breadcrumbs').length) {
                       header = \$('#LC_breadcrumbs');
                   }
               }
               if (header.length) {
                   height = header.height();
                   hdrtop = header.position().top;
               }
               var pos = height + hdrtop + offset;
             \$('.LC_iframecontainer').css('top', pos);              \$('.LC_iframecontainer').css('top', pos);
         });          });
     });      });
Line 73  sub handler { Line 103  sub handler {
     return OK if $r->header_only;      return OK if $r->header_only;
   
     my $url = $r->uri;      my $url = $r->uri;
     my $is_ext;      my ($is_ext,$brcrum);
   
     for ($url){      for ($url){
         s|^/adm/wrapper||;          s|^/adm/wrapper||;
Line 82  sub handler { Line 112  sub handler {
         s|&colon;|:|g;                        s|&colon;|:|g;              
     }      }
   
       if ($is_ext) {
           &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
               ['forceedit','register','folderpath','symb','idx','title']);
           if (($env{'form.forceedit'}) &&
               (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) &&
               (($env{'form.folderpath'} =~ /^supplemental/) ||
                ($env{'form.symb'} =~ /^uploaded/))) {
               $r->print(
                   &Apache::lonextresedit::display_editor($url,$env{'form.folderpath'},
                                                          $env{'form.symb'},
                                                          $env{'form.idx'}));
               return OK;
           } elsif ($env{'form.folderpath'} =~ /^supplemental/) {
               my $crstype = &Apache::loncommon::course_type();
               $brcrum =
                   &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$env{'form.title'},1);
               if (ref($brcrum) eq 'ARRAY') {
                   my $last = $env{'form.title'};
                   if ($last eq '') {
                       $last = &mt('External Resource');
                   }
                   push(@{$brcrum},
                            {'title' => $last,
                             'text' => $last,
                             'no_mt' => 1,
                            });
   
               }
           }
       }
   
 #  #
 # Actual URL  # Actual URL
 #  #
Line 97  sub handler { Line 158  sub handler {
 #  #
         if ($is_ext) {          if ($is_ext) {
             $ENV{'QUERY_STRING'} =~ s/(^|\&)symb=[^\&]*/$1/;              $ENV{'QUERY_STRING'} =~ s/(^|\&)symb=[^\&]*/$1/;
             $ENV{'QUERY_STRING'} =~ s/\&$//;                $ENV{'QUERY_STRING'} =~ s/\&$//;
         }          }
   
         unless ($ENV{'QUERY_STRING'} eq '') {          unless ($ENV{'QUERY_STRING'} eq '') {
Line 107  sub handler { Line 168  sub handler {
         # encrypt url if not external          # encrypt url if not external
         &Apache::lonenc::check_encrypt(\$url) if $url !~ /^https?\:/ ;          &Apache::lonenc::check_encrypt(\$url) if $url !~ /^https?\:/ ;
   
         $r->print( wrapper($url) );          $r->print( wrapper($url,$brcrum) );
   
     } # not just the menu      } # not just the menu
           
Line 134  described at http://www.lon-capa.org. Line 195  described at http://www.lon-capa.org.
   
 =over  =over
   
 =item wrapper($url)  =item wrapper($url,$brcrum)
   
 Wraps $url in an iframe and generates a page for it.  Wraps $url in an iframe and generates a page for it.
   $brcrum contains breadcrumbs for unregistered urls
   (i.e., external resources in Supplemental Content).
 Returns markup for the entire page.  Returns markup for the entire page.
   
 =item handler()  =item handler()

Removed from v.1.41  
changed lines
  Added in v.1.42


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>