Added system of measurement to settings page

This commit is contained in:
Justin Foell
2013-02-17 22:14:10 -06:00
parent cfa7b083f9
commit 8d511f72ec
4 changed files with 51 additions and 22 deletions
+35 -7
View File
@@ -18,24 +18,32 @@ class WPStrava_Settings {
public function register_strava_settings() {
register_setting('wp-strava-settings-group','strava_email', array( $this, 'sanitize_email' ) );
register_setting('wp-strava-settings-group','strava_password', '__return_null' );
register_setting('wp-strava-settings-group','strava_password', NULL );
register_setting('wp-strava-settings-group','strava_token', array( $this, 'sanitize_token' ) );
add_settings_section( 'strava_api', NULL, '__return_null', 'wp-strava' ); //NULL / __return_null no section label needed
add_settings_section( 'strava_api', __( 'Strava API', 'wp-strava' ), array( $this, 'print_api_instructions' ), 'wp-strava' ); //NULL / NULL no section label needed
add_settings_field( 'strava_email', __( 'Strava Email', 'wp-strava' ), array( $this, 'print_email_input' ), 'wp-strava', 'strava_api' );
add_settings_field( 'strava_password', __( 'Strava Password', 'wp-strava' ), array( $this, 'print_password_input' ), 'wp-strava', 'strava_api' );
add_settings_field( 'strava_token', __( 'Strava Token', 'wp-strava' ), array( $this, 'print_token_input' ), 'wp-strava', 'strava_api' );
register_setting('wp-strava-settings-group','strava_som', array( $this, 'sanitize_som' ) );
add_settings_section( 'strava_options', __( 'Options', 'wp-strava' ), NULL, 'wp-strava' );
add_settings_field( 'strava_som', __( 'System of Measurement', 'wp-strava' ), array( $this, 'print_som_input' ), 'wp-strava', 'strava_options' );
}
public function print_api_instructions() {
?><p><?php _e( 'Please specify the options below in order to obtain an authentication token, this will work with the Strava shortcodes supported by this plugin, the widget options are independant.', 'wp-strava');?> </p><?php
}
public function print_strava_options() {
?>
<div class="wrap">
<div id="icon-options-general" class="icon32"><br/></div>
<h2><?php _e( 'Strava Options', 'wp-strava' ); ?></h2>
<p><?php _e( 'Please specify the options below in order to obtain an authentication token, this will work with the Strava shortcodes supported by this plugin, the widget options are independant.', 'wp-strava');?> </p>
<h2><?php _e( 'Strava Settings', 'wp-strava' ); ?></h2>
<form method="post" action="<?php echo admin_url( 'options.php' ); ?>">
<?php settings_fields( 'wp-strava-settings-group' ); ?>
<?php do_settings_sections( 'wp-strava' ); ?>
@@ -88,5 +96,25 @@ class WPStrava_Settings {
return $token;
}
}
public function print_options_label() {
?><p>Options</p><?php
}
public function print_som_input() {
$strava_som = get_option( 'strava_som' );
?>
<select id="strava_som" name="strava_som">
<option value="metric" <?php selected( $strava_som, 'metric' ); ?>><?php _e( 'Metric', 'wp-strava' )?></option>
<option value="english" <?php selected( $strava_som, 'english' ); ?>><?php _e( 'English', 'wp-strava' )?></option>
</select>
<?php
}
public function sanitize_som( $som ) {
return $som;
}
public function __get( $name ) {
return get_option( "strava_{$name}" );
}
}