Beispiel #1
0
             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 />';
Beispiel #2
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);