PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 6.0.6
Taskbuilder – Project Management & Task Management Tool With Kanban Board v6.0.6
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
← All changes | includes/admin/tasks/open_task/wppm_set_task_users.php +79 -51 5.0.66.0.6 View file →
@@ -1,52 +1,80 @@
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 -if (!(($current_user->ID && $current_user->has_cap('manage_options')) || $wppmfunction->has_permission('assign_task_users',$task_id))) {exit;}
12 -
13 -$task_data = $wppmfunction->get_task($task_id);
14 -$users = "";
15 -if(!empty($_POST['user_names'])){
16 - $users = $wppmfunction->sanitize_array(($_POST['user_names']));
17 - $users = array_unique($users);
18 - $users = implode(",",$users);
19 -}
20 -$prev_assign_users = $task_data['users'];
21 -if(isset($prev_assign_users)){
22 - $prev_assign_users = explode(",",$prev_assign_users);
23 -}
24 -$prev_assign_user_meta = $wppmfunction->get_task_meta($task_id,'prev_assigned_task_users');
25 -$wppmfunction->delete_task_meta($task_id,'prev_assigned_task_users');
26 -
27 -if(!empty($prev_assign_users)){
28 - foreach( $prev_assign_users as $ass_user){
29 - $wppmfunction->add_task_meta($task_id,'prev_assigned_task_users',$ass_user);
30 - }
31 -}
32 -if(isset($users)){
33 - $values=array(
34 - 'users'=> esc_sql($users)
35 - );
36 -}else{
37 - $values=array(
38 - 'users'=> ''
39 - );
40 -}
41 -if(($users != $task_data['users'])){
42 - $task_id = esc_sql($task_id);
43 - $wpdb->update($wpdb->prefix.'wppm_task', $values, array('id'=>"$task_id"));
44 - $change_assign_user_value = array('prev_assign_user'=>"$task_data[users]",'new_assign_user'=>"$users");
45 - $change_assign_user_obj = serialize($change_assign_user_value);
46 - $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" );
47 - $wpdb->insert($wpdb->prefix . 'wppm_task_comment',$log_values);
48 - $log_id = esc_sql($wpdb->insert_id);
49 - $task_log_values = array('task_id'=>"$task_id",'comment_id'=>"$log_id",'comment_type'=>'change_assign_user');
50 - $wpdb->insert($wpdb->prefix . 'wppm_task_comment_meta',$task_log_values);
51 - do_action('wppm_set_task_users', $task_id);
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);
52 80 }