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();
             }
         }
     }
 }
예제 #3
0
 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']);
         }
     }
 }
예제 #4
0
 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");
 }
예제 #5
0
 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();
         }
     }
 }
예제 #6
0
$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>