Skip to content

Commit 600c769

Browse files
committed
fix(cli): resolves #336
1 parent 37cb637 commit 600c769

File tree

2 files changed

+18
-20
lines changed

2 files changed

+18
-20
lines changed

core/class-utilities.php

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -264,23 +264,18 @@ public static function refresh_htaccess() {
264264
* @param string $value Setting value.
265265
*/
266266
public static function update_setting( $key, $value ) {
267-
$settings = \ZeroSpam\Core\Settings::get_settings();
268-
$new_settings = array();
269-
270-
if ( ! isset( $settings[ $key ] ) ) {
267+
$settings = \ZeroSpam\Core\Settings::get_settings();
268+
if ( empty( $settings[ $key ] ) ) {
271269
self::log( $key . ' is not a valid setting key.' );
272270
return false;
273271
}
274272

275-
foreach ( $settings as $k => $array ) {
276-
if ( $key === $k ) {
277-
$new_settings[ $k ] = $value;
278-
} else {
279-
$new_settings[ $k ] = isset( $array['value'] ) ? $array['value'] : false;
280-
}
281-
}
273+
$module = $settings[ $key ]['module'];
274+
$module_settings = get_option( "zero-spam-$module" );
275+
276+
$module_settings[ $key ] = $value;
282277

283-
update_option( 'wpzerospam', $new_settings, true );
278+
update_option( "zero-spam-$module", $module_settings, true );
284279

285280
return true;
286281
}

includes/class-cli.php

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,20 @@ public function autoconfigure() {
1717
* Outputs settings
1818
*/
1919
public function settings() {
20-
$zerospam_settings = \ZeroSpam\Core\Settings::get_settings();
21-
$settings = array();
20+
$modules = \ZeroSpam\Core\Settings::get_settings_by_module();
21+
$settings = array();
2222

23-
foreach ( $zerospam_settings as $key => $setting ) {
24-
$settings[] = array(
25-
'setting' => $key,
26-
'value' => isset( $setting['value'] ) ? $setting['value'] : false,
27-
);
23+
foreach ( $modules as $module => $module_settings ) {
24+
foreach ( $module_settings as $key => $setting ) {
25+
$settings[] = array(
26+
'module' => $module,
27+
'setting' => $key,
28+
'value' => isset( $setting['value'] ) ? $setting['value'] : false,
29+
);
30+
}
2831
}
2932

30-
$fields = array( 'setting', 'value' );
33+
$fields = array( 'module', 'setting', 'value' );
3134
WP_CLI\Utils\format_items( 'table', $settings, $fields );
3235
}
3336

0 commit comments

Comments
 (0)