joaosilvanovo1980 Postado Junho 23, 2014 Postado Junho 23, 2014 Ola a todos, sou novo aqui e preciso da ajuda de voces, tenho um whmcs 5.2.16 e nao consigo encontrar um script par validacao de cpf e cnpj, alguem poderia ajudar por favor, obrigado testei o abaixo mas nao funciona: "client","fieldname"=>$cfnCPF))); $cfnID = $data["id"]; foreach ($old_customfieldsarray as $cf) if (($cf["id"] == $cfnID) && ($cf["value"] != $_POST["customfield"][$cfnID])) { if (($permitirTrocaSomenteEmBranco && $cf["value"] != "") || (!$permitirTrocaSomenteEmBranco)) { $_POST["customfield"][$cfnID] = $cf["value"]; echo ""; } } } function validaCampo($vars) { global $cfnCPF,$errormessage,$tr,$permitirVazio,$permitirCPF,$permitirCNPJ; $data = mysql_fetch_array(select_query("tblcustomfields","id",array("type"=>"client","fieldname"=>$cfnCPF))); $cfnID = $data["id"]; $value = $_POST["customfield"][$cfnID]; if (!Empty($value)) { $value = SoNumeros($value); if ((strlen($value) == 11) && ($permitirCPF)) { if (!ValidaCPF($value)) $errormessage .= " O CPF informado é inválido"; else $_POST["customfield"][$cfnID] = ValidaCPF($value); } else if ((strlen($value) == 14) && ($permitirCNPJ)) { if (!ValidaCNPJ($value)) $errormessage .= " O CNPJ informado é inválido"; else $_POST["customfield"][$cfnID] = ValidaCNPJ($value); } else { $errormessage .= " O valor informado no campo ".$cfnCPF." é inválido"; } } else if (!$permitirVazio) { $errormessage .= " O campo ".$cfnCPF." é de preenchimento obrigatório"; } } function SoNumeros($num) { return ereg_replace('[^0-9]', '', $num); } function ValidaCPF($cpf) { $cpf = str_pad(ereg_replace('[^0-9]', '', $cpf), 11, '0', STR_PAD_LEFT); if (strlen($cpf) != 11 || $cpf == '00000000000' || $cpf == '99999999999') return false; for ($t = 9; $t < 11; $t++) { for ($d = 0, $c = 0; $c < $t; $c++) $d += $cpf{$c} * (($t + 1) - $c); $d = ((10 * $d) % 11) % 10; if ($cpf{$c} != $d) return false; } return substr($cpf,0,3).".".substr($cpf,3,3).".".substr($cpf,6,3)."-".substr($cpf,9,2); } function ValidaCNPJ($cnpj) { $cnpj = str_pad(ereg_replace('[^0-9]', '', $cnpj), 11, '0', STR_PAD_LEFT); if (strlen($cnpj) != 14 || $cnpj == '00000000000000' || $cnpj == '99999999999999') return false; $soma = ($cnpj[0]*5)+($cnpj[1] * 4)+($cnpj[2]*3)+($cnpj[3]*2)+($cnpj[4]*9)+($cnpj[5]*8)+($cnpj[6]*7)+($cnpj[7]*6)+($cnpj[8]*5)+($cnpj[9]*4)+($cnpj[10]*3)+($cnpj[11]*2); $d1 = ($soma % 11) < 2 ? 0 : 11 - ($soma % 11); $soma = ($cnpj[0]*6)+($cnpj[1]*5)+($cnpj[2]*4)+($cnpj[3]*3)+($cnpj[4]*2)+($cnpj[5]*9)+($cnpj[6]*8)+($cnpj[7]*7)+($cnpj[8]*6)+($cnpj[9]*5)+($cnpj[10]*4)+($cnpj[11]*3)+($cnpj[12]*2); $d2 = ($soma % 11) < 2 ? 0 : 11 - ($soma % 11); if ($cnpj[12] != $d1 || $cnpj[13] != $d2) return false; return substr($cnpj,0,2).".".substr($cnpj,2,3).".".substr($cnpj,5,3)."/".substr($cnpj,8,4)."-".substr($cnpj,12,2); } ?> 0 Citar
Administração AngelCosta Postado Junho 23, 2014 Administração Postado Junho 23, 2014 Dá pra ser um pouco mais específico sobre como vc usou o código? 0 Citar 'Cause he's my best friend, he's my pal. He's my homeboy, my rotten soldier. He's my sweet cheese. My good-time boy.
joaosilvanovo1980 Postado Junho 23, 2014 Autor Postado Junho 23, 2014 obrigdo pelo retorno eu peguei o codigo acima crir um arquivo chamado validacpf.php mandei para a pasta hook no whmcs, acessei o admin e criei o campo personalizado com o nome cpf ou cnpj, tipo texto, validacao: $validar=TRUE ,$permitirCPF=TRUE, $permitirCNPJ=TRUE porem mesmo o cpf valido da que nao é valido. obrigado pela atencao. 0 Citar
edvan Postado Junho 23, 2014 Postado Junho 23, 2014 Dá pra ser um pouco mais específico sobre como vc usou o código? Esse código é de um hook WHMCS. 0 Citar
joaosilvanovo1980 Postado Junho 23, 2014 Autor Postado Junho 23, 2014 sim querido e como fazer funcionar? 0 Citar
edvan Postado Junho 23, 2014 Postado Junho 23, 2014 sim querido e como fazer funcionar? Parece que seu código está incompleto, pega esse aqui Ou http://www.whmcs.blog.br/tutoriais-dicas/validacao-de-campos-no-whmcs-parte-1/ 0 Citar
joaosilvanovo1980 Postado Junho 23, 2014 Autor Postado Junho 23, 2014 esse tambem nao funciona.... pode ajudar? 0 Citar
edvan Postado Junho 23, 2014 Postado Junho 23, 2014 esse tambem nao funciona.... pode ajudar? Nenhum dos 2? Acredito que você está fazendo algo errado. 0 Citar
joaosilvanovo1980 Postado Junho 23, 2014 Autor Postado Junho 23, 2014 esse aqui quando faço o processo fica todo branco podem se for possivel mandar um passo a passo, desde ja agradeço muito. obrigado 0 Citar
DiegoNT Postado Julho 14, 2014 Postado Julho 14, 2014 Tem um erro na linha 24, basta acrescentar (Barra) \ antes das aspas, veja: echo "<script>setTimeout(\"alert('Você não pode alterar seu CPF ou CNPJ');\",1000); </script>"; Eu corrigi dessa forma, e o erro de php parou mas o hook não funcionou em meu WHMCS versão 5.3.7. Esse hook ainda funciona? 0 Citar
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.
Nota: Sua postagem exigirá aprovação do moderador antes de ficar visível.