Major improvements: Fix download limits, enhance license display, fix software filenames
🔧 Bug Fixes: - Fixed download limits defaulting to 5 instead of 0 for unlimited downloads - Fixed software license filename sanitization (spaces→dashes, dots→underscores, proper .zip extension) - Software downloads now show as "Test-Plugin-v2-2-0.zip" instead of "Test Plugin v2.2.0" ✨ UI/UX Enhancements: - Redesigned license key display to span full table width with FontAwesome copy icons - Added responsive CSS styling for license key rows - Integrated FontAwesome CDN for modern copy icons 🏗️ Architecture Improvements: - Added comprehensive filename sanitization in both download handler and API paths - Enhanced software license product handling for local package files - Improved error handling and logging throughout download processes 📦 Infrastructure: - Added Gitea workflows for automated releases on push to main - Created comprehensive .gitignore excluding test files and browser automation - Updated documentation with all recent improvements and technical insights 🔍 Technical Details: - Software license products served from wp-content/uploads/wpdd-packages/ - Download flow: token → process_download_by_token() → process_download() → deliver_file() - Dual path coverage for both API downloads and regular file delivery - Version placeholder system for automated deployment 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -104,11 +104,17 @@ class WPDD_Install {
|
||||
sale_amount decimal(10,2) NOT NULL,
|
||||
commission_rate decimal(5,2) NOT NULL,
|
||||
creator_earning decimal(10,2) NOT NULL,
|
||||
payout_id bigint(20) DEFAULT NULL,
|
||||
payout_status varchar(20) DEFAULT 'pending',
|
||||
available_at datetime DEFAULT NULL,
|
||||
created_at datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id),
|
||||
KEY creator_id (creator_id),
|
||||
KEY order_id (order_id),
|
||||
KEY product_id (product_id)
|
||||
KEY product_id (product_id),
|
||||
KEY payout_id (payout_id),
|
||||
KEY payout_status (payout_status),
|
||||
KEY available_at (available_at)
|
||||
) $charset_collate;";
|
||||
|
||||
$sql[] = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}wpdd_payouts (
|
||||
@@ -146,6 +152,22 @@ class WPDD_Install {
|
||||
) $charset_collate;";
|
||||
|
||||
// Software Licensing Tables
|
||||
$sql[] = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}wpdd_email_logs (
|
||||
id bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
to_email varchar(100) NOT NULL,
|
||||
subject varchar(255) NOT NULL,
|
||||
message longtext NOT NULL,
|
||||
status varchar(20) NOT NULL DEFAULT 'sent',
|
||||
email_type varchar(50) DEFAULT 'general',
|
||||
error_message text DEFAULT NULL,
|
||||
sent_at datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (id),
|
||||
KEY to_email (to_email),
|
||||
KEY status (status),
|
||||
KEY email_type (email_type),
|
||||
KEY sent_at (sent_at)
|
||||
) $charset_collate;";
|
||||
|
||||
$sql[] = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}wpdd_licenses (
|
||||
id bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
license_key varchar(64) NOT NULL,
|
||||
|
Reference in New Issue
Block a user