X-Git-Url: https://git.deb.at/?p=pkg%2Fblosxom.git;a=blobdiff_plain;f=blosxom.cgi;h=7d1daef0b598073b65a05ab06be62f13c31b029e;hp=f4666d06e90dc5b73121862d0336f6b495a804e6;hb=335c5f8674af60403941e13ec7937b3f23bd9431;hpb=d6ed37922ac9f1f8dffc136bbcf6618c3b74a03d diff --git a/blosxom.cgi b/blosxom.cgi index f4666d0..7d1daef 100755 --- a/blosxom.cgi +++ b/blosxom.cgi @@ -258,7 +258,14 @@ shift @INC foreach @plugin_dirs; # Plugins: Template # Allow for the first encountered plugin::template subroutine to override the # default built-in template subroutine -my $tmp; foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('template') and defined($tmp = $plugin->template()) and $template = $tmp and last; } +foreach my $plugin (@plugins) { + if ( $plugins{$plugin} > 0 and $plugin->can('template') ) { + if ( my $tmp = $plugin->template() ) { + $template = $tmp; + last; + } + } +} # Provide backward compatibility for Blosxom < 2.0rc1 plug-ins sub load_template { @@ -381,7 +388,11 @@ else { } # Plugins: End -foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('end') and $entries = $plugin->end() } +foreach my $plugin (@plugins) { + if ( $plugins{$plugin} > 0 and $plugin->can('end') ) { + $entries = $plugin->end(); + } +} # Generate sub generate { @@ -453,7 +464,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\..+$!!; @@ -505,11 +516,20 @@ sub generate { my $date = (&$template($path,'date',$flavour)); # Plugins: Date - foreach my $plugin ( @plugins ) { $plugins{$plugin} > 0 and $plugin->can('date') and $entries = $plugin->date($currentdir, \$date, $files{$path_file}, $dw,$mo,$mo_num,$da,$ti,$yr) } + foreach my $plugin (@plugins) { + if ( $plugins{$plugin} > 0 and $plugin->can('date') ) { + $entries + = $plugin->date( $currentdir, \$date, $files{$path_file}, $dw, + $mo, $mo_num, $da, $ti, $yr ); + } + } $date = &$interpolate($date); - $curdate ne $date and $curdate = $date and $output .= $date; + if ( $date && $curdate ne $date ) { + $curdate = $date; + $output .= $date; + } use vars qw/ $title $body $raw /; if (-f "$path_file" && $fh->open("< $path_file")) {