updates
parent
00c6f9e5cb
commit
04a9dbfe7d
|
@ -478,20 +478,13 @@ sub cgi_editpage ($$) { #{{{
|
||||||
$content=~s/\r/\n/g;
|
$content=~s/\r/\n/g;
|
||||||
writefile($file, $config{srcdir}, $content);
|
writefile($file, $config{srcdir}, $content);
|
||||||
|
|
||||||
my $message="web commit ";
|
|
||||||
if (defined $session->param("name") &&
|
|
||||||
length $session->param("name")) {
|
|
||||||
$message.="by ".$session->param("name");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$message.="from $ENV{REMOTE_ADDR}";
|
|
||||||
}
|
|
||||||
if (defined $form->field('comments') &&
|
|
||||||
length $form->field('comments')) {
|
|
||||||
$message.=": ".$form->field('comments');
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($config{rcs}) {
|
if ($config{rcs}) {
|
||||||
|
my $message="";
|
||||||
|
if (defined $form->field('comments') &&
|
||||||
|
length $form->field('comments')) {
|
||||||
|
$message=$form->field('comments');
|
||||||
|
}
|
||||||
|
|
||||||
if ($newfile) {
|
if ($newfile) {
|
||||||
rcs_add($file);
|
rcs_add($file);
|
||||||
}
|
}
|
||||||
|
@ -500,7 +493,8 @@ sub cgi_editpage ($$) { #{{{
|
||||||
# presumably the commit will trigger an update
|
# presumably the commit will trigger an update
|
||||||
# of the wiki
|
# of the wiki
|
||||||
my $conflict=rcs_commit($file, $message,
|
my $conflict=rcs_commit($file, $message,
|
||||||
$form->field("rcsinfo"));
|
$form->field("rcsinfo"),
|
||||||
|
$session->param("name"), $ENV{REMOTE_ADDR});
|
||||||
|
|
||||||
if (defined $conflict) {
|
if (defined $conflict) {
|
||||||
$form->field(name => "rcsinfo", value => rcs_prepedit($file),
|
$form->field(name => "rcsinfo", value => rcs_prepedit($file),
|
||||||
|
|
|
@ -94,8 +94,11 @@ sub preprocess_toggleable (@) { #{{{
|
||||||
my $id=genid($params{page}, $params{id});
|
my $id=genid($params{page}, $params{id});
|
||||||
|
|
||||||
# Should really be a postprocessor directive, oh well. Work around
|
# Should really be a postprocessor directive, oh well. Work around
|
||||||
# markdown's dislike of markdown inside a <div>.
|
# markdown's dislike of markdown inside a <div> with various funky
|
||||||
return "<div class=\"toggleable\" id=\"$id\"></div>\n\n$params{text}\n<div class=\"toggleableend\"></div>";
|
# whitespace.
|
||||||
|
my ($indent)=$params{text}=~/( +)$/;
|
||||||
|
$indent="" unless defined $indent;
|
||||||
|
return "<div class=\"toggleable\" id=\"$id\"></div>\n\n$params{text}\n$indent<div class=\"toggleableend\"></div>";
|
||||||
} # }}}
|
} # }}}
|
||||||
|
|
||||||
sub format (@) { #{{{
|
sub format (@) { #{{{
|
||||||
|
|
|
@ -20,7 +20,7 @@ sub rcs_prepedit ($) {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
sub rcs_commit ($$$) {
|
sub rcs_commit ($$$;$$) {
|
||||||
# Tries to commit the page; returns undef on _success_ and
|
# Tries to commit the page; returns undef on _success_ and
|
||||||
# a version of the page with the rcs's conflict markers on failure.
|
# a version of the page with the rcs's conflict markers on failure.
|
||||||
# The file is relative to the srcdir.
|
# The file is relative to the srcdir.
|
||||||
|
|
|
@ -294,12 +294,19 @@ sub rcs_prepedit ($) { #{{{
|
||||||
return git_sha1($file);
|
return git_sha1($file);
|
||||||
} #}}}
|
} #}}}
|
||||||
|
|
||||||
sub rcs_commit ($$$) { #{{{
|
sub rcs_commit ($$$;$$) { #{{{
|
||||||
# Try to commit the page; returns undef on _success_ and
|
# Try to commit the page; returns undef on _success_ and
|
||||||
# a version of the page with the rcs's conflict markers on
|
# a version of the page with the rcs's conflict markers on
|
||||||
# failure.
|
# failure.
|
||||||
|
|
||||||
my ($file, $message, $rcstoken) = @_;
|
my ($file, $message, $rcstoken, $user, $ipaddr) = @_;
|
||||||
|
|
||||||
|
if (defined $user) {
|
||||||
|
$message="web commit by $user".(length $message ? ": $message" : "");
|
||||||
|
}
|
||||||
|
elsif (defined $ipaddr) {
|
||||||
|
$message="web commit from $ipaddr".(length $message ? ": $message" : "");
|
||||||
|
}
|
||||||
|
|
||||||
# XXX: Wiki directory is in the unlocked state when starting this
|
# XXX: Wiki directory is in the unlocked state when starting this
|
||||||
# action. But it takes time for a Git process to finish its job
|
# action. But it takes time for a Git process to finish its job
|
||||||
|
|
|
@ -66,7 +66,14 @@ sub rcs_prepedit ($) { #{{{
|
||||||
} #}}}
|
} #}}}
|
||||||
|
|
||||||
sub rcs_commit ($$$) { #{{{
|
sub rcs_commit ($$$) { #{{{
|
||||||
my ($file, $message, $rcstoken) = @_;
|
my ($file, $message, $rcstoken, $user, $ipaddr) = @_;
|
||||||
|
|
||||||
|
if (defined $user) {
|
||||||
|
$message="web commit by $user".(length $message ? ": $message" : "");
|
||||||
|
}
|
||||||
|
elsif (defined $ipaddr) {
|
||||||
|
$message="web commit from $ipaddr".(length $message ? ": $message" : "");
|
||||||
|
}
|
||||||
|
|
||||||
$message = possibly_foolish_untaint($message);
|
$message = possibly_foolish_untaint($message);
|
||||||
|
|
||||||
|
|
|
@ -60,13 +60,22 @@ sub rcs_prepedit ($) { #{{{
|
||||||
}
|
}
|
||||||
} #}}}
|
} #}}}
|
||||||
|
|
||||||
sub rcs_commit ($$$) { #{{{
|
sub rcs_commit ($$$;$$) { #{{{
|
||||||
# Tries to commit the page; returns undef on _success_ and
|
# Tries to commit the page; returns undef on _success_ and
|
||||||
# a version of the page with the rcs's conflict markers on failure.
|
# a version of the page with the rcs's conflict markers on failure.
|
||||||
# The file is relative to the srcdir.
|
# The file is relative to the srcdir.
|
||||||
my $file=shift;
|
my $file=shift;
|
||||||
my $message=shift;
|
my $message=shift;
|
||||||
my $rcstoken=shift;
|
my $rcstoken=shift;
|
||||||
|
my $user=shift;
|
||||||
|
my $ipaddr=shift;
|
||||||
|
|
||||||
|
if (defined $user) {
|
||||||
|
$message="web commit by $user".(length $message ? ": $message" : "");
|
||||||
|
}
|
||||||
|
elsif (defined $ipaddr) {
|
||||||
|
$message="web commit from $ipaddr".(length $message ? ": $message" : "");
|
||||||
|
}
|
||||||
|
|
||||||
if (-d "$config{srcdir}/.svn") {
|
if (-d "$config{srcdir}/.svn") {
|
||||||
# Check to see if the page has been changed by someone
|
# Check to see if the page has been changed by someone
|
||||||
|
|
|
@ -38,10 +38,19 @@ sub rcs_prepedit ($) { #{{{
|
||||||
}
|
}
|
||||||
} #}}}
|
} #}}}
|
||||||
|
|
||||||
sub rcs_commit ($$$) { #{{{
|
sub rcs_commit ($$$;$$) { #{{{
|
||||||
my $file=shift;
|
my $file=shift;
|
||||||
my $message=shift;
|
my $message=shift;
|
||||||
my $rcstoken=shift;
|
my $rcstoken=shift;
|
||||||
|
my $user=shift;
|
||||||
|
my $ipaddr=shift;
|
||||||
|
|
||||||
|
if (defined $user) {
|
||||||
|
$message="web commit by $user".(length $message ? ": $message" : "");
|
||||||
|
}
|
||||||
|
elsif (defined $ipaddr) {
|
||||||
|
$message="web commit from $ipaddr".(length $message ? ": $message" : "");
|
||||||
|
}
|
||||||
|
|
||||||
if (-d "$config{srcdir}/{arch}") {
|
if (-d "$config{srcdir}/{arch}") {
|
||||||
# Check to see if the page has been changed by someone
|
# Check to see if the page has been changed by someone
|
||||||
|
|
|
@ -40,8 +40,11 @@ ikiwiki (1.34) UNRELEASED; urgency=low
|
||||||
* Daemonize before sending commit mails, as that can also take a long
|
* Daemonize before sending commit mails, as that can also take a long
|
||||||
time/hang if the mail server is unhappy.
|
time/hang if the mail server is unhappy.
|
||||||
* Factor out commit mail sending code into new function.
|
* Factor out commit mail sending code into new function.
|
||||||
|
* Change rcs_commit, it is now passed the name of the user doing the commit
|
||||||
|
and their IP address, and needs to construct its own commit message
|
||||||
|
containing them, or do something more appropriate for the given RCS.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Tue, 21 Nov 2006 19:25:14 -0500
|
-- Joey Hess <joeyh@debian.org> Wed, 22 Nov 2006 09:08:37 -0500
|
||||||
|
|
||||||
ikiwiki (1.33) unstable; urgency=low
|
ikiwiki (1.33) unstable; urgency=low
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,8 @@ Thanks! --[[Joey]]
|
||||||
"""]]
|
"""]]
|
||||||
|
|
||||||
* [[Setup]] has a tutorial for setting up ikiwiki, and [[Usage]] documents
|
* [[Setup]] has a tutorial for setting up ikiwiki, and [[Usage]] documents
|
||||||
the parameters and usage of the ikiwiki program.
|
the parameters and usage of the ikiwiki program. There are some
|
||||||
|
[[examples]] of things you can do with ikiwiki.
|
||||||
|
|
||||||
* [[Security]] lists potential security problems. ikiwiki is still being
|
* [[Security]] lists potential security problems. ikiwiki is still being
|
||||||
developed, and is being written with security as a priority, so don't
|
developed, and is being written with security as a priority, so don't
|
||||||
|
|
Loading…
Reference in New Issue