Exemplo n.º 1
0
 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;
     }
 }
Exemplo n.º 3
0
 /**
  * @param int    $id
  * @param string $status
  * @param string $error
  */
 public function __construct($id, $status, $error)
 {
     parent::__construct($id, $status);
     $this->error = $error;
 }
Exemplo n.º 4
0
 /**
  * @param int       $id
  * @param string    $status
  * @param \DateTime $date
  */
 public function __construct($id, $status, \DateTime $date)
 {
     parent::__construct($id, $status);
     $this->date = $date;
 }
Exemplo n.º 5
0
 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);
 }
Exemplo n.º 6
0
 /**
  * @param MessageStatus $status
  * @return bool
  */
 public function equals(MessageStatus $status)
 {
     return $this->toString() === $status->toString();
 }