<?php

add_action('wp_ajax_nopriv_get_states_by_ajax', 'get_states_by_ajax_callback');

function get_states_by_ajax_callback() {
    check_ajax_referer('load_states', 'security');
    $country = $_POST['country'];
    global $wpdb;
    $aStates = $wpdb->get_results( "SELECT id, state_name FROM cidades WHERE estados_id = %d", $country ) ;
    if ( $aStates ) {
        ?>
        <select>
            <?php
            foreach ($aStates as $state) {
                ?>
                <option value="<?php echo $state->id; ?>"><?php echo $state->state_name; ?></option>
                <?php
            }
            ?>
        </select>
        <?php
    }
    wp_die();
}

function cisamusep_script() {
    wp_deregister_script('jquery');

	wp_register_script('jquery', get_template_directory_uri().'/js/jquery-3.5.1.min.js', array(), "3.5.1", true);

	wp_register_script('simple-slide', get_template_directory_uri().'/js/simple-slide.js', array('jquery'), false, true);

	wp_register_script('simple-form', get_template_directory_uri().'/js/simple-form.js', array('simple-slide'), false, true);

	wp_register_script('jquery.maskedinput', get_template_directory_uri().'/js/jquery.maskedinput.js', array('simple-form'), false, true);

	wp_register_script('main-script', get_template_directory_uri().'/js/main.js', array('jquery.maskedinput'), false, true);

    wp_enqueue_script('main-script');
}
add_action('wp_enqueue_scripts', 'cisamusep_script');

function cisamusep_css() {
    wp_register_style('cisamusep-style', get_template_directory_uri() . "/style.css", array(), false, false);
    wp_enqueue_style('cisamusep-style');
}
add_action('wp_enqueue_scripts', 'cisamusep_css');

remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'start_post_rel_link', 10, 0 );
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
remove_action('wp_head', 'feed_links_extra', 3);
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_styles', 'print_emoji_styles');

// Habilitar Menus
add_theme_support('menus');

// Registrar Menu
function register_my_menu() {
  register_nav_menu('menu-principal',__( 'Menu Principal' ));
}
add_action( 'init', 'register_my_menu' );

function custom_post_type_licitacao() {
	register_post_type('licitacao', array(
		'label' => 'Licitações',
		'description' => 'Licitações',
		'public' => true,
		'show_ui' => true,
		'show_in_menu' => true,
		'capability_type' => 'post',
		'map_meta_cap' => true,
		'hierarchical' => false,
		'rewrite' => array('slug' => 'licitacao', 'with_front' => true),
		'query_var' => true,
		'supports' => array('title', 'editor', 'meta-description', 'page-attributes','post-formats', 'custom-fields'),

		'labels' => array (
			'name' => 'Licitações',
			'singular_name' => 'Licitações',
			'menu_name' => 'Licitações',
			'add_new' => 'Adicionar Nova',
			'add_new_item' => 'Adicionar Nova Licitação',
			'edit' => 'Editar',
			'edit_item' => 'Editar Licitação',
			'new_item' => 'Nova Licitação',
			'view' => 'Ver Licitação',
			'view_item' => 'Ver Licitação',
			'search_items' => 'Procurar Licitação',
			'not_found' => 'Nenhum Licitação Encontrado',
			'not_found_in_trash' => 'Nenhum Licitação Encontrado no Lixo',
		)
	));
}
add_action('init', 'custom_post_type_licitacao');


function custom_post_type_diario_oficial() {
	register_post_type('diario-oficial', array(
		'label' => 'Diário Oficial',
		'description' => 'Diário Oficial',
		'public' => true,
		'show_ui' => true,
		'show_in_menu' => true,
		'capability_type' => 'post',
		'map_meta_cap' => true,
		'hierarchical' => false,
		'rewrite' => array('slug' => 'diario-oficial', 'with_front' => true),
		'query_var' => true,
		'supports' => array('title', 'editor', 'page-attributes','post-formats', 'custom-fields'),

		'labels' => array (
			'name' => 'Diário Oficial',
			'singular_name' => 'Diário Oficial',
			'menu_name' => 'Diário Oficial',
			'add_new' => 'Adicionar Nova',
			'add_new_item' => 'Adicionar Nova Publicação',
			'edit' => 'Editar',
			'edit_item' => 'Editar Publicação',
			'new_item' => 'Nova Publicação',
			'view' => 'Ver Publicação',
			'view_item' => 'Ver Publicação',
			'search_items' => 'Procurar Publicação',
			'not_found' => 'Nenhuma Publicação Encontrado',
			'not_found_in_trash' => 'Nenhuma Publicação Encontrado no Lixo',
		)
	));
}
add_action('init', 'custom_post_type_diario_oficial');

function custom_post_type_legislacao() {
	register_post_type('legislacao', array(
		'label' => 'Legislação',
		'description' => 'Legislação',
		'public' => true,
		'show_ui' => true,
		'show_in_menu' => true,
		'capability_type' => 'post',
		'map_meta_cap' => true,
		'hierarchical' => false,
		'rewrite' => array('slug' => 'legislacao', 'with_front' => true),
		'query_var' => true,
		'supports' => array('title', 'editor', 'page-attributes','post-formats', 'custom-fields'),

		'labels' => array (
			'name' => 'Legislação',
			'singular_name' => 'Legislação',
			'menu_name' => 'Legislação',
			'add_new' => 'Adicionar Nova',
			'add_new_item' => 'Adicionar Nova',
			'edit' => 'Editar',
			'edit_item' => 'Editar',
			'new_item' => 'Nova',
			'view' => 'Ver',
			'view_item' => 'Ver',
			'search_items' => 'Procurar',
			'not_found' => 'Nenhum Encontrado',
			'not_found_in_trash' => 'Nenhum Encontrado no Lixo',
		)
	));
}
add_action('init', 'custom_post_type_legislacao');


function custom_post_type_selecao_publica() {
	register_post_type('selecao_publica', array(
		'label' => 'Seleção Competitiva Pública',
		'description' => 'Seleção Competitiva Pública',
		'public' => true,
		'show_ui' => true,
		'show_in_menu' => true,
		'capability_type' => 'post',
		'map_meta_cap' => true,
		'hierarchical' => false,
		'rewrite' => array('slug' => 'selecao_publica', 'with_front' => true),
		'query_var' => true,
		'supports' => array('title', 'editor', 'page-attributes','post-formats', 'custom-fields'),

		'labels' => array (
			'name' => 'Seleção Competitiva Pública',
			'singular_name' => 'Seleção Competitiva Pública',
			'menu_name' => 'Seleção Competitiva Pública',
			'add_new' => 'Adicionar Nova',
			'add_new_item' => 'Adicionar Nova',
			'edit' => 'Editar',
			'edit_item' => 'Editar',
			'new_item' => 'Nova',
			'view' => 'Ver',
			'view_item' => 'Ver',
			'search_items' => 'Procurar',
			'not_found' => 'Nenhum Encontrado',
			'not_found_in_trash' => 'Nenhum Encontrado no Lixo',
		)
	));
}
add_action('init', 'custom_post_type_selecao_publica');


function smashing_filter_posts_columns( $columns ) {
	$columns['categoria'] = __( 'Categoria' );
	$columns['numero'] = __( 'Número', 'smashing' );
	$columns['ano'] = __( 'Ano', 'smashing' );
	$columns['situacao'] = __( 'Situação', 'smashing' );
	return $columns;
}
add_filter( 'manage_legislacao_posts_columns', 'smashing_filter_posts_columns' );


function smashing_legislacao_columns( $columns ) {
	$columns = array(
		'cb' => $columns['cb'],
		'title' => __( 'Title' ),
		'categoria' => __( 'Categoria', 'smashing' ),
		'numero' => __( 'Número' ),
		'ano' => __( 'Ano' ),
	);
  	return $columns;
}
add_filter( 'manage_legislacao_posts_columns', 'smashing_legislacao_columns' );


function smashing_legislacao_column( $column, $post_id ) {
 	switch($column) {
	  	case 'categoria':
			echo get_post_meta( $post_id, 'categoria_legislacao', true );
			break;
		case 'numero':
			echo get_post_meta( $post_id, 'numero_legislacao', true );
			break;
		case 'ano':
			echo get_post_meta( $post_id, 'ano_legislacao', true );
			break;
 	}
}
add_action( 'manage_legislacao_posts_custom_column', 'smashing_legislacao_column', 10, 2);


function smashing_licitacao_column( $column, $post_id ) {
	switch($column) {
		case 'modalidade':
			echo get_post_meta( $post_id, 'modalidade_processo', true );
			break;
		case 'numero':
			echo get_post_meta( $post_id, 'numero_processo', true );
			break;
		case 'ano':
			echo get_post_meta( $post_id, 'ano_processo', true );
			break;
		case 'situacao':
			echo get_post_meta( $post_id, 'situacao_processo', true );
			break;
	}
}
add_action( 'manage_licitacao_posts_custom_column', 'smashing_licitacao_column', 10, 2);


function smashing_licitacao_sortable_columns( $columns ) {
	$columns['numero'] = 'numero_processo';
	$columns['ano'] = 'ano_processo';
	return $columns;
}
add_filter( 'manage_edit-licitacao_sortable_columns', 'smashing_licitacao_sortable_columns');


function smashing_legislacao_sortable_columns( $columns ) {
  $columns['numero'] = 'numero_legislacao';
  $columns['ano'] = 'ano_legislacao';
  return $columns;
}
add_filter( 'manage_edit-legislacao_sortable_columns', 'smashing_legislacao_sortable_columns');


function smashing_posts_orderby( $query ) {
  if( ! is_admin() || ! $query->is_main_query() ) {
    return;
  }

  if ( 'numero_legislacao' === $query->get( 'orderby') ) {
    $query->set( 'orderby', 'meta_value' );
    $query->set( 'meta_key', 'numero_legislacao' );
    $query->set( 'meta_type', 'numeric' );
  }

  if ( 'ano_legislacao' === $query->get( 'orderby') ) {
    $query->set( 'orderby', 'meta_value' );
    $query->set( 'meta_key', 'ano_legislacao' );
    $query->set( 'meta_type', 'numeric' );
  }

  if ( 'numero_processo' === $query->get( 'orderby') ) {
	$query->set( 'orderby', 'meta_value' );
	$query->set( 'meta_key', 'numero_processo' );
	$query->set( 'meta_type', 'numeric' );
  }

  if ( 'ano_processo' === $query->get( 'orderby') ) {
	$query->set( 'orderby', 'meta_value' );
	$query->set( 'meta_key', 'ano_processo' );
	$query->set( 'meta_type', 'numeric' );
  }
}
add_action( 'pre_get_posts', 'smashing_posts_orderby' );

  
function smashing_licitacao_columns( $columns ) {
	$columns = array(
		'cb' => $columns['cb'],
		'title' => __( 'Title' ),
		'modalidade' => __( 'Modalidade', 'smashing' ),
		'situacao' => __( 'Situação', 'smashing' ),
		'numero' => __( 'Número' ),
		'ano' => __( 'Ano' ),
	);
	return $columns;
}
add_filter( 'manage_licitacao_posts_columns', 'smashing_licitacao_columns' );

function get_estados() {
	global $wpdb;
	$aCountries = $wpdb->get_results( "SELECT nome, sigla FROM wpestados ORDER BY nome" );

	foreach ($aCountries as $estados) {
		echo "<option value=".$estados->sigla.">".$estados->nome."</option>";
	} 
}

?>