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);