PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
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 / learndash / actions / remove-user-group.php
suretriggers / src / Integrations / learndash / actions Last commit date
add-user-group.php 9 months ago enroll-to-course.php 9 months ago find-course-taxonomy.php 9 months ago find-user-group-leader-groups.php 3 months ago find-user-groups.php 9 months ago list-user-enrolled-courses.php 9 months ago make-user-group-leader.php 2 years ago mark-course-complete-for-user.php 9 months ago mark-lesson-complete-for-user.php 9 months ago mark-quiz-complete-for-user.php 9 months ago mark-topic-complete-for-user.php 9 months ago remove-from-course.php 9 months ago remove-user-from-group-leader.php 9 months ago remove-user-group.php 9 months ago reset-user-course-progress.php 9 months ago
remove-user-group.php
125 lines
1 <?php
2 /**
3 * RemoveUserGroup.
4 * php version 5.6
5 *
6 * @category RemoveUserGroup
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\LearnDash\Actions;
15
16 use SureTriggers\Integrations\AutomateAction;
17 use SureTriggers\Integrations\LearnDash\LearnDash;
18 use SureTriggers\Models\AutomationLog;
19 use SureTriggers\Traits\SingletonLoader;
20
21 /**
22 * RemoveUserGroup
23 *
24 * @category RemoveUserGroup
25 * @package SureTriggers
26 * @author BSF <username@example.com>
27 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
28 * @link https://www.brainstormforce.com/
29 * @since 1.0.0
30 */
31 class RemoveUserGroup extends AutomateAction {
32
33 /**
34 * Integration type.
35 *
36 * @var string
37 */
38 public $integration = 'LearnDash';
39
40 /**
41 * Action name.
42 *
43 * @var string
44 */
45 public $action = 'learndash_remove_user_group';
46
47 use SingletonLoader;
48
49 /**
50 * Register a action.
51 *
52 * @param array $actions actions.
53 * @return array
54 */
55 public function register( $actions ) {
56 $actions[ $this->integration ][ $this->action ] = [
57 'label' => __( 'Remove user from a group', 'suretriggers' ),
58 'action' => $this->action,
59 'function' => [ $this, 'action_listener' ],
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 template fields.
70 * @param array $selected_options saved template data.
71 * @psalm-suppress UndefinedFunction
72 *
73 * @return bool|array
74 */
75 public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) {
76 if ( ! $user_id ) {
77 return [
78 'status' => 'error',
79 'message' => __( 'User Not found', 'suretriggers' ),
80
81 ];
82 }
83
84 $group_id = ( isset( $selected_options['groups'] ) ) ? $selected_options['groups'] : '';
85
86 // Adding to all groups.
87 if ( 'all' === $group_id ) {
88 $groups = learndash_get_users_group_ids( $user_id );
89 } else {
90 $group = get_post( (int) $group_id );
91
92 // Bail if group doesn't exists.
93 if ( ! $group ) {
94 return [
95 'status' => 'error',
96 'message' => __( 'No group is available ', 'suretriggers' ),
97
98 ];
99 }
100
101 $groups = [ $group_id ];
102 }
103
104 $removed_from_groups = [];
105
106 // Remove user from groups.
107 $count = 1;
108 foreach ( $groups as $group_id ) {
109 ld_update_group_access( $user_id, $group_id, true );
110 $arr_key = count( $groups ) > 1 ? 'group_' . $count : 'group';
111 $removed_from_groups[ $arr_key ] = LearnDash::get_group_pluggable_data( $group_id );
112 $count++;
113 }
114
115 $user_data = LearnDash::get_user_pluggable_data( $user_id );
116
117 return [
118 'user' => $user_data,
119 'groups' => $removed_from_groups,
120 ];
121 }
122 }
123
124 RemoveUserGroup::get_instance();
125