PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.9.2
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.9.2
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 +27 -110 3.10.143.9.2 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.php?page=' . Visualizer_Plugin::NAME
674 + admin_url( '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.php?page=' . Visualizer_Plugin::NAME . '&vaction=addnew'
681 + admin_url( '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,12 +688,22 @@
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 + }
692 703 remove_submenu_page( Visualizer_Plugin::NAME, Visualizer_Plugin::NAME );
693 704
694 705 add_action( "load-{$this->_libraryPage}", array( $this, 'addScreenOptions' ) );
695 - add_action( 'admin_footer', array( $this, 'handleGetProSubMenu' ) );
696 706 }
697 707
698 708 /**
699 709 * Handle get pro plugin submenu.
@@ -698,35 +708,32 @@
698 708 /**
699 709 * Handle get pro plugin submenu.
700 710 */
701 711 public function handleGetProSubMenu() {
702 - if ( ! Visualizer_Module::is_pro() ) {
703 - ?>
712 + ?>
704 713 <style type="text/css">
705 - #toplevel_page_visualizer ul.wp-submenu li:last-child {
714 + #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li {
706 715 background: #FF7E65;
707 716 font-size: 14px;
708 717 font-weight: 600;
709 718 color: #fff;
710 719 }
711 - #toplevel_page_visualizer ul.wp-submenu li:last-child > a {
720 + #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li > a {
712 721 color: #fff !important;
713 722 }
714 - #toplevel_page_visualizer ul.wp-submenu li:last-child > a:hover {
723 + #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li > a:hover {
715 724 box-shadow: inherit;
716 725 }
717 726 </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
727 - }
728 - }
727 + <script type="text/javascript">
728 + jQuery( document ).ready( function() {
729 + jQuery( '#toplevel_page_visualizer' ).on( 'click', 'li:not(.wp-submenu-head, .wp-first-item):eq(2)', function( e ) {
730 + e.preventDefault();
731 + window.open( '<?php echo tsdk_utmify( 'https://themeisle.com/plugins/visualizer-charts-and-graphs/upgrade/', 'toplevel' ); ?>', '_blank' );
732 + } );
733 + } );
734 + </script>
735 + <?php
729 736 }
730 737
731 738 /**
732 739 * Adds the screen options for pagination.
@@ -875,9 +882,9 @@
875 882
876 883 $this->getDisplayFilters( $query_args );
877 884
878 885 // Added by Ash/Upwork
879 - $filterByMeta = ! empty( $_GET['s'] ) ? sanitize_text_field( wp_unslash( $_GET['s'] ) ) : null; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
886 + $filterByMeta = filter_input( INPUT_GET, 's', FILTER_SANITIZE_STRING );
880 887 if ( $filterByMeta ) {
881 888 $query = array(
882 889 'key' => Visualizer_Plugin::CF_SETTINGS,
883 890 'value' => $filterByMeta,
@@ -899,9 +906,8 @@
899 906 * @access public
900 907 */
901 908 public function renderSupportPage() {
902 909 wp_enqueue_style( 'visualizer-upsell', VISUALIZER_ABSURL . 'css/upsell.css', array(), Visualizer_Plugin::VERSION );
903 - $this->load_survey();
904 910 include_once VISUALIZER_ABSPATH . '/templates/support.php';
905 911 }
906 912
907 913 /**
@@ -1053,11 +1059,8 @@
1053 1059 'total' => $query->max_num_pages,
1054 1060 'type' => 'array',
1055 1061 )
1056 1062 );
1057 -
1058 - $this->load_survey();
1059 -
1060 1063 $render->render();
1061 1064 }
1062 1065
1063 1066 /**
@@ -1169,92 +1172,6 @@
1169 1172 <a href="<?php echo tsdk_utmify( Visualizer_Plugin::PRO_TEASER_URL, 'wpml-support', 'visualizer_render_char' ); ?>"target="_blank"><?php esc_html_e( 'Upgrade to PRO to active this translation for charts', 'visualizer' ); ?></a>
1170 1173 </div>
1171 1174 <?php
1172 1175 }
1173 - }
1174 -
1175 - /**
1176 - * Check chart is enabled or not.
1177 - *
1178 - * @param string $type Chart ID.
1179 - *
1180 - * @return bool Default false
1181 - */
1182 - public static function checkChartStatus( $type ) {
1183 - $types = self::_getChartTypesLocalized( false, false, false, true );
1184 - if ( isset( $types[ $type ] ) ) {
1185 - return ! empty( $types[ $type ]['enabled'] );
1186 - }
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 );
1259 1176 }
1260 1177 }