PluginProbe
WDesignKit – AI Templates, Widget Builder & MCP Workflow / 2.7.0
WDesignKit – AI Templates, Widget Builder & MCP Workflow v2.7.0
2.7.1 2.7.0 2.6.6 2.6.5 2.6.4 2.6.3 2.6.2 2.6.1 2.6.0 2.5.5 2.5.4 2.5.3 2.5.2 2.5.1 2.5.0 2.4.0 2.3.3 2.3.2 2.3.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 All 130 releases
← All changes | includes/admin/class-wdkit-data-hooks.php +58 -2 1.0.10 → 2.7.0 View file →
@@ -50,8 +50,9 @@
50 50 * Define the core functionality of the plugin.
51 51 */
52 52 public function __construct() {
53 53 add_action( 'wdkit_admin_create_default', array( $this, 'wdkit_create_default' ), 10 );
54 + add_action( 'wdkit_active_settings', array( $this, 'wdkit_active_settings_function' ), 10, 2 );
54 55 }
55 56
56 57 /**
57 58 * Create Default setting data in db
@@ -65,13 +66,19 @@
65 66 $settings_options = array(
66 67 'builder' => true,
67 68 'template' => true,
68 69 'gutenberg_builder' => true,
70 + 'gutenberg_core_builder' => false,
69 71 'elementor_builder' => true,
70 - 'bricks_builder' => false,
72 + 'bricks_builder' => true,
71 73 'debugger_mode' => false,
72 74 'gutenberg_template' => true,
73 75 'elementor_template' => true,
76 + 'code_snippet' => true,
77 + 'cross_copy_paste' => false,
78 + 'cross_copy_paste_elementor' => true,
79 + 'cross_copy_paste_gutenberg' => true,
80 + 'cross_copy_paste_bricks' => false,
74 81 );
75 82
76 83 add_option( 'wkit_settings_panel', $settings_options );
77 84 }
@@ -82,8 +89,57 @@
82 89 }
83 90 }
84 91
85 92 /**
93 + * Active Settings Function
94 + *
95 + * @since 1.0.0
96 + */
97 + public function wdkit_active_settings_function( $settings = array(), $builder = array() ) {
98 +
99 + $wkit_settings_panel = get_option( 'wkit_settings_panel', false );
100 +
101 + if ( $wkit_settings_panel == false || empty( $wkit_settings_panel ) ) {
102 + do_action( 'wdkit_admin_create_default' );
103 + $wkit_settings_panel = get_option( 'wkit_settings_panel', array() );
104 + }
105 +
106 + // Merge DB values with new settings.
107 + $updated_settings = array_merge( $wkit_settings_panel, $settings );
108 +
109 + $builder = is_array( $builder ) ? $builder : array();
110 +
111 + if ( ! function_exists( 'is_plugin_active' ) ) {
112 + require_once ABSPATH . 'wp-admin/includes/plugin.php';
113 + }
114 +
115 + if ( in_array( 'nexter-blocks', $builder, true ) ) {
116 +
117 + if ( is_plugin_active( 'the-plus-addons-for-block-editor/the-plus-addons-for-block-editor.php' ) ) {
118 + $updated_settings['gutenberg_builder'] = true;
119 + $updated_settings['gutenberg_template'] = true;
120 + }else{
121 + $updated_settings['gutenberg_builder'] = false;
122 + $updated_settings['gutenberg_template'] = false;
123 + }
124 + }
125 +
126 + if ( in_array( 'elementor', $builder, true ) ) {
127 +
128 + if ( is_plugin_active( 'elementor/elementor.php' ) ) {
129 + $updated_settings['elementor_builder'] = true;
130 + $updated_settings['elementor_template'] = true;
131 + }else{
132 + $updated_settings['elementor_builder'] = false;
133 + $updated_settings['elementor_template'] = false;
134 + }
135 + }
136 +
137 + // Save updated settings back to the database.
138 + update_option( 'wkit_settings_panel', $updated_settings );
139 + }
140 +
141 + /**
86 142 * Check Error and Get Response Body Data
87 143 *
88 144 * @param string $super_global it is main party of array & file.
89 145 * @param string $key it is static value for file and array key.
@@ -111,9 +167,9 @@
111 167 public static function sanitize_array_recursive( $data, $key ) {
112 168
113 169 if ( is_array( $data[ $key ] ) ) {
114 170 foreach ( $data[ $key ] as $index => $value ) {
115 - $data[ $index ] = self::sanitize_array_recursive( $value );
171 + $data[ $index ] = self::sanitize_array_recursive( $data[ $key ], $index );
116 172 }
117 173
118 174 return $data;
119 175 }