PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.9.21
Shortcodes and extra features for Phlox theme v2.9.21
2.17.21 2.17.20 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / includes / classes / class-auxels-envato-elements.php
auxin-elements / includes / classes Last commit date
class-auxels-admin-assets.php 3 years ago class-auxels-archive-menu-links.php 3 years ago class-auxels-envato-elements.php 3 years ago class-auxels-import-parser.php 3 years ago class-auxels-import.php 3 years ago class-auxels-search-post-type.php 3 years ago class-auxels-wc-attribute-nav-menu.php 4 years ago class-auxin-admin-dashboard.php 3 years ago class-auxin-demo-importer.php 3 years ago class-auxin-dependency-sorting.php 3 years ago class-auxin-import.php 3 years ago class-auxin-install.php 3 years ago class-auxin-master-nav-menu-admin.php 3 years ago class-auxin-page-template.php 4 years ago class-auxin-permalink.php 3 years ago class-auxin-plugin-requirements.php 3 years ago class-auxin-post-type-base.php 3 years ago class-auxin-svg-support-allowedattributes.php 7 years ago class-auxin-svg-support-allowedtags.php 7 years ago class-auxin-svg-support.php 3 years ago class-auxin-walker-nav-menu-back.php 3 years ago class-auxin-welcome-sections.php 3 years ago class-auxin-welcome.php 3 years ago class-auxin-whitelabel.php 3 years ago class-auxin-widget-indie.php 3 years ago class-auxin-widget-shortcode-map.php 3 years ago class-auxin-widget.php 3 years ago
class-auxels-envato-elements.php
149 lines
1 <?php
2 /**
3 * Main class for comunicating with envato elements
4 *
5 *
6 * @package Auxin
7 * @license LICENSE.txt
8 * @author averta
9 * @link http://phlox.pro/
10 * @copyright (c) 2010-2022 averta
11 */
12
13 // no direct access allowed
14 if ( ! defined('ABSPATH') ) exit;
15
16 /*--------------------------------*/
17
18
19 class Auxels_Envato_Elements {
20
21 /**
22 * Instance of this class.
23 *
24 * @var object
25 */
26 protected static $instance = null;
27
28 public $extension_id_endpoint = 'https://wp.envatoextensions.com/wp-json/elements-content/v1/activate';
29
30 public $token_verification_endpoint = 'https://api.extensions.envato.com/extensions/user_info';
31
32 /**
33 * Return an instance of this class.
34 *
35 * @return object A single instance of this class.
36 */
37 public static function get_instance() {
38
39 // If the single instance hasn't been set, set it now.
40 if ( null == self::$instance ) {
41 self::$instance = new self;
42 }
43
44 return self::$instance;
45 }
46
47 public function __construct() {
48 add_action( 'wp_ajax_aux_verify_envato_elements_email', array( $this, 'ajax_get_extension_id' ) );
49 add_action( 'wp_ajax_aux_verify_envato_elements_token', array( $this, 'ajax_verify_token' ) );
50 }
51
52 /**
53 * Return Extension ID for communicating with envato elements
54 */
55 public function ajax_get_extension_id() {
56
57 if ( ! empty( get_option( 'phlox_envato_elements_license_code', '' ) ) ) {
58 wp_send_json( array( 'status' => true, 'message' => __( 'Email verified.', 'auxin-elements') ) );
59 }
60
61 $admin_email = sanitize_email( $_POST['email'] );
62
63 if ( empty( $admin_email ) ) {
64 wp_send_json( array( 'status' => false, 'message' => __( "Email is required!", 'auxin-elements') ) );
65 }
66
67 $args['body'] = array(
68 'email' => $admin_email,
69 'condition_terms' => 1,
70 'condition_emails' => 0
71 );
72
73 $args['headers'] = array(
74 'user-agent' => 'Mozilla/5.0 ' . home_url(),
75 'sslverify' => 1,
76 );
77
78 $response = wp_remote_post( $this->extension_id_endpoint, $args );
79 if ( $response && ! is_wp_error( $response ) ) {
80 $response = json_decode( $response['body'], true );
81 if ( isset( $response['license_code'] ) ) {
82 update_option( 'phlox_envato_elements_license_code', $response['license_code'] );
83 wp_send_json( array( 'status' => true, 'message' => __( 'Email verified.', 'auxin-elements') ) );
84 } elseif ( isset( $response['error'] ) ) {
85 wp_send_json( array( 'status' => false, 'message' => $response['error'] ) );
86 } elseif ( isset( $response['message'] ) ) {
87 wp_send_json( array( 'status' => false, 'message' => $response['message'] ) );
88 } else {
89 wp_send_json( array( 'status' => false, 'message' => __( 'Something went wrong. Please try again later', 'auxin-elements' ) ) );
90 }
91 } else {
92 wp_send_json( array( 'status' => false, 'message' => $response->get_error_message() ) );
93 }
94 }
95
96 /**
97 * Verify Envato Elemnents token
98 */
99 public function ajax_verify_token() {
100 wp_send_json( $this->verify_token() );
101 }
102
103 public function verify_token() {
104
105 if ( ! empty( get_option( 'phlox_envato_elements_token', '' ) ) ) {
106 return array( 'status' => true, 'message' => __( 'Token is valid.', 'auxin-elements') );
107 }
108
109 $extension_id = get_option( 'phlox_envato_elements_license_code', '' );
110 $token = sanitize_text_field( $_POST['token'] );
111
112 $args['headers'] = array(
113 'Extensions-Extension-Id' => $extension_id,
114 'Extensions-Token' => $token
115 );
116
117 $response = wp_remote_get( $this->token_verification_endpoint, $args );
118
119 if ( $response && ! is_wp_error( $response ) ) {
120 $response = json_decode( $response['body'], true );
121 if ( isset( $response['error'] ) && isset( $response['error']['message'] ) ) {
122 return array( 'status' => false, 'message' => $response['error']['message'] );
123 }
124
125 if ( isset( $response['subscription_status'] ) && $response['subscription_status'] == 'paid' ) {
126 update_option( 'phlox_envato_elements_token', $token );
127 return array( 'status' => true, 'message' => __( 'Token is valid.', 'auxin-elements' ) );
128 } else {
129 return array( 'status' => false, 'message' => __( ' Token is not valid.', 'auxin-elements' ) );
130 }
131 } else {
132 if ( is_wp_error( $response ) ) {
133 return array( 'status' => false, 'message' => $response->get_error_message() );
134 } else {
135 return array( 'status' => false, 'message' => __( 'Something went wrong. Please try again later', 'auxin-elements' ) );
136 }
137 }
138 }
139
140 /**
141 * Check if envato elements token and extension id provided or not
142 */
143 public function is_envato_element_enabled() {
144 return ( ! empty( get_option( 'phlox_envato_elements_license_code', '' ) ) && ! empty( get_option( 'phlox_envato_elements_token', '' ) ) ) ? true : false;
145 }
146
147 } // end widget class
148
149