function load() { parent::load(); $this->sendMail = TRUE; $this->isInbox = TRUE; $this->viewOnly = FALSE; $this->showFriendPane = FALSE; $this->errorText = ''; $this->showList = !(isset($_GET['t']) && is_numeric($_GET['t']) && intval($_GET['t']) == 1); $this->selectedTabIndex = isset($_GET['t']) && is_numeric($_GET['t']) && 1 <= intval($_GET['t']) && intval($_GET['t']) <= 2 ? intval($_GET['t']) : 0; $this->friendList = array(); $friends_player_ids = trim($this->data['friend_players']); if ($friends_player_ids != '') { $friends_player_ids = explode(' ', $friends_player_ids); foreach ($friends_player_ids as $friend) { list($playerId, $playerName) = explode(' ', $friend); $this->friendList[$playerId] = $playerName; } } $m = new MessageModel(); if (!$this->isPost()) { if (isset($_GET['uid']) && is_numeric($_GET['uid']) && 0 < intval($_GET['uid'])) { $this->receiver = $m->getPlayerNameById(intval($_GET['uid'])); $this->showList = FALSE; $this->selectedTabIndex = 1; } else { if (isset($_GET['id']) && is_numeric($_GET['id']) && 0 < intval($_GET['id'])) { $result = $m->getMessage($this->player->playerId, intval($_GET['id'])); if ($result->next()) { $this->viewOnly = TRUE; $this->showList = FALSE; $this->isInbox = $result->row['to_player_id'] == $this->player->playerId; $this->sendMail = !$this->isInbox; $this->receiver = $this->isInbox ? $result->row['from_player_name'] : $result->row['to_player_name']; $this->subject = $result->row['msg_title']; $this->body = $this->getFilteredText($result->row['msg_body']); $this->messageDate = $result->row['mdate']; $this->messageTime = $result->row['mtime']; $this->selectedTabIndex = $this->isInbox ? 0 : 2; if ($this->isInbox && !$result->row['is_readed'] && !$this->player->isSpy) { $m->markMessageAsReaded($this->player->playerId, intval($_GET['id'])); --$this->data['new_mail_count']; } } else { $this->showList = TRUE; $this->selectedTabIndex = 0; } $result->free(); } } } else { if (isset($_POST['sm'])) { $this->receiver = trim($_POST['an']); $this->subject = trim($_POST['be']); $this->body = $_POST['message']; if (trim($this->receiver) == '') { $this->showList = FALSE; $this->selectedTabIndex = 1; $this->errorText = messages_p_noreceiver . '<p></p>'; $m->dispose(); return null; } if (trim($this->body) == '') { $this->showList = FALSE; $this->selectedTabIndex = 1; $this->errorText = messages_p_nobody . '<p></p>'; $m->dispose(); return null; } if (strtolower(trim($this->receiver)) == '[ally]' && 0 < intval($this->data['alliance_id']) && $this->hasAllianceSendMessageRole()) { $pids = trim($m->getAlliancePlayersId(intval($this->data['alliance_id']))); if ($pids != '') { if ($this->subject == '') { $this->subject = messages_p_emptysub; } $arr = explode(',', $pids); foreach ($arr as $apid) { if ($apid == $this->player->playerId) { continue; } $m->sendMessage($this->player->playerId, $this->data['name'], $apid, $m->getPlayerNameById($apid), $this->subject, $this->body); } $this->showList = TRUE; $this->selectedTabIndex = 2; } } else { $receiverPlayerId = $m->getPlayerIdByName($this->receiver); if (0 < intval($receiverPlayerId)) { if ($receiverPlayerId == $this->player->playerId) { $this->showList = FALSE; $this->selectedTabIndex = 1; $this->errorText = '<b>' . messages_p_noloopback . '</b><p></p>'; } else { if ($this->subject == '') { $this->subject = messages_p_emptysub; } $m->sendMessage($this->player->playerId, $this->data['name'], $receiverPlayerId, $this->receiver, $this->subject, $this->body); $this->showList = TRUE; $this->selectedTabIndex = 2; } } else { $this->showList = FALSE; $this->selectedTabIndex = 1; $this->errorText = messages_p_notexists . ' <b>' . $this->receiver . '</b><p></p>'; } } } else { if (isset($_POST['fm'])) { $this->receiver = trim($_POST['an']); $this->subject = trim($_POST['be']); $this->body = $_POST['message']; $this->showList = FALSE; $this->selectedTabIndex = 1; $this->showFriendPane = TRUE; if ($_POST['fm'] != '' && is_numeric($_POST['fm'])) { $playerId = intval($_POST['fm']); if (0 < $playerId && isset($this->friendList[$playerId])) { unset($this->friendList[$playerId]); } } else { if (isset($_POST['mfriends'])) { foreach ($_POST['mfriends'] as $friendName) { $friendName = trim($friendName); if ($friendName == '') { continue; } $playerId = intval($m->getPlayerIdByName($friendName)); if (0 < $playerId && !isset($this->friendList[$playerId]) && $playerId != $this->player->playerId) { $this->friendList[$playerId] = $friendName; continue; } } } } $friends = ''; foreach ($this->friendList as $k => $v) { if ($friends != '') { $friends .= ' '; } $friends .= $k . ' ' . $v; } $m->saveFriendList($this->player->playerId, $friends); } else { if (isset($_POST['rm'])) { $this->receiver = trim($_POST['an']); $this->subject = trim($_POST['be']); $this->body = PHP_EOL . PHP_EOL . '_________________________________' . PHP_EOL . text_from_lang . ' ' . $this->receiver . ':' . PHP_EOL . PHP_EOL . $_POST['message']; preg_match('/^(RE)\\^?([0-9]*):([\\w\\W]*)$/', $this->subject, $matches); if (sizeof($matches) == 4) { $this->subject = 'RE^' . ($matches[2] + 1) . ':' . $matches[3]; } else { $this->subject = 'RE: ' . $this->subject; } $this->showList = FALSE; $this->selectedTabIndex = 1; } else { if (isset($_POST['dm'])) { if (isset($_POST['dm'])) { foreach ($_POST['dm'] as $messageId) { if ($m->deleteMessage($this->player->playerId, $messageId)) { --$this->data['new_mail_count']; continue; } } } } } } } } if ($this->showList) { $rowsCount = $m->getMessageListCount($this->player->playerId, $this->selectedTabIndex == 0); $this->pageCount = 0 < $rowsCount ? ceil($rowsCount / $this->pageSize) : 1; $this->pageIndex = isset($_GET['p']) && is_numeric($_GET['p']) && intval($_GET['p']) < $this->pageCount ? intval($_GET['p']) : 0; $this->dataList = $m->getMessageList($this->player->playerId, $this->selectedTabIndex == 0, $this->pageIndex, $this->pageSize); if (0 < $this->data['new_mail_count']) { $this->data['new_mail_count'] = $m->syncMessages($this->player->playerId); } } $m->dispose(); }
/** * Sends the message to the database layer * @param message string representation of message * @return boolean if succeeded or not */ public function send(MessageModel $msg) { $message = $msg->getName(); $text = $msg->getMessage(); return $this->dal->insertMessage($message, $text); }
/** * 留言 */ public function message() { // 头部样式 $this->header(); //实例化操作留言表的model $message = new MessageModel(); //使用getMessage方法获取留言表中的所有记录 $lists = $message->getMessage(); // 内容样式 include_once VIEW_DIR . '/temp/message.html'; // 右边样式 $abouts = new UserModel(); $contente = $abouts->getUser(); $this->view->assgin('autograph', $contente['u_autograph']); $this->view->assgin('name', $contente['u_name']); $this->view->assgin('profession', $contente['u_profession']); $this->view->assgin('native', $contente['u_native']); $this->view->assgin('phone', $contente['u_phone']); $this->view->assgin('email', $contente['u_email']); $this->view->display('temp/about2.html'); }