-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwp-inscricao.php
413 lines (357 loc) · 17.2 KB
/
wp-inscricao.php
1
2
3
<?php/*Plugin Name: Inscrição para Iniciação Científica - Confict 2012Version: 1.0Plugin URI:Author: Marcus Ribeiro PerroutAuthor URI: http://www.perrout.com.brDescription: Formulário de Inscrição para Iniciação Científica 2012*/
session_start();function templateFormulario($idForm,$data=''){ global $current_user; global $wpdb; $content=" <form id=\"form1\" name=\"form1\" method=\"post\" action=\"\"> <input type=\"hidden\" name=\"inscricao-id\" id=\"inscricao-id\" value=\"$idForm\"> <p><strong>Nome completo:</strong><br> <input name=\"nome-completo\" type=\"text\" id=\"nome-completo\" "; if(@$_POST['nome-completo'] != null and @$_POST['nome-completo'] != "Digite o seu nome") { $content.='value="'.@$_POST['nome-completo'].'" '; } else { $content.=" value=\"DIGITE O SEU NOME\" onclick=\"this.value=''\" "; } $content.="width=\"421\" style=\"width: 421px;text-transform: uppercase;\" maxlength=\"255\"> </p> <p><strong>Instituição de ensino:</strong><br> <input type=\"radio\" name=\"instituicao-ensino\" id=\"instituicao-ensino\" value=\"UFF\" onChange=\"ver_opcao_instituicao(this.value)\" "; if(@$_POST['instituicao-ensino'] == "UFF") { $content.=' checked '; } $content.="> UFF <input type=\"radio\" name=\"instituicao-ensino\" id=\"instituicao-ensino\" value=\"IFF\" onChange=\"ver_opcao_instituicao(this.value)\" "; if(@$_POST['instituicao-ensino'] == "IFF") { $content.=' checked '; } $content.="> IFF <input type=\"radio\" name=\"instituicao-ensino\" id=\"instituicao-ensino\" value=\"UENF\" onChange=\"ver_opcao_instituicao(this.value)\" "; if(@$_POST['instituicao-ensino'] == "UENF") { $content.=' checked '; } $content.="> UENF <input type=\"radio\" name=\"instituicao-ensino\" id=\"instituicao-ensino\" value=\"OUTRAS\" onChange=\"ver_opcao_instituicao(this.value)\" "; if(@$_POST['instituicao-ensino'] == "OUTRAS") { $content.=' checked '; } $content.="> OUTRAS <br> <input name=\"instituicao-ensino-outros\" type=\"text\" id=\"instituicao-ensino-outros\" onclick=\"this.value=''\" width=\"421\" style=\"width: 421px;\" maxlength=\"255\" "; if(@$_POST['instituicao-ensino-outros'] != null) { $content.='value="'.@$_POST['instituicao-ensino-outros'].'"'; } else{ $content.="value=\"\" disabled"; } $content.="> <div class=\"ver_iff\" id=\"ver_iff\"> <input type=\"radio\" name=\"instituicao-divisao\" value=\"Campus Cabo Frio\" "; if(@$_POST['instituicao-divisao']=="Campus Cabo Frio") $content.=' checked '; $content.="> Campus Cabo Frio <input type=\"radio\" name=\"instituicao-divisao\" value=\"Campus Campos\" "; if(@$_POST['instituicao-divisao']=="Campus Campos") $content.=' checked '; $content.="> Campus Campos <input type=\"radio\" name=\"instituicao-divisao\" value=\"Campus Macaé\" "; if(@$_POST['instituicao-divisao']=="Campus Macaé") $content.=' checked '; $content.="> Campus Macaé <input type=\"radio\" name=\"instituicao-divisao\" value=\"Campus Itaperuna\" "; if(@$_POST['instituicao-divisao']=="Campus Itaperuna") $content.=' checked '; $content.="> Campus Itaperuna <input type=\"radio\" name=\"instituicao-divisao\" value=\"Campus Guarus\" "; if(@$_POST['instituicao-divisao']=="Campus Guarus") $content.=' checked '; $content.="> Campus Guarus <input type=\"radio\" name=\"instituicao-divisao\" value=\"Campus Bom Jesus\" "; if(@$_POST['instituicao-divisao']=="Campus Bom Jesus") $content.=' checked '; $content.="> Campus Bom Jesus <p></p></div> "; $content.=" <div class=\"ver_uenf\" id=\"ver_uenf\"> <input type=\"radio\" name=\"instituicao-divisao\" value=\"Bolsa Pibic-UENF\" "; if(@$_POST['instituicao-divisao']=="Bolsa Pibic-UENF") $content.=' checked '; $content.="> Bolsa Pibic-UENF <input type=\"radio\" name=\"instituicao-divisao\" value=\"Bolsa IC-Outros\" "; if(@$_POST['instituicao-divisao']=="Bolsa IC-Outros") $content.=' checked '; $content.="> Bolsa IC-Outros <p></p></div> "; $content.=" <p><strong>Vínculo com a Instituição:</strong><br> <input type=\"radio\" name=\"instituicao-vinculo\" id=\"instituicao-vinculo\" value=\"Aluno\" "; if(@$_POST['instituicao-vinculo']=="Aluno") $content.=' checked '; $content.=">Aluno <input type=\"radio\" name=\"instituicao-vinculo\" id=\"instituicao-vinculo\" value=\"Professor\" "; if(@$_POST['instituicao-vinculo']=="Professor") $content.=' checked '; $content.=">Professor <input type=\"radio\" name=\"instituicao-vinculo\" id=\"instituicao-vinculo\" value=\"Funcionário\" "; if(@$_POST['instituicao-vinculo']=="Funcionário") $content.=' checked '; $content.=">Funcionário <input type=\"radio\" name=\"instituicao-vinculo\" id=\"instituicao-vinculo\" value=\"Pesquisador\" "; if(@$_POST['instituicao-vinculo']=="Pesquisador") $content.=' checked '; $content.=">Pesquisador <input type=\"radio\" name=\"instituicao-vinculo\" id=\"instituicao-vinculo\" value=\"Outros\" "; if(@$_POST['instituicao-vinculo']=="Outros") $content.=' checked '; $content.=">Outros</p>"; $content.=" <p><strong>E-mail:</strong><br> <input name=\"email\" type=\"text\" id=\"email\" width=\"421\" style=\"width: 421px;\" maxlength=\"255\" "; if(@$_POST['email'] != null and @$_POST['email'] != "Digite o seu e-mail") { $content.='value="'.@$_POST['email'].'" '; } else { $content.=" value=\"Digite o seu e-mail\" onclick=\"this.value=''\" "; } $content.="> </p> <p><h1 class=\"entry-title\">Minicursos</h1></p> <p><div style=\"color:#ff0000;\">Minicurso (não obrigatório), marcar apenas se vai comparecer.</div></p> "; $minicursos = $wpdb->get_results( "SELECT * FROM wp_minicursos" ); foreach($minicursos as $mini){ if($mini->minicurso_inscritos != null) { $inscritos = split("\|",$mini->minicurso_inscritos); $inscritos = ($mini->minicurso_vagas - count($inscritos)); }else{ $inscritos = $mini->minicurso_vagas; } if ($inscritos <= 0) { $inscritos = 0; } $content.=' <div class="minicurso_'.$mini->minicurso_id.'" id="minicurso_'.$mini->minicurso_id.'"> <p> <input type="checkbox" name="minicurso[]" id="'.$mini->minicurso_id.'" value="'.$mini->minicurso_id.'" onClick="esquema_minicurso(this.value)" '; if($inscritos <= 0) $content.='disabled'; $content.=' > <strong>MINICURSO '.$mini->minicurso_id.'</strong><br> <strong>Tema: </strong>'.$mini->minicurso_tema.'<br> <strong>Professor(es): </strong>'.$mini->minicurso_professor.'<br> <strong>Data: </strong>'.$mini->minicurso_data.'<br> <strong>Vagas: </strong>'.$inscritos.' de '.$mini->minicurso_vagas.'<br> <strong>Carga horária: </strong>'.$mini->minicurso_carga.'<br> <strong>Horário: </strong>'.$mini->minicurso_horario.'<br> </p> </div> '; } $content.=' <div align="right"> <input type="submit" name="enviar" id="enviar" value="Enviar" /> </div> </form>'; $content.=' <script language="javascript"> jQuery(document).ready(function(){'; if(@$_POST['instituicao-ensino'] == 'IFF') $content.='jQuery("#ver_iff").show("slow");'; if(@$_POST['instituicao-ensino'] == 'UENF') $content.='jQuery("#ver_uenf").show("slow");'; $content.=' }) </script>'; return $content;}function formInscricao() { global $current_user; if($_POST['inscricao-id'] != null) { $resultado = validaFormularioInscricao(); if($resultado['status']==true){ $data = gravaInscricao(); if($data['status']==true){ $content='<div style="background:#ff0000;border:1px solid #ffc100;color:#ffffff;padding:4px;">A sua incrição foi efetuada com sucesso.<br>Verifique seu email <strong>(inclusive na caixa de SPAM)</strong>.<br>Você receberá em instantes uma mensagem contendo suas informações de <strong>Login<strong>. </div>'; }else{ $msg = '<div style="background:#ff0000;border:1px solid #ffc100;color:#ffffff;padding:4px;">'.$data['error_email_existe'].'</div>'; $content=$msg; $idForm = time(); $content .='</br /><br />'. templateFormulario($idForm); } }else{ $msg = '<div style="background:#ff0000;border:1px solid #ffc100;color:#ffffff;padding:4px;">'; if(@$resultado['error_nome-completo']) $msg.=$resultado['error_nome-completo'].'<br />'; if(@$resultado['error_instituicao-ensino']) $msg.=$resultado['error_instituicao-ensino'].'<br />'; if(@$resultado['error_instituicao-divisao']) $msg.=$resultado['error_instituicao-divisao'].'<br />'; if(@$resultado['error_divisao-instituicao']) $msg.=$resultado['error_divisao-instituicao'].'<br />'; if(@$resultado['error_instituicao-vinculo']) $msg.=$resultado['error_instituicao-vinculo'].'<br />'; if(@$resultado['error_minicurso-alert']) $msg.=$resultado['error_minicurso-alert'].'<br />'; if(@$resultado['error_vagas']) $msg.=$resultado['error_vagas'].'<br />'; if(@$resultado['error_email']) $msg.=$resultado['error_email'].'<br />'; if(@$resultado['error_minicurso']) $msg.=$resultado['error_minicurso'].'<br />'; if(@$data['error_email_existe']) $msg.=$data['error_email_existe']; $content=$msg.'</div>'; $idForm = time(); $content .='</br /><br />'. templateFormulario($idForm); } }else{ $idForm = time(); $content = templateFormulario($idForm); } return $content;}function validaFormularioInscricao(){ global $wpdb; if(@verificar_email($_POST['email'])){ $data['status']=true; }else{ $data['status']=false; $data['error_email']='Email inválido'; $data['error_minicurso-alert']='Caso tenha se inscrito em algum minicurso, selecione novamente'; } if($_POST['instituicao-vinculo']==''){ $data['error_instituicao-vinculo']='Selecione uma das opções de vínculo com a instituição'; $data['error_minicurso-alert']='Caso tenha se inscrito em algum minicurso, selecione novamente'; } if($_POST['instituicao-ensino']==''){ $data['error_instituicao-ensino']='O campo instituição de ensino é obrigatório'; $data['error_minicurso-alert']='Caso tenha se inscrito em algum minicurso, selecione novamente'; } if($_POST['instituicao-ensino']=='OUTRAS'){ if($_POST['instituicao-ensino-outros']=='' or $_POST['instituicao-ensino-outros']=='Digite o nome da Instituição') { $data['error_instituicao-ensino']='Digite o nome da instituição'; $data['error_minicurso-alert']='Caso tenha se inscrito em algum minicurso, selecione novamente'; $data['status']=false; }else{ if($data['status']!=false) $data['status']=true; } } // verifica se foi selecionada uma opção para a instituição if($_POST['instituicao-ensino']=="IFF"){ if($_POST['instituicao-divisao']==""){ $data['error_instituicao-divisao'] = 'Você selecionou a instituição IFF, é necessário que escolha uma das opções disponíveis.'; $data['error_minicurso-alert']='Caso tenha se inscrito em algum minicurso, selecione novamente'; $data['status']=false; }else{ if($data['status']!=false) $data['status']=true; } } if($_POST['nome-completo']=='' or $_POST['nome-completo']=='DIGITE O SEU NOME'){ $data['error_nome-completo']='O campo nome completo é obrigatório'; $data['error_minicurso-alert']='Caso tenha se inscrito em algum minicurso, selecione novamente'; $data['status']=false; } if($_POST['minicurso']!='') { foreach($_POST['minicurso'] as $recebeMini) { $minicursos = $wpdb->get_results( "select minicurso_vagas, minicurso_inscritos from wp_minicursos where minicurso_id='".$recebeMini."'" ); foreach($minicursos as $mini){ if($mini->minicurso_inscritos != null) { $inscritos = split("\|",$mini->minicurso_inscritos); $inscritos = ($mini->minicurso_vagas - count($inscritos)); }else{ $inscritos = $mini->minicurso_vagas; } if($inscritos <= 0) { $data['error_vagas']="Não existem mais vagas para o Minicurso ".$recebeMini.""; $data['status']=false; }else{ if($data['status']!=false) $data['status']=true; } } } } return $data;} function verificar_email($email){ if (!empty($email)){ # GUARDA O "WWW" PARA SER CONCATENADO COM O DOMÍNIO DO E-MAIL PARA SER CHECADO $url = "www."; # SELECIONA O QUE CONTIVER DEPOIS DO @ OU SEJA, O DOMINIO.COM.BR if(($arr = split("@",$email))){ # CONCATENA O "WWW" COM O DOMINIO.COM.BR $servidor = $url.$arr[1]; # FUNÇÃO PARA CHECAR A EXISTENCIA DO DOMÍNIO $fp = fsockopen($servidor,80); # CHECA O DOMINIO E MOSTRA A MENSAGEM POSITIVA CASO EXISTA E NEGATIVA CASO NÃO EXISTA if($fp){ $status = true; //echo("O domínio <strong>$servidor</strong> do e-mail <strong>$email</strong> é válido"); fclose($fp); }else{ $status = false; // echo("O domínio <strong>$servidor</strong> do e-mail <strong>$email</strong> é inválido"); } # EXIBE MENSAGEM DE ERRO CASO O EMAIL NÃO CONTENHA O @ }else{ $status=false; //echo("Endereço de e-mail inválido!"); } # EXIBE A MENSAGEM DE ERRO CASO A VARIÁVEL $email SEJA VAZIA }else{ $status=false; //echo "Você precisa digitar um email!"; } return $status; } function gravaInscricao(){ global $wpdb; // pega email do usuario (wp_users) $sql1 = "select * from wp_users where user_email='".$_POST['email']."'"; $usuario = $wpdb->get_results($sql1); $all_nome = split(" ",trim($_POST['nome-completo'])); $user_nicename = strtoupper(strtr($all_nome[0] ,"áéíóúâêôãõàèìòùç","ÁÉÍÓÚÂÊÔÃÕÀÈÌÒÙÇ")); $display_name = strtoupper(strtr(trim($_POST['nome-completo']) ,"áéíóúâêôãõàèìòùç","ÁÉÍÓÚÂÊÔÃÕÀÈÌÒÙÇ")); foreach (@$usuario as $res){} if($res->user_email==$_POST['email']){ $data['status'] = false; $data['error_email_existe']='Já existe um cadastro com o email '.$_POST['email']; return $data; }else{ // Gera senha automática $aux=rand( 000000 , 999999 ); // Ele faz um md5 da variavel $aux e captura os 6 primeiros caracteres $data['senha'] = md5($aux); $data['senha_usuario'] = $aux; $data['login'] = $_POST['email']; if($_POST['instituicao-ensino-outros']) $_POST['instituicao-ensino']=$_POST['instituicao-ensino-outros']; if($_POST['minicurso'] != null) { foreach($_POST['minicurso'] as $selecionado){ if($minicursos == null) { $minicursos = $selecionado; } else { $minicursos = $minicursos."|".$selecionado; } } } $email = strtolower($_POST['email']); // grava usuário inscrito se não existir na base de dados $user_registered=date('d-m-Y'); $sql = "insert into wp_users set user_login='".$email."', user_pass='".$data['senha']."', user_nicename='".$user_nicename."', user_email='".$email."', user_url='', user_registered='".$user_registered."', user_activation_key='', user_status='',display_name='".$display_name."', instituicao_ensino='".$_POST['instituicao-ensino']."', instituicao_divisao='".$_POST['instituicao-divisao']."', instituicao_vinculo='".$_POST['instituicao-vinculo']."', inscricao_id='".$_POST['inscricao-id']."', minicursos='".$minicursos."'"; $wpdb->query($sql); // Pega dados do usuario cadastrado $sql1 = "select * from wp_users where user_email='".$email."'"; $registro_usuario = $wpdb->get_results($sql1); foreach ($registro_usuario as $res1){} // grava user_meta do usuario inscrito $usermeta1 = "insert into wp_usermeta set user_id='".$res1->ID."', meta_key='wp_user_level', meta_value='0'"; $wpdb->query($usermeta1); $usermeta2 = "insert into wp_usermeta set user_id='".$res1->ID."', meta_key='wp_capabilities', meta_value='a:1:{s:10:\"subscriber\";s:1:\"1\";}'"; $wpdb->query($usermeta2); $usermeta3 = "insert into wp_usermeta set user_id='".$res1->ID."', meta_key='show_admin_bar_front', meta_value='false'"; $wpdb->query($usermeta3); // grava minicursos $recebeMinicursos = split("\|",$res1->minicursos); foreach($recebeMinicursos as $recebeMini) { $sqlMini="select * from wp_minicursos where minicurso_id=\"".$recebeMini."\""; $inscricaoMinicursos = $wpdb->get_results($sqlMini); foreach($inscricaoMinicursos as $inscrever) { if($inscrever->minicurso_inscritos == null){ $inscricaoNew = $email; } else { $inscricaoNew = $inscrever->minicurso_inscritos."|".$email;} $atualizaIncritos = "update wp_minicursos set minicurso_inscritos=\"".$inscricaoNew."\" where minicurso_id =\"".$inscrever->minicurso_id."\" "; $wpdb->query($atualizaIncritos); } } // envia email para o inscrito @compose_and_send_mail($data); $data['status'] = true; return $data; }}function compose_and_send_mail($data) { $to = $email; $from = "PIBIC < PIBIC>"; $msg = "Sua inscrição foi efetuada com sucesso ".$display_name."\n\n"; $msg .= "Seu login é: ".$data['login']."\n\n"; $msg .= "Sua senha é: ".$data['senha_usuario']."\n\n"; $msg .="Para enviar seu resumo, é necessário você você faça login no site do evento: http://uenf.infocampos.com.br/login"; $sub="Inscrição CONFICT"; $hdrs = "From: CONFICT <[email protected]>\r\n\\"; return @wp_mail($to,$sub, $msg, $hdrs);}add_shortcode('inscricao', 'formInscricao');
?>