Implement version 0.0.2 features

Add product version management:
- ProductVersion model and VersionManager class
- VersionAdminController with meta box on product edit page
- AJAX-based version CRUD (add, delete, toggle status)
- JavaScript for version management UI

Add email notifications:
- LicenseEmailController for order emails
- License keys included in order completed emails
- Support for both HTML and plain text emails

Add REST API rate limiting:
- 30 requests per minute per IP
- Cloudflare and proxy-aware IP detection
- HTTP 429 response with Retry-After header

Other changes:
- Bump version to 0.0.2
- Update CHANGELOG.md
- Add version status styles to admin.css

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-21 19:15:19 +01:00
parent 82c18633a1
commit dec4bd609b
10 changed files with 1269 additions and 4 deletions

View File

@@ -89,3 +89,59 @@
.column-license .dashicons-admin-network {
color: #2271b1;
}
/* Version Status Badges */
.version-status {
display: inline-block;
padding: 0.2em 0.5em;
font-size: 0.85em;
font-weight: 500;
line-height: 1.2;
border-radius: 3px;
}
.version-status-active {
background-color: #d4edda;
color: #155724;
}
.version-status-inactive {
background-color: #fff3cd;
color: #856404;
}
/* Version Meta Box */
.wc-licensed-product-versions .versions-add-form {
background: #f9f9f9;
padding: 15px;
border: 1px solid #e5e5e5;
border-radius: 4px;
margin-bottom: 20px;
}
.wc-licensed-product-versions .versions-add-form h4 {
margin-top: 0;
}
.wc-licensed-product-versions .form-table {
margin: 0;
}
.wc-licensed-product-versions .form-table th {
padding: 10px 10px 10px 0;
width: 120px;
}
.wc-licensed-product-versions .form-table td {
padding: 10px 0;
}
#versions-table {
margin-top: 10px;
}
#versions-table .no-versions td {
text-align: center;
font-style: italic;
color: #666;
}