PluginProbe
TablePress – Tables in WordPress made easy / 3.2
TablePress – Tables in WordPress made easy v3.2
3.3.4 3.3.3 3.3.2 3.3.1 trunk 1.12 1.14 1.9.2 2.0.4 2.1.7 2.1.8 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3 2.3.1 2.3.2 2.4 2.4.1 2.4.2 2.4.3 2.4.4 All 44 releases
← All changes | controllers/controller-admin_ajax.php +25 -16 2.3.23.2 View file →
@@ -87,9 +87,9 @@
87 87 $error_details = '';
88 88 do { // To be able to "break;" (allows for better readable code).
89 89 // Load table, without table data, but with options and visibility settings.
90 90 $existing_table = TablePress::$model_table->load( $edit_table['id'], false, true );
91 - if ( is_wp_error( $existing_table ) ) { // @todo Maybe somehow load a new table here? (TablePress::$model_table->get_table_template())?
91 + if ( is_wp_error( $existing_table ) ) {
92 92 $error = new WP_Error( 'ajax_save_table_load', '', $edit_table['id'] );
93 93 $error->merge_from( $existing_table );
94 94 $error_details = TablePress::get_wp_error_string( $error );
95 95 break;
@@ -160,10 +160,12 @@
160 160 } else {
161 161 $message = 'success_save_error_id_change';
162 162 $error_details = 'table_id_could_not_be_changed: capability_check_failed';
163 163 }
164 - } while ( false ); // Do-while-loop through this exactly once, to be able to "break;" early. // @phpstan-ignore-line .
165 164
165 + // @phpstan-ignore doWhile.alwaysFalse
166 + } while ( false ); // Do-while-loop through this exactly once, to be able to "break;" early.
167 +
166 168 // Generate the response.
167 169
168 170 // Common data for all responses.
169 171 $response = array(
@@ -171,15 +173,15 @@
171 173 'message' => $message,
172 174 );
173 175 if ( $success ) {
174 176 // For the phpstan ignores in the next lines: If this is reached, $table is guaranteed to exist and is a valid array.
175 - $response['table_id'] = $table['id']; // @phpstan-ignore-line
176 - $response['new_edit_nonce'] = wp_create_nonce( TablePress::nonce( 'edit', $table['id'] ) ); // @phpstan-ignore-line
177 - $response['new_preview_nonce'] = wp_create_nonce( TablePress::nonce( 'preview_table', $table['id'] ) ); // @phpstan-ignore-line
178 - $response['new_copy_nonce'] = wp_create_nonce( TablePress::nonce( 'copy_table', $table['id'] ) ); // @phpstan-ignore-line
179 - $response['new_delete_nonce'] = wp_create_nonce( TablePress::nonce( 'delete_table', $table['id'] ) ); // @phpstan-ignore-line
180 - $response['last_modified'] = TablePress::format_datetime( $table['last_modified'] ); // @phpstan-ignore-line
181 - $response['last_editor'] = TablePress::get_user_display_name( $table['options']['last_editor'] ); // @phpstan-ignore-line
177 + $response['table_id'] = $table['id']; // @phpstan-ignore offsetAccess.nonOffsetAccessible, variable.undefined
178 + $response['new_edit_nonce'] = wp_create_nonce( TablePress::nonce( 'edit', $table['id'] ) ); // @phpstan-ignore offsetAccess.nonOffsetAccessible, variable.undefined
179 + $response['new_preview_nonce'] = wp_create_nonce( TablePress::nonce( 'preview_table', $table['id'] ) ); // @phpstan-ignore offsetAccess.nonOffsetAccessible, variable.undefined
180 + $response['new_copy_nonce'] = wp_create_nonce( TablePress::nonce( 'copy_table', $table['id'] ) ); // @phpstan-ignore offsetAccess.nonOffsetAccessible, variable.undefined
181 + $response['new_delete_nonce'] = wp_create_nonce( TablePress::nonce( 'delete_table', $table['id'] ) ); // @phpstan-ignore offsetAccess.nonOffsetAccessible, variable.undefined
182 + $response['last_modified'] = TablePress::format_datetime( $table['last_modified'] ); // @phpstan-ignore offsetAccess.nonOffsetAccessible, variable.undefined
183 + $response['last_editor'] = TablePress::get_user_display_name( $table['options']['last_editor'] ); // @phpstan-ignore offsetAccess.nonOffsetAccessible, variable.undefined
182 184 }
183 185 if ( ! empty( $error_details ) ) {
184 186 $response['error_details'] = esc_html( $error_details );
185 187 }
@@ -217,9 +219,9 @@
217 219 $success = false;
218 220 do { // To be able to "break;" (allows for better readable code).
219 221 // Load table, without table data, but with options and visibility settings.
220 222 $existing_table = TablePress::$model_table->load( $preview_table['id'], false, true );
221 - if ( is_wp_error( $existing_table ) ) { // @todo Maybe somehow load a new table here? (TablePress::$model_table->get_table_template())?
223 + if ( is_wp_error( $existing_table ) ) {
222 224 break;
223 225 }
224 226
225 227 // Check and convert all data that was transmitted as valid JSON.
@@ -257,10 +259,12 @@
257 259 }
258 260
259 261 // At this point, the table data is valid and sanitized and can be rendered.
260 262 $success = true;
261 - } while ( false ); // Do-while-loop through this exactly once, to be able to "break;" early. // @phpstan-ignore-line .
262 263
264 + // @phpstan-ignore doWhile.alwaysFalse
265 + } while ( false ); // Do-while-loop through this exactly once, to be able to "break;" early.
266 +
263 267 if ( $success ) {
264 268 // Create a render class instance.
265 269 $_render = TablePress::load_class( 'TablePress_Render', 'class-render.php', 'classes' );
266 270 // Merge desired options with default render options (see TablePress_Controller_Frontend::shortcode_table()).
@@ -267,13 +271,14 @@
267 271 $default_render_options = $_render->get_default_render_options();
268 272 /** This filter is documented in controllers/controller-frontend.php */
269 273 $default_render_options = apply_filters( 'tablepress_shortcode_table_default_shortcode_atts', $default_render_options );
270 274 // For the phpstan ignores in the next lines: If this is reached, $table is guaranteed to exist and is a valid array.
271 - $render_options = shortcode_atts( $default_render_options, $table['options'] ); // @phpstan-ignore-line
275 + $render_options = shortcode_atts( $default_render_options, $table['options'] ); // @phpstan-ignore offsetAccess.nonOffsetAccessible, variable.undefined
272 276 /** This filter is documented in controllers/controller-frontend.php */
273 277 $render_options = apply_filters( 'tablepress_shortcode_table_shortcode_atts', $render_options );
274 - $render_options['html_id'] = "tablepress-{$table['id']}"; // @phpstan-ignore-line
275 - $_render->set_input( $table, $render_options ); // @phpstan-ignore-line
278 + $render_options['html_id'] = "tablepress-{$table['id']}"; // @phpstan-ignore offsetAccess.nonOffsetAccessible, variable.undefined
279 + $render_options['block_preview'] = true;
280 + $_render->set_input( $table, $render_options ); // @phpstan-ignore variable.undefined
276 281 $head_html = $_render->get_preview_css();
277 282 $custom_css = TablePress::$model_options->get( 'custom_css' );
278 283 $use_custom_css = ( TablePress::$model_options->get( 'use_custom_css' ) && '' !== $custom_css );
279 284 if ( $use_custom_css ) {
@@ -282,12 +287,16 @@
282 287
283 288 $body_html = '<div id="tablepress-page"><p>'
284 289 . __( 'This is a preview of your table.', 'tablepress' ) . ' '
285 290 . __( 'Because of CSS styling in your theme, the table might look different on your page!', 'tablepress' ) . ' '
286 - . __( 'The Table Features for Site Visitors, like sorting, filtering, and pagination, are also not available in this preview!', 'tablepress' ) . '<br />';
291 + . __( 'The Table Features for Site Visitors, like sorting, filtering, and pagination, are also not available in this preview!', 'tablepress' ) . '<br>';
287 292 // Show the instructions string depending on whether the Block Editor is used on the site or not.
288 - if ( TablePress::site_uses_block_editor() ) {
293 + if ( 'block' === TablePress::site_used_editor() ) {
294 + /* translators: %1$s: Block name */
289 295 $body_html .= sprintf( __( 'To insert a table into a post or page, add a “%1$s” block in the block editor and select the desired table.', 'tablepress' ), __( 'TablePress table', 'tablepress' ) );
296 + } elseif ( 'elementor' === TablePress::site_used_editor() ) {
297 + /* translators: %1$s: Widget name */
298 + $body_html .= sprintf( __( 'To insert a table into a post or page, add a “%1$s” widget in the Elementor editor and select the desired table.', 'tablepress' ), __( 'TablePress table', 'tablepress' ) );
290 299 } else {
291 300 $body_html .= __( 'To insert a table into a post or page, paste its Shortcode at the desired place in the editor.', 'tablepress' ) . ' '
292 301 . __( 'Each table has a unique ID that needs to be adjusted in that Shortcode.', 'tablepress' );
293 302 }