private function getUnreadMessagesCount($chat_rooms) { $messages_counts = ''; foreach ($chat_rooms as $chat_room) { $messages_counts[] = MessageStatus::where('chatroom_id', '=', $chat_room->id)->where('member_id', '=', Auth::user()->id)->where('is_read', '=', 0)->count(); } return $messages_counts; }
public function updateMessage($id) { //$message_status = new MessageStatus; if (Request::isMethod('post')) { $message = Input::get('message'); if ($message) { //insert the message in the db $message_id = Message::insertGetId(array('message' => $message, 'member_id' => Auth::user()->id, 'chatroom_id' => $id)); //get list of active members in the group $active_chatroom_members = ChatRoomMember::select()->where('chatroom_id', $id)->where('member_id', '<>', Auth::user()->id)->lists('member_id'); //update message status of all active members $message_status = new MessageStatus(); foreach ($active_chatroom_members as $active_chatroom_member) { $message_status->member_id = $active_chatroom_member; $message_status->chatroom_id = $id; $message_status->message_id = $message_id; $message_status->is_read = 0; $message_status->save(); } } return $message; } }
/** * @param int $id * @param string $status * @param string $error */ public function __construct($id, $status, $error) { parent::__construct($id, $status); $this->error = $error; }
/** * @param int $id * @param string $status * @param \DateTime $date */ public function __construct($id, $status, \DateTime $date) { parent::__construct($id, $status); $this->date = $date; }
function parse($line, $useMessageID) { $messageID = 0; $status = MessageStatus::none(); // Format is: messageID phone when message // Or if no message ID: phone when message // Or if delivery receipt: messageID messageStatus when $prevIdx = 0; if (($idx = strpos($line, ' ')) === false) { return NULL; } // Parse the message ID, if provided. if ($useMessageID) { list($messageID) = sscanf(substr($line, 0, $idx), "%d"); if ($messageID === NULL) { return NULL; } $prevIdx = $idx + 1; if (($idx = strpos($line, ' ', $idx + 1)) === false) { return NULL; } } // Parse the phone number. $phone = substr($line, $prevIdx, $idx - $prevIdx); // If the phone is 1, 2, or 3, it's a message status. if ($phone == "1") { $status = MessageStatus::pending(); $phone = ""; } elseif ($phone == "2") { $status = MessageStatus::delivered(); $phone = ""; } elseif ($phone == "3") { $status = MessageStatus::failed(); $phone = ""; } $prevIdx = $idx + 1; if (($idx = strpos($line, ' ', $idx + 1)) === false) { $idx = strlen($line); } // Parse the time when the message was received. list($when) = sscanf(substr($line, $prevIdx, $idx - $prevIdx), "%d"); if ($when === NULL) { return NULL; } // The message is the remainder, unescaped. if ($status != MessageStatus::none() || strlen($line) < $idx + 2) { $message = ""; } else { $message = SmsReply::unescape(substr($line, $idx + 1)); } return new SmsReply($phone, $message, $messageID, $when, $status); }
/** * @param MessageStatus $status * @return bool */ public function equals(MessageStatus $status) { return $this->toString() === $status->toString(); }