--- privatemsg.module 2009-07-30 22:02:06.000000000 +0200 +++ privatemsgNew.module 2009-08-17 17:18:42.421875000 +0200 @@ -23,7 +23,8 @@ function privatemsg_perm() { 'read privatemsg', 'read all private messages', 'administer privatemsg settings', - 'write privatemsg' + 'write privatemsg', + 'reply only' ); } @@ -587,7 +588,7 @@ function privatemsg_view($thread) { $content['messages']['#weight'] = 0; // Display the reply form if user is allowed to use it. - if (privatemsg_user_access('write privatemsg')) { + if (privatemsg_user_access('rabarber') || privatemsg_user_access('reply only')) { $content['reply']['#value'] = drupal_get_form('privatemsg_new', $thread['participants'], $thread['subject'], $thread['thread_id']); $content['reply']['#weight'] = 5; } @@ -664,10 +665,18 @@ function privatemsg_new(&$form_state, $r '#value' => $form_state['privatemsg_preview'], ); } - $form['privatemsg'] = array( - '#type' => 'fieldset', - '#access' => privatemsg_user_access('write privatemsg'), - ); + if (privatemsg_user_access('write privatemsg')) { + $form['privatemsg'] = array( + '#type' => 'fieldset', + '#access' => privatemsg_user_access('write privatemsg'), + ); + } + else { + $form['privatemsg'] = array( + '#type' => 'fieldset', + '#access' => privatemsg_user_access('reply only'), + ); + } $form['privatemsg']['author'] = array( '#type' => 'value', '#value' => $user,