decode_cgi_utf8($q);
- my @fields=qw(do rcsinfo subpage from page type editcontent comments);
+ my @fields=qw(do rcsinfo subpage from page type editcontent editmessage);
my @buttons=("Save Page", "Preview", "Cancel");
eval q{use CGI::FormBuilder};
error($@) if $@;
required => [qw{editcontent}],
javascript => 0,
params => $q,
- action => $config{cgiurl},
+ action => IkiWiki::cgiurl(),
header => 0,
table => 0,
template => { template("editpage.tmpl") },
error(gettext("bad page name"));
}
- my $baseurl = urlto($page, undef, 1);
+ my $baseurl = urlto($page);
my $from;
if (defined $form->field('from')) {
$form->field(name => "subpage", type => 'hidden');
$form->field(name => "page", value => $page, force => 1);
$form->field(name => "type", value => $type, force => 1);
- $form->field(name => "comments", type => "text", size => 80);
+ $form->field(name => "editmessage", type => "text", size => 80);
$form->field(name => "editcontent", type => "textarea", rows => 20,
cols => 80);
$form->tmpl_param("can_commit", $config{rcs});
my $previewing=0;
if ($form->submitted eq "Cancel") {
if ($form->field("do") eq "create" && defined $from) {
- redirect($q, urlto($from, undef, 1));
+ redirect($q, urlto($from));
}
elsif ($form->field("do") eq "create") {
- redirect($q, $config{url});
+ redirect($q, baseurl(undef));
}
else {
- redirect($q, urlto($page, undef, 1));
+ redirect($q, $baseurl);
}
exit;
}
@page_locs=$page;
}
else {
- redirect($q, urlto($page, undef, 1));
+ 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,
- ($previewing ? (page => $page) : ()),
- );
+ forcebaseurl => $baseurl, 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);
+ forcebaseurl => $baseurl, 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);
+ forcebaseurl => $baseurl, page => $page);
exit;
}
my $message="";
- if (defined $form->field('comments') &&
- length $form->field('comments')) {
- $message=$form->field('comments');
+ if (defined $form->field('editmessage') &&
+ length $form->field('editmessage')) {
+ $message=$form->field('editmessage');
}
my $content=$form->field('editcontent');
$form->field(name => "type", type => 'hidden');
$form->title(sprintf(gettext("editing %s"), $page));
showform($form, \@buttons, $session, $q,
- forcebaseurl => $baseurl);
+ forcebaseurl => $baseurl, page => $page);
exit;
}
# signaling to it that it should not try to
# do anything.
disable_commit_hook();
- $conflict=rcs_commit($file, $message,
- $form->field("rcsinfo"),
- $session->param("name"), $ENV{REMOTE_ADDR});
+ $conflict=rcs_commit(
+ file => $file,
+ message => $message,
+ token => $form->field("rcsinfo"),
+ session => $session,
+ );
enable_commit_hook();
rcs_update();
}
$form->field(name => "type", type => 'hidden');
$form->title(sprintf(gettext("editing %s"), $page));
showform($form, \@buttons, $session, $q,
- forcebaseurl => $baseurl);
+ forcebaseurl => $baseurl, 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, 1)."?updated");
+ redirect($q, $baseurl."?updated");
}
}