← All changes
|
includes/admin/tasks/open_task/wppm_set_task_users.php
+79
-50
5.0.0
→
6.0.6
View file →
| @@ -1,51 +1,80 @@ | ||
| 1 | -<?php | |
| 2 | -if ( ! defined( 'ABSPATH' ) ) { | |
| 3 | - exit; // Exit if accessed directly | |
| 4 | -} | |
| 5 | -global $wpdb,$wppmfunction,$current_user; | |
| 6 | -$task_id = isset($_POST['task_id']) ? intval(sanitize_text_field($_POST['task_id'])) : '' ; | |
| 7 | -$cu_id = esc_sql($current_user->ID); | |
| 8 | -if (!(($current_user->ID && $current_user->has_cap('manage_options')) || $wppmfunction->has_permission('assign_task_users',$task_id))) {exit;} | |
| 9 | -if ( check_ajax_referer( 'wppm_set_task_users', '_ajax_nonce', false ) != 1 ) { | |
| 10 | - wp_send_json_error( 'Unauthorised request!', 401 ); | |
| 11 | -} | |
| 12 | -$task_data = $wppmfunction->get_task($task_id); | |
| 13 | -$users = ""; | |
| 14 | -if(!empty($_POST['user_names'])){ | |
| 15 | - $users = $wppmfunction->sanitize_array($_POST['user_names']); | |
| 16 | - $users = array_unique($users); | |
| 17 | - $users = implode(",",$users); | |
| 18 | -} | |
| 19 | -$prev_assign_users = $task_data['users']; | |
| 20 | -if(isset($prev_assign_users)){ | |
| 21 | - $prev_assign_users = explode(",",$prev_assign_users); | |
| 22 | -} | |
| 23 | -$prev_assign_user_meta = $wppmfunction->get_task_meta($task_id,'prev_assigned_task_users'); | |
| 24 | -$wppmfunction->delete_task_meta($task_id,'prev_assigned_task_users'); | |
| 25 | - | |
| 26 | -if(!empty($prev_assign_users)){ | |
| 27 | - foreach( $prev_assign_users as $ass_user){ | |
| 28 | - $wppmfunction->add_task_meta($task_id,'prev_assigned_task_users',$ass_user); | |
| 29 | - } | |
| 30 | -} | |
| 31 | -if(isset($users)){ | |
| 32 | - $values=array( | |
| 33 | - 'users'=> esc_sql($users) | |
| 34 | - ); | |
| 35 | -}else{ | |
| 36 | - $values=array( | |
| 37 | - 'users'=> '' | |
| 38 | - ); | |
| 39 | -} | |
| 40 | -if(($users != $task_data['users'])){ | |
| 41 | - $task_id = esc_sql($task_id); | |
| 42 | - $wpdb->update($wpdb->prefix.'wppm_task', $values, array('id'=>"$task_id")); | |
| 43 | - $change_assign_user_value = array('prev_assign_user'=>"$task_data[users]",'new_assign_user'=>"$users"); | |
| 44 | - $change_assign_user_obj = serialize($change_assign_user_value); | |
| 45 | - $log_values = array('task_id'=>"$task_id",'body'=>$change_assign_user_obj,'attachment_ids'=>"",'create_time'=>date("Y-m-d h:i:sa"),'created_by'=>"$cu_id" ); | |
| 46 | - $wpdb->insert($wpdb->prefix . 'wppm_task_comment',$log_values); | |
| 47 | - $log_id = esc_sql($wpdb->insert_id); | |
| 48 | - $task_log_values = array('task_id'=>"$task_id",'comment_id'=>"$log_id",'comment_type'=>'change_assign_user'); | |
| 49 | - $wpdb->insert($wpdb->prefix . 'wppm_task_comment_meta',$task_log_values); | |
| 50 | - 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); | |
| 51 | 80 | } |