public function loadUserByOAuthUserResponse(UserResponseInterface $response)
 {
     $socialID = $response->getUsername();
     /** @var User $user */
     $user = $this->userManager->loadUser(['facebookId' => $socialID]);
     $update = true;
     $email = $response->getEmail();
     //check if the user already has the corresponding social account
     if (null === $user) {
         //check if the user has a normal account
         $user = $this->userManager->loadUser($email, 'email');
         if (null === $user || !$user instanceof UserInterface) {
             //if the user does not have a normal account, set it up:
             /** @var User $user */
             $name = $response->getNickname() ?? $response->getRealName();
             $user = $this->userManager->createUser($name, md5(uniqid()), $response->getEmail(), ['ROLE_OAUTH_USER']);
             $user->setEmail($email);
             $user->setFullName($name);
             $user->setEnabled(true);
             $violations = $this->validator->validate($user);
             $update = !$violations->count() === 0;
             if ($violations->count() === 0) {
                 $this->session->getFlashBag()->add('warning', 'Welcome! You must complete your profile in order to use the features on the site.');
             } else {
                 throw new CustomUserMessageAuthenticationException('An account in your name already exists.');
             }
         }
         if ($update) {
             //then set its corresponding social id
             $service = $response->getResourceOwner()->getName();
             switch ($service) {
                 case 'google':
                     $user->setGoogleID($socialID);
                     break;
                 case 'facebook':
                     $user->setFacebookID($socialID);
                     break;
             }
             $this->userManager->updateUser($user);
         }
     } else {
         //and then login the user
         $token = new UsernamePasswordToken($user, null, 'main', $user->getRoles());
         $this->tokenStorage->setToken($token);
     }
     $user->setLastLoggedIn(new \DateTime());
     $this->userManager->updateUser($user);
     return $user;
 }
Exemple #2
0
<?php

require_once '../../config.php';
require_once BUSINESS_DIR_USER . 'User.php';
require_once BUSINESS_DIR_USER . 'UserManager.php';
require_once BUSINESS_DIR_LOCATION . 'LocationManager.php';
$userManager = new UserManager();
// check and update user
if ($_POST) {
    $userId = $_POST['id'];
    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    $birth = $_POST['birth'];
    $language = $_POST['language'];
    $email = $_POST['email'];
    $user_update = $userManager->getUserByUserId($userId);
    $user_update->setFirstName($fname);
    $user_update->setLastName($lname);
    $user_update->setEmail($email);
    $user_update->setUserLanguage($language);
    $user_update->setDOB($birth);
    $updated = $userManager->updateUser($user_update);
    if (!$updated) {
        echo "Updating " . $userId . " failed.";
    } else {
        header("Location: ../../profile.php");
    }
} else {
    header("Location: ../../profile.php");
}
 public function updateUser(AbstractUser $user)
 {
     $this->userManager->updateUser($user);
 }
 /**
  * 
  * updateUser
  * 
  * @param String $ErrorString
  * @param String $StatusString
  */
 public function updateUser($ErrorString = "", $StatusString = "")
 {
     if (Controler_Main::getInstance()->getUserLevel() < BACKEND_USERLEVEL) {
         $ControlerStart = new Controler_Start();
         $ControlerStart->start();
         return false;
     }
     $Request = new Request();
     $Controler_Main = Controler_Main::getInstance();
     $ErrorString = "";
     if (strlen($Request->getAsString("tb_Name")) < 3) {
         $ErrorString .= ":T_REGISTER_ERROR1: <br />";
     }
     if (strlen($Request->getAsString("tb_Pass")) < 5) {
         $ErrorString .= ":T_REGISTER_ERROR2: <br />";
     }
     if (strlen($Request->getAsString("tb_Pass")) === $Request->getAsString("tb_PassConfirme")) {
         $ErrorString .= ":T_REGISTER_ERROR3:<br />";
     }
     $UserFinder = new UserFinder();
     if (strlen($Request->getAsString("tb_Mail")) > 3) {
         $User = $UserFinder->findByMail($Request->getAsString("tb_Mail"));
         if ($User->getId() != 0) {
             $ErrorString .= ":T_REGISTER_ERROR4: <br />";
         }
     } else {
         $ErrorString .= ":T_REGISTER_ERROR5: <br />";
     }
     if (strlen($Request->getAsString("tb_Mail")) === $Request->getAsString("tb_MailConfirme")) {
         $ErrorString .= ":T_REGISTER_ERROR6:<br />";
     }
     if (strlen($Request->getAsString("tb_Name"))) {
         $User = $UserFinder->findByName($Request->getAsString("tb_Name"));
         if ($User->getId() != 0) {
             $ErrorString .= ":T_REGISTER_ERROR7: <br />";
         }
     }
     if (!$this->isMailCorrect($Request->getAsString("tb_Mail"))) {
         $ErrorString .= ":T_REGISTER_ERROR8: <br />";
     }
     if (strlen($ErrorString) != 0) {
         $this->showNewUser($ErrorString);
         return false;
     }
     /* TODO: Salt für Passwort */
     $UserManager = new UserManager();
     $UserManager->updateUser($User);
     if (!$UserManager->getLastInsertId()) {
         $this->showRegister($ErrorString);
         return false;
     }
     $this->showRegister("", ":T_USER_UPDATED_STATUS:");
 }
 public function updateUser(User $user)
 {
     $result = parent::updateUser($user);
     $this->invalidateUserCacheByUserId($user->id);
     return $result;
 }
Exemple #6
0
 //$data = array("action" => $action, "user_name" => $user_name);
 if ($action == 'delete' && !empty($user_name)) {
     $um = new UserManager();
     $um->deleteUser($user_name);
     $data = array("status" => "success", "msg" => "User '{$user_name}' deleted.");
     echo json_encode($data, JSON_FORCE_OBJECT);
     return;
 } else {
     if ($action == 'update' && !empty($userid)) {
         $newFirstName = $parameters->getValue('newFirstName');
         $newLastName = $parameters->getValue('newLastName');
         $newUserName = $parameters->getValue('newUserName');
         $userid = $parameters->getValue('userid');
         if (!empty($newFirstName)) {
             $um = new UserManager();
             $count = $um->updateUser($userid, $newFirstName, $newLastName, $newUserName);
             if ($count > 0) {
                 $data = array("status" => "success", "msg" => "User '{$user_name}' updated with new first name ('{$newFirstName}').");
             } else {
                 $data = array("status" => "fail", "msg" => "User '{$userid}' was NOT updated with new first name ('{$newFirstName}').");
             }
         } else {
             $data = array("status" => "fail", "msg" => "New user name must be present - value was '{$newFirstName}' for '{$user_name}'.");
         }
         echo json_encode($data, JSON_FORCE_OBJECT);
         return;
     } else {
         if ($action == 'add') {
             $newFirstName = $parameters->getValue('newFirstName');
             $newLastName = $parameters->getValue('newLastName');
             $newUserName = $parameters->getValue('newUserName');