/** * Create a message. * * @param $content The message content * @param $object The message object * @param User[] $users The users receiving the message * @param null $sender The user sending the message * @param null $parent The message parent (is it's a discussion) * * @return Message */ public function create($content, $object, array $users, $sender = null, $parent = null) { $message = new Message(); $message->setContent($content); $message->setParent($parent); $message->setObject($object); $message->setSender($sender); $stringTo = ''; foreach ($users as $user) { $stringTo .= $user->getUsername() . ';'; } $message->setTo($stringTo); return $message; }
protected static function createMessage($alias, User $sender, array $receivers, $object, $content, Message $parent = null, $removed = false) { $message = new Message(); $message->setSender($sender); $message->setObject($object); $message->setContent($content); $message->setDate(self::$time); $message->setTo('x1;x2;x3'); if ($parent) { $message->setParent($parent); } self::$om->startFlushSuite(); self::create($alias, $message); $userMessage = new UserMessage(); $userMessage->setIsSent(true); $userMessage->setUser($sender); $userMessage->setMessage($message); if ($removed) { $userMessage->markAsRemoved($removed); } self::create($alias . '/' . $sender->getUsername(), $userMessage); foreach ($receivers as $receiver) { $userMessage = new UserMessage(); $userMessage->setUser($receiver); $userMessage->setMessage($message); self::create($alias . '/' . $receiver->getUsername(), $userMessage); } self::$om->endFlushSuite(); }