Skip to content

Commit ce4015f

Browse files
committed
Add settings for video, audio, and playlist replacements.
1 parent ba12bb0 commit ce4015f

File tree

1 file changed

+54
-6
lines changed

1 file changed

+54
-6
lines changed

src/inc/settings.php

Lines changed: 54 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,11 @@ function ableplayer_update_options( $settings ) {
235235
if ( empty( $settings ) ) {
236236
return false;
237237
}
238-
$options = get_option( 'ableplayer_settings' );
238+
$defaults = ableplayer_default_settings();
239+
$options = get_option( 'ableplayer_settings', ableplayer_default_settings() );
240+
if ( ! is_array( $options ) ) {
241+
$options = $defaults;
242+
}
239243
$settings = array_merge( $options, $settings );
240244

241245
return update_option( 'ableplayer_settings', $settings );
@@ -247,8 +251,14 @@ function ableplayer_update_options( $settings ) {
247251
* @param array $post POST data.
248252
*/
249253
function ableplayer_update_settings( $post ) {
250-
$setting = ( ! empty( $post['example'] ) && 'on' === $post['example'] ) ? 'true' : 'false';
251-
$settings['api_enabled'] = $setting;
254+
$settings = array();
255+
$replace_video = ( ! empty( $post['replace_video'] ) && 'on' === $post['replace_video'] ) ? 'true' : 'false';
256+
$replace_audio = ( ! empty( $post['replace_audio'] ) && 'on' === $post['replace_audio'] ) ? 'true' : 'false';
257+
$replace_playlists = ( ! empty( $post['replace_playlists'] ) && 'on' === $post['replace_playlists'] ) ? 'true' : 'false';
258+
259+
$settings['replace_video'] = $replace_video;
260+
$settings['replace_audio'] = $replace_audio;
261+
$settings['replace_playlists'] = $replace_playlists;
252262

253263
ableplayer_update_options( $settings );
254264
}
@@ -290,7 +300,39 @@ function ableplayer_settings_form() {
290300
<div class="inside">
291301
<form method="post" action="<?php echo esc_url( admin_url( 'admin.php?page=ableplayer#ableplayer-settings' ) ); ?>">
292302
<input type="hidden" name="_wpnonce" value="<?php echo esc_attr( wp_create_nonce( 'ableplayer-nonce' ) ); ?>" />
293-
303+
<p>
304+
<?php
305+
ableplayer_settings_field(
306+
array(
307+
'name' => 'replace_video',
308+
'label' => __( 'Use Able Player for all <code>video</code> elements.', 'ableplayer' ),
309+
'type' => 'checkbox-single',
310+
)
311+
);
312+
?>
313+
</p>
314+
<p>
315+
<?php
316+
ableplayer_settings_field(
317+
array(
318+
'name' => 'replace_audio',
319+
'label' => __( 'Use Able Player for all <code>audio</code> elements.', 'ableplayer' ),
320+
'type' => 'checkbox-single',
321+
)
322+
);
323+
?>
324+
</p>
325+
<p>
326+
<?php
327+
ableplayer_settings_field(
328+
array(
329+
'name' => 'replace_playlists',
330+
'label' => __( 'Use Able Player for WordPress media playlists.', 'ableplayer' ),
331+
'type' => 'checkbox-single',
332+
)
333+
);
334+
?>
335+
</p>
294336
<p>
295337
<input type="submit" name="ableplayer_settings" class="button-primary" value="<?php esc_html_e( 'Save Settings', 'ableplayer' ); ?>"/>
296338
</p>
@@ -351,7 +393,7 @@ function ableplayer_show_sidebar() {
351393
// Translators: URL for AblePlayer github docs.
352394
echo wp_kses_post( sprintf( __( 'Learn more about the <a href="%s">AblePlayer accessible media player</a>.', 'ableplayer' ), 'https://ableplayer.github.io/ableplayer/' ) );
353395
// Translators: URL for Joe Dolson donate page.
354-
echo wp_kses_post( sprintf( __( '<a href="%s">Support Joe Dolson</a>, AblePlayer lead developer.', 'ableplayer' ), 'https://www.joedolson.com/donate/' ) );
396+
echo ' ' . wp_kses_post( sprintf( __( 'Help support Able Player! <a href="%s">Sponsor Joe Dolson</a>, AblePlayer lead developer.', 'ableplayer' ), 'https://www.joedolson.com/donate/' ) );
355397
?>
356398
</p>
357399
<ul class="ableplayer-flex ableplayer-social">
@@ -386,5 +428,11 @@ function ableplayer_show_sidebar() {
386428
* @return array
387429
*/
388430
function ableplayer_default_settings() {
389-
return array();
431+
$settings = array(
432+
'replace_video' => 'false',
433+
'replace_audio' => 'false',
434+
'replace_playlists' => 'false',
435+
);
436+
437+
return $settings;
390438
}

0 commit comments

Comments
 (0)