]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki.pm
rebuild detection
[git.ikiwiki.info.git] / IkiWiki.pm
index bfa85343d26e173d6648fc9da2314a8202903629..a2b4d8d80db321374ed4bd92085263d8ef954554 100644 (file)
@@ -13,7 +13,8 @@ use open qw{:utf8 :std};
 
 use vars qw{%config %links %oldlinks %pagemtime %pagectime %pagecase
            %pagestate %renderedfiles %oldrenderedfiles %pagesources
 
 use vars qw{%config %links %oldlinks %pagemtime %pagectime %pagecase
            %pagestate %renderedfiles %oldrenderedfiles %pagesources
-           %destsources %depends %hooks %forcerebuild $gettext_obj};
+           %destsources %depends %hooks %forcerebuild $gettext_obj
+           %loaded_plugins};
 
 use Exporter q{import};
 our @EXPORT = qw(hook debug error template htmlpage add_depends pagespec_match
 
 use Exporter q{import};
 our @EXPORT = qw(hook debug error template htmlpage add_depends pagespec_match
@@ -91,7 +92,7 @@ sub getsetup () { #{{{
                type => "string",
                default => '',
                example => "/var/www/wiki/ikiwiki.cgi",
                type => "string",
                default => '',
                example => "/var/www/wiki/ikiwiki.cgi",
-               description => "cgi executable to generate",
+               description => "cgi wrapper to generate",
                safe => 0, # file
                rebuild => 0,
        },
                safe => 0, # file
                rebuild => 0,
        },
@@ -284,6 +285,13 @@ sub getsetup () { #{{{
                safe => 0, # regexp
                rebuild => 1,
        },
                safe => 0, # regexp
                rebuild => 1,
        },
+       banned_users => {
+               type => "string",
+               default => [],
+               description => "users who cannot use the wiki",
+               safe => 1,
+               rebuild => 0,
+       },
        wiki_file_prune_regexps => {
                type => "internal",
                default => [qr/(^|\/)\.\.(\/|$)/, qr/^\./, qr/\/\./,
        wiki_file_prune_regexps => {
                type => "internal",
                default => [qr/(^|\/)\.\.(\/|$)/, qr/^\./, qr/\/\./,
@@ -479,6 +487,7 @@ sub loadplugin ($) { #{{{
                if (defined $dir && -x "$dir/plugins/$plugin") {
                        require IkiWiki::Plugin::external;
                        import IkiWiki::Plugin::external "$dir/plugins/$plugin";
                if (defined $dir && -x "$dir/plugins/$plugin") {
                        require IkiWiki::Plugin::external;
                        import IkiWiki::Plugin::external "$dir/plugins/$plugin";
+                       $loaded_plugins{$plugin}=1;
                        return 1;
                }
        }
                        return 1;
                }
        }
@@ -488,6 +497,7 @@ sub loadplugin ($) { #{{{
        if ($@) {
                error("Failed to load plugin $mod: $@");
        }
        if ($@) {
                error("Failed to load plugin $mod: $@");
        }
+       $loaded_plugins{$plugin}=1;
        return 1;
 } #}}}
 
        return 1;
 } #}}}