/** * @param string $username * @return User|null|object */ public function loadUserByUsername($username) { $user = $this->userManager->loadUser($username); if ($user) { return $user; } throw new UsernameNotFoundException(sprintf('Username "%s" does not exist.', $username)); }
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; }
/** * Tests creating, saving, editing User objects. */ function testUser() { // elimino l'utente già creato in precedenza con questo nome. $u = UserManager::loadUserByNickname($this->user_data[NICKNAME]); //echo "<p>" . $u . "</p>"; //DEBUG if ($u !== false) { $u = UserManager::deleteUser($u); //echo "<p>" . $u . "</p>"; //DEBUG } $u = UserManager::loadUserByNickname($this->user_data2[NICKNAME]); if ($u !== false) { $u = UserManager::deleteUser($u); } $u = UserManager::createUser($this->user_data); //echo "<p>" . $u . "</p>"; //DEBUG $data = Filter::filterArray($this->user_data); if (isset($data[AVATAR])) { if ($u->getAvatar() != $data[AVATAR]) { return "User test NOT PASSED: avatar"; } } if (isset($data[BIRTHDAY])) { if ($u->getBirthday() != $data[BIRTHDAY]) { return "User test NOT PASSED: birthday"; } } if (isset($data[BIRTHPLACE])) { if ($u->getBirthplace() != $data[BIRTHPLACE]) { return "User test NOT PASSED: birthplace"; } } if (isset($data[EMAIL])) { if ($u->getEMail() != $data[EMAIL]) { return "User test NOT PASSED: email"; } } if (isset($data[GENDER])) { if ($u->getGender() != $data[GENDER]) { return "User test NOT PASSED: gender"; } } if (isset($data[HOBBIES])) { if ($u->getHobbies() != $data[HOBBIES]) { return "User test NOT PASSED: hobbies"; } } if (isset($data[JOB])) { if ($u->getJob() != $data[JOB]) { return "User test NOT PASSED: job"; } } if (isset($data[LIVING_PLACE])) { if ($u->getLivingPlace() != $data[LIVING_PLACE]) { return "User test NOT PASSED: living place"; } } if (isset($data[NAME])) { if ($u->getName() != $data[NAME]) { return "User test NOT PASSED: name"; } } if (isset($data[NICKNAME])) { if ($u->getNickname() != $data[NICKNAME]) { return "User test NOT PASSED: nickname"; } } if (isset($data[PASSWORD])) { if ($u->getPassword() != $data[PASSWORD]) { return "User test NOT PASSED: password"; } } if (isset($data[ROLE])) { if ($u->getRole() != $data[ROLE]) { return "User test NOT PASSED: role"; } } if (isset($data[SURNAME])) { if ($u->getSurname() != $data[SURNAME]) { return "User test NOT PASSED: surname"; } } if (isset($data[VISIBLE])) { if ($u->getVisible() != $data[VISIBLE]) { return "User test NOT PASSED: visible"; } } // TEST LOAD $u2 = UserManager::loadUser($u->getID()); //echo "<p>" . $u . "<br />" . $u2 . "</p>"; //DEBUG if ($u->getAvatar() != $u2->getAvatar()) { return "User test NOT PASSED: avatar not loaded"; } //echo "<p>" . $u->getBirthday() . "<br />" . $u2->getBirthday() . " - " . time() . "</p>"; //DEBUG if ($u->getBirthday() != $u2->getBirthday()) { return "User test NOT PASSED: birthday not loaded"; } if ($u->getBirthplace() != $u2->getBirthplace()) { return "User test NOT PASSED: birthplace not loaded"; } if ($u->getEMail() != $u2->getEMail()) { return "User test NOT PASSED: email not loaded"; } if ($u->getGender() != $u2->getGender()) { return "User test NOT PASSED: gender not loaded"; } if ($u->getHobbies() != $u2->getHobbies()) { return "User test NOT PASSED: hobbies not loaded"; } if ($u->getJob() != $u2->getJob()) { return "User test NOT PASSED: job not loaded"; } if ($u->getLivingPlace() != $u2->getLivingPlace()) { return "User test NOT PASSED: living place not loaded"; } if ($u->getName() != $u2->getName()) { return "User test NOT PASSED: name not loaded"; } if ($u->getNickname() != $u2->getNickname()) { return "User test NOT PASSED: nickname not loaded"; } if ($u->getPassword() != $u2->getPassword()) { return "User test NOT PASSED: password not loaded"; } if ($u->getRole() != $u2->getRole()) { return "User test NOT PASSED: role not loaded"; } if ($u->getSurname() != $u2->getSurname()) { return "User test NOT PASSED: surname not loaded"; } if ($u->getVisible() != $u2->getVisible()) { return "User test NOT PASSED: visible not loaded"; } if ($u->getCreationDate() != $u2->getCreationDate()) { return "User test NOT PASSED: creation date not loaded"; } if ($u->getID() != $u2->getID()) { return "User test NOT PASSED: ID not loaded"; } // TEST EDIT //echo $u; $u2 = UserManager::editUser($u, $this->user_data2); $u = UserManager::loadUser($u->getID()); //echo "<p>" . $u . "<br />" . $u2 . "</p>"; //DEBUG if (!isset($u) || $u === false) { return "non VAAA!!"; } if (!isset($u2) || $u2 === false) { return "AAARGH"; } if ($u->getAvatar() != $u2->getAvatar()) { return "User test NOT PASSED: avatar not updated"; } //echo "<p>" . $u->getBirthday() . "<br />" . $u2->getBirthday() . " - " . time() . "</p>"; //DEBUG if ($u->getBirthday() != $u2->getBirthday()) { return "User test NOT PASSED: birthday not updated"; } if ($u->getBirthplace() != $u2->getBirthplace()) { return "User test NOT PASSED: birthplace not updated"; } if ($u->getEMail() != $u2->getEMail()) { return "User test NOT PASSED: email not updated"; } if ($u->getGender() != $u2->getGender()) { return "User test NOT PASSED: gender not updated"; } if ($u->getHobbies() != $u2->getHobbies()) { return "User test NOT PASSED: hobbies not updated"; } if ($u->getJob() != $u2->getJob()) { return "User test NOT PASSED: job not updated"; } if ($u->getLivingPlace() != $u2->getLivingPlace()) { return "User test NOT PASSED: living place not updated"; } if ($u->getName() != $u2->getName()) { return "User test NOT PASSED: name not updated"; } if ($u->getNickname() != $u2->getNickname()) { return "User test NOT PASSED: nickname not updated"; } if ($u->getPassword() != $u2->getPassword()) { return "User test NOT PASSED: password not updated"; } if ($u->getRole() != $u2->getRole()) { return "User test NOT PASSED: role not updated"; } if ($u->getSurname() != $u2->getSurname()) { return "User test NOT PASSED: surname not updated"; } if ($u->getVisible() != $u2->getVisible()) { return "User test NOT PASSED: visible not updated"; } if ($u->getCreationDate() != $u2->getCreationDate()) { return "User test NOT PASSED: creation date not updated"; } if ($u->getID() != $u2->getID()) { return "User test NOT PASSED: ID not updated"; } return "User test passed"; }
function getAuthorName() { require_once "user/UserManager.php"; if (is_null($this->getAuthor())) { return "Anonimous"; } $u = UserManager::loadUser($this->getAuthor(), false); if (!is_null($u->getNickname())) { return $u->getNickname(); } return $this->getAuthor(); }
private static function PCSameAuthor($data) { if (isset(self::$currentObject) && !is_null(self::$currentObject) && self::$currentObject !== false) { require_once 'user/UserManager.php'; $user = UserManager::loadUser(self::$currentObject->getAuthor(), false); if (true) { //TODO se l'autore vuole echo "<p>Dello stesso autore</p>"; require_once 'search/SearchManager.php'; $posts = SearchManager::searchBy("Post", array("author" => $user->getID(), "no_id" => self::$currentObject->getID(), "loadComments" => false), array("order" => -1, "by" => "ps_creationDate")); self::$post_options[PostPage::SHORT] = true; self::$post_options[PostPage::NO_COMMENTS] = true; self::$post_options[PostPage::NO_MODIF_DATE] = true; require_once 'post/PostPage.php'; foreach ($posts as $p) { PostPage::showPost($p, self::$post_options); } self::$post_options[PostPage::SHORT] = false; self::$post_options[PostPage::NO_COMMENTS] = false; self::$post_options[PostPage::NO_MODIF_DATE] = false; } } }