Edit File: class-pum-admin-upgrade-routine.php
<?php /** * Upgrade Routine Class * * @package PUM * @subpackage Admin/Upgrades * @copyright Copyright (c) 2023, Code Atlantic LLC * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License * @since 1.4 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Class PUM_Admin_Upgrade_Routine */ class PUM_Admin_Upgrade_Routine { /** * Describe the upgrade routine. * * @return string */ public static function description() { return ''; } /** * Run the upgrade routine. * * @return void */ public static function run() { } /** * Properly redirects or returns redirect url if DOING_AJAX. * * @param string $redirect */ public static function redirect( $redirect = '' ) { wp_safe_redirect( $redirect ); exit; } /** * Generate the next step ajax response or redirect. */ public static function next_step() { $upgrades = PUM_Admin_Upgrades::instance(); $upgrades->step_up(); if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { echo wp_json_encode( [ 'status' => sprintf( __( 'Step %1$d of approximately %2$d running', 'popup-maker' ), $upgrades->get_arg( 'step' ), $upgrades->get_arg( 'steps' ) ), 'next' => $upgrades->get_args(), ] ); exit; } else { $redirect = add_query_arg( $upgrades->get_args(), admin_url() ); self::redirect( $redirect ); } } public static function done() { $upgrades = PUM_Admin_Upgrades::instance(); delete_option( 'pum_doing_upgrade' ); $upgrades->set_upgrade_complete( $upgrades->current_routine() ); $upgrades->set_pum_db_ver( $upgrades->get_arg( 'pum-upgrade' ) ); $next_routine = $upgrades->next_routine(); if ( $upgrades->has_upgrades() && $next_routine && $upgrades->get_upgrade( $next_routine ) ) { if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { $upgrades->set_arg( 'step', 1 ); $upgrades->set_arg( 'completed', 0 ); $upgrades->set_arg( 'pum-upgrade', $next_routine ); echo wp_json_encode( [ 'status' => sprintf( '<strong>%s</strong>', $upgrades->get_upgrade( $next_routine ) ), 'next' => $upgrades->get_args(), ] ); exit; } } } }