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 |