PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 6.0.4
Taskbuilder – Project Management & Task Management Tool With Kanban Board v6.0.4
6.0.6 6.0.5 6.0.2 6.0.3 6.0.4 6.0.1 6.0.0 5.0.8 5.0.9 4.0.9 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 All 58 releases
taskbuilder / includes / admin / tasks / open_task / wppm_set_task_users.php

wppm_set_task_users.php in Taskbuilder – Project Management & Task Management Tool With Kanban Board 6.0.4, at includes/admin/tasks/open_task/wppm_set_task_users.php

80 lines 3.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit; // Exit if accessed directly
4 }
5 global $wpdb,$wppmfunction,$current_user;
6 if ( check_ajax_referer( 'wppm_set_task_users', '_ajax_nonce', false ) != 1 ) {
7 wp_send_json_error( 'Unauthorised request!', 401 );
8 }
9 $task_id = isset($_POST['task_id']) ? intval(sanitize_text_field(wp_unslash($_POST['task_id']))) : '' ;
10 $cu_id = esc_sql($current_user->ID);
11 $page_setting = get_option( 'wppm-page-settings' );
12 $view = $page_setting['task-url-page'];
13
14 if (!(($current_user->ID && $current_user->has_cap('manage_options')) || $wppmfunction->has_permission('assign_task_users',$task_id))) {exit;}
15
16 $task_data = $wppmfunction->get_task($task_id);
17 $users = "";
18 if(!empty($_POST['user_names'])){
19 $users = $wppmfunction->sanitize_array(($_POST['user_names']));
20 $users = array_unique($users);
21 $users = implode(",",$users);
22 }
23 $prev_assign_users = $task_data['users'];
24 if(isset($prev_assign_users)){
25 $prev_assign_users = explode(",",$prev_assign_users);
26 }
27 $prev_assign_user_meta = $wppmfunction->get_task_meta($task_id,'prev_assigned_task_users');
28 $wppmfunction->delete_task_meta($task_id,'prev_assigned_task_users');
29
30 if(!empty($prev_assign_users)){
31 foreach( $prev_assign_users as $ass_user){
32 $wppmfunction->add_task_meta($task_id,'prev_assigned_task_users',$ass_user);
33 }
34 }
35 if(isset($users)){
36 $values=array(
37 'users'=> esc_sql($users)
38 );
39 }else{
40 $values=array(
41 'users'=> ''
42 );
43 }
44 if(($users != $task_data['users'])){
45 $task_id = esc_sql($task_id);
46 $wpdb->update($wpdb->prefix.'wppm_task', $values, array('id'=>"$task_id"));
47 $change_assign_user_value = array('prev_assign_user'=>"$task_data[users]",'new_assign_user'=>"$users");
48 $change_assign_user_obj = serialize($change_assign_user_value);
49 $log_values = array('task_id'=>"$task_id",'body'=>$change_assign_user_obj,'attachment_ids'=>"",'create_time'=>wp_date("Y-m-d h:i:sa"),'created_by'=>"$cu_id" );
50 $wpdb->insert($wpdb->prefix . 'wppm_task_comment',$log_values);
51 $log_id = esc_sql($wpdb->insert_id);
52 $task_log_values = array('task_id'=>"$task_id",'comment_id'=>"$log_id",'comment_type'=>'change_assign_user');
53 $wpdb->insert($wpdb->prefix . 'wppm_task_comment_meta',$task_log_values);
54 if(!empty($users)){
55 $users = explode(',',$users);
56 foreach ($users as $uid => $user) {
57 $uid = is_object($user) ? $user->ID : (int) $user;
58 // Skip self notification
59 if ($uid == $current_user->ID) {
60 continue;
61 }
62 $task_url = esc_url($wppmfunction->get_task_url($task_id, $view));
63 $message = sprintf(
64 '%s <a class="wppm_link" href="%s" target="_blank">%s</a>',
65 esc_html__("You were assigned to a task.", "taskbuilder"),
66 $task_url,
67 esc_html__("View Task", "taskbuilder")
68 );
69 $wppmfunction->wppm_insert_notification(
70 $uid,
71 $message,
72 $task_url,
73 '0',
74 'assign_task'
75 );
76 $userdata = get_userdata($uid);
77 }
78 }
79 do_action('wppm_set_task_users', $task_id);
80 }