make(AssetsManager::class); // Determine the correct admin URL based on context $adminUrl = is_network_admin() ? network_admin_url('settings.php?page=wp-rollback') : admin_url('tools.php?page=wp-rollback'); $assetsManager->enqueueScript('tools', [ 'rollback_nonce' => wp_create_nonce('wpr_rollback_nonce'), 'restApiNonce' => wp_create_nonce('wp_rest'), 'adminUrl' => $adminUrl, 'restUrl' => esc_url_raw(rest_url()), 'rollbackSteps' => $this->getRollbackSteps(), ]); } /** * Get rollback steps data for script localization. * * @since 3.0.0 * @return array */ protected function getRollbackSteps(): array { $stepRegisterer = SharedCore::container()->make(RollbackStepRegisterer::class); $steps = []; foreach ($stepRegisterer->getAllRollbackSteps() as $stepClass) { $steps[] = [ 'id' => $stepClass::id(), 'rollbackProcessingMessage' => $stepClass::rollbackProcessingMessage() ]; } return $steps; } }