public function __construct(Project $project, PFUser $pfuser, $suffix)
 {
     parent::__construct($pfuser->toRow());
     $this->setStatus(PFUser::STATUS_RESTRICTED);
     $this->setRealName(self::REAL_NAME);
     $this->setUserName(self::NAME_PREFIX . $project->getUnixName() . $suffix);
     $this->project = $project;
 }
 /**
  * Update db entry of 'user' table with values in object
  * @param PFUser $user
  */
 public function updateDb(PFUser $user)
 {
     if (!$user->isAnonymous()) {
         $old_user = $this->getUserByIdWithoutCache($user->getId());
         $userRow = $user->toRow();
         if ($user->getPassword() != '') {
             $password_handler = PasswordHandlerFactory::getPasswordHandler();
             if (!$password_handler->verifyHashPassword($user->getPassword(), $user->getUserPw()) || $password_handler->isPasswordNeedRehash($user->getUserPw())) {
                 // Update password
                 $userRow['clear_password'] = $user->getPassword();
             }
         }
         if ($user->getLegacyUserPw() !== '' && !ForgeConfig::get('sys_keep_md5_hashed_password')) {
             $userRow['user_pw'] = '';
         }
         $result = $this->getDao()->updateByRow($userRow);
         if ($result) {
             if ($user->isSuspended() || $user->isDeleted()) {
                 $this->getDao()->deleteAllUserSessions($user->getId());
             }
             $this->_getEventManager()->processEvent(Event::USER_MANAGER_UPDATE_DB, array('old_user' => $old_user, 'new_user' => &$user));
         }
         return $result;
     }
     return false;
 }
 public function __construct(PFUser $user)
 {
     parent::__construct($user->toRow());
 }