/** * Create user account based on LDAP info. * * @param String $eduid * @param String $uid * @param String $cn * @param String $email * @return PFUser */ function createAccount($eduid, $uid, $cn, $email) { if (trim($uid) == '' || trim($eduid) == '') { return false; } $user = new PFUser(); $user->setUserName($this->generateLogin($uid)); $user->setLdapId($eduid); $user->setRealName($cn); $user->setEmail($email); $mail_confirm_code_generator = new MailConfirmationCodeGenerator($this->getUserManager(), new RandomNumberGenerator()); $mail_confirm_code = $mail_confirm_code_generator->getConfirmationCode(); $user->setConfirmHash($mail_confirm_code); // Default LDAP $user->setStatus($this->getLdap()->getLDAPParam('default_user_status')); $user->setRegisterPurpose('LDAP'); $user->setUnixStatus('S'); $user->setTimezone('GMT'); $user->setLanguageID($GLOBALS['Language']->getText('conf', 'language_id')); $um = $this->getUserManager(); $u = $um->createAccount($user); if ($u) { $u = $um->getUserById($user->getId()); // Create an entry in the ldap user db $ldapUserDao = $this->getDao(); $ldapUserDao->createLdapUser($u->getId(), 0, $uid); return $u; } return false; }
/** * Create user account based on LDAP info. * * @param String $eduid * @param String $uid * @param String $cn * @param String $email * @return PFUser */ function createAccount($eduid, $uid, $cn, $email) { if (trim($uid) == '' || trim($eduid) == '') { return false; } $user = new PFUser(); $user->setUserName($this->generateLogin($uid)); $user->setLdapId($eduid); $user->setRealName($cn); $user->setEmail($email); // Generates a pseudo-random password. Its not full secure but its // better than nothing. $user->setPassword(md5((string) mt_rand(10000, 999999) . time())); // Default LDAP $user->setStatus($this->getLdap()->getLDAPParam('default_user_status')); $user->setRegisterPurpose('LDAP'); $user->setUnixStatus('S'); $user->setTimezone('GMT'); $user->setLanguageID($GLOBALS['Language']->getText('conf', 'language_id')); $um = $this->getUserManager(); $u = $um->createAccount($user); if ($u) { $u = $um->getUserById($user->getId()); // Create an entry in the ldap user db $ldapUserDao = $this->getDao(); $ldapUserDao->createLdapUser($u->getId(), 0, $uid); return $u; } return false; }
function account_create($loginname = '', $pw = '', $ldap_id = '', $realname = '', $register_purpose = '', $email = '', $status = 'P', $confirm_hash = '', $mail_site = 0, $mail_va = 0, $timezone = 'GMT', $lang_id = 'en_US', $unix_status = 'N', $expiry_date = 0) { $um = UserManager::instance(); $user = new PFUser(); $user->setUserName($loginname); $user->setRealName($realname); $user->setPassword($pw); $user->setLdapId($ldap_id); $user->setRegisterPurpose($register_purpose); $user->setEmail($email); $user->setStatus($status); $user->setConfirmHash($confirm_hash); $user->setMailSiteUpdates($mail_site); $user->setMailVA($mail_va); $user->setTimezone($timezone); $user->setLanguageID($lang_id); $user->setUnixStatus($unix_status); $user->setExpiryDate($expiry_date); $u = $um->createAccount($user); if ($u) { return $u->getId(); } else { return $u; } }