another sub, wow
parent
5513fb4654
commit
0943c375d4
|
@ -24,7 +24,7 @@ sub setup_standard {
|
|||
my %startconfig=(%config);
|
||||
foreach my $wrapper (@{$setup{wrappers}}) {
|
||||
%config=(%startconfig, verbose => 0, %setup, %{$wrapper});
|
||||
checkoptions();
|
||||
checkconfig();
|
||||
gen_wrapper();
|
||||
}
|
||||
%config=(%startconfig);
|
||||
|
@ -36,7 +36,7 @@ sub setup_standard {
|
|||
}
|
||||
$config{rebuild}=1;
|
||||
|
||||
checkoptions();
|
||||
checkconfig();
|
||||
lockwiki();
|
||||
refresh();
|
||||
|
||||
|
|
27
ikiwiki
27
ikiwiki
|
@ -2,13 +2,12 @@
|
|||
|
||||
$ENV{PATH}="/usr/local/bin:/usr/bin:/bin";
|
||||
|
||||
use lib '.'; # For use without installation, removed by Makefile.
|
||||
|
||||
package IkiWiki;
|
||||
use warnings;
|
||||
use strict;
|
||||
use File::Spec;
|
||||
use HTML::Template;
|
||||
use lib '.'; # For use without installation, removed by Makefile.
|
||||
|
||||
use vars qw{%config %links %oldlinks %oldpagemtime %renderedfiles %pagesources};
|
||||
|
||||
|
@ -37,7 +36,7 @@ our %config=( #{{{
|
|||
adminuser => undef,
|
||||
); #}}}
|
||||
|
||||
# option parsing #{{{
|
||||
sub getconfig () { #{{{
|
||||
if (! exists $ENV{WRAPPED_OPTIONS}) {
|
||||
eval q{use Getopt::Long};
|
||||
GetOptions(
|
||||
|
@ -45,7 +44,6 @@ if (! exists $ENV{WRAPPED_OPTIONS}) {
|
|||
"wikiname=s" => \$config{wikiname},
|
||||
"verbose|v!" => \$config{verbose},
|
||||
"rebuild!" => \$config{rebuild},
|
||||
"wrapper:s" => sub { $config{wrapper}=$_[1] ? $_[1] : "ikiwiki-wrap" },
|
||||
"wrappermode=i" => \$config{wrappermode},
|
||||
"svn!" => \$config{svn},
|
||||
"anonok!" => \$config{anonok},
|
||||
|
@ -57,26 +55,33 @@ if (! exists $ENV{WRAPPED_OPTIONS}) {
|
|||
"exclude=s@" => sub {
|
||||
$config{wiki_file_prune_regexp}=qr/$config{wiki_file_prune_regexp}|$_[1]/;
|
||||
},
|
||||
"adminuser=s@" => sub { push @{$config{adminuser}}, $_[1] },
|
||||
"templatedir=s" => sub { $config{templatedir}=possibly_foolish_untaint($_[1]) },
|
||||
"adminuser=s@" => sub {
|
||||
push @{$config{adminuser}}, $_[1]
|
||||
},
|
||||
"templatedir=s" => sub {
|
||||
$config{templatedir}=possibly_foolish_untaint($_[1])
|
||||
},
|
||||
"wrapper:s" => sub {
|
||||
$config{wrapper}=$_[1] ? $_[1] : "ikiwiki-wrap"
|
||||
},
|
||||
) || usage();
|
||||
|
||||
if (! $config{setup}) {
|
||||
usage() unless @ARGV == 2;
|
||||
$config{srcdir} = possibly_foolish_untaint(shift);
|
||||
$config{destdir} = possibly_foolish_untaint(shift);
|
||||
checkoptions();
|
||||
checkconfig();
|
||||
}
|
||||
}
|
||||
else {
|
||||
# wrapper passes a full config structure in the environment
|
||||
# variable
|
||||
eval possibly_foolish_untaint($ENV{WRAPPED_OPTIONS});
|
||||
checkoptions();
|
||||
checkconfig();
|
||||
}
|
||||
#}}}
|
||||
} #}}}
|
||||
|
||||
sub checkoptions { #{{{
|
||||
sub checkconfig { #{{{
|
||||
if ($config{cgi} && ! length $config{url}) {
|
||||
error("Must specify url to wiki with --url when using --cgi");
|
||||
}
|
||||
|
@ -425,6 +430,8 @@ sub globlist_match ($$) { #{{{
|
|||
} #}}}
|
||||
|
||||
sub main () { #{{{
|
||||
getconfig();
|
||||
|
||||
if ($config{setup}) {
|
||||
require IkiWiki::Setup;
|
||||
setup();
|
||||
|
|
Loading…
Reference in New Issue