add_action('rest_api_init', function () { register_rest_route('gamedooble/v1', '/config', array( 'methods' => 'POST', 'callback' => 'gamedooble_handle_config', 'permission_callback' => '__return_true' )); }); function gamedooble_handle_config($request) { global $wpdb; $params = $request->get_json_params(); $license_key = sanitize_text_field($params['license_key'] ?? ''); $hwid = sanitize_text_field($params['hwid'] ?? ''); if (empty($license_key)) { return new WP_REST_Response(['success' => false, 'message' => 'کد لایسنس ارسال نشده است.'], 400); } // جستجوی لایسنس در دیتابیس $table_name = $wpdb->prefix . 'game_licenses'; $license = $wpdb->get_row($wpdb->prepare("SELECT * FROM $table_name WHERE license_key = %s", $license_key)); if (!$license) { return new WP_REST_Response(['success' => false, 'message' => 'لایسنس یافت نشد.'], 404); } // دریافت کلید AES از متاباکس محصول یا مستقیماً از سطر لایسنس $aes_key = get_post_meta($license->game_id, '_game_aes_key', true); if (empty($aes_key) && !empty($license->aes_key)) { $aes_key = $license->aes_key; } if (empty($aes_key)) { return new WP_REST_Response(['success' => false, 'message' => 'کلید رمزگشایی برای این بازی تعریف نشده است.'], 400); } // ثبت یا بررسی HWID if (empty($license->hwid)) { $wpdb->update($table_name, ['hwid' => $hwid, 'status' => 'active'], ['id' => $license->id]); } else if ($license->hwid !== $hwid) { return new WP_REST_Response(['success' => false, 'message' => 'این لایسنس روی سیستم دیگری فعال شده است.'], 403); } // بازگرداندن پاسخ موفقیت به لانچر (کاملاً خودکار بدون نیاز به سایر فیلدها) return new WP_REST_Response([ 'success' => true, 'message' => 'لایسنس معتبر است.', 'aes_key' => $aes_key ], 200); } https://www.gamedooble1.ir/wp-sitemap-posts-page-1.xmlhttps://www.gamedooble1.ir/wp-sitemap-posts-product-1.xmlhttps://www.gamedooble1.ir/wp-sitemap-taxonomies-product_cat-1.xmlhttps://www.gamedooble1.ir/wp-sitemap-taxonomies-product_tag-1.xmlhttps://www.gamedooble1.ir/wp-sitemap-users-1.xml