Oficina da Net Logo

Criando um Cliente para Twitter com PHP - Parte 1

Nesse tutorial vamos começar um pequeno projeto de desenvolvimento baseado no Twitter, utilizando os conceitos que foram vistos nos tutoriais anteriores. Vamops fazer um cliente de Twitter com PHP, ou seja, uma página web que permite realizar as tarefas que fazemos com a própria página do Twitter, ou seja, postar mensagens, navegar entre os usuários que seguimos, etc.

Por | @jonathanlamimkt Programação

Tutoriais anteriores (leia antes de começar a desenvolver o que está nesse tutorial)

Twitter - Introdução à API do Twitter e cURL
Twitter - Integrando API do Twitter, cURL e PHP e criando o primeiro script
Twitter - Fazendo conexões com o Twitter através da Twitter Class e PHP
Twitter - Enviando posts para o Twitter com PHP e a API

Nesse tutorial vamos começar um pequeno projeto de desenvolvimento baseado no Twitter, utilizando os conceitos que foram vistos nos tutoriais anteriores. Vamops fazer um cliente de Twitter com PHP, ou seja, uma página web que permite realizar as tarefas que fazemos com a própria página do Twitter, ou seja, postar mensagens, navegar entre os usuários que seguimos, etc.

Construir um cliente de Twitter é relativamente simples se utilizarmos uma biblioteca para fazer a comunicação com o Twitter, como a classe vista nos tutoriais anteriores, a Twitter Class.

Faremos esse projeto por partes, agregando funcionalidades ao longo dos tutoriais da série. Começaremos pelo sistema de autenticação de usuário e o armazenamento desses dados emn uma sessão.

A maioria das operações que vamos querer realizar com a API do Twitter nesse cliente requerem que o usuário tenha iniciado uma sessão, ou seja, esteja logado com os mesmos dados utilizados para se conectar ao Twitter.

Observação:
As linhas gerais sobre autenticação de usuário já foram vistas nos tutoriais anteriores, caso não tenho lido ainda os tutorias, volte ao início desse tutorial e veja a lista.

Além do processo de autenticação, nosso cliente Twitter tem outra série de detalhes que não tem tanto a ver com a biblioteca da API do Twitter, mas sim com o desenvolvimento de aplicações PHP em geral, incluindo HTML e CSS.

Todos os arquivos poderão ser baixados ao final desse tutorial.

Veja abaixo o código completo e comentado da página index.php , dessa primeira parte do tutorial:

test();
} 

//verificamos se o usuário solicitou o encerramento da sessão
if($_REQUEST['action'] == 'sair'){
   //limpamos as variáveis
   $_SESSION['user_twitter'] = '';
   $_SESSION['pass_twitter'] = '';
   //destruímos a sessão
   session_destroy();
   header('location: index.php');
}
?>




   
   
   Cliente de Twitter by Jlamim</title>
</head>
<body>
<div class="autenticacao">
<?php
   //verificamos se as variáveis de sessão estão vazias
   //o que indica que é pra mostra o formulário de login
   if(($_SESSION["user_twitter"] == "") || ($_SESSION["pass_twitter"] == "")){
?>
<form action="<?php $_SERVER["PHP_SELF"]; ?> " method="POST">
    <label for="usuario">Usuário:</label>
    <input type="text" id="usuario" name="usuario" size="30"/>
    <label for="senha">Senha:</label>
    <input type="password" id="senha" name="senha" size="15"/>
    <input type="submit" name="Entrar" value="Entrar" />
</form>
<?php
   //se existirem dados nas variáveis de sessão
   //então verificamos a existência de conexão com o Twitter
   //e validamos os dados de login/senha
   } else {
      //verificamos se há conexão com a API
   if($connection){
      //há conexão com o Twitter
      //verificamos se login/senha estão corretos
      if ($twi_user->verifyCredentials()){
         //informamos para a variável $connection que o usuário está conectado
         //usuário válido, iniciamos o acesso a API
         echo "<p class='autenticado'>Olá, <span>".$_SESSION['user_twitter']."</span>! 
         ( <a href='".$_SERVER['PHP_SELF']."?action=sair' title='sair'>sair</a> )</p>";
      }else{
         //dados não conferem com a base de dados no Twitter
         //exibimos mensagem informando ao usuário
         echo "<p class='autenticado'>Usuário ou Senha inválidos, tente novamente! 
         ( <a href='".$_SERVER['PHP_SELF']."?action=sair' title='sair'>Logar</a> )</p>";
      }
   }else{
      //Não há conexão com a API ou com a internet
      //então informamos ao usuário
      echo "<p class='autenticado'>Não há conexão com a API do Twitter 
      ou com a internet. Tente novamente!</p>";
   }
}
?>
</div>

</body>
</html>
</code></pre><br />
<br />
Na próxima parte continuaremos trabalhando com esse arquivo, isnerindo novas funcionalidades.<br />
<br />
Até a próxima!!!</p><script src="https://painel.m3midia.com.br/lib/prism/prism.js"></script><link rel="stylesheet" type="text/css" href="https://painel.m3midia.com.br/lib/prism/prism.css"></p>
                    </div> 
                </div><div class="wifl m-b-40">
                                <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
                                <!-- ON_NEWS_BOTTOM -->
                                <ins class="adsbygoogle"
                                     style="display:block"
                                     data-ad-client="ca-pub-5305121862343092"
                                     data-ad-slot="7654137660"
                                     data-ad-format="auto"></ins>
                                <script>
                                (adsbygoogle = window.adsbygoogle || []).push({});
                                </script>
                            </div> 
                <div class="wifl assuntosfim">
                    <div class="box_new_cmt btag">
                        <span class="tit_new_cmt">MAIS SOBRE</span>
                        <a onclick="_gaq.push(['_trackEvent', 'assuntosfim', 'pfr2192', 'para_programação']);"  href="https://www.oficinadanet.com.br/programacao" >programação</a> <a onclick="_gaq.push(['_trackEvent', 'assuntosfim', 'pfr2192', 'para_desenvolvimento']);"  href="https://www.oficinadanet.com.br/desenvolvimento" >desenvolvimento</a> <a onclick="_gaq.push(['_trackEvent', 'assuntosfim', 'pfr2192', 'para_php']);"  href="https://www.oficinadanet.com.br/php" >php</a>
                    </div>
                    <div class="box_new_cmt bshr">
                        <span class="tit_new_cmt" style="margin-right:0">SHARE</span>
                        <div class="share" >
                            <span style="width:15px;" class="bt1-facebook bg9"  onclick="  window.open('https://www.facebook.com/sharer/sharer.php?app_id=209309632417494&u=https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fphp%2Fcliente_para_twitter_com_php_e_twitter_class_-_parte_1','','width=600,height=400');  _gaq.push(['_trackEvent', 'btshare', 'facebook', 'https://www.oficinadanet.com.br/artigo/php/cliente_para_twitter_com_php_e_twitter_class_-_parte_1']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2192','flgcomment');  "  title="Compartilhe no Facebook" ></span>
                            <span style="width:15px;" class="bt1-twitter bg8"  onclick="  window.open('https://twitter.com/intent/tweet?text=Criando+um+Cliente+para+Twitter+com+PHP+-+Parte+1+%7C+Por+%40jonathanlamimkt+%7C+&url=https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fphp%2Fcliente_para_twitter_com_php_e_twitter_class_-_parte_1&via=oficinadanet','','width=600,height=400');  _gaq.push(['_trackEvent', 'btshare', 'twitter', 'https://www.oficinadanet.com.br/artigo/php/cliente_para_twitter_com_php_e_twitter_class_-_parte_1']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&twitter=1&id=2192','flgcomment');  "  title="Enviar pro Twitter" ></span>
                            <span class="bt1-whatsapp bg24"  onclick="  _gaq.push(['_trackEvent', 'btshare', 'whatsapp', 'https://www.oficinadanet.com.br/artigo/php/cliente_para_twitter_com_php_e_twitter_class_-_parte_1']);  window.open('https://api.whatsapp.com/send?text=Criando um Cliente para Twitter com PHP - Parte 1 - https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fphp%2Fcliente_para_twitter_com_php_e_twitter_class_-_parte_1');  "  style="width:15px;" title="Envie para o WhatsApp"></span>
                            <span class="bt1-telegram bg8"  onclick="  _gaq.push(['_trackEvent', 'btshare', 'telegram', 'https://www.oficinadanet.com.br/artigo/php/cliente_para_twitter_com_php_e_twitter_class_-_parte_1']);  window.open('https://telegram.me/share/url?url=https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fphp%2Fcliente_para_twitter_com_php_e_twitter_class_-_parte_1&text=Criando+um+Cliente+para+Twitter+com+PHP+-+Parte+1');  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2192','flgcomment');  "  style="width:15px;" title="Envie para o Telegram"></span>
                            <span class="bt1-linkedin bg27"  onclick="  window.open('https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fphp%2Fcliente_para_twitter_com_php_e_twitter_class_-_parte_1&summary=Nesse+tutorial+vamos+come%C3%A7ar+um+pequeno+projeto+de+desenvolvimento+baseado+no+Twitter%2C+utilizando+os+conceitos+que+foram+vistos+nos+tutoriais+anteriores.+Vamops+fazer+um+cliente+de+Twitter+com+PHP%2C+ou+seja%2C+uma+p%C3%A1gina+web+que+permite+realizar+as+tarefas+que+fazemos+com+a+pr%C3%B3pria+p%C3%A1gina+do+Twitter%2C+ou+seja%2C+postar+mensagens%2C+navegar+entre+os+usu%C3%A1rios+que+seguimos%2C+etc.&title=Criando+um+Cliente+para+Twitter+com+PHP+-+Parte+1&source=oficinadanet','','width=600,height=400');  _gaq.push(['_trackEvent', 'btshare', 'linkedin', 'https://www.oficinadanet.com.br/artigo/php/cliente_para_twitter_com_php_e_twitter_class_-_parte_1']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2192','flgcomment');  "  style="width:15px;" title="Envie para o LinkedIn"></span>
                            <span class="bt1-mail bg14"  onclick="  document.location='mailto:?subject=Criando um Cliente para Twitter com PHP - Parte 1 | Por @jonathanlamimkt | &body=Artigo: https%3A%2F%2Fwww.oficinadanet.com.br%2Fartigo%2Fphp%2Fcliente_para_twitter_com_php_e_twitter_class_-_parte_1';  _gaq.push(['_trackEvent', 'btshare', 'email', 'https://www.oficinadanet.com.br/artigo/php/cliente_para_twitter_com_php_e_twitter_class_-_parte_1']);  ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2192','flgcomment');  "  style="width:15px;" title="Enviar por email" ></span>
                        </div>
                    </div>
                </div>
                <script type="text/javascript">try { _402_Show(); } catch(e) {}</script>
                <div style="float:left; max-width:750px;" class="wifl m-t-20"><span class="titulo1" ><span>O QUE LER EM SEGUIDA</span></span><ul class="lst4 post wifl  lsn "  ><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/12785-como-fazer-um-gif"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2192', 'pto12785']);"  >
                                <div class="img box-img2">
                                    <span class="label_tpl1 fix-bl bg1"></span>
                                    <img src="https://www.oficinadanet.com.br/imagens/post/12785/capa_gif_200113.jpg" title="Como fazer um GIF?" alt="Como fazer um GIF?" >
                                    <span class="gradient"></span>
                                </div>
                                <h3 class="wifl tit4">Como fazer um GIF?</h3>
                                <div class="wifl nfo">
                                    <span class="comment cinza">1 | </span><span class="ass-autor cor2">por Grasiel Felipe Grasel</span></div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/12113-o-que-preciso-fazer-para-criar-um-aplicativo"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2192', 'pto12113']);"  >
                                <div class="img box-img2">
                                    <span class="label_tpl1 fix-bl bg1"></span>
                                    <img src="https://www.oficinadanet.com.br/imagens/post/12113/android_studio_200113.jpg" title="O que preciso fazer para criar um aplicativo?" alt="O que preciso fazer para criar um aplicativo?" >
                                    <span class="gradient"></span>
                                </div>
                                <h3 class="wifl tit4">O que preciso fazer para criar um aplicativo?</h3>
                                <div class="wifl nfo">
                                    <span class="comment cinza">11 | </span><span class="ass-autor cor2">por Amanda Mata</span></div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/13484-qual-a-melhor-linguagem-de-programacao"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2192', 'pto13484']);"  >
                                <div class="img box-img2">
                                    <span class="label_tpl1 fix-bl bg1"></span>
                                    <img src="https://www.oficinadanet.com.br/imagens/post/13484/capa_200113.jpg" title="Qual a melhor linguagem de programação?" alt="Qual a melhor linguagem de programação?" >
                                    <span class="gradient"></span>
                                </div>
                                <h3 class="wifl tit4">Qual a melhor linguagem de programação?</h3>
                                <div class="wifl nfo">
                                    <span class="comment cinza">22 | </span><span class="ass-autor cor2">por Maximiliano Meyer</span></div>
                            </a>
                        </li><li  >
                            <a class="" href="https://www.oficinadanet.com.br/post/13051-o-que-faz-um-analista-de-requisitos"  onclick="_gaq.push(['_trackEvent', 'oq_ler_conteudo_relacionado', 'pfr2192', 'pto13051']);"  >
                                <div class="img box-img2">
                                    <span class="label_tpl1 fix-bl bg1"></span>
                                    <img src="https://www.oficinadanet.com.br/imagens/post/13051/capa222_200113.jpg" title="O que faz um Analista de Requisitos?" alt="O que faz um Analista de Requisitos?" >
                                    <span class="gradient"></span>
                                </div>
                                <h3 class="wifl tit4">O que faz um Analista de Requisitos?</h3>
                                <div class="wifl nfo">
                                    <span class="comment cinza">7 | </span><span class="ass-autor cor2">por Douglas Novato</span></div>
                            </a>
                        </li></ul>
                </div>
                        <div id="comments" class="wifl m-t-40" >
                            <span class="titulo1 tit_tag" ><span>Comentários</span></span>
                <div id="comment" class="comentarios_box">
                    <div id="disqus_thread"></div>
                </div>
                        </div>
            </div>  
        <div class="bar2 p-rel" id="out_post_barra" data-distance="30" >
            <div class="bar2" id="post_barra" ><!-- /6524261/ON_300x600_LATERAL -->
                <div class='wifl m-b-40'>
                <div id='div-gpt-ad-1519730196190-0' style='height:600px; width:300px;'>
                <script>
                googletag.cmd.push(function() { googletag.display('div-gpt-ad-1519730196190-0'); });
                </script>
                </div></div>      
        </div>
    </div><div class="wifl post-bottom1 bottom_pause_post_barra ult-publi" ><a class="titulo1 m-t-40" href="https://www.oficinadanet.com.br"  ><span>Você precisa ler</span><span class="ver" >ver tudo</span></a>
                <div class="wifl">
                    <ul class="lst7  wifl  lsn "  ><li  >
                            <a href="https://www.oficinadanet.com.br/netflix2018/23264-novidades-e-lancamentos-netflix-da-semana-2207-a-2907" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23264/orange_200113.jpg" title="Novidades e lançamentos Netflix da semana (22/07 a 29/07)" alt="Novidades e lançamentos Netflix da semana (22/07 a 29/07)" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >Novidades e lançamentos Netflix da semana (22/07 a 29/07)</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Ingrid Jank</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/windows10/23226-como-transferir-sua-licenca-do-windows-10-para-um-novo-computador" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23226/windows-10_200113.jpg" title="Como transferir sua  licença do Windows 10 para um novo computador" alt="Como transferir sua  licença do Windows 10 para um novo computador" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >Como transferir sua  licença do Windows 10 para um novo computador</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Priscilla Kinast</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/post/14328-20-sites-totalmente-inuteis-e-muito-divertidos" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/14328/20_200113.jpg" title="20 sites totalmente inúteis (e muito divertidos)" alt="20 sites totalmente inúteis (e muito divertidos)" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >20 sites totalmente inúteis (e muito divertidos)</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Maximiliano Meyer</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/huawei/23203-os-5-melhores-telefones-da-huawei-de-2018" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23203/p20_200113.jpg" title="Os 5 melhores smartphones da Huawei para comprar em 2018" alt="Os 5 melhores smartphones da Huawei para comprar em 2018" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >Os 5 melhores smartphones da Huawei para comprar em 2018</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Priscilla Kinast</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/whatsapp/23221-como-converter-mensagem-de-audio-recebido-em-texto-no-whatsapp" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23221/converter-audio-em-texto-whatsapp_200113.jpg" title="Como converter mensagem de áudio recebido em texto no WhatsApp" alt="Como converter mensagem de áudio recebido em texto no WhatsApp" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >Como converter mensagem de áudio recebido em texto no WhatsApp</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Priscilla Kinast</span>
                                </div>
                            </a>
                        </li></ul>
                </div></div><div class="wifl m-t-20 m-b-20 ">
<div class="wifl" >
    <!-- /6524261/ON_BLOCOFIM -->
    <div style="min-width:728px; max-width:970px; margin:auto" id='div-gpt-ad-1532261836772-0'>
    <script>
    googletag.cmd.push(function() { googletag.display('div-gpt-ad-1532261836772-0'); });
    </script>
    </div>
</div></div><div class="wifl post-bottom1 bottom_pause_post_barra ult-publi" ><a class="titulo1 m-t-40" href="https://www.oficinadanet.com.br"  ><span>Mais recentes</span><span class="ver" >ver tudo</span></a>
                <div class="wifl">
                    <ul class="lst7  wifl  lsn "  ><li  >
                            <a href="https://www.oficinadanet.com.br/tecnologia/23270-canon-anuncia-a-chegada-da-camera-eos-77d-ao-mercado-brasileiro" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23270/capa-canon_200113.jpg" title="Canon anuncia a chegada da câmera EOS 77D ao mercado brasileiro" alt="Canon anuncia a chegada da câmera EOS 77D ao mercado brasileiro" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >Canon anuncia a chegada da câmera EOS 77D ao mercado brasileiro</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Fernanda Beling</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/whatsapp/23268-whatsapp-limita-envio-de-mensagens-para-combater-fake-news" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23268/wha_200113.jpg" title="WhatsApp limita envio de mensagens para combater fake news" alt="WhatsApp limita envio de mensagens para combater fake news" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >WhatsApp limita envio de mensagens para combater fake news</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Fernanda Beling</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/nokia/23267-nokia-61-plus-e-revelado-como-versao-do-nokia-6" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23267/nokia-6-1-plus-benchmark-listing-reveals-mid-range-hardware-android-8-1-0-oreo_750x469_5b521b6b28898_200113.jpg" title="Nokia 6.1 Plus é revelado como versão do Nokia 6" alt="Nokia 6.1 Plus é revelado como versão do Nokia 6" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >Nokia 6.1 Plus é revelado como versão do Nokia 6</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Rafaela Pozzebom</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/smartphones/23266-iphone-e-galaxy-lideram-ranking-de-celulares-usados" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23266/capa-sam_200113.jpg" title="iPhone e Galaxy lideram ranking de celulares usados" alt="iPhone e Galaxy lideram ranking de celulares usados" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >iPhone e Galaxy lideram ranking de celulares usados</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Fernanda Beling</span>
                                </div>
                            </a>
                        </li><li  >
                            <a href="https://www.oficinadanet.com.br/tesla/23071-a-historia-da-tesla" class="wifl" >
                                <div class="outimg wifl p-rel" >
                                    <div class="img box-img2">
                                        <img src="https://www.oficinadanet.com.br/imagens/post/23071/capa_200113.jpg" title="A história da Tesla, Musk e como eles estão revolucionando o planeta" alt="A história da Tesla, Musk e como eles estão revolucionando o planeta" >
                                        
                                    </div>
                                    
                                </div>
                                <h2 class="wifl tit7" >A história da Tesla, Musk e como eles estão revolucionando o planeta</h2>
                                <div class="wifl" ><span class="ass-autor cor2" >por Maximiliano Meyer</span>
                                </div>
                            </a>
                        </li></ul>
                </div></div>
    </section>
</div>
                <script type="text/javascript">
                    var disqus_shortname = 'oficinadanet'; // required: replace example with your forum shortname
                    var disqus_url = 'https://www.oficinadanet.com.br/artigo/php/cliente_para_twitter_com_php_e_twitter_class_-_parte_1';

                    var disqus_config = function () {
                        this.callbacks.onNewComment = [function(comment) {ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id=2192','flgcomment');
                        }];
                    };
                (function() {
                    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
                    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
                    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
                })();        
                </script>
                <div style="display:none;" id="flgcomment"></div>   </div>
                </section>
<footer class="footer wifl" id="footer">
    <div class="corpo">
        <a href="https://www.oficinadanet.com.br" class="logo2"></a>
        <div class="out-menu-footer">
            <ul class="menu-footer lst-footer1 wifl">
                <li><a href="https://www.oficinadanet.com.br/sobre">Sobre</a></li>
                <li><a href="https://www.oficinadanet.com.br/contato">Contato</a></li>
                <li><a href="https://www.oficinadanet.com.br/colunista" >Seja colunista</a></li>
                <li><a href="https://www.oficinadanet.com.br/privacidade" >Política de Privacidade</a></li>
                <li><a href="https://www.oficinadanet.com.br/equipe" >Equipe</a></li>
            </ul>
            <ul class="menu-footer wifl">
                <li><a target="_blank" rel="nofollow" href="https://www.facebook.com/oficinadanet">Facebook</a></li>
                <li><a target="_blank" rel="nofollow" href="https://www.youtube.com/user/oficinadanettv">Youtube</a></li>
                <li><a target="_blank" rel="nofollow" href="https://www.linkedin.com/company/oficinadanet">LinkedIn</a></li>
                <li><a target="_blank" rel="nofollow" href="https://twitter.com/OficinadaNet">Twitter</a></li>
                <li><a target="_blank" rel="nofollow" href="https://www.instagram.com/oficinadanetoficial/">Instagram</a></li>
                <li><a rel="nofollow" href="https://www.oficinadanet.com.br/rss">RSS</a></li>
            </ul>
        </div>
        <div class="out-menu-cupons">
            <span>Cupons de desconto</span>
            <ul class="lst_cupons wifl lsn">
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-netshoes">Cupons Netshoes</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-saraiva">Cupons Saraiva</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-livraria-cultura">Cupons Livraria Cultura</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-fast-shop">Cupons Fast Shop</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-extra">Cupons Extra</a></li>
                <li><a href="https://www.oficinadanet.com.br/cupons/cupom-de-desconto-sou-barato">Cupons Sou Barato</a></li>
            </ul>
        </div>
        <div class="box-m3"  >
            <p class="wifl txt1">Um site do grupo</p>
            <a class="m3midia" href="http://www.m3midia.com.br"></a>
            <p class="wifl txt2">© 2018 <span>M3 Mídia</span></p>
            <p class="wifl txt2">Todos os direitos reservados</p>
        </div>
    </div>
</footer>
            <span title="Ir para o topo" class="top_page" id="top_page" ><span></span></span>
        <script type='text/javascript'>
                var tempo = '1800';
                window.setTimeout('location.reload();', tempo*1000);
                </script>
                <div class="wifl hgt100 blackoverlay" id="blackoverlay"></div>
<div id="out_lib" >
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</div>
<script type="text/javascript">
    
    var vv={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=vv._utf8_encode(e);while(f<e.length){n=e.charCodeAt(f++);r=e.charCodeAt(f++);i=e.charCodeAt(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(f<e.length){s=this._keyStr.indexOf(e.charAt(f++));o=this._keyStr.indexOf(e.charAt(f++));u=this._keyStr.indexOf(e.charAt(f++));a=this._keyStr.indexOf(e.charAt(f++));n=s<<2|o>>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=vv._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/\r\n/g,"\n");var t="";for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r)}else if(r>127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n<e.length){r=e.charCodeAt(n);if(r<128){t+=String.fromCharCode(r);n++}else if(r>191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}}
    function BV(str){return vv.decode(str);}

    function scrollPageToID(id)
    {
        $('html,body').animate({ scrollTop: $('#'+id).offset().top - ( $(window).height() - $('#'+id).outerHeight(true) ) / 2  }, 700);
    }

    function serializeDataAttr(form)
    {
        var dataarr = new Array();
        for(var i in form.data()) {
            var subarr = new Array();
            subarr['name'] = i;
            subarr['value'] = form.data()[i];
            dataarr.push(subarr);
        }
        return $.param(form.serializeArray().concat(dataarr));
    }

    function testaVazio(campo,comparacao,mensagem,erro)
    {
        if (erro == true) {return true;}
        if (document.getElementById(campo).value == comparacao)
        {
            alert (mensagem);
            document.getElementById(campo).value = "";
            document.getElementById(campo).focus();
            return true;
        }
        else {return false;}
    }
    function testaCheckBox(classe,mensagem)
    {
        erro = true;
        checkboxes = document.getElementsByClassName(classe);

        for(var i=0, n=checkboxes.length; i<n; i++)
        {
            if(checkboxes[i].checked)
                erro = false;
        }

        if(erro == true)
        {
            alert(mensagem);
            checkboxes[0].focus();
            return true;
        }
        else
            return false;
  }
    function ajaxDireto(url,param,retorno,tipo) //usa jquery
    {
        if(!tipo) tipo = "POST"
         $.ajax({
           type: tipo,
           url: url,
           data: param,
           success: function(html){
             $("#"+retorno).html(html);
           }
         });

    }

    function newsletterCad(e,step)
    {
//        alert(step);
//        alert(e);

        if(step == 1)
        {
            alert('1');
            $(e+' .out_captcha').html('<div class="wifl p-rel newsbrandcap" id="brand_cap_widget_wrapper" ><span class="load-ico" ></span></div><script type="text/javascript" src="https://api.pontamedia.net/challenge.php?k=8f8436b8ae2f804f336e902439085b08a914db96"></script'+'>');
            alert('2');
//            $('#news_bb_right_plan').css('left','-306px');
        }
        else
        {
            /*
            ajaxDireto('',$('#newscad_form1').serialize()+'&'+$('#newscad_form2').serialize(),'out_new_cad');
            */
        }
    }

    function populaSelectCidade(ele)
    {
        ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=populaSelectCidade&sigla='+$(ele).val(),'select_cidade');
    }

    $(document).ready(function (e) {
       var header_height = $("header").height();
       $(window).scroll(function(){
           var scrolltop = $(window).scrollTop();
           if(scrolltop > 0)
               $('#out-img-curso-aberto').css('top',(($(window).scrollTop()/2) *-1) + header_height);
           else
               $('#out-img-curso-aberto').css('top',header_height+'px');
       });
    });

    var scroll_aux      = 0;
    var header_top      = $("#header").offset().top;
    var header_height   = $("#header").outerHeight();
    var window_height   = $(window).height();
    var height_document = $(document).height();

    function fixedMenu()
    {
        var scroll = $(window).scrollTop();

        if( scroll >= (header_top+header_height) )
        {
            if(scroll < scroll_aux )
            {
                $('#mov_header').css({'position':'fixed',transition: '0.3s','top':'0px'});
            }
            else
            {
                if( (scroll+window_height+20) > height_document )
                {
                    $('#mov_header').css({'position':'fixed',transition: '0.3s','top':'0px'});
                }
                else
                {
                    var v_tra  = '0.3s';
                    if( scroll <= ( header_top + header_height + 100) )
                        v_tra  = '0s';

                    $('#mov_header').css({'position':'fixed',transition: v_tra,'top':'-'+header_height+'px'});
                }
            }
        }
        else if(scroll <= header_top)
        {
            $('#mov_header').css({'position':'absolute',transition: '0.3s','top':'0px'});

        }
        scroll_aux = scroll;
    }

    function boxHoverSite(act,cic,e)
    {
        var top     = $(e).offset().top+$(e).outerHeight();
        var e_hover = '';

        if($(e).data('box-hover'))
        {
            e_hover = '#'+$(e).data('box-hover')+'_hover';

            switch(act)
            {
                case 2:
                    $('.contr_hov_itens').fadeOut(0);
                    $(e_hover).fadeIn(400);
                    $(e_hover).addClass('contr_hov_itens');
                    boxHoverSite(0,0,e);
                break;
                case 0:
                    if(cic < 5)
                    {
                        var timeBoxHoverSite = setTimeout(function()
                        {
                            cic++;
                            boxHoverSite(0,cic,e);
                        }, 500);
                    }
                    else
                    {
                        clearTimeout(timeBoxHoverSite);
                        if(!$(e_hover).is(":hover") && !$(e).is(":hover") && !$(e_hover+' *').is(":focus"))
                        {
                            $(e_hover).fadeOut(400);
                        }
                        else
                            boxHoverSite(0,0,e);
                    }

                break;
            }
        }
        else
        {
            $('.contr_hov_itens').fadeOut(0);
        }
    }

    function blackoverlay(act)
    {
        if(act)
        {
            $('#blackoverlay').fadeIn(400);
            $('html').addClass('no_scroll');
        }
        else
        {
            $('#blackoverlay').fadeOut(400);
            $('html').removeClass('no_scroll');
        }
    }

    function actAovivo()
    {
        window.location = "";
    }

    function actBodyPago()
    {
        window.open("");
    }

    function actMenuMobile(act)
    {
        if(act)
        {
            $('#blackoverlay').addClass('blackoverlay_mobile').trigger('classChange');

            if(!$('#menumobile-act').data('post-left'))
            {
                $('#menumobile-act').data('post-left',$('#menumobile-act').css('left'));
            }
            $('#menumobile-act').css('left','0');
            $('#menumobile').css('display','none');
            $('#fechar_menumobile').css('display','block');
        }
        else
        {
            $('#menumobile-act').css('left',$('#menumobile-act').data('post-left'));
            $('#blackoverlay').removeClass('blackoverlay_mobile').trigger('classChange');
            $('#menumobile').css('display','block');
            $('#fechar_menumobile').css('display','none');
        }
        blackoverlay(act);
    }

    function actAbreComments(act)
    {
        if(act)
        {
            var post_id        = $('#bt_new_cmt').data('post_id');
            var url            = $('#bt_new_cmt').data('url');
            var tipo           = $('#bt_new_cmt').data('tipo');
            var comentariosnrs = $('#bt_new_cmt').data('comentariosnrs');
            
            if($("#box_new_cmt_retorno").html() == '')
            {
                ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=getCommentsBox&post_id='+post_id+'&url='+url+'&tipo='+tipo+'&comentariosnrs='+comentariosnrs,'box_new_cmt_retorno');
                ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=flgcomment&id='+post_id,'flgcomment');
            }
            
            $('#box_new_cmt_open').css('right','0');
            $('#bt_new_cmt_orelha').css('display','none');
            $('#bt_new_cmt_orelha_close').css('display','block');
            $('#bt_new_cmt_orelha_close').css('left','-30px');
        }
        else
        {
            var window_width = $(window).width();
            var right        = 'calc(-37% - 15px)';
            
            if(window_width < 1400)
            {
                right = '-330px';
            }
            
            $('#box_new_cmt_open').css('right',right);
            $('#bt_new_cmt_orelha_close').css('display','none');
            $('#bt_new_cmt_orelha').css('display','block');
            $('#bt_new_cmt_orelha').css('left','-43px');
        }
    }
    
    function actPopup(act,tipo)
    {
        if(act == 'fechar')
        {
            ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=setCookie&nome='+tipo+'&valor=1','box_popup');
            $('#box_popup').css('display','none');
            $('#box_popup_big').css('display','none');
            $('#box_popup_mobile').css('display','none');
            blackoverlay();
        }
    }

    function actSmartMobile(act)
    {
        if(act)
        {
            $('#blackoverlay').addClass('blackoverlay_smart').trigger('classChange');

            if(!$('#smart_filtro_m-act').data('post-left'))
            {
                $('#smart_filtro_m-act').data('post-left',$('#smart_filtro_m-act').css('left'));
            }
            $('#smart_filtro_m-act').css('left','0');
            $('#smart_filtro_m_abre').css('display','none');
            $('#smart_filtro_m_fecha').css('display','block');
            $('#smart_filtro_ud_out').css('display','block');
        }
        else
        {
            $('#smart_filtro_m-act').css('left',$('#smart_filtro_m-act').data('post-left'));
            $('#blackoverlay').removeClass('blackoverlay_smart').trigger('classChange');
            $('#smart_filtro_m_abre').css('display','block');
            $('#smart_filtro_m_fecha').css('display','none');
            $('#smart_filtro_ud_out').css('display','none');
        }
        blackoverlay(act);
    }

    
    var scroll_aux2     = 0;
    var window_width    = $(window).width();

    function fixedOnScroll(id)
    {
        if ($('#' + id).length > 0)
        {
            if( window_width > 1300 )
            {

                var k_distance      = 10;
                var comp_height     = 0;
                var scroll_top      = $(window).scrollTop();
                var height_maior    = false;
                var bottom_pause    = height_document;

                var anchor_top_dist     = $('#' + id).offset().top;
                var item_movel_height   = $('#' + id + ' > *').height();

                if($( ".bottom_pause_post_barra" ).length)
                {
                    bottom_pause =  $( ".bottom_pause_post_barra" ).offset().top - ( k_distance + header_height + item_movel_height + parseInt($( ".bottom_pause_post_barra" ).css('margin-top')));
                }

                console.log('3 '+item_movel_height+' '+bottom_pause+' '+scroll_top+' '+scroll_aux2+' '+scroll_aux+' conta: '+(bottom_pause - scroll_top));
                
                //console.log('4 '+(bottom_pause - scroll_top) +' --- '+ anchor_top_dist);
                
                if( ( bottom_pause - scroll_top) < 0  ) //chega ao fim
                {
                    $('#' + id + ' > *').css({
                        "z-index": "100",
                        "left": 'initial',
                        "position": "fixed",
                        "bottom": "initial",
                        "transition":" 0s",
                        "top": (  (bottom_pause + k_distance + header_height) - scroll_top   )+'px'
                    });

                }
                else if ((scroll_top + k_distance + header_height ) > anchor_top_dist) //scroll down
                {
                    k_distance = k_distance + header_height;
                    
                    $('#' + id + ' > *').css({
                        "z-index": "100",
                        "left": $('#' + id + ' > *').offset().left + 'px',
                        "position": "fixed",
                        "top": (k_distance) + 'px',
                        "bottom": "initial",
                        "transition":" 0.8s all ease"

                    });
                }
                else if (( (scroll_top + k_distance) - comp_height ) > anchor_top_dist) //scroll up
                {
                    k_distance = k_distance + header_height;
                    
                    $('#' + id + ' > *').css({
                        "z-index": "100",
                        "left": $('#' + id + ' > *').offset().left + 'px',
                        "position": "fixed",
                        "top": (k_distance)+'px',
                        "bottom": "initial",
                        "transition":" 0.8s all ease"
                    });
                }
                else
                {
                    $('#' + id + ' > *').css({
                        "z-index": "initial",
                        "left": 'initial',
                        "position": "initial",
                        "bottom": 'initial',
                        "top": 'initial'
                    });
                }
            }
            scroll_aux2 = scroll_top;
        }
    }

    function actBtVerMais(e)
    {
        var id = $(e).data('target');
        $('#'+id).show();
        $(e).hide();
    }

    function atcFixedOnScroll()
    {
        fixedOnScroll('out_post_barra');
    }

    
    function actContatoEmpresa(act,tipo)
    {
        if(act && tipo != 0)
        {

            if(tipo == 1)
                $('#empresa_contato_titulo').html('Entre em contato');
            else
                $('#empresa_contato_titulo').html('Solicite um orçamento');

            $('#hidden_tipo').val(tipo);

            $('#blackoverlay').addClass('blackoverlay_cont_empresa').trigger('classChange');
            $('#empresa_contato').fadeIn(400);
            $('#empresa_contato').height($('#empresa_contato'+' > *').outerHeight());
        }
        else
        {
            $('#empresa_contato').fadeOut(400);
            $('#blackoverlay').removeClass('blackoverlay_cont_empresa').trigger('classChange');
            $('#empresa_contato_titulo').html('');
        }
        blackoverlay(act);
    }

    function actBuscaDesktop(act)
    {
        $('#busca_clique').toggle();
        $('#busca_input').focus();
        $('#blackoverlay').addClass('blackoverlay_busca_desktop').trigger('classChange');
        blackoverlay(act);
    }

    function actBuscaObjeto()
    {
        $('#box_marca_closed').hide();
        $('#box_marca_busca').show();
        $('.box_marca').css('background-color','#f3661a');
        $('#busca_marca_input').focus();
    }

    function actCorrigirTexto(act,e)
    {
        if($('#modal_corrigir_txt').length == 0)
        {
            $(e).data('corrigir_titulo');
            $("html").append('<div class="modal modal-s block corrigir" id="modal_corrigir_txt" ><span class="load-ico" ></span></div>');
            ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=corrigirTexto&monta=1&corrigir_titulo='+$(e).data('corrigir_titulo')+'¶_email='+$(e).data('para_email'),'modal_corrigir_txt');
        }


        if(act)
        {
            $('#blackoverlay').addClass('blackoverlay_corrigir').trigger('classChange');
            $('#modal_corrigir_txt').fadeIn(400);
        }
        else
        {
            $('#modal_corrigir_txt').fadeOut(400);
            $('#blackoverlay').removeClass('blackoverlay_corrigir').trigger('classChange');
        }
        blackoverlay(act);
    }

    function newsletterCad(ele,s)
    {
        if(s == '1')
        {
            var cad_idx = $(ele).data('idx');
            $('#'+cad_idx+'_form2 .out_captcha').html('<div class="wifl p-rel newsbrandcap" id="brand_cap_widget_wrapper" ><span class="load-ico" ></span></div><script type="text/javascript" src="https://api.pontamedia.net/challenge.php?k=8f8436b8ae2f804f336e902439085b08a914db96"></script'+'>');
            $('#'+cad_idx+'_ulcad').css('left',$('#'+cad_idx+'_ulcad').outerWidth()*-1);
//            $('#'+$(ele).data('id_ulout')).css('height',$('#'+cad_idx+'_ulcad .stp2').outerHeight());
        }
        else
        {
            var cad_idx = $(ele).data('idx');
            ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php',$('#'+cad_idx+'_form1').serialize()+'&'+$('#'+cad_idx+'_form2').serialize(),$(ele).data('id_ulout'));
        }
    }

    function fixedMenuDiagramado()
    {
        var scrolltop = $(window).scrollTop();

        if(scrolltop >= 350)
            $('.conteudo .out_menu_diagramado').css('top','0');
        else
            $('.conteudo .out_menu_diagramado').css('top','850px');
    };

    $(document).ready(function()
    {

        $(function ()
        {
            $(window).scroll(atcFixedOnScroll);
        });

        $('.disabled').click(function(e)
        {
           e.preventDefault();
        })

        $('.box_hover').mouseenter(function()
        {
            boxHoverSite(2,0,this);
        });

        $(window).scroll(fixedMenu);
        $(window).scroll(fixedMenuDiagramado);
        fixedMenu();
        fixedMenuDiagramado();
        $(".amenu_diagramado").click(function(){scrollPageToID($(this).attr('href').substring(1));});
        $(".bt_ver_mais").click(function(){ actBtVerMais(this); });
        $(".ver_mais_preco_obj").click(function(){ scrollPageToID('precos'); });
        $('#bt_header_busca').click(function(){ $('#busca_input').focus();});
        $('#smart_filtro_ud_dwn').click(function(){$(".smart_filtro").animate({scrollTop: '+=200px'}, 300);});
        $('#smart_filtro_ud_up').click(function(){$(".smart_filtro").animate({scrollTop: '-=200px'}, 300);});
        $('#mobile_busca').click(function(){ $('#mobile_bf').css('display','block');});
        $('#aovivo').click(function(){ actAovivo(); });
        $('#smart_filtro_m_abre').click(function(){ actSmartMobile(true); });
        $('#bt_new_cmt').click(function(){ actAbreComments(true); });
        $('#bt_new_cmt_orelha').click(function(){ actAbreComments(true); });
        $('#bt_new_cmt_orelha_close').click(function(){ actAbreComments(false); });
        $('.bt1-comment').click(function(){ actAbreComments(true); });
        $('#busca_clique_open').click(function(){ actBuscaDesktop(true); });
        $('#box_marca_closed').click(function(){ actBuscaObjeto(); });
        $('#smart_filtro_m_fecha').click(function(){ actSmartMobile(false); });
        $('#menumobile').click(function(){ actMenuMobile(true); });
        $('#fechar_menumobile').click(function(){ actMenuMobile(false); });
        $('.fechar_newsletter_big').click(function(){ actPopup('fechar','NEWSBIG'); });
        $('.fechar_youtube_big').click(function(){ actPopup('fechar','YOUTUBEBIG'); });
        $('.fechar_youtube_mobile').click(function(){ actPopup('fechar','YOUTUBEMOBILE'); });
        $('.fechar_rss_big').click(function(){ actPopup('fechar','RSSBIG'); });
        $('.fechar_twitter_big').click(function(){ actPopup('fechar','TWITTERBIG'); });
        $('.fechar_instagram_big').click(function(){ actPopup('fechar','INSTAGRAMBIG'); });
        $('#fechar_newsletter').click(function(){ actPopup('fechar','ONNEWS'); });
        $('#fechar_youtube').click(function(){ actPopup('fechar','ONYOUTUBE'); });
        $('#popup_youtube').click(function(){ actPopup('fechar','ONYOUTUBE'); });
        $("#form_envia").click(function(){ submitFormulario(); });
        $("#mostra_fone").click(function(){ $('#empresa_fone').html(BV($('#empresa_fone').data('info'))); $('#mostra_fone').hide(); });
        $(".empresa_contato").click(function(){ actContatoEmpresa(true,$(this).data('tipo'));});
        $('#empresa_contato_fechar').click(function(){ actContatoEmpresa(false,0) });
        $('.act_corrigir_texto').click(function(){ actCorrigirTexto(true,this) });
        $('#btcarregarcomments_disqus').click(function(){ carregaComentariosDisqus() });
        $('#btcarregarcomments_facebook').click(function(){ carregaComentariosFacebook() });
        $(".form_newsletter_cad").submit(function(event){  event.preventDefault(); newsletterCad(this,"1"); });
        $(".form_newsletter_cad2").submit(function(event){ event.preventDefault(); newsletterCad(this,"2"); });
        $(".form_newsletter_cad").submit(function(event){  event.preventDefault(); newsletterCad(this,'1'); });
        $(".form_newsletter_cad2").submit(function(event){ event.preventDefault(); newsletterCad(this,'2'); });

        $('#blackoverlay').on('classChange',function()
        {
            $('.blackoverlay_mobile').click(function(){ actMenuMobile(false) });
            $('.blackoverlay_smart').click(function(){ actSmartMobile(false) });
            $('.blackoverlay_cont_empresa').click(function(){ actContatoEmpresa(false,0) });
            $('.blackoverlay_corrigir').click(function(){ actCorrigirTexto(false,'') });
            $('.blackoverlay_busca_desktop').click(function(){ actBuscaDesktop(false)});
        });


        $('.accordion_act1 .i-tit').click(function(e)
        {
            if($(this).prop("tagName") != 'A')
            {
                $(this).addClass('click');
                $('.li-wrapper:not(\'.click\')').animate({height:0}, { duration: 400, queue: false });
                $('.i-tit:not(\'.click\')').removeClass('ativo');

                if(!$(this).hasClass('ativo'))
                {
                    $(this).addClass('ativo');
                    $(this).find('+ .li-wrapper').animate({height:$(this).find('+ .li-wrapper > .accordion_act1').outerHeight()}, { duration: 400, queue: false });
                }
                else
                {
                    $(this).removeClass('ativo');
                    $(this).find('+ .li-wrapper').animate({height:0},400);
                }
                $(this).removeClass('click');
            }
        });

        $('.accordion_act2 .tit_1').click(function(e)
        {
            $(this).addClass('click');
            $('.li-wp1:not(\'.click\')').animate({height:0}, { duration: 400, queue: false });

            if(!$(this).hasClass('ativo'))
            {
                var wrapper1_id         = 'wrapper_'+$(this).data('wrap0');
                var wrapper1_height     = $('#'+wrapper1_id+' > .accordion_act2 > li').length* $('#'+wrapper1_id+' > .accordion_act2 > li').outerHeight();

                $('#'+wrapper1_id).animate({height:wrapper1_height}, { duration: 400, queue: false });
                $('.tit_1').removeClass('ativo');
                $(this).addClass('ativo');
            }
            else
            {
                $('.tit_1').removeClass('ativo');
            }
            $(this).removeClass('click');
        });

        $('.accordion_act2 .tit_2').click(function(e)
        {
            $(this).addClass('click');
            $('.li-wp2:not(\'.click\')').animate({height:0}, { duration: 400, queue: false });

            var wrapper1_id = 'wrapper_'+$(this).data('wrap0');
            var wrapper2_id = 'wrapper_'+$(this).data('wrap0')+'_'+$(this).data('wrap1');

            if(!$(this).hasClass('ativo'))
            {
                var wrapper1_height     = $('#'+wrapper1_id+' > .accordion_act2 > li').length* $('#'+wrapper1_id+' > .accordion_act2 > li').outerHeight();
                var wrapper2_height     = $('#'+wrapper2_id+' > .accordion_act2 > li').length* $('#'+wrapper2_id+' > .accordion_act2 > li').outerHeight();


                $('#'+wrapper1_id).animate({height:wrapper1_height+wrapper2_height}, { duration: 400, queue: false });
                $('#'+wrapper2_id).animate({height:wrapper2_height}, { duration: 400, queue: false });

                $('.tit_2').removeClass('ativo');
                $(this).addClass('ativo');
            }
            else
            {
                var wrapper1_height = $('#'+wrapper1_id+' > .accordion_act2 > li').length*$('#'+wrapper1_id+' > .accordion_act2 > li > .tit_2').outerHeight();

                $('#'+wrapper1_id).animate({height:wrapper1_height}, { duration: 400, queue: false });
                $('.tit_2').removeClass('ativo');
            }
            $(this).removeClass('click');
        });
    });

    var lst_carregamento        = 1;
    var txtstatus               = 'ok';
    var html_ico_load_auto_load = '<span id="icoload_autoload" class="wifl p-rel" ><span class="load-ico" ></span></span>';
    function carregaConteudo()
    {
        if($('#auto_load_wrapper').length > 0)
        {
            var scrollPosition      = window.pageYOffset;
            var windowSize          = window.innerHeight;
            var footerHeightTop     = $('#footer').offset().top;

            var stop_load           = document.getElementById('auto_load_wrapper').getAttribute('data-stop-load');

            if((scrollPosition + windowSize + 800) > footerHeightTop && stop_load == '0')
            {
                if(txtstatus == 'ok')
                {
                    $("#auto_load_wrapper").append(html_ico_load_auto_load);
                    txtstatus = 'timeout';
                    $.ajax({
                        type: 'POST',
                        url: 'https://www.oficinadanet.com.br/ajax_oficina.php',
                        data: 'act=autoLoadConteudo&lst_carregamento='+lst_carregamento+'&'+serializeDataAttr($('#auto_load_wrapper')),
                        success: function(html)
                        {
                            $("#auto_load_wrapper").append(html);
                            $("#icoload_autoload").remove();
                            txtstatus = 'ok';
                        }
                    });
                    lst_carregamento++;
                }
            }
        }
    }

    $(function () {
        $(window).scroll(carregaConteudo);
        carregaConteudo();
    });

    $(window).scroll(function() {
        if ($(this).scrollTop() >= 150) {
            $('#top_page').fadeIn(200);
        } else {
            $('#top_page').fadeOut(200);
        }
    });
    $('#top_page').click(function() {
        $('body,html').animate({
            scrollTop : 0
        }, 500);
    });


    if ($(".carousel_destaque")[0])
    {
        $('#out_lib').append('<link href="https://painel.m3midia.com.br/lib/slick/slick.css" rel="stylesheet">');
        $.getScript("https://painel.m3midia.com.br/lib/slick/slick.js", function(){
            $('.carousel_destaque').slick({
                slidesToShow: 1,
                slidesToScroll: 1,
                autoplay: true,
                pauseOnHover: true,
                autoplaySpeed: 10000
            });
            setTimeout(function(){
                $('.carousel_destaque').removeClass('carregando');;
            }, 1500);
        });
    }

    if ($(".conteudo_galeria")[0])
    {
        $('#out_lib').append('<link href="https://painel.m3midia.com.br/lib/lightGallerySlider/lightGallerySlider.css" rel="stylesheet">');
        $.getScript("https://painel.m3midia.com.br/lib/lightGallerySlider/lightGallerySlider.js", function(){
            $('.conteudo_galeria').lightSlider({
           item: 3,
           loop:false,
           slideMove:3,
           easing: 'cubic-bezier(0.25, 0, 0.25, 1)',
           speed:600,
           responsive : [
               {
                   breakpoint:800,
                   settings: {
                       item:3,
                       slideMove:1,
                       slideMargin:6,
                     }
               },
               {
                   breakpoint:480,
                   settings: {
                       item:2,
                       slideMove:1
                     }
               }
           ]
            }).lightGallery({

            });
            $('.out_conteudo_galeria').css('display','block');
        });
    }

    $(function (){

        function countdown()
        {

            if ($(".promo_relogio")[0])
            {
                $(".promo_relogio").each(function( index )
                {
                    clearTimeout(timer_promo);
                    var now         = new Date();
                    var eventDate   = new Date($(this).data('data-fim'));
                    var currentTime = now.getTime();
                    var evenTime    = eventDate.getTime();

                    var remTime = evenTime - currentTime;

                    var sec = Math.floor(remTime / 1000);
                    var min = Math.floor(sec / 60);
                    var hur = Math.floor(min / 60);
                    var day = Math.floor(hur / 24);

                    hur %= 24;
                    min %= 60;
                    sec %= 60;

                    hur = (hur < 10) ? "0" + hur : hur;
                    min = (min < 10) ? "0" + min : min;
                    sec = (sec < 10) ? "0" + sec : sec;

                    hur = parseInt(parseInt(day*24)+parseInt(hur));

                    if(hur > 0 || min > 0 || sec > 0)
                    {
                        $(this).find('.promo_hora').html(hur);
                        $(this).find('.promo_minuto').html(min);
                        $(this).find('.promo_segundo').html(sec);
                    }
                    else
                    {
                        $(this).find('.promo_hora').html('00');
                        $(this).find('.promo_minuto').html('00');
                        $(this).find('.promo_segundo').html('00');
                        $('#sale-relogio'+$(this).data('key')).addClass('tpl2');
                        $('#promo_txt'+$(this).data('key')).html('A oferta expirou');
                    }
                });
                var timer_promo = setTimeout(countdown, 1000);
            }
        }
        countdown();
    });

    </script>
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script>
<script>
var OneSignal = OneSignal || [];
OneSignal.push( function() {
    OneSignal.setDefaultTitle("Oficina da Net");
    OneSignal.setDefaultNotificationUrl("https://www.oficinadanet.com.br");
    var oneSignal_options = {appId: "c28261c1-6765-4517-bc5f-38bbeb9f2ec3"};
    //oneSignal_options['persistNotification'] = false;
    oneSignal_options['autoRegister'] = true;
    oneSignal_options['welcomeNotification'] = { };
    oneSignal_options['welcomeNotification']['title'] = "Oi. Obrigado pela inscrição =)";
    oneSignal_options['welcomeNotification']['message'] = "As melhores novidades avisaremos por aqui ;) - Siga @oficinadanet";
    oneSignal_options['safari_web_id'] = "web.onesignal.auto.2068edc0-2ec7-4d8d-bc37-83913e3acbff";
    OneSignal.init(oneSignal_options);
});

</script>
        <div id="box_popup_big" class="box_news_big newsletter">
            <div class="act fechar_box_popup box_hover p-rel fechar_newsletter_big" ></div>
            <div class="bb_left">
                <div class="logo5"></div>
            </div>
            <div class="bb_right"  id="news_bb_right" >
                <div class="wifl p-rel" id="out_new_cad" >
                    <script type="text/javascript" >
    var brandcaptchaOptions = {
        lang: 'pt'
    };
</script>
<ul class="wifl lsn"  id="news_bb_right_plan" >
    <li>
        <form id="newscad_form1" method="POST" >
            <span class="wifl ntit" >ASSINE NOSSA NEWSLETTER</span>
            <p class="wifl">As melhores publicações no<br>seu e-mail</p>
            <input type="hidden" value="NEWSBIG" name="refer"/>
            <input type="hidden" value="cadSimpleNewsletter" name="act"/>
            <input type="hidden" value="1" name="newsletter"/>
            <input class="form_campo2 round3p" required type="text" name="nome" id="nome" placeholder="Seu nome" value="" >
            <input class="form_campo2 round3p" required type="email" name="email" id="newsemail" placeholder="Seu e-mail" value="" >
            <input class="wifl bt1 bg4" id="newscad_form1_submit" type="submit" value="CADASTRAR">
            <!--<span class="full bt1 bg4" id="newscad_form1_submit" >QUERO ME CADASTRAR</span>-->
        </form>
    </li></ul>
<script type="text/javascript">
            $("#newscad_form1").submit(function( event ) {
        event.preventDefault();
        ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php',$('#newscad_form1').serialize()+'&'+$('#newscad_form2').serialize(),'out_new_cad');
    });

</script>                </div>
            </div>
        </div>
        <script type="text/javascript">
            function abreBoxBigOficina()
            {
                $('#box_popup_big').css('display','block');
                blackoverlay(1);
            }
        </script>
        <script type="text/javascript">setTimeout('abreBoxBigOficina();','30000');</script>
        <script type="text/javascript">
    function actSininho()
    {
        _gaq.push(['_trackEvent', 'sininho', 'sininho', 'sininho']);
        ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=setCookie&nome=ONSININHO&valor=1&tempo=36000','box_sininho');
        setTimeout("document.location = 'https://www.oficinadanet.com.br/novidades'",1000);
    }

    function actAvisoTopo(act)
    {
        switch(act)
        {
            case 'instagram':
                ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=setCookie&nome=ONINSTAGRAM&valor=1&tempo=36000','box_instagram');
            break;
            case 'youtube':
                ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=setCookie&nome=ONYOUTUBE&valor=1&tempo=36000','box_youtube');
            break;
            case 'user_topo':
                ajaxDireto('https://www.oficinadanet.com.br/ajax_oficina.php','act=setCookie&nome=ONUSERTOPO&valor=1&tempo=36000','box_user_topo');
            break;
        }
    }

    $(document).ready(function()
    {
        $('#sininho').click(function(){ actSininho(); });
        $('#instagram_topo').click(function(){ actAvisoTopo('instagram');});
        $('#youtube_topo').click(function(){ actAvisoTopo('youtube'); });
        $('#user_topo').click(function(){ actAvisoTopo('user_topo'); });
    });

</script>

    <script type="text/javascript">
        setTimeout("$('#box_sininho').fadeIn(1000)",1000);
        setTimeout("$('#box_sininho').fadeOut(1000)",5000);
    </script>
    <link rel="stylesheet" type="text/css" href="https://www.oficinadanet.com.br/_template/css/geral.css?v=780">    <div class="player_dynad_tv"></div>
    </body>
</html>