From d0ceb60a374554f960931c3661e23e029fe93efc Mon Sep 17 00:00:00 2001 From: Jonathan Daggerhart Date: Tue, 22 Sep 2015 11:23:10 -0400 Subject: [PATCH] settings upgrade to follow refactoring --- includes/openid-connect-generic-settings-page.php | 5 +++++ includes/wp-option-settings.php | 8 ++++++++ openid-connect-generic.php | 13 ++++++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/includes/openid-connect-generic-settings-page.php b/includes/openid-connect-generic-settings-page.php index cc88057..8c09bf3 100644 --- a/includes/openid-connect-generic-settings-page.php +++ b/includes/openid-connect-generic-settings-page.php @@ -257,6 +257,11 @@ class OpenID_Connect_Generic_Settings_Page { settings_fields( $this->settings_field_group ); do_settings_sections( $this->options_page_name ); submit_button(); + + // simple debug to view settings array + if ( isset( $_GET['debug'] ) ) { + var_dump( $this->settings->get_values() ); + } ?> diff --git a/includes/wp-option-settings.php b/includes/wp-option-settings.php index 9fe1a04..82739cc 100644 --- a/includes/wp-option-settings.php +++ b/includes/wp-option-settings.php @@ -37,6 +37,14 @@ class WP_Option_Settings { return isset( $this->values[ $key ] ); } + function __unset( $key ){ + unset( $this->values[ $key ]); + } + + function get_values(){ + return $this->values; + } + function get_option_name() { return $this->option_name; } diff --git a/openid-connect-generic.php b/openid-connect-generic.php index 0428494..0c00d11 100644 --- a/openid-connect-generic.php +++ b/openid-connect-generic.php @@ -121,11 +121,22 @@ class OpenID_Connect_Generic { * Handle plugin upgrades */ function upgrade(){ - $last_version = get_option( 'openid-connect-generic-plugin-version', self::VERSION ); + $last_version = get_option( 'openid-connect-generic-plugin-version', 0 ); + $settings = $this->settings; if ( version_compare( self::VERSION, $last_version, '>' ) ) { // upgrade required + // @todo move this to another file for upgrade scripts + if ( isset( $settings->ep_login ) ) { + $settings->endpoint_login = $settings->ep_login; + $settings->endpoint_token = $settings->ep_token; + $settings->endpoint_userinfo = $settings->ep_userinfo; + + unset( $settings->ep_login, $settings->ep_token, $settings->ep_userinfo ); + $settings->save(); + } + // update the stored version number update_option( 'openid-connect-generic-plugin-version', self::VERSION ); }