Files
WPS3Media/assets/img/icon/tool-analyzerepair-paused.svg
Malin 3248cbb029 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
2026-03-03 12:30:18 +01:00

18 lines
1.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<svg width="42px" height="42px" viewBox="0 0 42 42" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icon/tools/tool-analyzerepeair-paused</title>
<defs>
<circle id="path-1" cx="21" cy="21" r="21"></circle>
</defs>
<g id="icon/tools/tool-analyzerepeair-paused" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="icon">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<use id="Oval" fill="#E4EAF1" xlink:href="#path-1"></use>
<path d="M12.03594,20.7500586 C12.0636564,20.4295932 12.2755217,20.1542977 12.5782187,20.0445246 C12.8816689,19.9340762 13.2213463,20.0092592 13.4496306,20.2363086 L18.1203831,24.8891713 L23.2983169,23.255856 L24.9378064,18.0974969 L20.2669786,13.444259 C20.038393,13.2167594 19.9638297,12.8782861 20.0739424,12.576504 C20.1851849,12.2741215 20.4608432,12.0635043 20.7831978,12.0357421 C23.619843,11.7922605 26.3992477,12.8012274 28.4087671,14.8034793 C31.1609825,17.5455552 31.8898203,21.5497588 30.5991968,24.9628536 L30.8093863,25.1460932 L30.8093863,25.1460932 L46.6248149,40.0150458 L46.6248149,40.0150458 C48.458395,41.8417958 48.458395,44.8140725 46.6248149,46.6411227 C44.8465057,48.4123711 42.0077225,48.4451612 40.1656916,46.7798586 L39.9736151,46.5958779 L39.9736151,46.5958779 L25.3899313,30.9424474 C25.2569977,30.8094141 25.133554,30.6702282 25.01719,30.5273656 C21.5902894,31.8154547 17.5683885,31.0910875 14.813763,28.3472108 C12.8046954,26.3448088 11.7912367,23.5756461 12.03594,20.7500586 Z" id="Path" fill="#87A2C2" fill-rule="nonzero" mask="url(#mask-2)"></path>
</g>
<rect id="Rectangle" fill="#2E689A" x="0" y="30" width="4" height="12" rx="2"></rect>
<rect id="Rectangle" fill="#2E689A" x="6" y="30" width="4" height="12" rx="2"></rect>
</g>
</svg>