]> git.deb.at Git - pkg/blosxom.git/blobdiff - blosxom.cgi
Restores $plugin_dir as the main plugin location. Tries to prevent possible name...
[pkg/blosxom.git] / blosxom.cgi
index 1506f94443e0eabb079bd210cae7066a661d393b..e57ab4bd01bad5ce1fa117a1dc7f9b4d4bd1fbf3 100755 (executable)
@@ -48,17 +48,18 @@ $show_future_entries = 0;
 # --- Plugins (Optional) -----
 
 # File listing plugins blosxom should load
 # --- Plugins (Optional) -----
 
 # File listing plugins blosxom should load
-# (if empty blosxom will load all plugins in $plugin_path directories)
+# (if empty blosxom will load all plugins in $plugin_dir and $plugin_path directories)
 $plugin_list = "";
 
 # Where are my plugins kept?
 $plugin_list = "";
 
 # Where are my plugins kept?
-# List of directories, separated by ';' on windows, ':' everywhere else
-$plugin_path = "";
+$plugin_dir = "";
 
 # Where should my plugins keep their state information?
 
 # Where should my plugins keep their state information?
-$plugin_state_dir = "";
+$plugin_state_dir = "$plugin_dir/state";
 
 
-#$plugin_state_dir = "/var/lib/blosxom/state";
+# Additional plugins location
+# List of directories, separated by ';' on windows, ':' everywhere else
+$plugin_path = "";
 
 # --- Static Rendering -----
 
 
 # --- Static Rendering -----
 
@@ -84,7 +85,6 @@ use strict;
 use FileHandle;
 use File::Find;
 use File::stat;
 use FileHandle;
 use File::Find;
 use File::stat;
-use Time::localtime;
 use Time::Local;
 use CGI qw/:standard :netscape/;
 
 use Time::Local;
 use CGI qw/:standard :netscape/;
 
@@ -245,7 +245,8 @@ while (<DATA>) {
 
 # Plugins: Start
 my $path_sep = $^O eq 'MSWin32' ? ';' : ':';
 
 # Plugins: Start
 my $path_sep = $^O eq 'MSWin32' ? ';' : ':';
-my @plugin_dirs = split /$path_sep/, ( $plugin_path || $plugin_dir );
+my @plugin_dirs = split /$path_sep/, $plugin_path;
+unshift @plugin_dirs, $plugin_dir;
 my @plugin_list = ();
 my %plugin_hash = ();
 
 my @plugin_list = ();
 my %plugin_hash = ();
 
@@ -292,8 +293,10 @@ foreach my $plugin (@plugin_list) {
      # For Blosxom::Plugin::Foo style plugins, we need to use a string require
         eval "require $plugin_name";
     }
      # For Blosxom::Plugin::Foo style plugins, we need to use a string require
         eval "require $plugin_name";
     }
-    else {
-        eval { require $plugin };
+    else
+    { # we try first to load from $plugin_dir before attempting from $plugin_path
+        eval        { require "$plugin_dir/$plugin" }
+            or eval { require $plugin };
     }
 
     if ($@) {
     }
 
     if ($@) {
@@ -692,7 +695,7 @@ sub generate {
 sub nice_date {
     my ($unixtime) = @_;
 
 sub nice_date {
     my ($unixtime) = @_;
 
-    my $c_time = ctime($unixtime);
+    my $c_time = CORE::localtime($unixtime);
     my ( $dw, $mo, $da, $hr, $min, $yr )
         = ( $c_time
             =~ /(\w{3}) +(\w{3}) +(\d{1,2}) +(\d{2}):(\d{2}):\d{2} +(\d{4})$/
     my ( $dw, $mo, $da, $hr, $min, $yr )
         = ( $c_time
             =~ /(\w{3}) +(\w{3}) +(\d{1,2}) +(\d{2}):(\d{2}):\d{2} +(\d{4})$/