PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.3-beta
16.3-beta 16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 All 507 releases
← All changes | modules/widgets/my-community.php +19 -11 12.7.3 → 16.3-beta View file →
@@ -5,9 +5,9 @@
5 5 use Automattic\Jetpack\Redirect;
6 6
7 7 // Disable direct access/execution to/of the widget code.
8 8 if ( ! defined( 'ABSPATH' ) ) {
9 - exit;
9 + exit( 0 );
10 10 }
11 11
12 12 /**
13 13 * Jetpack_My_Community_Widget displays community members of this site.
@@ -43,12 +43,8 @@
43 43 'customize_selective_refresh' => true,
44 44 )
45 45 );
46 46
47 - if ( is_active_widget( false, false, $this->id_base ) || is_active_widget( false, false, 'monster' ) || is_customize_preview() ) {
48 - add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ) );
49 - }
50 -
51 47 $this->default_title = esc_html__( 'Community', 'jetpack' );
52 48
53 49 add_filter( 'widget_types_to_hide_from_legacy_widget_block', array( $this, 'hide_widget_in_block_editor' ) );
54 50 }
@@ -81,9 +77,9 @@
81 77 *
82 78 * @return string|void
83 79 */
84 80 public function form( $instance ) {
85 - $title = isset( $instance['title'] ) ? $instance['title'] : false;
81 + $title = $instance['title'] ?? false;
86 82 if ( false === $title ) {
87 83 $title = $this->default_title;
88 84 }
89 85
@@ -145,21 +141,21 @@
145 141 * @return array Updated safe values to be saved.
146 142 */
147 143 public function update( $new_instance, $old_instance ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
148 144 $instance = array();
149 - $instance['title'] = wp_kses( $new_instance['title'], array() );
145 + $instance['title'] = wp_kses( $new_instance['title'] ?? '', array() );
150 146 if ( $instance['title'] === $this->default_title ) {
151 147 $instance['title'] = false; // Store as false in case of language change.
152 148 }
153 149
154 - $instance['number'] = (int) $new_instance['number'];
150 + $instance['number'] = (int) ( $new_instance['number'] ?? 0 );
155 151 if ( ! in_array( $instance['number'], array( 10, 50 ), true ) ) {
156 152 $instance['number'] = 10;
157 153 }
158 154
159 - $instance['include_likers'] = (bool) $new_instance['include_likers'];
160 - $instance['include_followers'] = (bool) $new_instance['include_followers'];
161 - $instance['include_commenters'] = (bool) $new_instance['include_commenters'];
155 + $instance['include_likers'] = ! empty( $new_instance['include_likers'] );
156 + $instance['include_followers'] = ! empty( $new_instance['include_followers'] );
157 + $instance['include_commenters'] = ! empty( $new_instance['include_commenters'] );
162 158
163 159 delete_transient( "$this->id-v2-{$instance['number']}" . (int) $instance['include_likers'] . (int) $instance['include_followers'] . (int) $instance['include_commenters'] );
164 160
165 161 return $instance;
@@ -173,8 +169,17 @@
173 169 * @param array $args Widget arguments.
174 170 * @param array $instance Saved values from database.
175 171 */
176 172 public function widget( $args, $instance ) {
173 + $args = wp_parse_args(
174 + $args,
175 + array(
176 + 'before_widget' => '',
177 + 'after_widget' => '',
178 + 'before_title' => '',
179 + 'after_title' => '',
180 + )
181 + );
177 182 $instance = wp_parse_args(
178 183 $instance,
179 184 array(
180 185 'title' => false,
@@ -189,8 +194,11 @@
189 194
190 195 if ( false === $title ) {
191 196 $title = $this->default_title;
192 197 }
198 +
199 + // Enqueue front end assets.
200 + $this->enqueue_style();
193 201
194 202 echo $args['before_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
195 203
196 204 /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */