aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2012-03-28 18:38:37 -0400
committerJoey Hess <joey@kitenet.net>2012-03-28 18:38:37 -0400
commit1916f974722ff509e44c16b4c07c054ef9a11f96 (patch)
tree5086fa98454dc48ced0d848fc588d4c25d129ca7
parente07b876486ec523e232aff8674135f8d867e6dad (diff)
downloadikiwiki-1916f974722ff509e44c16b4c07c054ef9a11f96.tar
ikiwiki-1916f974722ff509e44c16b4c07c054ef9a11f96.tar.gz
integrate comments plugin with notifyemail
-rw-r--r--IkiWiki/Plugin/comments.pm19
-rw-r--r--templates/editcomment.tmpl3
2 files changed, 19 insertions, 3 deletions
diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm
index 91a482ed6..c2b2d919d 100644
--- a/IkiWiki/Plugin/comments.pm
+++ b/IkiWiki/Plugin/comments.pm
@@ -301,7 +301,8 @@ sub editcomment ($$) {
my @buttons = (POST_COMMENT, PREVIEW, CANCEL);
my $form = CGI::FormBuilder->new(
- fields => [qw{do sid page subject editcontent type author url}],
+ fields => [qw{do sid page subject editcontent type author
+ url subscribe}],
charset => 'utf-8',
method => 'POST',
required => [qw{editcontent}],
@@ -346,7 +347,15 @@ sub editcomment ($$) {
$form->field(name => "type", value => $type, force => 1,
type => 'select', options => \@page_types);
- $form->tmpl_param(username => $session->param('name'));
+ my $username=$session->param('name');
+ $form->tmpl_param(username => $username);
+ if (defined $username && IkiWiki::Plugin::notifyemail->can("subscribe")) {
+ $form->field(name => "subscribe",
+ options => [gettext("email replies to me")]);
+ }
+ else {
+ $form->field(name => "subscribe", type => 'hidden');
+ }
if ($config{comments_allowauthor} and
! defined $session->param('name')) {
@@ -490,6 +499,12 @@ sub editcomment ($$) {
if ($form->submitted eq POST_COMMENT && $form->validate) {
IkiWiki::checksessionexpiry($cgi, $session);
+
+ if (defined $username && length $form->field("subscribe") &&
+ IkiWiki::Plugin::notifyemail->can("subscribe")) {
+ IkiWiki::Plugin::notifyemail::subscribe($username,
+ "comment($page)");
+ }
$postcomment=1;
my $ok=IkiWiki::check_content(content => $form->field('editcontent'),
diff --git a/templates/editcomment.tmpl b/templates/editcomment.tmpl
index a2edc691e..17c65624e 100644
--- a/templates/editcomment.tmpl
+++ b/templates/editcomment.tmpl
@@ -22,7 +22,8 @@
<TMPL_VAR FIELD-SUBJECT><br />
<label for="editcontent" class="block">Comment:</label>
<TMPL_VAR FIELD-EDITCONTENT><br />
-<TMPL_VAR FORM-SUBMIT> <TMPL_VAR FIELD-TYPE> <TMPL_VAR HELPONFORMATTINGLINK><br />
+<TMPL_VAR FORM-SUBMIT> <TMPL_VAR FIELD-TYPE> <TMPL_VAR HELPONFORMATTINGLINK>
+<TMPL_VAR FIELD-SUBSCRIBE><br />
<TMPL_VAR NAME="FORM-END">
<TMPL_VAR WMD_PREVIEW>