/** * 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; }