public static function sendMessage($projectId, $userIds, $subject, $smsTemplate, $emailTemplate, $htmlEmailTemplate = '') { $project = new ProjectSettingsModel($projectId); $users = array(); foreach ($userIds as $id) { $users[] = new UserModel($id); } return Communicate::communicateToUsers($users, $project, $subject, $smsTemplate, $emailTemplate, $htmlEmailTemplate); }
public function testCommunicateToUsers_SendEmail_BroadcastMessageStoredAndUnread() { $e = new MongoTestEnvironment(); $e->clean(); $userId = $e->createUser('User', 'Name', '*****@*****.**'); $user = new UserModel($userId); $user->communicate_via = UserModel::COMMUNICATE_VIA_EMAIL; $project = $e->createProjectSettings(SF_TESTPROJECTCODE); $subject = 'TestSubject'; $project->emailSettings->fromAddress = '*****@*****.**'; $project->emailSettings->fromName = 'Scripture Forge ProjectName'; $smsTemplate = ''; $emailTemplate = 'TestMessage'; $delivery = new MockCommunicateDelivery(); Communicate::communicateToUsers(array($user), $project, $subject, $smsTemplate, $emailTemplate, '', $delivery); $unread = new UnreadMessageModel($userId, $project->id->asString()); $messageIds = $unread->unreadItems(); $this->assertEqual(count($messageIds), 1); $messageId = $messageIds[0]; $message = new MessageModel($project, $messageId); $this->assertEqual($message->subject, $subject); $this->assertEqual($message->content, $emailTemplate); }