false, 'mt' => '2', 'ls' => '1'), trim($Settings['itunes_url']) ) ); } return ''; } function powerpresssubscribe_add_guid_to_itunes_url($url, $guid) { if( !empty($guid) && preg_match('/^https:\/\/itunes\.apple\.com.*/i', $url, $matches) ) { return $url . '#episodeGuid='. urlencode($guid); } return $url; } function powerpresssubscribe_get_settings($ExtraData, $detect_category=true) { $GeneralSettings = get_option('powerpress_general'); $feed_slug = (empty($ExtraData['feed'])?'podcast': $ExtraData['feed']); $post_type = (empty($ExtraData['post_type'])?false: $ExtraData['post_type']); $category_id = (empty($ExtraData['cat_id'])?false: $ExtraData['cat_id']); $taxonomy_term_id = (empty($ExtraData['taxonomy_term_id'])?false: $ExtraData['taxonomy_term_id']); // Special case, strict category specified... if( 'podcast' == $feed_slug && empty($post_type) && empty($taxonomy_term_id) && !empty($ExtraData['category']) ) { if( !empty($GeneralSettings['cat_casting_strict']) ) // Strict category podcasting, otherwise we let the logic below figure it out! { $category_id = $ExtraData['category']; $ExtraData['subscribe_type'] = 'category'; } } if( empty($ExtraData['subscribe_type']) ) // Make sure this value is set $ExtraData['subscribe_type'] = ''; if(!isset($GeneralSettings['subscribe_widget_shape'])) { $GeneralSettings['subscribe_widget_shape'] = 'squared'; } switch( $ExtraData['subscribe_type'] ) { case 'post_type': { $category_id = 0; $taxonomy_term_id = 0; }; break; case 'category': { $feed_slug = 'podcast'; $taxonomy_term_id = 0; $post_type = ''; }; break; case 'ttid': { $feed_slug = 'podcast'; $category_id = 0; if( empty($post_type) ) $post_type = get_post_type(); }; break; case 'channel': case 'general': default: { $category_id = 0; $post_type = ''; $taxonomy_term_id = 0; }; break; } // We need to know if category podcasting is enabled, if it is then we may need to dig deeper for this info.... if( false != $detect_category && empty($category_id) && !empty($GeneralSettings['cat_casting']) && $feed_slug == 'podcast' && empty($ExtraData['subscribe_type']) ) { if( !$category_id && is_category() ) { $category_id = get_query_var('cat'); } if( !$category_id && is_single() ) { $categories = wp_get_post_categories( get_the_ID() ); if( count($categories) == 1 ) { foreach( $categories as $null=> $category_id ) { break; } } if( !empty($category_id) ) { $Settings = get_option('powerpress_cat_feed_'.$category_id ); // Check if it is a podcast category... if( !empty($Settings) ) { $ExtraData['subscribe_type'] = 'category'; } else { $category_id = false; // Unset it! } } } } // Category if( !empty($category_id) && $ExtraData['subscribe_type'] == 'category' ) { $Settings = get_option('powerpress_cat_feed_'.$category_id ); if( !empty($Settings) ) { if( empty($Settings['title']) ) { $Settings['title'] = get_cat_name( $category_id ); // Get category title $Settings['title'] .= ' '. apply_filters( 'document_title_separator', '-' ) .' '; $Settings['title'] .= get_bloginfo_rss('name'); } if( empty($Settings['title']) ) $Settings['title'] = get_bloginfo_rss('name'); // Get blog title, best we can do if( !empty($Settings['feed_redirect_url']) ) $Settings['feed_url'] = $Settings['feed_redirect_url']; else if( !empty($General['cat_casting_podcast_feeds']) ) $Settings['feed_url'] = get_category_feed_link($category_id, 'podcast'); else $Settings['feed_url'] = get_category_feed_link( $category_id ); // Get category feed URL $Settings['subscribe_page_url'] = powerpresssubscribe_get_subscribe_page($Settings); $Settings['itunes_url'] = powerpresssubscribe_get_itunes_url($Settings); $Settings['image_url'] = $Settings['itunes_image']; $Settings['subscribe_feature_rss'] = (isset($GeneralSettings['subscribe_feature_rss']) ? $GeneralSettings['subscribe_feature_rss'] : true ); $Settings['subscribe_feature_email'] = (isset($GeneralSettings['subscribe_feature_email']) ? $GeneralSettings['subscribe_feature_email'] : false ); $Settings['subscribe_feature_gp'] = (isset($GeneralSettings['subscribe_feature_gp']) ? $GeneralSettings['subscribe_feature_gp'] : false ); $Settings['subscribe_feature_stitcher'] = (isset($GeneralSettings['subscribe_feature_stitcher']) ? $GeneralSettings['subscribe_feature_stitcher'] : false ); $Settings['subscribe_feature_tunein'] = (isset($GeneralSettings['subscribe_feature_tunein']) ? $GeneralSettings['subscribe_feature_tunein'] : false ); $Settings['subscribe_feature_spotify'] = (isset($GeneralSettings['subscribe_feature_spotify']) ? $GeneralSettings['subscribe_feature_spotify'] : false ); $Settings['subscribe_feature_iheart'] = (isset($GeneralSettings['subscribe_feature_iheart']) ? $GeneralSettings['subscribe_feature_iheart'] : false ); $Settings['subscribe_feature_deezer'] = (isset($GeneralSettings['subscribe_feature_deezer']) ? $GeneralSettings['subscribe_feature_deezer'] : false ); $Settings['subscribe_feature_pandora'] = (isset($GeneralSettings['subscribe_feature_pandora']) ? $GeneralSettings['subscribe_feature_pandora'] : false ); $Settings['subscribe_feature_android'] = (isset($GeneralSettings['subscribe_feature_android']) ? $GeneralSettings['subscribe_feature_android'] : false ); $Settings['subscribe_feature_blubrry'] = (isset($GeneralSettings['subscribe_feature_blubrry']) ? $GeneralSettings['subscribe_feature_blubrry'] : false ); $Settings['subscribe_feature_email_shortcode'] = (isset($GeneralSettings['subscribe_feature_email_shortcode']) ? $GeneralSettings['subscribe_feature_email_shortcode'] : true ); $Settings['subscribe_feature_gp_shortcode'] = (isset($GeneralSettings['subscribe_feature_gp_shortcode']) ? $GeneralSettings['subscribe_feature_gp_shortcode'] : true ); $Settings['subscribe_feature_stitcher_shortcode'] = (isset($GeneralSettings['subscribe_feature_stitcher_shortcode']) ? $GeneralSettings['subscribe_feature_stitcher_shortcode'] : true ); $Settings['subscribe_feature_tunein_shortcode'] = (isset($GeneralSettings['subscribe_feature_tunein_shortcode']) ? $GeneralSettings['subscribe_feature_tunein_shortcode'] : true ); $Settings['subscribe_feature_spotify_shortcode'] = (isset($GeneralSettings['subscribe_feature_spotify_shortcode']) ? $GeneralSettings['subscribe_feature_spotify_shortcode'] : true ); $Settings['subscribe_feature_android_shortcode'] = (isset($GeneralSettings['subscribe_feature_android_shortcode']) ? $GeneralSettings['subscribe_feature_android_shortcode'] : true ); $Settings['subscribe_feature_blubrry_shortcode'] = (isset($GeneralSettings['subscribe_feature_blubrry_shortcode']) ? $GeneralSettings['subscribe_feature_blubrry_shortcode'] : true ); $Settings['subscribe_feature_iheart_shortcode'] = (isset($GeneralSettings['subscribe_feature_iheart_shortcode']) ? $GeneralSettings['subscribe_feature_iheart_shortcode'] : true ); $Settings['subscribe_feature_deezer_shortcode'] = (isset($GeneralSettings['subscribe_feature_deezer_shortcode']) ? $GeneralSettings['subscribe_feature_deezer_shortcode'] : true ); $Settings['subscribe_feature_pandora_shortcode'] = (isset($GeneralSettings['subscribe_feature_pandora_shortcode']) ? $GeneralSettings['subscribe_feature_pandora_shortcode'] : true ); $Settings['subscribe_feature_email_sidebar'] = (isset($GeneralSettings['subscribe_feature_email_sidebar']) ? $GeneralSettings['subscribe_feature_email_sidebar'] : true ); $Settings['subscribe_feature_gp_sidebar'] = (isset($GeneralSettings['subscribe_feature_gp_sidebar']) ? $GeneralSettings['subscribe_feature_gp_sidebar'] : true ); $Settings['subscribe_feature_stitcher_sidebar'] = (isset($GeneralSettings['subscribe_feature_stitcher_sidebar']) ? $GeneralSettings['subscribe_feature_stitcher_sidebar'] : false ); $Settings['subscribe_feature_tunein_sidebar'] = (isset($GeneralSettings['subscribe_feature_tunein_sidebar']) ? $GeneralSettings['subscribe_feature_tunein_sidebar'] : false ); $Settings['subscribe_feature_spotify_sidebar'] = (isset($GeneralSettings['subscribe_feature_spotify_sidebar']) ? $GeneralSettings['subscribe_feature_spotify_sidebar'] : false ); $Settings['subscribe_feature_iheart_sidebar'] = (isset($GeneralSettings['subscribe_feature_iheart_sidebar']) ? $GeneralSettings['subscribe_feature_iheart_sidebar'] : false ); $Settings['subscribe_feature_deezer_sidebar'] = (isset($GeneralSettings['subscribe_feature_deezer_sidebar']) ? $GeneralSettings['subscribe_feature_deezer_sidebar'] : false ); $Settings['subscribe_feature_pandora_sidebar'] = (isset($GeneralSettings['subscribe_feature_pandora_sidebar']) ? $GeneralSettings['subscribe_feature_pandora_sidebar'] : false ); $Settings['subscribe_feature_android_sidebar'] = (isset($GeneralSettings['subscribe_feature_android_sidebar']) ? $GeneralSettings['subscribe_feature_android_sidebar'] : true ); $Settings['subscribe_feature_blubrry_sidebar'] = (isset($GeneralSettings['subscribe_feature_blubrry_sidebar']) ? $GeneralSettings['subscribe_feature_blubrry_sidebar'] : false ); if (isset($GeneralSettings['subscribe_no_important_styling'])) { $Settings['subscribe_no_important_styling'] = $GeneralSettings['subscribe_no_important_styling']; } else { $Settings['subscribe_no_important_styling'] = 'include'; } return $Settings; } return false; // If we specifically wanted a category, then we need to return false so we don't miss-represent } // Taxonomy if( $ExtraData['subscribe_type'] == 'ttid' ) { if( !empty($GeneralSettings['taxonomy_podcasting']) && !empty($taxonomy_term_id) ) { $term_ID = ''; $taxonomy_type = ''; $Settings = get_option('powerpress_taxonomy_'. intval($taxonomy_term_id) ); if( !empty($Settings) ) { global $wpdb; $term_info = $wpdb->get_results("SELECT term_id, taxonomy FROM {$wpdb->term_taxonomy} WHERE term_taxonomy_id = {$taxonomy_term_id} LIMIT 1", ARRAY_A); if( !empty( $term_info[0]['term_id']) ) { $term_ID = $term_info[0]['term_id']; $taxonomy_type = $term_info[0]['taxonomy']; } } if( empty($term_ID) || empty($taxonomy_type) ) return false; if( !empty($Settings['feed_redirect_url']) ) $Settings['feed_url'] = $Settings['feed_redirect_url']; if( empty($General['feed_url']) ) $Settings['feed_url'] = get_term_feed_link($term_ID, $taxonomy_type, 'rss2'); $Settings['subscribe_page_url'] = powerpresssubscribe_get_subscribe_page($Settings); $Settings['itunes_url'] = powerpresssubscribe_get_itunes_url($Settings); $Settings['image_url'] = $Settings['itunes_image']; $Settings['subscribe_feature_rss'] = (isset($GeneralSettings['subscribe_feature_rss']) ? $GeneralSettings['subscribe_feature_rss'] : true ); $Settings['subscribe_feature_email'] = (isset($GeneralSettings['subscribe_feature_email']) ? $GeneralSettings['subscribe_feature_email'] : false ); $Settings['subscribe_feature_gp'] = (isset($GeneralSettings['subscribe_feature_gp']) ? $GeneralSettings['subscribe_feature_gp'] : false ); $Settings['subscribe_feature_stitcher'] = (isset($GeneralSettings['subscribe_feature_stitcher']) ? $GeneralSettings['subscribe_feature_stitcher'] : false ); $Settings['subscribe_feature_tunein'] = (isset($GeneralSettings['subscribe_feature_tunein']) ? $GeneralSettings['subscribe_feature_tunein'] : false ); $Settings['subscribe_feature_spotify'] = (isset($GeneralSettings['subscribe_feature_spotify']) ? $GeneralSettings['subscribe_feature_spotify'] : false ); $Settings['subscribe_feature_iheart'] = (isset($GeneralSettings['subscribe_feature_iheart']) ? $GeneralSettings['subscribe_feature_iheart'] : false ); $Settings['subscribe_feature_deezer'] = (isset($GeneralSettings['subscribe_feature_deezer']) ? $GeneralSettings['subscribe_feature_deezer'] : false ); $Settings['subscribe_feature_pandora'] = (isset($GeneralSettings['subscribe_feature_pandora']) ? $GeneralSettings['subscribe_feature_pandora'] : false ); $Settings['subscribe_feature_android'] = (isset($GeneralSettings['subscribe_feature_android']) ? $GeneralSettings['subscribe_feature_android'] : false ); $Settings['subscribe_feature_blubrry'] = (isset($GeneralSettings['subscribe_feature_blubrry']) ? $GeneralSettings['subscribe_feature_blubrry'] : false ); $Settings['subscribe_feature_email_shortcode'] = (isset($GeneralSettings['subscribe_feature_email_shortcode']) ? $GeneralSettings['subscribe_feature_email_shortcode'] : true ); $Settings['subscribe_feature_gp_shortcode'] = (isset($GeneralSettings['subscribe_feature_gp_shortcode']) ? $GeneralSettings['subscribe_feature_gp_shortcode'] : true ); $Settings['subscribe_feature_stitcher_shortcode'] = (isset($GeneralSettings['subscribe_feature_stitcher_shortcode']) ? $GeneralSettings['subscribe_feature_stitcher_shortcode'] : true ); $Settings['subscribe_feature_tunein_shortcode'] = (isset($GeneralSettings['subscribe_feature_tunein_shortcode']) ? $GeneralSettings['subscribe_feature_tunein_shortcode'] : true ); $Settings['subscribe_feature_spotify_shortcode'] = (isset($GeneralSettings['subscribe_feature_spotify_shortcode']) ? $GeneralSettings['subscribe_feature_spotify_shortcode'] : true ); $Settings['subscribe_feature_android_shortcode'] = (isset($GeneralSettings['subscribe_feature_android_shortcode']) ? $GeneralSettings['subscribe_feature_android_shortcode'] : true ); $Settings['subscribe_feature_blubrry_shortcode'] = (isset($GeneralSettings['subscribe_feature_blubrry_shortcode']) ? $GeneralSettings['subscribe_feature_blubrry_shortcode'] : true ); $Settings['subscribe_feature_iheart_shortcode'] = (isset($GeneralSettings['subscribe_feature_iheart_shortcode']) ? $GeneralSettings['subscribe_feature_iheart_shortcode'] : true ); $Settings['subscribe_feature_deezer_shortcode'] = (isset($GeneralSettings['subscribe_feature_deezer_shortcode']) ? $GeneralSettings['subscribe_feature_deezer_shortcode'] : true ); $Settings['subscribe_feature_pandora_shortcode'] = (isset($GeneralSettings['subscribe_feature_pandora_shortcode']) ? $GeneralSettings['subscribe_feature_pandora_shortcode'] : true ); $Settings['subscribe_feature_email_sidebar'] = (isset($GeneralSettings['subscribe_feature_email_sidebar']) ? $GeneralSettings['subscribe_feature_email_sidebar'] : true ); $Settings['subscribe_feature_gp_sidebar'] = (isset($GeneralSettings['subscribe_feature_gp_sidebar']) ? $GeneralSettings['subscribe_feature_gp_sidebar'] : true ); $Settings['subscribe_feature_stitcher_sidebar'] = (isset($GeneralSettings['subscribe_feature_stitcher_sidebar']) ? $GeneralSettings['subscribe_feature_stitcher_sidebar'] : false ); $Settings['subscribe_feature_tunein_sidebar'] = (isset($GeneralSettings['subscribe_feature_tunein_sidebar']) ? $GeneralSettings['subscribe_feature_tunein_sidebar'] : false ); $Settings['subscribe_feature_spotify_sidebar'] = (isset($GeneralSettings['subscribe_feature_spotify_sidebar']) ? $GeneralSettings['subscribe_feature_spotify_sidebar'] : false ); $Settings['subscribe_feature_iheart_sidebar'] = (isset($GeneralSettings['subscribe_feature_iheart_sidebar']) ? $GeneralSettings['subscribe_feature_iheart_sidebar'] : false ); $Settings['subscribe_feature_deezer_sidebar'] = (isset($GeneralSettings['subscribe_feature_deezer_sidebar']) ? $GeneralSettings['subscribe_feature_deezer_sidebar'] : false ); $Settings['subscribe_feature_pandora_sidebar'] = (isset($GeneralSettings['subscribe_feature_pandora_sidebar']) ? $GeneralSettings['subscribe_feature_pandora_sidebar'] : false ); $Settings['subscribe_feature_android_sidebar'] = (isset($GeneralSettings['subscribe_feature_android_sidebar']) ? $GeneralSettings['subscribe_feature_android_sidebar'] : true ); $Settings['subscribe_feature_blubrry_sidebar'] = (isset($GeneralSettings['subscribe_feature_blubrry_sidebar']) ? $GeneralSettings['subscribe_feature_blubrry_sidebar'] : false ); if (isset($GeneralSettings['subscribe_no_important_styling'])) { $Settings['subscribe_no_important_styling'] = $GeneralSettings['subscribe_no_important_styling']; } else { $Settings['subscribe_no_important_styling'] = 'include'; } return $Settings; } return false; } // Post Type Podcasting if( $ExtraData['subscribe_type'] == 'post_type' ) { if( !empty($GeneralSettings['posttype_podcasting']) ) { if( empty($post_type) && !empty($ExtraData['id']) ) $post_type = get_post_type( $ExtraData['id'] ); switch( $post_type ) { case 'page': case 'post': { // SWEET, CARRY ON! }; break; default: { $SettingsArray = get_option('powerpress_posttype_'.$post_type); $Settings = false; if( !empty($SettingsArray[ $feed_slug ]) ) $Settings = $SettingsArray[ $feed_slug ]; if( !empty($Settings) ) { $Settings['title'] = $Settings['title']; if( empty($Settings['title']) ) { $obj = get_post_type_object($post_type); if( !empty($obj->labels->singular_name) ) $Settings['title'] = $obj->labels->singular_name; } if( empty($Settings['title']) ) { $Settings['title'] = get_bloginfo_rss('name'); } if( !empty($Settings['feed_redirect_url']) ) $Settings['feed_url'] = $Settings['feed_redirect_url']; else $Settings['feed_url'] = get_post_type_archive_feed_link($post_type, $feed_slug); // Get post type feed URL $Settings['subscribe_page_url'] = powerpresssubscribe_get_subscribe_page($Settings); $Settings['itunes_url'] = powerpresssubscribe_get_itunes_url($Settings); $Settings['image_url'] = $Settings['itunes_image']; $Settings['subscribe_feature_rss'] = (isset($GeneralSettings['subscribe_feature_rss']) ? $GeneralSettings['subscribe_feature_rss'] : true ); $Settings['subscribe_feature_email'] = (isset($GeneralSettings['subscribe_feature_email']) ? $GeneralSettings['subscribe_feature_email'] : false ); $Settings['subscribe_feature_gp'] = (isset($GeneralSettings['subscribe_feature_gp']) ? $GeneralSettings['subscribe_feature_gp'] : false ); $Settings['subscribe_feature_stitcher'] = (isset($GeneralSettings['subscribe_feature_stitcher']) ? $GeneralSettings['subscribe_feature_stitcher'] : false ); $Settings['subscribe_feature_tunein'] = (isset($GeneralSettings['subscribe_feature_tunein']) ? $GeneralSettings['subscribe_feature_tunein'] : false ); $Settings['subscribe_feature_spotify'] = (isset($GeneralSettings['subscribe_feature_spotify']) ? $GeneralSettings['subscribe_feature_spotify'] : false ); $Settings['subscribe_feature_iheart'] = (isset($GeneralSettings['subscribe_feature_iheart']) ? $GeneralSettings['subscribe_feature_iheart'] : false ); $Settings['subscribe_feature_deezer'] = (isset($GeneralSettings['subscribe_feature_deezer']) ? $GeneralSettings['subscribe_feature_deezer'] : false ); $Settings['subscribe_feature_pandora'] = (isset($GeneralSettings['subscribe_feature_pandora']) ? $GeneralSettings['subscribe_feature_pandora'] : false ); $Settings['subscribe_feature_android'] = (isset($GeneralSettings['subscribe_feature_android']) ? $GeneralSettings['subscribe_feature_android'] : false ); $Settings['subscribe_feature_blubrry'] = (isset($GeneralSettings['subscribe_feature_blubrry']) ? $GeneralSettings['subscribe_feature_blubrry'] : false ); $Settings['subscribe_feature_email_shortcode'] = (isset($GeneralSettings['subscribe_feature_email_shortcode']) ? $GeneralSettings['subscribe_feature_email_shortcode'] : true ); $Settings['subscribe_feature_gp_shortcode'] = (isset($GeneralSettings['subscribe_feature_gp_shortcode']) ? $GeneralSettings['subscribe_feature_gp_shortcode'] : true ); $Settings['subscribe_feature_stitcher_shortcode'] = (isset($GeneralSettings['subscribe_feature_stitcher_shortcode']) ? $GeneralSettings['subscribe_feature_stitcher_shortcode'] : true ); $Settings['subscribe_feature_tunein_shortcode'] = (isset($GeneralSettings['subscribe_feature_tunein_shortcode']) ? $GeneralSettings['subscribe_feature_tunein_shortcode'] : true ); $Settings['subscribe_feature_spotify_shortcode'] = (isset($GeneralSettings['subscribe_feature_spotify_shortcode']) ? $GeneralSettings['subscribe_feature_spotify_shortcode'] : true ); $Settings['subscribe_feature_android_shortcode'] = (isset($GeneralSettings['subscribe_feature_android_shortcode']) ? $GeneralSettings['subscribe_feature_android_shortcode'] : true ); $Settings['subscribe_feature_blubrry_shortcode'] = (isset($GeneralSettings['subscribe_feature_blubrry_shortcode']) ? $GeneralSettings['subscribe_feature_blubrry_shortcode'] : true ); $Settings['subscribe_feature_iheart_shortcode'] = (isset($GeneralSettings['subscribe_feature_iheart_shortcode']) ? $GeneralSettings['subscribe_feature_iheart_shortcode'] : true ); $Settings['subscribe_feature_deezer_shortcode'] = (isset($GeneralSettings['subscribe_feature_deezer_shortcode']) ? $GeneralSettings['subscribe_feature_deezer_shortcode'] : true ); $Settings['subscribe_feature_pandora_shortcode'] = (isset($GeneralSettings['subscribe_feature_pandora_shortcode']) ? $GeneralSettings['subscribe_feature_pandora_shortcode'] : true ); $Settings['subscribe_feature_email_sidebar'] = (isset($GeneralSettings['subscribe_feature_email_sidebar']) ? $GeneralSettings['subscribe_feature_email_sidebar'] : true ); $Settings['subscribe_feature_gp_sidebar'] = (isset($GeneralSettings['subscribe_feature_gp_sidebar']) ? $GeneralSettings['subscribe_feature_gp_sidebar'] : true ); $Settings['subscribe_feature_stitcher_sidebar'] = (isset($GeneralSettings['subscribe_feature_stitcher_sidebar']) ? $GeneralSettings['subscribe_feature_stitcher_sidebar'] : false ); $Settings['subscribe_feature_tunein_sidebar'] = (isset($GeneralSettings['subscribe_feature_tunein_sidebar']) ? $GeneralSettings['subscribe_feature_tunein_sidebar'] : false ); $Settings['subscribe_feature_spotify_sidebar'] = (isset($GeneralSettings['subscribe_feature_spotify_sidebar']) ? $GeneralSettings['subscribe_feature_spotify_sidebar'] : false ); $Settings['subscribe_feature_iheart_sidebar'] = (isset($GeneralSettings['subscribe_feature_iheart_sidebar']) ? $GeneralSettings['subscribe_feature_iheart_sidebar'] : false ); $Settings['subscribe_feature_deezer_sidebar'] = (isset($GeneralSettings['subscribe_feature_deezer_sidebar']) ? $GeneralSettings['subscribe_feature_deezer_sidebar'] : false ); $Settings['subscribe_feature_pandora_sidebar'] = (isset($GeneralSettings['subscribe_feature_pandora_sidebar']) ? $GeneralSettings['subscribe_feature_pandora_sidebar'] : false ); $Settings['subscribe_feature_android_sidebar'] = (isset($GeneralSettings['subscribe_feature_android_sidebar']) ? $GeneralSettings['subscribe_feature_android_sidebar'] : true ); $Settings['subscribe_feature_blubrry_sidebar'] = (isset($GeneralSettings['subscribe_feature_blubrry_sidebar']) ? $GeneralSettings['subscribe_feature_blubrry_sidebar'] : false ); if (isset($GeneralSettings['subscribe_no_important_styling'])) { $Settings['subscribe_no_important_styling'] = $GeneralSettings['subscribe_no_important_styling']; } else { $Settings['subscribe_no_important_styling'] = 'include'; } return $Settings; } }; break; } } return false; } // Podcast default and channel feed settings $Settings = get_option('powerpress_feed_'. $feed_slug); if( empty($Settings) && $feed_slug == 'podcast' ) $Settings = get_option('powerpress_feed'); // Get the main feed settings if( !empty($Settings) ) { if( empty($Settings['title']) ) { $Settings['title'] = get_bloginfo_rss('name'); // Get blog title } if( !empty($Settings['feed_redirect_url']) ) $Settings['feed_url'] = $Settings['feed_redirect_url']; else $Settings['feed_url'] = get_feed_link($feed_slug); // Get Podcast RSS Feed $Settings['subscribe_page_url'] = powerpresssubscribe_get_subscribe_page($Settings); $Settings['itunes_url'] = powerpresssubscribe_get_itunes_url($Settings); $Settings['image_url'] = $Settings['itunes_image']; $Settings['subscribe_feature_rss'] = (isset($GeneralSettings['subscribe_feature_rss']) ? $GeneralSettings['subscribe_feature_rss'] : true ); $Settings['subscribe_feature_email'] = (isset($GeneralSettings['subscribe_feature_email']) ? $GeneralSettings['subscribe_feature_email'] : false ); $Settings['subscribe_feature_gp'] = (isset($GeneralSettings['subscribe_feature_gp']) ? $GeneralSettings['subscribe_feature_gp'] : false ); $Settings['subscribe_feature_stitcher'] = (isset($GeneralSettings['subscribe_feature_stitcher']) ? $GeneralSettings['subscribe_feature_stitcher'] : false ); $Settings['subscribe_feature_tunein'] = (isset($GeneralSettings['subscribe_feature_tunein']) ? $GeneralSettings['subscribe_feature_tunein'] : false ); $Settings['subscribe_feature_spotify'] = (isset($GeneralSettings['subscribe_feature_spotify']) ? $GeneralSettings['subscribe_feature_spotify'] : false ); $Settings['subscribe_feature_iheart'] = (isset($GeneralSettings['subscribe_feature_iheart']) ? $GeneralSettings['subscribe_feature_iheart'] : false ); $Settings['subscribe_feature_deezer'] = (isset($GeneralSettings['subscribe_feature_deezer']) ? $GeneralSettings['subscribe_feature_deezer'] : false ); $Settings['subscribe_feature_pandora'] = (isset($GeneralSettings['subscribe_feature_pandora']) ? $GeneralSettings['subscribe_feature_pandora'] : false ); $Settings['subscribe_feature_android'] = (isset($GeneralSettings['subscribe_feature_android']) ? $GeneralSettings['subscribe_feature_android'] : false ); $Settings['subscribe_feature_blubrry'] = (isset($GeneralSettings['subscribe_feature_blubrry']) ? $GeneralSettings['subscribe_feature_blubrry'] : false ); $Settings['subscribe_feature_email_shortcode'] = (isset($GeneralSettings['subscribe_feature_email_shortcode']) ? $GeneralSettings['subscribe_feature_email_shortcode'] : true ); $Settings['subscribe_feature_gp_shortcode'] = (isset($GeneralSettings['subscribe_feature_gp_shortcode']) ? $GeneralSettings['subscribe_feature_gp_shortcode'] : true ); $Settings['subscribe_feature_stitcher_shortcode'] = (isset($GeneralSettings['subscribe_feature_stitcher_shortcode']) ? $GeneralSettings['subscribe_feature_stitcher_shortcode'] : true ); $Settings['subscribe_feature_tunein_shortcode'] = (isset($GeneralSettings['subscribe_feature_tunein_shortcode']) ? $GeneralSettings['subscribe_feature_tunein_shortcode'] : true ); $Settings['subscribe_feature_spotify_shortcode'] = (isset($GeneralSettings['subscribe_feature_spotify_shortcode']) ? $GeneralSettings['subscribe_feature_spotify_shortcode'] : true ); $Settings['subscribe_feature_android_shortcode'] = (isset($GeneralSettings['subscribe_feature_android_shortcode']) ? $GeneralSettings['subscribe_feature_android_shortcode'] : true ); $Settings['subscribe_feature_blubrry_shortcode'] = (isset($GeneralSettings['subscribe_feature_blubrry_shortcode']) ? $GeneralSettings['subscribe_feature_blubrry_shortcode'] : true ); $Settings['subscribe_feature_iheart_shortcode'] = (isset($GeneralSettings['subscribe_feature_iheart_shortcode']) ? $GeneralSettings['subscribe_feature_iheart_shortcode'] : true ); $Settings['subscribe_feature_deezer_shortcode'] = (isset($GeneralSettings['subscribe_feature_deezer_shortcode']) ? $GeneralSettings['subscribe_feature_deezer_shortcode'] : true ); $Settings['subscribe_feature_pandora_shortcode'] = (isset($GeneralSettings['subscribe_feature_pandora_shortcode']) ? $GeneralSettings['subscribe_feature_pandora_shortcode'] : true ); $Settings['subscribe_feature_email_sidebar'] = (isset($GeneralSettings['subscribe_feature_email_sidebar']) ? $GeneralSettings['subscribe_feature_email_sidebar'] : true ); $Settings['subscribe_feature_gp_sidebar'] = (isset($GeneralSettings['subscribe_feature_gp_sidebar']) ? $GeneralSettings['subscribe_feature_gp_sidebar'] : true ); $Settings['subscribe_feature_stitcher_sidebar'] = (isset($GeneralSettings['subscribe_feature_stitcher_sidebar']) ? $GeneralSettings['subscribe_feature_stitcher_sidebar'] : false ); $Settings['subscribe_feature_tunein_sidebar'] = (isset($GeneralSettings['subscribe_feature_tunein_sidebar']) ? $GeneralSettings['subscribe_feature_tunein_sidebar'] : false ); $Settings['subscribe_feature_spotify_sidebar'] = (isset($GeneralSettings['subscribe_feature_spotify_sidebar']) ? $GeneralSettings['subscribe_feature_spotify_sidebar'] : false ); $Settings['subscribe_feature_iheart_sidebar'] = (isset($GeneralSettings['subscribe_feature_iheart_sidebar']) ? $GeneralSettings['subscribe_feature_iheart_sidebar'] : false ); $Settings['subscribe_feature_deezer_sidebar'] = (isset($GeneralSettings['subscribe_feature_deezer_sidebar']) ? $GeneralSettings['subscribe_feature_deezer_sidebar'] : false ); $Settings['subscribe_feature_pandora_sidebar'] = (isset($GeneralSettings['subscribe_feature_pandora_sidebar']) ? $GeneralSettings['subscribe_feature_pandora_sidebar'] : false ); $Settings['subscribe_feature_android_sidebar'] = (isset($GeneralSettings['subscribe_feature_android_sidebar']) ? $GeneralSettings['subscribe_feature_android_sidebar'] : true ); $Settings['subscribe_feature_blubrry_sidebar'] = (isset($GeneralSettings['subscribe_feature_blubrry_sidebar']) ? $GeneralSettings['subscribe_feature_blubrry_sidebar'] : false ); if (isset($GeneralSettings['subscribe_no_important_styling'])) { $Settings['subscribe_no_important_styling'] = $GeneralSettings['subscribe_no_important_styling']; } else { $Settings['subscribe_no_important_styling'] = 'include'; } if( !empty($FeedSettings['premium']) ) { $Settings['subscribe_feature_email'] = false; $Settings['subscribe_feature_gp'] = false; $Settings['subscribe_feature_stitcher'] = false; $Settings['subscribe_feature_tunein'] = false; $Settings['subscribe_feature_spotify'] = false; $Settings['subscribe_feature_iheart'] = false; $Settings['subscribe_feature_deezer'] = false; $Settings['subscribe_feature_pandora'] = false; $Settings['subscribe_feature_android'] = false; $Settings['subscribe_feature_blubrry'] = false; $Settings['subscribe_feature_email_shortcode'] = false; $Settings['subscribe_feature_gp_shortcode'] = false; $Settings['subscribe_feature_stitcher_shortcode'] = false; $Settings['subscribe_feature_tunein_shortcode'] = false; $Settings['subscribe_feature_spotify_shortcode'] = false; $Settings['subscribe_feature_android_shortcode'] = false; $Settings['subscribe_feature_blubrry_shortcode'] = false; $Settings['subscribe_feature_iheart_shortcode'] = false; $Settings['subscribe_feature_deezer_shortcode'] = false; $Settings['subscribe_feature_pandora_shortcode'] = false; $Settings['subscribe_feature_email_sidebar'] = false; $Settings['subscribe_feature_gp_sidebar'] = false; $Settings['subscribe_feature_stitcher_sidebar'] = false; $Settings['subscribe_feature_tunein_sidebar'] = false; $Settings['subscribe_feature_spotify_sidebar'] = false; $Settings['subscribe_feature_iheart_sidebar'] = false; $Settings['subscribe_feature_deezer_sidebar'] = false; $Settings['subscribe_feature_pandora_sidebar'] = false; $Settings['subscribe_feature_android_sidebar'] = false; $Settings['subscribe_feature_blubrry_sidebar'] = false; } return $Settings; } return false; } // 1: Subscribe widget added to the links... function powerpressplayer_link_subscribe_pre($content, $media_url, $ExtraData = array() ) { $detect_category = true; if( 'post' != get_post_type() && empty($ExtraData['subscribe_type']) ) { $post_type = get_post_type(); $ExtraData['subscribe_type'] = 'post_type'; } else if( 'post' == get_post_type() && !empty($ExtraData['category']) ) { // If strict category selected $ExtraData['cat_id'] = $ExtraData['category']; //$ExtraData['subscribe_type'] = 'category'; // Let the get settings function below figure this out $detect_category = false; } $SubscribeSettings = powerpresssubscribe_get_settings( $ExtraData, $detect_category ); if( empty($SubscribeSettings) ) return $content; if( !isset($SubscribeSettings['subscribe_links']) ) $SubscribeSettings['subscribe_links'] = 1; // Default make this the first link option if( $SubscribeSettings['subscribe_links'] != 1 ) // beginning of links return $content; $feed_url = $SubscribeSettings['feed_url']; $itunes_url = trim($SubscribeSettings['itunes_url']); $links_array = array(); if( !empty($itunes_url) ) { $guid = get_the_guid(); $links_array[] = "". __('Apple Podcasts','powerpress') ."".PHP_EOL_WEB; } if( preg_match('/^(https?:\/\/)(.*)$/i', $feed_url, $matches ) ) { $android_url = $matches[1] . 'subscribeonandroid.com/' . $matches[2]; $links_array[] = "". __('Android','powerpress') ."".PHP_EOL_WEB; if( !empty($SubscribeSettings['subscribe_feature_email']) ) { $email_url = $matches[1] . 'subscribebyemail.com/' . $matches[2]; $links_array[] = "". __('Email','powerpress') ."".PHP_EOL_WEB; } } if( !empty($SubscribeSettings['subscribe_feature_gp']) ) { if( !empty($SubscribeSettings['google_url']) ) $SubscribeSettings['googleplay_url'] =$SubscribeSettings['google_url']; else $SubscribeSettings['googleplay_url'] = 'https://www.google.com/podcasts?feed='. powerpress_base64_encode($feed_url); $links_array[] = "". __('Google Podcasts','powerpress') ."".PHP_EOL_WEB; } if( !empty($SubscribeSettings['subscribe_feature_stitcher']) && !empty($SubscribeSettings['stitcher_url']) ) { $SubscribeSettings['stitcher_url'] = trim($SubscribeSettings['stitcher_url']); $links_array[] = "". __('Stitcher','powerpress') ."".PHP_EOL_WEB; } if( !empty($SubscribeSettings['subscribe_feature_tunein']) && !empty($SubscribeSettings['tunein_url']) ) { $SubscribeSettings['tunein_url'] = trim($SubscribeSettings['tunein_url']); $links_array[] = "". __('TuneIn','powerpress') ."".PHP_EOL_WEB; } if( !empty($SubscribeSettings['subscribe_feature_spotify']) && !empty($SubscribeSettings['spotify_url']) ) { $SubscribeSettings['spotify_url'] = trim($SubscribeSettings['spotify_url']); $links_array[] = "". __('Spotify','powerpress') ."".PHP_EOL_WEB; } if( !empty($SubscribeSettings['subscribe_feature_blubrry']) && !empty($SubscribeSettings['blubrry_url']) ) { $SubscribeSettings['blubrry_url'] = trim($SubscribeSettings['blubrry_url']); $links_array[] = "". __('Blubrry','powerpress') ."".PHP_EOL_WEB; } if( !empty($SubscribeSettings['subscribe_feature_rss']) ) { $links_array[] = "". __('RSS','powerpress') ."".PHP_EOL_WEB; } if( !empty($SubscribeSettings['subscribe_page_url']) ) { $label = (empty($SubscribeSettings['subscribe_page_link_text'])?__('More', 'powerpress'):$SubscribeSettings['subscribe_page_link_text']); $links_array[] = "". htmlspecialchars($label) ."".PHP_EOL_WEB; } $content .= implode(' '.POWERPRESS_LINK_SEPARATOR .' ', $links_array); return $content; } function powerpressplayer_link_subscribe_post($content, $media_url, $ExtraData = array() ) { if( !empty($content) ) { $GeneralSettings = get_option('powerpress_general'); $label = __('Subscribe:', 'powerpress'); if( !empty($GeneralSettings['subscribe_label']) ) $label = $GeneralSettings['subscribe_label']; // Get label setting from $GeneralSettings $prefix = htmlspecialchars($label) . ' '; $return = '
'. $prefix . $content . '
'; return $return; } return $content; } function powerpress_subscribe_shortcode( $attr ) { if ( is_feed() ) { return ''; } // Only works on pages... if ( !is_singular() ) { if( empty($attr['archive']) ) return ''; } /* extract( shortcode_atts( array( 'channel'=>'', // Used for PowerPress Podcast Channels 'slug' => '', // Used for PowerPress (alt for 'channel') 'feed' => '', // Used for PowerPress (alt for 'channel') 'post_type' => 'post', // Used for PowerPress 'category'=>'', // Used for PowerPress (specify category ID, name or slug) 'term_taxonomy_id'=>'', // Used for PowerPress (specify term taxonomy ID) //'term_id'=>'', // Used for PowerPress (specify term ID, name or slug) //'taxonomy'=>'', // Used for PowerPress (specify taxonomy name) 'title' => '', // Display custom title of show/program 'subtitle'=>'', // Subtitle for podcast (optional) 'feed_url'=>'', // provide subscribe widget for specific RSS feed 'itunes_url'=>'', // provide subscribe widget for specific iTunes subscribe URL 'image_url'=>'', // provide subscribe widget for specific iTunes subscribe URL 'heading'=>'', // heading label for podcast 'itunes_subtitle'=>'', // Set to 'true' to include the iTunes subtitle in subscribe widget // Appearance attributes 'itunes_button'=>'', // Set to 'true' to use only the iTunes button 'itunes_banner'=>'', // Set to 'true' to use only the iTunes banner 'style'=>'' // Set to 'true' to use only the iTunes banner ), $attr, 'powerpresssubscribe' ) ); //return print_r($attr, true); */ /**/ if( !is_array($attr) ) // Convert to an array to avoid php notice messages { $attr = array(); } if( empty($attr['slug']) && !empty($attr['feed']) ) $attr['slug'] = $attr['feed']; else if( empty($attr['slug']) && !empty($attr['channel']) ) $attr['slug'] = $attr['channel']; else if( empty($attr['slug']) ) $attr['slug'] = 'podcast'; // Set empty args to prevent warnings if( !isset($attr['term_taxonomy_id']) ) $attr['term_taxonomy_id'] = ''; if( !isset($attr['category_id']) ) $attr['category_id'] = ''; if( !isset($attr['post_type']) ) $attr['post_type'] = ''; $subscribe_type = ''; $category_id = ''; if(!empty($attr['category']) ) { $CategoryObj = false; if( preg_match('/^[0-9]*$/', $attr['category']) ) // If it is a numeric ID, lets try finding it by ID first... $CategoryObj = get_term_by('id', $attr['category'], 'category'); if( empty($CategoryObj) ) $CategoryObj = get_term_by('name', $attr['category'], 'category'); if( empty($CategoryObj) ) $CategoryObj = get_term_by('slug', $attr['category'], 'category'); if( !empty($CategoryObj) ) { $category_id = $CategoryObj->term_id; } } if( !empty($attr['category']) ) $subscribe_type = 'category'; else if( !empty($attr['term_taxonomy_id']) ) $subscribe_type = 'ttid'; else if( !empty($attr['post_type']) ) $subscribe_type = 'post_type'; else if( empty($attr['post_type']) && !empty($attr['slug']) && $attr['slug'] != 'podcast' ) $subscribe_type = 'channel'; $Settings = array(); if( !empty($attr['feed_url']) ) { $Settings['feed_url'] = $attr['feed_url']; } else { $Settings = powerpresssubscribe_get_settings( array('feed'=>$attr['slug'], 'taxonomy_term_id'=>$attr['term_taxonomy_id'], 'cat_id'=>$category_id, 'post_type'=>$attr['post_type'], 'subscribe_type'=>$subscribe_type), false ); } // Podcast title handling if( isset($attr['title']) && empty($attr['title']) && isset($Settings['title']) ) unset( $Settings['title'] ); // Special case, if the title is unset, then it should not be displayed else if( !empty($attr['title']) ) $Settings['title'] = $attr['title']; else if( !isset($Settings['title']) ) $Settings['title'] = ''; // This way the title can be detected unset($Settings['subtitle']); // Make sure no subtitle passes this point if( !empty($attr['itunes_subtitle']) && !empty($Settings['itunes_subtitle']) ) { $Settings['subtitle'] = $Settings['itunes_subtitle']; } else if( !empty($attr['subtitle']) ) { $Settings['subtitle'] = $attr['subtitle']; } if( !empty($attr['itunes_url']) ) $Settings['itunes_url'] = $attr['itunes_url']; if( !empty($attr['style']) ) $Settings['subscribe_widget_style'] = $attr['style']; if( !empty($attr['subscribe_no_important_styling']) ) $Settings['subscribe_no_important_styling'] = $attr['subscribe_no_important_styling']; if( !empty($attr['image_url']) ) $Settings['image_url'] = $attr['image_url']; if( isset($attr['heading']) ) // If a custom heading is set $Settings['heading'] = $attr['heading']; if( empty($Settings) ) return ''; $Settings['itunes_url'] = powerpresssubscribe_get_itunes_url($Settings); if (defined('WP_DEBUG')) { if (WP_DEBUG) { wp_enqueue_style('powerpress-subscribe-style-modern', plugin_dir_url(__FILE__) . 'css/subscribe.css', array(), POWERPRESS_VERSION); } else { wp_enqueue_style('powerpress-subscribe-style-modern', plugin_dir_url(__FILE__) . 'css/subscribe.min.css', array(), POWERPRESS_VERSION); } } else { wp_enqueue_style('powerpress-subscribe-style-modern', plugin_dir_url(__FILE__) . 'css/subscribe.min.css', array(), POWERPRESS_VERSION); } if( !empty($attr['itunes_button']) && !empty($Settings['itunes_url']) ) { $html = '$s"; */ if (isset($settings['subscribe_no_important_styling']) && $settings['subscribe_no_important_styling'] == "exclude") { $important_tags_class = ''; } else { $important_tags_class = ' pp-ssb-widget-include'; } $html = ''; $html .= ' '; return $html; }