PluginProbe ʕ •ᴥ•ʔ
WP 2FA – Two-factor authentication for WordPress / 1.7.0
WP 2FA – Two-factor authentication for WordPress v1.7.0
4.1.0 4.0.0 1.7.1 2.0.0 2.0.1 2.1.0 2.2.0 2.2.1 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.8.0 2.9.0 2.9.1 2.9.2 2.9.3 3.0.0 3.0.1 3.1.0 3.1.1 3.1.1.2 trunk 1.2.0 1.3.0 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.6.0 1.6.1 1.6.2 1.7.0
wp-2fa / includes / classes / Utils / SettingsUtils.php
wp-2fa / includes / classes / Utils Last commit date
AbstractMigration.php 5 years ago DateTimeUtils.php 5 years ago Debugging.php 5 years ago GenerateModal.php 5 years ago Migration.php 5 years ago SettingsUtils.php 5 years ago UserUtils.php 5 years ago index.php 5 years ago
SettingsUtils.php
50 lines
1 <?php
2 namespace WP2FA\Utils;
3
4 use WP2FA\WP2FA as WP2FA;
5
6 /**
7 * Utility class hanlding settings CRUD.
8 *
9 * @package WP2FA\Utils
10 * @since 1.7.0
11 */
12 class SettingsUtils {
13
14 /**
15 * Creates a hash based on the passed settings array.
16 *
17 * @param array $settings - Settings array.
18 * @return string
19 */
20 public static function create_settings_hash( $settings ) {
21 return md5( json_encode( $settings ) );
22 }
23
24 public static function get_option( $setting_name, $default_value = false ) {
25 $prefixed_setting_name = self::setting_prefixer( $setting_name );
26 return ( WP2FA::is_this_multisite() ) ? get_network_option( null, $prefixed_setting_name, $default_value ) : get_option( $prefixed_setting_name, $default_value );
27 }
28
29 public static function update_option( $setting_name, $new_value ) {
30 $prefixed_setting_name = self::setting_prefixer( $setting_name );
31 return ( WP2FA::is_this_multisite() ) ? update_network_option( null, $prefixed_setting_name, $new_value ) : update_option( $prefixed_setting_name, $new_value, true );
32 }
33
34 public static function delete_option( $setting_name ) {
35 $prefixed_setting_name = self::setting_prefixer( $setting_name );
36 return ( WP2FA::is_this_multisite() ) ? delete_network_option( null, $prefixed_setting_name ) : delete_option( $prefixed_setting_name );
37 }
38
39 /**
40 * Created a prefixed setting name from suppplied string.
41 *
42 * @param string $setting_name
43 * @return string
44 */
45 private static function setting_prefixer( $setting_name ) {
46 // Ensure we have not already been passed a prefixed setting name.
47 return ( strpos( $setting_name, 'wp_2fa_' ) === 0 ) ? $setting_name : WP_2FA_PREFIX . $setting_name;
48 }
49 }
50