PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.7.4
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.7.4
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 +21 -154 3.10.13.7.4 View file →
@@ -53,9 +53,9 @@
53 53 parent::__construct( $plugin );
54 54 $this->_addAction( 'load-post.php', 'enqueueMediaScripts' );
55 55 $this->_addAction( 'load-post-new.php', 'enqueueMediaScripts' );
56 56 $this->_addAction( 'admin_footer', 'renderTemplates' );
57 - $this->_addAction( 'admin_enqueue_scripts', 'enqueueLibraryScripts', null, 0 );
57 + $this->_addAction( 'admin_enqueue_scripts', 'enqueueLibraryScripts', null, 8 );
58 58 $this->_addAction( 'admin_menu', 'registerAdminMenu' );
59 59 $this->_addFilter( 'media_view_strings', 'setupMediaViewStrings' );
60 60 $this->_addFilter( 'plugin_action_links', 'getPluginActionLinks', 10, 2 );
61 61 $this->_addFilter( 'plugin_row_meta', 'getPluginMetaLinks', 10, 2 );
@@ -73,10 +73,8 @@
73 73 $this->_addAction( 'visualizer_chart_schedules_spl', 'addSplChartSchedules', null, 10, 3 );
74 74
75 75 $this->_addAction( 'admin_init', 'init' );
76 76
77 - $this->_addAction( 'visualizer_chart_languages', 'addMultilingualSupport' );
78 -
79 77 if ( defined( 'TI_CYPRESS_TESTING' ) ) {
80 78 $this->load_cypress_hooks();
81 79 }
82 80
@@ -366,9 +364,9 @@
366 364 'filters' => $chart_types,
367 365 'types' => array_keys( $chart_types ),
368 366 ),
369 367 'nonce' => wp_create_nonce(),
370 - 'buildurl' => esc_url( add_query_arg( 'action', Visualizer_Plugin::ACTION_CREATE_CHART, admin_url( 'admin-ajax.php' ) ) ),
368 + 'buildurl' => add_query_arg( 'action', Visualizer_Plugin::ACTION_CREATE_CHART, admin_url( 'admin-ajax.php' ) ),
371 369 );
372 370
373 371 return $strings;
374 372 }
@@ -687,20 +685,8 @@
687 685 'edit_posts',
688 686 'viz-support',
689 687 array( $this, 'renderSupportPage' )
690 688 );
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 689 remove_submenu_page( Visualizer_Plugin::NAME, Visualizer_Plugin::NAME );
704 690
705 691 add_action( "load-{$this->_libraryPage}", array( $this, 'addScreenOptions' ) );
706 692 }
@@ -705,41 +691,8 @@
705 691 add_action( "load-{$this->_libraryPage}", array( $this, 'addScreenOptions' ) );
706 692 }
707 693
708 694 /**
709 - * Handle get pro plugin submenu.
710 - */
711 - public function handleGetProSubMenu() {
712 - ?>
713 - <style type="text/css">
714 - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li {
715 - background: #FF7E65;
716 - font-size: 14px;
717 - font-weight: 600;
718 - color: #fff;
719 - }
720 - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li > a {
721 - color: #fff !important;
722 - }
723 - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li > a:hover {
724 - box-shadow: inherit;
725 - }
726 - #toplevel_page_visualizer ul.wp-submenu li.wp-first-item + li + li + li + li {
727 - display: none;
728 - }
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
739 - }
740 -
741 - /**
742 695 * Adds the screen options for pagination.
743 696 */
744 697 function addScreenOptions() {
745 698 $screen = get_current_screen();
@@ -770,24 +723,8 @@
770 723 * Adds the display filters to be used in the meta_query while displaying the charts.
771 724 */
772 725 private function getDisplayFilters( &$query_args ) {
773 726 $query = array();
774 - global $sitepress;
775 - if ( Visualizer_Module::is_pro() && ( function_exists( 'icl_get_languages' ) && $sitepress instanceof \SitePress ) ) {
776 - $current_lang = icl_get_current_language();
777 - if ( in_array( $current_lang, array( 'all', icl_get_default_language() ), true ) ) {
778 - $query[] = array(
779 - 'key' => 'chart_lang',
780 - 'compare' => 'NOT EXISTS',
781 - );
782 - } else {
783 - $query[] = array(
784 - 'key' => 'chart_lang',
785 - 'value' => $current_lang,
786 - 'compare' => '=',
787 - );
788 - }
789 - }
790 727
791 728 // add chart type filter to the query arguments
792 729 $type = filter_input( INPUT_GET, 'type' );
793 730 if ( $type && in_array( $type, Visualizer_Plugin::getChartTypes(), true ) ) {
@@ -885,9 +822,9 @@
885 822
886 823 $this->getDisplayFilters( $query_args );
887 824
888 825 // Added by Ash/Upwork
889 - $filterByMeta = ! empty( $_GET['s'] ) ? sanitize_text_field( wp_unslash( $_GET['s'] ) ) : null; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
826 + $filterByMeta = filter_input( INPUT_GET, 's', FILTER_SANITIZE_STRING );
890 827 if ( $filterByMeta ) {
891 828 $query = array(
892 829 'key' => Visualizer_Plugin::CF_SETTINGS,
893 830 'value' => $filterByMeta,
@@ -988,15 +925,8 @@
988 925 $css .= $arguments[0];
989 926 $settings = $arguments[1];
990 927 }
991 928
992 - if ( isset( $settings['controls']['ui']['labelStacking'] ) ) {
993 - unset( $settings['controls']['ui']['labelStacking'] );
994 - }
995 - if ( isset( $settings['controls']['ui']['orientation'] ) ) {
996 - unset( $settings['controls']['ui']['orientation'] );
997 - }
998 -
999 929 // add chart to the array
1000 930 $charts[ $id ] = array(
1001 931 'id' => $chart->ID,
1002 932 'type' => $type,
@@ -1015,30 +945,26 @@
1015 945 'language' => $this->get_language(),
1016 946 'map_api_key' => get_option( 'visualizer-map-api-key' ),
1017 947 'charts' => $charts,
1018 948 'urls' => array(
1019 - 'base' => esc_url( add_query_arg( array( 'vpage' => false, 'vaction' => false ) ) ),
1020 - 'create' => esc_url(
1021 - add_query_arg(
1022 - array(
1023 - 'action' => Visualizer_Plugin::ACTION_CREATE_CHART,
1024 - 'library' => 'yes',
1025 - 'type' => isset( $_GET['type'] ) ? $_GET['type'] : '',
1026 - 'chart-library' => isset( $_GET['chart-library'] ) ? $_GET['chart-library'] : '',
1027 - 'vaction' => false,
1028 - ),
1029 - $ajaxurl
1030 - )
949 + 'base' => add_query_arg( array( 'vpage' => false, 'vaction' => false ) ),
950 + 'create' => add_query_arg(
951 + array(
952 + 'action' => Visualizer_Plugin::ACTION_CREATE_CHART,
953 + 'library' => 'yes',
954 + 'type' => isset( $_GET['type'] ) ? $_GET['type'] : '',
955 + 'chart-library' => isset( $_GET['chart-library'] ) ? $_GET['chart-library'] : '',
956 + 'vaction' => false,
957 + ),
958 + $ajaxurl
1031 959 ),
1032 - 'edit' => esc_url(
1033 - add_query_arg(
1034 - array(
1035 - 'action' => Visualizer_Plugin::ACTION_EDIT_CHART,
1036 - 'library' => 'yes',
1037 - 'vaction' => false,
1038 - ),
1039 - $ajaxurl
1040 - )
960 + 'edit' => add_query_arg(
961 + array(
962 + 'action' => Visualizer_Plugin::ACTION_EDIT_CHART,
963 + 'library' => 'yes',
964 + 'vaction' => false,
965 + ),
966 + $ajaxurl
1041 967 ),
1042 968 ),
1043 969 'page_type' => 'library',
1044 970 'is_front' => false,
@@ -1113,9 +1039,9 @@
1113 1039 esc_html__( 'Docs', 'visualizer' )
1114 1040 );
1115 1041 // flattr link
1116 1042 $plugin_meta[] = sprintf(
1117 - '<a style="color:red" href="' . tsdk_utmify( Visualizer_Plugin::PRO_TEASER_URL, 'pluginrow' ) . '" target="_blank">%s</a>',
1043 + '<a style="color:red" href="' . Visualizer_Plugin::PRO_TEASER_URL . '" target="_blank">%s</a>',
1118 1044 esc_html__( 'Pro Addon', 'visualizer' )
1119 1045 );
1120 1046 }
1121 1047
@@ -1131,65 +1057,6 @@
1131 1057 if ( Visualizer_Module::is_pro() ) {
1132 1058 return true;
1133 1059 }
1134 1060 return 'yes' === get_option( 'visualizer-new-user', 'yes' ) ? false : true;
1135 - }
1136 -
1137 - /**
1138 - * Multilingual Support.
1139 - *
1140 - * @param int $chart_id Chart ID.
1141 - * @return bool Default false
1142 - */
1143 - public function addMultilingualSupport( $chart_id ) {
1144 - global $sitepress;
1145 - if ( Visualizer_Module::is_pro() ) {
1146 - return;
1147 - }
1148 - if ( function_exists( 'icl_get_languages' ) && $sitepress instanceof \SitePress ) {
1149 - $language = icl_get_languages();
1150 - $current_lang = icl_get_current_language();
1151 - $default_lang = icl_get_default_language();
1152 - $post_info = wpml_get_language_information( null, $chart_id );
1153 - $translations = array();
1154 - if ( ! empty( $post_info ) && ( $default_lang === $post_info['language_code'] ) ) {
1155 - $trid = $sitepress->get_element_trid( $chart_id, 'post_' . Visualizer_Plugin::CPT_VISUALIZER );
1156 - $translations = $sitepress->get_element_translations( $trid );
1157 - }
1158 - if ( empty( $translations ) ) {
1159 - return;
1160 - }
1161 - ?>
1162 - <hr><div class="visualizer-languages-list only-pro">
1163 - <?php
1164 - foreach ( $language as $lang ) {
1165 - $lang_code = $lang['code'];
1166 - if ( $current_lang !== $lang_code ) {
1167 - ?>
1168 - <a href="javascript:;">
1169 - <img src="<?php echo esc_url( $lang['country_flag_url'] ); ?>" alt="<?php echo esc_attr( $lang['translated_name'] ); ?>">
1170 - </a>
1171 - <?php
1172 - }
1173 - }
1174 - ?>
1175 - <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>
1176 - </div>
1177 - <?php
1178 - }
1179 - }
1180 -
1181 - /**
1182 - * Check chart is enabled or not.
1183 - *
1184 - * @param string $type Chart ID.
1185 - *
1186 - * @return bool Default false
1187 - */
1188 - public static function checkChartStatus( $type ) {
1189 - $types = self::_getChartTypesLocalized( false, false, false, true );
1190 - if ( isset( $types[ $type ] ) ) {
1191 - return ! empty( $types[ $type ]['enabled'] );
1192 - }
1193 - return false;
1194 1061 }
1195 1062 }