X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/c8a4ffff53e916ec373f9463d0c2c47deebfadd0..24604c5c27b1f0bec2ecdc0733442c443c98218a:/IkiWiki/Plugin/comments.pm

diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm
index 3ad2a0e13..c2b2d919d 100644
--- a/IkiWiki/Plugin/comments.pm
+++ b/IkiWiki/Plugin/comments.pm
@@ -9,7 +9,6 @@ use warnings;
 use strict;
 use IkiWiki 3.00;
 use Encode;
-use POSIX qw(strftime);
 
 use constant PREVIEW => "Preview";
 use constant POST_COMMENT => "Post comment";
@@ -302,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}],
@@ -347,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')) {
@@ -460,7 +468,7 @@ sub editcomment ($$) {
 	}
 	$content .= " subject=\"$subject\"\n";
 
-	$content .= " date=\"" . decode_utf8(strftime('%Y-%m-%dT%H:%M:%SZ', gmtime)) . "\"\n";
+	$content .= " date=\"" . strftime_utf8('%Y-%m-%dT%H:%M:%SZ', gmtime) . "\"\n";
 
 	my $editcontent = $form->field('editcontent');
 	$editcontent="" if ! defined $editcontent;
@@ -491,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'),