413 lines
17 KiB
PHP
413 lines
17 KiB
PHP
<?php
|
|
|
|
|
|
function user_has_role($user_id, $role_name)
|
|
{
|
|
$user_meta = get_userdata($user_id);
|
|
$user_roles = $user_meta->roles;
|
|
return in_array($role_name, $user_roles);
|
|
}
|
|
|
|
function user_viewer() {
|
|
|
|
//Só mudar o ano após ter criado os campos "miniX_20XX" para todos os minicursos disponíveis
|
|
//e também os campos novos "online20XX" e "presencial20XX"
|
|
//A role "inscritos_20svXX" também deve ser criada previamente em "Members->Adicionar nova Função"
|
|
$ano = 2023;
|
|
|
|
//Limitação para somente usuários cadastrados
|
|
if (!is_user_logged_in())
|
|
{
|
|
$out = '<hr><br><h1>ACESSO EXCLUSIVO PARA USUÁRIOS CADASTRADOS </h1>';
|
|
$out .= '<p>Faça seu <a href="https://www.sige.ita.br/log-in/">LOGIN</a> ou Realize seu <a href="https://www.sige.ita.br/home-registro/">CADASTRO</a> agora mesmo.</p><br><hr>';
|
|
return $out;
|
|
}
|
|
|
|
$usr = wp_get_current_user();
|
|
$usr_info = get_userdata( $usr->ID );
|
|
|
|
//Código para restringir acesso e testar modificações
|
|
#if (!user_has_role(get_current_user_id(), 'administrator')){
|
|
# $out = '<br><hr><br><h3>Em manutenção, retorne em breve. </h3><hr>';
|
|
#return $out;
|
|
#}
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
/// Adicionar Opção para participação ONLINE/////////////
|
|
$out ="<h1>SIMPÓSIO DE APLICAÇÕES OPERACIONAIS EM ÁREAS DE DEFESA </h1><hr><br>";
|
|
|
|
//Definir Texto Exibido
|
|
$out .='<h2><strong>ACESSO AO CONTEÚDO ONLINE </strong></h2>';
|
|
$out .= '<p>Você terá acesso remoto a todo o conteúdo exclusivo do evento de ' .$ano .', incluindo acesso aos trabalhos acadêmicos com apresentações pelos próprios autores, envio de perguntas e acompanhamento das transmissões ao vivo.</p>';
|
|
|
|
|
|
//Atualizar o metadado a ser coletado para checar o status da inscrição para o ano desejado
|
|
$status = get_metadata('user', $usr->ID, 'online'.$ano, true);
|
|
$colorRequest = "#009900";
|
|
|
|
//Este trecho serve para exibir a inscrição aprovada ou disponibilizar o botão de solicitação
|
|
if ($status == "Participação APROVADA" )
|
|
{
|
|
$out .= '<p>STATUS: <span style="color:green"> <strong>Acesso Autorizado </span></strong></p>';
|
|
}
|
|
else
|
|
{
|
|
$out .= '<p>STATUS: <strong><span style="color:teal"> Não Solicitado </span></strong></p>';
|
|
|
|
wp_nonce_field('btn_online_clicked');
|
|
$out .= '<form id="frm" method="post" action="" >';
|
|
$out .= '<input style="background-color:' . $colorRequest . ';
|
|
border: solid 0px #6E6E6E;
|
|
height: 30px;
|
|
width: 160px;
|
|
font-size:14px;
|
|
color:white;
|
|
margin-top:0px; margin-left:0x;margin-bottom:4px; "
|
|
type="submit" value="Solicitar Acesso" id="submit" name="btn_online" /> </form>';
|
|
|
|
$out .= '<hr style="height:1px;border:none;color:#e3e3e3;background-color:#e3e3e3"/>';
|
|
}
|
|
|
|
$btn_online = get_metadata('user', $usr->ID, 'online'.$ano, true);
|
|
//Define as Roles que devem ser alteradas e metadados atualizados
|
|
if (isset($_POST['btn_online']))
|
|
{
|
|
//Para o caso do acesso online a aprovação é imediata
|
|
//O metadata "online20XX" deve ser criado para os usuários no plugin "Campos Personalizados"
|
|
update_user_meta( $usr->ID, 'online'.$ano, 'Participação APROVADA');
|
|
//O role "inscritos_20XX" também deve ser criada previamente em "Members->Adicionar nova Função"
|
|
//com apenas a função básica de ler
|
|
$usr->add_role( 'inscritos_'.$ano );
|
|
header("Refresh:0");
|
|
}
|
|
////////////////////////////////////////////////////////////////////
|
|
//Adicionar Botão para participação PRESENCIAL/////////////
|
|
$out .= '<hr style="height:1px;border:none;color:#e3e3e3;background-color:#e3e3e3"/>';
|
|
$out .='<h2><strong>PARTICIPAÇÃO PRESENCIAL </strong></h2>';
|
|
$out .='<p>Aproveite esta oportunidade, você poderá acompanhar nas instalações do ITA as palestras, sessões técnicas, workshops, apresentações e minicursos preparados nesta edição do SIGE, além de interagir com militares, acadêmicos e empresas que atuam diretamente desenvolvimento das mais avançadas soluções na área de defesa. Garanta logo a sua vaga, temos vagas limitadas.</p>';
|
|
|
|
$btn_presencial_sige = 'presencial'.$ano;
|
|
$out .= create_status_request($usr, $btn_presencial_sige, 'STATUS: ', true);
|
|
$chekon_status = get_metadata('user', $usr->ID, 'presencial'.$ano, true);
|
|
|
|
//echo " $chekon_status ";
|
|
//echo "btn_presencial_sige: " . $_POST[$btn_presencial_sige] . "<br>";
|
|
if (isset($_POST[$btn_presencial_sige]) && $btn_presencial_sige != 'Cancelar Participação')
|
|
{
|
|
echo "btn_presencial_sige: " . $_POST[$btn_presencial_sige] . "<br>";
|
|
update_user_meta( $usr->ID, $btn_presencial_sige, $_POST[$btn_presencial_sige]);
|
|
//Role "inscritos_20XX" deve estar criada, ela garante a contagem total de inscritos
|
|
$usr->add_role( 'inscritos_'.$ano );
|
|
update_user_meta( $usr->ID, "presencial_geral", "Sim");
|
|
//update_user_meta($usr->ID, 'presencial'.$ano, "Solicitar Participação");
|
|
echo " $chekon_status ";
|
|
header("Refresh:0");
|
|
|
|
|
|
}
|
|
|
|
if ($chekon_status == 'Cancelar Participação'){
|
|
echo "bs";
|
|
update_user_meta( $usr->ID, 'mini1_'.$ano, 'Cancelar Participação');
|
|
update_user_meta( $usr->ID, 'mini2_'.$ano, 'Cancelar Participação');
|
|
update_user_meta( $usr->ID, 'mini3_'.$ano, 'Cancelar Participação');
|
|
update_user_meta( $usr->ID, 'mini4_'.$ano, 'Cancelar Participação');
|
|
update_user_meta( $usr->ID, 'mini5_'.$ano, 'Cancelar Participação');
|
|
update_user_meta( $usr->ID, 'inovacao'.$ano, 'Cancelar Participação');
|
|
update_user_meta( $usr->ID, 'aerologlab'.$ano, 'Cancelar Participação');
|
|
//update_user_meta( $usr->ID, $btn_presencial_sige, $_POST[$btn_presencial_sige]);
|
|
//header("Refresh:0");
|
|
}
|
|
|
|
//Aqui é adicionado o botão para solicitar a participação, ultimo valor é se ainda está aberto as inscrições
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
//Adicionar Botões para participação em Mini Cursos/////////////
|
|
//As descrições dos minicursos devem ser atualizadas aqui para o que o usuário irá enxergar
|
|
//a Key do array correponde ao nome da chave do campo adicional do usuário
|
|
$courses = array("mini3_".$ano =>array("Mini Curso 1","Towards Trustworthy AI-Integrating Reasoning and Learning" , "Prof. Dr. Fredrik Heintz", "https://liu.se/en/employee/frehe08", true),
|
|
"mini1_".$ano =>array("Mini Curso 2","Value-Focused Thinking for Capability-Based Planning", "Coronel (USAF) Gregory S. Parnell", "https://industrial-engineering.uark.edu/directory/index/uid/gparnell/name/Gregory+S.+Parnell/", true),
|
|
"mini2_".$ano =>array("Mini Curso 3","Competency-based Training to Address Representative Engineering Grand Challenges", "Prof. Dr. Girum Urgessa", "https://civil.gmu.edu/profiles/gurgessa", true),
|
|
"mini4_".$ano =>array("Mini Curso 4","Introdução à Engenharia de Sistemas Espaciais", "Prof. Dr. Márcio Martins da Silva Costa", "http://lattes.cnpq.br/9992346581154486", true),
|
|
"mini5_".$ano =>array("Mini Curso 5","Introdução à Criptografia Quântica", "Prof. Dr. André Jorge Carvalho Chaves", "http://lattes.cnpq.br/5727667279534190", true),
|
|
"inovacao".$ano =>array("Apresentação 1","O Sistema de Inovação da Aeronáutica e sua conexão com a Base Industrial de Defesa ", "Ten Cel Av BRENO RICARDO DE ARAÚJO LEITE", "http://lattes.cnpq.br/8793321901301171", true),
|
|
"aerologlab".$ano =>array("Apresentação 2","Gêmeo Digital em suporte à aeronaves ", "Cel Av R1 FERNANDO TEIXEIRA MENDES ABRAHÃO", "linkedin.com/in/fernando-teixeira-mendes-abrahão-45161045", true)
|
|
);
|
|
|
|
|
|
$out .= '<hr>';// style="height:1px;border:none;color:#e3e3e3;background-color:#e3e3e3"/>';
|
|
$out .= '<p><h2><strong>MINICURSOS</strong></h2></p>';
|
|
$out .= '<p>Os minicursos possuem vagas limitadas, então não deixe de aproveitar essa oportunidade de participar presencialmente. Garanta logo a sua vaga, mas não se preocupe caso não consiga. Os minicursos serão gravados e disponibilizados em nosso site após o término do evento.</p>';
|
|
|
|
$out .= '<hr>';// style="height:1px;border:none;color:#e3e3e3;background-color:#e3e3e3"/><br>';
|
|
//$out .= '<br><h2 style="color:red"><strong> ATENÇÃO: Transmissão Online MINICURSOS </strong></h2>';
|
|
//$out .= 'Este ano, estamos entusiasmados em anunciar uma novidade importante: devido à alta procura pelos nossos minicursos estaremos oferecendo a possibilidade de acompanhá-los online. Isso significa que, mesmo que você não possa estar fisicamente presente no evento, ainda poderá aproveitar o conteúdo valioso dos nossos minicursos de qualquer lugar do mundo..';
|
|
$out .= '<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Novidades no XXV Simpósio de Aplicações Operacionais em Áreas de Defesa</title>
|
|
<style>
|
|
.destaque {
|
|
text-align: center; /* Centraliza o texto */
|
|
color: red; /* Define a cor vermelha */
|
|
}
|
|
</style>
|
|
<style>
|
|
.recuo-lista li {
|
|
padding-left: 2.5cm; /* Define o recuo de 1,5 cm para a lista */
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1 class="destaque"><strong>ATENÇÃO: Transmissão Online MINICURSOS</strong></h1>
|
|
|
|
<p>Este ano, estamos entusiasmados em anunciar uma novidade importante: devido à alta procura pelos nossos <strong>minicursos</strong> estaremos oferecendo a possibilidade de acompanhá-los <strong>online</strong>. Isso significa que, mesmo que você não possa estar fisicamente presente no evento, ainda poderá aproveitar o conteúdo valioso dos nossos minicursos de qualquer lugar do mundo.</p>
|
|
|
|
<p>Para participar dos minicursos online, é simples:</p>
|
|
|
|
<ol class="recuo-lista">
|
|
<li>Escolha a modalidade "ACESSO AO CONTEÚDO ONLINE" no meu acima.</li>
|
|
<li>Acesse o site exclusivo do evento <a href="https://www.sige.ita.br/2023_homeconteudo/">SIGE EVENTO 2023</a> no dia e horário do minicurso de seu interesse.</li>
|
|
</ol>
|
|
|
|
<p>É importante ressaltar que apenas os participantes presenciais serão contemplados com certificados de participação. Portanto, se você deseja receber um certificado, considere a opção de participação presencial no evento.</p>
|
|
|
|
|
|
</body>
|
|
</html>';
|
|
|
|
|
|
$out .= '<hr>';// style="height:1px;border:none;color:#e3e3e3;background-color:#e3e3e3"/>';
|
|
|
|
//Para solicitar os minicursos disponíveis o usuário deve ter solicitado participação presencial
|
|
//Atenção para atualizar o metadado no par ao ano correto
|
|
|
|
$chekon_statusP = get_metadata('user', $usr->ID, 'presencial'.$ano, true);
|
|
if ($chekon_statusP == "Não Solicitada" || $chekon_statusP == "")
|
|
{
|
|
$out .= '<strong><span style="color:red"> ATENÇÃO: </span></strong>';
|
|
$out .= 'Você ainda não solicitou Participação Presencial. Ao solicitar participação em um minicurso sua solicitação de inscrição presencial também será enviada.';
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$out .= '<hr style="height:1px;border:none;color:#e3e3e3;background-color:#e3e3e3"/>';
|
|
|
|
|
|
$coursesKeys = array_keys($courses);
|
|
$mini = $coursesKeys[0];
|
|
$desc = $courses[$mini];
|
|
$buttonName = $mini;
|
|
|
|
|
|
|
|
$desc_info = '<strong>' . $desc[0] . '</strong> : ' . $desc[1] . ' (<a href=' . $desc[3] . ' target="_blank" >' . $desc[2] . ')</a><br>Status: ';
|
|
|
|
|
|
$out .= create_status_request($usr, $buttonName, $desc_info, $desc[4]);
|
|
|
|
|
|
if (isset($_POST[$buttonName])) {
|
|
|
|
update_user_meta($usr->ID, $mini, $_POST[$buttonName]);
|
|
|
|
if ($chekon_statusP == "Não Solicitada" || $chekon_statusP == "") {
|
|
// Atualizar ano do metadado
|
|
update_user_meta($usr->ID, 'presencial'.$ano, "Solicitar Participação");
|
|
header("Refresh:0");
|
|
}
|
|
header("Refresh:0");
|
|
}
|
|
|
|
|
|
$mini = $coursesKeys[1];
|
|
$desc = $courses[$mini];
|
|
$buttonName = $mini;
|
|
|
|
if (isset($_POST[$buttonName])) {
|
|
|
|
update_user_meta($usr->ID, $mini, $_POST[$buttonName]);
|
|
|
|
if ($chekon_statusP == "Não Solicitada" || $chekon_statusP == "") {
|
|
// Atualizar ano do metadado
|
|
update_user_meta($usr->ID, 'presencial'.$ano, "Solicitar Participação");
|
|
header("Refresh:0");
|
|
}
|
|
header("Refresh:0");
|
|
}
|
|
|
|
$desc_info = '<strong>' . $desc[0] . '</strong> : ' . $desc[1] . ' (<a href=' . $desc[3] . ' target="_blank" >' . $desc[2] . ')</a><br>Status: ';
|
|
|
|
$out .= create_status_request($usr, $buttonName, $desc_info, $desc[4]);
|
|
|
|
|
|
|
|
$mini = $coursesKeys[2];
|
|
$desc = $courses[$mini];
|
|
$buttonName = $mini;
|
|
|
|
|
|
|
|
if (isset($_POST[$buttonName])) {
|
|
|
|
update_user_meta($usr->ID, $mini, $_POST[$buttonName]);
|
|
|
|
if ($chekon_statusP == "Não Solicitada" || $chekon_statusP == "") {
|
|
// Atualizar ano do metadado
|
|
update_user_meta($usr->ID, 'presencial'.$ano, "Solicitar Participação");
|
|
header("Refresh:0");
|
|
}
|
|
header("Refresh:0");
|
|
}
|
|
|
|
$desc_info = '<strong>' . $desc[0] . '</strong> : ' . $desc[1] . ' (<a href=' . $desc[3] . ' target="_blank" >' . $desc[2] . ')</a><br>Status: ';
|
|
|
|
$out .= create_status_request($usr, $buttonName, $desc_info, $desc[4]);
|
|
|
|
|
|
|
|
$mini = $coursesKeys[3];
|
|
$desc = $courses[$mini];
|
|
$buttonName = $mini;
|
|
|
|
|
|
|
|
if (isset($_POST[$buttonName])) {
|
|
|
|
update_user_meta($usr->ID, $mini, $_POST[$buttonName]);
|
|
|
|
if ($chekon_statusP == "Não Solicitada" || $chekon_statusP == "") {
|
|
// Atualizar ano do metadado
|
|
update_user_meta($usr->ID, 'presencial'.$ano, "Solicitar Participação");
|
|
header("Refresh:0");
|
|
}
|
|
header("Refresh:0");
|
|
}
|
|
|
|
$desc_info = '<strong>' . $desc[0] . '</strong> : ' . $desc[1] . ' (<a href=' . $desc[3] . ' target="_blank" >' . $desc[2] . ')</a><br>Status: ';
|
|
|
|
$out .= create_status_request($usr, $buttonName, $desc_info, $desc[4]);
|
|
|
|
|
|
|
|
$mini = $coursesKeys[4];
|
|
$desc = $courses[$mini];
|
|
$buttonName = $mini;
|
|
|
|
$desc_info = '<strong>' . $desc[0] . '</strong> : ' . $desc[1] . ' (<a href=' . $desc[3] . ' target="_blank" >' . $desc[2] . ')</a><br>Status: ';
|
|
$out .= create_status_request($usr, $buttonName, $desc_info, $desc[4]);
|
|
|
|
if (isset($_POST[$buttonName])) {
|
|
|
|
update_user_meta($usr->ID, $mini, $_POST[$buttonName]);
|
|
|
|
if ($chekon_statusP == "Não Solicitada" || $chekon_statusP == "") {
|
|
// Atualizar ano do metadado
|
|
update_user_meta($usr->ID, 'presencial'.$ano, "Solicitar Participação");
|
|
header("Refresh:0");
|
|
}
|
|
header("Refresh:0");
|
|
}
|
|
|
|
|
|
|
|
// Repita esse bloco de código para cada mini-curso, ajustando os índices conforme necessário.
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////
|
|
//Adicionar Botão para participação PRESENCIAL/////////////
|
|
$out .= '<hr style="height:1px;border:none;color:#e3e3e3;background-color:#e3e3e3"/>';
|
|
$out .='<h2><strong>OUTROS EVENTOS </strong></h2>';
|
|
$out .='<p>Nesta edição do SIGE, temos a honra de contar com a participação do Laboratório de Engenharia Logística do Instituto Tecnológico de Aeronáutica (AEROLOGLAB) e da Coordenadoria de Gestão da Inovação do Departamento de Ciência e Tecnologia Aeroespacial (DCTA). Eles irão brindar nosso distinto público com apresentações de alto nível, abordando temas de grande relevância, tais como o emprego da tecnologia Digital Twins no suporte às aeronaves e a interligação do Sistema de Inovação da Aeronáutica com a Base Industrial de Defesa.</p>';
|
|
$out .='<p>Consulte a nossa programação para obter maiores informações. Não perca essa oportunidade.</p>';
|
|
$out .= '<hr style="height:1px;border:none;color:#e3e3e3;background-color:#e3e3e3"/>';
|
|
|
|
|
|
|
|
$mini = $coursesKeys[5];
|
|
$desc = $courses[$mini];
|
|
$buttonName = $mini;
|
|
|
|
|
|
|
|
if (isset($_POST[$buttonName])) {
|
|
|
|
update_user_meta($usr->ID, $mini, $_POST[$buttonName]);
|
|
|
|
if ($chekon_statusP == "Não Solicitada" || $chekon_statusP == "") {
|
|
// Atualizar ano do metadado
|
|
update_user_meta($usr->ID, 'presencial'.$ano, "Solicitar Participação");
|
|
header("Refresh:0");
|
|
}
|
|
header("Refresh:0");
|
|
}
|
|
$desc_info = '<strong>' . $desc[0] . '</strong> : ' . $desc[1] . ' (<a href=' . $desc[3] . ' target="_blank" >' . $desc[2] . ')</a><br>Status: ';
|
|
$out .= create_status_request($usr, $buttonName, $desc_info, $desc[4]);
|
|
|
|
|
|
|
|
$mini = $coursesKeys[6];
|
|
$desc = $courses[$mini];
|
|
$buttonName = $mini;
|
|
|
|
|
|
|
|
|
|
|
|
if (isset($_POST[$buttonName])) {
|
|
|
|
update_user_meta($usr->ID, $mini, $_POST[$buttonName]);
|
|
|
|
if ($chekon_statusP == "Não Solicitada" || $chekon_statusP == "") {
|
|
// Atualizar ano do metadado
|
|
update_user_meta($usr->ID, 'presencial'.$ano, "Solicitar Participação");
|
|
header("Refresh:0");
|
|
}
|
|
header("Refresh:0");
|
|
}
|
|
|
|
|
|
$desc_info = '<strong>' . $desc[0] . '</strong> : ' . $desc[1] . ' (<a href=' . $desc[3] . ' target="_blank" >' . $desc[2] . ')</a><br>Status: ';
|
|
$out .= create_status_request($usr, $buttonName, $desc_info, $desc[4]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////
|
|
return $out;
|
|
|
|
}
|
|
|
|
|
|
|
|
add_shortcode('sige_user_viewer', 'user_viewer');
|
|
|
|
function header_insc() {
|
|
$out = '<h2>MINHAS INSCRIÇÕES: </h2>';
|
|
if (!is_user_logged_in())
|
|
{
|
|
//$out = '<br><hr><br><h3>ACESSO EXCLUSIVO PARA USUÁRIOS CADASTRADOS </h3><hr>';
|
|
return $out;
|
|
}
|
|
$usr = wp_get_current_user();
|
|
$usr_info = get_userdata( $usr->ID );
|
|
|
|
$usr_info->user_email;
|
|
|
|
$out .= '<h5><strong>' . $usr_info->display_name . '</strong><br></h5><hr style="height:4px;">';
|
|
return $out;
|
|
}
|
|
|
|
add_shortcode('header_insc', 'header_insc');
|
|
|
|
|
|
?>
|