Olá,
Esta issue tem duas partes, ambas referentes ao código em brazilianids.check.inc
A primeira:
As seguintes funções
_brazilianids_validate_cnpj(&$cnpj, $clean = TRUE)
_brazilianids_validate_cpf(&$cpf, $clean = TRUE)
recebem como parâmetro este $clean, mas fazem a seguinte verificação:
if (empty($clean)) { .... }
Isto está errado, porque empty(FALSE) é TRUE, invalidando o que está escrito na própria documentação:
" @param $clean Boolean, FALSE to not clear the number".
A segunda:
A limpeza das strings está sendo reescrita toda vez, e fazendo uso da função eregi_replace, que está deprecated.
Além disso, algumas vezes se retira a barra ( / ) e outras não [caso problemático na linha 115, na limpeza do CNPJ, que normalmente tem barra].
Sugiro, em meu patch, centralizar a limpeza da string, passando a usar a função preg_replace, e quanto à verificação da variável $clean, sugiro não colocá-la dentro de um empty.
| Comment | File | Size | Author |
|---|---|---|---|
| brazilianids.check_.inc_.patch | 2.64 KB | eltermann |
Comments
Comment #1
franzIt's working fine so on so far
Comment #2
wasare commentedfelipe.eltermann,
Your patch was applied to repository. I did a little improvement in your regexp (i think). I replaced '/[.\-\/A-Za-z]/' for '/[^0-9]/'.
Cheers,
wasare