/** * decide which page to show. * This method is called automatically */ public function index($args = false) { $User = APP_User::login(); // The user must be logged in $request = $args->request; $model = new PollsModel(); if (!isset($_SESSION['IdMember'])) { $page = new MessagesMustloginPage(); $page->setRedirectURL(implode('/', $request)); return $page; } // print_r($args->post); // look at the request. switch (isset($request[1]) ? $request[1] : false) { case 'listall': $page = new PollsPage("", "listall", $model->LoadList("")); break; case 'create': $page = new PollsPage("", "create"); break; case 'listClose': $page = new PollsPage("", "listClose", $model->LoadList("Close")); break; case 'listOpen': $page = new PollsPage("", "listOpen", $model->LoadList("Open")); break; case 'listProject': $page = new PollsPage("", "listProject", $model->LoadList("Project")); break; case 'cancelvote': $IdPoll = isset($request[2]) ? $request[2] : false; MOD_log::get()->write("Prepare to contribute cancel vote #" . $IdPoll, "polls"); if ($model->CancelVote($IdPoll, "", $_SESSION["IdMember"])) { $page = new PollsPage("", "cancelvote"); } else { $page = new PollsPage("", "votenotcancelable"); } break; case 'seeresults': $IdPoll = isset($request[2]) ? $request[2] : false; if ($Data = $model->GetPollResults($IdPoll)) { $page = new PollsPage("", "seeresults", $Data); } else { $page = new PollsPage("", "resultsnotyetavailable"); } break; case 'contribute': $IdPoll = isset($request[2]) ? $request[2] : false; MOD_log::get()->write("Prepare to contribute to poll #" . $IdPoll, "polls"); if ($model->CanUserContribute($IdPoll)) { $Data = $model->PrepareContribute($IdPoll); $page = new PollsPage("", "contribute", $Data); } else { $page = new PollsPage("", "sorryyoucannotcontribute"); } break; case 'vote': // a nice trick to get all the post args as local variables... // they will all be prefixed by 'post_' extract($args->post, EXTR_PREFIX_ALL, 'post'); $IdPoll = $post_IdPoll; if ($model->CanUserContribute($IdPoll)) { MOD_log::get()->write("Tryin to vote for poll #" . $IdPoll, "polls"); $Data = $model->AddVote($args->post, "", $_SESSION["IdMember"]); $page = new PollsPage("", "votedone", $Data); } else { MOD_log::get()->write("Refusing vote for poll #" . $IdPoll, "polls"); $page = new PollsPage("", "probablyallreadyvote"); } break; case 'update': $IdPoll = isset($request[2]) ? $request[2] : false; $page = new PollsPage("", "showpoll", $model->LoadPoll($IdPoll)); break; case 'doupdatepoll': $IdPoll = $args->post["IdPoll"]; $model->UpdatePoll($args->post); $page = new PollsPage("", "showpoll", $model->LoadPoll($IdPoll)); break; case 'addchoice': $IdPoll = $args->post["IdPoll"]; $model->AddChoice($args->post); $page = new PollsPage("", "showpoll", $model->LoadPoll($IdPoll)); break; case 'updatechoice': $IdPoll = $args->post["IdPoll"]; $model->UpdateChoice($args->post); $page = new PollsPage("", "showpoll", $model->LoadPoll($IdPoll)); break; case 'createpoll': MOD_log::get()->write("Creating a poll ", "polls"); $model->UpdatePoll($args->post); $page = new PollsPage("", "listall", $model->LoadList("Project")); break; case false: default: case '': // no request[1] was specified $page = new PollsPage("", "", $model->LoadList("Open")); // Without error break; } // return the $page object, // so the framework can call the "$page->render()" function. return $page; }
/** * 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; }
/** * decide which page to show. * This method is called automatically */ public function index($args = false) { $request = PRequest::get()->request; if (!($User = APP_User::login())) { // First ensure that the user is logged in $page = new MessagesMustloginPage(); $page->setRedirectURL(implode('/', $request)); return $page; } $model = new LinkModel(); // look at the request. if (!isset($request[0])) { $page = new LinkShowPage('showlink'); } else { switch ($request[0]) { case 'link': default: if (!isset($request[1])) { $page = new LinkShowPage('showlink'); } else { switch ($request[1]) { case 'myself': $result->strerror = ""; $result->from = $_SESSION['Username']; $result->to = $request[2]; $IdGuy = $this->_model->getMemberID($result->to); if ($IdGuy <= 0) { if ($result->to == "") { $result->strerror .= "<br />You must give a second Username "; } else { $result->strerror .= "<br />No such member " . $result->to; } } if (isset($request[3])) { $result->limit = $request[3]; } else { $result->limit = 10; } $result->linksFull = $this->_model->getLinksFull($result->from, $result->to, $result->limit); $result->links = $this->_model->getLinks($result->from, $result->to, $result->limit); $page = new LinkShowPage($request[1], $result); break; case 'display': // Nota : display must not be a user name ! // fully decorated page $page = new LinkDisplayPage($request[1]); break; case 'update': // fully decorated page set_time_limit(0); $page = new LinkUpdatePage($request[1]); break; case 'rebuild': case 'rebuildmissing': // fully decorated page set_time_limit(0); $page = new LinkRebuildPage($request[1]); break; case 'showlink': // page with submenu $page = new LinkShowPage($request[1]); break; case 'showfriends': // page with submenu $page = new LinkShowFriendsPage($request[1]); break; default: $result->strerror = ""; $result->from = $request[1]; $IdGuy = $this->_model->getMemberID($result->from); if ($IdGuy <= 0) { if ($result->from == "") { $result->strerror .= "<br />You must give a first Username "; } else { $result->strerror .= "<br />No such member " . $result->from; } } $result->to = $request[2]; $IdGuy = $this->_model->getMemberID($result->to); if ($IdGuy <= 0) { if ($result->to == "") { $result->strerror .= "<br />You must give a second Username "; } else { $result->strerror .= "<br />No such member " . $result->to; } } if (isset($request[3])) { $result->limit = $request[3]; } else { $result->limit = 10; } $result->linksFull = $this->_model->getLinksFull($result->from, $result->to, $result->limit); $result->links = $this->_model->getLinks($result->from, $result->to, $result->limit); $page = new LinkShowPage($request[1], $result); break; } } } } // return the $page object, so the "$page->render()" function can be called somewhere else. return $page; }