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/email_notifications/wppm_en_set_task_users.php +106 -82 1.0.06.0.6 View file →
@@ -1,82 +1,106 @@
1 -<?php
2 -if ( ! defined( 'ABSPATH' ) ) {
3 - exit; // Exit if accessed directly
4 -}
5 -
6 -global $wppmfunction, $current_user,$wpdb;
7 -$from_name = get_option('wppm_en_from_name');
8 -$from_email = get_option('wppm_en_from_email');
9 -$ignore_emails = get_option('wppm_en_ignore_emails');
10 -$task_id = intval(sanitize_text_field($task_id));
11 -$task_data = $wppmfunction->get_task($task_id);
12 -$project_id = $task_data['project'];
13 -$task_users = $task_data['users'];
14 -$task_users = explode(',',$task_users);
15 -$flag= false;
16 -if ( !$from_name || !$from_email ) {
17 - return;
18 -}
19 -$wppm_email_notificatins = get_option('wppm_email_notification');
20 -foreach ($wppm_email_notificatins as $key=>$val) :
21 - if($val['type']=='change_task_assign_users'){
22 - $subject = $wppmfunction->replace_task_macro(stripslashes($val['subject']), $task_id);
23 - $body = $wppmfunction->replace_task_macro(stripslashes($val['body']),$task_id);
24 - $recipients = $val['recipients'];
25 - $email_addresses = array();
26 - if(!empty($recipients)){
27 - foreach ($recipients as $recipient) {
28 - if(is_numeric($recipient)){
29 - if($recipient == 1 && isset($task_users)) {
30 - foreach($task_users as $user){
31 - if(!empty($user)){
32 - $project_user_data = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}wppm_project_users WHERE proj_id = $project_id AND user_id = $user");
33 - $userdata = get_userdata($user);
34 - if((!empty($project_user_data)) && $project_user_data->role_id == 1){
35 - $email_addresses[] = $userdata->user_email;
36 - }
37 - }
38 - }
39 - }
40 - elseif($recipient == 2 && isset($task_users)){
41 - foreach($task_users as $user){
42 - if(!empty($user)){
43 - $project_user_data = $wpdb->get_row("SELECT * FROM {$wpdb->prefix}wppm_project_users WHERE proj_id = $project_id AND user_id = $user");
44 - $userdata = get_userdata($user);
45 - if((!empty($project_user_data)) && $project_user_data->role_id == 2){
46 - $email_addresses[] = $userdata->user_email;
47 - }
48 - }
49 - }
50 - }
51 - } else {
52 - switch ($recipient) {
53 - case 'previously_assigned_user':
54 - $email_addresses = array_merge($email_addresses,$wppmfunction->get_previously_assigned_task_users($task_id));
55 - break;
56 - }
57 - }
58 - }
59 - }
60 - $email_addresses = array_unique($email_addresses);
61 - $email_addresses = array_diff($email_addresses,$ignore_emails);
62 - $email_addresses = array_diff($email_addresses,array($current_user->user_email));
63 - $email_addresses = apply_filters('wppm_en_project_assign_users_email_addresses',$email_addresses,$val,$task_id);
64 - $email_addresses = array_values($email_addresses);
65 - $to = isset($email_addresses[0])? $email_addresses[0] : '';
66 - if($to){
67 - unset($email_addresses[0]);
68 - } else {
69 - continue; // no email address found to send. So go to next foreach iteration.
70 - }
71 - $bcc = implode(',',$email_addresses);
72 - $headers = "From: {$from_name} <{$from_email}>\r\n";
73 - $email_addresses = explode(',',$bcc);
74 - foreach ($email_addresses as $email_address) {
75 - $headers .= "BCC: {$email_address}\r\n";
76 - }
77 - $headers .= "Content-Type: text/html; charset=utf-8\r\n";
78 - wp_mail($to, $subject, $body, $headers);
79 - do_action('wppm_after_task_change_users_mail',$task_id,$val);
80 - }
81 -endforeach;
82 -
1 +<?php
2 +if ( ! defined( 'ABSPATH' ) ) {
3 + exit; // Exit if accessed directly
4 +}
5 +
6 +global $wppmfunction, $current_user,$wpdb;
7 +$from_name = get_option('wppm_en_from_name');
8 +$from_email = get_option('wppm_en_from_email');
9 +$ignore_emails = get_option('wppm_en_ignore_emails');
10 +$task_id = intval(sanitize_text_field($task_id));
11 +$task_data = $wppmfunction->get_task($task_id);
12 +$project_id = absint($task_data['project']);
13 +$task_users = absint($task_data['users']);
14 +$project_users = $wpdb->get_results($wpdb->prepare("SELECT user_id FROM {$wpdb->prefix}wppm_project_users WHERE proj_id = %d AND role_id = 1",$project_id));
15 +$p_users = $wpdb->get_var($wpdb->prepare("SELECT users FROM {$wpdb->prefix}wppm_project WHERE id = %d",$project_id));
16 +$p_users_array = explode(',',$p_users );
17 +$task_users = explode(',',$task_users);
18 +$flag= false;
19 +if ( !$from_name || !$from_email ) {
20 + return;
21 +}
22 +$wppm_email_notificatins = get_option('wppm_email_notification');
23 +$wppm_default_email_notification_to_current_user = get_option('wppm_default_email_notification_to_current_user');
24 +foreach ($wppm_email_notificatins as $key=>$val) :
25 + if($val['type']=='change_task_assign_users'){
26 + $subject = $wppmfunction->replace_task_macro(stripslashes($val['subject']), $task_id);
27 + $body = $wppmfunction->replace_task_macro(stripslashes($val['body']),$task_id);
28 + $recipients = $val['recipients'];
29 + $email_addresses = array();
30 + if(!empty($recipients)){
31 + foreach ($recipients as $recipient) {
32 + if(is_numeric($recipient)){
33 + if($recipient == 1 && !empty($project_users)){
34 + foreach($project_users as $proj_user){
35 + $proj_user = (array) $proj_user;
36 + if(in_array($proj_user['user_id'],$p_users_array)){
37 + $proj_userdata = get_userdata($proj_user['user_id']);
38 + $email_addresses[] = $proj_userdata->user_email;
39 + }
40 + }
41 + }
42 +
43 + if($recipient == 1 && isset($task_users)) {
44 + foreach($task_users as $user){
45 + if(!empty($user)){
46 + $user= absint($user);
47 + $project_user_data = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->prefix}wppm_project_users WHERE proj_id = %d AND user_id = %d",$project_id,$user));
48 + $userdata = get_userdata($user);
49 + if((!empty($project_user_data)) && $project_user_data->role_id == 1){
50 + $email_addresses[] = $userdata->user_email;
51 + }
52 + }
53 + }
54 + }
55 + elseif($recipient == 2 && isset($task_users)){
56 + foreach($task_users as $user){
57 + if(!empty($user)){
58 + $user= absint($user);
59 + $project_user_data = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->prefix}wppm_project_users WHERE proj_id = %d AND user_id = %d",$project_id,$user));
60 + $userdata = get_userdata($user);
61 + if((!empty($project_user_data)) && $project_user_data->role_id == 2){
62 + $email_addresses[] = $userdata->user_email;
63 + }
64 + }
65 + }
66 + }
67 + } else {
68 + switch ($recipient) {
69 + case 'previously_assigned_user':
70 + $email_addresses = array_merge($email_addresses,$wppmfunction->get_previously_assigned_task_users($task_id));
71 + break;
72 + case 'project_creator':
73 + $email_addresses = array_merge($email_addresses,$wppmfunction->get_project_creator_email($project_id));
74 + break;
75 + case 'task_creator':
76 + $email_addresses = array_merge($email_addresses,$wppmfunction->get_task_creator_email($task_id));
77 + break;
78 + }
79 + }
80 + }
81 + }
82 + $email_addresses = array_unique($email_addresses);
83 + $email_addresses = array_diff($email_addresses,$ignore_emails);
84 + if(empty($wppm_default_email_notification_to_current_user)){
85 + $email_addresses = array_diff($email_addresses,array($current_user->user_email));
86 + }
87 + $email_addresses = apply_filters('wppm_en_project_assign_users_email_addresses',$email_addresses,$val,$task_id);
88 + $email_addresses = array_values($email_addresses);
89 + $to = isset($email_addresses[0])? $email_addresses[0] : '';
90 + if($to){
91 + unset($email_addresses[0]);
92 + } else {
93 + continue; // no email address found to send. So go to next foreach iteration.
94 + }
95 + $bcc = implode(',',$email_addresses);
96 + $headers = "From: {$from_name} <{$from_email}>\r\n";
97 + $email_addresses = explode(',',$bcc);
98 + foreach ($email_addresses as $email_address) {
99 + $headers .= "BCC: {$email_address}\r\n";
100 + }
101 + $headers .= "Content-Type: text/html; charset=utf-8\r\n";
102 + wp_mail($to, $subject, $body, $headers);
103 + do_action('wppm_after_task_change_users_mail',$task_id,$val);
104 + }
105 +endforeach;
106 +