Jump to content

Edultra

Members
  • Content count

    3327
  • Joined

  • Last visited

Community Reputation

13 Levemente Bom

About Edultra

  • Rank
    ...Open Source Matters...
  • Birthday 10/13/1981

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    Curitiba - PR

Contato

  • Facebook
    http://www.facebook.com/eduardo.souza.16940

Recent Profile Visitors

3544195 profile views
  1. Edultra

    Como fazer um CRUD no Joomla

    For não for utilizar módulos ou plugins que ja existem você terá que desenvolver seu próprio módulo: https://docs.joomla.org/J3.x:Creating_a_simple_module/Developing_a_Basic_Module/pt-br https://docs.joomla.org/J3.x:Creating_a_simple_module/Using_the_Database
  2. Edultra

    Perda de pacotes

    você possui algum conversor avulso? tente ligar a fibra em um conversor avulso e ligar o conversor no swith, pelo que você falou pode ser o conversor de fibra do switch que esta com problema.
  3. Edultra

    Joomla e Wamp. Problemas.

    A própria mensagem de erro já dá a dica, a versão que vc tem o php no wamp é inferior a necessária por esta versão do Joomla (5.3.10). Quanto ao Wamp mais atualizado ficar somente laranja, pode ser devido a algum software estar utilizando alguma das portas necessárias (seja do apache ou mysql) tive um problema similar no windows 10 quando o IIS estava utilizando a porta 80 bastou apenas ir em ferramentas administrativas e serviços e desativar o IIS e startar o wamp.
  4. Edultra

    Boteco iMasters

    É faz tempo que não passo por aqui... matando saudades do boteco. Beraldo, o pais é enrolado, e as pessoas levam tudo no mesmo ritmo, acham que tudo se resolve em uma conversinha, numa propininha... fda. O jeito é rir para não chorar... Ontem até vi algo engraçado, sobre o cunha, Qual a semelhança de cunha e uma manilha? Ambos são sujos, mas são necessários para levar a merd@ embora...
  5. Edultra

    .Bolao iMasters - DISCUSSOES

    Olha só a mensagem do bolão, avisando (via mp) para não esquecer de votar na 7ª rodada da liga dos campeões, detalhe os palpites devem ser enviados até dia 18/02/14... ou ele pirou no mês ou tem gente saindo de férias! e prolongadas! hehehe...
  6. Edultra

    .Bolao iMasters - DISCUSSOES

    O jeito é não esquecer de postar para não sair de quarto... dei uma pedalada aqui e perdi umas rodadas... tow que nem meu Furacão que pedalou na ultima rodada...
  7. Edultra

    Barra de progresso

    Dai teria que fazer um cálculo, mas para isso teria que saber o tamanho total da consulta, bem vamos lá. Fazer uma regra de 3 para saber o total, o calculo ficará assim porcentagem = total/executado*100; Sendo que a porcentagem deve ser arredondada, para termos uma exibição melhor, no javascript utilizamos o método round. Bem vamos lá por mão na massa para isso criei dois arquivos um com o resultado e outro com a barra testei aqui e funcionou: Criei o index.php : <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script> <style type='text/css'> @import url('http://getbootstrap.com/2.3.2/assets/css/bootstrap.css'); </style> <script type='text/javascript'> var current_perc = 0; var total = 0; function setatamanho(t) { total = t; } function aumenta() { current_perc++; percentual = Math.round(total/current_perc*100); $('.bar').css('width', (percentual) + '%'); $('.bar').text((percentual) + '%' + ' de ' + total + ' registros '); } $(document).ready(function() { $("#conteudo").load("carregando.php"); }); </script> <div class="progress progress-striped active" style="width:1000px;"> <div class="bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" data-percentage="1000" style="width: 0"></div> </div> <div id="conteudo"> </div> E o carregando.php que será carregado por ajax do jquery: <?php $tamanho = 1000; echo "<script>setatamanho(".$tamanho.")</script>"; for($i = 0; $i <= $tamanho; $i++ ){ echo $i.'<br><script>aumenta();</script>'; sleep(0.5); } ?> A variável tamanho deve ser a quantidade de linhas do seu resultado, e adicionei o sleep para mostrar melhor o carregamento da barra, você pode tirar isso quando for utilizar com o seu código.
  8. Edultra

    Barra de progresso

    Legal entendi, mas vamos lá então você entendeu que dentro de tuto isso a função que faz que atualize o tamanho e a porcentagem na tela é isso aqui: me.css('width', (current_perc)+'%'); me.text((current_perc)+'%'); que seria o mesmo que: $('.bar').css('width', (current_perc)+'%'); $('.bar').text((current_perc)+'%'); Só que fora da função, crie uma função assim: <script type='text/javascript'>//<![CDATA[ var current_perc = 0; $(window).load(function(){ function aumenta(){ current_perc++; $('.bar').css('width', (current_perc)+'%'); $('.bar').text((current_perc)+'%'); } });//]]> E no seu php coloque: <?php for($i = 0; $i <= 100; $i++ ){echo $i.'<br><script>aumenta();</script>'; } ?> E veja e diga o que acontece... e poste aqui pra nós... não sei se é o método mais certo... Dã... tire essa parte do window load : <script type='text/javascript'>//<![CDATA[ var current_perc = 0; function aumenta(){ current_perc++; $('.bar').css('width', (current_perc)+'%'); $('.bar').text((current_perc)+'%'); } //]]> </script>
  9. Edultra

    Barra de progresso

    Segue um exemplo que fiz com bootstrap: http://jsfiddle.net/Edultra/5NCxX/1/
  10. Edultra

    .Bolao iMasters - DISCUSSOES

    noss estas ultimas 2 rodadas foram tristes... pelo menos esta ultima rodada todo mundo foi... rsrsrs...
  11. Edultra

    .Bolao iMasters - DISCUSSOES

    hehehe... to em recuperação extraordinária!! mesmo não participando da primeira rodada consegui chegar a 4º lugar!
  12. Edultra

    [Tutorial] Gerar/Ler/Escanear QRcodes com PHP e Javascript

    legal!!!! Parabéns pela contribuição!
  13. Edultra

    .Bolao iMasters - DISCUSSOES

    é Postei só pra dizer que o Brasil ia ganhar, tive problemas na quinta e sexta, ia ficar empatado se tivesse postado os meus palpites. Mas foi bom o jogo, acho até que o Brazil poderia ter ganho de mais, acho que seguraram um pouco para não humilhar a espanha... kkkk... Valei pessoal bons palpites.
  14. Edultra

    .Bolao iMasters - DISCUSSOES

    O Motta resolveu apelar no palpite se ele acertar passa pra liderança... rsrsrsrs... dificil ein?
  15. Postei no iMasters Code e agora estou postando aqui. Bem pessoal estou postando o código e colocando em anexo o projeto para quem quiser melhorar, existem algumas coisinhas que ja imaginei que podem ser melhoradas mas para o que utilizo funciona corretamente. no arquivo em anexo temos: email.php - utiliza a função mail que necessita que esteja instalado no servidor o sendmail ou postfix, atualmente estou utilizando com postfix. emailSMTP.php - utiliza conexão com smtp para envio dos emails, utiliza a função phpmailer a qual ja esta incluida no anexo na pasta inc. template.html - arquivo html a ser enviado por email, pode ser feito por um designer diretamente no dreamweaver ou Photoshop, no anexo trago um exemplo. sit.txt - um arquivo que guarda uma "tag" enable ou disable, informando para o email.php se é para ser executado ou não. cont.txt - um arquivo de contadores que armazena o contador inicial, final e de quantos em quantos é para incrementar o contador final após a execução, a idéia é a seguinte: quero enviar no primeiro envio do 0 ao 700 e depois de 500 em 500, sendo 0 o inicial, 700 o final do primeiro envio e depois na proxima execução ele enviara do 701 ao 1200, depois do 1201 ao 1701 até que envie todos os emails, isso é claro se você agendar na crontab a qual falo mais abaixo. crontab - para quem envia varios emails como eu e, deseja enviar em vários horarios automaticamente sem precisar ficar abrindo no browser e executando, segue um exemplo de configuração da execução, porém para tanto é necessário utilizar um servidor linux com o curl que pode ser instalado via apt-get ele serve para executarmos arquivos .php no linux via linha de comando, verifique tambem na linha da cron o caminho para o mesmo e caminho para o arquivo email.php para visualizar a sua cron execute o comando crontable -e e acrescente/edite o conteudo do arquivo crontab.txt. pasta log - pasta que armazena um log com a situação do envio, caso de erro armazenara o erro. Bem segue abaixo o codigo do email.php para darem uma lida antes de baixar: <?php /* * Autor Eduardo de Souza - Edultra * Código para envio de emails. */ $fs = fopen("sit.txt", "r"); $c = 0; while (!feof($fs)) { $buffer = fgets($fs, 4096); if ($c == 0) { $situacao = explode("$", $buffer); $situacao = $situacao[1]; } $c++; } fclose($fs); if ($situacao == 'enable') { //abre o arquivo de contador $fp = fopen("cont.txt", "r"); $i = 0; while (!feof($fp)) { $buffer = fgets($fp, 4096); if ($i == 0) { $ini = explode("$", $buffer); $ini = $ini[1]; } else if ($i == 1) { $fin = explode("$", $buffer); $fin = $fin[1]; } else if ($i == 2) { $cont = explode("$", $buffer); $cont = $cont[1]; } $i++; } fclose($fp); //pegando e armazenando a template a ser enviada por email: $ft = fopen("template.html", "r"); $assunto = 'Titulo da mensagem';// titulo da mensagem $remetente = 'Nome do remetente';// nome do remetente como: Nome da empresa ou setor $emailremet = 'meu@email.com.br';// email do remetente como email da minha empresa. $emailStatus = 'emailstatus@email.com.br';// email que receberá uma mensagem de status de envio $template = "";//inicializa a template vazia. //efetuara a leitura da template e armazenamento da mesma para ser enviada. while (!feof($ft)) { $template .=fgets($ft, 4096); } fclose($ft); // Fazendo a conexão com o servidor MySQL onde estão os emails $conexao = mysql_pconnect("servidor", "usuario", "senha") or die($msg[0]); mysql_select_db("nomebanco", $conexao) or die($msg[1]);//selecionando o banco de dados //Efetuando o select dos emails cadastrados: $sql = "SELECT id, email, nome FROM tabelaemail where id>=$ini and id<=$fin order by id asc"; $resultado = mysql_query($sql, $conexao); while ($linha = mysql_fetch_array($resultado)) { $destinatario = $linha['email']; $corpo = $template; echo $destinatario . '<br />'; //para o envio em formato HTML $headers = "MIME-Version: 1.0\n"; $headers .= "Content-Transfer-Encoding: 8bit\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "X-Priority: 1\n"; //endereço do remetente $headers .= "From: $remetente <$emailremet>"; //endereço de resposta, se queremos que seja diferente a do remitente //$headers .= "Reply-To: meu@email.com.br"; //endereços que receberão uma copia //$headers .= "Cc: emailcopia@email.com.br"; //endereços que receberão uma copia oculta //$headers .= "Bcc: emailcopiaoculta@email.com,email2copiaoculta@email.com.br"; try { mail($destinatario, $assunto, $corpo, $headers);//envia o email utilizando a função sendmail $emails[] = $destinatario;//guarda em um array o email que foi enviado } catch (Exception $e) { $emails[] = $destinatario . $e->getMessage();//garda em um array o email + erro } } $data = date(dmY);//ve a data de envio. //Acrescentando ao arquivo de log $flog = fopen("logs/log-$assunto-$data.txt", "a");//cria um arquivo de log se ja existir acrescenta ao final $tam = count($emails);// ve o tamanho do array (qtd de emails) for ($i = 0; $i < $tam; $i++) { fwrite($flog, $emails[$i] . "\n");//grava linha por linha os emails que foram enviados } fclose($flog);//fecha o arquivo de log. //vê a quantidade total de emails existentes no bd. $sqlTotal = 'SELECT count(id) as total FROM tabelaemail'; $rstTotal = mysql_query($sqlTotal, $conexao);//executa a consulta while ($linha = mysql_fetch_array($rstTotal)) { $total = $linha['total'];//guarda o total (isso aqui tem que ser melhorado! hauhauauahau } mail($emailStatus, "Status de Envio de $assunto", "foram enviados emails do id $ini ao $fin do total de $total emails"); /* encrementando contadores */ $ini = $fin + 1; //o inicio recebe o valor do final +1 $fin = $fin + $cont; // o fim recebe o valor a ser incrementado. $fp = fopen("cont.txt", "w"); //substitui o arquivo por um atualizado. //grava as linhas no arquivo cont.txt fwrite($fp, "$" . $ini . "\n"); fwrite($fp, "$" . $fin . "\n"); fwrite($fp, "$" . $cont . "\n"); fclose($fp);// fecha o arquivo cont.txt //se chegar no final da quantidade de emails muda para disable o arquivo sit encerrando // o envio de emails if ($ini >= $total) { $fs = fopen("sit.txt", "w"); fwrite($fs, '$disable'); fclose($fs); //envia um email para o email de status informando o fim de envio. mail($emailStatus, "Status de Envio de $assunto", "fim de envio de emails"); } } else { echo "disable";//se o arquivo sit for disable ele mostra disable na tela. } ?> Vejam que o código esta todo comentado, lembre-se que a maquina deve ter acesso a web e utilizar um dominio válido se não os provedores retornarão mensagens de falha de entrega. Caso não saiba como configurar corretamente o send mail ou postfix, utilize o emailSMTP.php porém ele não tem as mesmas implementações do email.php como arquivo de log, mas deixo com vcs a implementação disso, basta copiar do email.php o código. Atualmente com o uso deste código envio 10 mil emails por dia +- sendo que envio de 700 em 700 a cada 30 minutos, evitando assim o bloqueio do servidor por spammer pelos servidores de ranking de spam. obs.: o unico trabalho ao iniciar o envio dos emails será mudar o conteudo arquivo sit.txt de $disable para $enable, mudar o conteúdo de cont.txt colocando os valores inicial e final do primeiro envio e o contador para os proximos envios (isso pode ser melhorado). o codigo zipado pode ser baixado no seguinte link: email.zip Duvidas/Revisões iMasters Code: http://code.imasters.com.br/index.php?/topic/186-envio-de-email-marketing-com-php/#entry334
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.