Where’s the backup file?
-
When I backup the configuration settings, I see the message “Settings saved successfully”, but where is the backup file? Nothing has downloaded and there’s no visible link to download.
-
Hi,
You must click on “Backup Plugin Configuration” button not on “Save Options” button. Then json configuration file is automatically downloaded on your local default download folder on your computer.
Best regards.
I wasn’t clear enough ??
I’m indeed clicking the ““Backup Plugin Configuration” button; id=”wp_cassify_backup_plugin_options_settings”. Tested also with
jQuery(‘#wp_cassify_backup_plugin_options_settings’).click()
No JS console errors show.Tested with WP 4.9 with no other plugins/themes and a clean nightly WP build; multisite; Chrome latest on Windows.
The request is to
/wp-admin/network/settings.php?page=wp-cassify.php
and the request payload shows a form submission of the form data.The problem is that
wp-cassify\admin\admin-menu.php::wp_cassify_create_network_menu() does not include these two hooks:// Call export plugin configurations settings function add_action( 'load-'. $this->wp_cassify_admin_page_hook, array( $this , 'wp_cassify_export_configuration_options_settings' ) ); // Call import plugin configurations settings function add_action( 'load-'. $this->wp_cassify_admin_page_hook, array( $this , 'wp_cassify_import_configuration_options_settings' ) );
So testing in a single-site will not show the problem.
I suggest adding them via abstracting the add_action statements that are common to multisite and single site:
/** * Multisite and single-site add_action statements */ function wp_cassify_add_admin_actions() { // Add javascript needed by metaboxes add_action( 'admin_init', array( $this , 'wp_cassify_add_metaboxes_js' ) ); // Call export plugin configurations settings function add_action( 'load-'. $this->wp_cassify_admin_page_hook, array( $this , 'wp_cassify_export_configuration_options_settings' ) ); // Call import plugin configurations settings function add_action( 'load-'. $this->wp_cassify_admin_page_hook, array( $this , 'wp_cassify_import_configuration_options_settings' ) ); // Register differents metaboxes on admin screen. add_action( 'load-'. $this->wp_cassify_admin_page_hook, array( $this, 'wp_cassify_register_metaboxes' ) ); // Add custom javascript functions specific to this plugin add_action( 'load-'. $this->wp_cassify_admin_page_hook, array( $this , 'wp_cassify_add_custom_js' ) ); } /** * Add admin menu options */ public function wp_cassify_create_menu() { $this->wp_cassify_admin_page_hook = add_options_page( $this->wp_cassify_plugin_datas['Name'] . ' Options', $this->wp_cassify_plugin_datas['Name'], 'manage_options', 'wp-cassify.php' , array( $this, 'wp_cassify_options' ) ); $this->wp_cassify_add_admin_actions(); } /** * Add admin menu options if plugin is activate over the network */ public function wp_cassify_create_network_menu() { $this->wp_cassify_admin_page_hook = add_submenu_page( 'settings.php', $this->wp_cassify_plugin_datas['Name'] . ' Options', $this->wp_cassify_plugin_datas['Name'], 'manage_options', 'wp-cassify.php' , array( $this, 'wp_cassify_options' ) ); // Call register settings function add_action( 'admin_init', array( $this , 'wp_cassify_register_plugin_settings' ) ); // Call register settings function add_action( 'admin_init', array( $this , 'wp_cassify_register_plugin_settings' ) ); $this->wp_cassify_add_admin_actions(); }
- This reply was modified 6 years, 7 months ago by buddywhatshisname. Reason: Remove error_log() statement
Another couple of fixes is needed for multisite wp-cassify config backup to work:
wp-cassify\admin\admin-menu.php::wp_cassify_export_configuration_options_settings() – replace false in the export function call with $wp_cassify_network_activated:
if (! empty( $_POST['wp_cassify_backup_plugin_options_settings'] ) ){ global $wp_cassify_network_activated; $wp_cassify_backup_plugin_options_settings = WP_Cassify_Utils::wp_cassify_export_configuration_options( $wp_cassify_network_activated ); nocache_headers();
————————
wp-cassify\classes\wp_cassify_utils.php::wp_cassify_export_configuration_options() – network option key and value names differ, so need their own for loop
if ($wp_cassify_network_activated) { $configuration_options = $wpdb->get_results("SELECT <code>meta_key</code>,</code>meta_value</code> FROM {$wpdb->prefix}sitemeta WHERE <code>meta_key</code> LIKE 'wp_cassify%' AND</code>meta_key</code> != 'wp_cassify_xml_response_value'"); foreach ($configuration_options as $configuration_option) { $wp_cassify_export_configuration_options[$configuration_option->meta_key] = $configuration_option->meta_value; } } else { $configuration_options = $wpdb->get_results("SELECT <code>option_name</code>,</code>option_value</code> FROM {$wpdb->prefix}options WHERE <code>option_name</code> LIKE 'wp_cassify%' AND</code>meta_key</code> != 'wp_cassify_xml_response_value'"); foreach ($configuration_options as $configuration_option) { $wp_cassify_export_configuration_options[$configuration_option->option_name] = $configuration_option->option_value; } }
- This reply was modified 6 years, 7 months ago by buddywhatshisname. Reason: Skip export of wp_cassify_xml_response_value
- This reply was modified 6 years, 7 months ago by Steven Stern (sterndata).
Hi,
I’ve integrated all your patches in release 2.1.7. The issue might be solved definitively in release 2.1.7.
Best regards.
- The topic ‘Where’s the backup file?’ is closed to new replies.