PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.5.1
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.5.1
4.0.8 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 All 149 releases
← All changes | vendor/codeinwp/themeisle-sdk/src/Modules/Logger.php +6 -106 3.10.143.5.1 View file →
@@ -28,14 +28,9 @@
28 28 * Endpoint where to collect logs.
29 29 */
30 30 const TRACKING_ENDPOINT = 'https://api.themeisle.com/tracking/log';
31 31
32 - /**
33 - * Endpoint where to collect telemetry.
34 - */
35 - const TELEMETRY_ENDPOINT = 'https://api.themeisle.com/tracking/events';
36 32
37 -
38 33 /**
39 34 * Check if we should load the module for this product.
40 35 *
41 36 * @param Product $product Product to load the module for.
@@ -42,8 +37,9 @@
42 37 *
43 38 * @return bool Should we load ?
44 39 */
45 40 public function can_load( $product ) {
41 +
46 42 return apply_filters( $product->get_slug() . '_sdk_enable_logger', true );
47 43 }
48 44
49 45 /**
@@ -56,8 +52,9 @@
56 52 public function load( $product ) {
57 53 $this->product = $product;
58 54 $this->setup_notification();
59 55 $this->setup_actions();
56 +
60 57 return $this;
61 58 }
62 59
63 60 /**
@@ -78,20 +75,14 @@
78 75 public function setup_actions() {
79 76 if ( ! $this->is_logger_active() ) {
80 77 return;
81 78 }
82 -
83 - $can_load_telemetry = apply_filters( 'themeisle_sdk_enable_telemetry', false );
84 -
85 - if ( $can_load_telemetry ) {
86 - add_action( 'admin_enqueue_scripts', array( $this, 'load_telemetry' ) );
87 - }
88 -
89 79 $action_key = $this->product->get_key() . '_log_activity';
90 80 if ( ! wp_next_scheduled( $action_key ) ) {
91 81 wp_schedule_single_event( time() + ( wp_rand( 1, 24 ) * 3600 ), $action_key );
92 82 }
93 83 add_action( $action_key, array( $this, 'send_log' ) );
84 +
94 85 }
95 86
96 87 /**
97 88 * Check if the logger is active.
@@ -125,9 +116,9 @@
125 116 * @return array All notifications.
126 117 */
127 118 public function add_notification( $all_notifications ) {
128 119
129 - $message = apply_filters( $this->product->get_key() . '_logger_heading', Loader::$labels['logger']['notice'] );
120 + $message = apply_filters( $this->product->get_key() . '_logger_heading', 'Do you enjoy <b>{product}</b>? Become a contributor by opting in to our anonymous data tracking. We guarantee no sensitive data is collected.' );
130 121
131 122 $message = str_replace(
132 123 array( '{product}' ),
133 124 $this->product->get_friendly_name(),
@@ -132,10 +123,10 @@
132 123 array( '{product}' ),
133 124 $this->product->get_friendly_name(),
134 125 $message
135 126 );
136 - $button_submit = apply_filters( $this->product->get_key() . '_logger_button_submit', Loader::$labels['logger']['cta_y'] );
137 - $button_cancel = apply_filters( $this->product->get_key() . '_logger_button_cancel', Loader::$labels['logger']['cta_n'] );
127 + $button_submit = apply_filters( $this->product->get_key() . '_logger_button_submit', 'Sure, I would love to help.' );
128 + $button_cancel = apply_filters( $this->product->get_key() . '_logger_button_cancel', 'No, thanks.' );
138 129
139 130 $all_notifications[] = [
140 131 'id' => $this->product->get_key() . '_logger_flag',
141 132 'message' => $message,
@@ -183,97 +174,6 @@
183 174 'license' => apply_filters( $this->product->get_key() . '_license_status', '' ),
184 175 ),
185 176 )
186 177 );
187 - }
188 -
189 - /**
190 - * Load telemetry.
191 - *
192 - * @return void
193 - */
194 - public function load_telemetry() {
195 - // See which products have telemetry enabled.
196 - try {
197 - $products_with_telemetry = array();
198 - $all_products = Loader::get_products();
199 - $all_products[ $this->product->get_slug() ] = $this->product; // Add current product to the list of products to check for telemetry.
200 -
201 - foreach ( $all_products as $product_slug => $product ) {
202 -
203 - // Ignore pro products.
204 - if ( false !== strstr( $product_slug, 'pro' ) ) {
205 - continue;
206 - }
207 -
208 - $default = 'no';
209 -
210 - if ( ! $product->is_wordpress_available() ) {
211 - $default = 'yes';
212 - } else {
213 - $pro_slug = $product->get_pro_slug();
214 -
215 - if ( ! empty( $pro_slug ) && isset( $all_products[ $pro_slug ] ) ) {
216 - $default = 'yes';
217 - }
218 - }
219 -
220 - if ( 'yes' === get_option( $product->get_key() . '_logger_flag', $default ) ) {
221 -
222 - $main_slug = explode( '-', $product_slug );
223 - $main_slug = $main_slug[0];
224 - $pro_slug = $product->get_pro_slug();
225 - $track_hash = Licenser::create_license_hash( str_replace( '-', '_', ! empty( $pro_slug ) ? $pro_slug : $product_slug ) );
226 -
227 - // Check if product was already tracked.
228 - $active_telemetry = false;
229 - foreach ( $products_with_telemetry as &$product_with_telemetry ) {
230 - if ( $product_with_telemetry['slug'] === $main_slug ) {
231 - $active_telemetry = true;
232 - break;
233 - }
234 - }
235 -
236 - if ( $active_telemetry ) {
237 - continue;
238 - }
239 -
240 - $products_with_telemetry[] = array(
241 - 'slug' => $main_slug,
242 - 'trackHash' => $track_hash ? $track_hash : 'free',
243 - 'consent' => true,
244 - );
245 - }
246 - }
247 -
248 - $products_with_telemetry = apply_filters( 'themeisle_sdk_telemetry_products', $products_with_telemetry );
249 -
250 - if ( 0 === count( $products_with_telemetry ) ) {
251 - return;
252 - }
253 -
254 -
255 - $tracking_handler = apply_filters( 'themeisle_sdk_dependency_script_handler', 'tracking' );
256 - if ( ! empty( $tracking_handler ) ) {
257 - do_action( 'themeisle_sdk_dependency_enqueue_script', 'tracking' );
258 - wp_localize_script(
259 - $tracking_handler,
260 - 'tiTelemetry',
261 - array(
262 - 'products' => $products_with_telemetry,
263 - 'endpoint' => self::TELEMETRY_ENDPOINT,
264 - )
265 - );
266 - }
267 - } catch ( \Exception $e ) {
268 - if ( defined( 'WP_DEBUG' ) && WP_DEBUG && defined( 'WP_DEBUG_LOG' ) && WP_DEBUG_LOG ) {
269 - error_log( $e->getMessage() ); // phpcs:ignore
270 - }
271 - } catch ( \Error $e ) {
272 - if ( defined( 'WP_DEBUG' ) && WP_DEBUG && defined( 'WP_DEBUG_LOG' ) && WP_DEBUG_LOG ) {
273 - error_log( $e->getMessage() ); // phpcs:ignore
274 - }
275 - } finally {
276 - return;
277 - }
278 178 }
279 179 }