PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.0.25
OttoKit: All-in-One Automation Platform v1.0.25
1.1.38 1.1.37 1.1.36 1.1.35 1.1.34 1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / wordpress / actions / remove-role.php
suretriggers / src / Integrations / wordpress / actions Last commit date
add-new-role.php 3 years ago change-role.php 3 years ago create-comment.php 3 years ago create-post.php 3 years ago create-user-if-not-exists.php 3 years ago find-user-by-id.php 2 years ago find-user-meta-by-key.php 3 years ago find-user-metas.php 3 years ago remove-role.php 3 years ago remove-user.php 3 years ago send-mail.php 3 years ago set-post-meta.php 3 years ago set-user-meta.php 3 years ago update-post.php 3 years ago update-user.php 3 years ago
remove-role.php
94 lines
1 <?php
2 /**
3 * RemoveRole.
4 * php version 5.6
5 *
6 * @category RemoveRole
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Integrations\Wordpress\Actions;
15
16 use SureTriggers\Integrations\AutomateAction;
17 use SureTriggers\Traits\SingletonLoader;
18 use WP_User;
19
20 /**
21 * RemoveRole
22 *
23 * @category RemoveRole
24 * @package SureTriggers
25 * @author BSF <username@example.com>
26 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
27 * @link https://www.brainstormforce.com/
28 * @since 1.0.0
29 */
30 class RemoveRole extends AutomateAction {
31
32 /**
33 * Integration type.
34 *
35 * @var string
36 */
37 public $integration = 'WordPress';
38
39 /**
40 * Action name.
41 *
42 * @var string
43 */
44 public $action = 'remove_role';
45
46 use SingletonLoader;
47
48 /**
49 * Register action.
50 *
51 * @param array $actions action data.
52 * @return array
53 */
54 public function register( $actions ) {
55 $actions[ $this->integration ][ $this->action ] = [
56 'label' => __( 'Role: Remove a role from the user', 'suretriggers' ),
57 'action' => 'remove_role',
58 'function' => [ $this, 'action_listener' ],
59 ];
60
61 return $actions;
62 }
63
64 /**
65 * Action listener.
66 *
67 * @param int $user_id user_id.
68 * @param int $automation_id automation_id.
69 * @param array $fields fields.
70 * @param array $selected_options selectedOptions.
71 *
72 * @return bool
73 */
74 public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) {
75 $field = reset( $fields );
76 $user = new WP_User( $user_id );
77 if ( ! $user instanceof WP_User ) {
78 $this->set_error(
79 [
80 'wp_user_id' => $user_id,
81 'msg' => __( 'This user is not type of WP_User', 'suretriggers' ),
82 ]
83 );
84 return false;
85 }
86
87 $user->remove_role( $selected_options[ $field['name'] ] );
88 return true;
89 }
90
91 }
92
93 RemoveRole::get_instance();
94