]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/pinger.pm
Merge commit 'upstream/master' into pub/master
[git.ikiwiki.info.git] / IkiWiki / Plugin / pinger.pm
index c6fa76e3f8fde2652e7703e50b84f03f1a1ff829..043b074a7986d8e23ac3d8f0ede649f9e289c6c9 100644 (file)
@@ -9,12 +9,28 @@ my %pages;
 my $pinged=0;
 
 sub import { #{{{
 my $pinged=0;
 
 sub import { #{{{
+       hook(type => "getsetup", id => "pinger", call => \&getsetup);
        hook(type => "needsbuild", id => "pinger", call => \&needsbuild);
        hook(type => "preprocess", id => "ping", call => \&preprocess);
        hook(type => "delete", id => "pinger", call => \&ping);
        hook(type => "change", id => "pinger", call => \&ping);
 } # }}}
 
        hook(type => "needsbuild", id => "pinger", call => \&needsbuild);
        hook(type => "preprocess", id => "ping", call => \&preprocess);
        hook(type => "delete", id => "pinger", call => \&ping);
        hook(type => "change", id => "pinger", call => \&ping);
 } # }}}
 
+sub getsetup () { #{{{
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => 0,
+               },
+               pinger_timeout => {
+                       type => "integer",
+                       example => 15,
+                       description => "how many seconds to try pinging before timing out",
+                       safe => 1,
+                       rebuild => 0,
+               },
+} #}}}
+
 sub needsbuild (@) { #{{{
        my $needsbuild=shift;
        foreach my $page (keys %pagestate) {
 sub needsbuild (@) { #{{{
        my $needsbuild=shift;
        foreach my $page (keys %pagestate) {
@@ -34,7 +50,7 @@ sub needsbuild (@) { #{{{
 sub preprocess (@) { #{{{
        my %params=@_;
        if (! exists $params{from} || ! exists $params{to}) {
 sub preprocess (@) { #{{{
        my %params=@_;
        if (! exists $params{from} || ! exists $params{to}) {
-               return "[[ping ".gettext("requires 'from' and 'to' parameters")."]]";
+               error gettext("requires 'from' and 'to' parameters");
        }
        if ($params{from} eq $config{url}) {
                $pagestate{$params{destpage}}{pinger}{$params{to}}=1;
        }
        if ($params{from} eq $config{url}) {
                $pagestate{$params{destpage}}{pinger}{$params{to}}=1;