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 +14 -3 3.6.3 → 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_scan_version()
152 + $this->get_dismiss_version()
153 153 );
154 154
155 155 wp_safe_redirect(
156 156 remove_query_arg(
@@ -388,8 +388,12 @@
388 388 private function get_scan_version(): string {
389 389 return jet_form_builder()->get_version() . ':' . self::SCAN_SCHEMA_VERSION;
390 390 }
391 391
392 + private function get_dismiss_version(): string {
393 + return 'schema:' . self::SCAN_SCHEMA_VERSION;
394 + }
395 +
392 396 private function is_notice_dismissed( array $notice ): bool {
393 397 $dismissed = (string) get_user_meta( get_current_user_id(), self::DISMISS_META_KEY, true );
394 398
395 399 if ( '' === $dismissed ) {
@@ -395,13 +399,20 @@
395 399 if ( '' === $dismissed ) {
396 400 return false;
397 401 }
398 402
399 - if ( $dismissed === $this->get_scan_version() ) {
403 + if (
404 + $dismissed === $this->get_dismiss_version() ||
405 + $dismissed === $this->get_notice_dismiss_token( $notice )
406 + ) {
400 407 return true;
401 408 }
402 409
403 - return $dismissed === $this->get_notice_dismiss_token( $notice );
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;
404 415 }
405 416
406 417 private function get_notice_dismiss_token( array $notice ): string {
407 418 return (string) ( $notice['notice_token'] ?? $notice['version'] ?? '' );