function evt__recordame() { //Primero verifico que se haya cumplimentado con el periodo minimo de vida de la contraseña $dias = toba_parametros::get_clave_validez_minima(toba::proyecto()->get_id()); if (!is_null($dias)) { if (!toba_usuario::verificar_periodo_minimo_cambio($this->s__usuario, $dias)) { toba::notificacion()->agregar('No transcurrio el período minimo para poder volver a cambiar su contraseña. Intentelo en otra ocasión'); return; } } //Si llego hasta aca es porque la respuesta funco, sino explota en la modificacion del form $this->enviar_mail_aviso_cambio(); toba::notificacion()->agregar('Se ha enviado un mail a la cuenta especificada, por favor verifiquela', 'info'); $this->set_pantalla('pant_inicial'); }
function evt__form_passwd_vencido__modificacion($datos) { $usuario = $this->s__datos['usuario']; if (toba::manejador_sesiones()->invocar_autenticar($usuario, $datos['clave_anterior'], null)) { //Si la clave anterior coincide $proyecto = toba::proyecto()->get_id(); //Verifico que no intenta volver a cambiarla antes del periodo permitido $dias_minimos = toba_parametros::get_clave_validez_minima($proyecto); if (!is_null($dias_minimos)) { if (!toba_usuario::verificar_periodo_minimo_cambio($usuario, $dias_minimos)) { toba::notificacion()->agregar('No transcurrio el período minimo para poder volver a cambiar su contraseña. Intentelo en otra ocasión'); return; } } //Obtengo el largo minimo de la clave $largo_clave = toba_parametros::get_largo_pwd($proyecto); try { toba_usuario::verificar_composicion_clave($datos['clave_nueva'], $largo_clave); //Obtengo los dias de validez de la nueva clave $dias = toba_parametros::get_clave_validez_maxima($proyecto); $ultimas_claves = toba_parametros::get_nro_claves_no_repetidas($proyecto); toba_usuario::verificar_clave_no_utilizada($datos['clave_nueva'], $usuario, $ultimas_claves); toba_usuario::reemplazar_clave_vencida($datos['clave_nueva'], $usuario, $dias); $this->es_cambio_contrasenia = true; //Bandera para el post_eventos } catch (toba_error_pwd_conformacion_invalida $e) { toba::logger()->info($e->getMessage()); toba::notificacion()->agregar($e->getMessage(), 'error'); return; } } else { throw new toba_error_usuario('La clave ingresada no es correcta'); } $this->set_pantalla('login'); }