]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/external.pm
web commit by http://id.loopysoft.com/matt/: Ignore my stupid choices for paths
[git.ikiwiki.info.git] / IkiWiki / Plugin / external.pm
index 9c31a70eba89edd5e4f5ba9ad2ef6ccc72e29c8d..8d1baa5874c4d79c2aac1e874a8fa0b4a5a495f8 100644 (file)
@@ -20,7 +20,8 @@ sub import { #{{{
        return unless defined $plugin;
 
        my ($plugin_read, $plugin_write);
-       my $pid = open2($plugin_read, $plugin_write, $plugin);
+       my $pid = open2($plugin_read, $plugin_write,
+               IkiWiki::possibly_foolish_untaint($plugin));
 
        # open2 doesn't respect "use open ':utf8'"
        binmode($plugin_read, ':utf8');
@@ -131,6 +132,24 @@ sub setvar ($$$;@) { #{{{
        return $ret;
 } #}}}
 
+sub getstate ($$$$) { #{{{
+       my $plugin=shift;
+       my $page=shift;
+       my $id=shift;
+       my $key=shift;
+
+       return $IkiWiki::pagestate{$page}{$id}{$key};
+} #}}}
+
+sub setstate ($$$$;@) { #{{{
+       my $plugin=shift;
+       my $page=shift;
+       my $id=shift;
+       my $key=shift;
+
+       return $IkiWiki::pagestate{$page}{$id}{$key}=@_;
+} #}}}
+
 sub inject ($@) { #{{{
        # Bind a given perl function name to a particular RPC request.
        my $plugin=shift;