PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 1.5.3
Visualizer – Tables & Charts Manager with Built-in AI Generator v1.5.3
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/Plugin.php +170 -212 3.1.31.5.3 View file →
@@ -1,212 +1,170 @@
1 -<?php
2 -// +----------------------------------------------------------------------+
3 -// | Copyright 2013 Madpixels (email : visualizer@madpixels.net) |
4 -// +----------------------------------------------------------------------+
5 -// | This program is free software; you can redistribute it and/or modify |
6 -// | it under the terms of the GNU General Public License, version 2, as |
7 -// | published by the Free Software Foundation. |
8 -// | |
9 -// | This program is distributed in the hope that it will be useful, |
10 -// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 -// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 -// | GNU General Public License for more details. |
13 -// | |
14 -// | You should have received a copy of the GNU General Public License |
15 -// | along with this program; if not, write to the Free Software |
16 -// | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, |
17 -// | MA 02110-1301 USA |
18 -// +----------------------------------------------------------------------+
19 -// | Author: Eugene Manuilov <eugene@manuilov.org> |
20 -// +----------------------------------------------------------------------+
21 -/**
22 - * The core plugin class.
23 - *
24 - * @category Visualizer
25 - *
26 - * @since 1.0.0
27 - */
28 -class Visualizer_Plugin {
29 -
30 - const NAME = 'visualizer';
31 - const VERSION = '3.1.3';
32 -
33 - // custom post types
34 - const CPT_VISUALIZER = 'visualizer';
35 -
36 - // custom meta fields
37 - const CF_CHART_TYPE = 'visualizer-chart-type';
38 - const CF_SOURCE = 'visualizer-source';
39 - const CF_SERIES = 'visualizer-series';
40 - const CF_DEFAULT_DATA = 'visualizer-default-data';
41 - const CF_SETTINGS = 'visualizer-settings';
42 -
43 - const CF_SOURCE_FILTER = 'visualizer-source-filter';
44 - const CF_FILTER_CONFIG = 'visualizer-filter-config';
45 -
46 - // custom actions
47 - const ACTION_GET_CHARTS = 'visualizer-get-charts';
48 - const ACTION_CREATE_CHART = 'visualizer-create-chart';
49 - const ACTION_EDIT_CHART = 'visualizer-edit-chart';
50 - const ACTION_CLONE_CHART = 'visualizer-clone-chart';
51 - const ACTION_DELETE_CHART = 'visualizer-delete-chart';
52 - const ACTION_UPLOAD_DATA = 'visualizer-upload-data';
53 - const ACTION_EXPORT_DATA = 'visualizer-export-data';
54 -
55 - /**
56 - *Action used for fetching specific users/roles for permissions.
57 - */
58 - const ACTION_FETCH_PERMISSIONS_DATA = 'visualizer-fetch-permissions-data';
59 -
60 - /**
61 - *Action used for fetching db import data.
62 - */
63 - const ACTION_FETCH_DB_DATA = 'visualizer-fetch-db-data';
64 - const ACTION_SAVE_DB_QUERY = 'visualizer-save-db-query';
65 - const ACTION_SAVE_FILTER_QUERY = 'visualizer-save-filter-query';
66 -
67 - // custom filters
68 - const FILTER_CHART_WRAPPER_CLASS = 'visualizer-chart-wrapper-class';
69 - const FILTER_GET_CHART_SERIES = 'visualizer-get-chart-series';
70 - const FILTER_GET_CHART_DATA = 'visualizer-get-chart-data';
71 - const FILTER_GET_CHART_SETTINGS = 'visualizer-get-chart-settings';
72 - const FILTER_UNDO_REVISIONS = 'visualizer-undo-revisions';
73 - const FILTER_HANDLE_REVISIONS = 'visualizer-handle-revisions';
74 -
75 - const CF_DB_SCHEDULE = 'visualizer-db-schedule';
76 - const CF_DB_QUERY = 'visualizer-db-query';
77 -
78 - const CF_CHART_URL = 'visualizer-chart-url';
79 - const CF_CHART_SCHEDULE = 'visualizer-chart-schedule';
80 - // Added by Ash/Upwork
81 - const PRO_TEASER_URL = 'http://themeisle.com/plugins/visualizer-charts-and-graphs-pro-addon/';
82 - const PRO_TEASER_TITLE = 'Check PRO version ';
83 - // Added by Ash/Upwork
84 - /**
85 - * Singletone instance of the plugin.
86 - *
87 - * @since 1.0.0
88 - *
89 - * @access private
90 - * @var Visualizer_Plugin
91 - */
92 - private static $_instance = null;
93 -
94 - /**
95 - * The array of registered modules.
96 - *
97 - * @since 1.0.0
98 - *
99 - * @access private
100 - * @var array
101 - */
102 - private $_modules = array();
103 -
104 - /**
105 - * Private constructor.
106 - *
107 - * @since 1.0.0
108 - *
109 - * @access private
110 - */
111 - private function __construct() {
112 - if ( VISUALIZER_DEBUG ) {
113 - add_action( 'themeisle_log_event', array( $this, 'themeisle_log_event_debug' ), 10, 5 );
114 - }
115 - }
116 -
117 - /**
118 - * Returns singletone instance of the plugin.
119 - *
120 - * @since 1.0.0
121 - *
122 - * @static
123 - * @access public
124 - * @return Visualizer_Plugin
125 - */
126 - public static function instance() {
127 - if ( is_null( self::$_instance ) ) {
128 - self::$_instance = new Visualizer_Plugin();
129 - }
130 -
131 - return self::$_instance;
132 - }
133 -
134 - /**
135 - * Returns chart types.
136 - *
137 - * @since 1.0.0
138 - *
139 - * @static
140 - * @access public
141 - * @return array
142 - */
143 - public static function getChartTypes() {
144 - $array = array_keys( Visualizer_Module_Admin::_getChartTypesLocalized() );
145 -
146 - return $array;
147 - }
148 -
149 - /**
150 - * Returns a module if it was registered before. Otherwise NULL.
151 - *
152 - * @since 1.0.0
153 - *
154 - * @access public
155 - *
156 - * @param string $name The name of the module to return.
157 - *
158 - * @return Visualizer_Module|null Returns a module if it was registered or NULL.
159 - */
160 - public function getModule( $name ) {
161 - return isset( $this->_modules[ $name ] ) ? $this->_modules[ $name ] : null;
162 - }
163 -
164 - /**
165 - * Determines whether the module has been registered or not.
166 - *
167 - * @since 1.0.0
168 - *
169 - * @access public
170 - *
171 - * @param string $name The name of a module to check.
172 - *
173 - * @return boolean TRUE if the module has been registered. Otherwise FALSE.
174 - */
175 - public function hasModule( $name ) {
176 - return isset( $this->_modules[ $name ] );
177 - }
178 -
179 - /**
180 - * Register new module in the plugin.
181 - *
182 - * @since 1.0.0
183 - *
184 - * @access public
185 - *
186 - * @param string $class The name of the module to use in the plugin.
187 - */
188 - public function setModule( $class ) {
189 - $this->_modules[ $class ] = new $class( $this );
190 - }
191 -
192 - /**
193 - * Private clone method.
194 - *
195 - * @since 1.0.0
196 - *
197 - * @access private
198 - */
199 - private function __clone() {
200 - }
201 -
202 - /**
203 - * For local testing, overrides the 'themeisle_log_event' hook and redirects to error.log.
204 - */
205 - final function themeisle_log_event_debug( $name, $message, $type, $file, $line ) {
206 - if ( Visualizer_Plugin::NAME !== $name ) {
207 - return;
208 - }
209 - error_log( sprintf( '%s (%s): %s in %s:%s', $name, $type, $message, $file, $line ) );
210 - }
211 -
212 -}
1 +<?php
2 +
3 +// +----------------------------------------------------------------------+
4 +// | Copyright 2013 Madpixels (email : visualizer@madpixels.net) |
5 +// +----------------------------------------------------------------------+
6 +// | This program is free software; you can redistribute it and/or modify |
7 +// | it under the terms of the GNU General Public License, version 2, as |
8 +// | published by the Free Software Foundation. |
9 +// | |
10 +// | This program is distributed in the hope that it will be useful, |
11 +// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 +// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 +// | GNU General Public License for more details. |
14 +// | |
15 +// | You should have received a copy of the GNU General Public License |
16 +// | along with this program; if not, write to the Free Software |
17 +// | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, |
18 +// | MA 02110-1301 USA |
19 +// +----------------------------------------------------------------------+
20 +// | Author: Eugene Manuilov <eugene@manuilov.org> |
21 +// +----------------------------------------------------------------------+
22 +
23 +/**
24 + * The core plugin class.
25 + *
26 + * @category Visualizer
27 + *
28 + * @since 1.0.0
29 + */
30 +class Visualizer_Plugin {
31 +
32 + const NAME = 'visualizer';
33 + const VERSION = '1.5.2';
34 +
35 + // custom post types
36 + const CPT_VISUALIZER = 'visualizer';
37 +
38 + // custom meta fields
39 + const CF_CHART_TYPE = 'visualizer-chart-type';
40 + const CF_SOURCE = 'visualizer-source';
41 + const CF_SERIES = 'visualizer-series';
42 + const CF_DEFAULT_DATA = 'visualizer-default-data';
43 + const CF_SETTINGS = 'visualizer-settings';
44 +
45 + // custom actions
46 + const ACTION_GET_CHARTS = 'visualizer-get-charts';
47 + const ACTION_CREATE_CHART = 'visualizer-create-chart';
48 + const ACTION_EDIT_CHART = 'visualizer-edit-chart';
49 + const ACTION_CLONE_CHART = 'visualizer-clone-chart';
50 + const ACTION_DELETE_CHART = 'visualizer-delete-chart';
51 + const ACTION_UPLOAD_DATA = 'visualizer-upload-data';
52 +
53 + // custom filters
54 + const FILTER_CHART_WRAPPER_CLASS = 'visualizer-chart-wrapper-class';
55 + const FILTER_GET_CHART_SERIES = 'visualizer-get-chart-series';
56 + const FILTER_GET_CHART_DATA = 'visualizer-get-chart-data';
57 + const FILTER_GET_CHART_SETTINGS = 'visualizer-get-chart-settings';
58 +
59 + // Added by Ash/Upwork
60 + const PRO_TEASER_URL = "http://themeisle.com/plugins/visualizer-charts-and-graphs-pro-addon/";
61 + const PRO_TEASER_TITLE = "Check PRO version ";
62 + // Added by Ash/Upwork
63 +
64 + /**
65 + * Singletone instance of the plugin.
66 + *
67 + * @since 1.0.0
68 + *
69 + * @access private
70 + * @var Visualizer_Plugin
71 + */
72 + private static $_instance = null;
73 +
74 + /**
75 + * The array of registered modules.
76 + *
77 + * @since 1.0.0
78 + *
79 + * @access private
80 + * @var array
81 + */
82 + private $_modules = array();
83 +
84 + /**
85 + * Private constructor.
86 + *
87 + * @since 1.0.0
88 + *
89 + * @access private
90 + */
91 + private function __construct() {}
92 +
93 + /**
94 + * Private clone method.
95 + *
96 + * @since 1.0.0
97 + *
98 + * @access private
99 + */
100 + private function __clone() {}
101 +
102 + /**
103 + * Returns singletone instance of the plugin.
104 + *
105 + * @since 1.0.0
106 + *
107 + * @static
108 + * @access public
109 + * @return Visualizer_Plugin
110 + */
111 + public static function instance() {
112 + if ( is_null( self::$_instance ) ) {
113 + self::$_instance = new Visualizer_Plugin();
114 + }
115 +
116 + return self::$_instance;
117 + }
118 +
119 + /**
120 + * Returns a module if it was registered before. Otherwise NULL.
121 + *
122 + * @since 1.0.0
123 + *
124 + * @access public
125 + * @param string $name The name of the module to return.
126 + * @return Visualizer_Module|null Returns a module if it was registered or NULL.
127 + */
128 + public function getModule( $name ) {
129 + return isset( $this->_modules[$name] ) ? $this->_modules[$name] : null;
130 + }
131 +
132 + /**
133 + * Determines whether the module has been registered or not.
134 + *
135 + * @since 1.0.0
136 + *
137 + * @access public
138 + * @param string $name The name of a module to check.
139 + * @return boolean TRUE if the module has been registered. Otherwise FALSE.
140 + */
141 + public function hasModule( $name ) {
142 + return isset( $this->_modules[$name] );
143 + }
144 +
145 + /**
146 + * Register new module in the plugin.
147 + *
148 + * @since 1.0.0
149 + *
150 + * @access public
151 + * @param string $module The name of the module to use in the plugin.
152 + */
153 + public function setModule( $class ) {
154 + $this->_modules[$class] = new $class( $this );
155 + }
156 +
157 + /**
158 + * Returns chart types.
159 + *
160 + * @since 1.0.0
161 + *
162 + * @static
163 + * @access public
164 + * @return array
165 + */
166 + public static function getChartTypes() {
167 + return array( 'line', 'area', 'bar', 'column', 'pie', 'geo', 'scatter', 'candlestick', 'gauge' );
168 + }
169 +
170 +}