Diff for /rat/lonwrapper.pm between versions 1.57 and 1.60

version 1.57, 2017/02/25 19:39:10 version 1.60, 2017/04/25 22:19:03
Line 42  use LONCAPA qw(:DEFAULT :match);; Line 42  use LONCAPA qw(:DEFAULT :match);;
   
 # ================================================================ Main Handler  # ================================================================ Main Handler
 sub wrapper {  sub wrapper {
     my ($url,$brcrum,$absolute,$is_ext,$is_pdf,$exttool,$title) = @_;      my ($url,$brcrum,$absolute,$is_ext,$is_pdf,$exttool,$linktext,$explanation,$title) = @_;
   
     my $forcereg;      my $forcereg;
     unless ($env{'form.folderpath'}) {      unless ($env{'form.folderpath'}) {
Line 100  sub wrapper { Line 100  sub wrapper {
             }              }
             $output .= '<a href="'.$url.'">'.&mt('Link to PDF (for mobile devices)').'</a>';              $output .= '<a href="'.$url.'">'.&mt('Link to PDF (for mobile devices)').'</a>';
         } elsif ($exttool eq 'window') {          } elsif ($exttool eq 'window') {
               if ($linktext eq '') {
                   $linktext = &mt('Launch External Tool');
               }
             $output .= '<div>'.              $output .= '<div>'.
                        '<a href="'.$url.'" target="LC_LTI" style="padding:0;clear:both;margin:0;border:0">'.                         '<a href="'.$url.'" target="LC_LTI" style="padding:0;clear:both;margin:0;border:0">'.
                        &mt('Launch External Tool').'</a>'.                         $linktext.'</a>'.
                        '</div>';                         '</div>';
               if ($explanation ne '') {
                   $output .= '<div>'.$explanation.'</div>';
               }
         } else {          } else {
             $output .= '<div style="overflow:scroll; -webkit-overflow-scrolling:touch;">'."\n".              $output .= '<div style="overflow:scroll; -webkit-overflow-scrolling:touch;">'."\n".
                        '<iframe src="'.$url.$anchor.'" height="100%" width="100%" frameborder="0">'."\n".                         '<iframe src="'.$url.$anchor.'" height="100%" width="100%" frameborder="0">'."\n".
Line 164  sub handler { Line 170  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,$brcrum,$absolute,$is_pdf,$exttool,$cdom,$cnum);      my ($is_ext,$brcrum,$absolute,$is_pdf,$exttool,$cdom,$cnum,$hostname,
           $linktext,$explanation);
   
     for ($url){      for ($url){
         s|^/adm/wrapper||;          s|^/adm/wrapper||;
Line 181  sub handler { Line 188  sub handler {
         $cnum = $2;          $cnum = $2;
         my $marker = $3;          my $marker = $3;
         $exttool = 'iframe';          $exttool = 'iframe';
         my %toolhash = &Apache::lonnet::get('exttool_'.$marker,['target'],$cdom,$cnum);          my %toolhash = &Apache::lonnet::get('exttool_'.$marker,['target','linktext','explanation'],
                                               $cdom,$cnum);
         if ($toolhash{'target'} eq 'window') {          if ($toolhash{'target'} eq 'window') {
            $exttool = 'window';               $exttool = 'window'; 
               $linktext = $toolhash{'linktext'}; 
               $explanation = $toolhash{'explanation'};
         }          }
     }      }
     if (($is_ext) || ($exttool)) {      if (($is_ext) || ($exttool)) {
Line 204  sub handler { Line 214  sub handler {
                 }                  }
             }              }
             my $type = 'ext';              my $type = 'ext';
             my %ltitools;  
             if ($exttool) {              if ($exttool) {
                 $type = 'tool';                  $type = 'tool';
                 %ltitools = &Apache::lonnet::get_domain_ltitools($cdom);              } elsif (($url =~ /^http:/) && ($ENV{'SERVER_PORT'} == 443)) {
                   $hostname = $r->hostname();
             }              }
             $r->print(              $r->print(
                 &Apache::lonextresedit::display_editor($url,$env{'form.folderpath'},                  &Apache::lonextresedit::display_editor($url,$env{'form.folderpath'},
                                                        $env{'form.symb'},                                                         $env{'form.symb'},
                                                        $env{'form.idx'},$type,$cdom,                                                         $env{'form.idx'},$type,$cdom,
                                                        $cnum,\%ltitools));                                                         $cnum,$hostname));
             return OK;              return OK;
         } elsif ($env{'form.folderpath'} =~ /^supplemental/) {          } elsif ($env{'form.folderpath'} =~ /^supplemental/) {
             my $crstype = &Apache::loncommon::course_type();              my $crstype = &Apache::loncommon::course_type();
Line 254  sub handler { Line 264  sub handler {
         }          }
   
         # encrypt url if not external          # encrypt url if not external
         unless ($is_ext || $exttool) {          unless ($is_ext) {
             &Apache::lonenc::check_encrypt(\$url);              &Apache::lonenc::check_encrypt(\$url);
         }          }
   
         $r->print( wrapper($url,$brcrum,$absolute,$is_ext,$is_pdf,$exttool) );          $r->print( wrapper($url,$brcrum,$absolute,$is_ext,$is_pdf,$exttool,$linktext,$explanation) );
   
     } # not just the menu      } # not just the menu
           

Removed from v.1.57  
changed lines
  Added in v.1.60


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