PluginProbe
YayMail – WooCommerce Email Customizer / 4.4.5
YayMail – WooCommerce Email Customizer v4.4.5
4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 trunk 1.9.6 2.1.4 2.1.5 3.2.2 3.2.6 3.2.7.1 3.2.8.1 3.2.9 3.3 3.3.1 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4 3.4.1 All 57 releases
← All changes | vendor-prefixed/src/License/RestAPI.php +15 -16 4.4.2 → 4.4.5 View file →
@@ -3,15 +3,14 @@
3 3 namespace YayMailScoped\YayCommerce\AdminShell\License;
4 4
5 5 use YayMailScoped\YayCommerce\AdminShell\License\Contracts\LicenseConfigAdapter;
6 6 use YayMailScoped\YayCommerce\AdminShell\Support\Slug;
7 -\defined('ABSPATH') || exit;
7 +defined('ABSPATH') || exit;
8 8 /**
9 9 * Per-plugin REST routes for license management.
10 10 *
11 11 * REST namespace: {slug}/v1 (derived from adapter slug).
12 12 * Ported from YayMail Pro RestAPI.php — CorePlugin::get() replaced with adapter.
13 - * @internal
14 13 */
15 14 class RestAPI
16 15 {
17 16 protected LicenseConfigAdapter $adapter;
@@ -19,9 +18,9 @@
19 18 {
20 19 $this->adapter = $adapter;
21 20 add_action('rest_api_init', [$this, 'init_rest_api']);
22 21 }
23 - public function init_rest_api() : void
22 + public function init_rest_api(): void
24 23 {
25 24 $namespace = Slug::to_var_name($this->adapter->get_plugin_slug()) . '/v1';
26 25 register_rest_route($namespace, '/license/activate', ['methods' => [\WP_REST_Server::CREATABLE], 'callback' => [$this, 'activate_license'], 'permission_callback' => [$this, 'permission_callback']]);
27 26 register_rest_route($namespace, '/license/update', ['methods' => [\WP_REST_Server::CREATABLE], 'callback' => [$this, 'update_license'], 'permission_callback' => [$this, 'permission_callback']]);
@@ -26,9 +25,9 @@
26 25 register_rest_route($namespace, '/license/activate', ['methods' => [\WP_REST_Server::CREATABLE], 'callback' => [$this, 'activate_license'], 'permission_callback' => [$this, 'permission_callback']]);
27 26 register_rest_route($namespace, '/license/update', ['methods' => [\WP_REST_Server::CREATABLE], 'callback' => [$this, 'update_license'], 'permission_callback' => [$this, 'permission_callback']]);
28 27 register_rest_route($namespace, '/license/delete', ['methods' => [\WP_REST_Server::CREATABLE], 'callback' => [$this, 'remove_license'], 'permission_callback' => [$this, 'permission_callback']]);
29 28 }
30 - public function activate_license(\WP_REST_Request $request_data) : \WP_REST_Response
29 + public function activate_license(\WP_REST_Request $request_data): \WP_REST_Response
31 30 {
32 31 $nonce = $request_data->get_header('x_wp_nonce');
33 32 if (!wp_verify_nonce($nonce, 'wp_rest')) {
34 33 return new \WP_REST_Response(['success' => \false, 'message' => 'Nonce is invalid'], 403);
@@ -38,17 +37,17 @@
38 37 $activate_response = $license->activate($license_key);
39 38 $return = ['success' => $activate_response['success'], 'name' => $this->adapter->get_plugin_name(), 'slug' => $this->adapter->get_plugin_slug()];
40 39 if ($activate_response['success']) {
41 40 $_plugin = ['slug' => $this->adapter->get_plugin_slug(), 'name' => $this->adapter->get_plugin_name()];
42 - \ob_start();
41 + ob_start();
43 42 include __DIR__ . '/../../views/license-card.php';
44 - $return['html'] = \ob_get_clean();
43 + $return['html'] = ob_get_clean();
45 44 } else {
46 45 $return['message'] = LicenseAPI::get_error_message($activate_response['message'] ?? '');
47 46 }
48 47 return new \WP_REST_Response($return);
49 48 }
50 - public function update_license(\WP_REST_Request $request_data) : \WP_REST_Response
49 + public function update_license(\WP_REST_Request $request_data): \WP_REST_Response
51 50 {
52 51 $nonce = $request_data->get_header('x_wp_nonce');
53 52 if (!wp_verify_nonce($nonce, 'wp_rest')) {
54 53 return new \WP_REST_Response(['success' => \false, 'message' => 'Nonce is invalid'], 403);
@@ -57,19 +56,19 @@
57 56 $update_response = $license->update();
58 57 $return = ['success' => $update_response['success'], 'name' => $this->adapter->get_plugin_name(), 'slug' => $this->adapter->get_plugin_slug()];
59 58 $_plugin = ['slug' => $this->adapter->get_plugin_slug(), 'name' => $this->adapter->get_plugin_name()];
60 59 if ($update_response['success'] || !empty($update_response['is_server_error'])) {
61 - \ob_start();
60 + ob_start();
62 61 include __DIR__ . '/../../views/license-card.php';
63 - $return['html'] = \ob_get_clean();
62 + $return['html'] = ob_get_clean();
64 63 } else {
65 - \ob_start();
64 + ob_start();
66 65 include __DIR__ . '/../../views/license-activate-card.php';
67 - $return['html'] = \ob_get_clean();
66 + $return['html'] = ob_get_clean();
68 67 }
69 68 return new \WP_REST_Response($return);
70 69 }
71 - public function remove_license(\WP_REST_Request $request_data) : \WP_REST_Response
70 + public function remove_license(\WP_REST_Request $request_data): \WP_REST_Response
72 71 {
73 72 $nonce = $request_data->get_header('x_wp_nonce');
74 73 if (!wp_verify_nonce($nonce, 'wp_rest')) {
75 74 return new \WP_REST_Response(['success' => \false, 'message' => 'Nonce is invalid'], 403);
@@ -77,14 +76,14 @@
77 76 $license = new License($this->adapter);
78 77 $license->remove();
79 78 $return = ['success' => \true, 'name' => $this->adapter->get_plugin_name(), 'slug' => $this->adapter->get_plugin_slug()];
80 79 $_plugin = $return;
81 - \ob_start();
80 + ob_start();
82 81 include __DIR__ . '/../../views/license-activate-card.php';
83 - $return['html'] = \ob_get_clean();
82 + $return['html'] = ob_get_clean();
84 83 return new \WP_REST_Response($return);
85 84 }
86 - public function permission_callback() : bool
85 + public function permission_callback(): bool
87 86 {
88 - return \current_user_can($this->adapter->get_capability());
87 + return current_user_can($this->adapter->get_capability());
89 88 }
90 89 }