<?php
/*
Fichier : TEMPLATEPATH. '/inc/modules/tcp-contenunewsletter.inc.php'
Objet : Création TCP Contenu Newsletter
Nom : TCP Contenu newsletter
Description : Création de contenus newsletters
*/



// Création du TCP
function at111_init_TCP_ContenuNewsletter() {
    $labels = array(
        'name' => 'Contenus newsletter',
        'singular_name' => 'Contenu newsletter',
        'add_new' => 'Ajouter',
        'add_new_item' => 'Ajouter un contenu',
        'edit_item' => 'Modifier',
        'new_item' => 'Nouveau',
        'all_items' => 'Tous les contenu',
        'view_item' => 'Visualiser',
        'search_items' => 'Rechercher',
        'not_found' =>  'Aucun contenu trouvé',
        'not_found_in_trash' => 'Aucun contenu trouvé dans la corbeille',
        'parent_item_colon' => '',
        'menu_name' => 'Contenus newsletter'
    );

    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'contenunewsletter' ),
        'has_archive' => true,
        'exclude_from_search' => true,
//    	'hierarchical' => false,
        'menu_position' => 20,
        'menu_icon' => 'dashicons-welcome-widgets-menus',
        'supports' => array( 'title', 'editor', 'thumbnail' , 'revisions' )
    );

    // Enregistrement du TCP
    register_post_type( 'contenunewsletter', $args );

    // Labels des rubriques.
    $rubLabels = array(
        'name' => 'Rubriques',
        'singular_name' => 'Rubrique',
        'search_items' => 'Rechercher',
        'popular_items' => 'Rubriques souvent utilisées',
        'all_items' => 'Toutes les rubriques',
        'edit_item' => 'Modifier une rubrique',
        'update_item' => 'Mettre à jour une rubrique',
        'add_new_item' => 'Ajouter une rubrique',
        'new_item_name' => 'Nouvelle rubrique'
    );


    // Rubriques.
    register_taxonomy('contenunewsletter-rubrique', 'contenunewsletter', array(
        'hierarchical' => true,
        'label' => 'Rubriques',
        'labels' => $rubLabels,
        'rewrite' => array( 'slug' => 'contenunewsletter-rubrique' ),
        'show_in_nav_menus' => false,
        'show_admin_column' => true
    ));
}
add_action('init', 'at111_init_TCP_ContenuNewsletter');


// Gestion des colonnes de la liste de contenus
// Pour créer un filtre sur les métadonnées ou autres, voir : http://justintadlock.com/archives/2011/06/27/custom-columns-for-custom-post-types

// Remplissage des lignes du tableau
add_action( 'manage_contenunewsletter_posts_custom_column', 'my_manage_ContenuNewsletter_columns', 10, 2 );
function my_manage_ContenuNewsletter_columns( $column, $post_id ) {
    global $post;
    switch( $column ) {
        case 'contenunewsletter-rubrique' :
            $terms = get_the_terms( $post_id, 'contenunewsletter-rubrique' );
            /* Si des taxonomies sont trouvées */
            if (!empty($terms)) {
                $out = array();
                /* On boucle sur chacune des taxonomies et on place un lien */
                foreach ( $terms as $term ) {
                    $out[] = sprintf( '<a href="%s">%s</a>',
                        esc_url( add_query_arg( array( 'post_type' => $post->post_type, 'contenuprive-rubrique' => $term->slug ), 'edit.php' ) ),
                        esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, 'contenuprive-rubrique', 'display' ) )
                    );
                }
                /* On associe les taxonomies, séparées par une virgule */
                echo join( ', ', $out );
            }
            /* Si aucune taxonomie n'est trouvée, on affiche un message */
            else {
                _e( 'Aucune rubrique trouvée' );
            }
            break;
        /* Break out */
        default :
            break;
    }
}
