Diff for /loncom/interface/londocs.pm between versions 1.197 and 1.198

version 1.197, 2005/07/26 13:30:34 version 1.198, 2005/07/26 16:41:43
Line 782  sub replicate_content { Line 782  sub replicate_content {
         $$message = 'Could not determine name of file for '.$symb."<br />\n";          $$message = 'Could not determine name of file for '.$symb."<br />\n";
     }      }
     if ($repstatus eq 'ok') {      if ($repstatus eq 'ok') {
         $content_name = $count.'/'.$filename;          $content_name = 'resources/'.$count.'/'.$filename;
     }      }
     return $content_name;      return $content_name;
 }  }
   
 sub extract_media {  sub extract_media {
     my ($url,$cdom,$cnum,$content,$count,$tempexport,$href,$message,$caller) = @_;      my ($url,$cdom,$cnum,$content,$count,$tempexport,$href,$message,$caller) = @_;
       my ($dirpath,$container);
     my %allfiles = ();      my %allfiles = ();
     my %codebase = ();      my %codebase = ();
     $url =~ s#([^/]+)$##;      if ($url =~ m-(.*/)([^/]+)$-) {
           $dirpath = $1;
           $container = $2;
       } else {
           $dirpath = $url;
           $container = '';
       }
     &Apache::lonnet::extract_embedded_items(undef,undef,\%allfiles,\%codebase,$content);      &Apache::lonnet::extract_embedded_items(undef,undef,\%allfiles,\%codebase,$content);
     foreach my $embed_file (keys(%allfiles)) {      foreach my $embed_file (keys(%allfiles)) {
         my $filename;          my $filename;
Line 809  sub extract_media { Line 816  sub extract_media {
             if ($embed_file =~ m-https?://-) {              if ($embed_file =~ m-https?://-) {
                 next;                           # points to url                  next;                           # points to url
             } else {              } else {
                 $embed_url = $url.$embed_file;  # points to relative path                  $embed_url = $dirpath.$embed_file;  # points to relative path
             }              }
         }          }
         if ($caller eq 'resource') {          if ($caller eq 'resource') {
Line 832  sub extract_media { Line 839  sub extract_media {
             my $copiedfile;              my $copiedfile;
             if ($copiedfile = Apache::File->new('>'.$destination)) {              if ($copiedfile = Apache::File->new('>'.$destination)) {
                 print $copiedfile $embed_content;                  print $copiedfile $embed_content;
                 push @{$href}, .'resources/'.$count.'/res/'.$filename;                  push @{$href}, 'resources/'.$count.'/res/'.$filename;
                 my $attrib_regexp = '';                  my $attrib_regexp = '';
                 if (@{$allfiles{$embed_file}} > 1) {                  if (@{$allfiles{$embed_file}} > 1) {
                     $attrib_regexp = join('|',@{$allfiles{$embed_file}});                      $attrib_regexp = join('|',@{$allfiles{$embed_file}});
Line 840  sub extract_media { Line 847  sub extract_media {
                     $attrib_regexp = $allfiles{$embed_file}[0];                      $attrib_regexp = $allfiles{$embed_file}[0];
                 }                  }
                 $$content =~ s#($attrib_regexp\s*=\s*['"]?)\Q$embed_file\E(['"]?)#$1$newname$2#gi;                  $$content =~ s#($attrib_regexp\s*=\s*['"]?)\Q$embed_file\E(['"]?)#$1$newname$2#gi;
                 if ($caller eq 'resource' && $url =~ /\.(problem|library)$/) {                  if ($caller eq 'resource' && $container =~ /\.(problem|library)$/) {
                     $$content =~ s#\Q$embed_file\E#$newname#gi;                      $$content =~ s#\Q$embed_file\E#$newname#gi;
                 }                  }
             }              }
Line 868  sub store_template { Line 875  sub store_template {
                 close($storetemplate);                  close($storetemplate);
             }              }
             if ($content_type eq 'external') {              if ($content_type eq 'external') {
                 return $count.'/'.$content_type.'.html';                  return 'resources/'.$count.'/'.$content_type.'.html';
             } else {              } else {
                 return $count.'/'.$content_type.'.xml';                  return 'resources/'.$count.'/'.$content_type.'.xml';
             }              }
         }          }
     }      }

Removed from v.1.197  
changed lines
  Added in v.1.198


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