Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
0.00% |
0 / 15 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
| SettingsService | |
0.00% |
0 / 15 |
|
0.00% |
0 / 1 |
30 | |
0.00% |
0 / 1 |
| initialize | |
0.00% |
0 / 15 |
|
0.00% |
0 / 1 |
30 | |||
| 1 | <?php |
| 2 | |
| 3 | namespace NewfoldLabs\WP\Module\Onboarding\Services; |
| 4 | |
| 5 | use NewfoldLabs\WP\Module\Onboarding\Data\Config; |
| 6 | use NewfoldLabs\WP\Module\Onboarding\Data\Options; |
| 7 | use NewfoldLabs\WP\Module\Onboarding\WP_Config; |
| 8 | |
| 9 | class SettingsService { |
| 10 | |
| 11 | /** |
| 12 | * Initialize WordPress Options, Permalinks and Configuration. |
| 13 | * |
| 14 | * @return void |
| 15 | */ |
| 16 | public static function initialize(): void { |
| 17 | if ( \get_option( Options::get_option_name( 'settings_initialized' ), false ) ) { |
| 18 | return; |
| 19 | } |
| 20 | |
| 21 | // Update wp_options |
| 22 | $init_options = Options::get_initialization_options(); |
| 23 | foreach ( $init_options as $option_key => $option_value ) { |
| 24 | \update_option( Options::get_option_name( $option_key, false ), $option_value ); |
| 25 | } |
| 26 | // Can't be part of initialization constants as they are static. |
| 27 | \update_option( Options::get_option_name( 'start_date' ), gmdate( 'U' ) ); |
| 28 | |
| 29 | // Flush permalinks |
| 30 | flush_rewrite_rules(); |
| 31 | |
| 32 | // Add constants to the WordPress configuration (wp-config.php) |
| 33 | $wp_config_constants = Config::get_wp_config_initialization_constants(); |
| 34 | $wp_config = new WP_Config(); |
| 35 | foreach ( $wp_config_constants as $constant_key => $constant_value ) { |
| 36 | if ( $wp_config->constant_exists( $constant_key ) ) { |
| 37 | $wp_config->update_constant( $constant_key, $constant_value ); |
| 38 | continue; |
| 39 | } |
| 40 | $wp_config->add_constant( $constant_key, $constant_value ); |
| 41 | } |
| 42 | |
| 43 | \update_option( Options::get_option_name( 'settings_initialized' ), true ); |
| 44 | } |
| 45 | } |