function powerpress_admin_migrate_get_files($clean = false, $exclude_blubrry = true) { global $wpdb; $return = array(); //$return['feeds_required'] = 0; $query = "SELECT p.ID, p.post_title, p.post_date, pm.meta_id, pm.post_id, pm.meta_key, pm.meta_value "; $query .= "FROM {$wpdb->posts} AS p "; $query .= "INNER JOIN {$wpdb->postmeta} AS pm ON p.ID = pm.post_id "; $query .= "WHERE (pm.meta_key = 'enclosure' OR pm.meta_key LIKE '\\_%:enclosure') "; $query .= "AND p.post_type != 'revision' "; $query .= "GROUP BY pm.meta_id "; $query .= "ORDER BY p.post_date DESC "; $results_data = $wpdb->get_results($query, ARRAY_A); if ($results_data) { while (list($null, $row) = each($results_data)) { $meta_id = $row['meta_id']; $EpisodeData = powerpress_get_enclosure_data($row['post_id'], 'podcast', $row['meta_value'], false); // Get the enclosure data with no redirect added if ($exclude_blubrry && strstr($EpisodeData['url'], 'content.blubrry.com')) { continue; } // Skip media hosted on blubrry in this case if (!$clean) { $return[$meta_id] = $row; } if (!$exclude_blubrry) { $return[$meta_id]['on_blubrry'] = strstr($EpisodeData['url'], 'content.blubrry.com'); } $return[$meta_id]['src_url'] = $EpisodeData['url']; } } return $return; }
public function on_shoutem_post_start($params) { $attachments =& $params['attachments_ref']; $post = $params['wp_post']; //Powerpress support if (function_exists('powerpress_get_enclosure')) { $audio_meta = powerpress_get_enclosure_data($post->ID); if ($audio_meta) { $audio_meta = array($audio_meta); } else { $audio_meta = array(); } $podpress_meta = powerpress_get_enclosure_data_podpress($post->ID); if ($podpress_meta && is_array($podpress_meta)) { //$podpress_meta['url'] = urlencode($podpress_meta['url']); $audio_meta = array_merge($audio_meta, array($podpress_meta)); } foreach ($audio_meta as $audio) { $url = $audio['url']; $audio_record = array('id' => '', 'src' => $url, 'type' => 'audio', 'duration' => ''); $attachments['audio'][] = $audio_record; } } return ''; }
function powerpress_do_embed($player, $embed, $process_podpress) { list($post_id, $feed_slug) = explode('-', $embed, 2); $EpisodeData = powerpress_get_enclosure_data($post_id, $feed_slug); if ($EpisodeData == false && $process_podpress && $feed_slug == 'podcast') { $EpisodeData = powerpress_get_enclosure_data_podpress($post_id); } // Embeds are only available for the following players do_powerpressplayer_embed($player, $EpisodeData['url'], $EpisodeData); exit; }
function powerpress_playlist_episodes($args) { global $wpdb; $return = array(); $defaults = array('limit' => 10, 'slug' => 'podcast', 'post_type' => 'post', 'category' => '', 'taxonomy' => '', 'tax_term' => '', 'term_taxonomy_id' => ''); $args = wp_parse_args($args, $defaults); /* handle taxonomy and post id's*/ if (empty($args['taxonomy']) && empty($args['tax_term']) && !empty($args['category'])) { $args['taxonomy'] = 'category'; $args['tax_term'] = $args['category']; } $TaxonomyObj = false; if (!empty($args['term_taxonomy_id'])) { $TaxonomyObj = powerpress_get_term_by_ttid($args['term_taxonomy_id']); } if (empty($TaxonomyObj) && !empty($args['taxonomy']) && !empty($args['tax_term'])) { if (preg_match('/^[0-9]*$/', $args['tax_term'])) { // If it is a numeric ID, lets try finding it by ID first... $TaxonomyObj = get_term_by('id', $args['tax_term'], $args['taxonomy']); } if (empty($TaxonomyObj)) { $TaxonomyObj = get_term_by('name', $args['tax_term'], $args['taxonomy']); } if (empty($TaxonomyObj)) { $TaxonomyObj = get_term_by('slug', $args['tax_term'], $args['taxonomy']); } } // Start the SQL query $query = "SELECT p.ID, p.post_title, p.post_date, pm.meta_value "; $query .= "FROM {$wpdb->posts} AS p "; $query .= "INNER JOIN {$wpdb->postmeta} AS pm ON p.ID = pm.post_id "; if (!empty($TaxonomyObj->term_taxonomy_id)) { $query .= "INNER JOIN {$wpdb->term_relationships} AS tr ON p.ID = tr.object_id "; } $query .= "WHERE (pm.meta_key = %s) "; $query .= "AND p.post_type = %s "; $query .= "AND p.post_status = 'publish' "; if (!empty($TaxonomyObj->term_taxonomy_id)) { $query .= "AND tr.term_taxonomy_id = '" . $TaxonomyObj->term_taxonomy_id . "' "; } $query .= "GROUP BY p.ID "; $query .= "ORDER BY p.post_date DESC "; $query .= "LIMIT 0, %d"; $query = $wpdb->prepare($query, $args['slug'] == 'podcast' ? 'enclosure' : '_' . $args['slug'] . ':enclosure', $args['post_type'], $args['limit']); $results_data = $wpdb->get_results($query, ARRAY_A); if ($results_data) { while (list($null, $row) = each($results_data)) { if (empty($row['meta_value'])) { continue; } $EnclosureData = powerpress_get_enclosure_data($row['ID'], $args['slug'], $row['meta_value']); $return[$row['ID']] = array(); $return[$row['ID']]['ID'] = $row['ID']; $return[$row['ID']]['post_title'] = $row['post_title']; $return[$row['ID']]['post_date'] = $row['post_date']; $return[$row['ID']]['enclosure'] = $EnclosureData; } } return $return; }
?> " rel="bookmark" title="<?php the_title(); ?> "> <h2> <?php echo showAndTitle($postID); ?> </h2> </a> <div class="mini light"> <?php if (function_exists('powerpress_get_enclosure_data')) { $EpisodeData = powerpress_get_enclosure_data($post->ID); if ($EpisodeData) { $duration = $EpisodeData['duration']; $parts = explode(':', $duration); $times = array(array('hour', 'hours'), array('min', 'mins'), array('second, seconds')); $output = ''; /* ignore seconds */ for ($i = 0; $i < 2; $i++) { $value = (int) $parts[$i]; $word = $value == 1 ? $times[$i][0] : $times[$i][1]; if ($value != "0") { $output = $output . ($value . ' ' . $word . ' '); } } echo $output . "-"; }
/** * Get audio player * * @since 1.0.0 */ public static function get_underscore_audio_player() { $podcast_content = powerpress_get_enclosure_data(get_the_ID(), $feed_slug = 'podcast'); // No podcast available if ($podcast_content == false) { return null; } $options = get_option('Underscore_Audio_Player_Admin'); // Output buffer ob_start(); include_once dirname(__FILE__) . '/partials/underscore-audio-player-public-display.php'; $output = ob_get_contents(); ob_end_clean(); return $output; }
function powerpress_insert_post_data($data, $postarr) { // If we added or modified a podcast episode, then we need to re-add/remove the embedded hidden link... if (isset($_POST['Powerpress']['podcast']) && $postarr['post_type'] == 'post') { // First, remove the previous comment if one exists in the post body. $data['post_content'] = preg_replace('/\\<!--.*added by PowerPress.*-->/im', '', $data['post_content']); $Powerpress = $_POST['Powerpress']['podcast']; if (!empty($Powerpress['remove_podcast'])) { // Do nothing } else { if (!empty($Powerpress['change_podcast']) || !empty($Powerpress['new_podcast'])) { $MediaURL = $Powerpress['url']; if (strpos($MediaURL, 'http://') !== 0 && strpos($MediaURL, 'https://') !== 0 && empty($Powerpress['hosting'])) { // Only glitch here is if the media url had an error, and if that's the case then there are other issues the user needs to worry about. $GeneralSettings = get_option('powerpress_general'); if ($GeneralSettings && isset($GeneralSettings['default_url'])) { $MediaURL = rtrim($GeneralSettings['default_url'], '/') . '/' . ltrim($MediaURL, '/'); } } $data['post_content'] .= "<!-- DO NOT DELETE href=\"{$MediaURL}\" added by PowerPress to fix WordPress 2.8+ bug -->"; } else { $EncloseData = powerpress_get_enclosure_data($postarr['ID']); if ($EncloseData && $EncloseData['url']) { $data['post_content'] .= "<!-- DO NOT DELETE href=\"{$EncloseData['url']}\" added by PowerPress to fix WordPress 2.8+ bug -->"; } } } } return $data; }
function powerpress_premium_content_message($post_id, $feed_slug, $EpisodeData = false) { if (!$EpisodeData && $post_id) { $EpisodeData = powerpress_get_enclosure_data($post_id, $feed_slug); } if (!$EpisodeData) { return ''; } $FeedSettings = get_option('powerpress_feed_' . $feed_slug); $post_type = get_query_var('post_type'); if ($post_type != 'post') { $GeneralSettings = get_option('powerpress_general'); if (!empty($GeneralSettings['posttype_podcasting'])) { // Get the feed slugs and titles for this post type $PostTypeSettingsArray = get_option('powerpress_posttype_' . $post_type); if (!empty($PostTypeSettingsArray[$feed_slug]['premium'])) { $FeedSettings = $PostTypeSettingsArray[$feed_slug]; } } } $extension = 'unknown'; $parts = pathinfo($EpisodeData['url']); if ($parts && isset($parts['extension'])) { $extension = strtolower($parts['extension']); } if (isset($FeedSettings['premium_label']) && $FeedSettings['premium_label'] != '') { // User has a custom label return '<p class="powerpress_links powerpress_links_' . $extension . '">' . $FeedSettings['premium_label'] . '</p>' . PHP_EOL; } return '<p class="powerpress_links powerpress_links_' . $extension . '">' . htmlspecialchars($FeedSettings['title']) . ': <a href="' . get_bloginfo('url') . '/wp-login.php" title="Protected Content">(Protected Content)</a></p>' . PHP_EOL; }
<div class="magic"> <p>magic export (to json) starting at ... <?php echo $time_start; ?> </p> </div> <?php $categories = get_categories(); $series = array(); foreach ($categories as $category) { $episodes = array(); $q = new WP_Query(array('category_name' => $category->slug, 'posts_per_page' => -1)); while ($q->have_posts()) { $q->the_post(); $data = powerpress_get_enclosure_data(get_the_ID()); $episode = array('name' => get_the_title(), 'number' => get_episode_number(get_permalink()), 'desc' => get_the_excerpt(), 'content' => get_the_content(), 'series' => $category->slug, 'media' => $data['url'], 'length' => $data['duration'], 'filesize' => $data['size']); $episodes[] = $episode; } $series[] = array('name' => $category->name, 'short-name' => $category->slug, 'desc' => $category->category_description); ?> <div class="magic"> <p>finished processing series: <?php echo $category->slug; ?> with <?php echo count($episodes); ?> episodes</p> <p> <a href="<?php echo $www . $category->slug . '-episodes.json';