You've already forked wp-fedistream
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:
@@ -7,6 +7,8 @@
|
||||
|
||||
namespace WP_FediStream\Frontend;
|
||||
|
||||
use WP_FediStream\License\Manager as LicenseManager;
|
||||
|
||||
// Prevent direct file access.
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
@@ -36,6 +38,11 @@ class Ajax {
|
||||
* @return void
|
||||
*/
|
||||
public function get_track(): void {
|
||||
// Check license.
|
||||
if ( ! LicenseManager::is_license_valid() ) {
|
||||
wp_send_json_error( array( 'message' => __( 'This feature requires a valid license.', 'wp-fedistream' ) ) );
|
||||
}
|
||||
|
||||
// Verify nonce.
|
||||
if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['nonce'] ), 'wp-fedistream-nonce' ) ) {
|
||||
wp_send_json_error( array( 'message' => __( 'Invalid nonce.', 'wp-fedistream' ) ) );
|
||||
@@ -125,6 +132,11 @@ class Ajax {
|
||||
* @return void
|
||||
*/
|
||||
public function record_play(): void {
|
||||
// Check license.
|
||||
if ( ! LicenseManager::is_license_valid() ) {
|
||||
wp_send_json_error( array( 'message' => __( 'This feature requires a valid license.', 'wp-fedistream' ) ) );
|
||||
}
|
||||
|
||||
// Verify nonce.
|
||||
if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_key( $_POST['nonce'] ), 'wp-fedistream-nonce' ) ) {
|
||||
wp_send_json_error( array( 'message' => __( 'Invalid nonce.', 'wp-fedistream' ) ) );
|
||||
|
||||
Reference in New Issue
Block a user