Jump to content

Atualização whmcs v7.2.2 (incremental)


Recommended Posts

É @gofas, eu tbm acho que atualizar o módulo é mais viável...
Mas nesse caso que eu postei, parece que o erro está na chamada da API e não no retorno dela como vc comentou...

Eu até tentei corrigir seu módulo, mas o erro está no arquivo
/includes/api/getclientsdetails.php
que é encriptado e não dá pra editar...

Link to comment
Share on other sites

11 minutos atrás, adamkain disse:

É @gofas, eu tbm acho que atualizar o módulo é mais viável...
Mas nesse caso que eu postei, parece que o erro está na chamada da API e não no retorno dela como vc comentou...

Eu até tentei corrigir seu módulo, mas o erro está no arquivo
/includes/api/getclientsdetails.php
que é encriptado e não dá pra editar...

 O nosso módulo não possui nenhum arquivo com esse nome/caminho nem arquivos encriptados, acho que vc está confundindo o meu módulo com algum outro do mercado.

Link to comment
Share on other sites

Não @gofas... É o seu sim!!!
Eu até abri um tópico de suporte na página do seu módulo...
https://gofas.net/foruns/topico/problema-getresponseformat-no-hook/

No arquivo includes\hooks\gofas_hash_email.php - Versão 2.1
Na linha 45

$getClientValues['clientid'] = $user_id; // $user_id = 1
$getClientValues['stats'] = true;
$getClientValues['responsetype'] = 'json';
$getClientResults = localAPI( 'getclientsdetails', $getClientValues, $whmcsAdmin );

Se eu colocar logo abaixo um
var_dump($getClientResults); die();

Era pra imprimir o array que vc falou, correto??? Que seria a resposta da localAPI->getclientdetails
Mas isso não acontece e ocorre a exceção que está nesse print...
https://prnt.sc/ff5qqv

Link to comment
Share on other sites

Sim,  includes\hooks\gofas_hash_email.php é do meu módulo.

As versões 7.2.1 e 7.2.2 do WHMCS introduziram alguns bugs, entre eles, houve alteração na estrutura dos arrays retornados pela requisição remota à API interna do WHMCS, mas o que fez o autologin parar de funcionar foi por quê e a ação “GetClientsDetails” da função localAPI() (simplesmente) não funciona mais, pois provavelmente a estrutura da requisição foi alterada, mas os desenvolvedores do WHMCS ainda não atualizaram a documentação nem mencionaram nada sobre esse assunto nos canais da empresa.

Como esse módulo é de extrema importância para algumas instalações WHMCS que administramos para nossos clientes, atualizamos ele há alguns minutos, agora o autologin conecta-se diretamente ao banco de dados utilizando as funções do Laravel framework para obter os dados do cliente e verificar o URL gerado dinamicamente, evitando erros devido as alterações nas funções da API interna do WHMCS.

Você já pode baixar a versão 2.2 do módulo nesse link.

ps.: var_dump($getClientResults) imprime o array diretamente na página administrativa que o e-mail está sendo disparado, para evitar essa "deselegância", o módulo possui a tag {$debug} que ao ser adicionada ao template de e-mail, adiciona ao corpo do e-mail uma representação json dos array retornados.

Link to comment
Share on other sites

19 horas atrás, adamkain disse:

Parece ter um bug no uso da localAPI nessa versão 7.2.2 @edvan

De acordo com a documentação nesse link
https://developers.whmcs.com/api-reference/getclientsdetails/

Essa forma de usar a API Local, não está funcionando.


$command = 'GetClientsDetails';
$postData = array(
    'clientid' => '1',
    'stats' => true
);
$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later

$results = localAPI($command, $postData, $adminUsername);
print_r($results);

Ele retorna um erro antes desse print_r($results);
https://prnt.sc/ff5qqv

Mesmo se adicionar a chave 'responsetype' => 'json'
Ocorre a exceção do print


$command = 'GetClientsDetails';
$postData = array(
	'clientid' => '1',
	'stats' => true,
	'responsetype' => 'json'
);


Essa forma de usar a localAPI é utilizada no auto login 2.1 do @gofas
E com isso, parou de funcionar o envio de qualquer email que passe pelo hook.

Eu abri um ticket no WHMCS e estou aguardando ainda...

Foi corrigido no dia 01/06.

No link https://forum.whmcs.com/showthread.php?129786-CORE-11346-Call-to-a-member-function-getResponseFormat()-on-null-Error&p=519034#post519034 você poderá baixar o hotfix.

Link to comment
Share on other sites

8 horas atrás, gofas disse:

Sim,  includes\hooks\gofas_hash_email.php é do meu módulo.

As versões 7.2.1 e 7.2.2 do WHMCS introduziram alguns bugs, entre eles, houve alteração na estrutura dos arrays retornados pela requisição remota à API interna do WHMCS, mas o que fez o autologin parar de funcionar foi por quê e a ação “GetClientsDetails” da função localAPI() (simplesmente) não funciona mais, pois provavelmente a estrutura da requisição foi alterada, mas os desenvolvedores do WHMCS ainda não atualizaram a documentação nem mencionaram nada sobre esse assunto nos canais da empresa.

Como esse módulo é de extrema importância para algumas instalações WHMCS que administramos para nossos clientes, atualizamos ele há alguns minutos, agora o autologin conecta-se diretamente ao banco de dados utilizando as funções do Laravel framework para obter os dados do cliente e verificar o URL gerado dinamicamente, evitando erros devido as alterações nas funções da API interna do WHMCS.

Você já pode baixar a versão 2.2 do módulo nesse link.

ps.: var_dump($getClientResults) imprime o array diretamente na página administrativa que o e-mail está sendo disparado, para evitar essa "deselegância", o módulo possui a tag {$debug} que ao ser adicionada ao template de e-mail, adiciona ao corpo do e-mail uma representação json dos array retornados.

Sim @gofas, eu vi na sua documentação como usar a {$debug}, mas com essa exception o email não chega a ser enviado e só exibe igual no print q mandei.
Ou seja, para descobrir onde estava o problema, eu usei essa var_dump seguido com die;

Mas enfim, sua solução de conectar diretamente ao banco com "use WHMCS\Database\Capsule;" tbm foi muito boa.
Valeu pela rápida resposta man...

4 horas atrás, edvan disse:

Poxa, show de bola @edvan
Quando abri um ticket pra vc, eles ainda não haviam postado esse hotfix.

Mas blz man...Muito obrigado.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Do you agree with our terms?