X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=blosxom.cgi;h=2875b44a6b8917df9f5c4789bf14c44d2a9523ef;hb=085e1915fad00c742f49b5e8d84cae6ca0e07511;hp=2c6b6ee17d1e7e5692668cba4f5be2d3297ff4dd;hpb=2e7cf5294e63848b2f862b9ce828d54994a7ab52;p=matthijs%2Fupstream%2Fblosxom.git diff --git a/blosxom.cgi b/blosxom.cgi index 2c6b6ee..2875b44 100755 --- a/blosxom.cgi +++ b/blosxom.cgi @@ -317,7 +317,14 @@ $entries = # Plugins: Entries # Allow for the first encountered plugin::entries subroutine to override the # default built-in entries subroutine -my $tmp; foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('entries') and defined($tmp = $plugin->entries()) and $entries = $tmp and last; } +foreach my $plugin (@plugins) { + if ( $plugins{$plugin} > 0 and $plugin->can('entries') ) { + if ( my $tmp = $plugin->entries() ) { + $entries = $tmp; + last; + } + } +} my ($files, $indexes, $others) = &$entries(); %indexes = %$indexes; @@ -383,7 +390,9 @@ sub generate { %files = %$files; %others = ref $others ? %$others : (); # Plugins: Filter - foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('filter') and $entries = $plugin->filter(\%files, \%others) } + foreach my $plugin ( @plugins ) { + if ($plugins{$plugin} > 0 and $plugin->can('filter')){ $entries = $plugin->filter(\%files, \%others); } + } my %f = %files; @@ -444,7 +453,7 @@ sub generate { if ( $currentdir =~ /(.*?)([^\/]+)\.(.+)$/ and $2 ne 'index' ) { $currentdir = "$1$2.$file_extension"; - $files{"$datadir/$1$2.$file_extension"} and %f = ( "$datadir/$1$2.$file_extension" => $files{"$datadir/$1$2.$file_extension"} ); + %f = ( "$datadir/$currentdir" => $files{"$datadir/$currentdir"} ) if $files{"$datadir/$currentdir"}; } else { $currentdir =~ s!/index\..+$!!;