PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.4.1
JetFormBuilder — Dynamic Blocks Form Builder v3.6.4.1
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 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-modifier.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 7 months 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 month ago user-nicename-property.php 1 year ago user-password-property.php 1 year ago user-role-property.php 1 month ago user-url-property.php 1 year ago
user-modifier.php
78 lines
1 <?php
2
3 namespace JFB_Modules\Actions_V2\Update_User\Properties;
4
5 use Jet_Form_Builder\Actions\Methods\Abstract_Modifier;
6 use Jet_Form_Builder\Actions\Methods\Object_Properties_Collection;
7 use Jet_Form_Builder\Classes\Arrayable\Collection;
8 use Jet_Form_Builder\Classes\Tools;
9 use Jet_Form_Builder\Exceptions\Action_Exception;
10
11 // If this file is called directly, abort.
12 if ( ! defined( 'WPINC' ) ) {
13 die;
14 }
15
16 class User_Modifier extends Abstract_Modifier {
17
18 private $self_promotable_roles = array();
19
20 protected function get_properties(): Object_Properties_Collection {
21 return new Object_Properties_Collection(
22 array(
23 new User_Id_Property(),
24 new User_Role_Property(),
25 new User_Email_Property(),
26 new User_Password_Property(),
27 new User_Confirm_Password_Property(),
28 new User_Compare_Password_Property(),
29 new First_Name_Property(),
30 new Last_Name_Property(),
31 new User_Url_Property(),
32 new User_Meta_Property(),
33 new Display_Name_Property(),
34 new Description_Property(),
35 new Nick_Name_Property(),
36 new User_Nicename_Property(),
37 )
38 );
39 }
40
41 public function get_actions(): Collection {
42 return apply_filters(
43 'jet-form-builder/user-modifier/object-actions',
44 new Collection(
45 array(
46 new Update_Action(),
47 )
48 )
49 );
50 }
51
52 /**
53 * @throws Action_Exception
54 */
55 public function run() {
56 if ( ! is_user_logged_in() && ! Tools::is_webhook() ) {
57 // Only logged in users can edit other users
58 throw new Action_Exception( 'internal_error' );
59 }
60
61 parent::run();
62 }
63
64 public function set_self_promotable_roles( array $roles ): self {
65 $roles = array_map( 'strval', $roles );
66 $roles = array_filter( $roles );
67 $roles = array_values( array_unique( $roles ) );
68
69 $this->self_promotable_roles = $roles;
70
71 return $this;
72 }
73
74 public function get_self_promotable_roles(): array {
75 return $this->self_promotable_roles;
76 }
77 }
78