diff --git a/source/changelog.txt b/source/changelog.txt index d2b6674..0333ac5 100644 --- a/source/changelog.txt +++ b/source/changelog.txt @@ -9,6 +9,7 @@ - Use date and time formats from general site settings #### Deprecated #### Removed +- Removed option "Display named offset" #### Fixed - Show group not found error message in block #### Security diff --git a/source/connector-mobilizon.php b/source/connector-mobilizon.php index 7c853e1..70e9317 100644 --- a/source/connector-mobilizon.php +++ b/source/connector-mobilizon.php @@ -74,11 +74,11 @@ final class Mobilizon_Connector { public function enable_activation() { MobilizonConnector\Settings::setDefaultOptions(); + MobilizonConnector\Settings::removeObsoleteOptionsIfNeeded(); } private function load_settings_globally_before_script($scriptName) { $settings = array( - 'isShortOffsetNameShown' => MobilizonConnector\Settings::isShortOffsetNameShown(), 'locale' => str_replace('_', '-', get_locale()), 'timeZone' => wp_timezone_string(), 'url' => MobilizonConnector\Settings::getUrl() diff --git a/source/front/events-displayer.js b/source/front/events-displayer.js index 62fd252..060fce3 100644 --- a/source/front/events-displayer.js +++ b/source/front/events-displayer.js @@ -10,7 +10,7 @@ export function displayEvents({ events, document, container, maxEventsCount }) { hideLoadingIndicator(container) const isShortOffsetNameShown = - window.MOBILIZON_CONNECTOR.isShortOffsetNameShown + window.MOBILIZON_CONNECTOR.isShortOffsetNameShown || false // TODO remove const locale = window.MOBILIZON_CONNECTOR.locale const timeZone = window.MOBILIZON_CONNECTOR.timeZone diff --git a/source/front/formatter.js b/source/front/formatter.js index 5deda7c..9180502 100644 --- a/source/front/formatter.js +++ b/source/front/formatter.js @@ -8,6 +8,7 @@ export default class Formatter { } static formatDate({ locale, timeZone, start, end, isShortOffsetNameShown }) { + // TODO also use WP general site settings const startDateTime = new DateTimeWrapper({ locale, text: start, diff --git a/source/includes/Constants.php b/source/includes/Constants.php index b48e68c..d2a8e0c 100644 --- a/source/includes/Constants.php +++ b/source/includes/Constants.php @@ -4,3 +4,4 @@ namespace MobilizonConnector; const DEFAULT_EVENTS_COUNT = 5; const NAME = ''; const NICE_NAME = ''; +const PLUGIN_VERSION = ''; diff --git a/source/includes/Settings.php b/source/includes/Settings.php index 6a2d1d9..f26addd 100644 --- a/source/includes/Settings.php +++ b/source/includes/Settings.php @@ -4,12 +4,11 @@ namespace MobilizonConnector; class Settings { private static $DEFAULT_OPTION_URL = 'https://mobilizon.fr'; - private static $DEFAULT_IS_SHORT_OFFSET_NAME_SHOWN = false; private static $PAGE_NAME = 'wordpress_mobilizon'; private static $OPTIONS_GROUP_NAME = 'wordpress_mobilizon'; private static $OPTION_NAME_IS_SHORT_OFFSET_NAME_SHOWN = 'wordpress_mobilizon_is_short_offset_name_shown'; + private static $OPTION_NAME_PLUGIN_VERSION = 'wordpress_mobilizon_plugin_version'; private static $OPTION_NAME_URL = 'wordpress_mobilizon_url'; - private static $SETTING_FIELD_NAME_IS_SHORT_OFFSET_NAME_SHOWN = 'wordpress_mobilizon_field_is_short_offset_name_shown'; private static $SETTING_FIELD_NAME_URL = 'wordpress_mobilizon_field_url'; private static $SETTINGS_SECTION_NAME = 'wordpress_mobilizon_section_general'; @@ -19,10 +18,6 @@ class Settings { } public static function init_settings() { - register_setting( - self::$OPTIONS_GROUP_NAME, - self::$OPTION_NAME_IS_SHORT_OFFSET_NAME_SHOWN - ); register_setting( self::$OPTIONS_GROUP_NAME, self::$OPTION_NAME_URL, @@ -46,21 +41,6 @@ class Settings { 'label_for' => self::$SETTING_FIELD_NAME_URL ) ); - add_settings_field( // TODO remove - self::$SETTING_FIELD_NAME_IS_SHORT_OFFSET_NAME_SHOWN, - esc_html__('Display named offset', 'connector-mobilizon'), - 'MobilizonConnector\Settings::output_field_is_short_offset_name_shown', - self::$PAGE_NAME, - self::$SETTINGS_SECTION_NAME, - array( - 'label_for' => self::$SETTING_FIELD_NAME_IS_SHORT_OFFSET_NAME_SHOWN - ) - ); - } - - public static function output_field_is_short_offset_name_shown($args) { - $isShortOffsetNameShown = self::isShortOffsetNameShown(); - require dirname(__DIR__) . '/view/settings/is-short-offset-name-shown-field.php'; } public static function output_field_url($args) { @@ -101,22 +81,26 @@ class Settings { require dirname(__DIR__) . '/view/settings/page.php'; } - public static function isShortOffsetNameShown() { - return get_option(self::$OPTION_NAME_IS_SHORT_OFFSET_NAME_SHOWN); - } - public static function getUrl() { return get_option(self::$OPTION_NAME_URL); } public static function setDefaultOptions() { - add_option(self::$OPTION_NAME_IS_SHORT_OFFSET_NAME_SHOWN, self::$DEFAULT_IS_SHORT_OFFSET_NAME_SHOWN); add_option(self::$OPTION_NAME_URL, self::$DEFAULT_OPTION_URL); } public static function deleteAllOptions() { - delete_option(self::$OPTION_NAME_IS_SHORT_OFFSET_NAME_SHOWN); delete_option(self::$OPTION_NAME_URL); } + public static function removeObsoleteOptionsIfNeeded() { + $storedPluginVersion = get_option(self::$OPTION_NAME_PLUGIN_VERSION); + if ($storedPluginVersion !== PLUGIN_VERSION) { + if (version_compare($storedPluginVersion, '1.5.0', '<') ) { + delete_option(self::$OPTION_NAME_IS_SHORT_OFFSET_NAME_SHOWN); + } + update_option(self::$OPTION_NAME_PLUGIN_VERSION, PLUGIN_VERSION); + } + } + } diff --git a/source/view/settings/is-short-offset-name-shown-field.php b/source/view/settings/is-short-offset-name-shown-field.php deleted file mode 100644 index 424a011..0000000 --- a/source/view/settings/is-short-offset-name-shown-field.php +++ /dev/null @@ -1,15 +0,0 @@ - -> -

- -