SIGE MANAGER"; // General check for user permissions. if (!current_user_can('manage_options')) { wp_die( __('You do not have sufficient pilchards to access this page.') ); } count_views(); //////// Controle Geral de Inscrições //////////////////////// echo '

Controle Geral de Inscrições

'; echo '
'; $events = array( array("name"=>"SIGE Online", "cod" => "online" . $ano), array("name"=>"SIGE Presencial" , "cod" => "presencial" . $ano), array("name"=>"I ENCONTRO NACIONAL DE TECNOLOGIAS QUÂNTICAS PARA A DEFESA (Online)", "cod" => "eged_online"), array("name"=>"I ENCONTRO NACIONAL DE TECNOLOGIAS QUÂNTICAS PARA A DEFESA (Presencial)", "cod"=>"eged_presencial"), array("name"=>"IVR Presencial", "cod"=>"ivr_presencial"), array("name"=>"Inovação", "cod"=>"inovacao2023"), array("name"=>"aerologlab2023", "cod"=>"aerologlab2023") ); //Adicionar botao para exportar dados com os dados desejados $meta_data = array("full_name", "militar","ehativa","forca","posto","circulo_hierarquico", "instituicao", "setordeatuacao", "areaatividadeprincipal", "cargofuncao" ,"nacionalidade", "cidade", "estado", "compartilha_dados","termos2022","compartilha2022","presencial_geral", "efetivo_dcta","serfa_ivr_credencial"); foreach($events as &$e) { $meta_data[] = $e["cod"]; } foreach($courses as &$c) { $meta_data[] = $c; } $user_list = generate_export_insc_list($meta_data, $ano); array_to_csv_download($user_list, 'ListaInscritos'. date("d_m_Y") .'.csv', 'Exportar Lista Inscritos'); //Pegar informações de vagas do usuário controle de vagas (TODO: criar solução melhor) //Hoje o usuário com ID 1551 usa os campos relativos aos minicursos para informar o número de vagas $vagas = 700; //Vagas geral presencial $user = get_user_by( 'ID', 1551); //ID do user controle_de_vagas //Busca o número de vagas para cada minicurso foreach ($events as &$e) { if ($user) { $e['Vagas'] = get_metadata('user', $user->ID, $e["cod"], true); } else { $e['Vagas'] = $vagas; } } //Essa Função cria as tabelas e adiciona o botão para confirmações (ela está no SigeUtils.php) generate_table_events($vagas, $events, "controleGeral", $ano); //////// Controle de inscritos cada mini curso //////////////////////// // Start building the page echo '

Controle de Inscrições em Minicursos

'; echo '
'; //Adicionar o número de minicuros disponíveis para o ano do evento // //Pegar informações de vagas do usuário controle de vagas (TODO: criar solução melhor) $events = array( array("name"=>"Mini Curso 1", "cod" => "mini1_".$ano), array("name"=>"Mini Curso 2" , "cod" => "mini2_".$ano), array("name"=>"Mini Curso 3", "cod" => "mini3_".$ano), array("name"=>"Mini Curso 4", "cod"=>"mini4_".$ano), array("name"=>"Mini Curso 5", "cod"=>"mini5_".$ano) ); //Pegar informações de vagas do usuário controle de vagas (TODO: criar solução melhor) $vagas = 60; $user = get_user_by( 'ID', 1551); //ID do user controle_de_vagas foreach ($events as &$e) { if ($user) { $e['Vagas'] = get_metadata('user', $user->ID, $e["cod"], true); } else { $e['Vagas'] = $vagas; } } generate_table_events($vagas, $events, "miniCourses", $ano); //////// Controle de Presenciais //////////////////////// $args = array( 'role' => 'inscritos_'.$ano, 'orderby' => 'ID' ); $usr_list = get_users($args); $num_local = 0; $num_local_militar = 0; $num_dcta = 0; $num_dcta_militar = 0; $num_dcta_militar_forcas = array("Força Aérea Brasileira" => 0, "Exército Brasileiro"=> 0, "Marinha do Brasil"=> 0, "Marinha Brasileira" => 0 , "Forças Auxiliares"=> 0); $num_externo = 0; $num_externo_militar = 0; $num_externo_militar_forcas = array("Força Aérea Brasileira" => 0, "Exército Brasileiro"=> 0, "Marinha do Brasil"=> 0, "Forças Auxiliares"=> 0); $num_externo_militar_SIGE = array("Força Aérea Brasileira" => 0, "Exército Brasileiro"=> 0, "Marinha do Brasil"=> 0, "Forças Auxiliares"=> 0); $num_externo_militar_SIGEg = array("Força Aérea Brasileira" => 0, "Exército Brasileiro"=> 0, "Marinha do Brasil"=> 0, "Forças Auxiliares"=> 0); $count_merge = array(); $count_merge_militar = array(); $count_merge_civil = array(); $count_merge_guarnaeSJ_militar = array(); $count_merge_guarnaeSJ_civil = array(); if ( ! empty( $usr_list ) ) { foreach ( $usr_list as $usr ) { if (get_metadata('user', $usr->ID, "presencial_geral", true) == "Sim") { $merge = checkEventoLocal($usr); if (!array_key_exists($merge,$count_merge)) $count_merge[$merge] = 1; else $count_merge[$merge]++; $num_local++; if (get_metadata('user', $usr->ID, "militar", true) == "Sim") { $num_local_militar++; } if (get_metadata('user', $usr->ID, "efetivo_dcta", true) == "Sim") { $num_dcta++; if (get_metadata('user', $usr->ID, "militar", true) == "Sim") { $num_dcta_militar++; $forca = get_metadata('user', $usr->ID, "forca", true); if( $forca == "Clique para escolher a Força" || $forca == "") $forca = "Força Aérea Brasileira"; if ($forca == "Marinha Brasileira") { $forca = "Marinha do Brasil"; } if (array_key_exists($forca, $num_dcta_militar_forcas )) $num_dcta_militar_forcas[$forca]++; else $num_dcta_militar_forcas[$forca] = 1; if (!array_key_exists($merge,$count_merge_guarnaeSJ_militar)) $count_merge_guarnaeSJ_militar[$merge] = 1; else $count_merge_guarnaeSJ_militar[$merge]++; //if ($merge == "+EGED Presencial") // $num_externo_militar_EGEDg[$forca]++; //if ($merge == "+SERFA_IVR Presencial") // $num_externo_militar_IVRg[$forca]++; if ($merge == "+SIGE Presencial") $num_externo_militar_SIGEg[$forca]++; } else { if (!array_key_exists($merge,$count_merge_guarnaeSJ_civil)) $count_merge_guarnaeSJ_civil[$merge] = 1; else $count_merge_guarnaeSJ_civil[$merge]++; } } else { $num_externo++; if (get_metadata('user', $usr->ID, "militar", true) == "Sim") { $num_externo_militar++; $forca = get_metadata('user', $usr->ID, "forca", true); if( $forca == "Clique para escolher a Força" || $forca == "") $forca = "Força Aérea Brasileira"; if ($forca == "Marinha Brasileira") { $forca = "Marinha do Brasil"; } if (array_key_exists($forca, $num_externo_militar_forcas )) { $num_externo_militar_forcas[$forca]++; } else { $num_externo_militar_forcas[$forca] = 1; } if (!array_key_exists($merge,$count_merge_militar)) $count_merge_militar[$merge] = 1; else $count_merge_militar[$merge]++; } else { if (!array_key_exists($merge,$count_merge_civil)) $count_merge_civil[$merge] = 1; else $count_merge_civil[$merge]++; } } } } } echo '
Total Presencial é Referente a "Participação Aprovada" e "Solicitar Participação" em algum dos eventos presenciais'; echo '
----------------------------------------------------------'; echo '
Total Presencial: ' . $num_local . '/' . sizeof($usr_list); echo '
DCTA Presencial: ' . $num_dcta . ' ( ' . $num_dcta_militar . ' Militares ) -> ' . $num_dcta_militar_forcas["Força Aérea Brasileira"] .' FAB / ' . $num_dcta_militar_forcas["Exército Brasileiro"] .' EB / ' . $num_dcta_militar_forcas["Marinha do Brasil"] .' MB'; echo '
EXTERNO Presencial: ' . $num_externo . ' ( ' . $num_externo_militar . ' Militares ) -> ' . $num_externo_militar_forcas["Força Aérea Brasileira"] .' FAB / ' . $num_externo_militar_forcas["Exército Brasileiro"] .' EB / ' . $num_externo_militar_forcas["Marinha do Brasil"] .' MB'; echo '
----------------------------------------------------------
'; //////FUNÇÕES DE MANUTENÇÃO///////////////// echo '
'; echo '

Migração Formato Anterior

'; //////// Botao para atualizar campos usuários pelo registro //////////////////////// echo '
'; echo '

Este botão busca as entradas originais do formulário de cadastro e atualiza os seguintes campos adicionais dos usuários:

'; echo 'posto / militar / instituicao / nacionalidade / compartilhadados / nome exibição'; echo '

Só pressione se você sabe o que está fazendo !!!

'; // Check whether the button has been pressed AND also check the nonce if (isset($_POST['update_from_reg_button']) && check_admin_referer('update_from_reg_button_clicked')) { // the button has been pressed AND we've passed the security check update_from_reg_button_action(); } echo '
'; // this is a WordPress security feature - see: https://codex.wordpress.org/WordPress_Nonces wp_nonce_field('update_from_reg_button_clicked'); echo ''; submit_button('Atualizar dados pelo Registro'); echo '
'; /////////// MODELO PARA CRIAR UM BOTÃO PARA CHAMER UMA FUNÇÃO PERSONALIZADA //////////////////////// /* echo '
'; echo '

Recusa inscrições específicas

'; echo '

Só pressione se você sabe o que está fazendo !!!

'; $btn_name = 'naoprova_emails'; if (isset($_POST[$btn_name]) && check_admin_referer($btn_name . '_clicked')) { nao_aprovar_evento(); } echo '
'; wp_nonce_field($btn_name . '_clicked'); echo ''; submit_button('Não Aprovar Específicos'); echo '
'; */ } function update_from_reg_button_action() { $upd_count = 0; global $wpdb; $args = array('role' => 'subscriber' ); $usr_list = get_users(); if ( ! empty( $usr_list ) ) { foreach ( $usr_list as $usr ) { $usr_info = get_userdata( $usr->ID ); $usr_info->user_email; //echo '
  • ' . $usr_info->display_name . ' : ' . $usr_info->user_email .'
  • '; //Só checa novos usuários //if (get_metadata( 'user', $usr->ID, 'militar', true ) != "" ) continue; //Dados retirados do formulário de registro (4754 - 2022 / 742 - 2021) $cf7_reg_id = get_cf7Id_from_email($usr_info->user_email, 4745); if ($cf7_reg_id == null) { $cf7_reg_id = get_cf7Id_from_email($usr_info->user_email, 742); } // Atualizar Campos if ($cf7_reg_id != null) { /*$nome = get_cf7_param_from_id($cf7_reg_id->data_id, 'nome'); $posto_reg = get_cf7_param_from_id($cf7_reg_id->data_id, 'posto'); $eh_militar = get_cf7_param_from_id($cf7_reg_id->data_id, 'militar'); $instituicao = get_cf7_param_from_id($cf7_reg_id->data_id, 'instituicao'); $nacionalidade = get_cf7_param_from_id($cf7_reg_id->data_id, 'ehbrasileiro'); $compartilhaDados = get_cf7_param_from_id($cf7_reg_id->data_id, 'concordocompartilhar');*/ //$forca = get_cf7_param_from_id($cf7_reg_id->data_id, 'forcaarmada'); //$cidade = get_cf7_param_from_id($cf7_reg_id->data_id, 'cidade'); //$areaatividade = get_cf7_param_from_id($cf7_reg_id->data_id, 'areaatividadeprincipal'); //$setoratuacao = get_cf7_param_from_id($cf7_reg_id->data_id, 'setordeatuacao'); $cargofuncao = get_cf7_param_from_id($cf7_reg_id->data_id, 'cargofuncao'); /*if (get_metadata( 'user', $usr->ID, 'posto', true ) == "" ); update_user_meta( $usr->ID, 'posto', $posto_reg->value); if (get_metadata( 'user', $usr->ID, 'militar', true ) == "" ); update_user_meta( $usr->ID, 'militar', $eh_militar->value); if (get_metadata( 'user', $usr->ID, 'instituicao', true ) == "" ); update_user_meta( $usr->ID, 'instituicao', $instituicao->value); if (get_metadata( 'user', $usr->ID, 'nacionalidade', true ) == "" ); update_user_meta( $usr->ID, 'nacionalidade', $nacionalidade->value); if (get_metadata( 'user', $usr->ID, 'compartilha_dados', true ) == "" ); update_user_meta( $usr->ID, 'compartilha_dados', $compartilhaDados->value);*/ //if (get_metadata( 'user', $usr->ID, 'forca', true ) == "" ); // update_user_meta( $usr->ID, 'forca', $forca->value); //if (get_metadata( 'user', $usr->ID, 'cidade', true ) == "" ); // update_user_meta( $usr->ID, 'cidade', $cidade->value); //if (get_metadata( 'user', $usr->ID, 'areaatividadeprincipal', true ) == "" ); // update_user_meta( $usr->ID, 'areaatividadeprincipal', $areaatividade->value); //if (get_metadata( 'user', $usr->ID, 'setordeatuacao', true ) == "" ); // update_user_meta( $usr->ID, 'setordeatuacao', $setoratuacao->value); if (get_metadata( 'user', $usr->ID, 'cargofuncao', true ) == "" ); update_user_meta( $usr->ID, 'cargofuncao', $cargofuncao->value); /*$displayName = $nome->value;//$usr->first_name . ' ' . $usr->last_name; if ($eh_militar->value == "Sim") $displayName = $posto_reg->value . ' ' . $displayName; wp_update_user( array( 'ID' => $usr->ID, 'display_name' => $displayName ) ); wp_update_user( array( 'ID' => $usr->ID, 'first_name' => $displayName ) ); update_user_meta( $usr->ID, 'full_name', $nome->value); */ $upd_count = $upd_count + 1; //if ($upd_count == 10) break; } } } echo '

    ' . $upd_count . ' Usuários foram atualizados pelo formulário de registro' . '

    '; } function update_from_insc_button_action() { $upd_count = 0; global $wpdb; $args = array( 'role' => 'subscriber', ); $usr_list = get_users_details($args); if ( ! empty( $usr_list ) ) { //Atualiza os campos de inscrições nos minicursos $regs = array(array("email","mini1", "mini2", "mini3", "mini4", "mini5")); foreach ( $usr_list as $usr ) { $usr_info = get_userdata( $usr->ID ); $usr_info->user_email; //echo '
  • ' . $usr_info->display_name . ' : ' . $usr_info->user_email .'
  • '; //$id_reg = 5017; //Dados retirados do formulário de inscrição 2022 (5017) //$cf7_reg_id = get_cf7Id_from_email($usr_info->user_email, $id_reg); //if ($cf7_reg_id != null) //{ $reg_id = 5160; $cf7_reg_id = get_cf7Id_from_email($usr_info->user_email, $reg_id); //} if ($cf7_reg_id != null) { $courses = array("mini1", "mini2", "mini3", "mini4", "mini5"); $regs_usr = array($usr_info->user_email); foreach ( $courses as $mini ) { $mini_data = get_cf7_param_from_id($cf7_reg_id->data_id, $mini); if ($mini_data != null ) { if ($mini_data->value == "") { $mini_data = "Não Solicitada";} else{ if ($mini_data->value == "Enrol") $mini_data = "Solicitar Participação"; } $regs_usr[] = $mini_data; echo $mini . ' -> ' . $mini_data . ' | '; update_user_meta( $usr->ID, $mini, $mini_data); } else { $mini_data = "Não Solicitada"; echo $mini . ' -> ' . $mini_data . ' | '; update_user_meta( $usr->ID, $mini, $mini_data); $regs_usr[] = $mini_data; } } $upd_count = $upd_count + 1; $regs[] = $regs_usr; } } array_to_csv_download($regs, 'mini_cursos_upd.csv','MiniCursos Data'); //Atualiza os campos de de inscrições no evento Online Presencial $regs = array(array("email","online", "presencial")); foreach ( $usr_list as $usr ) { $usr_info = get_userdata( $usr->ID ); $usr_info->user_email; //Dados retirados do formulário de inscrição 2022 (5017) $cf7_reg_id = get_cf7Id_from_email($usr_info->user_email, 5160); if ($cf7_reg_id != null) { $regs_usr = array($usr_info->user_email); $part_data = get_cf7_param_from_id($cf7_reg_id->data_id, "participacao"); if ($part_data != null ) { if ($part_data->value == "") { $part_data = "Não Solicitada";} else{ $part_data = $part_data->value;} if ($part_data == "On-line") { update_user_meta( $usr->ID, 'online2022', 'Participação APROVADA'); update_user_meta( $usr->ID, 'presencial2022', 'Não Solicitada'); $regs_usr[] = $part_data; } if ($part_data == "In-person") { update_user_meta( $usr->ID, 'presencial2022', 'Solicitar Participação'); update_user_meta( $usr->ID, 'online2022', 'Participação APROVADA'); $regs_usr[] = $part_data; } } if ($part_data == null || $part_data == "Não Solicitada") { $part_data = "Não Solicitada"; update_user_meta( $usr->ID, 'online2022', $part_data); update_user_meta( $usr->ID, 'presencial2022', $part_data); $regs_usr[] = $part_data; $regs_usr[] = $part_data; } update_user_meta( $usr->ID, 'eged_presencial', "Não Solicitada"); update_user_meta( $usr->ID, 'serfa_ivr_presencial', "Não Solicitada"); update_user_meta( $usr->ID, 'eged_online', "Não Solicitada"); $upd_count = $upd_count + 1; $regs[] = $regs_usr; } } array_to_csv_download($regs, 'eventos_upd.csv','Eventos Data'); } echo '

    ' . $upd_count . ' Usuários foram atualizados pelo Formulário de Inscrição' . '

    '; } function get_some_data( $value ){ global $wpdb; $sql = $wpdb->prepare( "SELECT * FROM {$wpdb->prefix}cf7_vdata_entry WHERE value = %s ", $value ); return $wpdb->get_results( $sql ); } function get_all_tables_names($value ){ global $wpdb; $sql = $wpdb->prepare("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = %s", $value); return $wpdb->get_results( $sql ); } function get_all_emails(){ global $wpdb; $sql = "SELECT * FROM {$wpdb->prefix}cf7_vdata_entry WHERE cf7_id = 4745 AND NAME ='email'\n" . "ORDER BY `arzam_cf7_vdata_entry`.`cf7_id` ASC;"; return $wpdb->get_results( $sql ); } function get_cf7Id_from_email($email, $form_id){ global $wpdb; $sql = $wpdb->prepare("SELECT data_id FROM {$wpdb->prefix}cf7_vdata_entry WHERE name ='email' AND value = %s AND cf7_id = %s", $email, $form_id) ; $data = $wpdb->get_results( $sql ); if ( ! empty( $data ) ) { return array_values(array_slice($data, -1))[0]; } else { return null; } return array_values(array_slice($data, -1))[0]; } function get_cf7_param_from_id($id, $param){ global $wpdb; $sql = $wpdb->prepare("SELECT value FROM {$wpdb->prefix}cf7_vdata_entry WHERE data_id =%d AND name = %s", $id, $param) ; $data = $wpdb->get_results( $sql ); if ( ! empty( $data ) ) { return array_values(array_slice($data, -1))[0]; } else { return null; } } function get_users_details($args) { $my_user_query = new WP_User_Query( $args ); $users_res = $my_user_query->get_results(); return $users_res; } /*add_action( 'wp_login', 'format_user_display_name_on_login' ); function format_user_display_name_on_login( $username ) { $user = get_user_by( 'login', $username ); $userdata = array( 'ID' => $user->ID, 'display_name' => $user->user_login, ); wp_update_user( $userdata ); } */ ?>