Example #1
0
            $type = 0;
    }
    // Sending mail section.
    if ($message && $messenger) {
        if ($to_clan && $has_clan) {
            $type = 1;
            $target_id_list = $clan->getMemberIds();
            $passfail = Message::sendToGroup($ninja, $target_id_list, $message, $type);
            $message_sent_to = 'your clan';
            $message_to = 'clan';
        } elseif ((bool) $target_id) {
            Message::create(['send_from' => $ninja->id(), 'send_to' => $target_id, 'message' => $message, 'type' => $type]);
            $message_sent_to = $to;
            $message_to = 'individual';
            $type = 0;
        }
    }
    // An illuminate collection object.
    $messages = Message::findByReceiver($ninja, $type, $limit, $offset);
    $message_count = Message::countByReceiver($ninja, $type);
    // To count all the messages
    $pages = ceil($message_count / $limit);
    // Total pages.
    $current_page = $page;
    Message::markAsRead($ninja, $type);
    // mark messages as read for next viewing.
    // TODO: Handle "send" ing to specific, known users.
    $individual_or_clan = $message_to == 'individual' || $message_to == 'clan';
    $parts = compact('command', 'message_sent_to', 'messages', 'current_tab', 'to', 'has_clan', 'type', 'messages_type', 'individual_or_clan', 'pages', 'current_page', 'message_to', 'informational');
    display_page('messages.tpl', 'Messages', $parts, ['quickstat' => false]);
}
Example #2
0
 /**
  * mark all messages of a type for a ninja as read
  **/
 public static function markAsRead(Player $char, $type)
 {
     return Message::where(['send_to' => $char->id(), 'type' => $type])->update(['unread' => 0]);
 }
Example #3
0
 public function testFindPrivateMessagesForACertainChar()
 {
     $i = 4;
     while ($i--) {
         Message::create(['message' => 'Random phpunit test message' . $i, 'send_to' => $this->char_id, 'send_from' => $this->char_id_2, 'unread' => 1]);
     }
     $char = new Player($this->char_id);
     $messages = Message::findByReceiver($char)->all();
     $this->assertEquals(4, count($messages));
     Message::deleteByReceiver($char, $type = 0);
     $this->assertEquals(0, Message::countByReceiver($char));
 }