Flysystem Offload: %s

', esc_html__('Composer dependencies not installed. Please run: composer install', 'flysystem-offload') ); }); return; } require_once $autoloader; // Inicializar el plugin cuando WordPress esté listo add_action('plugins_loaded', function (): void { try { FlysystemOffload\Plugin::bootstrap(); } catch (Throwable $e) { error_log('[Flysystem Offload] Error al iniciar el plugin: ' . $e->getMessage()); // Mostrar error solo a administradores if (is_admin() && current_user_can('manage_options')) { add_action('admin_notices', function () use ($e): void { printf( '

Flysystem Offload: %s

', esc_html($e->getMessage()) ); }); } } }, 10); // Hook de activación register_activation_hook(__FILE__, function (): void { // Verificar requisitos if (version_compare(PHP_VERSION, '8.1', '<')) { deactivate_plugins(plugin_basename(__FILE__)); wp_die( esc_html__('Flysystem Offload requires PHP 8.1 or higher.', 'flysystem-offload'), esc_html__('Plugin Activation Error', 'flysystem-offload'), ['back_link' => true] ); } // Crear directorio de configuración si no existe $configDir = FLYSYSTEM_OFFLOAD_CONFIG_PATH; if (!file_exists($configDir)) { wp_mkdir_p($configDir); } // Copiar archivo de ejemplo si no existe configuración $configFile = $configDir . '/flysystem-offload.php'; $exampleFile = $configDir . '/flysystem-offload.example.php'; if (!file_exists($configFile) && file_exists($exampleFile)) { copy($exampleFile, $configFile); } }); // Hook de desactivación register_deactivation_hook(__FILE__, function (): void { // Desregistrar stream wrapper si existe if (in_array('fly', stream_get_wrappers(), true)) { stream_wrapper_unregister('fly'); } });