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'; |
} |
} |
} |
} |
} |
} |