PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.6
JetFormBuilder — Dynamic Blocks Form Builder v3.6.6
3.6.6.1 3.6.6 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 All 134 releases
jetformbuilder / modules / actions-v2 / update-user / properties / user-modifier.php

user-modifier.php in JetFormBuilder — Dynamic Blocks Form Builder 3.6.6, at modules/actions-v2/update-user/properties/user-modifier.php

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