PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.4.8
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.4.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 3.10.4 All 148 releases
← All changes | classes/Visualizer/Module/Setup.php +12 -101 3.10.43.4.8 View file →
@@ -52,10 +52,8 @@
52 52 $this->_addAction( 'plugins_loaded', 'loadTextDomain' );
53 53 $this->_addFilter( 'visualizer_logger_data', 'getLoggerData' );
54 54 $this->_addFilter( 'visualizer_get_chart_counts', 'getUsage', 10, 2 );
55 55
56 - $this->_addAction( 'init', 'checkIsExistingUser' );
57 -
58 56 // only for testing
59 57 // $this->_addAction( 'admin_init', 'getUsage' );
60 58 }
61 59 /**
@@ -191,57 +189,15 @@
191 189
192 190 /**
193 191 * Activate the plugin
194 192 */
195 - public function activate( $network_wide ) {
196 - if ( is_multisite() && $network_wide ) {
197 - foreach ( get_sites( array( 'fields' => 'ids' ) ) as $blog_id ) {
198 - switch_to_blog( $blog_id );
199 - $this->activate_on_site();
200 - restore_current_blog();
201 - }
202 - } else {
203 - $this->activate_on_site();
204 - }
205 - }
206 -
207 - /**
208 - * Activates the plugin on a particular blog instance (supports multisite and single site).
209 - */
210 - private function activate_on_site() {
193 + public function activate() {
211 194 wp_clear_scheduled_hook( 'visualizer_schedule_refresh_db' );
212 - wp_schedule_event( strtotime( 'midnight' ) - get_option( 'gmt_offset' ) * HOUR_IN_SECONDS, apply_filters( 'visualizer_chart_schedule_interval', 'hourly' ), 'visualizer_schedule_refresh_db' );
195 + wp_schedule_event( strtotime( 'midnight' ) - get_option( 'gmt_offset' ) * HOUR_IN_SECONDS, 'hourly', 'visualizer_schedule_refresh_db' );
213 196 add_option( 'visualizer-activated', true );
214 - $is_fresh_install = get_option( 'visualizer_fresh_install', false );
215 - if ( ! defined( 'TI_CYPRESS_TESTING' ) && false === $is_fresh_install ) {
216 - update_option( 'visualizer_fresh_install', '1' );
217 - }
218 197 }
219 198
220 199 /**
221 - * Deactivate the plugin
222 - */
223 - public function deactivate( $network_wide ) {
224 - if ( is_multisite() && $network_wide ) {
225 - foreach ( get_sites( array( 'fields' => 'ids' ) ) as $blog_id ) {
226 - switch_to_blog( $blog_id );
227 - $this->deactivate_on_site();
228 - restore_current_blog();
229 - }
230 - } else {
231 - $this->deactivate_on_site();
232 - }
233 - }
234 -
235 - /**
236 - * Deactivates the plugin on a particular blog instance (supports multisite and single site).
237 - */
238 - private function deactivate_on_site() {
239 - wp_clear_scheduled_hook( 'visualizer_schedule_refresh_db' );
240 - delete_option( 'visualizer-activated', true );
241 - }
242 -
243 - /**
244 200 * Check if plugin has been activated and then redirect to the correct page.
245 201 */
246 202 public function adminInit() {
247 203 if ( defined( 'TI_UNIT_TESTING' ) ) {
@@ -247,9 +203,8 @@
247 203 if ( defined( 'TI_UNIT_TESTING' ) ) {
248 204 return;
249 205 }
250 206
251 - define( 'VISUALIZER_SURVEY', Visualizer_Module::is_pro() ? 'https://forms.gle/7Zo7FuZbvQ8DTvRi6' : 'https://forms.gle/muMtbcyvHn1aTvmJ7' );
252 207 // fire any upgrades necessary.
253 208 Visualizer_Module_Upgrade::upgrade();
254 209
255 210 if ( get_option( 'visualizer-activated' ) ) {
@@ -254,25 +209,10 @@
254 209
255 210 if ( get_option( 'visualizer-activated' ) ) {
256 211 delete_option( 'visualizer-activated' );
257 212 if ( ! headers_sent() ) {
258 - if ( ! Visualizer_Module::is_pro() && ! empty( get_option( 'visualizer_fresh_install', false ) ) ) {
259 - $redirect_url = array(
260 - 'page' => 'visualizer-setup-wizard',
261 - 'tab' => '#step-1',
262 - );
263 - } else {
264 - $page_name = Visualizer_Module::numberOfCharts() > 0 ? Visualizer_Plugin::NAME : 'viz-support';
265 - $redirect_url = array(
266 - 'page' => $page_name,
267 - );
268 - }
269 - wp_safe_redirect(
270 - add_query_arg(
271 - $redirect_url,
272 - admin_url( 'admin.php' )
273 - )
274 - );
213 + $page_name = Visualizer_Module::numberOfCharts() > 0 ? Visualizer_Plugin::NAME : 'viz-support';
214 + wp_redirect( add_query_arg( 'page', $page_name, admin_url( 'admin.php' ) ) );
275 215 exit();
276 216 }
277 217 }
278 218 }
@@ -278,8 +218,16 @@
278 218 }
279 219
280 220
281 221 /**
222 + * Deactivate the plugin
223 + */
224 + public function deactivate() {
225 + wp_clear_scheduled_hook( 'visualizer_schedule_refresh_db' );
226 + delete_option( 'visualizer-activated', true );
227 + }
228 +
229 + /**
282 230 * Refresh the specific chart from the db.
283 231 *
284 232 * @param WP_Post $chart The chart object.
285 233 * @param int $chart_id The chart id.
@@ -357,20 +305,8 @@
357 305 if ( $load_series ) {
358 306 update_post_meta( $chart_id, Visualizer_Plugin::CF_SERIES, $source->getSeries() );
359 307 }
360 308
361 - $allow_html = false;
362 - $settings = get_post_meta( $chart_id, Visualizer_Plugin::CF_SETTINGS, true );
363 - if ( isset( $settings['allowHtml'] ) && intval( $settings['allowHtml'] ) === 1 ) {
364 - $allow_html = true;
365 - }
366 -
367 - $allow_html = apply_filters( 'visualizer_allow_html_content', $allow_html, $chart_id, $chart );
368 -
369 - if ( $allow_html ) {
370 - kses_remove_filters();
371 - }
372 -
373 309 wp_update_post(
374 310 array(
375 311 'ID' => $chart_id,
376 312 'post_content' => $source->getData( get_post_meta( $chart_id, Visualizer_Plugin::CF_EDITABLE_TABLE, true ) ),
@@ -376,12 +312,8 @@
376 312 'post_content' => $source->getData( get_post_meta( $chart_id, Visualizer_Plugin::CF_EDITABLE_TABLE, true ) ),
377 313 )
378 314 );
379 315
380 - if ( $allow_html ) {
381 - kses_init_filters();
382 - }
383 -
384 316 $chart = get_post( $chart_id );
385 317 delete_post_meta( $chart_id, Visualizer_Plugin::CF_ERROR );
386 318 } else {
387 319 update_post_meta( $chart_id, Visualizer_Plugin::CF_ERROR, sprintf( 'Error while updating chart: %s', $error ) );
@@ -415,32 +347,11 @@
415 347 }
416 348
417 349 // if the time is nigh, we force an update.
418 350 $this->refresh_db_for_chart( null, $chart_id, true );
419 - // Clear existing chart cache.
420 - $cache_key = Visualizer_Plugin::CF_CHART_CACHE . '_' . $chart_id;
421 - if ( get_transient( $cache_key ) ) {
422 - delete_transient( $cache_key );
423 - }
424 351 $hours = get_post_meta( $chart_id, Visualizer_Plugin::CF_DB_SCHEDULE, true );
425 352 $new_schedules[ $chart_id ] = time() + $hours * HOUR_IN_SECONDS;
426 353 }
427 354 update_option( Visualizer_Plugin::CF_DB_SCHEDULE, $new_schedules );
428 - }
429 -
430 - /**
431 - * Save flag for existing users.
432 - */
433 - public function checkIsExistingUser() {
434 - $chart_exists = get_option( 'visualizer-new-user', '' );
435 - if ( '' === $chart_exists ) {
436 - $charts = get_posts(
437 - array(
438 - 'post_type' => Visualizer_Plugin::CPT_VISUALIZER,
439 - 'fields' => 'ids',
440 - )
441 - );
442 - update_option( 'visualizer-new-user', ! empty( $charts ) ? 'no' : 'yes' );
443 - }
444 355 }
445 356
446 357 }