/** * Set extension's setting option value in database * * @param string|null $option_id * @param mixed $value */ public final function set_db_settings_option($option_id = null, $value) { fw_set_db_ext_settings_option($this->get_name(), $option_id, $value); }
/** * @param array $data * @return array * @internal */ public function _extension_settings_form_save($data) { $extension = fw()->extensions->get(FW_Request::POST('fw_extension_name')); $options_before_save = (array) fw_get_db_ext_settings_option($extension->get_name()); fw_set_db_ext_settings_option($extension->get_name(), null, array_merge($options_before_save, fw_get_options_values_from_input($extension->get_settings_options()))); FW_Flash_Messages::add('fw_extension_settings_saved', __('Extensions settings successfully saved.', 'fw'), 'success'); $data['redirect'] = fw_current_url(); do_action('fw_extension_settings_form_saved:' . $extension->get_name(), $options_before_save); return $data; }
/** * Enable flush_rules. */ public function enable_flush_rules() { $flush_rules = (bool) fw_get_db_ext_settings_option($this->get_name(), 'flush_rules_enabled'); if ($flush_rules === false) { flush_rewrite_rules(); fw_set_db_ext_settings_option($this->get_name(), 'flush_rules_enabled', true); } }