コード例 #1
0
 public function exportUser(PFUser $user, SimpleXMLElement $members_node, $child_name)
 {
     if ($user->getLdapId()) {
         $member_node = $members_node->addChild($child_name, $user->getLdapId());
         $member_node->addAttribute('format', 'ldap');
     } else {
         $member_node = $members_node->addChild($child_name, $user->getUserName());
         $member_node->addAttribute('format', 'username');
     }
 }
コード例 #2
0
 /**
  * Get LDAPResult object corresponding to a User object
  * 
  * @param  PFUser $user
  * @return LDAPResult
  */
 function getLdapFromUser($user)
 {
     if ($user && !$user->isAnonymous()) {
         return $this->getLdapFromLdapId($user->getLdapId());
     } else {
         return false;
     }
 }
コード例 #3
0
 /**
  * Create new account
  *
  * @param PFUser $user
  *
  * @return PFUser
  */
 function createAccount($user)
 {
     $dao = $this->getDao();
     $user_id = $dao->create($user->getUserName(), $user->getEmail(), $user->getPassword(), $user->getRealName(), $user->getRegisterPurpose(), $user->getStatus(), $user->getShell(), $user->getUnixStatus(), $user->getUnixUid(), $user->getUnixBox(), $user->getLdapId(), $_SERVER['REQUEST_TIME'], $user->getConfirmHash(), $user->getMailSiteUpdates(), $user->getMailVA(), $user->getStickyLogin(), $user->getAuthorizedKeys(), $user->getNewMail(), $user->getTimeZone(), $user->getTheme(), $user->getLanguageID(), $user->getExpiryDate(), $_SERVER['REQUEST_TIME']);
     if (!$user_id) {
         $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('include_exit', 'error'));
         return 0;
     } else {
         $user->setId($user_id);
         $this->assignNextUnixUid($user);
         $em = $this->_getEventManager();
         $em->processEvent(Event::USER_MANAGER_CREATE_ACCOUNT, array('user' => $user));
         // Create the first layout for the user and add some initial widgets
         $lm = $this->_getWidgetLayoutManager();
         $lm->createDefaultLayoutForUser($user_id);
         switch ($user->getStatus()) {
             case PFUser::STATUS_PENDING:
                 if (ForgeConfig::get('sys_user_approval')) {
                     $this->pending_user_notifier->notifyAdministrator($user);
                 }
                 break;
             case PFUser::STATUS_ACTIVE:
             case PFUser::STATUS_RESTRICTED:
                 $em->processEvent('project_admin_activate_user', array('user_id' => $user_id));
                 break;
         }
         return $user;
     }
 }