Example #1
0
        http_response_code(400);
        die("Missing parameter: " . $par);
    }
    ${$par} = $request[$par];
}
$newuser = new User();
$newuser->cn = $cn;
$newuser->mail = $mail;
$newuser->sn = $sn;
$newuser->givenName = $givenName;
$newuser->displayName = $givenName . ' ' . $sn;
$newuser->dn = 'cn=' . $cn . ',' . USER_DN;
// store to LDAP
$ldapconn = ldap_bind_session();
$retval = array();
if ($newuser->addToDirectory($ldapconn) === true) {
    // success
    http_response_code(200);
    $user = User::readUser($ldapconn, $newuser->dn);
    $user->loadGroupInformation();
    $newpassword = User::generateRandomPassword();
    $user->changePassword($newpassword);
    $retval["user"] = $user;
    $retval["password"] = $newpassword;
} else {
    http_response_code(500);
    $retval["detail"] = ldap_error($ldapconn);
    $retval["message"] = "Could not write change to LDAP directory";
}
ldap_close($ldapconn);
echo json_encode($retval);