/** * Redirect to guest playlist. * * @since 1.3 * @param * @return void */ function mdjm_goto_guest_playlist_action($data) { if (!isset($data['playlist'])) { return; } $event = mdjm_get_event_by_playlist_code($data['playlist']); if (!$event) { wp_die('Sorry but no event exists', 'mobile-dj-manager'); } wp_redirect(add_query_arg('guest_playlist', $data['playlist'], mdjm_get_formatted_url(mdjm_get_option('playlist_page')))); die; }
/** * MDJM Playlist Shortcode. * * Displays the MDJM playlist management system which will render a client interface for clients * or a guest interface for event guests with the access URL. * * @since 1.3 * * @return string */ function mdjm_shortcode_playlist($atts) { global $mdjm_event; if (isset($_GET['mdjmeventid'])) { $_GET['guest_playlist'] = $_GET['mdjmeventid']; } $visitor = isset($_GET['guest_playlist']) ? 'guest' : 'client'; $output = ''; $event_id = ''; if (!empty($_GET['event_id'])) { $event_id = $_GET['event_id']; } else { $next_event = mdjm_get_clients_next_event(get_current_user_id()); if ($next_event) { $event_id = $next_event[0]->ID; } } if (!isset($event_id) && !isset($_GET['guest_playlist'])) { ob_start(); mdjm_get_template_part('playlist', 'noevent'); $output .= mdjm_do_content_tags(ob_get_contents(), '', get_current_user_id()); } else { $mdjm_event = $visitor == 'client' ? mdjm_get_event($event_id) : mdjm_get_event_by_playlist_code($_GET['guest_playlist']); if ($visitor == 'client') { if (!is_user_logged_in()) { echo mdjm_login_form(add_query_arg('event_id', $event_id, mdjm_get_formatted_url(mdjm_get_option('playlist_page')))); } } ob_start(); if ($mdjm_event) { mdjm_get_template_part('playlist', $visitor); $output .= mdjm_do_content_tags(ob_get_contents(), $mdjm_event->ID, $mdjm_event->client); } else { mdjm_get_template_part('playlist', 'noevent'); $output .= mdjm_do_content_tags(ob_get_contents(), '', get_current_user_id()); } } ob_get_clean(); // Reset global var $mdjm_event = ''; return apply_filters('mdjm_playlist_form', $output); }