Adds a new 'S3-Compatible Storage' provider that works with any
S3-API-compatible object storage service, including MinIO, Ceph,
Cloudflare R2, Backblaze B2, and others.
Changes:
- New provider class: classes/providers/storage/s3-compatible-provider.php
- Provider key: s3compatible
- Reads user-configured endpoint URL from settings
- Uses path-style URL access (required by most S3-compatible services)
- Supports credentials via AS3CF_S3COMPAT_ACCESS_KEY_ID /
AS3CF_S3COMPAT_SECRET_ACCESS_KEY wp-config.php constants
- Disables AWS-specific features (Block Public Access, Object Ownership)
- New provider SVG icons (s3compatible.svg, -link.svg, -round.svg)
- Registered provider in main plugin class with endpoint setting support
- Updated StorageProviderSubPage to show endpoint URL input for S3-compatible
- Built pro settings bundle with rollup (Svelte 4.2.19)
- Added package.json and updated rollup.config.mjs for pro-only builds
37 lines
1.3 KiB
PHP
37 lines
1.3 KiB
PHP
<?php
|
|
/** @var array $plugins_not_installed */
|
|
?>
|
|
<div class="notice-info notice as3cf-pro-installer">
|
|
<p>
|
|
<strong>
|
|
<?php printf( __( 'Finish Installing %s', 'amazon-s3-and-cloudfront' ), $this->plugin_name ); ?>
|
|
</strong>
|
|
</p>
|
|
|
|
<p>
|
|
<?php printf( __( 'The %s plugin requires the following plugins to be installed:', 'amazon-s3-and-cloudfront' ), $this->plugin_name ); ?>
|
|
</p>
|
|
<ul style="list-style-type: disc; padding: 0 0 0 30px; margin: 5px 0;">
|
|
<?php foreach ( $plugins_not_installed as $slug => $plugin_name ) : ?>
|
|
<li style="margin: 0;">
|
|
<a class="thickbox" style="text-decoration: none;" href="<?php echo $this->get_plugin_info_url( $slug ); ?>">
|
|
<?php echo $plugin_name; ?>
|
|
</a>
|
|
</li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
<p>
|
|
<a href="#" class="button button-primary button-large install-plugins" data-process="installer"><?php _e( 'Install & Activate Now' ); ?></a>
|
|
</p>
|
|
<p>
|
|
<em>
|
|
<?php
|
|
$deactivate_url = $this->get_plugin_action_url( 'deactivate' );
|
|
$deactivate_link = sprintf( '<a id="' . $this->plugin_slug . '-install-notice-deactivate" style="text-decoration:none;" href="%s">%s</a>', $deactivate_url, __( 'deactivating', 'amazon-s3-and-cloudfront' ) );
|
|
|
|
printf( __( 'You can also remove this message by %s the %s plugin.', 'amazon-s3-and-cloudfront' ), $deactivate_link, $this->plugin_name );
|
|
?>
|
|
</em>
|
|
</p>
|
|
</div>
|