Código de Identificação – PIN

69

Hoje em dia a utilização de um código de identificação (chamarei de PIN para simplificar) para fins de validação/ativação de recursos é bastante comum seja em webmail, internet banking e etc… Algumas empresas de hospedagem utilizam esse PIN seja no atendimento online (chat) ou telefone, pensando nisso resolvi implementar no WHMCS. A príncipio utilizei uma programação em PHP mas otimizei o código para utilização via Smarty o que a meu ver gerou um excelente resultado! Uma explicação rápida, o PIN será gerado apartir do ID do cliente por ser um código único para cada cliente, em seguida iremos gerar um MD5 e efetuar algumas personalizações para exibir o PIN ao cliente/admin.

É possível gerar o PIN com N resultados, mas vou estabelecer 2 padrões: por data (diário, mensal ou anual) ou PIN único ( será sempre o mesmo código e nunca será alterado ).

Iremos inserir o código em 2 lugares ( no admin e no painel cliente )… detalhe você precisa saber qual theme/tema esta utilizando. No exemplo abaixo  a cada mês (%m) será gerado um novo PIN com 6 dígitos dígitos!

– Admin WHMCS

Estou utilizando o Blend que fica localizado em /meuadmin/templates/blend/ editarei o arquivo clientssummary.tpl procure a linha 37  e insira:

[code lang=”html”]
<div class="clientssummarybox">
<div class="title">PIN</div>
{assign var=’pin’ value=$smarty.now|date_format:"%m"|cat:$clientsdetails.userid}
<center>
<h1><b>
{$pin|md5|regex_replace:"/[^0-9]/":""|truncate:6:""}
</b></h1>
</center></div>
[/code]

– Cliente WHMCS

Já para o cliente, utilizei o Default que está localizado em /meuwhmcs/templates/default/ editamos o clientareahome.tpl e apartir da linha 37  inserimos o código:

[code lang=”php”]
<div class="alert alert-info">
Código PIN:{assign var=’pin’ value=$smarty.now|date_format:"%m"|cat:$clientsdetails.userid}<b>
{$pin|md5|regex_replace:"/[^0-9]/":""|truncate:6:""}
</b></div>
[/code]

Confira o resultado final ( lado esquerdo admin / direito painel do cliente )

PIN ( Painel Admin x Cliente )

Algumas Personalizações:

Como altero a quantidade de dígitos: Altere o truncate de para quantidade que desejar.

Alterar o período de geração do PIN: Diário vá em date_format e substitua o atributo %m para %d ou para anual altere para %Y

PIN Único: Remova o atributo $smarty.now|date_format:”%m”|cat:

Gostaria que o PIN fosse alfa-númerico: Remova o atributo regex_replace:”/[^0-9]/”:””|

Poderia enviar o PIN no e-mail de boas vindas ( Client Signup Email ): Sim, edite o template Client Singnup Email e insira:

[code lang=”php”]
<br>PIN:&nbsp;{assign var=’pin’ value=$smarty.now|date_format:"%m"|cat:$client_id}
{$pin|md5|regex_replace:"/[^0-9]/":""|truncate:6:""}
[/code]

Observação: Se você estiver utilizando o PIN por data, lembre-se que a cada mês o PIN é alterado automaticamente. Essa opção seria interessante para quem utiliza o PIN único ou coloque uma observação informando ao cliente que o PIN é válido mensalmente!

É possível visualizar o PIN no ticket via ADMIN? Sim, o código é diferente! Edite o arquivo viewticket.tpl  localizado em /meuadmin/templates/blend/ e altere a linha 188 para:

[code lang=”php”]
{assign var=’pin’ value=$smarty.now|date_format:"%m"|cat:$userid}
– PIN<b>
{$pin|md5|regex_replace:"/[^0-9]/":""|truncate:6:""}</b>
[/code]

Demonstração:

PIN via Ticket

Para facilitar sua vida e não ter desculpas, estou disponibilizando os arquivos já modificados/testados na versão 5.1.3 para os templates admin WHMCS ( blend, original e v4 ) e para o painel do cliente WHMCS (classic, default e portal). Agora ficou fácil, faça o download do , descompacte e envie o arquivo de acordo com seu template ( admin/cliente ).

Se você utiliza uma versão do WHMCS inferior a 5.X.X não conseguirá utilizar o PIN por data, apenas por PIN único. Exemplo:

[code lang=”html”]
{assign var=’pin’ value=$clientsdetails.userid}
[/code]

Gostou? Comente!

Deseja fazer alguma doação? Clique aqui

Agradeço desde já as empresas que fizeram doação:

– Flávio –  https://www.lim-apo.com.br/

69 COMENTÁRIOS

  1. Edvan, Funcionou perfeitamente, segunda feira, irei realizar a Doação… Perfeito.

    Quero saber se é possível fazer um hook ou algo assim, para poder usar o PIN no campo de Busca do admin.

    Por exemplo, quando um cliente liga ao invés de ele informar o nome, informar o PIN dele.

  2. Edvan, Funcionou perfeitamente, segunda feira, irei realizar a Doação… Perfeito.

    Quero saber se é possível fazer um hook ou algo assim, para poder usar o PIN no campo de Busca do admin.

    Por exemplo, quando um cliente liga ao invés de ele informar o nome, informar o PIN dele.

  3. Edvan, meu WHMCS apresenta um erro ao acessar o aviso de fatura em atraso, aquele link que fica na home da área do cliente. Quando clico no link ele apenas atualiza a página e não leva para a fatura. verifiquei a url e termina com “clientarea.php?action=masspay&all=true” gostaria de saber se você já possou por esse problema e se tem alguma correção.

    Obrigado pela atenção!

  4. Edvan, meu WHMCS apresenta um erro ao acessar o aviso de fatura em atraso, aquele link que fica na home da área do cliente. Quando clico no link ele apenas atualiza a página e não leva para a fatura. verifiquei a url e termina com “clientarea.php?action=masspay&all=true” gostaria de saber se você já possou por esse problema e se tem alguma correção.

    Obrigado pela atenção!

  5. Eu subi os arquivos e não houve nenhuma alteração no WHMCS. Nada
    mudou.. Que estranho! Limpei o cache e os cookies e segue sem
    alteração. Subi os seus arquivos já modificados. 🙁

    • Muito estranho… a melhor hipótese do que está ocorrendo é que as alterações enviadas não estão fazendo efeito para o referido template!

      Certifique-se de qual template seu WHMCS ( admin/cliente ) esteja utilizando, renomei/exclua o arquivo a ser enviado e envie!

  6. Eu subi os arquivos e não houve nenhuma alteração no WHMCS. Nada
    mudou.. Que estranho! Limpei o cache e os cookies e segue sem
    alteração. Subi os seus arquivos já modificados. 🙁

    • Muito estranho… a melhor hipótese do que está ocorrendo é que as alterações enviadas não estão fazendo efeito para o referido template!

      Certifique-se de qual template seu WHMCS ( admin/cliente ) esteja utilizando, renomei/exclua o arquivo a ser enviado e envie!

  7. @whmcsblogbr:disqus fiz como descrito no post mas so obtive sucesso com o arquivo “clientareahome.tpl” já nos outros dois não vai nem a pau.

    Já limpei o cache, cookies e fiz o procedimento que o @google-be28fbae33e46399f4ab12a3315c43b4:disqus citou e nada. :S

    Estou usando a versão 5.2.3, sera que mudou alguma coisa?

  8. @whmcsblogbr:disqus fiz como descrito no post mas so obtive sucesso com o arquivo “clientareahome.tpl” já nos outros dois não vai nem a pau.

    Já limpei o cache, cookies e fiz o procedimento que o @google-be28fbae33e46399f4ab12a3315c43b4:disqus citou e nada. :S

    Estou usando a versão 5.2.3, sera que mudou alguma coisa?

      • Certo, mas me parece ter o mesmo objetivo ou bem parecido. Se o cliente quiser mudar o PIN por ter compartilhado com alguém e não quer mais que essa pessoa tenha acesso ao suporte por telefone, é possível o cliente ou o suporte mudar o PIN apenas num cliente específico?

        • Sim, é possível.

          Existe N maneiras de fazer isso, vou dá uma dica… associar o código a outro campo ou modificar a geração para diário e etc…

DEIXE UMA RESPOSTA

Please enter your comment!
Please enter your name here