triming settings values
This commit is contained in:
@ -2,6 +2,7 @@
|
|||||||
namespace MailPoet\Models;
|
namespace MailPoet\Models;
|
||||||
|
|
||||||
use MailPoet\Cron\CronTrigger;
|
use MailPoet\Cron\CronTrigger;
|
||||||
|
use MailPoet\Util\Helpers;
|
||||||
|
|
||||||
if(!defined('ABSPATH')) exit;
|
if(!defined('ABSPATH')) exit;
|
||||||
|
|
||||||
@ -106,6 +107,7 @@ class Setting extends Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static function setValue($key, $value) {
|
public static function setValue($key, $value) {
|
||||||
|
$value = Helpers::recursiveTrim($value);
|
||||||
$keys = explode('.', $key);
|
$keys = explode('.', $key);
|
||||||
|
|
||||||
if(count($keys) === 1) {
|
if(count($keys) === 1) {
|
||||||
|
@ -87,4 +87,12 @@ class Helpers {
|
|||||||
: null;
|
: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static function recursiveTrim($value) {
|
||||||
|
if(is_array($value))
|
||||||
|
return array_map([__CLASS__, 'recursiveTrim'], $value);
|
||||||
|
if(is_string($value))
|
||||||
|
return trim($value);
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ class SettingTest extends \MailPoetTest {
|
|||||||
expect($setting)->equals('default_value');
|
expect($setting)->equals('default_value');
|
||||||
|
|
||||||
// setting a "known" key
|
// setting a "known" key
|
||||||
$setting = Setting::setValue('known_key', 'actual_value');
|
$setting = Setting::setValue('known_key', ' actual_value ');
|
||||||
expect($setting)->equals(true);
|
expect($setting)->equals(true);
|
||||||
|
|
||||||
// try to get a "known" key
|
// try to get a "known" key
|
||||||
@ -123,16 +123,16 @@ class SettingTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItCanGetAndSetValue() {
|
function testItCanGetAndSetValue() {
|
||||||
expect(Setting::setValue('test', '123'))->true();
|
expect(Setting::setValue('test', ' 123 '))->true();
|
||||||
expect(Setting::getValue('test'))->equals('123');
|
expect(Setting::getValue('test'))->equals('123');
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItCanGetAndSetNestedValue() {
|
function testItCanGetAndSetNestedValue() {
|
||||||
expect(Setting::setValue('test.key', '123'))->true();
|
expect(Setting::setValue('test.key', ' 123 '))->true();
|
||||||
expect(Setting::getValue('test.key'))->equals('123');
|
expect(Setting::getValue('test.key'))->equals('123');
|
||||||
|
|
||||||
expect(Setting::setValue('test.key.subkey', '123'))->true();
|
expect(Setting::setValue('test.key.subkey', ' 123'))->true();
|
||||||
expect(Setting::setValue('test.key.subkey2', '456'))->true();
|
expect(Setting::setValue('test.key.subkey2', '456 '))->true();
|
||||||
|
|
||||||
expect(Setting::getValue('test.key'))->notEmpty();
|
expect(Setting::getValue('test.key'))->notEmpty();
|
||||||
expect(Setting::getValue('test.key.subkey'))->equals('123');
|
expect(Setting::getValue('test.key.subkey'))->equals('123');
|
||||||
|
@ -34,4 +34,27 @@ class HelpersTest extends \MailPoetTest {
|
|||||||
$json = json_encode(array('one' => 1, 'two' => 2));
|
$json = json_encode(array('one' => 1, 'two' => 2));
|
||||||
expect(Helpers::isJson($json))->true();
|
expect(Helpers::isJson($json))->true();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testItTrimStringsRecursively() {
|
||||||
|
expect(Helpers::recursiveTrim(' foo'))->equals('foo');
|
||||||
|
expect(Helpers::recursiveTrim('foo '))->equals('foo');
|
||||||
|
expect(Helpers::recursiveTrim(123))->equals(123);
|
||||||
|
expect(Helpers::recursiveTrim([
|
||||||
|
'name' => ' some text here ',
|
||||||
|
'list' => [
|
||||||
|
'string 1',
|
||||||
|
'string 2 ',
|
||||||
|
' string 3 '
|
||||||
|
],
|
||||||
|
'number' => 523
|
||||||
|
]))->equals([
|
||||||
|
'name' => 'some text here',
|
||||||
|
'list' => [
|
||||||
|
'string 1',
|
||||||
|
'string 2',
|
||||||
|
'string 3'
|
||||||
|
],
|
||||||
|
'number' => 523
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user