'
. esc_html__('KiraBackup is not running because another copy of it is active (Complete Backup Restore is its previous name). Deactivate the old plugin; your backups, settings and restore point carry over.', 'kirabackup');
if (is_plugin_active($legacy)) {
echo ' '
. esc_html__('Deactivate Complete Backup Restore', 'kirabackup') . '';
}
echo '
';
}
);
return;
}
// Multisite is not supported: the network shares its tables and files, so a restore run
// by one site's administrator would overwrite every site. Stay idle and say so.
if (is_multisite()) {
$wpcbr_multisite_notice = function () {
if (current_user_can('activate_plugins')) {
echo '' . esc_html__('KiraBackup does not run on WordPress Multisite (a restore would overwrite every site of the network). Deactivate it here.', 'kirabackup') . '
';
}
};
add_action('admin_notices', $wpcbr_multisite_notice);
add_action('network_admin_notices', $wpcbr_multisite_notice);
return;
}
define('WPCBR_VERSION', '1.2.2');
define('WPCBR_PLUGIN_FILE', __FILE__);
define('WPCBR_PLUGIN_DIR', plugin_dir_path(__FILE__));
define('WPCBR_PLUGIN_URL', plugin_dir_url(__FILE__));
// Chunked-processing tuning. Each AJAX "tick" works until WPCBR_TICK_BUDGET
// seconds elapse, then returns progress so the browser can call again — this
// keeps every request well under the server's max_execution_time.
if (! defined('WPCBR_TICK_BUDGET')) {
define('WPCBR_TICK_BUDGET', 15);
}
require_once WPCBR_PLUGIN_DIR . 'includes/class-wpcbr-plugin.php';
if (defined('WP_CLI') && WP_CLI) {
WPCBR_Recovery::register_cli();
require_once WPCBR_PLUGIN_DIR . 'includes/class-wpcbr-cli.php';
}
WPCBR_Plugin::instance();