PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.0.83
OttoKit: All-in-One Automation Platform v1.0.83
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 / learndash / actions / find-user-groups.php
suretriggers / src / Integrations / learndash / actions Last commit date
add-user-group.php 3 years ago enroll-to-course.php 3 years ago find-course-taxonomy.php 1 year ago find-user-groups.php 1 year ago list-user-enrolled-courses.php 2 years ago make-user-group-leader.php 2 years ago mark-course-complete-for-user.php 3 years ago mark-lesson-complete-for-user.php 2 years ago mark-quiz-complete-for-user.php 2 years ago mark-topic-complete-for-user.php 2 years ago remove-from-course.php 3 years ago remove-user-from-group-leader.php 2 years ago remove-user-group.php 3 years ago reset-user-course-progress.php 2 years ago
find-user-groups.php
121 lines
1 <?php
2 /**
3 * FindUserGroups.
4 * php version 5.6
5 *
6 * @category FindUserGroups
7 * @package SureTriggers
8 * @author BSF
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\Traits\SingletonLoader;
19
20 /**
21 * FindUserGroups
22 *
23 * @category FindUserGroups
24 * @package SureTriggers
25 * @author BSF
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 FindUserGroups extends AutomateAction {
31
32 /**
33 * Integration type.
34 *
35 * @var string
36 */
37 public $integration = 'LearnDash';
38
39 /**
40 * Action name.
41 *
42 * @var string
43 */
44 public $action = 'learndash_find_user_groups';
45
46 use SingletonLoader;
47
48 /**
49 * Register an action.
50 *
51 * @param array $actions actions.
52 * @return array
53 */
54 public function register( $actions ) {
55 $actions[ $this->integration ][ $this->action ] = [
56 'label' => __( 'Find User Groups', 'suretriggers' ),
57 'action' => $this->action,
58 'function' => [ $this, 'action_listener' ],
59 ];
60 return $actions;
61 }
62
63 /**
64 * Action listener.
65 *
66 * @param int $user_id user ID.
67 * @param int $automation_id automation ID.
68 * @param array $fields template fields.
69 * @param array $selected_options saved template data.
70 *
71 * @return bool|array
72 */
73 public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) {
74 if ( ! $user_id ) {
75 $this->set_error(
76 [
77 'msg' => __( 'User Not Found', 'suretriggers' ),
78 ]
79 );
80 return false;
81 }
82
83 if ( ! function_exists( 'learndash_get_users_group_ids' ) ) {
84 $this->set_error(
85 [
86 'msg' => __( 'LearnDash function not available', 'suretriggers' ),
87 ]
88 );
89 return false;
90 }
91
92
93 $user_groups = learndash_get_users_group_ids( $user_id );
94
95 if ( empty( $user_groups ) ) {
96 return [
97 'message' => __( 'User is not part of any group', 'suretriggers' ),
98 ];
99 }
100
101 $group_data = [];
102
103
104 foreach ( $user_groups as $group_id ) {
105 $group_data[] = [
106 'group_id' => $group_id,
107 'group_name' => get_the_title( $group_id ),
108 ];
109 }
110
111 $user_data = LearnDash::get_user_pluggable_data( $user_id );
112
113 return [
114 'user' => $user_data,
115 'groups' => $group_data,
116 ];
117 }
118 }
119
120 FindUserGroups::get_instance();
121