PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
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 / fluent-boards / actions / get-task-assignees.php
suretriggers / src / Integrations / fluent-boards / actions Last commit date
add-user-to-board.php 11 months ago assign-task.php 1 year ago create-board.php 1 day ago create-label.php 8 months ago create-stage.php 8 months ago create-sub-task.php 11 months ago create-subtask-group.php 11 months ago create-task.php 1 day ago get-board-details.php 11 months ago get-crm-contact-for-task.php 1 day ago get-task-assignees.php 1 day ago get-task-details.php 11 months ago list-task-labels.php 11 months ago list-tasks.php 1 year ago remove-assignee-from-task.php 1 year ago
get-task-assignees.php
129 lines
1 <?php
2 /**
3 * GetTaskAssignees.
4 * php version 5.6
5 *
6 * @category GetTaskAssignees
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\FluentBoards\Actions;
15
16 use Exception;
17 use SureTriggers\Integrations\AutomateAction;
18 use SureTriggers\Integrations\FluentBoards\FluentBoards;
19 use SureTriggers\Traits\SingletonLoader;
20
21 /**
22 * GetTaskAssignees
23 *
24 * @category GetTaskAssignees
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 GetTaskAssignees extends AutomateAction {
32
33 /**
34 * Integration type.
35 *
36 * @var string
37 */
38 public $integration = 'FluentBoards';
39
40 /**
41 * Action name.
42 *
43 * @var string
44 */
45 public $action = 'fbs_get_task_assignees';
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
57 $actions[ $this->integration ][ $this->action ] = [
58 'label' => __( 'Get Task Assignees', 'suretriggers' ),
59 'action' => $this->action,
60 'function' => [ $this, 'action_listener' ],
61 ];
62
63 return $actions;
64 }
65
66 /**
67 * Action listener.
68 *
69 * @param int $user_id user_id.
70 * @param int $automation_id automation_id.
71 * @param array $fields fields.
72 * @param array $selected_options selected_options.
73 *
74 * @return array|void
75 *
76 * @throws Exception Exception.
77 */
78 public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) {
79 $task_id = $selected_options['task_id'] ? sanitize_text_field( $selected_options['task_id'] ) : '';
80
81 if ( empty( $task_id ) ) {
82 return [ 'error' => 'Task ID is required.' ];
83 }
84
85 if ( ! function_exists( 'FluentBoardsApi' ) ) {
86 return [ 'error' => 'FluentBoards plugin is not active.' ];
87 }
88
89 /**
90 * FluentBoards' Tasks API wrapper no longer proxies arbitrary Eloquent
91 * methods like find() — it now only exposes explicit, permission-gated
92 * methods such as getTask(), which checks board-read permission via
93 * PermissionManager::userHasBoardPermission(), falling back to
94 * get_current_user_id(). See FluentBoards::maybe_set_acting_user().
95 */
96 if ( class_exists( '\SureTriggers\Integrations\FluentBoards\FluentBoards' ) ) {
97 FluentBoards::maybe_set_acting_user( $user_id );
98 }
99
100 $task = FluentBoardsApi( 'tasks' )->getTask( $task_id );
101 if ( empty( $task ) ) {
102 return [ 'error' => 'Task not found.' ];
103 }
104
105 $task->load( 'assignees' );
106
107 $assignee_data = [];
108 if ( ! empty( $task->assignees ) ) {
109 foreach ( $task->assignees as $assignee ) {
110 $assignee_data[] = [
111 'id' => $assignee->ID,
112 'display_name' => $assignee->display_name,
113 'user_email' => $assignee->user_email,
114 'user_login' => $assignee->user_login,
115 ];
116 }
117 }
118
119 return [
120 'task_id' => $task->id,
121 'task_title' => $task->title,
122 'assignees' => $assignee_data,
123 'assignee_count' => count( $assignee_data ),
124 ];
125 }
126 }
127
128 GetTaskAssignees::get_instance();
129