PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.11.10
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.11.10
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 | index.php +14 -35 4.0.63.11.10 View file →
@@ -2,9 +2,9 @@
2 2 /*
3 3 Plugin Name: Visualizer: Tables and Charts for WordPress
4 4 Plugin URI: https://themeisle.com/plugins/visualizer-charts-and-graphs/
5 5 Description: Effortlessly create and embed responsive charts and tables with Visualizer, a powerful WordPress plugin that enhances data presentation from multiple sources.
6 - Version: 4.0.6
6 + Version: 3.11.10
7 7 Author: Themeisle
8 8 Author URI: http://themeisle.com
9 9 License: GPL v2.0 or later
10 10 WordPress Available: yes
@@ -35,17 +35,17 @@
35 35 * approved classes.
36 36 *
37 37 * @since 1.0.0
38 38 *
39 - * @param string $class_name The class name to autoload.
39 + * @param string $class The class name to autoload.
40 40 *
41 41 * @return boolean Returns TRUE if the class is located. Otherwise FALSE.
42 42 */
43 -function visualizer_autoloader( $class_name ) {
43 +function visualizer_autoloader( $class ) {
44 44 $namespaces = array( 'Visualizer' );
45 45 foreach ( $namespaces as $namespace ) {
46 - if ( substr( $class_name, 0, strlen( $namespace ) ) === $namespace ) {
47 - $filename = __DIR__ . str_replace( '_', DIRECTORY_SEPARATOR, "_classes_{$class_name}.php" );
46 + if ( substr( $class, 0, strlen( $namespace ) ) === $namespace ) {
47 + $filename = dirname( __FILE__ ) . str_replace( '_', DIRECTORY_SEPARATOR, "_classes_{$class}.php" );
48 48 if ( is_readable( $filename ) ) {
49 49 require $filename;
50 50
51 51 return true;
@@ -65,9 +65,9 @@
65 65 // setup environment
66 66 define( 'VISUALIZER_BASEFILE', __FILE__ );
67 67 define( 'VISUALIZER_BASENAME', plugin_basename( __FILE__ ) );
68 68 define( 'VISUALIZER_ABSURL', plugins_url( '/', __FILE__ ) );
69 - define( 'VISUALIZER_ABSPATH', __DIR__ );
69 + define( 'VISUALIZER_ABSPATH', dirname( __FILE__ ) );
70 70 define( 'VISUALIZER_DIRNAME', basename( VISUALIZER_ABSPATH ) );
71 71 define( 'VISUALIZER_REST_VERSION', 1 );
72 72 // if the below is true, then the js/customization.js in the plugin folder will be used instead of the one in the uploads folder (if it exists).
73 73 // this is also used in Block.php
@@ -92,13 +92,12 @@
92 92
93 93 // the link to pre-build queries.
94 94 define( 'VISUALIZER_DB_QUERY_DOC_URL', 'https://docs.themeisle.com/article/970-visualizer-sample-queries-to-generate-charts' );
95 95 define( 'VISUALIZER_MAIN_DOC', 'https://docs.themeisle.com/category/657-visualizer' );
96 - define( 'VISUALIZER_DOC_COLLECTION', 'https://docs.themeisle.com/visualizer-charts-and-graphs/?query=#' );
96 + define( 'VISUALIZER_DOC_COLLECTION', 'https://docs.themeisle.com/search?collectionId=561ec249c69791452ed4bceb&query=#+visualizer' );
97 97 define( 'VISUALIZER_DEMO_URL', 'https://demo.themeisle.com/visualizer/#' );
98 98 define( 'VISUALIZER_CODE_SNIPPETS_URL', 'https://docs.themeisle.com/category/726-visualizer' );
99 99 define( 'VISUALIZER_SUBSCRIBE_API', 'https://api.themeisle.com/tracking/subscribe' );
100 - define( 'VISUALIZER_AGENTS_URL', 'https://ai.themeisle.com' );
101 100
102 101 // to redirect all themeisle_log_event to error log.
103 102 define( 'VISUALIZER_LOCAL_DEBUG', false );
104 103
@@ -112,18 +111,8 @@
112 111 Visualizer_Gutenberg_Block::get_instance();
113 112 }}
114 113 );
115 114
116 - // register Elementor widget and related hooks
117 - // Use elementor/init so Elementor's autoloader is registered and Widget_Base is resolvable.
118 - add_action(
119 - 'elementor/init',
120 - function () {
121 - require_once VISUALIZER_ABSPATH . '/classes/Visualizer/Elementor/Widget.php';
122 - Visualizer_Elementor_Widget::register_hooks();
123 - }
124 - );
125 -
126 115 // set general modules
127 116 $plugin->setModule( Visualizer_Module_Utility::NAME );
128 117 $plugin->setModule( Visualizer_Module_Setup::NAME );
129 118 $plugin->setModule( Visualizer_Module_Sources::NAME );
@@ -141,22 +130,12 @@
141 130
142 131 // Set setup wizard module.
143 132 $plugin->setModule( Visualizer_Module_Wizard::NAME );
144 133
145 - // AI Chart Builder module (AJAX endpoints for the React wizard).
146 - $plugin->setModule( Visualizer_Module_AIBuilder::NAME );
147 -
148 134 $vendor_file = VISUALIZER_ABSPATH . '/vendor/autoload.php';
149 135 if ( is_readable( $vendor_file ) ) {
150 - include_once $vendor_file;
136 + include_once( $vendor_file );
151 137 }
152 -
153 - $action_scheduler_file = VISUALIZER_ABSPATH . '/vendor/woocommerce/action-scheduler/action-scheduler.php';
154 -
155 - if ( is_readable( $action_scheduler_file ) ) {
156 - require_once $action_scheduler_file;
157 - }
158 -
159 138 add_filter( 'themeisle_sdk_products', 'visualizer_register_sdk', 10, 1 );
160 139 add_filter( 'pirate_parrot_log', 'visualizer_register_parrot', 10, 1 );
161 140 add_filter(
162 141 'themeisle_sdk_compatibilities/' . VISUALIZER_DIRNAME, function ( $compatibilities ) {
@@ -162,9 +141,9 @@
162 141 'themeisle_sdk_compatibilities/' . VISUALIZER_DIRNAME, function ( $compatibilities ) {
163 142 $compatibilities['VisualizerPRO'] = array(
164 143 'basefile' => defined( 'VISUALIZER_PRO_BASEFILE' ) ? VISUALIZER_PRO_BASEFILE : '',
165 144 'required' => '1.8',
166 - 'tested_up' => '2.0',
145 + 'tested_up' => '1.14',
167 146 );
168 147 return $compatibilities;
169 148 }
170 149 );
@@ -169,29 +148,29 @@
169 148 }
170 149 );
171 150 add_filter(
172 151 'visualizer_about_us_metadata',
173 - function () {
152 + function() {
174 153 return array(
175 154 'logo' => esc_url( VISUALIZER_ABSURL . 'images/visualizer-logo.svg' ),
176 155 'location' => 'visualizer',
177 156 'has_upgrade_menu' => ! Visualizer_Module::is_pro(),
178 - 'upgrade_text' => esc_html__( 'Get Visualizer Pro', 'visualizer' ),
157 + 'upgrade_text' => esc_html__( 'Get Visualizer Pro', 'feedzy-rss-feeds' ),
179 158 'upgrade_link' => esc_url( tsdk_utmify( Visualizer_Plugin::PRO_TEASER_URL, 'sidebarMenuUpgrade', 'index' ) ),
180 159 );
181 160 }
182 161 );
183 162
184 - if ( ! defined( 'TI_E2E_TESTING' ) && 'yes' === get_option( 'visualizer_logger_flag', 'no' ) ) {
163 + if ( ! defined( 'TI_CYPRESS_TESTING' ) && 'yes' === get_option( 'visualizer_logger_flag', 'no' ) ) {
185 164 add_filter( 'themeisle_sdk_enable_telemetry', '__return_true' );
186 165 add_filter(
187 166 'themeisle_sdk_telemetry_products',
188 - function ( $products ) {
167 + function( $products ) {
189 168 $already_registered = false;
190 169
191 170 $license = get_option( 'visualizer_pro_license_data', 'free' );
192 171 if ( ! empty( $license ) && is_object( $license ) ) {
193 - $license = $license->key ?? 'free';
172 + $license = $license->key;
194 173 }
195 174 $track_hash = 'free' === $license ? 'free' : wp_hash( $license );
196 175
197 176 foreach ( $products as &$product ) {