Changeset 3457399
- Timestamp:
- 02/09/2026 07:45:29 PM (8 weeks ago)
- Location:
- mediamoo-for-spaces/trunk
- Files:
-
- 5 edited
-
composer.json (modified) (1 diff)
-
loader.php (modified) (1 diff)
-
mediamoo_dos_class.php (modified) (8 diffs)
-
mediamoo_dos_settings_page.php (modified) (3 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
mediamoo-for-spaces/trunk/composer.json
r3318431 r3457399 2 2 "name": "creatorcow/mediamoo-for-spaces", 3 3 "type": "plugin", 4 "version": "1.0. 0",4 "version": "1.0.1", 5 5 "keywords": [ 6 6 "mediamoo", -
mediamoo-for-spaces/trunk/loader.php
r3318431 r3457399 8 8 * Plugin URI: https://wordpress.org/plugins/mediamoo-for-spaces/ 9 9 * Description: MediaMoo For Spaces, syncs your media library with DigitalOcean Spaces Container automatically. 10 * Version: 1.0. 010 * Version: 1.0.1 11 11 * Author: creatorcow 12 12 * Author URI: https://creatorcow.com -
mediamoo-for-spaces/trunk/mediamoo_dos_class.php
r3318431 r3457399 9 9 private $container; 10 10 private $storage_path; 11 private $cdn_url; 11 12 private $storage_file_only; 12 13 private $storage_file_delete; … … 25 26 defined( 'MEDIAMOO_DOS_ENDPOINT' ) ? MEDIAMOO_DOS_ENDPOINT : null, 26 27 defined( 'MEDIAMOO_DOS_STORAGE_PATH' ) ? MEDIAMOO_DOS_STORAGE_PATH : null, 28 defined( 'MEDIAMOO_DOS_CDN_URL' ) ? MEDIAMOO_DOS_CDN_URL : null, 27 29 defined( 'MEDIAMOO_DOS_STORAGE_FILE_ONLY' ) ? MEDIAMOO_DOS_STORAGE_FILE_ONLY : null, 28 30 defined( 'MEDIAMOO_DOS_STORAGE_FILE_DELETE' ) ? MEDIAMOO_DOS_STORAGE_FILE_DELETE : null, … … 33 35 } 34 36 35 public function __construct( $key, $secret, $container, $endpoint, $storage_path, $ storage_file_only, $storage_file_delete, $filter ) {37 public function __construct( $key, $secret, $container, $endpoint, $storage_path, $cdn_url, $storage_file_only, $storage_file_delete, $filter ) { 36 38 $this->key = empty($key) ? get_option('mediamoo_dos_key') : $key; 37 39 $this->secret = empty($secret) ? get_option('mediamoo_dos_secret') : $secret; … … 39 41 $this->container = empty($container) ? get_option('mediamoo_dos_container') : $container; 40 42 $this->storage_path = empty($storage_path) ? get_option('mediamoo_dos_storage_path') : $storage_path; 43 $this->cdn_url = empty($cdn_url) ? get_option('mediamoo_dos_cdn_url') : $cdn_url; 41 44 $this->storage_file_only = empty($storage_file_only) ? get_option('mediamoo_dos_storage_file_only') : $storage_file_only; 42 45 $this->storage_file_delete = empty($storage_file_delete) ? get_option('mediamoo_dos_storage_file_delete') : $storage_file_delete; … … 68 71 add_filter('wp_unique_filename',array($this,'filter_wp_unique_filename')); 69 72 add_filter('plugin_action_links_' . plugin_basename(MEDIAMOO_DOS_PLUGIN_FILE), array($this, 'mediamoo_dos_plugin_action_links')); 73 add_filter('upload_dir', array($this, 'filter_upload_dir')); 70 74 } 71 75 … … 111 115 register_setting('mediamoo_dos_settings', 'mediamoo_dos_container', array('type' => 'string','sanitize_callback' => 'sanitize_text_field')); 112 116 register_setting('mediamoo_dos_settings', 'mediamoo_dos_storage_path', array('type' => 'string','sanitize_callback' => 'sanitize_text_field')); 117 register_setting('mediamoo_dos_settings', 'mediamoo_dos_cdn_url', array('type' => 'string','sanitize_callback' => 'esc_url_raw')); 113 118 register_setting('mediamoo_dos_settings', 'mediamoo_dos_storage_file_only', array('type' => 'integer','sanitize_callback' => 'absint')); 114 119 register_setting('mediamoo_dos_settings', 'mediamoo_dos_storage_file_delete', array('type' => 'integer','sanitize_callback' => 'absint')); … … 173 178 array_unshift($links, $settings_link); 174 179 return $links; 180 } 181 182 public function filter_upload_dir($uploads) { 183 if (!empty($this->cdn_url)) { 184 $cdn_base = rtrim($this->cdn_url, '/'); 185 if (!empty($this->storage_path)) { 186 $cdn_base .= '/' . trim($this->storage_path, '/'); 187 } 188 $uploads['baseurl'] = $cdn_base; 189 $uploads['url'] = $cdn_base . $uploads['subdir']; 190 } 191 return $uploads; 175 192 } 176 193 … … 638 655 delete_option('mediamoo_dos_container'); 639 656 delete_option('mediamoo_dos_storage_path'); 657 delete_option('mediamoo_dos_cdn_url'); 640 658 delete_option('mediamoo_dos_storage_file_only'); 641 659 delete_option('mediamoo_dos_storage_file_delete'); -
mediamoo-for-spaces/trunk/mediamoo_dos_settings_page.php
r3318431 r3457399 94 94 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> 95 95 <h4> 96 File & Pathsettings96 Spaces settings 97 97 </h4> 98 98 </div> … … 101 101 <div class="row larger"> 102 102 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-2"> 103 <label for="mediamoo_dos_cdn_url"> 104 CDN/Public URL: 105 </label> 106 </div> 107 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-10"> 108 <input id="mediamoo_dos_cdn_url" name="mediamoo_dos_cdn_url" type="text" class="regular-text code" value="<?php echo esc_attr( defined( 'MEDIAMOO_DOS_CDN_URL' ) ? MEDIAMOO_DOS_CDN_URL : get_option('mediamoo_dos_cdn_url') ); ?>" 109 <?php echo ( defined( 'MEDIAMOO_DOS_CDN_URL' ) ? 'disabled' : '' ); ?>/> 110 <div class="mediamoo_dos__description"> 111 The base URL where your files are publicly accessible.<br /> 112 Example: <code>https://bucket.nyc3.cdn.digitaloceanspaces.com</code> or a custom domain like <code>https://cdn.yoursite.com</code> 113 </div> 114 </div> 115 </div> 116 <div class="row larger" style="margin-top: 10px;"> 117 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-2"> 103 118 <label for="mediamoo_dos_storage_path"> 104 Storage prefix: 105 </label> 106 </div> 107 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-10"> 108 <input id="mediamoo_dos_storage_path" name="mediamoo_dos_storage_path" type="text" class="regular-text code" value="<?php echo esc_attr( defined( 'mediamoo_dos_STORAGE_PATH' ) ? mediamoo_dos_STORAGE_PATH : get_option('mediamoo_dos_storage_path') ); ?>" 109 <?php echo ( defined( 'mediamoo_dos_STORAGE_PATH' ) ? 'disabled' : '' ); ?>/> 110 <div class="mediamoo_dos__description"> 111 The path to the file in the storage will appear as a prefix / path.<br />It likely should be this: 112 <code><?php echo esc_html(get_option('mediamoo_dos_storage_path')); ?></code> 113 </div> 114 </div> 115 </div> 119 Spaces Storage Folder: 120 </label> 121 </div> 122 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-10"> 123 <input id="mediamoo_dos_storage_path" name="mediamoo_dos_storage_path" type="text" class="regular-text code" value="<?php echo esc_attr( defined( 'MEDIAMOO_DOS_STORAGE_PATH' ) ? MEDIAMOO_DOS_STORAGE_PATH : get_option('mediamoo_dos_storage_path') ); ?>" 124 <?php echo ( defined( 'MEDIAMOO_DOS_STORAGE_PATH' ) ? 'disabled' : '' ); ?>/> 125 <div class="mediamoo_dos__description"> 126 Optional folder prefix within your Spaces bucket. Files will be stored under this folder.<br /> 127 Example: <code>website</code> will store files as <code>bucket/website/2026/02/image.jpg</code> 128 </div> 129 </div> 130 </div> 131 </div> 132 <div class="row"> 133 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> 134 <h4> 135 File settings 136 </h4> 137 </div> 138 </div> 139 <div class="mediamoo_dos__block"> 116 140 <div class="row" style="margin-top: 10px;margin-bottom: 10px;"> 117 141 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-2"> … … 121 145 </div> 122 146 <div class="col-xs-12 col-sm-12 col-md-12 col-lg-10"> 123 <input id="mediamoo_dos_filter" name="mediamoo_dos_filter" type="text" class="regular-text code" value="<?php echo esc_attr( defined( ' mediamoo_dos_FILTER' ) ? mediamoo_dos_FILTER : get_option('mediamoo_dos_filter') ); ?>"124 <?php echo ( defined( ' mediamoo_dos_FILTER' ) ? 'disabled' : '' ); ?>/>147 <input id="mediamoo_dos_filter" name="mediamoo_dos_filter" type="text" class="regular-text code" value="<?php echo esc_attr( defined( 'MEDIAMOO_DOS_FILTER' ) ? MEDIAMOO_DOS_FILTER : get_option('mediamoo_dos_filter') ); ?>" 148 <?php echo ( defined( 'MEDIAMOO_DOS_FILTER' ) ? 'disabled' : '' ); ?>/> 125 149 <div class="mediamoo_dos__description"> 126 150 By default empty or <code>*</code> -
mediamoo-for-spaces/trunk/readme.txt
r3318431 r3457399 3 3 Tags: spaces, storage, sync, backup, media 4 4 Requires at least: 5.4 5 Tested up to: 6. 86 Stable tag: 1.0. 05 Tested up to: 6.9.1 6 Stable tag: 1.0.1 7 7 Requires PHP: 7.4 8 8 License: MIT … … 61 61 == Changelog == 62 62 63 = 1.0.1 = 64 * Added CDN/Public URL field - allows you to set a custom CDN or public URL for serving media files from Spaces. Supports custom domains. 65 * Added Spaces Storage Folder field (renamed from Storage prefix) - organize WordPress media in a subfolder within your Spaces bucket. 66 * Fixed broken image URLs when using a storage folder prefix. WordPress attachment URLs now correctly include the folder path. 67 * Reorganized settings page: new "Spaces settings" section for CDN URL and Storage Folder, renamed "File & Path settings" to "File settings". 68 * Added MEDIAMOO_DOS_CDN_URL constant support for wp-config.php. 69 63 70 = 1.0.0 = 64 71 * Initial release.
Note: See TracChangeset
for help on using the changeset viewer.