PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 4.0.1
Visualizer – Tables & Charts Manager with Built-in AI Generator v4.0.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 | classes/Visualizer/Module/Admin.php +20 -44 4.0.84.0.1 View file →
@@ -80,8 +80,9 @@
80 80 $this->_addAction( 'admin_menu', 'registerAdminMenu' );
81 81 $this->_addFilter( 'media_view_strings', 'setupMediaViewStrings' );
82 82 $this->_addFilter( 'plugin_action_links', 'getPluginActionLinks', 10, 2 );
83 83 $this->_addFilter( 'plugin_row_meta', 'getPluginMetaLinks', 10, 2 );
84 + $this->_addFilter( 'visualizer_logger_data', 'getLoggerData' );
84 85 $this->_addFilter( 'visualizer_feedback_review_trigger', 'feedbackReviewTrigger' );
85 86 $this->_addFilter( 'themeisle_sdk_blackfriday_data', 'add_black_friday_data' );
86 87
87 88 // screen pagination
@@ -221,9 +222,9 @@
221 222
222 223 if ( $meta ) {
223 224 foreach ( $meta as $key => $value ) {
224 225 if ( 0 === strpos( $key, 'visualizer' ) ) {
225 - add_metadata( 'post', $revision_id, $key, self::maybe_decode_content( $value[0] ) );
226 + add_metadata( 'post', $revision_id, $key, maybe_unserialize( $value[0] ) );
226 227 }
227 228 }
228 229 }
229 230 }
@@ -249,9 +250,9 @@
249 250
250 251 if ( $meta ) {
251 252 foreach ( $meta as $key => $value ) {
252 253 if ( 0 === strpos( $key, 'visualizer' ) ) {
253 - add_post_meta( $post_id, $key, self::maybe_decode_content( $value[0] ) );
254 + add_post_meta( $post_id, $key, maybe_unserialize( $value[0] ) );
254 255 }
255 256 }
256 257 }
257 258 }
@@ -435,9 +436,9 @@
435 436 'library' => array(
436 437 'filters' => $chart_types,
437 438 'types' => array_keys( $chart_types ),
438 439 ),
439 - 'nonce' => wp_create_nonce( Visualizer_Plugin::ACTION_GET_CHARTS ),
440 + 'nonce' => wp_create_nonce(),
440 441 'buildurl' => esc_url( add_query_arg( 'action', Visualizer_Plugin::ACTION_CREATE_CHART, admin_url( 'admin-ajax.php' ) ) ),
441 442 );
442 443
443 444 return $strings;
@@ -1405,21 +1406,18 @@
1405 1406 }
1406 1407 }
1407 1408
1408 1409 if ( $plugin_file === plugin_basename( VISUALIZER_BASEFILE ) ) {
1409 - $is_black_friday = apply_filters( 'themeisle_sdk_is_black_friday_sale', false );
1410 1410 // knowledge base link
1411 1411 $plugin_meta[] = sprintf(
1412 1412 '<a href="' . VISUALIZER_MAIN_DOC . '" target="_blank">%s</a>',
1413 1413 esc_html__( 'Docs', 'visualizer' )
1414 1414 );
1415 - if ( ! $is_black_friday ) {
1416 - // flattr link
1417 - $plugin_meta[] = sprintf(
1418 - '<a style="color:red" href="' . tsdk_utmify( Visualizer_Plugin::PRO_TEASER_URL, 'pluginrow' ) . '" target="_blank">%s</a>',
1419 - esc_html__( 'Get Visualizer Pro', 'visualizer' )
1420 - );
1421 - }
1415 + // flattr link
1416 + $plugin_meta[] = sprintf(
1417 + '<a style="color:red" href="' . tsdk_utmify( Visualizer_Plugin::PRO_TEASER_URL, 'pluginrow' ) . '" target="_blank">%s</a>',
1418 + esc_html__( 'Get Visualizer Pro', 'visualizer' )
1419 + );
1422 1420 }
1423 1421
1424 1422 return $plugin_meta;
1425 1423 }
@@ -1599,53 +1597,31 @@
1599 1597 */
1600 1598 public function add_black_friday_data( $configs ) {
1601 1599 $config = $configs['default'];
1602 1600
1603 - $message = __( 'Database queries, private charts, auto-sync. Go beyond basic charts. Exclusively for existing Visualizer users.', 'visualizer' );
1604 - $cta_label = __( 'Get Visualizer Pro', 'visualizer' );
1601 + // translators: %1$s - HTML tag, %2$s - discount, %3$s - HTML tag, %4$s - product name.
1602 + $message_template = __( 'Our biggest sale of the year: %1$sup to %2$s OFF%3$s on %4$s. Don\'t miss this limited-time offer.', 'visualizer' );
1603 + $product_label = 'Visualizer';
1604 + $discount = '70%';
1605 1605
1606 1606 $plan = apply_filters( 'product_visualizer_license_plan', 0 );
1607 1607 $license = apply_filters( 'product_visualizer_license_key', false );
1608 - $status = apply_filters( 'product_visualizer_license_status', false );
1609 - $pro_product_slug = defined( 'VISUALIZER_PRO_BASEFILE' ) ? basename( dirname( VISUALIZER_PRO_BASEFILE ) ) : '';
1608 + $is_pro = 0 < $plan;
1610 1609
1611 - $is_pro = 'valid' === $status;
1612 - $is_expired = 'expired' === $status || 'active-expired' === $status;
1613 -
1614 1610 if ( $is_pro ) {
1615 - // translators: %s is the discount percentage.
1616 - $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - up to %s off', 'visualizer' ), '30%' );
1617 - // translators: %1$s - discount, %2$s - discount.
1618 - $message = sprintf( __( 'Upgrade your Visualizer Pro plan: %1$s off this week. Already on the plan you need? Renew early and save up to %2$s.', 'visualizer' ), '30%', '20%' );
1619 - $cta_label = __( 'See your options', 'visualizer' );
1620 - } elseif ( $is_expired ) {
1621 - // translators: %s is the discount percentage.
1622 - $config['upgrade_menu_text'] = sprintf( __( 'BF Sale - %s off', 'visualizer' ), '50%' );
1623 - // translators: %s is the discount percentage.
1624 - $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - %s off', 'visualizer' ), '50%' );
1625 - $message = __( 'Your Visualizer Pro features are still here, just locked. Renew at a reduced rate this week.', 'visualizer' );
1626 - $cta_label = __( 'Reactivate now', 'visualizer' );
1627 - } else {
1628 - // translators: %s is the discount percentage.
1629 - $config['plugin_meta_message'] = sprintf( __( 'Black Friday Sale - %s off', 'visualizer' ), '60%' );
1630 - $config['title'] = __( 'Visualizer Pro: 60% off this week', 'visualizer' );
1631 - // translators: %s is the discount percentage.
1632 - $config['upgrade_menu_text'] = sprintf( __( 'BF Sale - %s off', 'visualizer' ), '60%' );
1611 + // translators: %1$s - HTML tag, %2$s - discount, %3$s - HTML tag, %4$s - product name.
1612 + $message_template = __( 'Get %1$sup to %2$s off%3$s when you upgrade your %4$s plan or renew early.', 'visualizer' );
1613 + $product_label = 'Visualizer Pro';
1614 + $discount = '30%';
1633 1615 }
1634 1616
1617 + $product_label = sprintf( '<strong>%s</strong>', $product_label );
1635 1618 $url_params = array(
1636 1619 'utm_term' => $is_pro ? 'plan-' . $plan : 'free',
1637 1620 'lkey' => ! empty( $license ) ? $license : false,
1638 - 'expired' => $is_expired ? '1' : false,
1639 1621 );
1640 1622
1641 - if ( ( $is_pro || $is_expired ) && ! empty( $pro_product_slug ) ) {
1642 - $config['plugin_meta_targets'] = array( $pro_product_slug );
1643 - }
1644 -
1645 - $config['message'] = $message;
1646 - $config['cta_label'] = $cta_label;
1647 -
1623 + $config['message'] = sprintf( $message_template, '<strong>', $discount, '</strong>', $product_label );
1648 1624 $config['sale_url'] = add_query_arg(
1649 1625 $url_params,
1650 1626 tsdk_translate_link( tsdk_utmify( 'https://themeisle.link/vizualizer-bf', 'bfcm', 'visualizer' ) )
1651 1627 );