[wellwell-devel] [wellwell] Add support for Wiki formatter options.

Stefan Hornburg wellwell-devel at rt.icdevgroup.org
Wed Jun 9 10:57:39 UTC 2010


commit 502ea64ba9dce08ddc58b26940300622dc2882ab
Author: Stefan Hornburg (Racke) <racke at linuxia.de>
Date:   Wed Jun 9 12:57:19 2010 +0200

    Add support for Wiki formatter options.

 lib/Vend/Wiki.pm    |   14 +++++++++++---
 plugins/wiki/README |   11 +++++++++++
 2 files changed, 22 insertions(+), 3 deletions(-)
---
diff --git a/lib/Vend/Wiki.pm b/lib/Vend/Wiki.pm
index 93da09b..91aa21e 100644
--- a/lib/Vend/Wiki.pm
+++ b/lib/Vend/Wiki.pm
@@ -514,7 +514,8 @@ sub load_formatter {
 		$edit_prefix = join($Global::UrlSepChar, '?action=edit', 'page=');
 		$fmt->{object} = $fmt->{class}->new (store => $self->{store},
 											 node_prefix => '?page=',
-											 edit_prefix => $edit_prefix);
+											 edit_prefix => $edit_prefix,
+											 %{$fmt->{options}});
 	};
 	if ($@) {
 		die "Failed to instantiate $fmt->{class}: $@\n";
@@ -607,7 +608,7 @@ sub parse_wiki {
 	}
 	elsif ($param eq 'formatter') {
 		# add to our list of formatters
-		my $class;
+		my ($class, %options);
 		
 		if ($value =~ /::/) {
 			# formatter with different namespace, breakout name
@@ -622,8 +623,15 @@ sub parse_wiki {
 		unless (exists $C->{$item}->{$name}->{$param}->{hash}->{$value}) {
 			push(@{$C->{$item}->{$name}->{$param}->{array}}, $value);
 		}
+
+		# possible additional parameters for the constructor
+		for (@args) {
+			my ($opt_name, $opt_value) = split(/=/, $_, 2);
+
+			$options{$opt_name} = $opt_value;
+		}
 		
-		$C->{$item}->{$name}->{$param}->{hash}->{$value} = {class => $class};
+		$C->{$item}->{$name}->{$param}->{hash}->{$value} = {class => $class, options => \%options};
 	}
 	elsif ($param eq 'plugin') {
 		# add to our list of plugins
diff --git a/plugins/wiki/README b/plugins/wiki/README
index 7ae63ea..f4dfec5 100644
--- a/plugins/wiki/README
+++ b/plugins/wiki/README
@@ -9,6 +9,17 @@ Wiki wiki dbname wiki
 Wiki wiki dbuser __SQLUSER__
 Wiki wiki dbpass __SQLPASS__
 
+Formatter
+---------
+
+Specify the formatter:
+
+Wiki wiki formatter UseMod
+
+Specify the formatter along with constructor option:
+
+Wiki wiki formatter UseMod extended_links=1
+
 Front page
 ----------
 



More information about the wellwell-devel mailing list