PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 2.0.5
Taskbuilder – Project Management & Task Management Tool With Kanban Board v2.0.5
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 / admin / projects / open_project / wppm_get_project_tasks.php

wppm_get_project_tasks.php in Taskbuilder – Project Management & Task Management Tool With Kanban Board 2.0.5, at includes/admin/projects/open_project/wppm_get_project_tasks.php

127 lines 5.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 global $current_user,$wpdb,$wppmfunction;
6 $project_id = isset($_POST['id']) ? intval(sanitize_text_field($_POST['id'])) : 0 ;
7 if($current_user->has_cap('manage_options')){
8 $query = ( "SELECT * FROM {$wpdb->prefix}wppm_task where project=$project_id");
9 $tasks = $wpdb->get_results($query);
10 } else{
11 $query = ( "SELECT Task.*
12 FROM {$wpdb->prefix}wppm_task AS Task
13 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id
14 Left join {$wpdb->prefix}wppm_project_users proj_users ON Task.project = proj_users.proj_id
15 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id
16 where Task.project = $project_id AND ((FIND_IN_SET('$current_user->ID',Task.users)>0) OR (Task. created_by= '$current_user->ID') OR (proj_users.user_id = '$current_user->ID' AND proj_users.role_id = 1 AND (FIND_IN_SET('$current_user->ID',proj.users)>0)) OR (Task.project = proj_meta.project_id AND proj_meta.meta_key='public_project' AND proj_meta.meta_value=1))Group by Task.id");
17 $tasks = $wpdb->get_results($query);
18 }
19 ob_start();
20 ?>
21 <form>
22 <div class="table-responsive">
23 <table id="tbl_project_tasks" class="table table-striped table-bordered" cellspacing="0" width="100%">
24 <thead>
25 <tr>
26 <th class="wppm_table_header"><?php echo esc_html_e('Task id','taskbuilder');?> </th>
27 <th class="wppm_table_header"><?php echo esc_html_e('Task Name','taskbuilder');?> </th>
28 <th class="wppm_table_header"><?php echo esc_html_e('Task Status','taskbuilder');?> </th>
29 <th class="wppm_table_header"><?php echo esc_html_e('Task Priority','taskbuilder');?> </th>
30 <th class="wppm_table_header"><?php echo esc_html_e('Assign To','taskbuilder');?> </th>
31 <th class="wppm_table_header"><?php echo esc_html_e('Start Date','taskbuilder');?> </th>
32 <th class="wppm_table_header"><?php echo esc_html_e('End Date','taskbuilder');?> </th>
33 </tr>
34 </thead>
35 <tbody>
36 <?php
37 if(!empty($tasks)){
38 foreach ($tasks as $task) {
39 $status = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_task_statuses where id = $task->status" );
40 $users = array();
41 if($task->users != null){
42 $users = explode(",",$task->users);
43 }
44 if(!empty($task->priority)){
45 $priority = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_task_priorities where id = $task->priority" );
46 }
47 if(!empty($task->project)){
48 $project = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_project where id = $task->project" );
49 }
50 ?>
51 <tr onclick= "wppm_open_project_tasks(<?php echo esc_attr($task->id) ?>,<?php echo esc_attr($task->project) ?>)" >
52 <td>
53 <?php echo esc_html_e($task->id,'taskbuilder') ?>
54 </td>
55 <td>
56 <?php echo esc_html_e($task->task_name,'taskbuilder') ?>
57 </td>
58 <td>
59 <span class="wppm_td_task_status" style="background-color:<?php echo (isset($status->bg_color))? esc_attr($status->bg_color):"";?>; color: <?php echo (isset($status->color))? esc_attr($status->color):""; ?>"><?php echo (isset($status->name))? esc_html_e($status->name,'taskbuilder'):"" ?></span>
60 </td>
61 <td>
62 <span class ="wppm_td_task_priority" style="background-color:<?php echo (isset($priority->bg_color))? esc_attr($priority->bg_color):"";?>; color: <?php echo (isset($priority->color))? esc_attr($priority->color):""; ?>"><?php echo (isset($priority->name))? esc_html_e($priority->name,'taskbuilder'):"" ?></span>
63 </td>
64 <td>
65 <?php
66 $i=0;
67 if(!empty($users)){
68 foreach($users as $user){
69 $i++;
70 if( $i <= 4 ){
71 $userdata = get_userdata( $user ); ?>
72 <a href="#" title="<?php echo esc_attr($userdata->display_name) ?>">
73 <?php echo (get_avatar($userdata->ID, 25, "mysteryman"))?>
74 </a> <?php
75 }
76 }
77 } else {
78 _e('None','taskbuilder');
79 }
80 if($i > 4){
81 ?>
82 <a href="#" class="wppm_avatar">
83 <span id="wppm_avatar" style="background-color:black;" class="avatar">+<?php echo esc_html($i-4) ?></span>
84 </a>
85 <?php } ?>
86 </td>
87 <td>
88 <?php echo (isset($task->start_date))? esc_html_e($task->start_date,'taskbuilder'):""?>
89 </td>
90 <td>
91 <?php echo (isset($task->end_date))? esc_html_e($task->end_date,'taskbuilder'):""?>
92 </td>
93 </tr>
94 <?php }
95 }
96 ?>
97 </tbody>
98 </table>
99 </div>
100 </form>
101 <script type="text/javascript">
102 jQuery(document).ready(function() {
103 var table = jQuery('#tbl_project_tasks').DataTable({
104 "aLengthMenu": [[4, 8, 12, -1], [4, 8, 12, "All"]],
105 "columnDefs": [
106 { orderable: false, targets: -1 }
107 ]
108 });
109 jQuery('div.dataTables_filter input', table.table().container()).focus();
110 } );
111 </script>
112 <?php
113 $body = ob_get_clean();
114 ob_start();
115 ?>
116 <div class="col-md-3" style="text-align: right;">
117 <button type="button" class="btn wppm_popup_close" onclick="wppm_modal_close();"><?php echo esc_html_e('Close','taskbuilder');?></button>
118 </div><?php
119
120 $footer = ob_get_clean();
121
122 $response = array(
123 'body' => $body,
124 'footer' => $footer
125 );
126
127 echo json_encode($response);