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