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 / find-user-groups.php
suretriggers / src / Integrations / learndash / actions Last commit date
add-user-group.php 10 months ago enroll-to-course.php 10 months ago find-course-taxonomy.php 10 months ago find-user-group-leader-groups.php 4 months ago find-user-groups.php 10 months ago list-user-enrolled-courses.php 10 months ago make-user-group-leader.php 2 years ago mark-course-complete-for-user.php 10 months ago mark-lesson-complete-for-user.php 10 months ago mark-quiz-complete-for-user.php 10 months ago mark-topic-complete-for-user.php 10 months ago remove-from-course.php 10 months ago remove-user-from-group-leader.php 10 months ago remove-user-group.php 10 months ago reset-user-course-progress.php 10 months ago
find-user-groups.php
120 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 return [
76 'status' => 'error',
77 'message' => __( 'User Not Found', 'suretriggers' ),
78
79 ];
80 }
81
82 if ( ! function_exists( 'learndash_get_users_group_ids' ) ) {
83 return [
84 'status' => 'error',
85 'message' => __( 'LearnDash function not available', 'suretriggers' ),
86
87 ];
88 }
89
90
91 $user_groups = learndash_get_users_group_ids( $user_id );
92
93 if ( empty( $user_groups ) ) {
94 return [
95 'message' => __( 'User is not part of any group', 'suretriggers' ),
96
97 ];
98 }
99
100 $group_data = [];
101
102
103 foreach ( $user_groups as $group_id ) {
104 $group_data[] = [
105 'group_id' => $group_id,
106 'group_name' => get_the_title( $group_id ),
107 ];
108 }
109
110 $user_data = LearnDash::get_user_pluggable_data( $user_id );
111
112 return [
113 'user' => $user_data,
114 'groups' => $group_data,
115 ];
116 }
117 }
118
119 FindUserGroups::get_instance();
120