required => [qw{editcontent}],
javascript => 0,
params => $q,
- action => $config{cgiurl},
+ action => IkiWiki::cgiurl(),
header => 0,
table => 0,
template => { template("editpage.tmpl") },
# This untaint is safe because we check file_pruned and
# wiki_file_regexp.
my ($page)=$form->field('page')=~/$config{wiki_file_regexp}/;
- $page=possibly_foolish_untaint($page);
- my $absolute=($page =~ s#^/+##); # absolute name used to force location
if (! defined $page || ! length $page ||
file_pruned($page)) {
error(gettext("bad page name"));
}
+ $page=possibly_foolish_untaint($page);
+ my $absolute=($page =~ s#^/+##); # absolute name used to force location
- my $baseurl = urlto($page, undef, 1);
+ my $baseurl = urlto($page);
my $from;
if (defined $form->field('from')) {
my $previewing=0;
if ($form->submitted eq "Cancel") {
if ($form->field("do") eq "create" && defined $from) {
- redirect($q, urlto($from, undef));
+ redirect($q, urlto($from));
}
elsif ($form->field("do") eq "create") {
redirect($q, baseurl(undef));
}
else {
- redirect($q, urlto($page, undef));
+ redirect($q, $baseurl);
}
exit;
}
@page_locs=$page;
}
else {
- redirect($q, urlto($page, undef));
+ redirect($q, $baseurl);
exit;
}
}
value => $best_loc);
$form->field(name => "type", type => 'select',
options => \@page_types);
- $form->title(sprintf(gettext("creating %s"), pagetitle($page)));
+ $form->title(sprintf(gettext("creating %s"), pagetitle(basename($page))));
}
elsif ($form->field("do") eq "edit") {
$form->tmpl_param("page_select", 0);
$form->field(name => "page", type => 'hidden');
$form->field(name => "type", type => 'hidden');
- $form->title(sprintf(gettext("editing %s"), pagetitle($page)));
+ $form->title(sprintf(gettext("editing %s"), pagetitle(basename($page))));
}
- showform($form, \@buttons, $session, $q,
- forcebaseurl => $baseurl, page => $page);
+ showform($form, \@buttons, $session, $q, page => $page);
}
else {
# save page
$form->field(name => "type", type => 'hidden');
$form->title(sprintf(gettext("editing %s"), $page));
showform($form, \@buttons, $session, $q,
- forcebaseurl => $baseurl, page => $page);
+ page => $page);
exit;
}
elsif ($form->field("do") eq "create" && $exists) {
"\n\n\n".$form->field("editcontent"),
force => 1);
showform($form, \@buttons, $session, $q,
- forcebaseurl => $baseurl, page => $page);
+ page => $page);
exit;
}
$form->field(name => "type", type => 'hidden');
$form->title(sprintf(gettext("editing %s"), $page));
showform($form, \@buttons, $session, $q,
- forcebaseurl => $baseurl, page => $page);
+ page => $page);
exit;
}
$form->field(name => "type", type => 'hidden');
$form->title(sprintf(gettext("editing %s"), $page));
showform($form, \@buttons, $session, $q,
- forcebaseurl => $baseurl, page => $page);
+ page => $page);
}
else {
# The trailing question mark tries to avoid broken
# caches and get the most recent version of the page.
- redirect($q, urlto($page, undef)."?updated");
+ redirect($q, $baseurl."?updated");
}
}