Diff for /loncom/xml/scripttag.pm between versions 1.164 and 1.165

version 1.164, 2011/12/23 19:38:01 version 1.165, 2012/02/05 23:00:06
Line 126  sub start_script { Line 126  sub start_script {
       if ($target ne "meta" && $target ne 'tex' && $target ne 'answer') {        if ($target ne "meta" && $target ne 'tex' && $target ne 'answer') {
   $result = $token->[4];    $result = $token->[4];
   $result.=$bodytext;    $result.=$bodytext;
             if ($type eq "text/javascript") {
                 my $src=&Apache::lonxml::get_param('src',$parstack,$safeeval,undef,1);
                 if (($src =~ /\.js$/) && ($src !~ m{^(/|https?://)})) {
                     my ($path,$scriptname) = ($src =~ m{^(.+)/([^/]*)$});
                     my $docuri =
                         $Apache::lonnet::env{'request.noversionuri'};
                     my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
                     my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
                     if ($docuri =~ m{^(\Q/uploaded/$cdom/$cnum\E)/(docs/.*/)[^/]+$}) {
                         my $prefix = $1;
                         my $relpath = $2;
                         my $cleanrelpath;
                         foreach my $dir (split(/\//,$relpath.$path)) {
                             next if ($dir eq '.');
                             if ($dir eq '..') {
                                 $cleanrelpath =~ s{([^/]+/)$}{};
                             } else {
                                 $cleanrelpath .= $dir.'/';
                             }
                         }
                         $cleanrelpath =~ s{/$}{};
                         if ($cleanrelpath ne '') {
                             $src = $prefix.'/'.$cleanrelpath.'/'.$scriptname;
                         } else {
                             $src = $prefix.'/'.$scriptname;
                         }
                         if ($src ne '') {
                             &Apache::lonxml::extlink($src);
                         }
                     }
                 }
             }
       }        }
   }    }
   return $result;    return $result;

Removed from v.1.164  
changed lines
  Added in v.1.165


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