示例#1
0
/**
 * Import playlist entries from custom DB table.
 *
 * Loop through all entries in the custom table, create posts for them and assign the terms.
 *
 * @since	1.3
 * @param
 * @return	void
 */
function mdjm_import_playlist_entries_13()
{
    global $wpdb;
    if (get_option('mdjm_playlist_import')) {
        return;
    }
    // Create the terms
    mdjm_create_playlist_terms_13();
    $query = "SELECT * FROM \n\t\t\t " . $wpdb->prefix . "mdjm_playlists";
    $entries = $wpdb->get_results($query);
    if ($entries) {
        add_option('mdjm_playlist_import', false);
        foreach ($entries as $entry) {
            $meta = array('song' => isset($entry->song) ? $entry->song : '', 'artist' => isset($entry->artist) ? $entry->artist : '', 'added_by' => isset($entry->added_by) ? $entry->added_by : get_current_user_id(), 'djnotes' => isset($entry->info) ? $entry->info : '', 'added_date' => isset($entry->date_added) ? $entry->date_added : '', 'category' => isset($entry->play_when) ? trim($entry->play_when) : 'Guest', 'to_mdjm' => isset($entry->date_to_mdjm) ? date('Y-m-d H:i:s', strtotime($entry->date_to_mdjm)) : '', 'uploaded' => isset($entry->upload_procedure) ? $entry->upload_procedure : '');
            $term = isset($entry->play_when) ? trim($entry->play_when) : 'Guest';
            $event_id = isset($entry->event_id) ? $entry->event_id : '';
            if (empty($term) || $term == 'Guest Added') {
                $term = 'Guest';
                $meta['category'] = $term;
            }
            if (!term_exists($term, 'playlist-category')) {
                wp_insert_term($term, 'playlist-category');
            }
            $title = sprintf(__('Event ID: %s %s %s', 'mobile-dj-manager'), mdjm_get_option('event_prefix', '') . $event_id, $meta['song'], $meta['artist']);
            $category = get_term_by('name', $term, 'playlist-category');
            $entry_id = wp_insert_post(array('post_type' => 'mdjm-playlist', 'post_title' => $title, 'post_author' => 1, 'post_status' => 'publish', 'post_parent' => $event_id, 'post_date' => isset($entry->date_added) ? date('Y-m-d H:i:s', strtotime($entry->date_added)) : date('Y-m-d H:i:s'), 'post_category' => !empty($category) ? array($category->term_id) : ''));
            if (!empty($category)) {
                mdjm_set_playlist_entry_category($entry_id, $category->term_id);
            }
            foreach ($meta as $key => $value) {
                update_post_meta($entry_id, '_mdjm_playlist_entry_' . $key, $value);
            }
        }
        update_option('mdjm_playlist_import', true);
    }
}
/**
 * Store a guest playlist entry.
 *
 * @since	1.3
 * @param	arr		$details	Playlist entry data
 * @return	bool	Whether or not the entry was created.
 */
function mdjm_store_guest_playlist_entry($details)
{
    $meta = array('song' => isset($details['entry_guest_song']) ? $details['entry_guest_song'] : '', 'artist' => isset($details['entry_guest_artist']) ? $details['entry_guest_artist'] : '', 'added_by' => ucwords($details['entry_guest_firstname'] . ' ' . $details['entry_guest_lastname']), 'to_mdjm' => '', 'uploaded' => false);
    $guest_term = get_term_by('name', 'Guest', 'playlist-category');
    if (!empty($guest_term)) {
        (int) ($term = $guest_term->term_id);
    }
    $event_id = $details['entry_event'];
    // Add the playlist entry
    $meta = apply_filters('mdjm_insert_guest_playlist_entry', $meta);
    do_action('mdjm_insert_guest_playlist_entry_before', $meta);
    $title = sprintf(__('Event ID: %s %s %s', 'mobile-dj-manager'), mdjm_get_option('event_prefix', '') . $event_id, $meta['song'], $meta['artist']);
    $entry_id = wp_insert_post(array('post_type' => 'mdjm-playlist', 'post_title' => $title, 'post_author' => 1, 'post_status' => 'publish', 'post_parent' => $event_id, 'post_category' => array($term)));
    if (!empty($term)) {
        mdjm_set_playlist_entry_category($entry_id, $term);
    }
    foreach ($meta as $key => $value) {
        update_post_meta($entry_id, '_mdjm_playlist_entry_' . $key, $value);
    }
    do_action('mdjm_insert_guest_playlist_entry_after', $meta, $entry_id);
    // Playlist entry added
    return $entry_id;
}