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 | index.php +66 -7 3.1.13.10.8 View file →
@@ -1,13 +1,14 @@
1 1 <?php
2 -
3 2 /*
4 - Plugin Name: Visualizer: Tables and Charts Manager for WordPress (Lite)
5 - Plugin URI: https://themeisle.com/plugins/visualizer-charts-and-graphs-lite/
3 + Plugin Name: Visualizer: Tables and Charts for WordPress
4 + Plugin URI: https://themeisle.com/plugins/visualizer-charts-and-graphs/
6 5 Description: A simple, easy to use and quite powerful tool to create, manage and embed interactive charts into your WordPress posts and pages. The plugin uses Google Visualization API to render charts, which supports cross-browser compatibility (adopting VML for older IE versions) and cross-platform portability to iOS and new Android releases.
7 - Version: 3.1.1
6 + Version: 3.10.8
8 7 Author: Themeisle
9 8 Author URI: http://themeisle.com
9 + Requires at least: 5.2
10 + Tested up to: 5.6
10 11 License: GPL v2.0 or later
11 12 WordPress Available: yes
12 13 Requires License: no
13 14 Pro Slug: visualizer-pro
@@ -22,8 +23,10 @@
22 23 // don't load the plugin, if it has been already loaded
23 24 if ( class_exists( 'Visualizer_Plugin', false ) ) {
24 25 return;
25 26 }
27 +
28 +// support for pro versions before 3.3.0
26 29 if ( class_exists( 'Visualizer_Pro', false ) ) {
27 30 define( 'VISUALIZER_PRO', true );
28 31 } else {
29 32 defined( 'VISUALIZER_PRO' ) || define( 'VISUALIZER_PRO', false );
@@ -41,9 +44,9 @@
41 44 */
42 45 function visualizer_autoloader( $class ) {
43 46 $namespaces = array( 'Visualizer' );
44 47 foreach ( $namespaces as $namespace ) {
45 - if ( substr( $class, 0, strlen( $namespace ) ) == $namespace ) {
48 + if ( substr( $class, 0, strlen( $namespace ) ) === $namespace ) {
46 49 $filename = dirname( __FILE__ ) . str_replace( '_', DIRECTORY_SEPARATOR, "_classes_{$class}.php" );
47 50 if ( is_readable( $filename ) ) {
48 51 require $filename;
49 52
@@ -62,13 +65,18 @@
62 65 */
63 66 function visualizer_launch() {
64 67 // setup environment
65 68 define( 'VISUALIZER_BASEFILE', __FILE__ );
69 + define( 'VISUALIZER_BASENAME', plugin_basename( __FILE__ ) );
66 70 define( 'VISUALIZER_ABSURL', plugins_url( '/', __FILE__ ) );
67 71 define( 'VISUALIZER_ABSPATH', dirname( __FILE__ ) );
72 + define( 'VISUALIZER_DIRNAME', basename( VISUALIZER_ABSPATH ) );
68 73 define( 'VISUALIZER_REST_VERSION', 1 );
69 74 // 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).
70 - define( 'VISUALIZER_TEST_JS_CUSTOMIZATION', false );
75 + // this is also used in Block.php
76 + if ( ! defined( 'VISUALIZER_TEST_JS_CUSTOMIZATION' ) ) {
77 + define( 'VISUALIZER_TEST_JS_CUSTOMIZATION', false );
78 + }
71 79
72 80 if ( ! defined( 'VISUALIZER_CSV_DELIMITER' ) ) {
73 81 define( 'VISUALIZER_CSV_DELIMITER', ',' );
74 82 }
@@ -85,9 +93,17 @@
85 93 define( 'VISUALIZER_ENABLE_BETA_FEATURES', '' );
86 94
87 95 // the link to pre-build queries.
88 96 define( 'VISUALIZER_DB_QUERY_DOC_URL', 'https://docs.themeisle.com/article/970-visualizer-sample-queries-to-generate-charts' );
97 + define( 'VISUALIZER_MAIN_DOC', 'https://docs.themeisle.com/category/657-visualizer' );
98 + define( 'VISUALIZER_DOC_COLLECTION', 'https://docs.themeisle.com/search?collectionId=561ec249c69791452ed4bceb&query=#+visualizer' );
99 + define( 'VISUALIZER_DEMO_URL', 'https://demo.themeisle.com/visualizer/#' );
100 + define( 'VISUALIZER_CODE_SNIPPETS_URL', 'https://docs.themeisle.com/category/726-visualizer' );
101 + define( 'VISUALIZER_SUBSCRIBE_API', 'https://api.themeisle.com/tracking/subscribe' );
89 102
103 + // to redirect all themeisle_log_event to error log.
104 + define( 'VISUALIZER_LOCAL_DEBUG', false );
105 +
90 106 // instantiate the plugin
91 107 $plugin = Visualizer_Plugin::instance();
92 108
93 109 // instantiate Gutenberg block
@@ -98,11 +114,13 @@
98 114 }}
99 115 );
100 116
101 117 // set general modules
118 + $plugin->setModule( Visualizer_Module_Utility::NAME );
102 119 $plugin->setModule( Visualizer_Module_Setup::NAME );
103 120 $plugin->setModule( Visualizer_Module_Sources::NAME );
104 121 $plugin->setModule( Visualizer_Module_Chart::NAME );
122 +
105 123 if ( is_admin() || defined( 'WP_TESTS_DOMAIN' ) ) {
106 124 // set admin modules
107 125 $plugin->setModule( Visualizer_Module_Admin::NAME );
108 126 }
@@ -109,14 +127,41 @@
109 127
110 128 // set frontend modules
111 129 $plugin->setModule( Visualizer_Module_Frontend::NAME );
112 130
113 - $vendor_file = VISUALIZER_ABSPATH . '/vendor/autoload_52.php';
131 + $plugin->setModule( Visualizer_Module_AMP::NAME );
132 +
133 + // Set setup wizard module.
134 + $plugin->setModule( Visualizer_Module_Wizard::NAME );
135 +
136 + $vendor_file = VISUALIZER_ABSPATH . '/vendor/autoload.php';
114 137 if ( is_readable( $vendor_file ) ) {
115 138 include_once( $vendor_file );
116 139 }
117 140 add_filter( 'themeisle_sdk_products', 'visualizer_register_sdk', 10, 1 );
118 141 add_filter( 'pirate_parrot_log', 'visualizer_register_parrot', 10, 1 );
142 + add_filter(
143 + 'themeisle_sdk_compatibilities/' . VISUALIZER_DIRNAME, function ( $compatibilities ) {
144 + $compatibilities['VisualizerPRO'] = array(
145 + 'basefile' => defined( 'VISUALIZER_PRO_BASEFILE' ) ? VISUALIZER_PRO_BASEFILE : '',
146 + 'required' => '1.8',
147 + 'tested_up' => '1.13',
148 + );
149 + return $compatibilities;
150 + }
151 + );
152 + add_filter(
153 + 'visualizer_about_us_metadata',
154 + function() {
155 + return array(
156 + 'logo' => esc_url( VISUALIZER_ABSURL . 'images/visualizer-logo.svg' ),
157 + 'location' => 'visualizer',
158 + 'has_upgrade_menu' => ! Visualizer_Module::is_pro(),
159 + 'upgrade_text' => esc_html__( 'Get Visualizer Pro', 'feedzy-rss-feeds' ),
160 + 'upgrade_link' => esc_url( tsdk_utmify( Visualizer_Plugin::PRO_TEASER_URL, 'aboutUsPage' ) ),
161 + );
162 + }
163 + );
119 164 }
120 165
121 166 /**
122 167 * Registers with the SDK
@@ -141,4 +186,18 @@
141 186 // register autoloader function
142 187 spl_autoload_register( 'visualizer_autoloader' );
143 188 // launch the plugin
144 189 visualizer_launch();
190 +
191 +
192 +if ( VISUALIZER_LOCAL_DEBUG ) {
193 + add_action( 'themeisle_log_event', 'visualizer_themeisle_log_event', 10, 5 );
194 +
195 + /**
196 + * Redirect themeisle_log_event to error log.
197 + */
198 + function visualizer_themeisle_log_event( $name, $msg, $type, $file, $line ) {
199 + if ( $name === Visualizer_Plugin::NAME ) {
200 + error_log( sprintf( '%s (%s:%d): %s', $type, $file, $line, $msg ) );
201 + }
202 + }
203 +}