예제 #1
0
파일: nuevo.php 프로젝트: pablius/oob-n1
    $ari->t->display($ari->module->usertpldir() . "/login.tpl");
}
//nuevo
if (isset($_POST['register'])) {
    $usuario = new oob_user();
    $usuario->set('uname', $_POST['uname']);
    $usuario->set('password', $_POST['pass']);
    $usuario->set('email', $_POST['email']);
    $validation = $usuario->get('new_validation');
    if ($validation == "no") {
        $usuario->set('status', "1");
    } else {
        $usuario->set('status', "0");
    }
    if (!isset($_POST['condiciones']) || $_POST['condiciones'] != 'checkbox') {
        $usuario->error()->addError("INVALID_condiciones");
    }
    if (isset($_POST['pass']) && isset($_POST['passtwo']) && $_POST['pass'] === $_POST['passtwo']) {
        if ($usuario->store()) {
            $usuario->linkStandardGroup();
            oob_user::login($_POST['uname'], $_POST['pass']);
            if (isset($_SESSION['redirecting'])) {
                $dire = $_SESSION['redirecting'];
                unset($_SESSION['redirecting']);
                header("Location: " . $ari->get("webaddress") . $dire);
            } else {
                header("Location: " . $ari->get("webaddress") . $default_login);
            }
            exit;
        }
    }
예제 #2
0
    $id_status = oob_user::getStatus($_POST['cbo_estados'], false);
    $usuario->set('status', $id_status);
} else {
    throw new OOB_Exception_400("La variable [cbo_estados] no esta definida");
}
if (!isset($_POST['txt_repetir'])) {
    throw new OOB_Exception_400("La variable [txt_repetir] no esta definida");
}
// tratamos de grabar si puso los dos pass iguales
if ($_POST['txt_pass'] === $_POST['txt_repetir']) {
    if ($usuario->store()) {
        $resultado["success"] = true;
    }
} else {
    // si queremos agregar una validacion extra al objeto, lo que hacemos es agregar el ID del error en caso de que no la pase
    $usuario->error()->addError("MISSMATCH");
}
/* si el store devuelve false, es porque encontr\u00f3 errores de validacion, el metodo ->error()->getErrors() nos dice cuales fueron */
if ($errores = $usuario->error()->getErrors()) {
    // hacemos un array que contenga los posibles errores del objeto, y el campo y mensaje que le corresponden
    $error_codes = array();
    $error_codes['INVALID_PASS'] = array("id" => "txt_pass", "msg" => "Contraseña inválida (4 a 8 caracteres alfanuméricos)");
    $error_codes['MISSMATCH'] = array("id" => "txt_repetir", "msg" => "Las contraseñas no concuerdan");
    $error_codes['INVALID_USER'] = array("id" => "txt_usuario", "msg" => "El nombre de usuario no es válido");
    $error_codes['INVALID_EMAIL'] = array("id" => "txt_email", "msg" => "El e-mail ingresado no es válido");
    $error_codes['INVALID_STATUS'] = array("id" => "cbo_estados", "msg" => "El estado elegido no es válido");
    $error_codes['ALREADY_DELETED'] = array("id" => "cbo_estados", "msg" => "Este usuario ya se encuentra borrado");
    /* asignamos al array de resultado, los mensajes segun lo que viene del objeto */
    foreach ($errores as $error) {
        $resultado["errors"][] = $error_codes[$error];
    }