/
home
/
altere25
/
.trash
/
wp-to-sanity-companion.1
/
/home/altere25/.trash/wp-to-sanity-companion.1
mkdir
upload
Name
Size
Mode
Actions
assets/
-
0755
rm
includes/
-
0755
rm
templates/
-
0755
rm
assets\css\admin.css
7611
0644
edit
dl
rm
assets\js\admin.js
8534
0644
edit
dl
rm
assets\js\claude-connect.js
6502
0644
edit
dl
rm
includes\class-ad-admin.php
26374
0644
edit
dl
rm
includes\class-ad-ai-client.php
8153
0644
edit
dl
rm
includes\class-ad-auth.php
9189
0644
edit
dl
rm
includes\class-ad-cli.php
8669
0644
edit
dl
rm
includes\class-ad-extractor.php
12210
0644
edit
dl
rm
includes\class-ad-mcp.php
6429
0644
edit
dl
rm
includes\class-ad-plugin-core.php
7947
0644
edit
dl
rm
includes\class-ad-progress.php
8022
0644
edit
dl
rm
includes\class-ad-rest.php
31008
0644
edit
dl
rm
includes\class-ad-uninstall.php
1924
0644
edit
dl
rm
includes\class-ad-webhook.php
14854
0644
edit
dl
rm
templates\admin\claude-connect.php
5152
0644
edit
dl
rm
templates\admin\dashboard.php
10457
0644
edit
dl
rm
templates\admin\export.php
16570
0644
edit
dl
rm
templates\admin\log.php
10849
0644
edit
dl
rm
templates\admin\onboarding-v2.php
3827
0644
edit
dl
rm
templates\admin\onboarding.php
10714
0644
edit
dl
rm
templates\admin\progress.php
2443
0644
edit
dl
rm
templates\admin\schema-preview.php
5213
0644
edit
dl
rm
uninstall.php
365
0644
edit
dl
rm
wp-to-sanity-companion.php
4467
0644
edit
dl
rm
Edit:
/home/altere25/.trash/wp-to-sanity-companion.1/wp-to-sanity-companion.php
(4467B)
<?php /** * Altered Digital Migration — Companion Plugin * * WordPress side of the WP-to-Sanity migration pipeline. Rebranded in v2 * from "WP-to-Sanity Companion" to "Altered Digital Migration"; the PHP * class prefix is `AD_` and the REST namespace `altered-digital/v1` is * registered alongside the back-compat `wp-to-sanity/v1` namespace. * * The v1 `WP_to_Sanity_Plugin` class name is preserved as an alias that * extends `AD_Plugin_Core` so any third-party code calling * `WP_to_Sanity_Plugin::get_instance()` keeps working. * * @package AlteredDigitalMigration * @author Altered Digital * @license GPL-2.0-or-later * * @wordpress-plugin * Plugin Name: Altered Digital Migration * Plugin URI: https://altereddigital.io/wp-to-sanity * Description: Migrate WordPress content (Gutenberg, Elementor, WPBakery, Divi) into your Sanity.io project via the Altered Digital Worker. * Version: 2.0.0 * Requires at least: 4.7 * Requires PHP: 7.4 * Author: Altered Digital * License: GPL v2 or later * License URI: https://www.gnu.org/licenses/gpl-2.0.html * Text Domain: altered-digital * Domain Path: /languages */ if (!defined('ABSPATH')) { exit; } // Constants (v1 names preserved for back-compat; AD_* aliases added). define('AD_VERSION', '2.0.0'); define('AD_PLUGIN_DIR', plugin_dir_path(__FILE__)); define('AD_PLUGIN_URL', plugin_dir_url(__FILE__)); define('AD_PLUGIN_BASENAME', plugin_basename(__FILE__)); define('WP_TO_SANITY_VERSION', AD_VERSION); define('WP_TO_SANITY_PLUGIN_DIR', AD_PLUGIN_DIR); define('WP_TO_SANITY_PLUGIN_URL', AD_PLUGIN_URL); define('WP_TO_SANITY_PLUGIN_BASENAME', AD_PLUGIN_BASENAME); // PSR-ish autoloader (class-ad-foo.php → AD_Foo). The core class must be // loaded first so its static autoload method exists at registration time. require_once AD_PLUGIN_DIR . 'includes/class-ad-plugin-core.php'; spl_autoload_register(['AD_Plugin_Core', 'autoload']); // Back-compat class alias: legacy code calling WP_to_Sanity_Plugin keeps // working. We can't use class_alias on a class that's defined later, so // we declare a thin subclass that delegates to the singleton. if (!class_exists('WP_to_Sanity_Plugin')) { class WP_to_Sanity_Plugin extends AD_Plugin_Core { public static function get_instance(): AD_Plugin_Core { return AD_Plugin_Core::instance(); } } } // ----------------------------------------------------------------- // Bootstrap // ----------------------------------------------------------------- add_action('plugins_loaded', function (): AD_Plugin_Core { $core = AD_Plugin_Core::instance(); $extractor = new AD_Extractor($core); $webhook = new AD_Webhook($core, $extractor); $progress = new AD_Progress($core); $ai = new AD_AI_Client($core); $auth = new AD_Auth($core); $mcp = new AD_MCP($core); $rest = new AD_REST($core, $webhook, $extractor, $progress, $ai, $auth, $mcp); $admin = new AD_Admin($core, $progress); $webhook->register_hooks(); $rest->register_hooks(); $admin->register_hooks(); // WP-CLI commands (only registered when WP_CLI is present). if (class_exists('WP_CLI')) { $cli = new AD_CLI($core, $webhook, $extractor, $progress, $auth); WP_CLI::add_command('altered-digital export', [$cli, 'export']); WP_CLI::add_command('altered-digital analyze', [$cli, 'analyze']); WP_CLI::add_command('altered-digital status', [$cli, 'status']); } return $core; }, 5); // Activation / deactivation (deferred via closure — must NOT call instance() // eagerly here because pluggable functions like wp_generate_password() are // not yet loaded during plugin file inclusion in wp-settings.php). register_activation_hook(__FILE__, function () { AD_Plugin_Core::instance()->activate(); }); register_deactivation_hook(__FILE__, function () { AD_Plugin_Core::instance()->deactivate(); }); // ACF JSON paths (preserved from v1). add_filter('acf/settings/save_json', function (string $path): string { return AD_PLUGIN_DIR . 'acf-json'; }); add_filter('acf/settings/load_json', function (array $paths): array { $paths[] = AD_PLUGIN_DIR . 'acf-json'; return $paths; }); // Keep the v1 init function for any code calling wp_to_sanity_init(). if (!function_exists('wp_to_sanity_init')) { function wp_to_sanity_init(): AD_Plugin_Core { return AD_Plugin_Core::instance(); } }
Save
cmd:
run