diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-05-03 19:58:58 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-05-03 19:58:58 +0000 |
commit | a44bfb158dac9e04647a75bc819a73bc18f5acce (patch) | |
tree | 557f34948ad08be08dc5bdc1d768fe396b861984 /IkiWiki.pm | |
parent | 4ba45ec3fc6d94657e23cecaca27bf4dc5c7c0a5 (diff) | |
download | ikiwiki-a44bfb158dac9e04647a75bc819a73bc18f5acce.tar ikiwiki-a44bfb158dac9e04647a75bc819a73bc18f5acce.tar.gz |
change plugin interface to use named parameters for flexability
Diffstat (limited to 'IkiWiki.pm')
-rw-r--r-- | IkiWiki.pm | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm index e3bdc8d83..9a7b4fe91 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -7,7 +7,7 @@ use File::Spec; use HTML::Template; use vars qw{%config %links %oldlinks %oldpagemtime %pagectime - %renderedfiles %pagesources %depends %plugins}; + %renderedfiles %pagesources %depends %hooks}; sub checkconfig () { #{{{ if ($config{cgi} && ! length $config{url}) { @@ -387,12 +387,14 @@ sub globlist_match ($$) { #{{{ return 0; } #}}} -sub register_plugin ($$$) { # {{{ - my $type=shift; - my $command=shift; - my $function=shift; +sub hook (@) { # {{{ + my %param=@_; - $plugins{$type}{$command}=$function; + if (! exists $param{type} || ! ref $param{call} || ! exists $param{id}) { + error "hook requires type, call, and id parameters"; + } + + $hooks{$param{type}}{$param{id}}=\%param; } # }}} 1 |