Advertisement
Guest User

Untitled

a guest
Sep 28th, 2016
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 21.31 KB | None | 0 0
  1. <?php
  2. /**
  3.  * Template Name: Cadastro
  4.  *
  5.  * @since 1.0.0
  6.  */
  7. session_start();
  8. get_header();
  9. ?>
  10.     <div class="logo type2">
  11.         <div class="container">
  12.             <img src="<?php bloginfo('template_url'); ?>/images/logo-promocao-dermodex2.png" alt="Logo da Promoção Super Quarto Dermodex">
  13.         </div>
  14.     </div>
  15.  
  16.     <section id="content" class="azul">
  17.         <div class="container">
  18.       <?php
  19.        $sucess = false;
  20.         if (!empty($_POST['submit']))
  21.         {
  22.  
  23.           include(TEMPLATEPATH.'/inc/class-valida-cpf-cnpj.php');
  24.  
  25.           $return = "";
  26.  
  27.           function ucwords_improved($s, $e = array())
  28.           {
  29.             return join(' ',
  30.                    array_map(
  31.                      create_function(
  32.                        '$s',
  33.                        'return (!in_array($s, ' . var_export($e, true) . ')) ? ucfirst($s) : $s;'
  34.                      ),
  35.                      explode(
  36.                        ' ',
  37.                        strtolower($s)
  38.                      )
  39.                    )
  40.                  );
  41.           }// ucwords
  42.           setlocale(LC_CTYPE, 'pt_BR');
  43.           $args = array('da', 'das', 'de', 'do', 'dos', 'e');
  44.  
  45.           // Variaveis do form
  46.           $nome = ucwords_improved($_POST['nome'], $args);
  47.           $cpf = trim($_POST['cpf']);
  48.           $data_nascimento = $_POST['data-nascimento'];
  49.           $cep = trim($_POST['cep']);
  50.           $endereco = ucwords_improved($_POST['endereco'], $args);
  51.           $bairro = ucwords_improved($_POST['bairro'], $args);
  52.           $cidade = ucwords_improved($_POST['cidade'], $args);
  53.           $estado = trim($_POST['estado']);
  54.           $telefone = trim($_POST['telefone']);
  55.           $email = trim(strtolower($_POST['email']));
  56.  
  57.           $data_compra = trim($_POST['data-compra']);
  58.           $cnpj = trim($_POST['cnpj']);
  59.           $comprovante = trim($_POST['comprovante']);
  60.           $quantidade = trim($_POST['quantidade']);
  61.  
  62.           $ip = $_SERVER['REMOTE_ADDR'];
  63.  
  64.           if($nome == "" and $cpf == "" and $data_nascimento == "" and $cep == "" and $endereco == "" and $bairro == "" and $cidade == "" and $estado == "" and $telefone == "" and $email == "" and $data_compra == "" and $cnpj == "" and $comprovante == "" and $quantidade == "" )
  65.           {
  66.             $return = "Todos os campos são obrigatórios";
  67.           }
  68.           else
  69.           {
  70.  
  71.             //Verifica se e-mail é válido
  72.             if (!eregi("^[a-z0-9_\.\-]+@[a-z0-9_\.\-]*[a-z0-9_\-]+\.[a-z]{2,4}$", $email))
  73.             {
  74.               $return .= "E-mail inválido";
  75.             }
  76.             else
  77.             {
  78.               // Verifica se o sexo foi informado
  79.               if (empty($_POST['sexo']))
  80.               {
  81.                 $return .= "Informe o sexo";
  82.               }
  83.               else
  84.               {
  85.                 $sexo = $_POST['sexo'];
  86.                 // Verifica a idade
  87.                 if ($data_nascimento!="")
  88.                 {
  89.                   $date = str_replace('/', '-', $data_nascimento);
  90.                   $bdate = date('Y-m-d', strtotime($date));
  91.                   $age = (date("Y-m-d") - $bdate);
  92.                   if ($age < 17)
  93.                   {
  94.                     $return .= "Você precisa ter no mínimo 18 anos para participar";
  95.                   }
  96.                   else
  97.                   {
  98.                     // Verifica CPF
  99.                     $cpf_validate = new ValidaCPFCNPJ($cpf);
  100.                     if (!$cpf_validate->valida())
  101.                     {
  102.                       $return .= "CPF informado é inválido";
  103.                     }
  104.                     else
  105.                     {
  106.                       // Verifica CNPJ
  107.                       $cnpj_validate = new ValidaCPFCNPJ($cnpj);
  108.                       if (!$cnpj_validate->valida())
  109.                       {
  110.                         $return .= "CNPJ informado é inválido";
  111.                       }
  112.                       else
  113.                       {
  114.  
  115.                         global $wpdb;
  116.                         $cupons = "";
  117.                         $_SESSION["cupons"]  = false;
  118.  
  119.                         function generateRandomNumber($length = 5)
  120.                         {
  121.                           return substr(str_shuffle(str_repeat($x='0123456789', ceil($length/strlen($x)) )),1,$length);
  122.                         }
  123.  
  124.                         function sendMessage($nome,$email,$cupons)
  125.                         {
  126.                           require_once(TEMPLATEPATH.'/inc/PHPMailer/class.phpmailer.php');
  127.  
  128.                           $from = 'superquarto@sabbre.com.br';
  129.  
  130.                           $mail = new PHPMailer;
  131.                           $mail->isSMTP();
  132.                           $mail->Host = 'smtp.gmail.com'; // Informe o SMTP do servidor de envio de mensagens
  133.                           $mail->SMTPAuth = true;
  134.                           $mail->SMTPSecure = 'tls'; // Caso o servidor use autenticação tls
  135.                           $mail->Port = 587; // Informe a porta do servidor
  136.                           $mail->Username = $from; // Informe o e-mail que será usado para autenticar o envio
  137.                           $mail->Password = 's@bbre0106'; // Informe o senha do e-mail informado
  138.                           $mail->CharSet="UTF-8";
  139.  
  140.                           $mail->Subject = "Dermodex - SuperQuarto - Cupons";
  141.  
  142.                           $mail->From = $from;
  143.                           $mail->FromName = 'Dermodex - SuperQuarto';
  144.                           $mail->Sender = $from;
  145.                           $mail->addAddress($email);
  146.                           $mail->addReplyTo($from);
  147.                           //$mail->AddBCC("algmelo@gmail.com");
  148.                           $mail->WordWrap = 50;
  149.                           $mail->isHTML(true);
  150.                           $mail->Body = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  151.                                        <html>
  152.                                        <head>
  153.                                        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  154.                                        </head>
  155.                                        <body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  156.                                        <center>
  157.                                        <table width="600" border="0" cellpadding="0" cellspacing="0">
  158.                                          <tr>
  159.                                            <td valign="top" align="center"><img src="'.get_stylesheet_directory_uri().'/images/email/email_cadastro_01.jpg" width="600" height="190" alt="" border="0" align="middle" style="display:block"></td>
  160.                                          </tr>
  161.                                          <tr>
  162.                                            <td valign="top" align="center" bgcolor="2aaee5" height="100">
  163.                                              <font style="font-family:Trebuchet; font-size:20px; color:#ffffff;">
  164.                                              Olá '.$nome.', seu cadastro na promoção Super Quarto Dermodex<br> foi realizado com sucesso!</td>
  165.                                          </tr>
  166.                                          <tr>
  167.                                            <td valign="top" align="center" bgcolor="2aaee5" height="70">
  168.                                              <font style="font-family:Trebuchet; font-size:16px; color:#ffffff;">
  169.                                              Seu (s) número (s) da sorte são:</td>
  170.                                          </tr>
  171.                                          <tr>
  172.                                            <td valign="top" align="center" bgcolor="2aaee5">
  173.                                              <font style="font-family:Tahoma; font-size:24px; color:#f6c0d8;">
  174.                                                  '.$cupons.'</td>
  175.  
  176.                                          </tr>
  177.                                          <tr>
  178.                                            <td valign="top" align="center" bgcolor="2aaee5" height="100">
  179.                                              <font style="font-family:Trebuchet; font-size:32px; color:#ffffff;">
  180.                                                  <i>Agora é só torcer!</i></td>
  181.                                          </tr>
  182.                                          <tr>
  183.                                            <td valign="top">
  184.                                              <table width="600" border="0" cellpadding="0" cellspacing="0">
  185.                                                <tr>
  186.                                                  <td valign="top" align="center"><img src="'.get_stylesheet_directory_uri().'/images/email/email_cadastro_03.jpg" width="220" height="96" alt="" border="0" align="middle" style="display:block"></td>
  187.                                                  <td valign="top" align="center"><a href="https://www.facebook.com/dermodex/" target="_blank" style="display:block;width:55px;height:96px;"><img src="'.get_stylesheet_directory_uri().'/images/email/email_cadastro_04.jpg" width="55" height="96" alt="" border="0" align="middle" style="display:block"></a></td>
  188.                                                  <td valign="top" align="center"><a href="https://www.instagram.com/dermodex/" target="_blank" style="display:block;width:50px;height:96px;"><img src="'.get_stylesheet_directory_uri().'/images/email/email_cadastro_05.jpg" width="50" height="96" alt="" border="0" align="middle" style="display:block"></a></td>
  189.                                                  <td valign="top" align="center"><a href="https://www.youtube.com/user/DermodexOficial" target="_blank" style="display:block;width:47px;height:96px;"><img src="'.get_stylesheet_directory_uri().'/images/email/email_cadastro_06.jpg" width="47" height="96" alt="" border="0" align="middle" style="display:block"></a></td>
  190.                                                  <td valign="top" align="center"><img src="'.get_stylesheet_directory_uri().'/images/email/email_cadastro_07.jpg" width="228" height="96" alt="" border="0" align="middle" style="display:block"></td>
  191.                                                </tr>
  192.                                              </table>
  193.                                            </td>
  194.                                          </tr>
  195.                                        </table>
  196.                                        </center>
  197.                                        </body>
  198.                                        </html>';
  199.  
  200.                           if(!$mail->send()) {
  201.                             return false;
  202.                           } else {
  203.                             return true;
  204.                           }// Enviado
  205.                         }
  206.  
  207.                         $sql_cpf = $wpdb->get_row("SELECT * FROM dm_cadastro WHERE cpf='$cpf'");
  208.  
  209.                         if($wpdb->num_rows == 1)
  210.                         {
  211.  
  212.                           if($sql_cpf->cupons_total + $quantidade > 20)
  213.                           {
  214.                             $return = "Você já tem ".$sql_cpf->cupons_total." cupons cadastrados. A quantidade máxima de cupons é 20.";
  215.                           }
  216.                           else
  217.                           {
  218.  
  219.                             $cadastro_id = $sql_cpf->id;
  220.                             $comprovante_num = (int)$sql_cpf->cupons_total;
  221.  
  222.                             for ($i = 1; $i <= $quantidade; $i++)
  223.                             {
  224.                               $serie = generateRandomNumber(1);
  225.                               $ordem = generateRandomNumber();
  226.                               $cupons .= '<span class="numero">'.$serie.'-'.$ordem.'</span><br>';
  227.                               $datec = str_replace('/', '-', $data_compra);
  228.                               $cdate = date('Y-m-d', strtotime($datec));
  229.  
  230.                               $comprovante_num = $comprovante_num + 1;
  231.  
  232.                               $sql_insert_comprovante = "INSERT INTO dm_cupons (fk_cadastro,data_compra,cnpj,comprovante,cupom_numero,serie,ordem) VALUES ('$cadastro_id','$cdate','$cnpj','$comprovante','$comprovante_num','$serie','$ordem')";
  233.                               $wpdb->query($sql_insert_comprovante);
  234.                             }// quantidade
  235.  
  236.                             $_SESSION["cupons"] = $cupons;
  237.  
  238.                             $sql_update = "UPDATE dm_cadastro SET cupons_total='$comprovante_num' WHERE id='$cadastro_id'";
  239.                             $wpdb->query($sql_update);
  240.  
  241.                             if(sendMessage($nome,$email,$cupons))
  242.                             {
  243.                               echo '<script>window.location.href="' . get_bloginfo('url') . '/cadastro-realizado";</script>';
  244.                             }
  245.                             else
  246.                             {
  247.                               $return = "Houve um erro";
  248.                             }
  249.  
  250.                           }// Verifica a quantidade total de cupons
  251.  
  252.                         }
  253.                         else
  254.                         {
  255.                           $sql_insert = "INSERT INTO dm_cadastro (nome,cpf,data_nascimento,cep,endereco,bairro,cidade,estado,telefone,email,ip) VALUES ('$nome','$cpf','$bdate','$cep','$endereco','$bairro','$cidade','$estado','$telefone','$email','$ip')";
  256.                           $wpdb->query($sql_insert);
  257.                           $cadastro_id = $wpdb->insert_id;
  258.  
  259.                           if($cadastro_id != 0)
  260.                           {
  261.                             for ($i = 1; $i <= $quantidade; $i++)
  262.                             {
  263.                               $serie = generateRandomNumber(1);
  264.                               $ordem = generateRandomNumber();
  265.                               $cupons .= '<span class="numero">'.$serie.'-'.$ordem.'</span><br>';
  266.                               $datec = str_replace('/', '-', $data_compra);
  267.                               $cdate = date('Y-m-d', strtotime($datec));
  268.  
  269.                               $sql_insert_comprovante = "INSERT INTO dm_cupons (fk_cadastro,data_compra,cnpj,comprovante,cupom_numero,serie,ordem) VALUES ('$cadastro_id','$cdate','$cnpj','$comprovante','$i','$serie','$ordem')";
  270.                               $wpdb->query($sql_insert_comprovante);
  271.                             }// quantidade
  272.  
  273.                             $_SESSION["cupons"] = $cupons;
  274.  
  275.                             $sql_update = "UPDATE dm_cadastro SET cupons_total='$quantidade' WHERE id='$cadastro_id'";
  276.                             $wpdb->query($sql_update);
  277.  
  278.                             if(sendMessage($nome,$email,$cupons))
  279.                             {
  280.                               echo '<script>window.location.href="' . get_bloginfo('url') . '/cadastro-realizado";</script>';
  281.                             }
  282.                             else
  283.                             {
  284.                               $return = "Houve um erro";
  285.                             }
  286.                           }
  287.                           else
  288.                           {
  289.                             $return = "Erro ao efetuar cadastro.";
  290.                           }
  291.  
  292.                         }// Verifica se CPF foi cadastrado anteriormente
  293.  
  294.                       }// Verifica CNPJ
  295.                     }// Verifica CPF
  296.                   }// Verifica a idade
  297.                 }// Verifica se data de nascimento é != ""
  298.               }// Verifica se o sexo foi informado
  299.             }//Verifica se e-mail é válido
  300.           }// Verificar se todos os campos foram preenchidos
  301.  
  302.           if(isset($return))
  303.           {
  304.             echo '<div class="msg-return">'.$return.'</div>';
  305.           }
  306.  
  307.         }
  308.         if (!$sucess)
  309.         {
  310.       ?>
  311.             <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
  312.             <h2><?php the_title(); ?></h2>
  313.             <?php the_content(); ?>
  314.  
  315.             <form action="" class="cadastro" id="form-cadastro" method="post">
  316.                   <span class="wrapper-input full"><input type="text" name="nome" id="nome" placeholder="NOME COMPLETO:*"></span>
  317.  
  318.           <span class="wrapper-input half cpf"><input type="text" name="cpf" id="cpf" placeholder="CPF:*"></span>
  319.           <span class="wrapper-input half data"><input type="text" name="data-nascimento" id="data-nascimento" placeholder="DATA DE NASCIMENTO:*"></span>
  320.  
  321.           <span class="wrapper-input cep cep"><input type="text" name="cep" id="cep" placeholder="CEP:*"></span>
  322.           <span class="wrapper-input endereco"><input type="text" name="endereco" id="endereco" placeholder="ENDEREÇO:"></span>
  323.  
  324.           <span class="wrapper-input third"><input type="text" name="bairro" id="bairro" placeholder="BAIRRO:*"></span>
  325.           <span class="wrapper-input third"><input type="text" name="cidade" id="cidade" placeholder="CIDADE:*"></span>
  326.           <span class="wrapper-input third last">
  327.             <select name="estado" id="estado">
  328.               <option value="estado">Selecione o Estado *</option>
  329.               <option value="ac">Acre</option>
  330.               <option value="al">Alagoas</option>
  331.               <option value="am">Amazonas</option>
  332.               <option value="ap">Amapá</option>
  333.               <option value="ba">Bahia</option>
  334.               <option value="ce">Ceará</option>
  335.               <option value="df">Distrito Federal</option>
  336.               <option value="es">Espírito Santo</option>
  337.               <option value="go">Goiás</option>
  338.               <option value="ma">Maranhão</option>
  339.               <option value="mt">Mato Grosso</option>
  340.               <option value="ms">Mato Grosso do Sul</option>
  341.               <option value="mg">Minas Gerais</option>
  342.               <option value="pa">Pará</option>
  343.               <option value="pb">Paraíba</option>
  344.               <option value="pr">Paraná</option>
  345.               <option value="pe">Pernambuco</option>
  346.               <option value="pi">Piauí</option>
  347.               <option value="rj">Rio de Janeiro</option>
  348.               <option value="rn">Rio Grande do Norte</option>
  349.               <option value="ro">Rondônia</option>
  350.               <option value="rs">Rio Grande do Sul</option>
  351.               <option value="rr">Roraima</option>
  352.               <option value="sc">Santa Catarina</option>
  353.               <option value="se">Sergipe</option>
  354.               <option value="sp">São Paulo</option>
  355.               <option value="to">Tocantins</option>
  356.             </select>
  357.           </span>
  358.  
  359.           <span class="wrapper-input half telefone"><input type="tel" name="telefone" placeholder="TELEFONE:*"></span><br>
  360.  
  361.           <span class="wrapper-input half"><input type="email" name="email" id="email" placeholder="E-MAIL:*"></span>
  362.           <span class="wrapper-input half"><input type="email" name="confirma-email" placeholder="CONFIRMAÇÃO DE E-MAIL:*"></span>
  363.           <br>
  364.           <label>SEXO:*</label>
  365.           <span class="wrapper-input">
  366.             <span class="checkbox"><input type="radio" name="sexo" id="sexo-feminino" value="feminino"><div class="visual"></div></span><label for="sexo-feminino">Feminino</label>
  367.             <span class="checkbox"><input type="radio" name="sexo" id="sexo-masculino" value="masculino"><div class="visual"></div></span><label for="sexo-masculino" id="sexo-masculino-label">Masculino</label>
  368.           </span>
  369.           <br>
  370.           <strong>DADOS DA COMPRA:</strong>
  371.           <br>
  372.           <span class="wrapper-input half data"><input type="text" name="data-compra" placeholder="DATA DA COMPRA:*"></span>
  373.           <span class="wrapper-input half cnpj"><input type="text" name="cnpj" placeholder="CNPJ DO ESTABELECIMENTO:*"></span><br>
  374.           <span class="wrapper-input half"><input type="text" name="comprovante" placeholder="Nº DO COMPROVANTE FISCAL:*"></span>
  375.           <span class="wrapper-input half"><input type="number" name="quantidade" placeholder="QUANTIDADE DE PRODUTOS PARTICIPANTES ADQUIRIDOS:*" min="1" max="20" maxlength="2"></span>
  376.  
  377.           <br>
  378.           <span class="wrapper-input"><span class="radio aceite"><input type="radio" name="aceiteTermos" id="aceiteTermos"><div class="visual"></div></span></span><label for="aceiteTermos" id="aceiteTermosLabel">Li e aceito o regulamento da Promoção</label>
  379.           <div class="clear"></div>
  380.           <span class="wrapper-input"><span class="radio opt-in"><input type="radio" name="aceiteOpt4Babies" id="aceiteOpt4Babies"><div class="visual"></div></span></span><label for="aceiteOpt4Babies" id="aceiteOpt4BabiesLabel">Aceito receber informações da 4Babies</label>
  381.           <div class="clear"></div>
  382.           <span class="wrapper-input"><span class="radio opt-in"><input type="radio" name="aceiteOptDermodex" id="aceiteOptDermodex"><div class="visual"></div></span></span><label for="aceiteOptDermodex" id="aceiteOptDermodexLabel">Aceito receber informações da Dermodex</label>
  383.  
  384.           <input type="submit" name="submit" id="submit" value="CADASTRAR">
  385.  
  386.                 <label>*Campos obrigatórios</label>
  387.             </form>
  388.  
  389.             <p><a href="<?php echo get_bloginfo('siteurl'); ?>/regulamento" class="btn type2">Ver regulamento</a></p>
  390.  
  391.             <?php endwhile; else: ?>
  392.                 <h2>Nada Encontrado</h2>
  393.                 <p>Erro 404</p>
  394.                 <p>Lamentamos mas não foram encontrados artigos.</p>
  395.             <?php endif; ?>
  396.       <?php }//sucess ?>
  397.         </div>
  398.     </section>
  399. <?php get_footer(); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement