? 509448_if_user_cannot_comment_dont_tempt.patch
Index: talk.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/talk/talk.module,v
retrieving revision 1.6.2.5
diff -u -p -r1.6.2.5 talk.module
--- talk.module	3 May 2009 19:39:17 -0000	1.6.2.5
+++ talk.module	6 Jul 2009 02:19:48 -0000
@@ -104,10 +104,16 @@ function talk_link($type, $node = NULL, 
       );
     }
     if (_talk_node_comment_value($node) == COMMENT_NODE_READ_WRITE) {
-      $result['comment_add'] = array(
-        'title' => t('Add new comment'),
-        'href' => "comment/reply/$node->nid",
-      );
+      if (user_access('post comments')) {
+        $result['comment_add'] = array(
+          'title' => t('Add new comment'),
+          'href' => "comment/reply/$node->nid",
+        );
+      }
+      else {
+        $result['comment_forbidden']['title'] = theme('comment_post_forbidden', $node);
+        $result['comment_forbidden']['html'] = TRUE;
+      }
     }
     return $result;
   }
@@ -141,7 +147,7 @@ function talk_comment($a1, $op) {
       $_REQUEST['destination'] = 'node/'. $a1['nid'] .'/talk';
     }
   }
-} 
+}
 /**
  * Is talk page option activated for node tpye?
  */
@@ -155,7 +161,7 @@ function talk_activated($node_type) {
 function _talk_node_comment_value(&$node) {
   return isset($node->comment_original_value) ? $node->comment_original_value : $node->comment;
 }
- 
+
 /**
  * Implementation of hook_theme().
  */
