Administração AngelCosta Postado Abril 7, 2009 Administração Compartilhar Postado Abril 7, 2009 Sempre fui fã de serviços que oferecem coisas extras, do tipo "quanto mais você usar, mais coisas você ganha". E qual brasileiro não gosta? Eu já retirei um celular na Oi, bônus no Hiper/Walmart e outras coisas apenas por usar determinados serviços. Você poderia então fazer parecido. Eu criei um sistema de pontos para whmcs, mas eu vou ensinar a lógica de modo que você consiga reproduzir mesmo usando outro gerenciador. Identificando o item a ser levado em consideração Vamos presumir que você queira dar bônus de acordo com os pagamentos efetuados ao longo da "vida ativa" do cliente no seu host. Então, aqui vamos usar como base as cobranças pagas. Você poderia também dar descontos com base no número de serviços contratados, como domínios ou conta de hospedagens. Aliás, nada impede que você faça dois sistemas de pontos com critérios distintos. É interessante que você já use banco de dados para que possa "puxar" da base cada item necessário - no nosso caso, cobranças pagas. No PHPMyAdmin É hora de descobrir onde estão os dados que queremos. Por exemplo, no whmcs, vamos usar a tabela tblinvoices, que é onde estão contidos os pagamentos (pagos, cancelados, em aberto, etc.). Desta tabela, vão nos interessar os seguintes campos: Status - Define o estado atual da cobrança. Queremos todas as cobranças pagas, logo, só desejo listar itens com status=paid; Userid - Como a pontuação é diferente para cada usuário, precisamos recuperar apenas as cobranças de um determinado cliente. Subtotal - Campo que diz quanto o cliente pagou em cada cobrança A lógica Agora precisamos definir o cálculo para montar o código. É bem simples: Selecionar o usuário - pegando a id do usuário podemos deixar o sistema único para cada cliente; Filtrar cobranças - já que sabemos quem é o cliente, vamos selecionar as cobranças dele; Somente as pagas - precisamos apenas da soma total da cobranças pagas. O código No whmcs, fica assim: {php} $link = mysql_connect($db_host,$db_username,$db_password); mysql_select_db($db_name); $usuario = $_SESSION['uid']; $result = mysql_query("SELECT sum(subtotal) as total FROM tblinvoices WHERE status='Paid' AND userid='$usuario'"); while ($row = mysql_fetch_array($result)) { $ponto = explode(".",$row['total']); $pontos = $ponto['0']; echo "Voce tem atualmente: ". $pontos. " pontos"; } {/php} Explicando o código acima: $link = mysql_connect($db_host,$db_username,$db_password); - Conectando ao servidor de banco de dados com respectivamente: servidor (normalmente localhost), login do usuário, senha do usuário. Se não usar whmcs, substitua pelos seus dados. Por exemplo: $link = mysql_connect ('localhost','admin','123456'); mysql_select_db($db_name); - Escolhendo o banco de dados a ser trabalhado. Ex: mysql_select_db ('meu-banco-de-dados'); $usuario = $_SESSION['uid']; - Daqui vamos conseguir a variável correspondente ao id do usuário que está definida em sessão. Para ver quais são as variáveis disponíveis no seu sistema: $result = mysql_query("SELECT sum(subtotal) as total FROM tblinvoices WHERE status='Paid' AND userid='$usuario'"); - Estamos selecionando a soma (sum) e apelidando os resultados de total. Dizemos também que só queremos resultados da tabela tblinvoices ONDE o status seja pago (PAID) e que pertençam ao nosso cliente $usuario. while ($row = mysql_fetch_array($result)) { - Chamamos os resultados. $ponto = explode(".",$row['total']); - Pedimos que ignore tudo depois do ponto - o whmcs não usa vígula para separar decimais (sim, eu sei que existe uma função para arredondar, mas eu queria apenas ignorar os centavos. $pontos = $ponto['0']; - Me retorna a primeira parte da minha array, ou seja, a pontuação com um valor inteiro. O resultado da pontuação do cliente está na variável $pontos. Onde ele está? Pronto. Agora basta criar uma tabela mostrando as suas faixas de pontuação. Veja aqui o nosso exemplo para situar um cliente dentro de uma faixa de pontos, bem como o programa pronto. 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. Link para o comentário Compartilhar em outros sites More sharing options...
Visitante Postado Abril 7, 2009 Compartilhar Postado Abril 7, 2009 @Nero Sued, Legal, né? Quero trazer mais dicas práticas, se alguém tiver alguma sugestão... 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Visitante Postado Abril 7, 2009 Compartilhar Postado Abril 7, 2009 Muito bom o sistema, mas ficou algo pendente, como zerar os pontos quando o cliente trocar eles por algo na empresa? 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Visitante Postado Abril 7, 2009 Compartilhar Postado Abril 7, 2009 Nossa, como dizem: show de boa. Muito bom Angélica, e pela explicação do funcionamento também. Só entregar pronto não tem graça. E com a explicação você já abre a mente de muita gente pra fazer outras coisas com o WHMCS. Meus parabéns. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Visitante Postado Abril 7, 2009 Compartilhar Postado Abril 7, 2009 @César, No meu caso, eu queria apenas acumular pontos, como não há resgate, não há necessidade. Mas você poderia criar uma nova tabela, com os valores resgatados. Daí, você pegaria da tabela tblinvoices os valores acumulados no TOTAL e subtrairia os valores dos resgates... assim restariam apenas o saldo atual. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Visitante Postado Maio 1, 2009 Compartilhar Postado Maio 1, 2009 O link http://blogdohost.com/downloads/netpoints.zip está fora... Muito bom o post, parabéns! 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Visitante Postado Maio 18, 2009 Compartilhar Postado Maio 18, 2009 Baixei o arquivo que está em TPL, onde devo colocar ele e como abrir ele? é só enviar para a pasta do tema do whmcs(portal ou default)? 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Visitante Postado Maio 19, 2009 Compartilhar Postado Maio 19, 2009 @Alisson O arquivo já foi enviado ao servidor, está pronto para download. @Flavio Se for usar em uma página extra do seu whmcs, tem que usar o template system deles, dê uma olhada no site do ed sobre como fazer isso: http://whmcs.blog.br/ Se for usar em alguma página já existente, basta colar. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Visitante Postado Maio 20, 2009 Compartilhar Postado Maio 20, 2009 *Angélica* Não achei no blog do ed. Tem o link direto? 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Visitante Postado Maio 20, 2009 Compartilhar Postado Maio 20, 2009 @Flavio Creio que ainda funciona na nova versão (se você usar a 4), mas aí vai o link para criação de páginas: http://whmcs.blog.br/principal/criando-uma-pagina-no-whmcs/ 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.