true] ); } // Mark activation pending update_option('acadlix_activation_pending', [ 'plugin' => $this_plugin, 'network' => (bool) $network_wide, ]); } /** * Handles the plugin upgrade transient detection */ public static function mark_as_upgrade($upgrader_object, $options) { if ($options['action'] === 'update' && $options['type'] === 'plugin') { if (isset($options['plugins']) && in_array(ACADLIX_PLUGIN_BASENAME, $options['plugins'])) { set_transient('acadlix_updating_plugin', true, 60); } } } /** * Logic fired immediately after standard activation completes */ public static function activated_acadlix($plugin, $network_wide = null) { if (ACADLIX_PLUGIN_BASENAME !== $plugin) { return; } if (get_transient('acadlix_updating_plugin')) { delete_transient('acadlix_updating_plugin'); update_option('acadlix_wizard', 'active'); return; } // Trigger safe transient flag for redirection set_transient('acadlix_activation_redirect', true, 30); } /** * Safe redirection to the setup wizard on the next admin page render */ public static function handle_setup_redirect() { if (get_transient('acadlix_activation_redirect')) { delete_transient('acadlix_activation_redirect'); if (!get_option('acadlix_wizard') && !wp_doing_ajax() && !(defined('WP_CLI') && WP_CLI)) { update_option('acadlix_wizard', 'active'); wp_safe_redirect(admin_url('admin.php?page=acadlix-setup')); exit; } } } }