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: } }
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; }
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); }
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; }
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'); } }
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(); } }
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; }
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'); }
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(); }
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']); } }
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(); } }