PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.4.4
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.4.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/Source.php +13 -20 4.0.53.4.4 View file →
@@ -108,9 +108,9 @@
108 108 * @abstract
109 109 * @access public
110 110 * @return string The name of source.
111 111 */
112 - abstract public function getSourceName();
112 + public abstract function getSourceName();
113 113
114 114 /**
115 115 * Fetches information from source, parses it and builds series and data arrays.
116 116 *
@@ -118,9 +118,9 @@
118 118 *
119 119 * @abstract
120 120 * @access public
121 121 */
122 - abstract public function fetch();
122 + public abstract function fetch();
123 123
124 124 /**
125 125 * Returns series parsed from source.
126 126 *
@@ -140,12 +140,9 @@
140 140 *
141 141 * @access public
142 142 * @return string The serialized array of data.
143 143 */
144 - public function getData( $fetch_from_editable_table = false ) {
145 - if ( $fetch_from_editable_table ) {
146 - $this->_fetchDataFromEditableTable();
147 - }
144 + public function getData() {
148 145 return serialize( $this->_data );
149 146 }
150 147
151 148 /**
@@ -155,12 +152,9 @@
155 152 *
156 153 * @access public
157 154 * @return array
158 155 */
159 - public function getRawData( $fetch_from_editable_table = false ) {
160 - if ( $fetch_from_editable_table ) {
161 - $this->_fetchDataFromEditableTable();
162 - }
156 + public function getRawData() {
163 157 return $this->_data;
164 158 }
165 159
166 160 /**
@@ -217,9 +211,8 @@
217 211 continue;
218 212 }
219 213 switch ( $series['type'] ) {
220 214 case 'number':
221 - $data[ $i ] = preg_replace( '/[\x{200B}-\x{200D}\x{FEFF}]/u', '', $data[ $i ] );
222 215 $data[ $i ] = ( is_numeric( $data[ $i ] ) ) ? floatval( $data[ $i ] ) : ( is_numeric( str_replace( ',', '', $data[ $i ] ) ) ? floatval( str_replace( ',', '', $data[ $i ] ) ) : null );
223 216 break;
224 217 case 'boolean':
225 218 $datum = trim( strval( $data[ $i ] ) );
@@ -262,9 +255,9 @@
262 255 * @param string $datum The data to convert.
263 256 *
264 257 * @return string The converted data.
265 258 */
266 - final protected function toUTF8( $datum ) {
259 + protected final function toUTF8( $datum ) {
267 260 if ( ! function_exists( 'mb_detect_encoding' ) || mb_detect_encoding( $datum ) !== 'ASCII' ) {
268 261 $datum = \ForceUTF8\Encoding::toUTF8( $datum );
269 262 }
270 263 return $datum;
@@ -279,9 +272,9 @@
279 272 * @param array $data The actual array of data.
280 273 *
281 274 * @return array
282 275 */
283 - final public static function get_date_formats_if_exists( $series, $data ) {
276 + public static final function get_date_formats_if_exists( $series, $data ) {
284 277 $date_formats = array();
285 278 $types = array();
286 279 $index = 0;
287 280 foreach ( $series as $column ) {
@@ -287,9 +280,9 @@
287 280 foreach ( $series as $column ) {
288 281 if ( in_array( $column['type'], array( 'date', 'datetime', 'timeofday' ), true ) ) {
289 282 $types[] = array( 'index' => $index, 'type' => $column['type'] );
290 283 }
291 - ++$index;
284 + $index++;
292 285 }
293 286
294 287 if ( ! $types ) {
295 288 return $date_formats;
@@ -335,9 +328,9 @@
335 328 * @param string $type 'date', 'timeofday' or 'datetime'.
336 329 *
337 330 * @return string|null
338 331 */
339 - private static function determine_date_format( $value, $type ) {
332 + private static final function determine_date_format( $value, $type ) {
340 333 if ( version_compare( phpversion(), '5.3.0', '<' ) ) {
341 334 do_action( 'themeisle_log_event', Visualizer_Plugin::NAME, sprintf( 'PHP version %s not supported', phpversion() ), 'error', __FILE__, __LINE__ );
342 335 return null;
343 336 }
@@ -428,9 +421,9 @@
428 421 if ( $headers ) {
429 422 foreach ( $headers as $header ) {
430 423 if ( ! empty( $types[ $header ] ) ) {
431 424 $this->_series[] = array(
432 - 'label' => sanitize_text_field( wp_strip_all_tags( $header ) ),
425 + 'label' => $header,
433 426 'type' => $types[ $header ],
434 427 );
435 428 }
436 429 }
@@ -449,8 +442,9 @@
449 442 *
450 443 * @access private
451 444 */
452 445 private function _fetchDataFromEditableTable() {
446 + $params = $this->_args;
453 447 $headers = wp_list_pluck( $this->_series, 'label' );
454 448 $this->fetch();
455 449
456 450 $data = $this->_data;
@@ -457,12 +451,9 @@
457 451 $this->_data = array();
458 452
459 453 foreach ( $data as $line ) {
460 454 $data_row = array();
461 - // we have to make sure we are fetching the data in the right order
462 - // in case the columns have been reordered
463 - foreach ( $headers as $header ) {
464 - $value = $line[ $header ];
455 + foreach ( $line as $header => $value ) {
465 456 // phpcs:ignore WordPress.PHP.StrictInArray.MissingTrueStrict
466 457 if ( in_array( $header, $headers ) ) {
467 458 $data_row[] = $value;
468 459 }
@@ -473,5 +464,7 @@
473 464 do_action( 'themeisle_log_event', Visualizer_Plugin::NAME, sprintf( 'Data found for %s = %s', print_r( $this->_args, true ), print_r( $this->_data, true ) ), 'debug', __FILE__, __LINE__ );
474 465
475 466 return true;
476 467 }
468 +
469 +
477 470 }