function answers_notifications_create_message in Answers 7.4
Creates new message with given parameters.
Parameters
string $type: Type of the message.
int $uid: User ID, to which to assign message.
object $node: Node which is used to get the context and list of subscribers.
array $fields: Values to place in corresponding fields.
array $uids: User IDs array. It's used in case of a single recipient for the message.
1 call to answers_notifications_create_message()
- answers_notifications_new_answer_notify in answers_notifications/answers_notifications.module 
- Notifies all question subscribers if new answer is posted.
File
- answers_notifications/answers_notifications.module, line 54 
Code
function answers_notifications_create_message($type, $uid, $node, array $fields = array(), array $uids = array()) {
  // Create message.
  $message = message_create($type, array(
    'uid' => $uid,
  ));
  $wrapper = entity_metadata_wrapper('message', $message);
  // Set necessary fields to use with tokens.
  foreach ($fields as $name => $value) {
    $wrapper->{$name}
      ->set($value);
  }
  $message
    ->save();
  // Add parameters in order to avoid creating message for every subscriber.
  $notify_options = array(
    'internal' => array(
      'save on fail' => FALSE,
      'save on success' => FALSE,
      'mid' => $message->mid,
    ),
  );
  $subscribe_options = array(
    'save message' => FALSE,
    'author' => $uid,
  );
  if (!empty($uids)) {
    $subscribe_options['uids'] = $uids;
  }
  return message_subscribe_send_message('node', $node, $message, $notify_options, $subscribe_options);
}