REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 4.52 KB
Close
//home/nshryvcy/blissfulnepal.com/wp-content/plugins/wp-rollback/src/PluginSetup/PluginScripts.php
Text
Base64
<?php /** * Plugin Scripts * * @package WpRollback\Free\PluginSetup */ declare(strict_types=1); namespace WpRollback\Free\PluginSetup; use WpRollback\Free\Core\Constants; use WpRollback\SharedCore\Core\Assets\AssetsManager; use WpRollback\SharedCore\Core\SharedCore; use WpRollback\SharedCore\Rollbacks\Registry\RollbackStepRegisterer; /** * Handles script and style registration for the free plugin. * */ class PluginScripts { /** * Initialize scripts. * * @return void */ public function initialize(): void { add_action('admin_enqueue_scripts', [$this, 'enqueueAssets']); add_action('admin_enqueue_scripts', [$this, 'enqueueCommandPaletteScript']); } /** * Enqueue plugin assets. * * @return void */ public function enqueueAssets(): void { $assetsManager = SharedCore::container()->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, 'pluginsUrl' => admin_url('plugins.php'), 'themesUrl' => admin_url('themes.php'), 'restUrl' => esc_url_raw(rest_url()), 'rollbackSteps' => $this->getRollbackSteps(), ]); } /** * Enqueue the command palette script on all admin pages. * * Bypasses AssetsManager's screen restriction intentionally — the command * palette must be available everywhere in wp-admin, not just the Tools page. * * @return void */ public function enqueueCommandPaletteScript(): void { if (!current_user_can('manage_options')) { return; } // Graceful degradation: command palette requires WP 6.3+ if (!wp_script_is('wp-commands', 'registered')) { return; } $constants = SharedCore::container()->make(Constants::class); $assetFile = $constants->getPluginDir() . '/build/commandPalette.asset.php'; $assetData = file_exists($assetFile) ? require $assetFile : ['dependencies' => [], 'version' => $constants->getVersion()]; $handle = $constants->getSlug() . '-command-palette'; wp_enqueue_script( $handle, $constants->getPluginUrl() . '/build/commandPalette.js', $assetData['dependencies'], $assetData['version'], true ); if (!function_exists('get_plugins')) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $plugins = []; foreach (get_plugins() as $pluginFile => $pluginData) { $pluginFile = (string) $pluginFile; $slug = dirname($pluginFile); if ('.' === $slug) { $slug = basename($pluginFile, '.php'); } $plugins[] = [ 'name' => $pluginData['Name'], 'slug' => $slug, ]; } $themes = []; foreach (wp_get_themes() as $themeSlug => $themeObject) { $themes[] = [ 'name' => $themeObject->get('Name'), 'slug' => $themeSlug, ]; } $adminUrl = is_network_admin() ? network_admin_url('settings.php?page=wp-rollback') : admin_url('tools.php?page=wp-rollback'); wp_localize_script( $handle, 'wprCommandPaletteData', [ 'plugins' => $plugins, 'themes' => $themes, 'adminUrl' => $adminUrl, ] ); wp_set_script_translations($handle, $constants->getTextDomain(), $constants->getPluginDir() . '/languages'); } /** * Get rollback steps data for script localization. * * @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; } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 4
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
Language.php
2.09 KB
lrw-r--r--
2026-05-06 14:06:55
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PluginMeta.php
2.38 KB
lrw-r--r--
2026-05-06 14:06:55
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PluginScripts.php
4.52 KB
lrw-r--r--
2026-05-06 14:06:55
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PluginSetup.php
4.60 KB
lrw-r--r--
2026-05-06 14:06:55
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).