X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b2bd444f31fd9f294ee0dbc4b9a61b1e8c04055c..409e62021c5c05e0184a61d0692697c10a0b8283:/ikiwiki

diff --git a/ikiwiki b/ikiwiki
index be7f86a45..a10876a96 100755
--- a/ikiwiki
+++ b/ikiwiki
@@ -15,6 +15,7 @@ sub getconfig () { #{{{
 	if (! exists $ENV{WRAPPED_OPTIONS}) {
 		%config=defaultconfig();
 		eval q{use Getopt::Long};
+		Getopt::Long::Configure('pass_through');
 		GetOptions(
 			"setup|s=s" => \$config{setup},
 			"wikiname=s" => \$config{wikiname},
@@ -29,6 +30,7 @@ sub getconfig () { #{{{
 			"rss!" => \$config{rss},
 			"cgi!" => \$config{cgi},
 			"discussion!" => \$config{discussion},
+			"w3mmode!" => \$config{w3mmode},
 			"notify!" => \$config{notify},
 			"url=s" => \$config{url},
 			"cgiurl=s" => \$config{cgiurl},
@@ -37,6 +39,7 @@ sub getconfig () { #{{{
 			"svnrepo" => \$config{svnrepo},
 			"svnpath" => \$config{svnpath},
 			"adminemail=s" => \$config{adminemail},
+			"timeformat=s" => \$config{timeformat},
 			"exclude=s@" => sub {
 				$config{wiki_file_prune_regexp}=qr/$config{wiki_file_prune_regexp}|$_[1]/;
 			},
@@ -56,11 +59,25 @@ sub getconfig () { #{{{
 				push @{$config{plugin}}, $_[1];
 			},
 			"disable-plugin=s@" => sub {
-				$config{plugin}=[grep { $_ ne $_[1] } @{$config{plugin}} ];
+				$config{plugin}=[grep { $_ ne $_[1] } @{$config{plugin}}];
 			},
+			"pingurl" => sub {
+				push @{$config{pingurl}}, $_[1];
+			}
 		) || usage();
 
 		if (! $config{setup}) {
+			loadplugins();
+			if (exists $hooks{getopt}) {
+				foreach my $id (keys %{$hooks{getopt}}) {
+		                        $hooks{getopt}{$id}{call}->();
+				}
+			}
+			if (grep /^-/, @ARGV) {
+				print STDERR "Unknown option: $_\n"
+					foreach grep /^-/, @ARGV;
+				usage();
+			}
 			usage() unless @ARGV == 2;
 			$config{srcdir} = possibly_foolish_untaint(shift @ARGV);
 			$config{destdir} = possibly_foolish_untaint(shift @ARGV);
@@ -74,6 +91,7 @@ sub getconfig () { #{{{
 		if ($@) {
 			error("WRAPPED_OPTIONS: $@");
 		}
+		loadplugins();
 		checkconfig();
 	}
 } #}}}
@@ -101,7 +119,6 @@ sub main () { #{{{
 		loadindex();
 		require IkiWiki::Render;
 		rcs_update();
-		rcs_getctime() if $config{getctime};
 		refresh();
 		rcs_notify() if $config{notify};
 		saveindex();