PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.10.8
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.10.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/Admin.php +94 -29 3.10.13.10.8 View file →
@@ -670,9 +670,9 @@
670 670 Visualizer_Plugin::NAME,
671 671 __( 'Chart Library', 'visualizer' ),
672 672 __( 'Chart Library', 'visualizer' ),
673 673 'edit_posts',
674 - admin_url( 'admin.php?page=' . Visualizer_Plugin::NAME )
674 + 'admin.php?page=' . Visualizer_Plugin::NAME
675 675 );
676 676 add_submenu_page(
677 677 Visualizer_Plugin::NAME,
678 678 __( 'Add New Chart', 'visualizer' ),
@@ -677,9 +677,9 @@
677 677 Visualizer_Plugin::NAME,
678 678 __( 'Add New Chart', 'visualizer' ),
679 679 __( 'Add New Chart', 'visualizer' ),
680 680 'edit_posts',
681 - admin_url( 'admin.php?page=' . Visualizer_Plugin::NAME . '&vaction=addnew' )
681 + 'admin.php?page=' . Visualizer_Plugin::NAME . '&vaction=addnew'
682 682 );
683 683 add_submenu_page(
684 684 Visualizer_Plugin::NAME,
685 685 __( 'Support', 'visualizer' ),
@@ -688,22 +688,12 @@
688 688 'viz-support',
689 689 array( $this, 'renderSupportPage' )
690 690 );
691 691
692 - if ( ! Visualizer_Module::is_pro() ) {
693 - add_submenu_page(
694 - Visualizer_Plugin::NAME,
695 - __( 'Get Visualizer Pro', 'visualizer' ),
696 - __( 'Get Visualizer Pro', 'visualizer' ),
697 - 'edit_posts',
698 - 'viz-get-pro',
699 - '__return_null'
700 - );
701 - add_action( 'admin_footer', array( $this, 'handleGetProSubMenu' ) );
702 - }
703 692 remove_submenu_page( Visualizer_Plugin::NAME, Visualizer_Plugin::NAME );
704 693
705 694 add_action( "load-{$this->_libraryPage}", array( $this, 'addScreenOptions' ) );
695 + add_action( 'admin_footer', array( $this, 'handleGetProSubMenu' ) );
706 696 }
707 697
708 698 /**
709 699 * Handle get pro plugin submenu.
@@ -708,35 +698,35 @@
708 698 /**
709 699 * Handle get pro plugin submenu.
710 700 */
711 701 public function handleGetProSubMenu() {
712 - ?>
702 + if ( ! Visualizer_Module::is_pro() ) {
703 + ?>
713 704 <style type="text/css">
714 - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li {
705 + #toplevel_page_visualizer ul.wp-submenu li:last-child {
715 706 background: #FF7E65;
716 707 font-size: 14px;
717 708 font-weight: 600;
718 709 color: #fff;
719 710 }
720 - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li > a {
711 + #toplevel_page_visualizer ul.wp-submenu li:last-child > a {
721 712 color: #fff !important;
722 713 }
723 - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li > a:hover {
714 + #toplevel_page_visualizer ul.wp-submenu li:last-child > a:hover {
724 715 box-shadow: inherit;
725 716 }
726 - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li + li {
727 - display: none;
717 + </style>
718 + <?php
719 + if ( get_option( 'visualizer_fresh_install', false ) ) {
720 + ?>
721 + <style type="text/css">
722 + #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li {
723 + display: none;
724 + }
725 + </style>
726 + <?php
728 727 }
729 - </style>
730 - <script type="text/javascript">
731 - jQuery( document ).ready( function() {
732 - jQuery( '#toplevel_page_visualizer' ).on( 'click', 'li:not(.wp-submenu-head, .wp-first-item):eq(2)', function( e ) {
733 - e.preventDefault();
734 - window.open( '<?php echo tsdk_utmify( 'https://themeisle.com/plugins/visualizer-charts-and-graphs/upgrade/', 'toplevel' ); ?>', '_blank' );
735 - } );
736 - } );
737 - </script>
738 - <?php
728 + }
739 729 }
740 730
741 731 /**
742 732 * Adds the screen options for pagination.
@@ -909,8 +899,9 @@
909 899 * @access public
910 900 */
911 901 public function renderSupportPage() {
912 902 wp_enqueue_style( 'visualizer-upsell', VISUALIZER_ABSURL . 'css/upsell.css', array(), Visualizer_Plugin::VERSION );
903 + $this->load_survey();
913 904 include_once VISUALIZER_ABSPATH . '/templates/support.php';
914 905 }
915 906
916 907 /**
@@ -1062,8 +1053,11 @@
1062 1053 'total' => $query->max_num_pages,
1063 1054 'type' => 'array',
1064 1055 )
1065 1056 );
1057 +
1058 + $this->load_survey();
1059 +
1066 1060 $render->render();
1067 1061 }
1068 1062
1069 1063 /**
@@ -1190,6 +1184,77 @@
1190 1184 if ( isset( $types[ $type ] ) ) {
1191 1185 return ! empty( $types[ $type ]['enabled'] );
1192 1186 }
1193 1187 return false;
1188 + }
1189 +
1190 + /**
1191 + * Get the survey metadata.
1192 + *
1193 + * @return array The survey metadata.
1194 + */
1195 + private function get_survey_metadata() {
1196 + $install_date = get_option( 'visualizer_install', false );
1197 + $install_category = 0;
1198 +
1199 + if ( false !== $install_date ) {
1200 + $days_since_install = round( ( time() - $install_date ) / DAY_IN_SECONDS );
1201 +
1202 + if ( 0 === $days_since_install || 1 === $days_since_install ) {
1203 + $install_category = 0;
1204 + } elseif ( 1 < $days_since_install && 8 > $days_since_install ) {
1205 + $install_category = 7;
1206 + } elseif ( 8 <= $days_since_install && 31 > $days_since_install ) {
1207 + $install_category = 30;
1208 + } elseif ( 30 < $days_since_install && 90 > $days_since_install ) {
1209 + $install_category = 90;
1210 + } elseif ( 90 <= $days_since_install ) {
1211 + $install_category = 91;
1212 + }
1213 + }
1214 +
1215 + $plugin_data = get_plugin_data( VISUALIZER_BASEFILE, false, false );
1216 + $plugin_version = '';
1217 + if ( ! empty( $plugin_data['Version'] ) ) {
1218 + $plugin_version = $plugin_data['Version'];
1219 + }
1220 +
1221 + $user_id = 'visualizer_' . preg_replace( '/[^\w\d]*/', '', get_site_url() ); // Use a normalized version of the site URL as a user ID.
1222 +
1223 + $license_data = get_option( 'visualizer_pro_license_data', false );
1224 + if ( false !== $license_data ) {
1225 + $user_id = 'visualizer_' . $license_data->key;
1226 + }
1227 +
1228 + return array(
1229 + 'userId' => $user_id,
1230 + 'attributes' => array(
1231 + 'days_since_install' => $install_category,
1232 + 'free_version' => $plugin_version,
1233 + 'pro_version' => defined( 'VISUALIZER_PRO_VERSION' ) ? VISUALIZER_PRO_VERSION : '',
1234 + 'license_status' => apply_filters( 'product_visualizer_license_status', 'invalid' ),
1235 + ),
1236 + );
1237 + }
1238 +
1239 + /**
1240 + * Load the survey.
1241 + */
1242 + private function load_survey() {
1243 +
1244 + if ( defined( 'TI_CYPRESS_TESTING' ) ) {
1245 + return;
1246 + }
1247 +
1248 + $survey_handler = apply_filters( 'themeisle_sdk_dependency_script_handler', 'survey' );
1249 +
1250 + if ( empty( $survey_handler ) ) {
1251 + return;
1252 + }
1253 +
1254 + $metadata = $this->get_survey_metadata();
1255 +
1256 + do_action( 'themeisle_sdk_dependency_enqueue_script', 'survey' );
1257 + wp_enqueue_script( 'visualizer_chart_survey', VISUALIZER_ABSURL . 'js/survey.js', array( $survey_handler ), $metadata['attributes']['free_version'], true );
1258 + wp_localize_script( 'visualizer_chart_survey', 'visualizerSurveyData', $metadata );
1194 1259 }
1195 1260 }