PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 2.0.7
Taskbuilder – Project Management & Task Management Tool With Kanban Board v2.0.7
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 1.0.6 All 57 releases
taskbuilder / includes / replace_macro.php

replace_macro.php in Taskbuilder – Project Management & Task Management Tool With Kanban Board 2.0.7, at includes/replace_macro.php

73 lines 2.8 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
6 global $current_user, $wppmfunction,$wpdb;
7 $current_user_data = get_userdata($current_user->ID);
8 $project_id = intval(sanitize_text_field($project_id));
9 $wppm_project_data = $wppmfunction->get_project($project_id);
10 preg_match_all("/{[^}]*}/" ,$str,$matches);
11 $matches = array_unique($matches[0]);
12 foreach($matches as $match){
13 switch($match){
14 //Current User Name
15 case '{user_name}':
16 $str = preg_replace('/{user_name}/', $current_user_data->display_name, $str);
17 break;
18 // Project ID
19 case '{project_id}':
20 $str = preg_replace('/{project_id}/', $project_id, $str);
21 break;
22 // Old project Status
23 case '{old_project_status}':
24 $str = preg_replace('/{old_project_status}/', $this->get_old_project_status_name($project_id), $str);
25 break;
26 // Project Status
27 case '{new_project_status}':
28 $str = preg_replace('/{new_project_status}/', $this->get_new_project_status_name(sanitize_text_field($wppm_project_data['status'])), $str);
29 break;
30 // Project Status
31 case '{project_status}':
32 $str = preg_replace('/{project_status}/', $this->get_new_project_status_name(sanitize_text_field($wppm_project_data['status'])), $str);
33 break;
34 // Project Category
35 case '{project_category}':
36 $str = preg_replace('/{project_category}/', $this->get_project_category_name(sanitize_text_field($wppm_project_data['cat_id'])), $str);
37 break;
38 // Project Name
39 case '{project_name}':
40 $str = preg_replace('/{project_name}/', sanitize_text_field($wppm_project_data['project_name']), $str);
41 break;
42 // Project Start Date
43 case '{project_start_date}':
44 $str = preg_replace('/{project_start_date}/', sanitize_text_field($wppm_project_data['start_date']), $str);
45 break;
46 // Project End Date
47 case '{project_end_date}':
48 $str = preg_replace('/{project_end_date}/', sanitize_text_field($wppm_project_data['end_date']), $str);
49 break;
50 // Assigned Users
51 case '{project_assigned_users}':
52 $assigned_users = $this->get_project_assigned_users_names($project_id);
53 $str = preg_replace('/{project_assigned_users}/', sanitize_text_field($assigned_users), $str);
54 break;
55 // Previously Assigned users
56 case '{previously_assigned_project_users}':
57 $previously_assigned_users = $this->get_project_previously_assigned_users_names($project_id);
58 $str = preg_replace('/{previously_assigned_project_users}/', sanitize_text_field($previously_assigned_users), $str);
59 break;
60 // Date created
61 case '{date_created}':
62 $str = preg_replace('/{date_created}/', get_date_from_gmt(sanitize_text_field($wppm_project_data['date_created'] )), $str);
63 break;
64 // Project Description
65 case '{project_description}':
66 $str = preg_replace('/{project_description}/', sanitize_text_field($wppm_project_data['description']), $str);
67
68
69 }
70 }
71 $str = apply_filters('wppm_replace_macro',$str,$project_id);
72
73