feat: Add license management and tabbed settings (v0.3.0)

- Implement license management using magdev/wc-licensed-product-client
- Reorganize settings page into License, Default Settings, Integrations tabs
- Add license validation and activation via AJAX
- Frontend features require valid license (admin works always)
- Update translations with German (de_CH) for license strings

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-29 12:03:05 +01:00
parent d62f01cf41
commit f3cd19efe0
15 changed files with 6539 additions and 99 deletions

View File

@@ -345,11 +345,18 @@ class Installer {
*/
private static function set_default_options(): void {
$defaults = array(
'wp_fedistream_enable_activitypub' => 1,
'wp_fedistream_enable_woocommerce' => 0,
'wp_fedistream_audio_formats' => array( 'mp3', 'wav', 'flac', 'ogg' ),
'wp_fedistream_max_upload_size' => 50, // MB
'wp_fedistream_default_license' => 'all-rights-reserved',
'wp_fedistream_enable_activitypub' => 1,
'wp_fedistream_enable_woocommerce' => 0,
'wp_fedistream_audio_formats' => array( 'mp3', 'wav', 'flac', 'ogg' ),
'wp_fedistream_max_upload_size' => 50, // MB
'wp_fedistream_default_license' => 'all-rights-reserved',
// License management options.
'wp_fedistream_license_key' => '',
'wp_fedistream_license_server_url' => '',
'wp_fedistream_license_server_secret' => '',
'wp_fedistream_license_status' => 'unchecked',
'wp_fedistream_license_data' => array(),
'wp_fedistream_license_last_check' => 0,
);
foreach ( $defaults as $option => $value ) {