PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.5.4
JetFormBuilder — Dynamic Blocks Form Builder v3.5.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 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-id-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-compare-password-property.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-id-property.php
63 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 JFB_Modules\Actions_V2\Update_User\Properties\User_Modifier;
9 use Jet_Form_Builder\Classes\Tools;
10 use Jet_Form_Builder\Exceptions\Action_Exception;
11 use Jet_Form_Builder\Exceptions\Handler_Exception;
12 use Jet_Form_Builder\Exceptions\Silence_Exception;
13
14 // If this file is called directly, abort.
15 if ( ! defined( 'WPINC' ) ) {
16 die;
17 }
18
19 class User_Id_Property extends Base_Object_Property {
20
21 /** @var \WP_User */
22 public $user;
23
24 public function get_id(): string {
25 return 'ID';
26 }
27
28 public function get_label(): string {
29 return __( 'User ID (will update this user)', 'jet-form-builder' );
30 }
31
32 /**
33 * @param string $key
34 * @param $value
35 * @param Abstract_Modifier $modifier
36 *
37 * @throws Action_Exception
38 */
39 public function do_before( string $key, $value, Abstract_Modifier $modifier ) {
40 $this->value = absint( $value );
41
42 if ( empty( $this->value ) ) {
43 throw new Action_Exception( 'sanitize_user' );
44 }
45
46 if (
47 get_current_user_id() !== $this->value &&
48 ! current_user_can( 'edit_users' ) &&
49 ! Tools::is_webhook()
50 ) {
51 // Only users with appropriate capabilities can edit other users, also user can edit himself
52 throw new Action_Exception( 'internal_error' );
53 }
54
55 $this->user = get_user_by( 'ID', $this->value );
56
57 if ( ! is_a( $this->user, \WP_User::class ) ) {
58 // phpcs:ignore WordPress.Security.EscapeOutput.ExceptionNotEscaped
59 throw new Action_Exception( 'internal_error', $this->user, $this->value );
60 }
61 }
62 }
63