$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; } }
$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]; }