get_purchse_key( $product_id ); $product_title = ! empty( $product_details['name'] ) ? $product_details['name'] : ''; $plugin_name = ! empty( $plugin_name ) ? $plugin_name : $bundled_plugin_name; $download_params = array( 'version_no' => $version_no, 'purchase_key' => $purchase_key, 'site_url' => get_site_url(), ); $download_url = bsf_get_api_site( false, true ) . 'download/' . $product_id . '?' . http_build_query( $download_params ); $rollback = new BSF_Rollback_Version( array( 'version' => $version_no, 'plugin_name' => $plugin_name, 'plugin_slug' => $plugin_slug, 'package_url' => $download_url, 'product_title' => $product_title, 'product_id' => $product_id, ) ); $rollback->run(); // Delete product versions transient data after update. bsf_clear_versions_cache( $product_id ); wp_die(); } /** * Load Scripts * * @since 1.0.0 * * @param string $hook Current Hook. * @return void */ public function load_scripts( $hook = '' ) { wp_register_script( 'bsf-core-version-rollback', bsf_core_url( '/assets/js/version-rollback.js' ), array( 'jquery' ), BSF_UPDATER_VERSION, true ); wp_register_style( 'bsf-core-version-rollback-css', bsf_core_url( '/assets/css/rollback-version.css' ), array(), BSF_UPDATER_VERSION ); } /** * Version rollback Confirmation popup. * * @since 1.0.0 */ public function rollback_version_popup() { // This is set to fix the duplicate markup on page load. if ( 1 !== self::$reload_page_cache ) { return; } self::$reload_page_cache = 0; ?> render_rollback_version_form( $product_id ); }