PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.6.1
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.6.1
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 +38 -5 3.1.23.6.1 View file →
@@ -1,13 +1,14 @@
1 1 <?php
2 -
3 2 /*
4 - Plugin Name: Visualizer: Tables and Charts Manager for WordPress (Lite)
3 + Plugin Name: Visualizer: Tables and Charts for WordPress
5 4 Plugin URI: https://themeisle.com/plugins/visualizer-charts-and-graphs-lite/
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.2
6 + Version: 3.6.1
8 7 Author: Themeisle
9 8 Author URI: http://themeisle.com
9 + Requires at least: 3.5
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,12 +65,14 @@
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__ ) );
68 72 define( 'VISUALIZER_REST_VERSION', 1 );
69 73 // 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).
74 + // this is also used in Block.php
70 75 define( 'VISUALIZER_TEST_JS_CUSTOMIZATION', false );
71 76
72 77 if ( ! defined( 'VISUALIZER_CSV_DELIMITER' ) ) {
73 78 define( 'VISUALIZER_CSV_DELIMITER', ',' );
@@ -85,9 +90,16 @@
85 90 define( 'VISUALIZER_ENABLE_BETA_FEATURES', '' );
86 91
87 92 // the link to pre-build queries.
88 93 define( 'VISUALIZER_DB_QUERY_DOC_URL', 'https://docs.themeisle.com/article/970-visualizer-sample-queries-to-generate-charts' );
94 + define( 'VISUALIZER_MAIN_DOC', 'https://docs.themeisle.com/category/657-visualizer' );
95 + define( 'VISUALIZER_DOC_COLLECTION', 'https://docs.themeisle.com/search?collectionId=561ec249c69791452ed4bceb&query=#+visualizer' );
96 + define( 'VISUALIZER_DEMO_URL', 'https://demo.themeisle.com/visualizer/#' );
97 + define( 'VISUALIZER_CODE_SNIPPETS_URL', 'https://docs.themeisle.com/category/726-visualizer' );
89 98
99 + // to redirect all themeisle_log_event to error log.
100 + define( 'VISUALIZER_LOCAL_DEBUG', false );
101 +
90 102 // instantiate the plugin
91 103 $plugin = Visualizer_Plugin::instance();
92 104
93 105 // instantiate Gutenberg block
@@ -98,11 +110,13 @@
98 110 }}
99 111 );
100 112
101 113 // set general modules
114 + $plugin->setModule( Visualizer_Module_Utility::NAME );
102 115 $plugin->setModule( Visualizer_Module_Setup::NAME );
103 116 $plugin->setModule( Visualizer_Module_Sources::NAME );
104 117 $plugin->setModule( Visualizer_Module_Chart::NAME );
118 +
105 119 if ( is_admin() || defined( 'WP_TESTS_DOMAIN' ) ) {
106 120 // set admin modules
107 121 $plugin->setModule( Visualizer_Module_Admin::NAME );
108 122 }
@@ -109,14 +123,19 @@
109 123
110 124 // set frontend modules
111 125 $plugin->setModule( Visualizer_Module_Frontend::NAME );
112 126
113 - $vendor_file = VISUALIZER_ABSPATH . '/vendor/autoload_52.php';
127 + $plugin->setModule( Visualizer_Module_AMP::NAME );
128 +
129 + $vendor_file = VISUALIZER_ABSPATH . '/vendor/autoload.php';
114 130 if ( is_readable( $vendor_file ) ) {
115 131 include_once( $vendor_file );
116 132 }
117 133 add_filter( 'themeisle_sdk_products', 'visualizer_register_sdk', 10, 1 );
118 134 add_filter( 'pirate_parrot_log', 'visualizer_register_parrot', 10, 1 );
135 +
136 + define( 'VISUALIZER_SURVEY', Visualizer_Module::is_pro() ? 'https://forms.gle/7Zo7FuZbvQ8DTvRi6' : 'https://forms.gle/muMtbcyvHn1aTvmJ7' );
137 +
119 138 }
120 139
121 140 /**
122 141 * Registers with the SDK
@@ -141,4 +160,18 @@
141 160 // register autoloader function
142 161 spl_autoload_register( 'visualizer_autoloader' );
143 162 // launch the plugin
144 163 visualizer_launch();
164 +
165 +
166 +if ( VISUALIZER_LOCAL_DEBUG ) {
167 + add_action( 'themeisle_log_event', 'visualizer_themeisle_log_event', 10, 5 );
168 +
169 + /**
170 + * Redirect themeisle_log_event to error log.
171 + */
172 + function visualizer_themeisle_log_event( $name, $msg, $type, $file, $line ) {
173 + if ( $name === Visualizer_Plugin::NAME ) {
174 + error_log( sprintf( '%s (%s:%d): %s', $type, $file, $line, $msg ) );
175 + }
176 + }
177 +}