PluginProbe
Image Optimizer – Compress Images and Convert to WebP or AVIF / trunk
Image Optimizer – Compress Images and Convert to WebP or AVIF vtrunk
1.7.7 1.7.6 1.7.5 1.7.4 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.2.0 1.2.1 1.3.0 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 All 33 releases
← All changes | modules/oauth/rest/activate.php +27 -33 1.0.0 → trunk View file →
@@ -1,18 +1,23 @@
1 1 <?php
2 2
3 -namespace ImageOptimizer\Modules\Oauth\Rest;
3 +namespace ImageOptimization\Modules\Oauth\Rest;
4 4
5 -use ImageOptimizer\Classes\Utils;
6 -use ImageOptimizer\Modules\Oauth\Classes\{
7 - Data, Route_Base
5 +use ImageOptimization\Modules\Oauth\{
6 + Classes\Route_Base,
7 + Components\Connect,
8 8 };
9 -use ImageOptimizer\Modules\Oauth\Components\Checkpoint;
10 -use ImageOptimizer\Modules\Oauth\Components\Connect;
9 +
10 +use Throwable;
11 11 use WP_REST_Request;
12 12
13 +if ( ! defined( 'ABSPATH' ) ) {
14 + exit; // Exit if accessed directly.
15 +}
16 +
13 17 class Activate extends Route_Base {
14 - const NONCE_NAME = 'image-optimizer-activate-subscription';
18 + const NONCE_NAME = 'image-optimization-activate-subscription';
19 +
15 20 protected string $path = 'activate';
16 21
17 22 public function get_name(): string {
18 23 return 'activate';
@@ -22,16 +27,20 @@
22 27 return [ 'POST' ];
23 28 }
24 29
25 30 public function POST( WP_REST_Request $request ) {
26 - $this->verify_nonce_and_capability(
31 + $error = $this->verify_nonce_and_capability(
27 32 $request->get_param( self::NONCE_NAME ),
28 33 self::NONCE_NAME
29 34 );
30 35
36 + if ( $error ) {
37 + return $error;
38 + }
39 +
31 40 if ( ! Connect::is_connected() ) {
32 41 return $this->respond_error_json( [
33 - 'message' => esc_html__( 'Please connect first', 'image-optimizer' ),
42 + 'message' => esc_html__( 'Please connect first', 'image-optimization' ),
34 43 'code' => 'forbidden',
35 44 ] );
36 45 }
37 46
@@ -36,9 +45,9 @@
36 45 }
37 46
38 47 if ( Connect::is_activated() ) {
39 48 return $this->respond_error_json( [
40 - 'message' => esc_html__( 'Already activated', 'image-optimizer' ),
49 + 'message' => esc_html__( 'Already activated', 'image-optimization' ),
41 50 'code' => 'bad_request',
42 51 ] );
43 52 }
44 53
@@ -43,38 +52,23 @@
43 52 }
44 53
45 54 if ( ! $request->get_param( 'license_key' ) ) {
46 55 return $this->respond_error_json( [
47 - 'message' => esc_html__( 'Missing license key', 'image-optimizer' ),
56 + 'message' => esc_html__( 'Missing license key', 'image-optimization' ),
48 57 'code' => 'bad_request',
49 58 ] );
50 59 }
51 60
52 - $key = $request->get_param( 'license_key' );
61 + $license_key = $request->get_param( 'license_key' );
53 62
54 - $response = Utils::get_api_client()->make_request(
55 - 'POST',
56 - 'activation/activate',
57 - [],
58 - [ 'key' => $key ]
59 - );
63 + try {
64 + Connect::activate( $license_key );
60 65
61 - if ( is_wp_error( $response ) ) {
66 + return $this->respond_success_json();
67 + } catch ( Throwable $t ) {
62 68 return $this->respond_error_json( [
63 - 'message' => $response->get_error_message(),
69 + 'message' => $t->getMessage(),
64 70 'code' => 'internal_server_error',
65 71 ] );
66 72 }
67 -
68 - if ( ! isset( $response->id ) ) {
69 - return $this->respond_error_json( [
70 - 'message' => esc_html__( 'Invalid response from server', 'image-optimizer' ),
71 - 'code' => 'internal_server_error',
72 - ] );
73 - }
74 -
75 - Data::set_activation_state( $key );
76 -
77 - do_action( Checkpoint::ON_ACTIVATE, $key );
78 - return rest_ensure_response( [ 'success' => true ] );
79 - }
73 + }
80 74 }