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-role-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-role-property.php
68 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 Jet_Form_Builder\Classes\Arrayable\Array_Continue_Exception;
9 use Jet_Form_Builder\Exceptions\Silence_Exception;
10
11 // If this file is called directly, abort.
12 if ( ! defined( 'WPINC' ) ) {
13 die;
14 }
15
16 class User_Role_Property extends Base_Object_Property {
17
18 public function get_id(): string {
19 return 'role';
20 }
21
22 public function can_attach( string $key, $value ): bool {
23 if ( empty( $value ) || 'administrator' === $value ) {
24 return false;
25 }
26
27 return parent::can_attach( $key, $value );
28 }
29
30
31 public function do_after( Abstract_Modifier $modifier ) {
32 /** @var User_Id_Property $id */
33 $id = $modifier->get( 'ID' );
34
35 if ( empty( $this->value ) ) {
36 return;
37 }
38
39 if ( ! is_array( $this->value ) ) {
40 $this->value = array( $this->value );
41 }
42
43 $main_role = array_shift( $this->value );
44
45 if ( 'administrator' !== $main_role ) {
46 $id->user->set_role( $main_role );
47 }
48
49 foreach ( $this->value as $role ) {
50 if ( 'administrator' !== $role ) {
51 $id->user->add_role( $role );
52 }
53 }
54 }
55
56 /**
57 * @return string
58 * @throws Array_Continue_Exception
59 */
60 public function get_label(): string {
61 throw new Array_Continue_Exception();
62 }
63
64 public function get_value( Abstract_Modifier $modifier ) {
65 throw new Silence_Exception();
66 }
67 }
68