Changeset 25555
- Timestamp:
- 2012-05-09T14:33:11+12:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/plugins/HTMLPlugin.pm
r24431 r25555 628 628 } 629 629 630 630 $self->{'css_assoc_files'} = {}; 631 631 632 # single section document 632 633 $self->process_section($textref, $upgraded_base_dir, $upgraded_file, $doc_obj, $cursection); 634 635 #my $upgraded_filename_dirname = &File::Basename::dirname($upgraded_filename); 636 637 $self->acquire_css_associated_files($doc_obj, $cursection); 638 639 $self->{'css_assoc_files'} = {}; 633 640 } 634 641 … … 698 705 my $self = shift (@_); 699 706 my ($textref, $base_dir, $file, $doc_obj, $cursection) = @_; 707 708 my @styleTagsText = ($$textref =~ m/<style[^>]*>([^<]*)<\/style>/sg); 709 if(scalar(@styleTagsText) > 0) 710 { 711 my $css_filename_dirname = &File::Basename::dirname(&util::filename_cat($base_dir, $file)); 712 foreach my $styleText (@styleTagsText) 713 { 714 $self->acquire_css_associated_files_from_text_block($styleText, $css_filename_dirname); 715 } 716 } 717 700 718 # trap links 701 719 if (!$self->{'nolinks'}) { … … 797 815 my $self = shift (@_); 798 816 my ($front, $link, $back, $base_dir, $file, $doc_obj, $section) = @_; 799 817 818 if($front =~ m/^<link / && $link =~ m/\.css"$/) 819 { 820 my $actual_link = $link; 821 $actual_link =~ s/^"(.*)"$/$1/; 822 823 my $directory = &File::Basename::dirname($file); 824 825 my $css_filename = &util::filename_cat($base_dir, $directory, $actual_link); 826 $self->retrieve_css_associated_files($css_filename); 827 } 828 800 829 # remove quotes from link at start and end if necessary 801 830 if ($link=~/^[\"\']/) { … … 885 914 return $front . $self->add_file ($href, $rl, $hash_part, $base_dir, $doc_obj, $section) . $back; 886 915 } 916 } 917 918 sub retrieve_css_associated_files { 919 my $self = shift (@_); 920 my ($css_filename) = @_; 921 922 my $css_filename_dirname = &File::Basename::dirname($css_filename); 923 924 open (CSSFILE, $css_filename) || return; 925 sysread (CSSFILE, my $file_string, -s CSSFILE); 926 927 $self->acquire_css_associated_files_from_text_block($file_string, $css_filename_dirname) unless !defined $file_string; 928 929 close CSSFILE; 930 } 931 932 sub acquire_css_associated_files_from_text_block { 933 my $self = shift (@_); 934 my ($text, $css_filename_dirname) = @_; 935 936 my @image_urls = ($text =~ m/background-image:\s*url[^;]*;/sg); 937 foreach my $img_url (@image_urls) 938 { 939 $img_url =~ s/^.*url.*\((.*)\).*$/$1/; 940 $img_url =~ s/^\s*"?([^"]*)"?\s*$/$1/; 941 942 $self->{'css_assoc_files'}->{&util::filename_cat($css_filename_dirname, $img_url)} = $img_url; 943 } 944 } 945 946 sub acquire_css_associated_files { 947 my $self = shift(@_); 948 949 my ($doc_obj, $section) = @_; 950 951 foreach my $image_filename (keys %{$self->{'css_assoc_files'}}) 952 { 953 $doc_obj->associate_file($image_filename, $self->{'css_assoc_files'}->{$image_filename}, undef, $section); 954 } 887 955 } 888 956
Note:
See TracChangeset
for help on using the changeset viewer.