/**
  * Create user account based on LDAP info.
  *
  * @param  String $eduid
  * @param  String $uid
  * @param  String $cn
  * @param  String $email
  * @return User
  */
 function createAccount($eduid, $uid, $cn, $email)
 {
     if (trim($uid) == '' || trim($eduid) == '') {
         return false;
     }
     $user = new User();
     $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) {
         // Create an entry in the ldap user db
         $ldapUserDao = $this->getDao();
         $ldapUserDao->createLdapUser($u->getId(), 0, $uid);
         return $u;
     }
     return false;
 }
Example #2
0
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 User();
    $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;
    }
}