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']); } } }
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 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 function testUpdateUser() { // Test show the update ob_start(); $user = new User(array("userName" => "Kay", "password" => "xxx")); $user->setUserId(1); $_SESSION = array('users' => array($user), 'base' => "mvcdbcrud"); UserView::showUpdate(); $output = ob_get_clean(); $this->assertFalse(empty($output), "It should show the user update form"); }
public static function updateUser() { // Process updating of user information $authenticatedUser = array_key_exists('authenticatedUser', $_SESSION) ? $_SESSION['authenticatedUser'] : null; $users = WebUserDB::getUsersBy('hockName', $_SESSION['arguments']); if (empty($users)) { UserController::showHome(); } elseif ($_SERVER["REQUEST_METHOD"] == "GET") { $_SESSION['webuser'] = $users[0]; $user = $users[0]; if (!is_null($authenticatedUser)) { if (strcmp($user->getUserName(), $authenticatedUser->getUserName()) == 0) { UserView::showUpdate(); } else { UserController::showHome(); } } else { UserController::showHome(); } } else { $user = $_SESSION['webuser']; if (!is_null($authenticatedUser)) { if (strcmp($user->getUserName(), $authenticatedUser->getUserName()) == 0) { //$oldpw = (array_key_exists('oldPassword', $_POST))?$_POST['oldPassword']:null; $parms = $users[0]->getParameters(); //if(is_null($oldpw) || strcmp($oldpw, $parms['password']) //This is set up so that any empty parameters in update will be ignored. //Only things entered will actually be updated //username $parms['userName'] = array_key_exists('userName', $_POST) ? empty($_POST['userName']) ? $authenticatedUser->getUserName() : $_POST['userName'] : $authenticatedUser->getUserName(); //password $parms['password'] = array_key_exists('password', $_POST) ? empty($_POST['password']) ? $authenticatedUser->getPassword() : $_POST['password'] : $authenticatedUser->getPassword(); //confirmedpw $parms['confirmedpw'] = array_key_exists('confirmedpw', $_POST) ? empty($_POST['confirmedpw']) ? $authenticatedUser->getConfirmedPW() : $_POST['confirmedpw'] : $authenticatedUser->getConfirmedPW(); //email $parms['email'] = array_key_exists('email', $_POST) ? empty($_POST['email']) ? $authenticatedUser->getEmail() : $_POST['email'] : $authenticatedUser->getEmail(); //url $parms['url'] = array_key_exists('url', $_POST) ? empty($_POST['url']) ? $authenticatedUser->getURL() : $_POST['url'] : $authenticatedUser->getURL(); $user = new WebUser($parms); $user->setUserId($users[0]->getUserId()); $user = WebUserDB::updateUser($user); if ($user->getErrorCount() != 0) { $_SESSION['webuser'] = $user; UserView::showUpdate(); } else { $_SESSION['authenticatedUser'] = $user; UserController::showHome(); } } else { UserController::showHome(); } } else { UserController::showHome(); } } }
$validTest = array("userName" => "krobbins", "password" => "xxx"); $_SESSION = array('user' => new User($validTest), 'base' => 'mvcdbcrud'); $validSubmission = array("submitterName" => "krobbins", "assignmentNumber" => "1", "submissionFile" => "myText.apl"); $_SESSION['userSubmissions'] = array(new Submission($validSubmission)); $input = array("reviewerName" => "krobbins", "submissionID" => 2, "score" => "5", "review" => "This was a great presentation"); $_SESSION['userReviews'] = array(new Review($input)); UserView::show(); ?> <h2>It should show all users when the session variable is set</h2> <?php $s1 = new User(array("userName" => "Kay", "password" => "xxx")); $s1->setUserId(1); $s2 = new User(array("userName" => "John", "password" => "yyy")); $s2->setUserId(2); $_SESSION = array('users' => array($s1, $s2), 'base' => 'mvcdbdcrud', 'arguments' => null); UserView::showall(); ?> <h2>It should allow updating when a valid user is passed</h2> <?php $validTest = array("userName" => "Kay", "password" => "xxx"); $user = new User($validTest); $user->setUserId(1); echo $user; $_SESSION = array('users' => array($user), 'base' => "mvcdbcrud"); UserView::showUpdate(); ?> </body> </html>