X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fupstream%2Fblosxom.git;a=blobdiff_plain;f=blosxom.cgi;h=7fff46341709f41d608f3e0a8650911322c4adc2;hp=f2861dba1797d411111252dd2f7bf44aedfe3162;hb=ed43f9cbb775f818ea14ed642f9f386a6283c000;hpb=2f585f8b41e5414917fd5b76c557e80474f6e4f2 diff --git a/blosxom.cgi b/blosxom.cgi index f2861db..7fff463 100755 --- a/blosxom.cgi +++ b/blosxom.cgi @@ -379,7 +379,16 @@ sub generate { # Plugins: Skip # Allow plugins to decide if we can cut short story generation - my $skip; foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('skip') and defined($tmp = $plugin->skip()) and $skip = $tmp and last; } + my $skip; + foreach my $plugin (@plugins) { + if ( $plugins{$plugin} > 0 and $plugin->can('skip') ) { + if ( my $tmp = $plugin->skip() ) { + $skip = $tmp; + last; + } + } + } + # Define default interpolation subroutine $interpolate = @@ -396,13 +405,24 @@ sub generate { # Plugins: Interpolate # Allow for the first encountered plugin::interpolate subroutine to # override the default built-in interpolate subroutine - my $tmp; foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('interpolate') and defined($tmp = $plugin->interpolate()) and $interpolate = $tmp and last; } + foreach my $plugin (@plugins) { + if ( $plugins{$plugin} > 0 and $plugin->can('interpolate') ) { + if ( my $tmp = $plugin->interpolate() ) { + $interpolate = $tmp; + last; + } + } + } # Head my $head = (&$template($currentdir,'head',$flavour)); # Plugins: Head - foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('head') and $entries = $plugin->head($currentdir, \$head) } + foreach my $plugin (@plugins) { + if ( $plugins{$plugin} > 0 and $plugin->can('head') ) { + $entries = $plugin->head( $currentdir, \$head ); + } + } $head = &$interpolate($head);