geraDv43

The WooCommerce Boleto geraDv43 function.

Description

geraDv43( $num ); 

Parameters (1)

0. $num
The num.

Usage

  1. if ( !function_exists( 'geraDv43' ) ) { 
  2. require_once ABSPATH . PLUGINDIR . 'woocommerce-boleto/includes/banks/nossacaixa/functions.php'; 
  3.  
  4. // The num. 
  5. $num = null; 
  6.  
  7. // NOTICE! Understand what this does before running. 
  8. $result = geraDv43($num); 
  9.  

Defined (1)

The function is defined in the following location(s).

/includes/banks/nossacaixa/functions.php  
  1. function geraDv43( $num ) { 
  2. $numtotal10 = 0; 
  3. $fator = 2; 
  4.  
  5. // Separacao dos numeros 
  6. for ( $i = strlen( $num ); $i > 0; $i-- ) { 
  7. // pega cada numero isoladamente 
  8. $numeros[$i] = substr( $num, $i-1, 1 ); 
  9. // Efetua multiplicacao do numero pelo (falor 10) 
  10. // 2002-07-07 01:33:34 Macete para adequar ao Mod10 do Ita 
  11. $temp = $numeros[$i] * $fator; 
  12. if ( $temp > 9 ) $temp=$temp-9; // Regra do banco NossaCaixa 
  13. $temp0=0; 
  14. foreach ( preg_split( '//', $temp, -1, PREG_SPLIT_NO_EMPTY ) as $k=>$v ) { $temp0+=$v; } 
  15. $parcial10[$i] = $temp0; //$numeros[$i] * $fator; 
  16. // monta sequencia para soma dos digitos no (modulo 10) 
  17. $numtotal10 += $parcial10[$i]; 
  18. if ( $fator == 2 ) { 
  19. $fator = 1; 
  20. } else { 
  21. $fator = 2; // intercala fator de multiplicacao (modulo 10) 
  22.  
  23. // vrias linhas removidas, vide funo original 
  24. // Calculo do modulo 10 
  25. $resto = $numtotal10 % 10; 
  26.  
  27. if ( $resto == 0 ) { 
  28. $dv = 0; 
  29. } else { 
  30. $dv = 10 - $resto; 
  31.  
  32. return $dv; 
  33.