Exemplo n.º 1
0
 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');
 }
Exemplo n.º 2
0
 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');
 }