function powerpressplayer_build_html5mobile($media_url, $EpisodeData) { $content = ''; $html5 = true; // Special logic, we need to check if we're dealing with Android 2.2 or older, in which case we don't want to use HTML5 audio/video due to controls bug if (preg_match('/android ([\\d\\.]+)/i', $_SERVER['HTTP_USER_AGENT'], $matches)) { if (!empty($matches[1]) && version_compare($matches[1], "2.3") < 0) { $html5 = false; } } $extension = powerpressplayer_get_extension($media_url); switch ($extension) { case 'mp4': case 'webm': case 'm4v': case 'ogg': case 'ogv': // Video $Settings = get_option('powerpress_general'); // MEJS is not ready for mobile, using native HTML5 performs more efficiently at this point. Someday though we will be able to use MEJS for mobile. if ($html5 && !empty($Settings['video_player']) && $Settings['video_player'] == 'mediaelement-video') { $content .= powerpressplayer_build_mediaelementvideo($media_url, $EpisodeData); } else { if ($html5) { $content .= powerpressplayer_build_html5video($media_url, $EpisodeData); } else { $content .= powerpressplayer_build_playimage($media_url, $EpisodeData, true); } } break; case 'mp3': case 'm4a': case 'oga': // Audio $Settings = get_option('powerpress_general'); // MEJS is not ready for mobile, using native HTML5 performs more efficiently at this point. Someday though we will be able to use MEJS for mobile. if ($html5 && !empty($Settings['player']) && $Settings['player'] == 'mediaelement-audio') { $content .= powerpressplayer_build_mediaelementaudio($media_url, $EpisodeData); } else { if ($html5) { $content .= powerpressplayer_build_html5audio($media_url, $EpisodeData); } else { $content .= powerpressplayer_build_playimageaudio($media_url, true); } } break; } return $content; }
function powerpressplayer_build_flowplayerclassic($media_url, $EpisodeData = array()) { // Very important setting, we need to know if the media should auto play or not... $autoplay = false; // (default) if (!empty($EpisodeData['autoplay'])) { $autoplay = true; } $cover_image = ''; $player_width = 400; $player_height = 225; $Settings = get_option('powerpress_general'); // Global Settings 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['width'])) { $player_width = $EpisodeData['width']; } if (!empty($EpisodeData['height'])) { $player_height = $EpisodeData['height']; } if (!empty($EpisodeData['image'])) { $cover_image = $EpisodeData['image']; } $extension = powerpressplayer_get_extension($media_url, $EpisodeData); if (($extension == 'mp3' || $extension == 'm4a') && empty($Settings['poster_image_audio'])) { // FlowPlayer has differeent sizes for audio than for video $player_width = 320; if (!empty($Settings['player_width_audio'])) { $player_width = $Settings['player_width_audio']; } if (!empty($EpisodeData['width']) && !empty($Settings['player_width_audio'])) { $player_width = $EpisodeData['width']; } $cover_image = ''; // Audio should not have a cover image $player_height = 24; if (stristr($_SERVER['HTTP_USER_AGENT'], 'firefox') !== false) { $player_height = 22; } // Firefox only } // Build player... $player_id = powerpressplayer_get_next_id(); $content = ''; $content .= '<div class="powerpress_player" id="powerpress_player_' . $player_id . '"></div>' . PHP_EOL; $content .= '<script type="text/javascript"><!--' . PHP_EOL; if (!empty($EpisodeData['jquery_autowidth'])) { $player_width = 'jQuery(window).width()'; if (preg_match('/(mp4|m4v|ogg|ogv|webm)/i', $extension)) { $player_height = 'jQuery(window).height()'; } } if (empty($EpisodeData['type'])) { $EpisodeData['type'] = powerpress_get_contenttype('test.' . $extension); } $content .= "pp_flashembed(\n"; $content .= "\t'powerpress_player_{$player_id}',\n"; $content .= "\t{src: '" . powerpress_get_root_url() . "FlowPlayerClassic.swf', "; if (preg_match('/^jQuery\\(/', $player_width)) { // Only add single quotes if jQuery( ... is not in the value $content .= "width: {$player_width}, "; } else { $content .= "width: '{$player_width}', "; } if (preg_match('/^jQuery\\(/', $player_height)) { // Only add single quotes if jQuery( ... is not in the value $content .= "height: {$player_height}, "; } else { $content .= "height: '{$player_height}', "; } $content .= "wmode: 'transparent' },\n"; if ($cover_image) { $content .= "\t{config: { autoPlay: " . ($autoplay ? 'true' : 'false') . ", autoBuffering: false, showFullScreenButton: " . (preg_match('/audio\\//', $EpisodeData['type']) ? 'false' : 'true') . ", showMenu: false, videoFile: '{$media_url}', splashImageFile: '{$cover_image}', scaleSplash: true, loop: false, autoRewind: true } }\n"; } else { $content .= "\t{config: { autoPlay: " . ($autoplay ? 'true' : 'false') . ", autoBuffering: false, showFullScreenButton: " . (preg_match('/audio\\//', $EpisodeData['type']) ? 'false' : 'true') . ", showMenu: false, videoFile: '{$media_url}', loop: false, autoRewind: true } }\n"; } $content .= ");\n"; $content .= "//-->\n"; $content .= "</script>\n"; return $content; }
function powerpressadmin_community_news($items = 3) { require_once POWERPRESS_ABSPATH . '/powerpress-player.php'; // Include, if not included already $rss_items = powerpress_get_news(POWERPRESS_FEED_NEWS, $items); echo '<div class="powerpress-news-dashboard">'; echo '<ul>'; if (!$rss_items) { echo '<li>' . __('Error occurred retrieving news.', 'powerpress') . '</li>'; } else { $first_item = true; while (list($null, $item) = each($rss_items)) { $enclosure = $item->get_enclosure(); echo '<li>'; echo '<a class="rsswidget" href="' . esc_url($item->get_permalink(), $protocolls = null, 'display') . '" target="_blank">' . esc_html($item->get_title()) . '</a>'; echo ' <span class="rss-date">' . $item->get_date('F j, Y') . '</span>'; echo '<div class="rssSummary">' . esc_html(powerpress_feed_text_limit(strip_tags($item->get_description()), 150)) . '</div>'; if ($enclosure && !empty($enclosure->link)) { $poster_image = ''; $poster_tag = $item->get_item_tags('http://www.rawvoice.com/rawvoiceRssModule/', 'poster'); if ($poster_tag && !empty($poster_tag[0]['attribs']['']['url'])) { $poster_image = $item->sanitize($poster_tag[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT); } $embed = ''; $embed_tag = $item->get_item_tags('http://www.rawvoice.com/rawvoiceRssModule/', 'embed'); if ($embed_tag && !empty($embed_tag[0]['data'])) { $embed = $embed_tag[0]['data']; } // Only show an episode with the latest item if ($first_item && $embed) { if (preg_match('/width="(\\d{1,4})"/i', $embed, $matches) && count($matches) > 1) { $max_width = $matches[1]; $embed = preg_replace('/width="/i', 'style="max-width: ' . $max_width . 'px;" width="', $embed); } $embed = preg_replace('/width="(\\d{1,4})"/i', 'width="100%"', $embed); echo '<div class="powerpressNewsPlayer">'; echo $embed; echo '</div>'; } else { if ($first_item) { $EpisodeData = array(); $EpisodeData['type'] = $enclosure->type; $EpisodeData['duration'] = $enclosure->duration; $EpisodeData['poster'] = $poster_image; $EpisodeData['width'] = '100%'; $EpisodeData['custom_play_button'] = powerpress_get_root_url() . 'play_audio.png'; $ext = powerpressplayer_get_extension($enclosure->link); switch ($ext) { case 'mp4': case 'm4v': case 'webm': echo '<div class="powerpressNewsPlayer powerpressadmin-mejs-video">'; echo powerpressplayer_build_mediaelementvideo($enclosure->link, $EpisodeData); echo '</div>'; break; case 'mp3': case 'm4a': echo '<div class="powerpressNewsPlayer">'; echo powerpressplayer_build_mediaelementaudio($enclosure->link, $EpisodeData); echo '</div>'; break; } } } //echo '<div style="clear: both;"></div>'; } echo '</li>'; $first_item = false; } } echo '</ul>'; echo '<br class="clear"/>'; echo '<div style="margin-top:10px;border-top: 1px solid #ddd; padding-top: 10px; text-align:center;">'; echo __('Subscribe:', 'powerpress'); echo ' '; echo '<a href="http://www.powerpresspodcast.com/feed/"><img src="' . get_bloginfo('wpurl') . '/wp-includes/images/rss.png" alt="' . __('Blog', 'powerpress') . '" /> ' . __('Blog', 'powerpress') . '</a>'; echo ' '; echo '<a href="http://www.powerpresspodcast.com/feed/podcast/"><img src="' . get_bloginfo('wpurl') . '/wp-includes/images/rss.png" alt="' . __('Podcast', 'powerpress') . '" /> ' . __('Podcast', 'powerpress') . '</a>'; echo ' '; echo '<a href="https://itunes.apple.com/us/podcast/blubrry-powerpress-community/id430248099/"><img src="' . powerpress_get_root_url() . '/images/itunes_modern.png" alt="' . __('iTunes', 'powerpress') . '" /> ' . __('iTunes', 'powerpress') . '</a>'; //echo ' '; echo '</div>'; echo '</div>'; }