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_20XX" 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 = '
Faça seu LOGIN ou Realize seu CADASTRO agora mesmo.
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.
'; //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 ); } //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 .= 'STATUS: Acesso Autorizado
'; } else { $out .= 'STATUS: Não Solicitado
'; wp_nonce_field('btn_online_clicked'); $out .= ''; $out .= 'Você poderá acompanhar nas instalações do ITA, de acordo com a disponibilidade de vagas, as palestras, sessões técnicas e mini cursos oferecidos, além de interagir diretamente com militares, acadêmicos e empresas que atuam diretamente desenvolvimento das mais avançadas soluções na área de defesa.
'; $btn_presencial_sige = 'presencial'.$ano; if (isset($_POST[$btn_presencial_sige])) { 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"); } //Aqui é adicionado o botão para solicitar a participação, ultimo valor é se ainda está aberto as inscrições $out .= create_status_request($usr, $btn_presencial_sige, 'STATUS: ', true); $chekon_status = get_metadata('user', $usr->ID, 'presencial'.$ano, true); if ($chekon_status != "Não Solicitada" && $chekon_status != "") { update_user_meta( $usr->ID, 'online'.$ano, "Participação APROVADA"); } //////////////////////////////////////////////////////////////////// //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("mini1_".$ano =>array("Mini Curso 1","Strategic Decision Analysis", "Coronel (USAF) Gregory S. Parnell", "https://industrial-engineering.uark.edu/directory/index/uid/gparnell/name/Gregory+S.+Parnell/", true), "mini2_".$ano =>array("Mini Curso 2","Competency-based Training to Address Representative Engineering Grand Challenges", "Prof. Dr. Girum Urgessa", "https://civil.gmu.edu/profiles/gurgessa", true), "mini3_".$ano =>array("Mini Curso 3","Data-Centric AI and challenges for adopting it in large scale sector" , "Prof. Dr. Fredrik Heintz", "https://liu.se/en/employee/frehe08", 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) ); $out .= 'As vagas para acompanhar os cursos presencialmente são limitadas, no entanto também será possível acompanhar online as transmissões.
'; //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 .= ' ATENÇÃO: '; $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.'; } //Para cada minicurso é gerado o botão de solicitação $out .= '