save to real setup file, and rebuild/refresh
parent
9802fbee40
commit
bf8558f346
|
@ -236,6 +236,10 @@ sub showform ($$) { #{{{
|
||||||
error(gettext("you are not logged in as an admin"));
|
error(gettext("you are not logged in as an admin"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! exists $config{setupfile}) {
|
||||||
|
error(gettext("setup file for this wiki is not known"));
|
||||||
|
}
|
||||||
|
|
||||||
eval q{use CGI::FormBuilder};
|
eval q{use CGI::FormBuilder};
|
||||||
error($@) if $@;
|
error($@) if $@;
|
||||||
|
|
||||||
|
@ -399,19 +403,40 @@ sub showform ($$) { #{{{
|
||||||
$form->reset(0); # doesn't really make sense here
|
$form->reset(0); # doesn't really make sense here
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$form->field(name => "rebuild_asked", type => "hidden",
|
IkiWiki::Setup::dump($config{setupfile});
|
||||||
value => 0, force => 1);
|
|
||||||
# TODO save to real path
|
|
||||||
IkiWiki::Setup::dump("/tmp/s");
|
|
||||||
$form->text(gettext("Setup saved."));
|
|
||||||
|
|
||||||
|
IkiWiki::saveindex();
|
||||||
|
IkiWiki::unlockwiki();
|
||||||
|
|
||||||
|
# Print the top part of a standard misctemplate,
|
||||||
|
# then show the rebuild or refresh.
|
||||||
|
my $divider="xxx";
|
||||||
|
my $html=IkiWiki::misctemplate("setup", $divider);
|
||||||
|
IkiWiki::printheader($session);
|
||||||
|
my ($head, $tail)=split($divider, $html, 2);
|
||||||
|
print $head."<pre>\n";
|
||||||
|
|
||||||
|
my @command;
|
||||||
if ($form->submitted eq 'Rebuild Wiki') {
|
if ($form->submitted eq 'Rebuild Wiki') {
|
||||||
# TODO rebuild
|
@command=("ikiwiki", "-setup", $config{setupfile},
|
||||||
|
"-rebuild", "-v");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
# TODO refresh wiki and wrappers
|
@command=("ikiwiki", "-setup", $config{setupfile},
|
||||||
|
"-refresh", "-wrappers", "-v");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $ret=system(@command);
|
||||||
|
print "\n<pre>";
|
||||||
|
if ($ret != 0) {
|
||||||
|
print '<p class="error">'.
|
||||||
|
sprintf(gettext("<p class=\"error\">Error: %s exited nonzero (%s)"),
|
||||||
|
join(" ", @command), $ret).
|
||||||
|
'</p>';
|
||||||
|
}
|
||||||
|
|
||||||
|
print $tail;
|
||||||
|
exit 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue