Files
WPS3Media/assets/js/modal.min.js
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
1.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var as3cfModal=function($){var modal={prefix:"as3cf",loading:false,dismissible:true};var modals={};function targetToKey(target){return target.replace(/[^a-z]/g,"")}modal.exists=function(target){var key=targetToKey(target);if(undefined!==modals[key]){return true}if($(target).length){return true}return false};modal.open=function(target,callback,customClass){var key=targetToKey(target);$("body").append('<div id="as3cf-overlay"></div>');var $overlay=$("#as3cf-overlay");if(modal.dismissible){$overlay.append('<div id="as3cf-modal"><span class="close-as3cf-modal">×</span></div>')}else{$overlay.append('<div id="as3cf-modal"></div>')}var $modal=$("#as3cf-modal");if(undefined===modals[key]){var content=$(target);modals[key]=content.clone(true).css("display","block");content.remove()}$modal.data("as3cf-modal-target",target).append(modals[key]);if(undefined!==customClass){$modal.addClass(customClass)}if("function"===typeof callback){callback(target)}$("body").addClass("as3cf-modal-open");$overlay.fadeIn(150);$modal.fadeIn(150);$("body").trigger("as3cf-modal-open",[target])};modal.close=function(callback){if(modal.loading||!modal.dismissible){return}var target=$("#as3cf-modal").data("as3cf-modal-target");$("#as3cf-overlay").fadeOut(150,(function(){$("body").removeClass("as3cf-modal-open");$(this).remove();if("function"===typeof callback){callback(target)}}));$("body").trigger("as3cf-modal-close",[target])};modal.setLoadingState=function(state){modal.loading=state};modal.setDismissibleState=function(state){modal.dismissible=state};$(document).ready((function(){$("body").on("click","[data-as3cf-modal]",(function(e){e.preventDefault();modal.open($(this).data("as3cf-modal")+"."+modal.prefix)}));$("body").on("click","#as3cf-overlay, .close-as3cf-modal",(function(e){if("A"===e.target.tagName){return}e.preventDefault();if(e.target!==this){return false}modal.close()}))}));return modal}(jQuery);