/** * decide which page to show * This method is called from RoxFrontRouter * * @param unknown_type $args request, post and get * @param unknown_type $memory_image message from redirect * @return unknown */ public function index($args = false) { $request = $args->request; $model = new MessagesModel(); // look if the user is logged in. if (!isset($_SESSION['IdMember'])) { $page = new MessagesMustloginPage(); $page->setRedirectURL(implode('/', $request)); } else { // look at the request if (!isset($request[1])) { // simple, ugly page $page = new MessagesInboxPage(); } else { switch ($request[1]) { case 'received': case 'inbox': case 'sent': case 'outbox': case 'spam': case 'drafts': switch ($request[1]) { case 'received': case 'inbox': $page = new MessagesInboxPage(); break; case 'sent': case 'outbox': $page = new MessagesSentboxPage(); break; case 'spam': $page = new MessagesSpamboxPage(); break; case 'drafts': default: $page = new MessagesDraftsboxPage(); } $page->active_page = $this->getPageNumber($request, 2); break; case 'compose': if (!($logged_member = $model->getLoggedInMember())) { // We only request the Sender to be logged in $page = new ContactNotPossible(); } else { if (!isset($request[2])) { // $request[2] should be the member who is going to receive the message $page = new MessagesInboxPage(); } else { if (!($member = $model->getMember($request[2]))) { $page = new MessagesInboxPage(); } else { if ($member->Status != 'Active' && $member->Status != 'ActiveHidden' && $member->Status != 'OutOfRemind') { $page = new ComposeMessageProhibitedPage(); } else { $page = new ComposeMessagePage(); $page->sender = $model->getLoggedInMember(); $page->receiver = $member; } } } } break; case 'with': if (!isset($request[2])) { $page = new MessagesInboxPage(); } else { if (!($member = $model->getMember($request[2]))) { $page = new MessagesInboxPage(); } else { $page = new MessagesContactboxPage(); $page->contact_member = $member; } } $page->active_page = $this->getPageNumber($request, 3); break; default: if (!is_numeric($request[1])) { // the request does not mean a message id $page = new MessagesInboxPage(); } else { if (!($message = $model->getMessage($request[1]))) { // no message with that id found $page = new MessagesInboxPage(); } else { if (empty($message->WhenFirstRead) || $message->WhenFirstRead == '0000-00-00 00:00:00') { //Only mark as read when the receiver reads the message, not when the message is presented to the Sender with url /messages/77/sent $MessagedReader = $model->getLoggedInMember(); if ($MessagedReader->getPKValue() == $message->IdReceiver) { $model->markMessage($message->id); } } if (!isset($request[2])) { $page = new ReadMessagePage(); } else { switch ($request[2]) { //message action case 'delete': $model->deleteMessage($request[1]); $page = new MessagesInboxPage(); break; case 'edit': $page = new EditMessagePage(); $page->sender = $model->getLoggedInMember(); break; case 'reply': $page = new ReplyMessagePage(); $page->sender = $model->getLoggedInMember(); break; case 'sent': $page = new MessageSentPage(); break; case 'spam': $model->moveMessage($message->id, 'Spam'); $model->updateSpamInfo($message->id, 'SpamSayMember', 'NotSpam', $message->SpamInfo); $page = new MessagesInboxPage(); break; case 'nospam': $model->moveMessage($message->id, 'Normal'); $model->updateSpamInfo($message->id, 'NotSpam', array('SpamSayMember', 'SpamSayChecker'), $message->SpamInfo); $page = new MessagesInboxPage(); break; case 'read': default: $page = new ReadMessagePage(); } } $page->message = $message; } } } } $page->setModel($model); if (isset($_GET['sort'])) { $page->sort_element = $_GET['sort']; } if (isset($_GET['dir'])) { $page->sort_dir = $_GET['dir']; } } // finally display the page. // the render() method will call other methods to render the page. return $page; }
protected function column_col3() { $words = new MOD_words(); echo '<p class="note">' . $words->get('Message_hasbeensent') . '</p>'; parent::column_col3(); }