PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 4.0.0
Visualizer – Tables & Charts Manager with Built-in AI Generator v4.0.0
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/Csv.php +9 -3 3.10.104.0.0 View file →
@@ -76,8 +76,13 @@
76 76 // read series types
77 77 $types = fgetcsv( $handle, 0, VISUALIZER_CSV_DELIMITER, VISUALIZER_CSV_ENCLOSURE );
78 78 }
79 79
80 + if ( ! is_array( $labels ) || ! is_array( $types ) ) {
81 + $this->_error = esc_html__( 'File should have a heading row (1st row) and a data type row (2nd row). Please try again.', 'visualizer' );
82 + return false;
83 + }
84 +
80 85 $labels = array_filter( $labels );
81 86 $types = array_filter( $types );
82 87
83 88 if ( ! $labels || ! $types ) {
@@ -96,9 +101,9 @@
96 101
97 102 $labels[ $i ] = $this->toUTF8( $labels[ $i ] );
98 103
99 104 $this->_series[] = array(
100 - 'label' => $labels[ $i ],
105 + 'label' => sanitize_text_field( wp_strip_all_tags( $labels[ $i ] ) ),
101 106 'type' => isset( $types[ $i ] ) ? $types[ $i ] : $default_type,
102 107 );
103 108 }
104 109
@@ -142,11 +147,12 @@
142 147 return false;
143 148 }
144 149
145 150 // fetch data
146 - // phpcs:ignore WordPress.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition
147 - while ( ( $data = fgetcsv( $handle, 0, VISUALIZER_CSV_DELIMITER, VISUALIZER_CSV_ENCLOSURE ) ) !== false ) {
151 + $data = fgetcsv( $handle, 0, VISUALIZER_CSV_DELIMITER, VISUALIZER_CSV_ENCLOSURE );
152 + while ( $data !== false ) {
148 153 $this->_data[] = $this->_normalizeData( $data );
154 + $data = fgetcsv( $handle, 0, VISUALIZER_CSV_DELIMITER, VISUALIZER_CSV_ENCLOSURE );
149 155 }
150 156
151 157 // close file handle
152 158 fclose( $handle );