Files
WPS3Media/assets/img/icon/tool-analyzerepair-running-animated.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

1 line
6.9 KiB
XML

<svg id="eGTlUwR8z4P1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 42 42" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"><style><![CDATA[#eGTlUwR8z4P6_to {animation: eGTlUwR8z4P6_to__to 3000ms linear infinite normal forwards}@keyframes eGTlUwR8z4P6_to__to { 0% {transform: translate(28.832737px,28.515591px)} 16.666667% {transform: translate(21.975433px,20.779345px);animation-timing-function: cubic-bezier(0.480000,0.020000,1,1)} 33.333333% {transform: translate(21.975433px,20.779345px);animation-timing-function: cubic-bezier(0.480000,0.020000,1,1)} 66.666667% {transform: translate(21.975433px,20.779345px);animation-timing-function: cubic-bezier(0.480000,0.020000,1,1)} 90% {transform: translate(21.559373px,31.566373px)} 100% {transform: translate(21.559373px,31.566373px)}} #eGTlUwR8z4P6_tr {animation: eGTlUwR8z4P6_tr__tr 3000ms linear infinite normal forwards}@keyframes eGTlUwR8z4P6_tr__tr { 0% {transform: rotate(0deg)} 33.333333% {transform: rotate(0deg);animation-timing-function: cubic-bezier(0.480000,0.020000,1,1)} 50% {transform: rotate(-40deg)} 66.666667% {transform: rotate(-40deg)} 90% {transform: rotate(0deg)} 100% {transform: rotate(0deg)}} #eGTlUwR8z4P6 {animation: eGTlUwR8z4P6__tt 3000ms linear infinite normal forwards}@keyframes eGTlUwR8z4P6__tt { 0% {transform: translate(-7.273379px,-7.350875px)} 66.666667% {transform: translate(-7.273379px,-7.350875px)} 90% {transform: translate(-0.000014px,-10.401657px)} 100% {transform: translate(-0.000014px,-10.401657px)}} #eGTlUwR8z4P7_tr {animation: eGTlUwR8z4P7_tr__tr 3000ms linear infinite normal forwards}@keyframes eGTlUwR8z4P7_tr__tr { 0% {transform: translate(22.130591px,20.855046px) rotate(45deg);animation-timing-function: cubic-bezier(0.480000,0.020000,1,1)} 33.333333% {transform: translate(22.130591px,20.855046px) rotate(45deg);animation-timing-function: cubic-bezier(0.480000,0.020000,1,1)} 50% {transform: translate(22.130591px,20.855046px) rotate(-45deg)} 100% {transform: translate(22.130591px,20.855046px) rotate(-45deg)}} #eGTlUwR8z4P10_tr {animation: eGTlUwR8z4P10_tr__tr 3000ms linear infinite normal forwards}@keyframes eGTlUwR8z4P10_tr__tr { 0% {transform: translate(6.404278px,35.645587px) rotate(0deg)} 100% {transform: translate(6.404278px,35.645587px) rotate(540deg)}}]]></style><defs><circle id="eGTlUwR8z4P2" r="21"/></defs><g id="eGTlUwR8z4P3"><use id="eGTlUwR8z4P4" width="42" height="42" xlink:href="#eGTlUwR8z4P2" transform="matrix(1 0 0 1 21 21)" fill="rgb(214,236,255)" fill-rule="evenodd" stroke="none" stroke-width="1"/><g id="eGTlUwR8z4P5" transform="matrix(1 0 0 1 -5 -5)" mask="url(#eGTlUwR8z4P8)"><g id="eGTlUwR8z4P6_to" transform="translate(28.832737,28.515591)"><g id="eGTlUwR8z4P6_tr" transform="rotate(0)"><path id="eGTlUwR8z4P6" d="M0.035940,8.750059C0.063656,8.429593,0.275522,8.154298,0.578219,8.044525C0.881669,7.934076,1.221346,8.009259,1.449631,8.236309L6.120383,12.889171L11.298317,11.255856L12.937806,6.097497L8.266979,1.444259C8.038393,1.216759,7.963830,0.878286,8.073942,0.576504C8.185185,0.274122,8.460843,0.063504,8.783198,0.035742C11.619843,-0.207740,14.399248,0.801227,16.408767,2.803479C19.160982,5.545555,19.889820,9.549759,18.599197,12.962854L18.809386,13.146093L18.809386,13.146093L34.624815,28.015046L34.624815,28.015046C36.458395,29.841796,36.458395,32.814073,34.624815,34.641123C32.846506,36.412371,30.007722,36.445161,28.165692,34.779859L27.973615,34.595878L27.973615,34.595878L13.389931,18.942447C13.256998,18.809414,13.133554,18.670228,13.017190,18.527366C9.590289,19.815455,5.568389,19.091088,2.813763,16.347211C0.804695,14.344809,-0.208763,11.575646,0.035940,8.750059Z" transform="translate(-7.273379,-7.350875)" fill="rgb(62,153,230)" stroke="none" stroke-width="1"/></g></g><g id="eGTlUwR8z4P7_tr" transform="translate(22.130591,20.855046) rotate(45)"><polygon id="eGTlUwR8z4P7" points="25.131897,13.355000 27.606770,14.380126 28.631896,16.855000 27.606770,19.329874 25.131897,20.355000 22.657024,19.329874 21.631898,16.855000 22.657024,14.380126 25.131897,13.355000" transform="scale(1,1) translate(-25.120481,-16.830519)" fill="rgb(62,153,230)" fill-rule="evenodd" stroke="none" stroke-width="1"/></g><mask id="eGTlUwR8z4P8" mask-type="luminance"><use id="eGTlUwR8z4P9" width="42" height="42" xlink:href="#eGTlUwR8z4P2" transform="matrix(1 0 0 1 26 26)" fill="rgb(255,255,255)" fill-rule="evenodd" stroke="none" stroke-width="1"/></mask></g></g><g id="eGTlUwR8z4P10_tr" transform="translate(6.404278,35.645587) rotate(0)"><path id="eGTlUwR8z4P10" d="M12.145139,5.288957L11.459367,5.045729C11.260782,4.975131,11.101437,4.823644,11.020889,4.628874C10.940341,4.434104,10.946143,4.214314,11.036854,4.024064L11.036854,4.024064L11.348864,3.366971C11.582069,2.875285,11.480861,2.290059,11.096077,1.905257C10.711294,1.520456,10.126097,1.419243,9.634434,1.652459L8.977372,1.965026C8.787023,2.055330,8.567335,2.060791,8.372735,1.980056C8.178134,1.899321,8.026827,1.739944,7.956298,1.541409L7.712541,0.856146C7.529787,0.343557,7.044422,0.001303,6.500252,0.001303C5.956082,0.001303,5.470718,0.343557,5.287964,0.856146L5.044206,1.541950C4.973565,1.740388,4.822211,1.899637,4.627623,1.980263C4.433036,2.060889,4.213411,2.055353,4.023133,1.965026L3.366070,1.652459C2.874408,1.419243,2.289211,1.520456,1.904427,1.905257C1.519644,2.290059,1.418436,2.875285,1.651641,3.366971L1.963651,4.024064C2.054185,4.214336,2.059896,4.434053,1.979369,4.628772C1.898842,4.823491,1.739613,4.974990,1.541138,5.045729L0.855366,5.289498C0.342670,5.471988,0.000252,5.957345,0.000252,6.501574C0.000252,7.045803,0.342670,7.531160,0.855366,7.713650L1.541138,7.957419C1.739578,8.028036,1.898807,8.179432,1.979342,8.374067C2.059876,8.568702,2.054175,8.788348,1.963651,8.978542L1.651641,9.635636C1.418436,10.127322,1.519644,10.712547,1.904427,11.097349C2.289211,11.482151,2.874408,11.583364,3.366070,11.350147L4.023133,11.038123C4.213366,10.947440,4.433137,10.941723,4.627828,11.022391C4.822518,11.103060,4.973848,11.262541,5.044206,11.461198L5.287964,12.146461C5.470718,12.659049,5.956082,13.001303,6.500252,13.001303C7.044422,13.001303,7.529787,12.659049,7.712541,12.146461L7.956298,11.460656C8.026912,11.262206,8.178300,11.102970,8.372926,11.022431C8.567551,10.941893,8.787187,10.947594,8.977372,11.038123L9.634434,11.350147C10.126097,11.583364,10.711294,11.482151,11.096077,11.097349C11.480861,10.712547,11.582069,10.127322,11.348864,9.635636L11.036854,8.978542C10.946330,8.788348,10.940628,8.568702,11.021163,8.374067C11.101698,8.179432,11.260927,8.028036,11.459367,7.957419L12.145139,7.713108C12.657835,7.530619,13.000252,7.045261,13.000252,6.501032C13.000252,5.956804,12.657835,5.471446,12.145139,5.288957ZM6.500506,8.937961C5.522257,8.923714,4.642152,8.337988,4.248136,7.438967C3.734472,6.190271,4.324308,4.759764,5.566794,4.240877C6.810551,3.741521,8.224055,4.328936,8.752369,5.564716C9.266033,6.813413,8.676196,8.243920,7.433710,8.762807C7.137933,8.884941,6.820257,8.944566,6.500506,8.937961Z" transform="translate(-6.500252,-6.501303)" fill="rgb(46,104,154)" stroke="none" stroke-width="1"/></g></svg>