PluginProbe ʕ •ᴥ•ʔ
Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF / 2.0.6
Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF v2.0.6
2.0.6 2.0.5 trunk 1.3.7 1.4.0 1.4.1 1.4.2 1.4.6 1.5.0 1.5.3 1.5.6 1.5.8 1.6.5 1.6.6 1.6.9 1.7.0 1.7.4 1.8.1 1.8.2 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4
robin-image-optimizer / libs / factory / templates / includes / ajax-handlers.php
robin-image-optimizer / libs / factory / templates / includes Last commit date
ajax-handlers.php 7 months ago class-configurate.php 7 months ago class-helpers.php 7 months ago class-search-options.php 7 months ago index.php 7 months ago
ajax-handlers.php
97 lines
1 <?php
2 /**
3 * Ajax handlers
4 *
5 * @version 1.0
6 */
7
8 // Exit if accessed directly
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit;
11 }
12
13 /**
14 * Обработчик ajax запросов для проверки, активации, деактивации лицензионного ключа
15 *
16 * @param Wbcr_Factory600_Plugin $plugin_instance
17 *
18 * @since 2.0.7
19 */
20 function wbcr_factory_templates_600_check_license( $plugin_instance ) {
21
22 $plugin_name = $plugin_instance->request->post( 'plugin_name', null, true );
23
24 if ( ( $plugin_instance->getPluginName() !== $plugin_name ) || ! $plugin_instance->current_user_can() ) {
25 wp_die( -1, 403 );
26 }
27
28 $action = $plugin_instance->request->post( 'license_action', false, true );
29 $license_key = $plugin_instance->request->post( 'licensekey', null );
30
31 check_admin_referer( "clearfy_activate_license_for_{$plugin_name}" );
32
33 if ( empty( $action ) || ! in_array( $action, [ 'activate', 'deactivate', 'sync', 'unsubscribe' ] ) ) {
34 wp_send_json_error( [ 'error_message' => __( 'This licensing action is not permitted.', 'robin-image-optimizer' ) ] );
35 die();
36 }
37
38 $result = null;
39 $success_message = '';
40
41 try {
42 switch ( $action ) {
43 case 'activate':
44 if ( empty( $license_key ) ) {
45 wp_send_json_error( [ 'error_message' => __( 'License key is empty.', 'robin-image-optimizer' ) ] );
46 } else {
47 $plugin_instance->premium->activate( $license_key );
48 $success_message = __( 'Your license has been successfully activated', 'robin-image-optimizer' );
49 }
50 break;
51 case 'deactivate':
52 $plugin_instance->premium->deactivate();
53 $success_message = __( 'The license is deactivated', 'robin-image-optimizer' );
54 break;
55 case 'sync':
56 $plugin_instance->premium->sync();
57 $success_message = __( 'The license has been updated', 'robin-image-optimizer' );
58 break;
59 case 'unsubscribe':
60 $plugin_instance->premium->cancel_paid_subscription();
61 $success_message = __( 'Subscription success cancelled', 'robin-image-optimizer' );
62 break;
63 }
64 } catch ( Exception $e ) {
65
66 /**
67 * Экшен выполняется, когда проверка лицензии вернула ошибку
68 *
69 * @param string $action
70 * @param mixed $license_key
71 * @param string $error_message
72 *
73 * @since 2.0.7
74 * @since 2.1.2 Переименован в {$plugin_name}/factory/clearfy/check_license_error
75 */
76 do_action( "{$plugin_name}/factory/clearfy/check_license_error", $action, $license_key, $e->getMessage() );
77
78 wp_send_json_error( [ 'error_message' => $e->getMessage() ] );
79 die();
80 }
81
82 /**
83 * Экшен выполняется, когда проверка лицензии успешно завершена
84 *
85 * @param string $license_key
86 *
87 * @param string $action
88 * @since 2.1.2 Переименован в {$plugin_name}/factory/clearfy/check_license_success
89 * @since 2.0.7
90 */
91 do_action( "{$plugin_name}/factory/clearfy/check_license_success", $action, $license_key );
92
93 wp_send_json_success( [ 'message' => $success_message ] );
94
95 die();
96 }
97