Move default setting values from Setting model to new controller

[MAILPOET-1757]
This commit is contained in:
Rostislav Wolny
2019-01-30 17:31:54 +01:00
parent 62dca415d4
commit 2c921a16aa
4 changed files with 18 additions and 106 deletions

View File

@ -10,8 +10,6 @@ if(!defined('ABSPATH')) exit;
class Setting extends Model {
public static $_table = MP_SETTINGS_TABLE;
public static $defaults = null;
const DEFAULT_SENDING_METHOD_GROUP = 'website';
const DEFAULT_SENDING_METHOD = 'PHPMail';
const DEFAULT_SENDING_FREQUENCY_EMAILS = 25;
@ -25,64 +23,15 @@ class Setting extends Model {
));
}
public static function getDefaults() {
if(self::$defaults === null) {
self::loadDefaults();
}
return self::$defaults;
}
public static function loadDefaults() {
self::$defaults = array(
'mta_group' => self::DEFAULT_SENDING_METHOD_GROUP,
'mta' => array(
'method' => self::DEFAULT_SENDING_METHOD,
'frequency' => array(
'emails' => self::DEFAULT_SENDING_FREQUENCY_EMAILS,
'interval' => self::DEFAULT_SENDING_FREQUENCY_INTERVAL
)
),
CronTrigger::SETTING_NAME => array(
'method' => CronTrigger::DEFAULT_METHOD
),
'signup_confirmation' => array(
'enabled' => true,
'subject' => sprintf(__('Confirm your subscription to %1$s', 'mailpoet'), get_option('blogname')),
'body' => __("Hello,\n\nWelcome to our newsletter!\n\nPlease confirm your subscription to the list(s): [lists_to_confirm] by clicking the link below: \n\n[activation_link]Click here to confirm your subscription.[/activation_link]\n\nThank you,\n\nThe Team", 'mailpoet')
),
'tracking' => array(
'enabled' => true
),
'analytics' => array(
'enabled' => false,
),
'in_app_announcements' => [
'displayed' => []
],
'display_nps_poll' => true,
);
}
public static function getValue($key, $default = null) {
$defaults = self::getDefaults();
public static function getValue($key) {
$setting = Setting::where('name', $key)->findOne();
if($setting === false) {
if($default === null && array_key_exists($key, $defaults)) {
return $defaults[$key];
} else {
return $default;
}
return null;
}
if(is_serialized($setting->value)) {
return unserialize($setting->value);
} else {
if(is_serialized($setting->value)) {
$value = unserialize($setting->value);
} else {
$value = $setting->value;
}
if(is_array($value) && array_key_exists($key, $defaults)) {
return array_replace_recursive($defaults[$key], $value);
} else {
return $value;
}
return $setting->value;
}
}
@ -111,7 +60,7 @@ class Setting extends Model {
$settings[$setting->name] = $value;
}
}
return array_replace_recursive(self::getDefaults(), $settings);
return $settings;
}
public static function createOrUpdate($data = array()) {