Exemple #1
0
 public function createsqluser($username, $password, $ldap_attribs = array())
 {
     global $AppUI;
     $hash_pass = MD5($password);
     if (!count($ldap_attribs) == 0) {
         // Contact information based on the inetOrgPerson class schema
         $c = new CContact();
         $c->contact_first_name = $ldap_attribs['givenname'][0];
         $c->contact_last_name = $ldap_attribs['sn'][0];
         $c->contact_city = $ldap_attribs['l'][0];
         $c->contact_country = $ldap_attribs['country'][0];
         $c->contact_state = $ldap_attribs['st'][0];
         $c->contact_zip = $ldap_attribs['postalcode'][0];
         $c->contact_job = $ldap_attribs['title'][0];
         $c->contact_email = $ldap_attribs['mail'][0];
         $c->contact_phone = $ldap_attribs['telephonenumber'][0];
         $c->contact_owner = $AppUI->user_id;
         $c->store();
         $contactArray = array('phone_mobile' => $ldap_attribs['mobile'][0]);
         $c->setContactMethods($contactArray);
     }
     $contact_id = $c->contact_id == null ? 'NULL' : $c->contact_id;
     $u = new CUser();
     $u->user_username = $username;
     $u->user_password = $hash_pass;
     $u->user_type = 0;
     // Changed from 1 (administrator) to 0 (Default user)
     $u->user_contact = (int) $contact_id;
     $u->store();
     $user_id = $u->user_id;
     $this->user_id = $user_id;
     $acl =& $AppUI->acl();
     $acl->insertUserRole($acl->get_group_id('anon'), $this->user_id);
 }
 public function createsqluser($username, $password, $ldap_attribs = array())
 {
     $hash_pass = $this->hashPassword($password);
     $u = new CUser();
     $u->user_username = $username;
     $u->user_password = $hash_pass;
     $u->user_type = 0;
     // Changed from 1 (administrator) to 0 (Default user)
     $u->user_contact = 0;
     $result = $u->store(null, true);
     $user_id = $u->user_id;
     $this->user_id = $user_id;
     $c = new CContact();
     if (count($ldap_attribs)) {
         // Contact information based on the inetOrgPerson class schema
         $c->contact_first_name = $ldap_attribs['givenname'][0];
         $c->contact_last_name = $ldap_attribs['sn'][0];
         $c->contact_city = $ldap_attribs['l'][0];
         $c->contact_country = $ldap_attribs['country'][0];
         $c->contact_state = $ldap_attribs['st'][0];
         $c->contact_zip = $ldap_attribs['postalcode'][0];
         $c->contact_job = $ldap_attribs['title'][0];
         $c->contact_email = $ldap_attribs['mail'][0];
         $c->contact_phone = $ldap_attribs['telephonenumber'][0];
         $c->contact_owner = $this->user_id;
         $result = $c->store();
         $contactArray = array('phone_mobile' => $ldap_attribs['mobile'][0]);
         $c->setContactMethods($contactArray);
     }
     //we may be able to use the above user element for this but I didnt know how it would handle an update after the store command so I created a new object.
     $tmpUser = new CUser();
     $tmpUser->load($user_id);
     $tmpUser->user_contact = $this->contactId($user_id);
     $tmpUser->store();
     $acl =& $this->AppUI->acl();
     $acl->insertUserRole($acl->get_group_id('normal'), $this->user_id);
 }
}
$obj->user_username = strtolower($obj->user_username);
// !User's contact information not deleted - left for history.
if ($del) {
    $result = $obj->delete($AppUI);
    $message = $result ? 'User deleted' : $obj->getError();
    $path = $result ? 'm=admin' : 'm=public&a=access_denied';
    $status = $result ? UI_MSG_ALERT : UI_MSG_ERROR;
    $AppUI->setMsg($message, $status);
    $AppUI->redirect($path);
}
$contact->contact_owner = $contact->contact_owner ? $contact->contact_owner : $AppUI->user_id;
$contactArray = $contact->getContactMethods();
$result = $contact->store($AppUI);
if ($result) {
    $contact->setContactMethods($contactArray);
    $obj->user_contact = $contact->contact_id;
    if ($obj->store($AppUI)) {
        if ($isNewUser && w2PgetParam($_POST, 'send_user_mail', 0)) {
            notifyNewUserCredentials($contact->contact_email, $contact->contact_first_name, $obj->user_username, $_POST['user_password']);
        }
        if (isset($_REQUEST['user_role']) && $_REQUEST['user_role']) {
            $perms =& $AppUI->acl();
            if ($perms->insertUserRole($_REQUEST['user_role'], $obj->user_id)) {
                $AppUI->setMsg('', UI_MSG_ALERT, true);
            } else {
                $AppUI->setMsg('failed to add role', UI_MSG_ERROR);
            }
        }
        $AppUI->setMsg($isNewUser ? 'User added' : 'User updated', UI_MSG_OK, true);
        $path = 'm=admin&a=viewuser&user_id=' . $obj->user_id . '&tab=2';
 public function testGetContactMethods()
 {
     $methods = array('phone_mobile' => '202-555-1212', 'url' => 'http://web2project.net', 'email_alt' => '*****@*****.**', 'im_skype' => 'example_s', 'im_google' => 'example_g');
     $contact = new CContact();
     $contact->contact_id = 1;
     $contact->setContactMethods($methods);
     $results = $contact->getContactMethods(array('phone_mobile', 'im_skype'));
     $this->AssertEquals(2, count($results));
     $this->assertEquals($methods['phone_mobile'], $results['phone_mobile']);
     $this->assertEquals($methods['im_skype'], $results['im_skype']);
 }