/**
  * @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;
 }
Beispiel #3
0
 /**
  * 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";
 }
Beispiel #4
0
 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();
 }
Beispiel #5
0
 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;
         }
     }
 }