/**
 * 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;
}
Esempio n. 2
0
/**
 * 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);
}