PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.6
JetFormBuilder — Dynamic Blocks Form Builder v3.6.6
3.6.6.1 3.6.6 3.6.5.4 3.6.5.3 3.6.5.2 3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.4 3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 All 134 releases
← All changes | modules/actions-v2/update-user/update-user.php +27 -2 3.6.2 → 3.6.6 View file →
@@ -148,9 +148,9 @@
148 148
149 149 update_user_meta(
150 150 get_current_user_id(),
151 151 self::DISMISS_META_KEY,
152 - $this->get_notice_dismiss_token( get_option( self::NOTICE_OPTION, array() ) )
152 + $this->get_dismiss_version()
153 153 );
154 154
155 155 wp_safe_redirect(
156 156 remove_query_arg(
@@ -181,9 +181,9 @@
181 181 if ( $this->get_scan_version() !== $notice['version'] ) {
182 182 return;
183 183 }
184 184
185 - if ( get_user_meta( get_current_user_id(), self::DISMISS_META_KEY, true ) === $this->get_notice_dismiss_token( $notice ) ) {
185 + if ( $this->is_notice_dismissed( $notice ) ) {
186 186 return;
187 187 }
188 188
189 189 $forms = array_slice( $notice['forms'], 0, 5 );
@@ -386,8 +386,33 @@
386 386 }
387 387
388 388 private function get_scan_version(): string {
389 389 return jet_form_builder()->get_version() . ':' . self::SCAN_SCHEMA_VERSION;
390 + }
391 +
392 + private function get_dismiss_version(): string {
393 + return 'schema:' . self::SCAN_SCHEMA_VERSION;
394 + }
395 +
396 + private function is_notice_dismissed( array $notice ): bool {
397 + $dismissed = (string) get_user_meta( get_current_user_id(), self::DISMISS_META_KEY, true );
398 +
399 + if ( '' === $dismissed ) {
400 + return false;
401 + }
402 +
403 + if (
404 + $dismissed === $this->get_dismiss_version() ||
405 + $dismissed === $this->get_notice_dismiss_token( $notice )
406 + ) {
407 + return true;
408 + }
409 +
410 + // Older builds stored "<plugin-version>:<schema>" in user meta.
411 + $legacy_suffix = ':' . self::SCAN_SCHEMA_VERSION;
412 +
413 + return strlen( $dismissed ) > strlen( $legacy_suffix )
414 + && substr( $dismissed, -strlen( $legacy_suffix ) ) === $legacy_suffix;
390 415 }
391 416
392 417 private function get_notice_dismiss_token( array $notice ): string {
393 418 return (string) ( $notice['notice_token'] ?? $notice['version'] ?? '' );