PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.5.3
JetFormBuilder — Dynamic Blocks Form Builder v3.6.5.3
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 1.1.2 1.1.3 All 132 releases
jetformbuilder / includes / presets / sources / preset-source-user.php

preset-source-user.php in JetFormBuilder — Dynamic Blocks Form Builder 3.6.5.3, at includes/presets/sources/preset-source-user.php

79 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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