=== Storage for EDD via Dropbox === author: mohammadr3z Contributors: mohammadr3z Tags: easy-digital-downloads, dropbox, storage, cloud, edd Requires at least: 5.0 Tested up to: 6.9 Stable tag: 1.2.0 Requires PHP: 7.4 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html Enable secure cloud storage and delivery of your digital products through Dropbox for Easy Digital Downloads. == Description == Storage for EDD via Dropbox is a powerful extension for Easy Digital Downloads that allows you to store and deliver your digital products using Dropbox cloud storage. This plugin provides seamless integration with Dropbox's API, featuring OAuth2 authentication and secure temporary download links. = Key Features = * **Dropbox Integration**: Store your digital products securely in Dropbox * **OAuth2 Authentication**: Secure and easy connection to your Dropbox account * **Temporary Download Links**: Generates secure 4-hour temporary links for downloads * **Easy File Management**: Upload files directly to Dropbox through WordPress admin * **Media Library Integration**: Browse and select files from your Dropbox within WordPress * **Folder Support**: Navigate and organize files in folders * **Security First**: Built with WordPress security best practices * **Developer Friendly**: Clean, well-documented code with hooks and filters == Installation == 1. Upload the plugin files to the `/wp-content/plugins/storage-for-edd-via-dropbox` directory, or install the plugin through the WordPress plugins screen directly. 2. Make sure you have Easy Digital Downloads plugin installed and activated. 3. Run `composer install` in the plugin directory if installing from source (not needed for release versions). 4. Activate the plugin through the 'Plugins' screen in WordPress. 5. Navigate to Downloads > Settings > Extensions > Dropbox Storage to configure the plugin. == Configuration == 1. Create a Dropbox App at [Dropbox Developer Console](https://www.dropbox.com/developers/apps) 2. Set OAuth Redirect URI to: `https://your-site.com/dbxe-oauth-callback/` 3. Go to Downloads > Settings > Extensions > Dropbox Storage 4. Enter your App Key and App Secret 5. Save settings and click "Connect to Dropbox" == Usage == = Browsing and Selecting Files = 1. When creating or editing a download in Easy Digital Downloads 2. Click the "Browse Dropbox" button next to the file URL field 3. Browse your Dropbox storage using the folder navigation 4. Use the breadcrumb navigation bar to quickly jump to parent folders 5. Use the search box in the header to filter files by name 6. Click "Select" to use an existing file for your download = Uploading New Files = 1. In the Dropbox browser, click the "Upload" button in the header row 2. The upload form will appear above the file list 3. Choose your file and click "Upload" 4. After a successful upload, the file URL will be automatically set with the Dropbox prefix 5. Click the button again to hide the upload form == Frequently Asked Questions == = How secure are the download links? = The plugin generates temporary download links that are valid for 4 hours. These links are generated on-demand when a customer purchases your product, ensuring that each download session gets a fresh, time-limited URL. = Why 4 hours? Can I change the link duration? = The 4-hour duration is set by Dropbox and cannot be changed. This is different from S3 where you can customize the expiry time. The 4-hour window is actually beneficial for larger files as it gives customers more time to complete their downloads. = What file types are supported for upload? = The plugin supports safe file types including: * Archives: ZIP, RAR, 7Z, TAR, GZ * Documents: PDF, DOC, DOCX, TXT, RTF, XLS, XLSX, CSV, PPT, PPTX * Images: JPG, JPEG, PNG, GIF, WEBP * Audio: MP3, WAV, OGG, FLAC, M4A * Video: MP4, AVI, MOV, WMV, FLV, WEBM * E-books: EPUB, MOBI, AZW, AZW3 * Web files: CSS, JS, JSON, XML Dangerous file types (executables, scripts) are automatically blocked for security. = Can I customize the URL prefix for Dropbox files? = Yes, developers can customize the URL prefix using the `dbxe_url_prefix` filter. Add this code to your theme's functions.php: ` function customize_dropbox_url_prefix($prefix) { return 'edd-myprefix://'; // Change to your preferred prefix } add_filter('dbxe_url_prefix', 'customize_dropbox_url_prefix'); ` = Can I customize the allowed file types (MIME types)? = Yes, developers can customize the allowed MIME types using the `dbxe_allowed_mime_types` filter. == Screenshots == 1. Admin panel user interface 2. File selection from Dropbox storage section 3. File upload to Dropbox storage interface == Changelog == = 1.2.0 = * Fixed initial file-browser loading to honor the selected default folder. * Matched the skeleton search placeholder to the live search field. * Rebuilt the Dropbox file browser with the new shadcn-style interface. * Added selected default-folder subtitle plus improved upload, focus, and scrollbar behavior. = 1.1.1 = * Updated: Internal vendor dependencies. = 1.1.0 = * Major Refactor: Replaced legacy iframe browser with modern AJAX implementation for improved performance. = 1.0.9 = * Improved: UI styles and enhanced layout consistency for better harmony. * Improved: Comprehensive code improvements and stability optimizations. * Added: Skeleton loader with shimmer animation for better UX while loading Dropbox browser modal. = 1.0.8 = * Use wp_enqueue commands: Replaced inline