feat: add S3-compatible storage provider (MinIO, Ceph, R2, etc.)
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
This commit is contained in:
59
assets/css/attachment.css
Normal file
59
assets/css/attachment.css
Normal file
@@ -0,0 +1,59 @@
|
||||
#s3-actions.postbox .inside {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#s3-actions.postbox a, #s3-actions.postbox a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
#s3-actions.postbox .s3-details {
|
||||
padding: 6px 0;
|
||||
}
|
||||
#s3-actions.postbox .s3-details .misc-pub-section {
|
||||
clear: both;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#s3-actions.postbox .s3-details .misc-pub-section .s3-key {
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
}
|
||||
#s3-actions.postbox .s3-details .misc-pub-section .s3-value {
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
}
|
||||
#s3-actions.postbox .s3-details .misc-pub-section .s3-value .more-info {
|
||||
font-weight: lighter;
|
||||
}
|
||||
#s3-actions.postbox .s3-details .misc-pub-section input.error {
|
||||
color: #a00;
|
||||
}
|
||||
#s3-actions.postbox .s3-details .not-copied {
|
||||
color: #666;
|
||||
}
|
||||
#s3-actions.postbox .s3-actions {
|
||||
padding: 10px;
|
||||
clear: both;
|
||||
border-top: 1px solid #ddd;
|
||||
border-bottom: 1px solid #ddd;
|
||||
background: #f5f5f5;
|
||||
}
|
||||
#s3-actions.postbox .s3-actions .copy-action {
|
||||
text-align: right;
|
||||
float: right;
|
||||
line-height: 23px;
|
||||
}
|
||||
#s3-actions.postbox .s3-actions .remove-action {
|
||||
line-height: 28px;
|
||||
vertical-align: middle;
|
||||
text-align: left;
|
||||
float: left;
|
||||
}
|
||||
#s3-actions.postbox .s3-actions .remove-action a.local-warning {
|
||||
color: #a00;
|
||||
}
|
||||
#s3-actions.postbox .s3-actions .remove-action a.local-warning:hover {
|
||||
color: #f00;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=attachment.css.map */
|
||||
Reference in New Issue
Block a user