<?php
	
	function ninzio_faq() {

	  $labels = array(
		'name'               => __('Faq', TEMPNAME),
		'singular_name'      => __('Faq', TEMPNAME),
		'add_new'            => __('Add new', TEMPNAME),
		'add_new_item'       => __('Add new faq', TEMPNAME),
		'edit_item'          => __('Edit faq', TEMPNAME),
		'new_item'           => __('New faq', TEMPNAME),
		'all_items'          => __('All faq', TEMPNAME),
		'view_item'          => __('View faq', TEMPNAME),
		'search_items'       => __('Search faq', TEMPNAME),
		'not_found'          => __('No faq found', TEMPNAME),
		'not_found_in_trash' => __('No faq found in trash', TEMPNAME), 
		'parent_item_colon'  => '',
		'menu_name'          => __('Faq', TEMPNAME)
	  );

	  $args = array(
	    'labels'             => $labels,
	    'public'             => true,
	    'publicly_queryable' => true,
	    'show_ui'            => true, 
	    'show_in_menu'       => true, 
	    'query_var'          => true,
	    'rewrite'            => array( 'slug' => 'faq' ),
	    'capability_type'    => 'post',
	    'has_archive'        => true, 
	    'hierarchical'       => false,
	    'menu_position'      => null,
	    'menu_icon'          => '',
	    'supports'           => array( 'title', 'editor')
	  ); 

	  register_post_type( 'faq', $args );

	}

	add_action( 'init', 'ninzio_faq' );

	function faq_taxonomies() {

		register_taxonomy('faq-category', 'faq', array(
			'hierarchical' => true,
			'labels' => array(
				'name' 				=> __( 'Faq category', TEMPNAME),
				'singular_name' 	=> __( 'Faq category', TEMPNAME),
				'search_items' 		=> __( 'Search faq category', TEMPNAME ),
				'all_items' 		=> __( 'All faq categories', TEMPNAME ),
				'parent_item' 		=> __( 'Parent faq category', TEMPNAME ),
				'parent_item_colon' => __( 'Parent faq category', TEMPNAME ),
				'edit_item' 		=> __( 'Edit faq category', TEMPNAME ),
				'update_item' 		=> __( 'Update faq category', TEMPNAME ),
				'add_new_item' 		=> __( 'Add new faq category', TEMPNAME ),
				'new_item_name' 	=> __( 'New faq category', TEMPNAME ),
				'menu_name' 		=> __( 'Faq categories', TEMPNAME ),
			),
			'rewrite' => array(
				'slug' 		   => 'faq-category',
				'with_front'   => true,
				'hierarchical' => true
			),
		));

		register_taxonomy('faq-tag', 'faq', array(
			'hierarchical' => false,
			'labels' => array(
				'name' 				=> __( 'Faq tags', TEMPNAME),
				'singular_name' 	=> __( 'Faq tag', TEMPNAME),
				'search_items' 		=> __( 'Search faq tags', TEMPNAME ),
				'all_items' 		=> __( 'All faq tags', TEMPNAME ),
				'parent_item' 		=> __( 'Parent faq tags', TEMPNAME ),
				'parent_item_colon' => __( 'Parent faq tag', TEMPNAME ),
				'edit_item' 		=> __( 'Edit faq tag', TEMPNAME ),
				'update_item' 		=> __( 'Update faq tag', TEMPNAME ),
				'add_new_item'	    => __( 'Add new faq tag', TEMPNAME ),
				'new_item_name' 	=> __( 'New faq tag', TEMPNAME ),
				'menu_name' 		=> __( 'Faq tags', TEMPNAME ),
			),
			'rewrite' 		   => array(
				'slug' 		   => 'faq-tag',
				'with_front'   => true,
				'hierarchical' => false
			),
		));

	}
	add_action( 'init', 'faq_taxonomies', 0 );

/*====================================================================*/
/*	FAQ ADMIN COLUMNS
/*====================================================================*/
	
	add_filter("manage_edit-faq_columns", "faq_edit_columns");

	function faq_edit_columns($columns){

		$columns['cb']             = "<input type=\"checkbox\" />";
		$columns['title']          = __("Faq item title", TEMPNAME);
		$columns['category']       = __("Category", TEMPNAME);
		$columns['faq-tags'] = __("Tags", TEMPNAME);

		return $columns;
	}

	add_action("manage_faq_posts_custom_column", "faq_custom_columns");

	function faq_custom_columns($column){

		global $post;
		$values = get_post_custom();

		switch ($column){

			case "category":

				$terms = get_the_terms( $post->ID, 'faq-category' );

				if ( !empty( $terms ) ) {
					$out = array();
					foreach ( $terms as $term ) {
						$out[] = sprintf( '<a href="%s">%s</a>',
							esc_url( add_query_arg( array( 'post_type' => $post->post_type, 'faq-category' => $term->slug ), 'edit.php' ) ),
							esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, 'faq-category', 'display' ) )
						);
					}

					echo join( ', ', $out );

				} else {
					echo __("No categories", TEMPNAME);
				}
				
			break;

			case "faq-tags":

				$terms = get_the_terms( $post->ID, 'faq-tag' );

				if ( !empty( $terms ) ) {
					$out = array();
					foreach ( $terms as $term ) {
						$out[] = sprintf( '<a href="%s">%s</a>',
							esc_url( add_query_arg( array( 'post_type' => $post->post_type, 'faq-tag' => $term->slug ), 'edit.php' ) ),
							esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, 'faq-tag', 'display' ) )
						);
					}

					echo join( ', ', $out );

				} else {
					echo __("No tags", TEMPNAME);
				}
				
			break;

		}
	}

?>