public function mapUserDtoToUser(UserDto $userDto) { $user = new User(); $user->setId($userDto->getId()); $user->setEmail($userDto->getEmail()); $user->setFirstName($userDto->getFirstName()); $user->setLastName($userDto->getLastName()); $user->setUsername($userDto->getUserName()); $user->setPicture($userDto->getPicture()); $user->setFile($userDto->getFile()); $user->setDisplay($userDto->getDisplay()); $user->setRole($userDto->getRole()); return $user; }
/** * @param int $id * @param $email * @param string $firstName * @param string $lastName * @param string $password * @param string $picture * @param string $file * @param int $role * @param int $displayed * @return User * @internal param string $userName */ public static function createUser($id, $email, $firstName = "", $lastName = "", $password = null, $picture = null, $file = null, $role = 0, $displayed = 0) { $user = new User(); $user->setId($id); $user->setEmail($email); $user->setFirstName($firstName); $user->setLastName($lastName); $user->setPassword($password); $user->setPicture($picture); $user->setFile($file); $user->setDisplay($displayed); $user->setRole($role); return $user; }
/** * Synchronise data between GitHub and Worklist User * * @param User $user Worklist User object * @param object $gh_user GitHub User JSON object */ public function sync($user, $gh_user) { /** * Compare User nickname with GitHub login. If they differ, * verify the GitHub login does not already exist in Worklist. * * If it exists, try the GitHub name with spaces removed * If it sill exists, append a random number to the login, and * to the name, until we get a unique Worklist nickname */ if ($user->getNickname() != $gh_user->login) { $nicknameTestUser = new User(); $nickname = $gh_user->login; if ($nicknameTestUser->findUserByNickname($nickname)) { $nickname = preg_replace('/[^a-zA-Z0-9]/', '', $gh_user->name); } while ($nicknameTestUser->findUserByNickname($nickname)) { $rand = mt_rand(1, 99999); $nickname = $gh_user->login . $rand; if ($nicknameTestUser->findUserByNickname($nickname)) { $nickname = preg_replace('/[^a-zA-Z0-9]/', '', $gh_user->name) . $rand; } } $user->setNickname($nickname); } // save the name to the worklist database if (isset($gh_user->name)) { $fullname = $gh_user->name; $nameArray = explode(' ', $fullname); $user->setFirst_name($nameArray[0]); $user->setLast_name(end($nameArray)); } $user->setPicture($gh_user->avatar_url); $user->save(); }