header('location: login.php'); } else { $error = 'Usuario o clave Inválida'; } } } else { if ($_GET['op'] == 'forgot') { if (!checkRecaptchar(RECAPTCHAR_SECRET, $_POST['g-recaptcha-response'])) { $error = 'reCAPTCHA Inválido'; } else { $userForgot = User::getUserByUsername($_POST['user']); if (!$userForgot) { $userForgot = User::getUserByMail(strtolower($_POST['user'])); } if ($userForgot) { $newPassword = User::generateRandomPassword(8); if (User::updateUser($userForgot->id, $userForgot->rol, $userForgot->mail, $newPassword)) { $msj = 'Se le envió un correo electrónico con su nueva clave.'; email($userForgot->mail, 'Nueva Clave', 'Sr(a). ' . $userForgot->name . ',<br /><br />Su nueva clave de ingreso al sistema es: <b>' . $newPassword . '</b>'); } else { $error = 'Ocurrió un error interno, intente más tarde.'; } } else { $error = 'Usuario o E-Mail no está registrado'; } } } else { if ($_GET['op'] == 'register') { $countries = getCountries(); if (strlen($_POST['user']) < 3 || !validUsername($_POST['user'])) { $error = '- El usuario debe tener al menos cuatro caracteres y el primer caracter no puede ser un número<br />';
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);