PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.4.5.2
JetFormBuilder — Dynamic Blocks Form Builder v3.4.5.2
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 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / modules / actions-v2 / update-user / properties / user-meta-property.php
jetformbuilder / modules / actions-v2 / update-user / properties Last commit date
description-property.php 1 year ago display-name-property.php 1 year ago first-name-property.php 1 year ago last-name-property.php 1 year ago nick-name-property.php 1 year ago update-action.php 1 year ago user-confirm-password-property.php 1 year ago user-email-property.php 1 year ago user-id-property.php 1 year ago user-meta-property.php 1 year ago user-modifier.php 1 year ago user-nicename-property.php 1 year ago user-password-property.php 1 year ago user-role-property.php 1 year ago user-url-property.php 1 year ago
user-meta-property.php
87 lines
1 <?php
2
3
4 namespace JFB_Modules\Actions_V2\Update_User\Properties;
5
6 use Jet_Form_Builder\Actions\Methods\Abstract_Modifier;
7 use Jet_Form_Builder\Actions\Methods\Base_Object_Property;
8 use Jet_Form_Builder\Actions\Methods\Object_Dynamic_Property;
9 use Jet_Form_Builder\Classes\Tools;
10
11 // If this file is called directly, abort.
12 if ( ! defined( 'WPINC' ) ) {
13 die;
14 }
15
16 class User_Meta_Property extends Base_Object_Property implements Object_Dynamic_Property {
17
18 private static $restricted_meta;
19
20 /**
21 * @since 3.1.6
22 */
23 const RESTRICT_META_KEYS = array(
24 'use_ssl',
25 'dismissed_wp_pointers',
26 'session_tokens',
27 );
28
29 protected $meta = array();
30
31 public function get_id(): string {
32 return 'user_meta';
33 }
34
35 public function get_label(): string {
36 return __( 'User Meta', 'jet-form-builder' );
37 }
38
39 public function is_supported( string $key, $value ): bool {
40 return ! in_array( remove_accents( $key ), self::get_restricted_keys(), true );
41 }
42
43 public function do_before( string $key, $value, Abstract_Modifier $modifier ) {
44 if ( ! Tools::is_repeater_val( $value ) ) {
45 $this->meta[ $key ] = $value;
46
47 return;
48 }
49
50 $this->meta[ $key ] = Tools::prepare_repeater_value( $value, $modifier->fields_map );
51 }
52
53 public function do_after( Abstract_Modifier $modifier ) {
54 foreach ( $this->meta as $key => $value ) {
55 update_user_meta( $modifier->source_arr['ID'], $key, $value );
56 }
57 }
58
59 /**
60 * @since 3.1.6
61 */
62 public static function get_restricted_keys(): array {
63 if ( is_array( self::$restricted_meta ) ) {
64 return self::$restricted_meta;
65 }
66
67 global $wpdb;
68
69 self::$restricted_meta = apply_filters(
70 'jet-form-builder/user-modifier/restricted-meta-keys',
71 array_merge(
72 array(
73 $wpdb->get_blog_prefix() . 'user_level',
74 $wpdb->get_blog_prefix() . 'capabilities',
75 $wpdb->prefix . 'user-settings',
76 $wpdb->prefix . 'user-settings-time',
77 $wpdb->prefix . 'dashboard_quick_press_last_post_id',
78 ),
79 self::RESTRICT_META_KEYS
80 )
81 );
82
83 return self::$restricted_meta;
84 }
85
86 }
87