PluginProbe
wpForo Forum / 3.1.6
wpForo Forum v3.1.6
3.1.6 3.1.5 3.1.4 3.1.2 3.1.1 3.1.0 3.0.9 3.0.8 3.0.7 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.10 1.4.11 1.4.12 1.4.13 All 138 releases
← All changes | blocks/recent-topics/render.php +14 -2 3.0.73.1.6 View file →
@@ -6,9 +6,9 @@
6 6 * @var string $content The block default content.
7 7 * @var WP_Block $block The block instance.
8 8 */
9 9
10 -$instance = wp_parse_args( $attributes, [
10 +$default_instance = [
11 11 'boardid' => 0,
12 12 'title' => __( 'Recent Topics', 'wpforo' ),
13 13 'forumids' => [],
14 14 'orderby' => 'created',
@@ -18,9 +18,21 @@
18 18 'forumids_filter' => false,
19 19 'current_forumid_filter' => false,
20 20 'goto_unread' => false,
21 21 'refresh_interval' => 0,
22 -] );
22 +];
23 +
24 +$allowed_orderby = [ 'created', 'modified', 'posts', 'views' ];
25 +$allowed_order = [ 'DESC', 'ASC', 'RAND' ];
26 +
27 +$instance = wp_parse_args( $attributes, $default_instance );
28 +
29 +if( ! is_string( $instance['orderby'] ) || ! in_array( $instance['orderby'], $allowed_orderby, true ) ) {
30 + $instance['orderby'] = $default_instance['orderby'];
31 +}
32 +if( ! is_string( $instance['order'] ) || ! in_array( $instance['order'], $allowed_order, true ) ) {
33 + $instance['order'] = $default_instance['order'];
34 +}
23 35
24 36 // wpForo Recent Topics widget logic
25 37 wp_enqueue_script( 'wpforo-widgets-js' );
26 38