function sync_settings() { $plugslug = $this->vars['plug_slug']; $sync_msg = ''; foreach ($this->all_settings as $sett_k => $settings) { $default_pairs = array(); $set_optk = $plugslug . '_' . $sett_k; $stored_pairs = get_option($set_optk); foreach ($settings as $sect => $options) { // var_dump($sect,$options); // If is section foreach ($options as $sk => $option) { if (is_int($sk)) { continue; } $std = array_key_exists('std', $option) ? $option['std'] : ''; // var_dump($sk, $option); $default_pairs[$sk] = $std; } } // var_dump($default_pairs,$stored_pairs); // var_dump($settings); if ($stored_pairs) { $new_pairs = array("newpants"); $new_pairs = $stored_pairs; // var_dump($stored_pairs); // var_dump($default_pairs,$stored_pairs); // var_dump($sett_k); // var_dump($default_pairs,$stored_pairs); $new_opts = array_diff_key($default_pairs, $stored_pairs); $old_opts = array_diff_key($stored_pairs, $default_pairs); if (!empty($new_opts) || !empty($old_opts)) { if ($new_opts) { $sync_msg .= count($new_opts) . ' new options found for <code>' . $sett_k . '</code><br />'; } if ($old_opts) { $sync_msg .= count($old_opts) . ' old options found for <code>' . $sett_k . '</code><br />'; } // var_dump($new_opts,$old_opts); if (!empty($new_opts)) { foreach ($new_opts as $new_opt_k => $new_opt_v) { $new_pairs[$new_opt_k] = $new_opt_v; } } if (!empty($old_opts)) { foreach ($old_opts as $old_opt_k => $old_opt_v) { unset($new_pairs[$old_opt_k]); } } var_dump($this->update_option($set_optk, $new_pairs)); // var_dump(update_option($set_optk,$stored_pairs)); // var_dump(update_option($set_optk,"456")); var_dump($this->update_option("honey_thick_example_settings", $new_pairs)); var_dump($this->update_option("honey_thick_example_settings", "777")); var_dump($this->update_option("123", $new_pairs)); // add_filter( 'pre_update_option_'.$set_optk, 'myplugin_update_field_foo', 10, 2 ); // var_dump($stored_pairs); // var_dump(function_exists('update_option')); //wp_cache_delete ( 'alloptions', 'options' ); //var_dump($set_optk,$stored_pairs); // var_dump(update_option($set_optk,"22")); // var_dump(update_option("44","22")); // var_dump(update_option("honey_thick_demo_settings",$stored_pairs)); // var_dump(update_option("honey_thick_demo_settingszz",$stored_pairs)); // var_dump(update_option("777",$stored_pairs)); // var_dump($wpdb->queries); // update_option("2323",$stored_pairs); // var_dump($stored_pairs); // add_action('shutdown',$this->update_option } } // update_option($set_optk,$stored_pairs); // $new_opts = array_diff_key($default_pairs,$stored_pairs); // var_dump($sett_k,$settings,$stored_pairs,$default_pairs); } // foreach main if (!empty($sync_msg)) { return Skeleteon_Generic::add_trans_msg("settings_synced", sprintf(__('Settings Synced. <br />%s', $this->vars['lang_slug']), $sync_msg), 'info'); } else { return false; } }
function sync_settings() { // var_dump(self::$vars); // var_dump(Skeleteon_Generic::get_plug_var('all_settings')); $all_settings = Skeleteon_Generic::get_plug_var('all_settings'); $plugslug = self::$vars['plug_slug']; $sync_msg = ''; foreach ($all_settings as $sett_k => $settings) { $default_pairs = array(); $set_optk = $plugslug . '_' . $sett_k; $stored_pairs = get_option($set_optk); foreach ($settings as $sect => $options) { // var_dump($sect,$options); // If is section foreach ($options as $sk => $option) { if (is_int($sk)) { continue; } $std = array_key_exists('std', $option) ? $option['std'] : ''; // var_dump($sk, $option); $default_pairs[$sk] = $std; } } // var_dump($default_pairs,$stored_pairs); // var_dump($settings); if ($stored_pairs) { var_dump($stored_pairs); // var_dump($default_pairs,$stored_pairs); // var_dump($sett_k); // var_dump($default_pairs,$stored_pairs); $new_opts = array_diff_key($default_pairs, $stored_pairs); $old_opts = array_diff_key($stored_pairs, $default_pairs); if (!empty($new_opts) || !empty($old_opts)) { if ($new_opts) { $sync_msg .= count($new_opts) . ' new options found for <code>' . $sett_k . '</code><br />'; } if ($old_opts) { $sync_msg .= count($old_opts) . ' old options found for <code>' . $sett_k . '</code><br />'; } //var_dump($new_opts,$old_opts); if (!empty($new_opts)) { foreach ($new_opts as $new_opt_k => $new_opt_v) { $stored_pairs[$new_opt_k] = $new_opt_v; } } if (!empty($old_opts)) { foreach ($old_opts as $old_opt_k => $old_opt_v) { unset($stored_pairs[$old_opt_k]); } } // var_dump($stored_pairs); // var_dump(function_exists('update_option')); var_dump($set_optk, $stored_pairs); update_option($set_optk, "22"); update_option("333", "22"); // update_option("2323",$stored_pairs); } } // update_option($set_optk,$stored_pairs); // $new_opts = array_diff_key($default_pairs,$stored_pairs); // var_dump($sett_k,$settings,$stored_pairs,$default_pairs); } // foreach main if (!empty($sync_msg)) { return Skeleteon_Generic::add_trans_msg("settings_synced", sprintf(__('Settings Synced. <br />%s', self::$vars['lang_slug']), $sync_msg), 'info'); } else { return false; } }