PluginProbe
WP Data Access – App Builder for Tables, Forms, Charts, Maps & Dashboards / 5.5.85
WP Data Access – App Builder for Tables, Forms, Charts, Maps & Dashboards v5.5.85
5.5.85 5.5.84 5.5.83 5.5.82 5.5.81 5.5.80 5.5.79 5.5.77 5.5.76 5.5.75 5.5.73 5.5.72 5.5.22 5.5.23 5.5.29 5.5.3 5.5.31 5.5.32 5.5.34 5.5.35 5.5.36 5.5.37 5.5.4 5.5.40 5.5.41 All 161 releases
← All changes | WPDataAccess/Plugin_Table_Models/WPDA_CSV_Uploads_Model.php +19 -17 5.5.23 → 5.5.85 View file →
@@ -10,9 +10,9 @@
10 10 const BASE_TABLE_NAME = 'wpda_csv_uploads';
11 11
12 12 public static function query( $csv_id ) {
13 13 global $wpdb;
14 - return $wpdb->get_results(
14 + return $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- plugin table
15 15 $wpdb->prepare(
16 16 'select * from `%1s` where csv_id = %d', // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders
17 17 array(
18 18 WPDA::remove_backticks( static::get_base_table_name() ),
@@ -21,17 +21,18 @@
21 21 )
22 22 );
23 23 }
24 24
25 - public static function insert( $csv_name, $real_file_name, $orig_file_name ) {
25 + public static function insert( $csv_name, $real_file_name, $orig_file_name, $csv_encoding = null ) {
26 26 global $wpdb;
27 - if ( 1 === $wpdb->insert(
27 + if ( 1 === $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery -- plugin table
28 28 static::get_base_table_name(),
29 29 array(
30 30 'csv_name' => $csv_name,
31 31 'csv_real_file_name' => $real_file_name,
32 32 'csv_orig_file_name' => $orig_file_name,
33 - 'csv_timestamp' => date( 'Y-m-d H:i:s' ),
33 + 'csv_timestamp' => gmdate( 'Y-m-d H:i:s' ),
34 + 'csv_encoding' => $csv_encoding,
34 35 )
35 36 )
36 37 ) {
37 38 return $wpdb->insert_id;
@@ -39,16 +40,17 @@
39 40 return false;
40 41 }
41 42 }
42 43
43 - public static function update( $csv_id, $real_file_name, $orig_file_name ) {
44 + public static function update( $csv_id, $real_file_name, $orig_file_name, $csv_encoding = null ) {
44 45 global $wpdb;
45 - return ( 1 === $wpdb->update(
46 + return ( 1 === $wpdb->update( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- plugin table
46 47 static::get_base_table_name(),
47 48 array(
48 49 'csv_real_file_name' => $real_file_name,
49 50 'csv_orig_file_name' => $orig_file_name,
50 - 'csv_timestamp' => date( 'Y-m-d H:i:s' ),
51 + 'csv_timestamp' => gmdate( 'Y-m-d H:i:s' ),
52 + 'csv_encoding' => $csv_encoding,
51 53 ),
52 54 array(
53 55 'csv_id' => $csv_id,
54 56 )
@@ -81,9 +83,9 @@
81 83 );
82 84
83 85 global $wpdb;
84 86 $wpdb->suppress_errors( true );
85 - $rows_update = $wpdb->query(
87 + $rows_update = $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- plugin table
86 88 $wpdb->prepare(
87 89 'update `%1s` set csv_mapping = %s where csv_id = %d', // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders
88 90 array(
89 91 WPDA::remove_backticks( static::get_base_table_name() ),
@@ -92,9 +94,9 @@
92 94 )
93 95 )
94 96 );
95 97
96 - echo '' === $wpdb->last_error ? 'UPD-' . esc_attr( $rows_update ) : 'ERR-' . $wpdb->last_error; // phpcs:ignore WordPress.Security.EscapeOutput
98 + echo '' === $wpdb->last_error ? 'UPD-' . esc_attr( $rows_update ) : 'ERR-' . esc_attr( $wpdb->last_error );
97 99 }
98 100
99 101 public static function preview_mapping() {
100 102 header( 'Content-Type: text/plain; charset=utf-8' );
@@ -123,9 +125,9 @@
123 125 $dbrow = self::query( $csv_id );
124 126
125 127 global $wpdb;
126 128 if ( '' !== $wpdb->last_error ) {
127 - echo 'ERR-' . $wpdb->last_error; // phpcs:ignore WordPress.Security.EscapeOutput
129 + echo 'ERR-' . esc_attr( $wpdb->last_error );
128 130 }
129 131 if ( 1 === $wpdb->num_rows ) {
130 132 if ( ! isset( $dbrow[0]->csv_real_file_name ) ) {
131 133 echo 'ERR-No file';
@@ -132,10 +134,10 @@
132 134 } else {
133 135 $upload_dir = WPDA::get_plugin_upload_dir();
134 136 $file_name = $upload_dir . $dbrow[0]->csv_real_file_name;
135 137
136 - @ini_set( 'auto_detect_line_endings', true );
137 - if ( false !== ( $fp = fopen( $file_name, 'rb' ) ) ) {
138 + @ini_set( 'auto_detect_line_endings', true ); // phpcs:ignore
139 + if ( false !== ( $fp = fopen( $file_name, 'rb' ) ) ) { // phpcs:ignore
138 140 $mapping = isset( $dbrow[0]->csv_mapping ) ? json_decode( $dbrow[0]->csv_mapping, true ) : array();
139 141 $delimiter = isset( $mapping['settings']['delimiter'] ) ? $mapping['settings']['delimiter'] : ',';
140 142 $has_header_columns = isset( $mapping['settings']['has_header_columns'] ) ? $mapping['settings']['has_header_columns'] : true;
141 143
@@ -165,11 +167,11 @@
165 167 $number_of_columns = 1;
166 168 if ( 'false' !== $has_header_columns ) {
167 169 echo '<thead>';
168 170 if ( false !== ( $data = fgetcsv( $fp, 0, $delimiter, '"' ) ) ) {
169 - $number_of_columns = count( $data );//phpcs:ignore - 8.1 proof
171 + $number_of_columns = count( $data ); // phpcs:ignore -- 8.1 proof
170 172 echo '<tr>';
171 - for ( $column = 0; $column < count( $data ); $column++ ) {//phpcs:ignore - 8.1 proof
173 + for ( $column = 0; $column < count( $data ); $column++ ) { // phpcs:ignore -- 8.1 proof
172 174 echo '<th>' . esc_attr( $data[$column] ) . '</th>';
173 175 }
174 176 echo '</tr>';
175 177 }
@@ -181,9 +183,9 @@
181 183 echo '<tbody>';
182 184 while ( false !== ( $data = fgetcsv( $fp, 0, $delimiter, '"' ) ) ) {
183 185 if ( $row >= $start && $row < $end ) {
184 186 echo '<tr>';
185 - for ( $column = 0; $column < count( $data ); $column++ ) {//phpcs:ignore - 8.1 proof
187 + for ( $column = 0; $column < count( $data ); $column++ ) { // phpcs:ignore -- 8.1 proof
186 188 echo '<td>' . esc_attr( $data[$column] ) . '</td>';
187 189 }
188 190 echo '</tr>';
189 191 $fnd = true;
@@ -191,14 +193,14 @@
191 193
192 194 $row++;
193 195 }
194 196 if ( ! $fnd ) {
195 - echo '<tr colspan="' . esc_attr( $number_of_columns ) . '"><td>' . __( 'No data found', 'wp-data-access' ) . '</td></tr>';
197 + echo '<tr colspan="' . esc_attr( $number_of_columns ) . '"><td>' . esc_attr__( 'No data found', 'wp-data-access' ) . '</td></tr>';
196 198 }
197 199 echo '</tbody>';
198 200 echo '</table>';
199 201
200 - fclose( $fp );
202 + fclose( $fp ); // phpcs:ignore
201 203 } else {
202 204 echo 'ERR-File not found';
203 205 }
204 206 }