public static function updateUser()
 {
     // Process updating of user information
     $users = UsersDB::getUsersBy('userId', $_SESSION['arguments']);
     if (empty($users)) {
         HomeView::show();
         header('Location: /' . $_SESSION['base']);
     } elseif ($_SERVER["REQUEST_METHOD"] == "GET") {
         $_SESSION['users'] = $users;
         UserView::showUpdate();
     } else {
         $parms = $users[0]->getParameters();
         $parms['userName'] = array_key_exists('userName', $_POST) ? $_POST['userName'] : "";
         $parms['password'] = array_key_exists('password', $_POST) ? $_POST['password'] : "";
         $newUser = new User($parms);
         $newUser->setUserId($users[0]->getUserId());
         $user = UsersDB::updateUser($newUser);
         if ($user->getErrorCount() != 0) {
             $_SESSION['users'] = array($newUser);
             return;
             UserView::showUpdate();
         } else {
             HomeView::show();
             header('Location: /' . $_SESSION['base']);
         }
     }
 }
 public static function run()
 {
     $action = array_key_exists('action', $_SESSION) ? $_SESSION['action'] : "";
     $arguments = $_SESSION['arguments'];
     switch ($action) {
         case "new":
             if ($_SERVER["REQUEST_METHOD"] == "POST") {
                 $reviewData = new ReviewData($_POST);
                 if ($reviewData->getErrorCount() == 0) {
                     $dbReviewData = ReviewDB::addReview($reviewData);
                     HomeView::show();
                 } else {
                     ReviewView::show($reviewData);
                 }
             } else {
                 ReviewView::show(null);
             }
             break;
         case "show":
             $users = UsersDB::getUsersBy('userId', $arguments);
             $_SESSION['user'] = !empty($users) ? $users[0] : null;
             self::show();
             break;
         case "showall":
             $_SESSION['reviews'] = ReviewDB::getReviewsBy();
             $_SESSION['headertitle'] = "h00dFliX Reviews";
             $_SESSION['footertitle'] = "<h3>The footer goes here</h3>";
             ReviewsView::showall();
             break;
         case "update":
             echo "Update";
             self::updateUser();
             break;
         default:
     }
 }
示例#3
0
 public static function addSubmission($submission)
 {
     // Inserts $submission into the Submissions table and returns submissionId
     $query = "INSERT INTO Submissions (submissionFile, assignmentNumber, submitterId)\r\n\t\t                      VALUES(:submissionFile, :assignmentNumber, :submitterId)";
     try {
         $db = Database::getDB();
         if (is_null($submission) || $submission->getErrorCount() > 0) {
             return $submission;
         }
         $users = UsersDB::getUsersBy('userName', $submission->getSubmitterName());
         if (is_null($users) || empty($users)) {
             $submission->setError('submitterName', 'SUBMITTER_NAME_DOES_NOT_EXIST');
             return $submission;
         }
         $statement = $db->prepare($query);
         $statement->bindValue(":submissionFile", $submission->getSubmission());
         $statement->bindValue(":assignmentNumber", $submission->getAssignmentNumber());
         $statement->bindValue(":submitterId", $users[0]->getUserId());
         $statement->execute();
         $statement->closeCursor();
         $returnId = $db->lastInsertId("submissionId");
         $submission->setSubmissionId($returnId);
     } catch (Exception $e) {
         // Not permanent error handling
         $submission->setError('submissionId', 'SUBMISSION_IDENTITY_INVALID');
     }
     return $submission;
 }
 public static function updateUser()
 {
     $users = UsersDB::getUsersBy('userID', $_SESSION['arguments']);
     if (empty($users)) {
         HomeView::show();
         header('Location: /' . $_SESSION['base']);
     } elseif ($_SERVER["REQUEST_METHOD"] == "GET") {
         $_SESSION['users'] = $users;
         UserView::showUpdate();
     } else {
         $parms = $users[0]->getParameters();
         $parms['userName'] = array_key_exists('userName', $_POST) ? $_POST['userName'] : $users[0]->getUsername();
         $parms['rank'] = array_key_exists('rank', $_POST) ? $_POST['rank'] : $users[0]->getRank();
         $newUser = new User($parms);
         $newUser->setUserID($users[0]->getUserID());
         $user = UsersDB::updateUser($newUser);
         if ($user->getErrorCount() != 0) {
             $_SESSION['user'] = $newUser;
             UserView::showUpdate();
         } else {
             HomeView::show();
             header('Location: /' . $_SESSION['base']);
         }
     }
 }
 public static function run()
 {
     $user = null;
     $userIsLegit = false;
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         $user = new User($_POST);
         if ($user->getErrorCount() == 0) {
             $checkUserArray = UsersDB::getUsersBy('username', $user->getUserName());
             if (count($checkUserArray) > 0) {
                 $checkUser = $checkUserArray[0];
                 $user->setUserId($checkUser->getUserId());
                 $userIsLegit = password_verify($_POST['password'], $checkUser->getPassword());
             }
         }
     } else {
         LoginView::show();
         return;
     }
     if ($userIsLegit) {
         $_SESSION['authenticatedUser'] = $user;
         $_SESSION['authenticated'] = true;
         HomeView::show();
     } else {
         $user->setError('username', 'USERNAME_PASSWORD_COMBO_INVALID');
         $_SESSION['user'] = $user;
         LoginView::show();
     }
 }
 private function show()
 {
     $arguments = array_key_exists('arguments', $_SESSION) ? $_SESSION['arguments'] : 0;
     // Identify the target user
     $users = UsersDB::getUsersBy('user_id', $arguments);
     $user = $users[0];
     if (!is_null($user)) {
         // Prepare all data to be displayed in the target user's ProfileView
         // --all of their datasets
         // --all of the sensors for each dataset
         // TODO: add 'member since'
         $datasets = DatasetsDB::getDatasetsBy('user_id', $user->getUserId());
         foreach ($datasets as $dataset) {
             $sensors = SensorsDB::getSensorsBy('dataset_id', $dataset->getDatasetId());
             $dataset->setSensors($sensors);
         }
         $_SESSION['user'] = $user;
         $_SESSION['datasets'] = $datasets;
         ProfileView::show();
     } else {
         $_SESSION['user'] = null;
         // TODO:: Consider showing a 'Specified user does not exist' page
         HomeView::show();
     }
 }
 private function updateUser($userId)
 {
     $users = UsersDB::getUsersBy('user_id', $userId);
     if (empty($users)) {
         HomeView::show();
         header('Location: /' . $_SESSION['base']);
     } else {
         if ($_SERVER['REQUEST_METHOD'] == 'GET') {
             $_SESSION['user'] = $users[0];
             UserView::showUpdate();
         } else {
             $params = $users[0]->getParameters();
             $params['username'] = array_key_exists('username', $_POST) ? $_POST['username'] : "";
             $params['password'] = array_key_exists('password', $_POST) ? $_POST['password'] : "";
             $updatedUser = new User($params);
             $updatedUser->setUserId($users[0]->getUserId());
             $plaintextPassword = $updatedUser->getPassword();
             $hashedPassword = password_hash($plaintextPassword, PASSWORD_DEFAULT);
             $updatedUser->setPassword($hashedPassword);
             $returnedUser = UsersDB::updateUser($updatedUser);
             if ($returnedUser->getErrorCount() == 0) {
                 // TODO: Log out the current user before diplaying the HomeView; LogoutController::LogoutCurrentUser()
                 HomeView::show();
                 header('Location: /' . $_SESSION['base']);
             } else {
                 $_SESSION['user'] = $updatedUser;
                 UserView::showUpdate();
             }
         }
     }
 }
 public static function addReview($review)
 {
     // Inserts $review into the Reviews table and returns reviewId
     $query = "INSERT INTO Reviews (review, score, submissionId, reviewerId)\r\n\t\t                      VALUES(:review, :score, :submissionId, :reviewerId)";
     try {
         $db = Database::getDB();
         if (is_null($review) || $review->getErrorCount() > 0) {
             return $review;
         }
         $users = UsersDB::getUsersBy('userName', $review->getReviewerName());
         if (is_null($users) || empty($users)) {
             $review->setError('reviewerName', 'REVIEWER_NAME_DOES_NOT_EXIST');
             return $review;
         }
         $statement = $db->prepare($query);
         $statement->bindValue(":review", $review->getReview());
         $statement->bindValue(":score", $review->getScore());
         $statement->bindValue(":submissionId", $review->getSubmissionId());
         $statement->bindValue(":reviewerId", $users[0]->getUserId());
         $statement->execute();
         $statement->closeCursor();
         $returnId = $db->lastInsertId("reviewId");
         $review->setReviewId($returnId);
     } catch (Exception $e) {
         // Not permanent error handling
         $review->setError('reviewId', 'REVIEW_IDENTITY_INVALID');
     }
     return $review;
 }
示例#9
0
 public static function addAction($user_id, $msg)
 {
     $user = null;
     $dnevnik_id = null;
     if (UsersDB::isSalesman(["uporabnik_id" => $user_id])) {
         $user = UsersDB::getSalesman(["id" => $user_id]);
         $dnevnik_id = $user["dnevnik_id"];
         if (!isset($user["dnevnik_id"])) {
             //                echo $user_id;
             //                echo $msg;
             //                a;
             $params["uporabnik_id"] = $user_id;
             $dnevnik_id = $params["dnevnik_id"] = self::insertDiary();
             UsersDB::updateSalesmanDiary($params);
         }
     } else {
         if (UsersDB::isAdmin(["uporabnik_id" => $user_id])) {
             $user = UsersDB::getAdmin(["id" => $user_id]);
             $dnevnik_id = $user["dnevnik_id"];
             if (!isset($user["dnevnik_id"])) {
                 $params["uporabnik_id"] = $user_id;
                 $dnevnik_id = $params["dnevnik_id"] = self::insertDiary();
                 UsersDB::updateAdminDiary($params);
             }
         } else {
             throw new InvalidArgumentException("Le administrator in prodajalec lahko dodajata vnose v dnevnik.");
         }
     }
     $actionParams["dnevnik_id"] = $dnevnik_id;
     $actionParams["opis"] = $msg;
     return parent::modify("INSERT INTO akcija (dnevnik_id, opis) " . " VALUES (:dnevnik_id, :opis)", $actionParams);
 }
示例#10
0
 public static function register($data = [])
 {
     if (self::checkValues($data)) {
         UsersDB::insertCustomer($data);
     } else {
         self::registration();
     }
 }
 public static function addUserData($userData)
 {
     $query = "INSERT INTO UserData (userId, user_name, skill_level,  \r\n\t\t\t\tprofile_pic, started_hobby, fav_color, url, phone) VALUES\r\n\t\t\t\t(:userId, :user_name, :skill_level, :profile_pic,\r\n\t\t\t\t:started_hobby, :fav_color, :url, :phone)";
     // TODO: Add a functionalized RobotData INSERT query
     // TODO: Functionalize the SkillAssoc INSERT query
     try {
         // check null and check for errors
         // check for User by given userId; throw exception if non-existent
         if (is_null($userData) || $userData->getErrorCount() > 0) {
             throw new PDOException("Invalid UserData object can't be inserted: ");
         }
         $newUserId = $userData->getUserId();
         if (!isset($newUserId)) {
             throw new PDOException("UserId not specified");
         }
         // Verify that the specified user exists in the database
         $db = Database::getDB();
         $users = UsersDB::getUserValuesBy('userId', $newUserId, 'userId');
         if ($users[0] != $newUserId) {
             throw new PDOException("Cannot associate UserData with invalid User");
         }
         $statement = $db->prepare($query);
         $statement->bindValue(":userId", $newUserId);
         $statement->bindValue(":user_name", $userData->getUserName());
         $statement->bindValue(":skill_level", $userData->getSkillLevel());
         // TODO: Have the profile pic uploaded to a designated folder and moved
         $statement->bindValue(":profile_pic", $userData->getProfilePic());
         $statement->bindValue(":started_hobby", $userData->getStartedHobby());
         $statement->bindValue(":fav_color", $userData->getFavColor());
         $statement->bindValue(":url", $userData->getUrl());
         $statement->bindValue(":phone", $userData->getPhone());
         $statement->execute();
         $statement->closeCursor();
         $returnId = $db->lastInsertId("userDataId");
         // Handle skill area associations separately since they're going into a different table
         $query = "INSERT INTO SkillAssocs (userDataId, skillId) VALUES\r\n\t\t\t\t\t(:userDataId, :skillId)";
         // TODO: Review this for instances where this can go wrong
         foreach ($userData->getSkillAreas() as $skill) {
             // Translate the skill (a string) to a skillId (an integer),
             // then create a skill association
             $skillArray = SkillsDB::getSkillsBy('skill_name', $skill);
             $skillObject = $skillArray[0];
             $skillstatement = $db->prepare($query);
             $skillstatement->bindValue(":userDataId", $returnId);
             $skillstatement->bindValue(":skillId", $skillObject->getSkillId());
             $skillstatement->execute();
             $skillstatement->closeCursor();
             $skillAssocId = $db->lastInsertId("skillAssocId");
         }
         $userData->setUserDataId($returnId);
     } catch (Exception $e) {
         // Not permanent error handling
         $userData->setError('userDataId', 'USER_DATA_INVALID');
     }
     return $userData;
 }
 public static function getLastNRegisteredUsers($n)
 {
     $lastNUsers = array();
     try {
         $registeredUsers = UsersDB::getUserDataBy();
         $lastNUsers = array_slice($registeredUsers, -$n, $n);
     } catch (Exception $e) {
         return $lastNUsers;
     }
     return $lastNUsers;
 }
示例#13
0
 public function testGetAllUsers()
 {
     $myDb = DBMaker::create('ptest');
     Database::clearDB();
     $db = Database::getDB('ptest', 'C:\\xampp\\myConfig.ini');
     $users = UsersDB::getAllUsers();
     $this->assertEquals(4, count($users), 'It should fetch all of the users in the test database');
     foreach ($users as $user) {
         $this->assertTrue(is_a($user, 'User'), 'It should return valid User objects');
     }
 }
示例#14
0
 public static function delete($user_id)
 {
     if (!($mysqli = UsersDB::connect())) {
         return false;
     }
     $query_sql = "  DELETE \n                        FROM \n                            users \n                        WHERE \n                            user_id = ?";
     $query = $mysqli->prepare($query_sql);
     $query->bind_param("s", $user_id);
     $query->execute();
     $query->close();
     $mysqli->close();
     return true;
 }
 public static function run()
 {
     $user = null;
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         $formUser = new User($_POST);
         $user = UsersDB::addUser($formUser);
         if ($user->getErrorCount() == 0) {
             $_POST['user'] = $user;
         }
     }
     if (is_null($user) || $user->getErrorCount() != 0) {
         SignupView::show($user);
     } else {
         ProfileView::show();
     }
 }
示例#16
0
 public static function getAllUsers()
 {
     $query = "SELECT * FROM Users";
     $users = array();
     try {
         $db = Database::getDB();
         $statement = $db->prepare($query);
         $statement->execute();
         $users = UsersDB::getUsersArray($statement->fetchAll(PDO::FETCH_ASSOC));
         $statement->closeCursor();
     } catch (PDOException $e) {
         // Not permanent error handling
         echo "<p>Error getting all users " . $e->getMessage() . "</p>";
     }
     return $users;
 }
示例#17
0
 public static function isLoginSuccessful()
 {
     $data = filter_input_array(INPUT_POST, CustomerController::getLoginRules());
     if (CustomerController::checkValues($data)) {
         $username = $data["uname"];
         $result = UsersDB::getPassword(["uporabnisko_ime" => $username]);
         if ($result != null && password_verify($data["password"], $result["geslo"]) && UsersDB::isCustomer(["uporabnik_id" => $result["id"]]) && UsersDB::isactivate(["id" => $result["id"]])) {
             session_start();
             $_SESSION["active"] = TRUE;
             $_SESSION["role"] = "customer";
             $_SESSION["id"] = $result["id"];
             return true;
         }
     }
     return false;
 }
 public static function run()
 {
     $userData = null;
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         $userData = new User($_POST);
         if (is_null($userData) || $userData->getErrorCount() != 0) {
             SignupView::show($userData);
         } else {
             $userData = UsersDB::addUser($userData);
             HomeView::show();
             header('Location: /' . $_SESSION['base']);
         }
     } else {
         // Initial link
         SignupView::show(null);
     }
 }
 public function testUpdateUserEmail()
 {
     $myDB = DBMaker::create('botspacetest');
     Database::clearDB();
     $db = Database::getDB('botspacetest', 'C:\\xampp\\myConfig.ini');
     $testUserId = 1;
     $users = UsersDB::getUsersBy('userId', $testUserId);
     $user = $users[0];
     $params = $user->getParameters();
     $this->assertEquals($user->getEmail(), '*****@*****.**', 'Before the update it should have email bjabituya@yahoo.com');
     $params['email'] = '*****@*****.**';
     $newUser = new User($params);
     $newUser->setUserId($testUserId);
     $user = UsersDB::updateUser($newUser);
     $this->assertEquals($user->getEmail(), '*****@*****.**', 'After the update it should have email bjabituya2000@yahoo.com');
     $this->assertTrue(empty($user->getErrors()), 'The updated user should have no errors');
 }
示例#20
0
 public function testUpdateUserName()
 {
     // Test the update of the userName
     $myDb = DBMaker::create('ptest');
     Database::clearDB();
     $db = Database::getDB('ptest', 'C:\\xampp\\myConfig.ini');
     $users = UsersDB::getUsersBy('userId', 1);
     $user = $users[0];
     $parms = $user->getParameters();
     $this->assertEquals($user->getUserName(), 'Kay', 'Before the update it should have user name Kay');
     $parms['userName'] = '******';
     $newUser = new User($parms);
     $newUser->setUserId(1);
     $user = UsersDB::updateUser($newUser);
     $this->assertEquals($user->getUserName(), 'Kay1', 'Before the update it should have user name Kay1');
     $this->assertTrue(empty($user->getErrors()), 'The updated user should not have errors');
 }
 public static function setProfileDataForUser($userId)
 {
     $retVal = false;
     if (empty($userId) || !is_numeric($userId)) {
         return $retVal;
     }
     $user = null;
     $userData = null;
     $skillAssocs = null;
     $userRobots = null;
     $users = UsersDB::getUsersBy('userId', $userId);
     if (count($users) > 0) {
         $user = $users[0];
         if ($user->getErrorCount() != 0) {
             return $retVal;
         }
         $userDataArray = UserDataDB::getUserDataBy('userId', $userId);
         if (count($userDataArray) > 0) {
             $userData = $userDataArray[0];
         }
         if ($userData->getErrorCount() != 0) {
             return $retVal;
         }
         $skillAssocs = SkillAssocsDB::getSkillAssocsBy('userDataId', $userData->getUserDataId());
         foreach ($skillAssocs as $skillAssoc) {
             if ($skillAssoc->getErrorCount() != 0) {
                 return $retVal;
             }
         }
         $robotAssocs = RobotAssocsDB::getRobotAssocsBy('creatorId', $userData->getUserDataId());
         $userRobots = array();
         foreach ($robotAssocs as $robotAssoc) {
             $robotArray = RobotDataDB::getRobotDataBy('robotId', $robotAssoc->getRobotId());
             if (count($robotArray) > 0) {
                 array_push($userRobots, $robotArray[0]);
             }
         }
         $_SESSION['user'] = $user;
         $_SESSION['userData'] = $userData;
         $_SESSION['skillAssocs'] = $skillAssocs;
         $_SESSION['userRobots'] = $userRobots;
         $retVal = true;
     }
     return $retVal;
 }
 public static function run()
 {
     $user = null;
     $userData = null;
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         $user = new User($_POST);
         //$dbUser = UsersDB::addUser($user);
         $userData = new UserData($_POST);
         //$_POST["userId"] = $user->getUserId();
         $dbUserData = UsersDB::addUser($user, $userData);
         if ($user->getErrorCount() == 0 && $userData->getErrorCount() == 0) {
             ProfileView::show($user, $userData);
         } else {
             SignupView::show($user, $userData);
         }
     } else {
         SignupView::show(null, null);
     }
 }
 public static function run()
 {
     $userData = null;
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         $userData = new User($_POST);
         $userData = UsersDB::addUser($userData);
     }
     if (is_null($userData) || $userData->getErrorCount() != 0) {
         //SignupView::show($userData);
         $_SESSION['user'] = $userData;
         SignupView::show();
     } else {
         $_SESSION['authenticatedUser'] = $userData;
         HomeView::show();
         header('Location: /' . $_SESSION['base']);
     }
     // 		} else  // Initial link
     // 			$_SESSION['user'] = null;
     // 			SignupView::show();
 }
示例#24
0
 public static function run()
 {
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         $user = new User($_POST);
         if ($user->getErrorCount() != 0) {
             LoginView::show($user);
         } else {
             $users = UsersDB::getUsersBy('userName', $user->getUserName());
             if (!empty($users)) {
                 HomeView::show($users[0]);
             } else {
                 $user->setError('userName', 'USER_NAME_DOES_NOT_EXIST');
                 LoginView::show($user);
             }
         }
     } else {
         // Initial link
         LoginView::show(null);
     }
 }
 public static function run()
 {
     $user = null;
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         $user = new User($_POST);
         $users = UsersDB::getUsersBy('email', $user->getEmail());
         if (empty($users)) {
             $user->setError('userName', 'EMAIL_PASSWORD_COMBO_INVALID');
         } else {
             $user = $users[0];
         }
     }
     $_SESSION['user'] = $user;
     if (is_null($user) || $user->getErrorCount() != 0) {
         LoginView::show();
     } else {
         HomeView::show();
         //header('Location: /'.$_SESSION['base']);
     }
 }
示例#26
0
 public static function run()
 {
     $user = null;
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         $user = new User($_POST);
         $users = UsersDB::getUsersBy('userName', $user->getUserName());
         if (empty($users)) {
             $user->setError('userName', 'USER_NAME_DOES_NOT_EXIST');
         } else {
             $user = $users[0];
         }
     }
     $_SESSION['user'] = $user;
     if (is_null($user) || $user->getErrorCount() != 0) {
         LoginView::show();
     } else {
         HomeView::show();
         header('Location: /' . $_SESSION['base']);
     }
 }
 public static function run()
 {
     $action = array_key_exists('action', $_SESSION) ? $_SESSION['action'] : "";
     $arguments = array_key_exists('arguments', $_SESSION) ? $_SESSION['arguments'] : "";
     switch ($action) {
         case "create":
             self::newDataset();
             break;
         case "show":
             if ($arguments == 'all') {
                 $_SESSION['datasets'] = DatasetsDB::getDatasetsBy();
                 $_SESSION['headertitle'] = 'Sensor Data Repo | Datasets';
                 DatasetView::showAll();
             } else {
                 $datasets = DatasetsDB::getDatasetsBy('dataset_id', $arguments);
                 if (count($datasets) > 0) {
                     $dataset = $datasets[0];
                     $_SESSION['dataset'] = $dataset;
                     $users = UsersDB::getUsersBy('user_id', $dataset->getUserId());
                     if (count($users) > 0) {
                         $_SESSION['user'] = $users[0];
                         self::show();
                     } else {
                         HomeView::show();
                     }
                 } else {
                     HomeView::show();
                 }
             }
             break;
         case "update":
             $datasets = DatasetsDB::getDatasetsBy('dataset_id', $arguments);
             $_SESSION['dataset'] = $datasets[0];
             self::updateDataset();
             break;
         default:
     }
 }
 public static function run()
 {
     $user = null;
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         $formUser = new User($_POST);
         if ($formUser->getErrorCount() == 0) {
             $plaintextPassword = $formUser->getPassword();
             $hashedPassword = password_hash($plaintextPassword, PASSWORD_DEFAULT);
             $formUser->setPassword($hashedPassword);
             $user = UsersDB::addUser($formUser);
             if ($user->getErrorCount() == 0) {
                 $_SESSION['user'] = $user;
             }
         } else {
             $user = $formUser;
         }
     }
     if (is_null($user) || $user->getErrorCount() != 0) {
         SignupView::show($user);
     } else {
         ProfileView::show();
     }
 }
 public static function run()
 {
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         $new_post = $_POST;
         if (isset($_FILES["submissionFile"])) {
             $new_post["submissionFile"] = $_FILES["submissionFile"];
         }
         $submission = new Submission($new_post);
         if ($submission->getErrorCount() != 0) {
             SubmissionView::show($submission);
         } else {
             $user = UsersDB::getUserBy('userName', $submission->getUserName());
             if ($user != null) {
                 HomeView::show($user);
             } else {
                 $submission->setError('userName', 'USER_NAME_DOES_NOT_EXIST');
                 SubmissionView::show($submission);
             }
         }
     } else {
         // Initial link
         SubmissionView::show(null);
     }
 }
 public static function run()
 {
     $user = null;
     $userData = null;
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
         //print_r($_POST);
         $formUser = new User($_POST);
         $user = UsersDB::addUser($formUser);
         if ($user->getErrorCount() == 0) {
             $_POST["userId"] = $user->getUserId();
             $formUserData = new UserData($_POST);
             $userData = UserDataDB::addUserData($formUserData);
             if ($userData->getErrorCount() == 0) {
                 $_SESSION['user'] = $user;
                 $_SESSION['userData'] = $userData;
             }
         }
     }
     if (is_null($user) || is_null($userData) || $user->getErrorCount() != 0 || $userData->getErrorCount() != 0) {
         SignupView::show($user, $userData);
     } else {
         ProfileView::show();
     }
 }