PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.35
OttoKit: All-in-One Automation Platform v1.1.35
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-group-leader-groups.php
suretriggers / src / Integrations / learndash / actions Last commit date
add-user-group.php 11 months ago enroll-to-course.php 11 months ago find-course-taxonomy.php 11 months ago find-user-group-leader-groups.php 5 months ago find-user-groups.php 11 months ago list-user-enrolled-courses.php 11 months ago make-user-group-leader.php 2 years ago mark-course-complete-for-user.php 11 months ago mark-lesson-complete-for-user.php 11 months ago mark-quiz-complete-for-user.php 11 months ago mark-topic-complete-for-user.php 11 months ago remove-from-course.php 11 months ago remove-user-from-group-leader.php 11 months ago remove-user-group.php 11 months ago reset-user-course-progress.php 11 months ago
find-user-group-leader-groups.php
128 lines
1 <?php
2 /**
3 * FindUserGroupLeaderGroups.
4 * php version 5.6
5 *
6 * @category FindUserGroupLeaderGroups
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 * FindUserGroupLeaderGroups
22 *
23 * @category FindUserGroupLeaderGroups
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 FindUserGroupLeaderGroups 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_group_leader_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's Group Leader 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 $user_email = $selected_options['wp_user_email'];
75
76 if ( is_email( $user_email ) ) {
77 $user = get_user_by( 'email', $user_email );
78 if ( $user ) {
79 $user_id = $user->ID;
80 } else {
81 return [
82 'status' => esc_attr__( 'Error', 'suretriggers' ),
83 'response' => esc_attr__( 'User not found with specified email address.', 'suretriggers' ),
84 ];
85 }
86 } else {
87 return [
88 'status' => esc_attr__( 'Error', 'suretriggers' ),
89 'response' => esc_attr__( 'Please enter valid email address.', 'suretriggers' ),
90 ];
91 }
92
93 if ( ! function_exists( 'learndash_get_administrators_group_ids' ) ) {
94 return [
95 'status' => 'error',
96 'message' => __( 'LearnDash function not available', 'suretriggers' ),
97 ];
98 }
99
100 $user_groups = learndash_get_administrators_group_ids( $user_id, true );
101
102 if ( empty( $user_groups ) ) {
103 return [
104 'message' => __( 'User is not a Group Leader of any group', 'suretriggers' ),
105 ];
106 }
107
108 $group_data = [];
109
110 foreach ( $user_groups as $group_id ) {
111 $group_data[] = [
112 'group_id' => $group_id,
113 'group_name' => get_the_title( $group_id ),
114 ];
115 }
116
117 $user_data = LearnDash::get_user_pluggable_data( $user_id );
118
119 return [
120 'user' => $user_data,
121 'groups' => $group_data,
122 'group_leader_group_count' => count( $group_data ),
123 ];
124 }
125 }
126
127 FindUserGroupLeaderGroups::get_instance();
128