@@ -928,15 +928,15 @@ discard block |
||
| 928 | 928 | if ( $message ) { |
| 929 | 929 | |
| 930 | 930 | $allowed = array( |
| 931 | - 'a' => array( |
|
| 932 | - 'href' => array(), |
|
| 933 | - 'title' => array(), |
|
| 934 | - 'target' => array() |
|
| 935 | - ), |
|
| 936 | - 'br' => array(), |
|
| 937 | - 'em' => array(), |
|
| 938 | - 'strong' => array(), |
|
| 939 | - 'p' => array() |
|
| 931 | + 'a' => array( |
|
| 932 | + 'href' => array(), |
|
| 933 | + 'title' => array(), |
|
| 934 | + 'target' => array() |
|
| 935 | + ), |
|
| 936 | + 'br' => array(), |
|
| 937 | + 'em' => array(), |
|
| 938 | + 'strong' => array(), |
|
| 939 | + 'p' => array() |
|
| 940 | 940 | ); |
| 941 | 941 | |
| 942 | 942 | $message = wp_kses( $message, $allowed ); |
@@ -1026,7 +1026,7 @@ discard block |
||
| 1026 | 1026 | if( function_exists( 'php_sapi_name') && 'security' == $tab ) { |
| 1027 | 1027 | $sapi_type = php_sapi_name(); |
| 1028 | 1028 | if ( strpos( $sapi_type, 'fcgi' ) !== false ) { |
| 1029 | - $html .= '<br/><div class="update-nag"> |
|
| 1029 | + $html .= '<br/><div class="update-nag"> |
|
| 1030 | 1030 | <p>' . sprintf( __( 'It looks like your server has FastCGI enabled, which will prevent the feed password protection feature from working. You can fix this by following %1$sthis quick guide%2$s.', 'seriously-simple-podcasting' ), '<a href="http://www.seriouslysimplepodcasting.com/documentation/why-does-the-feed-password-protection-feature-not-work/" target="_blank">', '</a>' ) . '</p> |
| 1031 | 1031 | </div>'; |
| 1032 | 1032 | } |
@@ -406,7 +406,7 @@ discard block |
||
| 406 | 406 | * @since 1.0.0 |
| 407 | 407 | * @return mixed |
| 408 | 408 | */ |
| 409 | - function ssp_readfile_chunked( $file, $retbytes = true ) { |
|
| 409 | + function ssp_readfile_chunked( $file, $retbytes = true ) { |
|
| 410 | 410 | |
| 411 | 411 | $chunksize = 1 * ( 1024 * 1024 ); |
| 412 | 412 | $cnt = 0; |
@@ -434,5 +434,5 @@ discard block |
||
| 434 | 434 | } |
| 435 | 435 | |
| 436 | 436 | return $status; |
| 437 | - } |
|
| 437 | + } |
|
| 438 | 438 | } |
| 439 | 439 | \ No newline at end of file |
@@ -83,19 +83,19 @@ discard block |
||
| 83 | 83 | |
| 84 | 84 | // Series list table |
| 85 | 85 | add_filter( 'manage_edit-series_columns' , array( $this, 'edit_series_columns' ) ); |
| 86 | - add_filter( 'manage_series_custom_column' , array( $this, 'add_series_columns' ), 1, 3 ); |
|
| 86 | + add_filter( 'manage_series_custom_column' , array( $this, 'add_series_columns' ), 1, 3 ); |
|
| 87 | 87 | |
| 88 | - // Dashboard widgets |
|
| 89 | - add_filter( 'dashboard_glance_items', array( $this, 'glance_items' ), 10, 1 ); |
|
| 88 | + // Dashboard widgets |
|
| 89 | + add_filter( 'dashboard_glance_items', array( $this, 'glance_items' ), 10, 1 ); |
|
| 90 | 90 | |
| 91 | - // Appreciation links |
|
| 92 | - add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 4 ); |
|
| 91 | + // Appreciation links |
|
| 92 | + add_filter( 'plugin_row_meta', array( $this, 'plugin_row_meta' ), 10, 4 ); |
|
| 93 | 93 | |
| 94 | - // Add footer text to dashboard |
|
| 95 | - add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ), 1 ); |
|
| 94 | + // Add footer text to dashboard |
|
| 95 | + add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ), 1 ); |
|
| 96 | 96 | |
| 97 | - // Clear the cache on post save. |
|
| 98 | - add_action( 'save_post', array( $this, 'invalidate_cache' ), 10, 2 ); |
|
| 97 | + // Clear the cache on post save. |
|
| 98 | + add_action( 'save_post', array( $this, 'invalidate_cache' ), 10, 2 ); |
|
| 99 | 99 | |
| 100 | 100 | } |
| 101 | 101 | |
@@ -195,77 +195,77 @@ discard block |
||
| 195 | 195 | |
| 196 | 196 | $podcast_post_types = ssp_post_types( true ); |
| 197 | 197 | |
| 198 | - $series_labels = array( |
|
| 199 | - 'name' => __( 'Podcast Series' , 'seriously-simple-podcasting' ), |
|
| 200 | - 'singular_name' => __( 'Series', 'seriously-simple-podcasting' ), |
|
| 201 | - 'search_items' => __( 'Search Series' , 'seriously-simple-podcasting' ), |
|
| 202 | - 'all_items' => __( 'All Series' , 'seriously-simple-podcasting' ), |
|
| 203 | - 'parent_item' => __( 'Parent Series' , 'seriously-simple-podcasting' ), |
|
| 204 | - 'parent_item_colon' => __( 'Parent Series:' , 'seriously-simple-podcasting' ), |
|
| 205 | - 'edit_item' => __( 'Edit Series' , 'seriously-simple-podcasting' ), |
|
| 206 | - 'update_item' => __( 'Update Series' , 'seriously-simple-podcasting' ), |
|
| 207 | - 'add_new_item' => __( 'Add New Series' , 'seriously-simple-podcasting' ), |
|
| 208 | - 'new_item_name' => __( 'New Series Name' , 'seriously-simple-podcasting' ), |
|
| 209 | - 'menu_name' => __( 'Series' , 'seriously-simple-podcasting' ), |
|
| 210 | - 'view_item' => __( 'View Series' , 'seriously-simple-podcasting' ), |
|
| 211 | - 'popular_items' => __( 'Popular Series' , 'seriously-simple-podcasting' ), |
|
| 212 | - 'separate_items_with_commas' => __( 'Separate series with commas' , 'seriously-simple-podcasting' ), |
|
| 213 | - 'add_or_remove_items' => __( 'Add or remove Series' , 'seriously-simple-podcasting' ), |
|
| 214 | - 'choose_from_most_used' => __( 'Choose from the most used Series' , 'seriously-simple-podcasting' ), |
|
| 215 | - 'not_found' => __( 'No Series Found' , 'seriously-simple-podcasting' ), |
|
| 216 | - 'items_list_navigation' => __( 'Series list navigation' , 'seriously-simple-podcasting' ), |
|
| 217 | - 'items_list' => __( 'Series list' , 'seriously-simple-podcasting' ), |
|
| 218 | - ); |
|
| 219 | - |
|
| 220 | - $series_args = array( |
|
| 221 | - 'public' => true, |
|
| 222 | - 'hierarchical' => true, |
|
| 223 | - 'rewrite' => array( 'slug' => apply_filters( 'ssp_series_slug', 'series' ) ), |
|
| 224 | - 'labels' => $series_labels, |
|
| 225 | - 'show_in_rest' => true, |
|
| 226 | - ); |
|
| 227 | - |
|
| 228 | - $series_args = apply_filters( 'ssp_register_taxonomy_args', $series_args, 'series' ); |
|
| 229 | - |
|
| 230 | - register_taxonomy( 'series', $podcast_post_types, $series_args ); |
|
| 231 | - |
|
| 232 | - // Add Tags to podcast post type |
|
| 233 | - if ( apply_filters( 'ssp_use_post_tags', true ) ) { |
|
| 234 | - register_taxonomy_for_object_type( 'post_tag', $this->token ); |
|
| 235 | - } |
|
| 236 | - } |
|
| 237 | - |
|
| 238 | - public function register_meta() { |
|
| 239 | - global $wp_version; |
|
| 240 | - |
|
| 241 | - // The enhanced register_meta function is only available for WordPress 4.6+ |
|
| 242 | - if( version_compare( $wp_version, '4.6', '<' ) ) { |
|
| 243 | - return; |
|
| 244 | - } |
|
| 245 | - |
|
| 246 | - // Get all displayed custom fields |
|
| 247 | - $fields = $this->custom_fields(); |
|
| 248 | - |
|
| 249 | - // Add 'filesize_raw' as this is not included in the displayed field options |
|
| 250 | - $fields['filesize_raw'] = array( |
|
| 251 | - 'meta_description' => __( 'The raw file size of the podcast episode media file in bytes.', 'seriously-simple-podcasting' ), |
|
| 198 | + $series_labels = array( |
|
| 199 | + 'name' => __( 'Podcast Series' , 'seriously-simple-podcasting' ), |
|
| 200 | + 'singular_name' => __( 'Series', 'seriously-simple-podcasting' ), |
|
| 201 | + 'search_items' => __( 'Search Series' , 'seriously-simple-podcasting' ), |
|
| 202 | + 'all_items' => __( 'All Series' , 'seriously-simple-podcasting' ), |
|
| 203 | + 'parent_item' => __( 'Parent Series' , 'seriously-simple-podcasting' ), |
|
| 204 | + 'parent_item_colon' => __( 'Parent Series:' , 'seriously-simple-podcasting' ), |
|
| 205 | + 'edit_item' => __( 'Edit Series' , 'seriously-simple-podcasting' ), |
|
| 206 | + 'update_item' => __( 'Update Series' , 'seriously-simple-podcasting' ), |
|
| 207 | + 'add_new_item' => __( 'Add New Series' , 'seriously-simple-podcasting' ), |
|
| 208 | + 'new_item_name' => __( 'New Series Name' , 'seriously-simple-podcasting' ), |
|
| 209 | + 'menu_name' => __( 'Series' , 'seriously-simple-podcasting' ), |
|
| 210 | + 'view_item' => __( 'View Series' , 'seriously-simple-podcasting' ), |
|
| 211 | + 'popular_items' => __( 'Popular Series' , 'seriously-simple-podcasting' ), |
|
| 212 | + 'separate_items_with_commas' => __( 'Separate series with commas' , 'seriously-simple-podcasting' ), |
|
| 213 | + 'add_or_remove_items' => __( 'Add or remove Series' , 'seriously-simple-podcasting' ), |
|
| 214 | + 'choose_from_most_used' => __( 'Choose from the most used Series' , 'seriously-simple-podcasting' ), |
|
| 215 | + 'not_found' => __( 'No Series Found' , 'seriously-simple-podcasting' ), |
|
| 216 | + 'items_list_navigation' => __( 'Series list navigation' , 'seriously-simple-podcasting' ), |
|
| 217 | + 'items_list' => __( 'Series list' , 'seriously-simple-podcasting' ), |
|
| 252 | 218 | ); |
| 253 | 219 | |
| 254 | - foreach( $fields as $key => $data ) { |
|
| 220 | + $series_args = array( |
|
| 221 | + 'public' => true, |
|
| 222 | + 'hierarchical' => true, |
|
| 223 | + 'rewrite' => array( 'slug' => apply_filters( 'ssp_series_slug', 'series' ) ), |
|
| 224 | + 'labels' => $series_labels, |
|
| 225 | + 'show_in_rest' => true, |
|
| 226 | + ); |
|
| 227 | + |
|
| 228 | + $series_args = apply_filters( 'ssp_register_taxonomy_args', $series_args, 'series' ); |
|
| 229 | + |
|
| 230 | + register_taxonomy( 'series', $podcast_post_types, $series_args ); |
|
| 231 | + |
|
| 232 | + // Add Tags to podcast post type |
|
| 233 | + if ( apply_filters( 'ssp_use_post_tags', true ) ) { |
|
| 234 | + register_taxonomy_for_object_type( 'post_tag', $this->token ); |
|
| 235 | + } |
|
| 236 | + } |
|
| 237 | + |
|
| 238 | + public function register_meta() { |
|
| 239 | + global $wp_version; |
|
| 240 | + |
|
| 241 | + // The enhanced register_meta function is only available for WordPress 4.6+ |
|
| 242 | + if( version_compare( $wp_version, '4.6', '<' ) ) { |
|
| 243 | + return; |
|
| 244 | + } |
|
| 245 | + |
|
| 246 | + // Get all displayed custom fields |
|
| 247 | + $fields = $this->custom_fields(); |
|
| 248 | + |
|
| 249 | + // Add 'filesize_raw' as this is not included in the displayed field options |
|
| 250 | + $fields['filesize_raw'] = array( |
|
| 251 | + 'meta_description' => __( 'The raw file size of the podcast episode media file in bytes.', 'seriously-simple-podcasting' ), |
|
| 252 | + ); |
|
| 255 | 253 | |
| 256 | - $args = array( |
|
| 254 | + foreach( $fields as $key => $data ) { |
|
| 255 | + |
|
| 256 | + $args = array( |
|
| 257 | 257 | 'type' => 'string', |
| 258 | 258 | 'description' => $data->meta_description, |
| 259 | 259 | 'single' => true, |
| 260 | 260 | 'show_in_rest' => true, |
| 261 | 261 | ); |
| 262 | 262 | |
| 263 | - register_meta( 'post', $key, $args ); |
|
| 264 | - } |
|
| 263 | + register_meta( 'post', $key, $args ); |
|
| 264 | + } |
|
| 265 | 265 | |
| 266 | - } |
|
| 266 | + } |
|
| 267 | 267 | |
| 268 | - /** |
|
| 268 | + /** |
|
| 269 | 269 | * Register columns for podcast list table |
| 270 | 270 | * @param array $defaults Default columns |
| 271 | 271 | * @return array Modified columns |
@@ -282,12 +282,12 @@ discard block |
||
| 282 | 282 | return $columns; |
| 283 | 283 | } |
| 284 | 284 | |
| 285 | - /** |
|
| 286 | - * Display column data in podcast list table |
|
| 287 | - * @param string $column_name Name of current column |
|
| 288 | - * @param integer $id ID of episode |
|
| 289 | - * @return void |
|
| 290 | - */ |
|
| 285 | + /** |
|
| 286 | + * Display column data in podcast list table |
|
| 287 | + * @param string $column_name Name of current column |
|
| 288 | + * @param integer $id ID of episode |
|
| 289 | + * @return void |
|
| 290 | + */ |
|
| 291 | 291 | public function register_custom_columns( $column_name, $id ) { |
| 292 | 292 | global $ss_podcasting; |
| 293 | 293 | |
@@ -317,34 +317,34 @@ discard block |
||
| 317 | 317 | */ |
| 318 | 318 | public function edit_series_columns( $columns ) { |
| 319 | 319 | |
| 320 | - unset( $columns['description'] ); |
|
| 321 | - unset( $columns['posts'] ); |
|
| 320 | + unset( $columns['description'] ); |
|
| 321 | + unset( $columns['posts'] ); |
|
| 322 | 322 | |
| 323 | - $columns['series_feed_url'] = __( 'Series feed URL' , 'seriously-simple-podcasting' ); |
|
| 324 | - $columns['posts'] = __( 'Episodes' , 'seriously-simple-podcasting' ); |
|
| 323 | + $columns['series_feed_url'] = __( 'Series feed URL' , 'seriously-simple-podcasting' ); |
|
| 324 | + $columns['posts'] = __( 'Episodes' , 'seriously-simple-podcasting' ); |
|
| 325 | 325 | |
| 326 | - $columns = apply_filters( 'ssp_admin_columns_series', $columns ); |
|
| 326 | + $columns = apply_filters( 'ssp_admin_columns_series', $columns ); |
|
| 327 | 327 | |
| 328 | - return $columns; |
|
| 329 | - } |
|
| 328 | + return $columns; |
|
| 329 | + } |
|
| 330 | 330 | |
| 331 | - /** |
|
| 332 | - * Display column data in series list table |
|
| 333 | - * |
|
| 334 | - * @param string $column_data Default column content |
|
| 335 | - * @param string $column_name Name of current column |
|
| 336 | - * @param integer $term_id ID of term |
|
| 337 | - * |
|
| 338 | - * @return string |
|
| 339 | - */ |
|
| 340 | - public function add_series_columns( $column_data , $column_name , $term_id ) { |
|
| 331 | + /** |
|
| 332 | + * Display column data in series list table |
|
| 333 | + * |
|
| 334 | + * @param string $column_data Default column content |
|
| 335 | + * @param string $column_name Name of current column |
|
| 336 | + * @param integer $term_id ID of term |
|
| 337 | + * |
|
| 338 | + * @return string |
|
| 339 | + */ |
|
| 340 | + public function add_series_columns( $column_data , $column_name , $term_id ) { |
|
| 341 | 341 | |
| 342 | - switch ( $column_name ) { |
|
| 343 | - case 'series_feed_url': |
|
| 344 | - $series = get_term( $term_id, 'series' ); |
|
| 345 | - $series_slug = $series->slug; |
|
| 342 | + switch ( $column_name ) { |
|
| 343 | + case 'series_feed_url': |
|
| 344 | + $series = get_term( $term_id, 'series' ); |
|
| 345 | + $series_slug = $series->slug; |
|
| 346 | 346 | |
| 347 | - if ( get_option( 'permalink_structure' ) ) { |
|
| 347 | + if ( get_option( 'permalink_structure' ) ) { |
|
| 348 | 348 | $feed_slug = apply_filters( 'ssp_feed_slug', $this->token ); |
| 349 | 349 | $feed_url = $this->home_url . 'feed/' . $feed_slug . '/' . $series_slug; |
| 350 | 350 | } else { |
@@ -357,33 +357,33 @@ discard block |
||
| 357 | 357 | ); |
| 358 | 358 | } |
| 359 | 359 | |
| 360 | - $column_data = '<a href="' . esc_attr( $feed_url ) . '" target="_blank">' . esc_html( $feed_url ) . '</a>'; |
|
| 361 | - break; |
|
| 362 | - } |
|
| 360 | + $column_data = '<a href="' . esc_attr( $feed_url ) . '" target="_blank">' . esc_html( $feed_url ) . '</a>'; |
|
| 361 | + break; |
|
| 362 | + } |
|
| 363 | 363 | |
| 364 | - return $column_data; |
|
| 365 | - } |
|
| 364 | + return $column_data; |
|
| 365 | + } |
|
| 366 | 366 | |
| 367 | - /** |
|
| 368 | - * Create custom dashboard message |
|
| 369 | - * @param array $messages Default messages |
|
| 370 | - * @return array Modified messages |
|
| 371 | - */ |
|
| 367 | + /** |
|
| 368 | + * Create custom dashboard message |
|
| 369 | + * @param array $messages Default messages |
|
| 370 | + * @return array Modified messages |
|
| 371 | + */ |
|
| 372 | 372 | public function updated_messages( $messages ) { |
| 373 | 373 | global $post, $post_ID; |
| 374 | 374 | |
| 375 | 375 | $messages[ $this->token ] = array( |
| 376 | - 0 => '', |
|
| 377 | - 1 => sprintf( __( 'Episode updated. %sView episode%s.' , 'seriously-simple-podcasting' ), '<a href="' . esc_url( get_permalink( $post_ID ) ) . '">', '</a>' ), |
|
| 378 | - 2 => __( 'Custom field updated.' , 'seriously-simple-podcasting' ), |
|
| 379 | - 3 => __( 'Custom field deleted.' , 'seriously-simple-podcasting' ), |
|
| 380 | - 4 => __( 'Episode updated.' , 'seriously-simple-podcasting' ), |
|
| 381 | - 5 => isset($_GET['revision']) ? sprintf( __( 'Episode restored to revision from %s.' , 'seriously-simple-podcasting' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
| 382 | - 6 => sprintf( __( 'Episode published. %sView episode%s.' , 'seriously-simple-podcasting' ), '<a href="' . esc_url( get_permalink( $post_ID ) ) . '">', '</a>' ), |
|
| 383 | - 7 => __( 'Episode saved.' , 'seriously-simple-podcasting' ), |
|
| 384 | - 8 => sprintf( __( 'Episode submitted. %sPreview episode%s.' , 'seriously-simple-podcasting' ), '<a target="_blank" href="' . esc_url( add_query_arg( 'preview', 'true', get_permalink( $post_ID ) ) ) . '">', '</a>' ), |
|
| 385 | - 9 => sprintf( __( 'Episode scheduled for: %1$s. %2$sPreview episode%3$s.' , 'seriously-simple-podcasting' ), '<strong>' . date_i18n( __( 'M j, Y @ G:i' , 'seriously-simple-podcasting' ), strtotime( $post->post_date ) ) . '</strong>', '<a target="_blank" href="' . esc_url( get_permalink( $post_ID ) ) . '">', '</a>' ), |
|
| 386 | - 10 => sprintf( __( 'Episode draft updated. %sPreview episode%s.' , 'seriously-simple-podcasting' ), '<a target="_blank" href="' . esc_url( add_query_arg( 'preview', 'true', get_permalink( $post_ID ) ) ) . '">', '</a>' ), |
|
| 376 | + 0 => '', |
|
| 377 | + 1 => sprintf( __( 'Episode updated. %sView episode%s.' , 'seriously-simple-podcasting' ), '<a href="' . esc_url( get_permalink( $post_ID ) ) . '">', '</a>' ), |
|
| 378 | + 2 => __( 'Custom field updated.' , 'seriously-simple-podcasting' ), |
|
| 379 | + 3 => __( 'Custom field deleted.' , 'seriously-simple-podcasting' ), |
|
| 380 | + 4 => __( 'Episode updated.' , 'seriously-simple-podcasting' ), |
|
| 381 | + 5 => isset($_GET['revision']) ? sprintf( __( 'Episode restored to revision from %s.' , 'seriously-simple-podcasting' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
| 382 | + 6 => sprintf( __( 'Episode published. %sView episode%s.' , 'seriously-simple-podcasting' ), '<a href="' . esc_url( get_permalink( $post_ID ) ) . '">', '</a>' ), |
|
| 383 | + 7 => __( 'Episode saved.' , 'seriously-simple-podcasting' ), |
|
| 384 | + 8 => sprintf( __( 'Episode submitted. %sPreview episode%s.' , 'seriously-simple-podcasting' ), '<a target="_blank" href="' . esc_url( add_query_arg( 'preview', 'true', get_permalink( $post_ID ) ) ) . '">', '</a>' ), |
|
| 385 | + 9 => sprintf( __( 'Episode scheduled for: %1$s. %2$sPreview episode%3$s.' , 'seriously-simple-podcasting' ), '<strong>' . date_i18n( __( 'M j, Y @ G:i' , 'seriously-simple-podcasting' ), strtotime( $post->post_date ) ) . '</strong>', '<a target="_blank" href="' . esc_url( get_permalink( $post_ID ) ) . '">', '</a>' ), |
|
| 386 | + 10 => sprintf( __( 'Episode draft updated. %sPreview episode%s.' , 'seriously-simple-podcasting' ), '<a target="_blank" href="' . esc_url( add_query_arg( 'preview', 'true', get_permalink( $post_ID ) ) ) . '">', '</a>' ), |
|
| 387 | 387 | ); |
| 388 | 388 | |
| 389 | 389 | return $messages; |
@@ -651,67 +651,67 @@ discard block |
||
| 651 | 651 | |
| 652 | 652 | $fields['episode_type'] = array( |
| 653 | 653 | 'name' => __( 'Episode type:' , 'seriously-simple-podcasting' ), |
| 654 | - 'description' => '', |
|
| 655 | - 'type' => 'radio', |
|
| 656 | - 'default' => 'audio', |
|
| 657 | - 'options' => array( 'audio' => __( 'Audio', 'seriously-simple-podcasting' ), 'video' => __( 'Video', 'seriously-simple-podcasting' ) ), |
|
| 658 | - 'section' => 'info', |
|
| 659 | - 'meta_description' => __( 'The type of podcast episode - either Audio or Video', 'seriously-simple-podcasting' ), |
|
| 654 | + 'description' => '', |
|
| 655 | + 'type' => 'radio', |
|
| 656 | + 'default' => 'audio', |
|
| 657 | + 'options' => array( 'audio' => __( 'Audio', 'seriously-simple-podcasting' ), 'video' => __( 'Video', 'seriously-simple-podcasting' ) ), |
|
| 658 | + 'section' => 'info', |
|
| 659 | + 'meta_description' => __( 'The type of podcast episode - either Audio or Video', 'seriously-simple-podcasting' ), |
|
| 660 | 660 | ); |
| 661 | 661 | |
| 662 | 662 | // In v1.14+ the `audio_file` field can actually be either audio or video, but we're keeping the field name here for backwards compatibility |
| 663 | 663 | $fields['audio_file'] = array( |
| 664 | - 'name' => __( 'Podcast file:' , 'seriously-simple-podcasting' ), |
|
| 665 | - 'description' => __( 'Upload the primary podcast file or paste the file URL here.' , 'seriously-simple-podcasting' ), |
|
| 666 | - 'type' => 'file', |
|
| 667 | - 'default' => '', |
|
| 668 | - 'section' => 'info', |
|
| 669 | - 'meta_description' => __( 'The full URL for the podcast episode media file.', 'seriously-simple-podcasting' ), |
|
| 664 | + 'name' => __( 'Podcast file:' , 'seriously-simple-podcasting' ), |
|
| 665 | + 'description' => __( 'Upload the primary podcast file or paste the file URL here.' , 'seriously-simple-podcasting' ), |
|
| 666 | + 'type' => 'file', |
|
| 667 | + 'default' => '', |
|
| 668 | + 'section' => 'info', |
|
| 669 | + 'meta_description' => __( 'The full URL for the podcast episode media file.', 'seriously-simple-podcasting' ), |
|
| 670 | 670 | ); |
| 671 | 671 | |
| 672 | 672 | $fields['duration'] = array( |
| 673 | - 'name' => __( 'Duration:' , 'seriously-simple-podcasting' ), |
|
| 674 | - 'description' => __( 'Duration of podcast file for display (calculated automatically if possible).' , 'seriously-simple-podcasting' ), |
|
| 675 | - 'type' => 'text', |
|
| 676 | - 'default' => '', |
|
| 677 | - 'section' => 'info', |
|
| 678 | - 'meta_description' => __( 'The duration of the file for display purposes.', 'seriously-simple-podcasting' ), |
|
| 673 | + 'name' => __( 'Duration:' , 'seriously-simple-podcasting' ), |
|
| 674 | + 'description' => __( 'Duration of podcast file for display (calculated automatically if possible).' , 'seriously-simple-podcasting' ), |
|
| 675 | + 'type' => 'text', |
|
| 676 | + 'default' => '', |
|
| 677 | + 'section' => 'info', |
|
| 678 | + 'meta_description' => __( 'The duration of the file for display purposes.', 'seriously-simple-podcasting' ), |
|
| 679 | 679 | ); |
| 680 | 680 | |
| 681 | 681 | $fields['filesize'] = array( |
| 682 | - 'name' => __( 'File size:' , 'seriously-simple-podcasting' ), |
|
| 683 | - 'description' => __( 'Size of the podcast file for display (calculated automatically if possible).' , 'seriously-simple-podcasting' ), |
|
| 684 | - 'type' => 'text', |
|
| 685 | - 'default' => '', |
|
| 686 | - 'section' => 'info', |
|
| 687 | - 'meta_description' => __( 'The size of the podcast episode for display purposes.', 'seriously-simple-podcasting' ), |
|
| 682 | + 'name' => __( 'File size:' , 'seriously-simple-podcasting' ), |
|
| 683 | + 'description' => __( 'Size of the podcast file for display (calculated automatically if possible).' , 'seriously-simple-podcasting' ), |
|
| 684 | + 'type' => 'text', |
|
| 685 | + 'default' => '', |
|
| 686 | + 'section' => 'info', |
|
| 687 | + 'meta_description' => __( 'The size of the podcast episode for display purposes.', 'seriously-simple-podcasting' ), |
|
| 688 | 688 | ); |
| 689 | 689 | |
| 690 | 690 | $fields['date_recorded'] = array( |
| 691 | - 'name' => __( 'Date recorded:' , 'seriously-simple-podcasting' ), |
|
| 692 | - 'description' => __( 'The date on which this episode was recorded.' , 'seriously-simple-podcasting' ), |
|
| 693 | - 'type' => 'datepicker', |
|
| 694 | - 'default' => '', |
|
| 695 | - 'section' => 'info', |
|
| 696 | - 'meta_description' => __( 'The date on which the podcast episode was recorded.', 'seriously-simple-podcasting' ), |
|
| 691 | + 'name' => __( 'Date recorded:' , 'seriously-simple-podcasting' ), |
|
| 692 | + 'description' => __( 'The date on which this episode was recorded.' , 'seriously-simple-podcasting' ), |
|
| 693 | + 'type' => 'datepicker', |
|
| 694 | + 'default' => '', |
|
| 695 | + 'section' => 'info', |
|
| 696 | + 'meta_description' => __( 'The date on which the podcast episode was recorded.', 'seriously-simple-podcasting' ), |
|
| 697 | 697 | ); |
| 698 | 698 | |
| 699 | 699 | $fields['explicit'] = array( |
| 700 | - 'name' => __( 'Explicit:' , 'seriously-simple-podcasting' ), |
|
| 701 | - 'description' => __( 'Mark this episode as explicit.' , 'seriously-simple-podcasting' ), |
|
| 702 | - 'type' => 'checkbox', |
|
| 703 | - 'default' => '', |
|
| 704 | - 'section' => 'info', |
|
| 705 | - 'meta_description' => __( 'Indicates whether the episode is explicit or not.', 'seriously-simple-podcasting' ), |
|
| 700 | + 'name' => __( 'Explicit:' , 'seriously-simple-podcasting' ), |
|
| 701 | + 'description' => __( 'Mark this episode as explicit.' , 'seriously-simple-podcasting' ), |
|
| 702 | + 'type' => 'checkbox', |
|
| 703 | + 'default' => '', |
|
| 704 | + 'section' => 'info', |
|
| 705 | + 'meta_description' => __( 'Indicates whether the episode is explicit or not.', 'seriously-simple-podcasting' ), |
|
| 706 | 706 | ); |
| 707 | 707 | |
| 708 | 708 | $fields['block'] = array( |
| 709 | - 'name' => __( 'Block:' , 'seriously-simple-podcasting' ), |
|
| 710 | - 'description' => __( 'Block this episode from appearing in the iTunes & Google Play podcast libraries.' , 'seriously-simple-podcasting' ), |
|
| 711 | - 'type' => 'checkbox', |
|
| 712 | - 'default' => '', |
|
| 713 | - 'section' => 'info', |
|
| 714 | - 'meta_description' => __( 'Indicates whether this specific episode should be blocked from the iTunes and Google Play Podcast libraries.', 'seriously-simple-podcasting' ), |
|
| 709 | + 'name' => __( 'Block:' , 'seriously-simple-podcasting' ), |
|
| 710 | + 'description' => __( 'Block this episode from appearing in the iTunes & Google Play podcast libraries.' , 'seriously-simple-podcasting' ), |
|
| 711 | + 'type' => 'checkbox', |
|
| 712 | + 'default' => '', |
|
| 713 | + 'section' => 'info', |
|
| 714 | + 'meta_description' => __( 'Indicates whether this specific episode should be blocked from the iTunes and Google Play Podcast libraries.', 'seriously-simple-podcasting' ), |
|
| 715 | 715 | ); |
| 716 | 716 | |
| 717 | 717 | return apply_filters( 'ssp_episode_fields', $fields ); |
@@ -817,20 +817,20 @@ discard block |
||
| 817 | 817 | * @return void |
| 818 | 818 | */ |
| 819 | 819 | public function load_plugin_textdomain() { |
| 820 | - $domain = 'seriously-simple-podcasting'; |
|
| 821 | - // The "plugin_locale" filter is also used in load_plugin_textdomain() |
|
| 822 | - $locale = apply_filters( 'plugin_locale', get_locale(), $domain ); |
|
| 820 | + $domain = 'seriously-simple-podcasting'; |
|
| 821 | + // The "plugin_locale" filter is also used in load_plugin_textdomain() |
|
| 822 | + $locale = apply_filters( 'plugin_locale', get_locale(), $domain ); |
|
| 823 | 823 | |
| 824 | - load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' ); |
|
| 825 | - load_plugin_textdomain( $domain, false, dirname( plugin_basename( $this->file ) ) . '/lang/' ); |
|
| 824 | + load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' ); |
|
| 825 | + load_plugin_textdomain( $domain, false, dirname( plugin_basename( $this->file ) ) . '/lang/' ); |
|
| 826 | 826 | } |
| 827 | 827 | |
| 828 | - /** |
|
| 829 | - * Register podcast feed |
|
| 830 | - * @return void |
|
| 831 | - */ |
|
| 832 | - public function add_feed() { |
|
| 833 | - $feed_slug = apply_filters( 'ssp_feed_slug', $this->token ); |
|
| 828 | + /** |
|
| 829 | + * Register podcast feed |
|
| 830 | + * @return void |
|
| 831 | + */ |
|
| 832 | + public function add_feed() { |
|
| 833 | + $feed_slug = apply_filters( 'ssp_feed_slug', $this->token ); |
|
| 834 | 834 | add_feed( $feed_slug, array( $this, 'feed_template' ) ); |
| 835 | 835 | } |
| 836 | 836 | |
@@ -852,31 +852,31 @@ discard block |
||
| 852 | 852 | * Load feed template |
| 853 | 853 | * @return void |
| 854 | 854 | */ |
| 855 | - public function feed_template() { |
|
| 856 | - global $wp_query; |
|
| 855 | + public function feed_template() { |
|
| 856 | + global $wp_query; |
|
| 857 | 857 | |
| 858 | - // Prevent 404 on feed |
|
| 859 | - $wp_query->is_404 = false; |
|
| 860 | - status_header( 200 ); |
|
| 858 | + // Prevent 404 on feed |
|
| 859 | + $wp_query->is_404 = false; |
|
| 860 | + status_header( 200 ); |
|
| 861 | 861 | |
| 862 | - $file_name = 'feed-podcast.php'; |
|
| 862 | + $file_name = 'feed-podcast.php'; |
|
| 863 | 863 | |
| 864 | - $user_template_file = apply_filters( 'ssp_feed_template_file', trailingslashit( get_stylesheet_directory() ) . $file_name ); |
|
| 864 | + $user_template_file = apply_filters( 'ssp_feed_template_file', trailingslashit( get_stylesheet_directory() ) . $file_name ); |
|
| 865 | 865 | |
| 866 | 866 | // Any functions hooked in here must NOT output any data or else feed will break |
| 867 | 867 | do_action( 'ssp_before_feed' ); |
| 868 | 868 | |
| 869 | - // Load user feed template if it exists, otherwise use plugin template |
|
| 870 | - if ( file_exists( $user_template_file ) ) { |
|
| 871 | - require( $user_template_file ); |
|
| 872 | - } else { |
|
| 873 | - require( $this->template_path . $file_name ); |
|
| 874 | - } |
|
| 869 | + // Load user feed template if it exists, otherwise use plugin template |
|
| 870 | + if ( file_exists( $user_template_file ) ) { |
|
| 871 | + require( $user_template_file ); |
|
| 872 | + } else { |
|
| 873 | + require( $this->template_path . $file_name ); |
|
| 874 | + } |
|
| 875 | 875 | |
| 876 | - // Any functions hooked in here must NOT output any data or else feed will break |
|
| 877 | - do_action( 'ssp_after_feed' ); |
|
| 876 | + // Any functions hooked in here must NOT output any data or else feed will break |
|
| 877 | + do_action( 'ssp_after_feed' ); |
|
| 878 | 878 | |
| 879 | - exit; |
|
| 879 | + exit; |
|
| 880 | 880 | } |
| 881 | 881 | |
| 882 | 882 | /** |
@@ -29,7 +29,7 @@ discard block |
||
| 29 | 29 | |
| 30 | 30 | // Request password and give access if correct |
| 31 | 31 | if ( ! isset( $_SERVER['PHP_AUTH_USER'] ) && ! isset( $_SERVER['PHP_AUTH_PW'] ) ) { |
| 32 | - $give_access = false; |
|
| 32 | + $give_access = false; |
|
| 33 | 33 | } else { |
| 34 | 34 | $username = get_option( 'ss_podcasting_protection_username' ); |
| 35 | 35 | $password = get_option( 'ss_podcasting_protection_password' ); |
@@ -78,7 +78,7 @@ discard block |
||
| 78 | 78 | $no_access_message = '<div style="text-align:center;font-family:sans-serif;border:1px solid red;background:pink;padding:20px 0;color:red;">' . $message . '</div>'; |
| 79 | 79 | |
| 80 | 80 | header('WWW-Authenticate: Basic realm="Podcast Feed"'); |
| 81 | - header('HTTP/1.0 401 Unauthorized'); |
|
| 81 | + header('HTTP/1.0 401 Unauthorized'); |
|
| 82 | 82 | |
| 83 | 83 | die( $no_access_message ); |
| 84 | 84 | } |
@@ -559,11 +559,11 @@ discard block |
||
| 559 | 559 | |
| 560 | 560 | if ( $size ) { |
| 561 | 561 | |
| 562 | - $base = log ( $size ) / log( 1024 ); |
|
| 563 | - $suffixes = array( '' , 'k' , 'M' , 'G' , 'T' ); |
|
| 564 | - $formatted_size = round( pow( 1024 , $base - floor( $base ) ) , $precision ) . $suffixes[ floor( $base ) ]; |
|
| 562 | + $base = log ( $size ) / log( 1024 ); |
|
| 563 | + $suffixes = array( '' , 'k' , 'M' , 'G' , 'T' ); |
|
| 564 | + $formatted_size = round( pow( 1024 , $base - floor( $base ) ) , $precision ) . $suffixes[ floor( $base ) ]; |
|
| 565 | 565 | |
| 566 | - return apply_filters( 'ssp_file_size_formatted', $formatted_size, $size ); |
|
| 566 | + return apply_filters( 'ssp_file_size_formatted', $formatted_size, $size ); |
|
| 567 | 567 | } |
| 568 | 568 | |
| 569 | 569 | return false; |
@@ -665,7 +665,7 @@ discard block |
||
| 665 | 665 | wp_cache_set( $key, $mime, 'mime-type', DAY_IN_SECONDS ); |
| 666 | 666 | } |
| 667 | 667 | |
| 668 | - return $mime; |
|
| 668 | + return $mime; |
|
| 669 | 669 | } |
| 670 | 670 | |
| 671 | 671 | return false; |
@@ -799,15 +799,15 @@ discard block |
||
| 799 | 799 | foreach ( $terms as $term ) { |
| 800 | 800 | $query[ $term->term_id ] = new stdClass(); |
| 801 | 801 | $query[ $term->term_id ]->title = $term->name; |
| 802 | - $query[ $term->term_id ]->url = get_term_link( $term ); |
|
| 802 | + $query[ $term->term_id ]->url = get_term_link( $term ); |
|
| 803 | 803 | |
| 804 | - $query_args = apply_filters( 'ssp_get_podcast_series_query_args', ssp_episodes( -1, $term->slug, true, '' ) ); |
|
| 804 | + $query_args = apply_filters( 'ssp_get_podcast_series_query_args', ssp_episodes( -1, $term->slug, true, '' ) ); |
|
| 805 | 805 | |
| 806 | - $posts = get_posts( $query_args ); |
|
| 806 | + $posts = get_posts( $query_args ); |
|
| 807 | 807 | |
| 808 | - $count = count( $posts ); |
|
| 809 | - $query[ $term->term_id ]->count = $count; |
|
| 810 | - } |
|
| 808 | + $count = count( $posts ); |
|
| 809 | + $query[ $term->term_id ]->count = $count; |
|
| 810 | + } |
|
| 811 | 811 | } |
| 812 | 812 | |
| 813 | 813 | } |
@@ -918,18 +918,18 @@ discard block |
||
| 918 | 918 | } |
| 919 | 919 | |
| 920 | 920 | // Allow other actions - functions hooked on here must not output any data |
| 921 | - do_action( 'ssp_file_download', $file, $episode, $referrer ); |
|
| 921 | + do_action( 'ssp_file_download', $file, $episode, $referrer ); |
|
| 922 | 922 | |
| 923 | - // Set necessary headers |
|
| 923 | + // Set necessary headers |
|
| 924 | 924 | header( "Pragma: no-cache" ); |
| 925 | 925 | header( "Expires: 0" ); |
| 926 | 926 | header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); |
| 927 | 927 | header( "Robots: none" ); |
| 928 | 928 | |
| 929 | - // Check file referrer |
|
| 930 | - if( 'download' == $referrer ) { |
|
| 929 | + // Check file referrer |
|
| 930 | + if( 'download' == $referrer ) { |
|
| 931 | 931 | |
| 932 | - // Set size of file |
|
| 932 | + // Set size of file |
|
| 933 | 933 | // Do we have anything in Cache/DB? |
| 934 | 934 | $size = wp_cache_get( $episode_id, 'filesize_raw' ); |
| 935 | 935 | |
@@ -956,22 +956,22 @@ discard block |
||
| 956 | 956 | } |
| 957 | 957 | |
| 958 | 958 | // Send Content-Length header |
| 959 | - if ( ! empty( $size ) ) { |
|
| 959 | + if ( ! empty( $size ) ) { |
|
| 960 | 960 | header( "Content-Length: " . $size ); |
| 961 | 961 | } |
| 962 | 962 | |
| 963 | - // Force file download |
|
| 964 | - header( "Content-Type: application/force-download" ); |
|
| 963 | + // Force file download |
|
| 964 | + header( "Content-Type: application/force-download" ); |
|
| 965 | 965 | |
| 966 | - // Set other relevant headers |
|
| 967 | - header( "Content-Description: File Transfer" ); |
|
| 968 | - header( "Content-Disposition: attachment; filename=\"" . basename( $file ) . "\";" ); |
|
| 969 | - header( "Content-Transfer-Encoding: binary" ); |
|
| 966 | + // Set other relevant headers |
|
| 967 | + header( "Content-Description: File Transfer" ); |
|
| 968 | + header( "Content-Disposition: attachment; filename=\"" . basename( $file ) . "\";" ); |
|
| 969 | + header( "Content-Transfer-Encoding: binary" ); |
|
| 970 | 970 | |
| 971 | - // Encode spaces in file names until this is fixed in core (https://core.trac.wordpress.org/ticket/36998) |
|
| 971 | + // Encode spaces in file names until this is fixed in core (https://core.trac.wordpress.org/ticket/36998) |
|
| 972 | 972 | $file = str_replace( ' ', '%20', $file ); |
| 973 | 973 | |
| 974 | - // Use ssp_readfile_chunked() if allowed on the server or simply access file directly |
|
| 974 | + // Use ssp_readfile_chunked() if allowed on the server or simply access file directly |
|
| 975 | 975 | @ssp_readfile_chunked( $file ) or header( 'Location: ' . $file ); |
| 976 | 976 | } else { |
| 977 | 977 | |
@@ -1090,34 +1090,34 @@ discard block |
||
| 1090 | 1090 | public function podcast_episode_shortcode ( $params ) { |
| 1091 | 1091 | |
| 1092 | 1092 | $atts = shortcode_atts( array( |
| 1093 | - 'episode' => 0, |
|
| 1094 | - 'content' => 'title,player,details', |
|
| 1095 | - ), $params ); |
|
| 1093 | + 'episode' => 0, |
|
| 1094 | + 'content' => 'title,player,details', |
|
| 1095 | + ), $params ); |
|
| 1096 | 1096 | |
| 1097 | 1097 | extract( $atts ); |
| 1098 | 1098 | |
| 1099 | 1099 | // If no episode ID is specified then use the current post's ID |
| 1100 | - if ( ! $episode ) { |
|
| 1100 | + if ( ! $episode ) { |
|
| 1101 | 1101 | |
| 1102 | - global $post; |
|
| 1103 | - if( isset( $post->ID ) ) { |
|
| 1104 | - $episode = intval( $post->ID ); |
|
| 1105 | - } |
|
| 1102 | + global $post; |
|
| 1103 | + if( isset( $post->ID ) ) { |
|
| 1104 | + $episode = intval( $post->ID ); |
|
| 1105 | + } |
|
| 1106 | 1106 | |
| 1107 | - if ( ! $episode ) { |
|
| 1108 | - return; |
|
| 1109 | - } |
|
| 1107 | + if ( ! $episode ) { |
|
| 1108 | + return; |
|
| 1109 | + } |
|
| 1110 | 1110 | |
| 1111 | - } |
|
| 1111 | + } |
|
| 1112 | 1112 | |
| 1113 | - // Setup array of content items and trim whitespace |
|
| 1114 | - $content_items = explode( ',', $content ); |
|
| 1115 | - $content_items = array_map( 'trim', $content_items ); |
|
| 1113 | + // Setup array of content items and trim whitespace |
|
| 1114 | + $content_items = explode( ',', $content ); |
|
| 1115 | + $content_items = array_map( 'trim', $content_items ); |
|
| 1116 | 1116 | |
| 1117 | - // Get episode for display |
|
| 1118 | - $html = $this->podcast_episode( $episode, $content_items, 'shortcode' ); |
|
| 1117 | + // Get episode for display |
|
| 1118 | + $html = $this->podcast_episode( $episode, $content_items, 'shortcode' ); |
|
| 1119 | 1119 | |
| 1120 | - return $html; |
|
| 1120 | + return $html; |
|
| 1121 | 1121 | |
| 1122 | 1122 | } |
| 1123 | 1123 | |
@@ -1171,7 +1171,7 @@ discard block |
||
| 1171 | 1171 | if ( get_option( 'permalink_structure' ) ) { |
| 1172 | 1172 | $file = $this->get_episode_download_link( $episode_id ); |
| 1173 | 1173 | } |
| 1174 | - $html .= '<div class="podcast_player">' . $this->media_player( $file, $episode_id ) . '</div>' . "\n"; |
|
| 1174 | + $html .= '<div class="podcast_player">' . $this->media_player( $file, $episode_id ) . '</div>' . "\n"; |
|
| 1175 | 1175 | break; |
| 1176 | 1176 | |
| 1177 | 1177 | case 'details': |
@@ -1186,7 +1186,7 @@ discard block |
||
| 1186 | 1186 | |
| 1187 | 1187 | $html .= '</div>' . "\n"; |
| 1188 | 1188 | |
| 1189 | - return $html; |
|
| 1189 | + return $html; |
|
| 1190 | 1190 | } |
| 1191 | 1191 | |
| 1192 | 1192 | /** |