Index: htdocs/sites/all/modules/privatemsg/privatemsg.module =================================================================== --- privatemsg.module +++ privatemsg.module @@ -319,10 +319,20 @@ function privatemsg_list() { global $user; - if (!$user->uid || !(isset($user->privatemsg_allow) ? $user->privatemsg_allow : 1)) { - // If guests have privatemsg access they can only send messages + + if (!$user->uid) { + // drupal_goto('user/login', 'destination=privatemsg'); return drupal_access_denied(); } + + if (!user_access('access private messages')) { + return t('You do not have permissions to view private messages.'); + } + + if(!(isset($user->privatemsg_allow) ? $user->privatemsg_allow : 1)) { + return t("You've disabled private messages. ") . l('Edit your profile', "user/{$user->uid}/edit") . ' if you would like to enable them.'; + } + drupal_set_title(t('Private messages')); $current_folder = arg(2); if ($current_folder != 1) { @@ -499,12 +509,16 @@ function privatemsg_new_validate($form_id, $form_values) { if (!empty($form_values['recipient'])) { - $recipient = user_load(array('name' => $form_values['recipient'])); - if (!$recipient->uid) { - form_set_error('recipient', t('The Recipient does not exist.')); - } - else if (!(isset($recipient->privatemsg_allow) ? $recipient->privatemsg_allow : 1)) { - form_set_error('recipient', t('@name does not accept private messages.', array('@name' => $recipient->name))); + $recipient_names = preg_split('/,\s*/', $form_values['recipient']); + foreach($recipient_names as $recipient_name) { + $recipient = user_load(array('name' => $recipient_name)); + + if (!$recipient->uid) { + form_set_error('recipient', "User '{$recipient_name}' does not exist."); + } + else if (!$recipient->status || !(isset($recipient->privatemsg_allow) ? $recipient->privatemsg_allow : 1)) { + form_set_error('recipient', t('@name does not accept private messages.', array('@name' => $recipient->name))); + } } } if (!isset($form_values['format']) || !filter_access($form_values['format'])) { @@ -514,9 +528,13 @@ function privatemsg_new_submit($form_id, $form_values) { global $user; - $recipient = user_load(array('name' => $form_values['recipient'])); - $result = _privatemsg_send($user, $recipient, $form_values['subject'], $form_values['privatemsgbody'], $form_values['format']); + $recipient_names = preg_split('/,\s*/', $form_values['recipient']); + foreach($recipient_names as $recipient_name) { + $recipient = user_load(array('name' => $recipient_name)); + $result = _privatemsg_send($user, $recipient, $form_values['subject'], $form_values['privatemsgbody'], $form_values['format']); + } + drupal_set_message(t('Message sent.')); drupal_goto($user->uid ? 'privatemsg' : ''); }