예제 #1
0
 public function Synchronize(AuthenticatedUser $user, $insertOnly = false)
 {
     if ($this->UserExists($user->UserName(), $user->Email())) {
         if ($insertOnly) {
             return;
         }
         $encryptedPassword = $this->_passwordEncryption->EncryptPassword($user->Password());
         $command = new UpdateUserFromLdapCommand($user->UserName(), $user->Email(), $user->FirstName(), $user->LastName(), $encryptedPassword->EncryptedPassword(), $encryptedPassword->Salt(), $user->Phone(), $user->Organization(), $user->Title());
         ServiceLocator::GetDatabase()->Execute($command);
     } else {
         $defaultHomePageId = Configuration::Instance()->GetKey(ConfigKeys::DEFAULT_HOMEPAGE, new IntConverter());
         $additionalFields = array('phone' => $user->Phone(), 'organization' => $user->Organization(), 'position' => $user->Title());
         $this->Register($user->UserName(), $user->Email(), $user->FirstName(), $user->LastName(), $user->Password(), $user->TimezoneName(), $user->LanguageCode(), empty($defaultHomePageId) ? Pages::DEFAULT_HOMEPAGE_ID : $defaultHomePageId, $additionalFields);
     }
 }
예제 #2
0
 public function testAuthenticatedUserReturnsNullsForAllBlankValues()
 {
     $username = '******';
     $email = 'em';
     $fname = '';
     $lname = ' ';
     $phone = '   ';
     $inst = 'or';
     $title = 'title';
     $langCode = 'en_US';
     $timezone = 'UTC';
     $user = new AuthenticatedUser($username, $email, $fname, $lname, 'password', $langCode, $timezone, $phone, $inst, $title);
     $this->assertNull($user->FirstName(), "needs to be null to make sure we do not clear values in the database");
     $this->assertNull($user->LastName(), "needs to be null to make sure we do not clear values in the database");
     $this->assertNull($user->Phone(), "needs to be null to make sure we do not clear values in the database");
     $this->assertEquals($email, $user->Email());
 }