McGuyver Postado Janeiro 14, 2015 Autor Compartilhar Postado Janeiro 14, 2015 Pessoal, Eu testei aqui e deu certo, só que olha só. Quando o cara entra no link que o sistema gera eu não consegui colocar o autologin nele, exemplo: Alguma sugestão? João, poderia explicar melhor o erro que ocorre para eu tentar te ajudar? 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Visitante varallo Postado Janeiro 14, 2015 Compartilhar Postado Janeiro 14, 2015 João, poderia explicar melhor o erro que ocorre para eu tentar te ajudar? Vamos lá, eu consigo hoje direcionar para a página dos tickets, mas não consegui colocar o autologin para ir direto ao ticket em sí, pois a URL do ticket, tem duas verificações. Como a seguir: www.seudominio.com.br/whmcs/viewticket.php?tid=871065&c=KTSgULw8 Eu gostaria de ajuda para colocar o autologin. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
McGuyver Postado Janeiro 14, 2015 Autor Compartilhar Postado Janeiro 14, 2015 Vamos lá, eu consigo hoje direcionar para a página dos tickets, mas não consegui colocar o autologin para ir direto ao ticket em sí, pois a URL do ticket, tem duas verificações. Como a seguir: www.seudominio.com.br/whmcs/viewticket.php?tid=871065&c=KTSgULw8 Eu gostaria de ajuda para colocar o autologin. João, o m0rpheu5 postou anteriormente que ele criou um arquivos com nomes diferentes para cada situação e ele compartilho o código que utilizou para o autoticket.php (nome que ele deu ao segundo arquivo): Funciona perfeitamente, eu aqui tenho o autofinan.php, autoticket.php e autologin.php, para ajudar, estou postando abaixo o conteúdo do autoticket.php que funcionou perfeitamente para mim. <?php # Define WHMCS URL & AutoAuth Key $whmcsurl = "http://www.seusite.com.br/pastadowhmcs/dologin.php"; $autoauthkey = "CHAVE AUTOAUTHKEY"; #AutoAuth Key, ATENCAO: deveráer definida tambéno arquivo configuration.php ! $secret_key = "CHAVESECRETKEY"; #Deve ser a mesma definida no Modelo de Email (Email Template) if (md5($_GET['email'].$secret_key) != $_GET['hash']) # As duas linhas abaixo estãdesativadas # header("Location: http://seudominio.com.br"); # exit; die();//dying here because hash is not equal $timestamp = time(); # Pega o horáo atual $email = $_GET['email']; # Email do Cliente para o Login # $goto = "clientarea.php"; # Here you can set default user page # Aqui foi definida como pagina padrao a fatura desejada. Poderia ser utilizada outra pagina, como na linha comentada acima. $goto = "supporttickets.php"; $hash = sha1($email.$timestamp.$autoauthkey); # Gera o Hash # Gera a URL do AutoAuth & Redireciona $url = $whmcsurl."?email=$email×tamp=$timestamp&hash=$hash&goto=".urlencode($goto); header("Location: $url"); exit; ?> Aqui funciona perfeitamente, o mesmo código eu uso para o autofinan e outro para o autologin, tudo rodando que é uma beleza. Tente efetuar a criação desse outro arquivo com o código acima e coloque-o no seu template. Pelo que o m0rpheu5 citou o código funcionou normalmente! 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Visitante varallo Postado Janeiro 14, 2015 Compartilhar Postado Janeiro 14, 2015 João, o m0rpheu5 postou anteriormente que ele criou um arquivos com nomes diferentes para cada situação e ele compartilho o código que utilizou para o autoticket.php (nome que ele deu ao segundo arquivo): Tente efetuar a criação desse outro arquivo com o código acima e coloque-o no seu template. Pelo que o m0rpheu5 citou o código funcionou normalmente! @McGuyver, Este caso, eu consegui usar. Só que se ver url para onde ele redireciona, é para a página de Tickets, e não ao ticket em sí, entende? O que quero dizer é o seguinte, olha o email que desenvolvi. Se ver, ele tem dois botôes, um que vai para o ticket e outro que vai para a página de tickets. O botão de chamados abertos estou usando o script que postou. E o botão do ver ticket, quando a pessoa clica, precisa logar sabe?: 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
McGuyver Postado Janeiro 14, 2015 Autor Compartilhar Postado Janeiro 14, 2015 Verdade João... Desculpe a falta de atenção... O script do m0rpheu5 não tem a variável para o ticket em si... Vou tentar localizar aqui maiores informações e já posto, OK? 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
chuvadenovembro Postado Janeiro 14, 2015 Compartilhar Postado Janeiro 14, 2015 Pessoal, Nem sei se isso aqui já foi compartilhado, mas achei em um site aqui, um link para o github do zmjwong. Lá ele disponibilizou um autologin, ver se é útil para alguém. Segue link: https://github.com/zmjwong/whmcs-autoauth-invoice Testei e funcionou. Valew pela dica. 1 Citar █ AtarWeb.com.br • Hospedagem de Site + SSL Grátis █ Revenda de Hospedagem DirectAdmin SSD + SSL Grátis Link para o comentário Compartilhar em outros sites More sharing options...
McGuyver Postado Janeiro 14, 2015 Autor Compartilhar Postado Janeiro 14, 2015 Chuva, na verdade esse aí é basicamente o mesmo script que foi ajustado e adaptado pelo zmjwong ( o Jon que aparece nos comentários finais na página do script original: http://www.whmcsjet.com/autologin-link-in-whmcs-email/) e transformado em módulo para facilitar a instalação. ;-) No post do site original vocês podem notar que o próprio autor incorporou as modificações que eu sugeri e que postei aqui, na época! Heheheheeh!! \o/ 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
McGuyver Postado Janeiro 14, 2015 Autor Compartilhar Postado Janeiro 14, 2015 Bem, depois de muito quebrar a cabeça aqui (lembrem-se que eu não sou programador, OK?), consegui fazer o sistema funcionar, alterando o autoticket do m0rpheu5 para o código abaixo: WHMCS URL & AutoAuth Key $whmcsurl = "http://www.seusite.com.br/pastadowhmcs/dologin.php"; $autoauthkey = "CHAVE AUTOAUTHKEY"; #AutoAuth Key, ATENCAO: deverá ser definida também no arquivo configuration.php ! $secret_key = "CHAVESECRETKEY"; #Deve ser a mesma definida no Modelo de Email (Email Template) if (md5($_GET['email'].$secret_key) != $_GET['hash']) # As duas linhas abaixo estão desativadas # header("Location: http://seudominio.com.br"); # exit; die();//dying here because hash is not equal $timestamp = time(); # Pega o horário atual $email = $_GET['email']; # Email do Cliente para o Login # $goto = "clientarea.php"; # Here you can set default user page # Aqui foi definida como pagina padrao o ticket desejado. Poderia ser utilizada outra pagina, como na linha comentada acima. $ticketlink = $_GET['ticketlink']; $c = $_GET['c']; $goto = "viewticket.php".strstr($ticketlink,'?tid=')."&c=".$c; $hash = sha1($email.$timestamp.$autoauthkey); # Generate Hash # Generate AutoAuth URL & Redirect $url = $whmcsurl."?email=$email×tamp=$timestamp&hash=$hash&goto=".urlencode($goto); header("Location: $url"); exit; ?> Também será necessário alterar o(s) template(s) de e-mail de suporte com algo como: <p>{assign var='hash' value=$client_email|cat:"CHAVESECRETKEY"}</p> <p><a href="{$whmcs_url}/autoticket.php?email={$client_email}&hash={$hash|md5}&ticketlink={$ticket_url}" target="_blank">Clique aqui para acessar seu Ticket</a></p> O importante é notar o link à ser utilizado. Segue abaixo apenas o link: {$whmcs_url}/autoticket.php?email={$client_email}&hash={$hash|md5}&ticketlink={$ticket_url} Como podem notar, na passagem de parâmetros para o autoticket.php é enviada a variável $ticket_url por último e no autoticket existe a captura da variável $c separadamente, pois por algum motivo as coisas não funcionaram como eu achava que funcionariam! Hehehehe... :-D Creio que qualquer um com um pouco de conhecimento de programação possa descobrir o erro na extração do conteúdo da variável $ticket_url e corrigir o código! De qualquer forma, pelos meus testes, isso aí funciona! ;-) Testem, acertem o código e me informem, OK? Abraços! 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Visitante varallo Postado Janeiro 14, 2015 Compartilhar Postado Janeiro 14, 2015 Obrigado mano, vou fazer uns testes. Para eu utilizar este script, eu tive que tirar o "die();" da linha 12. Será que não seria isso que está dando problema? Vou efetuar os testes e retorno aqui se funcionou. Mesmo assim agradeço novamente. ;D 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
McGuyver Postado Janeiro 14, 2015 Autor Compartilhar Postado Janeiro 14, 2015 João, o die() só será executado se houver um erro de verificação do hash. Se você tirar ele o autologin não funcionará corretamente, pois em caso de um erro na verificação do código hash, ou seja, com uma string falsa, o script será executado normalmente, coisa que não deveria ocorrer. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
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.