Changeset 1118
- Timestamp:
- 07/21/06 16:18:11
- Files:
-
- trunk/plagger/lib/Plagger/Plugin/Publish/SWF.pm (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/plagger/lib/Plagger/Plugin/Publish/SWF.pm
r1115 r1118 7 7 use Jcode; 8 8 9 10 sub register{ 11 my ($self,$context) = @_; 9 sub register { 10 my($self, $context) = @_; 12 11 $context->register_hook( 13 12 $self, … … 16 15 } 17 16 18 sub feed {19 my ($self,$context,$args) = @_;17 sub feed { 18 my($self, $context, $args) = @_; 20 19 my $dir = $self->conf->{dir} || 'swf'; 21 20 unless (-e $dir && -d _) { 22 21 mkdir $dir, 0755 or $context->error("mkdir $dir: $!"); 23 22 } 23 24 24 my $file = File::Spec->catfile($dir, $args->{feed}->id . ".swf"); 25 my $id = $args->{feed}->id; 26 unless($self->conf->{font}){ 27 $context->error("Error font file $!"); 25 unless ($self->conf->{font}) { 26 $context->error("'font' config is missing"); 28 27 } 29 my $movie = $self->create_stage($context, $args);28 my $movie = $self->create_stage($context, $args); 30 29 $movie->save($file); 31 30 return; 32 31 } 33 32 34 sub convert{ 35 my ($self, $str) = @_; 36 utf8::decode($str) unless utf8::is_utf8($str); 37 return $str; 38 } 39 40 sub create_stage{ 41 my ($self,$context,$args) = @_; 33 sub create_stage { 34 my($self, $context, $args) = @_; 42 35 my $bgcolor = $self->conf->{bgcolor} || 'ffffff'; 43 36 my $width = $self->conf->{width} || 500; … … 98 91 $new_pre_mc->place->name('pre_mc'); 99 92 100 my $page =0;93 my $page = 0; 101 94 for my $entry ($args->{feed}->entries) { 102 95 $page++; 103 $self->create_page($movie,$page,$entry->title,$entry->body );96 $self->create_page($movie,$page,$entry->title,$entry->body_text); 104 97 } 105 98 … … 107 100 } 108 101 109 sub create_page (){110 my ($self,$movie,$page,$title,$body) = @_;102 sub create_page { 103 my($self, $movie, $page, $title, $body) = @_; 111 104 my $font = $self->conf->{font}; 112 105 my $color = $self->conf->{color} || '000000'; … … 114 107 my $body_size = $self->conf->{body_size} || 24; 115 108 116 $title = $self->convert($title);117 118 $body =~ s/<.+?>//g;119 109 $body = $self->linefeed($body); 120 $body = $self->convert($body);121 110 122 111 my $entry_name = 'entry_text'.$page; … … 141 130 } 142 131 143 sub linefeed {144 my ($self,$str,$n)=@_;132 sub linefeed { 133 my($self, $str, $n) = @_; 145 134 my $linefeed = $self->conf->{linefeed} || 30; 146 135 my @line = split "\n",$str; … … 165 154 =head1 SYNOPSIS 166 155 167 - module: Publish::SWF168 config:169 dir: swf170 font: HONYA-JI.ttf171 color: ff0084172 width: 500173 height: 500174 linefeed: 30175 bgcolor: ffffff176 title_size: 32177 body_size: 24156 - module: Publish::SWF 157 config: 158 dir: swf 159 font: HONYA-JI.ttf 160 color: ff0084 161 width: 500 162 height: 500 163 linefeed: 30 164 bgcolor: ffffff 165 title_size: 32 166 body_size: 24 178 167 179 168 =head1 DESCRIPTION
