Esempio n. 1
0
function powerpressplayer_build_videojs($media_url, $EpisodeData = array())
{
    $content = '';
    if (function_exists('add_videojs_header')) {
        // Global Settings
        $Settings = get_option('powerpress_general');
        $player_id = powerpressplayer_get_next_id();
        $cover_image = '';
        $player_width = 400;
        $player_height = 225;
        $autoplay = false;
        if (!empty($Settings['player_width'])) {
            $player_width = $Settings['player_width'];
        }
        if (!empty($Settings['player_height'])) {
            $player_height = $Settings['player_height'];
        }
        if (!empty($Settings['poster_image'])) {
            $cover_image = $Settings['poster_image'];
        }
        // Episode Settings
        if (!empty($EpisodeData['image'])) {
            $cover_image = $EpisodeData['image'];
        }
        if (!empty($EpisodeData['width'])) {
            $player_width = $EpisodeData['width'];
        }
        if (!empty($EpisodeData['height'])) {
            $player_height = $EpisodeData['height'];
        }
        if (!empty($EpisodeData['autoplay'])) {
            $autoplay = true;
        }
        // Poster image supplied
        $poster_attribute = '';
        if ($cover_image) {
            $poster_attribute = ' poster="' . $cover_image . '"';
        }
        // Autoplay the video?
        $autoplay_attribute = '';
        if ($autoplay) {
            $autoplay_attribute = ' autoplay';
        }
        // We never do pre-poading for podcasting as it inflates statistics
        // Is there a custom class?
        $class = '';
        if (!empty($Settings['videojs_css_class'])) {
            $class = ' ' . $Settings['videojs_css_class'];
        }
        $content .= '<div class="powerpress_player" id="powerpress_player_' . $player_id . '">';
        $content .= '<video id="videojs_player_' . $player_id . '" class="video-js vjs-default-skin' . $class . '" width="' . $player_width . '" height="' . $player_height . '"' . $poster_attribute . ' controls ' . $autoplay_attribute . ' data-setup="{}">';
        $content_type = powerpress_get_contenttype($media_url);
        if ($content_type == 'video/x-m4v') {
            $content_type = 'video/mp4';
        }
        // Mp4
        $content .= '<source src="' . $media_url . '" type="' . $content_type . '" />';
        if (!empty($EpisodeData['webm_src'])) {
            $EpisodeData['webm_src'] = powerpress_add_flag_to_redirect_url($EpisodeData['webm_src'], 'p');
            $content .= '<source src="' . $EpisodeData['webm_src'] . '" type="video/webm; codecs="vp8, vorbis" />';
        }
        $content .= '</video>';
        $content .= "</div>\n";
    } else {
        $content .= powerpressplayer_build_html5video($media_url, $EpisodeData);
    }
    return $content;
}
Esempio n. 2
0
function get_the_powerpress_all_players($slug = false, $no_link = false)
{
    $return = '';
    //Use this function to insert the Powerpress player anywhere in the page.
    //Made by Nicolas Bouliane (http://nicolasbouliane.com/)
    /*We're going to use the Loop to retrieve the latest post with the 'enclosure' custom key set
    	//then interpret it and manually launch powerpressplayer_build with the URL contained within
    	//that data.*/
    //Let's reset the Loop to make sure we look through all posts
    rewind_posts();
    // Get the list of podcast channel slug names...
    $GeneralSettings = get_option('powerpress_general');
    // No player or links to add to content...
    if (!empty($GeneralSettings['disable_appearance'])) {
        return $return;
    }
    $ChannelSlugs = array('podcast');
    if ($slug == false) {
        if (isset($GeneralSettings['custom_feeds']['podcast'])) {
            $ChannelSlugs = array();
        }
        // Reset the array so it is added from the list in specified order
        while (list($feed_slug, $null) = each($GeneralSettings['custom_feeds'])) {
            $ChannelSlugs[] = $feed_slug;
        }
    } else {
        if (is_array($slug)) {
            $ChannelSlugs = $slug;
        } else {
            $ChannelSlugs = array($slug);
        }
    }
    // Loop through the posts
    while (have_posts()) {
        the_post();
        while (list($null, $feed_slug) = each($ChannelSlugs)) {
            // Do we follow the global settings to disable a player?
            if (isset($GeneralSettings['disable_player']) && isset($GeneralSettings['disable_player'][$feed_slug]) && $slug == false) {
                continue;
            }
            $EpisodeData = powerpress_get_enclosure_data(get_the_ID(), $feed_slug);
            if (!$EpisodeData && !empty($GeneralSettings['process_podpress']) && $feed_slug == 'podcast') {
                $EpisodeData = powerpress_get_enclosure_data_podpress(get_the_ID());
            }
            if (!$EpisodeData) {
                continue;
            }
            $AddDefaultPlayer = true;
            if (!empty($EpisodeData['embed'])) {
                $return .= $EpisodeData['embed'];
                if (!empty($GeneralSettings['embed_replace_player'])) {
                    $AddDefaultPlayer = false;
                }
            }
            if (isset($GeneralSettings['premium_caps']) && $GeneralSettings['premium_caps'] && !powerpress_premium_content_authorized($feed_slug)) {
                $return .= powerpress_premium_content_message(get_the_ID(), $feed_slug, $EpisodeData);
                continue;
            }
            if (!isset($EpisodeData['no_player']) && $AddDefaultPlayer) {
                $return .= apply_filters('powerpress_player', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData);
            }
            if (!isset($EpisodeData['no_links']) && $no_link == false) {
                $return .= apply_filters('powerpress_player_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData);
                $return .= apply_filters('powerpress_player_subscribe_links', '', powerpress_add_flag_to_redirect_url($EpisodeData['url'], 'p'), $EpisodeData);
            }
        }
        reset($ChannelSlugs);
    }
    return $return;
}