Example #1
0
 private static function doUserAction($request)
 {
     //echo "<p>" . serialize($request) . "</p>"; //DEBUG
     $user = null;
     $loadDependencies = self::$requestedAction == "Follow" || self::$requestedAction == "Feedback" || self::$requestedAction == "AddContact" || self::$requestedAction == "StopFollow" || self::$requestedAction == "Read";
     if ($loadDependencies && self::$requestedAction != "Read") {
         self::$user->loadFollows();
     }
     if (is_numeric(self::$currentID)) {
         $user = UserManager::loadUser(self::$currentID, $loadDependencies);
     } else {
         if (isset(self::$currentID)) {
             $user = UserManager::loadUserByNickname(self::$currentID, $loadDependencies);
         }
     }
     switch (self::$requestedAction) {
         case "Edit":
             if (is_null($user) || $user === false) {
                 header("location: " . FileManager::appendToRootPath("error.php?e=Oops la pagina non &egrave; stata trovata."));
             }
             require_once 'user/UserPage.php';
             UserPage::showEditProfileForm($user);
             break;
         case "Follow":
             if (is_null($user) || $user === false) {
                 header("location: " . FileManager::appendToRootPath("error.php?e=Oops la pagina non &egrave; stata trovata."));
             }
             UserManager::followUser(self::$user, $user);
             header("location:" . FileManager::appendToRootPath("User/" . $user->getID()));
             break;
         case "Feedback":
             if (is_null($user) || $user === false) {
                 header("location: " . FileManager::appendToRootPath("error.php?e=Oops la pagina non &egrave; stata trovata."));
             }
             require_once 'user/UserPage.php';
             UserPage::showFeedbackForm($user);
             break;
         case "AddContact":
             if (is_null($user) || $user === false) {
                 header("location: " . FileManager::appendToRootPath("error.php?e=Oops la pagina non &egrave; stata trovata."));
             }
             require_once 'user/UserPage.php';
             UserPage::showNewContactForm($user);
             break;
         case "StopFollow":
             if (is_null($user) || $user === false) {
                 header("location: " . FileManager::appendToRootPath("error.php?e=Oops la pagina non &egrave; stata trovata."));
             }
             UserManager::stopFollowingUser(self::$user, $user);
             header("location:" . FileManager::appendToRootPath("User/" . $user->getID()));
             break;
         case "Verify":
             if (is_null($user) || $user === false) {
                 header("location: " . FileManager::appendToRootPath("error.php?e=Oops la pagina non &egrave; stata trovata."));
             }
             UserManager::verifyUser($user, $_GET["code"]);
             header("location:" . FileManager::appendToRootPath("User/" . $user->getID()));
             break;
         case "Posts":
             if (is_null($user) || $user === false) {
                 header("location: " . FileManager::appendToRootPath("error?e=Oops la pagina non &egrave; stata trovata."));
             }
             require_once 'search/SearchManager.php';
             $posts = SearchManager::searchBy("Post", array("ps_author" => $user->getID()), array("order" => -1, "by" => "ps_creationDate"));
             require_once 'post/PostPage.php';
             foreach ($posts as $p) {
                 PostPage::showPost($p, self::$post_options);
             }
             break;
         case "Mails":
             require_once 'mail/MailManager.php';
             $mails = MailManager::loadDirectoryFromName(MAILBOX, self::$user);
             require_once 'mail/MailPage.php';
             foreach ($mails as $mail) {
                 MailPage::showShortMail($mail);
             }
             break;
         case "Delete":
             if (is_null($user) || $user === false) {
                 header("location: " . FileManager::appendToRootPath("error.php?e=Oops la pagina non &egrave; stata trovata."));
             }
             UserManager::deleteUser($user);
             header("location: " . FileManager::appendToRootPath(""));
             break;
         case "New":
             require_once 'user/UserPage.php';
             UserPage::showSignInForm();
             break;
         case "Read":
             if (is_null($user) || $user === false) {
                 header("location: " . FileManager::appendToRootPath("error.php?e=Oops la pagina non &egrave; stata trovata."));
             }
             require_once 'user/UserPage.php';
             UserPage::showProfile($user);
             break;
         case "Search":
         default:
             require_once "search/SearchPage.php";
             SearchPage::showUserSearchForm($p);
             break;
     }
 }