]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/comments.pm
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
[ikiwiki.git] / IkiWiki / Plugin / comments.pm
index 4770209c9d556d1bc819c8d32e5c77776f1bbe42..d34951570da77d1f9a423b874d362bd1b800aec8 100644 (file)
@@ -177,7 +177,7 @@ sub preprocess {
                if (defined $oiduser) {
                        # looks like an OpenID
                        $commentauthorurl = $commentuser;
-                       $commentauthor = $oiduser;
+                       $commentauthor = (defined $params{nickname} && length $params{nickname}) ? $params{nickname} : $oiduser;
                        $commentopenid = $commentuser;
                }
                else {
@@ -396,12 +396,16 @@ sub editcomment ($$) {
 
        my $content = "[[!comment format=$type\n";
 
-       # FIXME: handling of double quotes probably wrong?
        if (defined $session->param('name')) {
                my $username = $session->param('name');
                $username =~ s/"/"/g;
                $content .= " username=\"$username\"\n";
        }
+       if (defined $session->param('nickname')) {
+               my $nickname = $session->param('nickname');
+               $nickname =~ s/"/"/g;
+               $content .= " nickname=\"$nickname\"\n";
+       }
        elsif (defined $session->remote_addr()) {
                my $ip = $session->remote_addr();
                if ($ip =~ m/^([.0-9]+)$/) {
@@ -513,9 +517,10 @@ sub editcomment ($$) {
 
                        IkiWiki::rcs_add($file);
                        IkiWiki::disable_commit_hook();
-                       $conflict = IkiWiki::rcs_commit_staged($message,
-                               $session->param('name'),
-                               $session->remote_addr());
+                       $conflict = IkiWiki::rcs_commit_staged(
+                               message => $message,
+                               session => $session,
+                       );
                        IkiWiki::enable_commit_hook();
                        IkiWiki::rcs_update();
                }
@@ -603,9 +608,10 @@ sub commentmoderation ($$) {
                        if ($config{rcs} and $config{comments_commit}) {
                                my $message = gettext("Comment moderation");
                                IkiWiki::disable_commit_hook();
-                               $conflict=IkiWiki::rcs_commit_staged($message,
-                                       $session->param('name'),
-                                       $session->remote_addr());
+                               $conflict=IkiWiki::rcs_commit_staged(
+                                       message => $message,
+                                       session => $session,
+                               );
                                IkiWiki::enable_commit_hook();
                                IkiWiki::rcs_update();
                        }