예제 #1
0
function wpmt_update_posts($post_data)
{
    $performance_genres = array('Alternative Content', 'Comedy', 'Concert', 'Dance', 'Family', 'Live Show', 'Live Sports Broadcast', 'Musical');
    $post_data_as_array = wpmt_object_to_array($post_data);
    for ($i = 0; $i < count($post_data_as_array); $i++) {
        // do not import festival films
        if ($post_data_as_array[$i]["Genre"] != "Festival") {
            // if the format is 'not a film' and is a performance genre, then make it a performance
            if ($post_data_as_array[$i]["Format"] == "Not a Film" && in_array($post_data_as_array[$i]["Genre"], $performance_genres)) {
                $performance = new WPMT_Performance();
                $performance->assign_values($post_data_as_array, $i);
                if ($performance->status == "Inactive" || $performance->status == "Deleted") {
                    $inactive_performances = get_posts(array('posts_per_page' => -1, 'post_type' => 'wpmt_performance', 'meta_key' => 'wpmt_performance_id', 'meta_value' => $performance->id));
                    foreach ($inactive_performances as $my_post) {
                        wp_delete_post($my_post->ID, true);
                        // Set to False if you want to send them to Trash.
                    }
                } elseif (null == get_posts(array('posts_per_page' => -1, 'post_type' => 'wpmt_performance', 'meta_key' => 'wpmt_performance_id', 'meta_value' => $performance->id))) {
                    $post_id = wpmt_add_post($performance->title, 'wpmt_performance');
                    $performance->update_fields($post_id);
                } elseif (null != get_posts(array('posts_per_page' => -1, 'post_type' => 'wpmt_performance', 'meta_key' => 'wpmt_performance_id', 'meta_value' => $performance->id)) && esc_attr(get_option('wpmt_overwrite_format')) != "No") {
                    $posts = get_posts(array('posts_per_page' => -1, 'post_type' => 'wpmt_performance', 'meta_key' => 'wpmt_performance_id', 'meta_value' => $performance->id));
                    foreach ($posts as $post) {
                        $performance->update_performance_format($post->ID);
                    }
                }
                // if the format or genre is anything else, make a film
            } else {
                $film = new WPMT_Film();
                $tmdb = new WPMT_Tmdb();
                $film->assign_values($post_data_as_array, $i);
                if ($film->status == "Inactive" || $film->status == "Deleted") {
                    $inactive_films = get_posts(array('posts_per_page' => -1, 'post_type' => 'wpmt_film', 'meta_key' => 'wpmt_film_id', 'meta_value' => $film->id));
                    foreach ($inactive_films as $my_post) {
                        wp_delete_post($my_post->ID, true);
                        // Set to False if you want to send them to Trash.
                    }
                } elseif (null == get_posts(array('posts_per_page' => -1, 'post_type' => 'wpmt_film', 'meta_key' => 'wpmt_film_id', 'meta_value' => $film->id))) {
                    $post_id = wpmt_add_post($film->title, 'wpmt_film');
                    $film->update_fields($post_id);
                    $tmdb->update_fields($post_id);
                } elseif (null != get_posts(array('posts_per_page' => -1, 'post_type' => 'wpmt_film', 'meta_key' => 'wpmt_film_id', 'meta_value' => $film->id)) && esc_attr(get_option('wpmt_overwrite_format')) != "No") {
                    $posts = get_posts(array('posts_per_page' => -1, 'post_type' => 'wpmt_film', 'meta_key' => 'wpmt_film_id', 'meta_value' => $film->id));
                    foreach ($posts as $post) {
                        $film->update_film_format($post->ID);
                    }
                }
            }
            //end else
        }
        //end if
    }
    //end $post_data_as_array for loop
}