PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.5.6.2
JetFormBuilder — Dynamic Blocks Form Builder v3.5.6.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 / includes / presets / sources / preset-source-user.php
jetformbuilder / includes / presets / sources Last commit date
base-source.php 1 year ago preset-source-post.php 2 years ago preset-source-query-var.php 2 years ago preset-source-term.php 1 year ago preset-source-user.php 2 years ago
preset-source-user.php
79 lines
1 <?php
2
3
4 namespace Jet_Form_Builder\Presets\Sources;
5
6 use Jet_Engine\Modules\Profile_Builder\Module;
7 use Jet_Form_Builder\Exceptions\Preset_Exception;
8
9 // If this file is called directly, abort.
10 if ( ! defined( 'WPINC' ) ) {
11 die;
12 }
13
14 class Preset_Source_User extends Base_Source {
15
16 public function get_id() {
17 return 'user';
18 }
19
20 public function on_sanitize(): bool {
21 if ( ! is_user_logged_in() ) {
22 return false;
23 }
24
25 if ( get_current_user_id() !== $this->src()->ID && ! current_user_can( 'edit_users' ) ) {
26 return false;
27 }
28
29 return true;
30 }
31
32 public function query_source() {
33 $user_from = ! empty( $this->preset_data['user_from'] ) ? $this->preset_data['user_from'] : 'current_user';
34
35 if ( 'current_user' === $user_from && is_user_logged_in() ) {
36 return wp_get_current_user();
37 }
38
39 if ( 'queried_user' === $user_from ) {
40 return $this->get_queried_user();
41 }
42
43 $var = ! empty( $this->preset_data['query_var'] ) ? $this->preset_data['query_var'] : 'user_id';
44 // phpcs:ignore WordPress.Security.NonceVerification.Recommended
45 $user_id = ( $var && isset( $_REQUEST[ $var ] ) ) ? absint( $_REQUEST[ $var ] ) : false;
46
47 return get_user_by( 'ID', $user_id );
48 }
49
50 protected function get_queried_user() {
51 $user = get_queried_object();
52
53 return is_a( $user, \WP_User::class ) ? $user : false;
54 }
55
56 /**
57 * @return bool
58 * @throws Preset_Exception
59 */
60 protected function can_get_preset() {
61 return ( parent::can_get_preset()
62 && is_user_logged_in()
63 && ( get_current_user_id() === $this->src()->ID || current_user_can( 'edit_users' ) )
64 );
65 }
66
67 public function source__user_meta() {
68 if ( empty( $this->field_data['key'] ) ) {
69 return '';
70 }
71
72 return get_user_meta(
73 $this->src()->ID,
74 $this->field_data['key'],
75 true
76 );
77 }
78 }
79