You've already forked wc-licensed-product
Clean up roadmap after v0.3.0 and v0.3.1 completion
- Removed completed v0.3.0 and v0.3.1 items from roadmap - Added session history for v0.3.0 (Self-Licensing) - Added session history for v0.3.1 (Settings UI Improvements) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
62
CLAUDE.md
62
CLAUDE.md
@@ -36,12 +36,6 @@ This project is proudly **"vibe-coded"** using Claude.AI - the entire codebase w
|
||||
|
||||
No known bugs at the moment.
|
||||
|
||||
### Version 0.3.0
|
||||
|
||||
- Implement License check using the composer package `magdev/wc-licensed-product-client` located in the local folder `/home/magdev/workspaces/php/wc-licensed-product-client`
|
||||
- Add license configuration to the plugins settings page
|
||||
- Hide frontend parts if no valid license is provided
|
||||
|
||||
## Technical Stack
|
||||
|
||||
- **Language:** PHP 8.3.x
|
||||
@@ -790,3 +784,59 @@ Added SHA256 checksum display to both admin version list and customer download s
|
||||
- Created release package: `releases/wc-licensed-product-0.2.2.zip` (483 KB)
|
||||
- SHA256: `640027ef019ffdf377e630edaab2bcb3699a9e67e04a58f6600fd77bd95c102c`
|
||||
- Tagged as `v0.2.2` and pushed to `main` branch
|
||||
|
||||
### 2026-01-22 - Version 0.3.0 - Self-Licensing
|
||||
|
||||
**Overview:**
|
||||
|
||||
Implemented self-licensing functionality. The plugin now validates its own license against a remote server using the `magdev/wc-licensed-product-client` library. Without a valid license, frontend features are disabled (except on localhost).
|
||||
|
||||
**Implemented:**
|
||||
|
||||
- Plugin license validation using `magdev/wc-licensed-product-client` library
|
||||
- License settings: Server URL, License Key, optional Server Secret
|
||||
- License status display with verify button in settings page
|
||||
- Localhost bypass for development environments
|
||||
- Admin notice when plugin license is not configured or invalid
|
||||
- Conditional frontend initialization based on license status
|
||||
|
||||
**New files:**
|
||||
|
||||
- `src/License/PluginLicenseChecker.php` - Singleton class for license validation
|
||||
|
||||
**Modified files:**
|
||||
|
||||
- `composer.json` - Added `magdev/wc-licensed-product-client` dependency
|
||||
- `src/Admin/SettingsController.php` - Added license settings fields and status display
|
||||
- `src/Plugin.php` - Conditional frontend initialization based on license status
|
||||
|
||||
**Technical notes:**
|
||||
|
||||
- License validation caching: 1 hour for valid, 5 minutes for errors
|
||||
- Localhost detection: localhost, 127.0.0.1, ::1, .localhost, .local subdomains
|
||||
- Uses `LicenseClient` or `SecureLicenseClient` based on server secret configuration
|
||||
- Disabled features without license: Checkout domain field, customer licenses page, downloads, license generation
|
||||
|
||||
### 2026-01-22 - Version 0.3.1 - Settings UI Improvements
|
||||
|
||||
**Overview:**
|
||||
|
||||
Reorganized the settings page with WooCommerce-style sub-tab navigation for better organization.
|
||||
|
||||
**Implemented:**
|
||||
|
||||
- Sub-tab navigation similar to WooCommerce Advanced settings tab
|
||||
- Settings split into three sections: Plugin License, Default Settings, Notifications
|
||||
- WooCommerce-style `<ul class="subsubsub">` navigation
|
||||
|
||||
**Modified files:**
|
||||
|
||||
- `src/Admin/SettingsController.php` - Major refactoring with sub-sections
|
||||
- `languages/*` - Updated translations for new strings
|
||||
|
||||
**Technical notes:**
|
||||
|
||||
- Added `getSections()` returning three sub-tabs
|
||||
- Added `outputSections()` for WooCommerce-style navigation rendering
|
||||
- Split `getSettingsFields()` into section-specific methods using PHP 8 match expression
|
||||
- Hooks: `woocommerce_sections_licensed_product` for sub-navigation
|
||||
|
||||
Reference in New Issue
Block a user