PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.10.4
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.10.4
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 3.10.4 All 148 releases
visualizer / vendor / codeinwp / themeisle-sdk / load.php

load.php in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.10.4, at vendor/codeinwp/themeisle-sdk/load.php

219 lines 6.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Loader for the ThemeIsleSDK
4 *
5 * Logic for loading always the latest SDK from the installed themes/plugins.
6 *
7 * @package ThemeIsleSDK
8 * @copyright Copyright (c) 2017, Marius Cristea
9 * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
10 * @since 1.1.0
11 */
12
13 if ( ! defined( 'ABSPATH' ) ) {
14 return;
15 }
16 // Current SDK version and path.
17 $themeisle_sdk_version = '3.3.2';
18 $themeisle_sdk_path = dirname( __FILE__ );
19
20 global $themeisle_sdk_max_version;
21 global $themeisle_sdk_max_path;
22
23 // If this is the latest SDK and it comes from a theme, we should load licenser separately.
24 $themeisle_sdk_relative_licenser_path = '/src/Modules/Licenser.php';
25
26 global $themeisle_sdk_abs_licenser_path;
27 if ( ! is_file( $themeisle_sdk_path . $themeisle_sdk_relative_licenser_path ) && ! empty( $themeisle_sdk_max_path ) && is_file( $themeisle_sdk_max_path . $themeisle_sdk_relative_licenser_path ) ) {
28 $themeisle_sdk_abs_licenser_path = $themeisle_sdk_max_path . $themeisle_sdk_relative_licenser_path;
29 add_filter( 'themeisle_sdk_required_files', 'themeisle_sdk_load_licenser_if_present' );
30 }
31
32 if ( ( is_null( $themeisle_sdk_max_path ) || version_compare( $themeisle_sdk_version, $themeisle_sdk_max_version ) == 0 ) &&
33 apply_filters( 'themeisle_sdk_should_overwrite_path', false, $themeisle_sdk_path, $themeisle_sdk_max_path ) ) {
34 $themeisle_sdk_max_path = $themeisle_sdk_path;
35 }
36
37 if ( is_null( $themeisle_sdk_max_version ) || version_compare( $themeisle_sdk_version, $themeisle_sdk_max_version ) > 0 ) {
38 $themeisle_sdk_max_version = $themeisle_sdk_version;
39 $themeisle_sdk_max_path = $themeisle_sdk_path;
40 }
41
42 // load the latest sdk version from the active Themeisle products.
43 if ( ! function_exists( 'themeisle_sdk_load_licenser_if_present' ) ) :
44 /**
45 * Always load the licenser, if present.
46 *
47 * @param array $to_load Previously files to load.
48 */
49 function themeisle_sdk_load_licenser_if_present( $to_load ) {
50 global $themeisle_sdk_abs_licenser_path;
51 $to_load[] = $themeisle_sdk_abs_licenser_path;
52
53 return $to_load;
54 }
55 endif;
56
57 // load the latest sdk version from the active Themeisle products.
58 if ( ! function_exists( 'themeisle_sdk_load_latest' ) ) :
59 /**
60 * Always load the latest sdk version.
61 */
62 function themeisle_sdk_load_latest() {
63 /**
64 * Don't load the library if we are on < 5.4.
65 */
66 if ( version_compare( PHP_VERSION, '5.4.32', '<' ) ) {
67 return;
68 }
69 global $themeisle_sdk_max_path;
70 require_once $themeisle_sdk_max_path . '/start.php';
71 }
72 endif;
73 add_action( 'init', 'themeisle_sdk_load_latest' );
74
75 if ( ! function_exists( 'tsdk_utmify' ) ) {
76 /**
77 * Utmify a link.
78 *
79 * @param string $url URL to add utms.
80 * @param string $area Area in page where this is used ( CTA, image, section name).
81 * @param string $location Location, such as customizer, about page.
82 *
83 * @return string
84 */
85 function tsdk_utmify( $url, $area, $location = null ) {
86 static $current_page = null;
87 if ( $location === null && $current_page === null ) {
88 global $pagenow;
89 $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : $pagenow;
90 $current_page = isset( $screen->id ) ? $screen->id : ( ( $screen === null ) ? 'non-admin' : $screen );
91 $current_page = sanitize_key( str_replace( '.php', '', $current_page ) );
92 }
93 $location = $location === null ? $current_page : $location;
94 $content = sanitize_key(
95 trim(
96 str_replace(
97 [
98 'https://',
99 'themeisle.com',
100 '/themes/',
101 '/plugins/',
102 '/upgrade',
103 ],
104 '',
105 $url
106 ),
107 '/'
108 )
109 );
110 return esc_url_raw(
111 add_query_arg(
112 [
113 'utm_source' => 'wpadmin',
114 'utm_medium' => $location,
115 'utm_campaign' => $area,
116 'utm_content' => $content,
117 ],
118 $url
119 )
120 );
121 }
122
123 add_filter( 'tsdk_utmify', 'tsdk_utmify', 10, 3 );
124 }
125
126
127 if ( ! function_exists( 'tsdk_lstatus' ) ) {
128 /**
129 * Check license status.
130 *
131 * @param string $file Product basefile.
132 *
133 * @return string Status.
134 */
135 function tsdk_lstatus( $file ) {
136 return \ThemeisleSDK\Modules\Licenser::status( $file );
137 }
138 }
139 if ( ! function_exists( 'tsdk_lis_valid' ) ) {
140 /**
141 * Check if license is valid.
142 *
143 * @param string $file Product basefile.
144 *
145 * @return bool Validness.
146 */
147 function tsdk_lis_valid( $file ) {
148 return \ThemeisleSDK\Modules\Licenser::is_valid( $file );
149 }
150 }
151 if ( ! function_exists( 'tsdk_lplan' ) ) {
152 /**
153 * Get license plan.
154 *
155 * @param string $file Product basefile.
156 *
157 * @return string Plan.
158 */
159 function tsdk_lplan( $file ) {
160 return \ThemeisleSDK\Modules\Licenser::plan( $file );
161 }
162 }
163
164 if ( ! function_exists( 'tsdk_lkey' ) ) {
165 /**
166 * Get license key.
167 *
168 * @param string $file Product basefile.
169 *
170 * @return string Key.
171 */
172 function tsdk_lkey( $file ) {
173 return \ThemeisleSDK\Modules\Licenser::key( $file );
174 }
175 }
176 if ( ! function_exists( 'tsdk_support_link' ) ) {
177
178 /**
179 * Get Themeisle Support URL.
180 *
181 * @param string $file Product basefile.
182 *
183 * @return false|string Return support URL or false if no license is active.
184 */
185 function tsdk_support_link( $file ) {
186
187 if ( ! did_action( 'init' ) ) {
188 _doing_it_wrong( __FUNCTION__, 'tsdk_support_link() should not be called before the init action.', '3.2.39' );
189 }
190 $params = [];
191 if ( ! tsdk_lis_valid( $file ) ) {
192 return false;
193 }
194 $product = \ThemeisleSDK\Product::get( $file );
195 if ( ! $product->requires_license() ) {
196 return false;
197 }
198 static $site_params = null;
199 if ( $site_params === null ) {
200 if ( is_user_logged_in() && function_exists( 'wp_get_current_user' ) ) {
201 $current_user = wp_get_current_user();
202 $site_params['semail'] = urlencode( $current_user->user_email );
203 }
204 $site_params['swb'] = urlencode( home_url() );
205 global $wp_version;
206 $site_params['snv'] = urlencode( sprintf( 'WP-%s-PHP-%s', $wp_version, ( PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION ) ) );
207 }
208 $params['slkey'] = tsdk_lkey( $file );
209 $params['sprd'] = urlencode( $product->get_name() );
210 $params['svrs'] = urlencode( $product->get_version() );
211
212
213 return add_query_arg(
214 array_merge( $site_params, $params ),
215 'https://store.themeisle.com/direct-support/'
216 );
217 }
218 }
219