PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.9.0
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.9.0
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 +30 -37 3.10.33.9.0 View file →
@@ -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.
@@ -760,10 +767,10 @@
760 767 * Adds the display filters to be used in the meta_query while displaying the charts.
761 768 */
762 769 private function getDisplayFilters( &$query_args ) {
763 770 $query = array();
764 - global $sitepress;
765 - if ( Visualizer_Module::is_pro() && ( function_exists( 'icl_get_languages' ) && $sitepress instanceof \SitePress ) ) {
771 +
772 + if ( Visualizer_Module::is_pro() && function_exists( 'icl_get_languages' ) ) {
766 773 $current_lang = icl_get_current_language();
767 774 if ( in_array( $current_lang, array( 'all', icl_get_default_language() ), true ) ) {
768 775 $query[] = array(
769 776 'key' => 'chart_lang',
@@ -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,
@@ -1130,17 +1137,18 @@
1130 1137 * @param int $chart_id Chart ID.
1131 1138 * @return bool Default false
1132 1139 */
1133 1140 public function addMultilingualSupport( $chart_id ) {
1134 - global $sitepress;
1135 1141 if ( Visualizer_Module::is_pro() ) {
1136 1142 return;
1137 1143 }
1138 - if ( function_exists( 'icl_get_languages' ) && $sitepress instanceof \SitePress ) {
1144 + if ( function_exists( 'icl_get_languages' ) ) {
1139 1145 $language = icl_get_languages();
1140 1146 $current_lang = icl_get_current_language();
1141 1147 $default_lang = icl_get_default_language();
1142 1148 $post_info = wpml_get_language_information( null, $chart_id );
1149 +
1150 + global $sitepress;
1143 1151 $translations = array();
1144 1152 if ( ! empty( $post_info ) && ( $default_lang === $post_info['language_code'] ) ) {
1145 1153 $trid = $sitepress->get_element_trid( $chart_id, 'post_' . Visualizer_Plugin::CPT_VISUALIZER );
1146 1154 $translations = $sitepress->get_element_translations( $trid );
@@ -1165,21 +1173,6 @@
1165 1173 <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>
1166 1174 </div>
1167 1175 <?php
1168 1176 }
1169 - }
1170 -
1171 - /**
1172 - * Check chart is enabled or not.
1173 - *
1174 - * @param string $type Chart ID.
1175 - *
1176 - * @return bool Default false
1177 - */
1178 - public static function checkChartStatus( $type ) {
1179 - $types = self::_getChartTypesLocalized( false, false, false, true );
1180 - if ( isset( $types[ $type ] ) ) {
1181 - return ! empty( $types[ $type ]['enabled'] );
1182 - }
1183 - return false;
1184 1177 }
1185 1178 }