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/tasks/wppm_tasks_list.php +23 -4 6.0.36.0.6 View file →
@@ -231,8 +231,21 @@
231 231 }elseif($filter_by == 'mine'){
232 232 $wppm_tl_filter = "(FIND_IN_SET('$current_user->ID',Task.users)>0)";
233 233 }elseif($filter_by == 'archived'){
234 234 $wppm_tl_filter = "Task.is_archived = 1";
235 +} elseif($filter_by == 'today'){
236 + $wppm_tl_filter = "DATE(Task.end_date) = CURDATE()";
237 +}elseif($filter_by == 'upcoming'){
238 + $wppm_tl_filter = "DATE(Task.end_date) BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 7 DAY) AND Task.status != 4 AND Task.active = 1 AND Task.is_archived = 0";
239 +}elseif ($filter_by == 'mytasks') {
240 + $wppm_tl_filter = "(
241 + FIND_IN_SET('$current_user->ID', Task.users)
242 + OR Task.created_by = '$current_user->ID'
243 + )
244 + AND Task.status != 4
245 + AND Task.active = 1
246 + AND Task.is_archived = 0";
247 +
235 248 }
236 249
237 250 if(!empty($tl_advanced_filters['created_by'])){
238 251 $created_by_ids = array_map('intval', $tl_advanced_filters['created_by']);
@@ -251,13 +264,13 @@
251 264 $wppm_tl_filter .= " AND Task.priority IN (" . implode(',', $priority) . ")";
252 265 }
253 266 if(!empty($tl_advanced_filters['start_date'])){
254 267 $start_date = sanitize_text_field($tl_advanced_filters['start_date']);
255 - $wppm_tl_filter .= " AND (CAST(Task.start_date AS DATE)) >= '$start_date'";
268 + $wppm_tl_filter .= $wpdb->prepare(" AND (CAST(Task.start_date AS DATE)) >= %s", $start_date);
256 269 }
257 270 if(!empty($tl_advanced_filters['end_date'])){
258 271 $end_date = sanitize_text_field($tl_advanced_filters['end_date']);
259 - $wppm_tl_filter .= " AND (CAST(Task.end_date AS DATE)) <= '$end_date'";
272 + $wppm_tl_filter .= $wpdb->prepare(" AND (CAST(Task.end_date AS DATE)) <= %s", $end_date);
260 273 }
261 274
262 275 $advanced_conditions = [];
263 276 // Created By
@@ -281,18 +294,20 @@
281 294 }
282 295 // Start Date
283 296 if (!empty($advanced_filter['start_date'])) {
284 297 $start_date = sanitize_text_field($advanced_filter['start_date']);
285 - $advanced_conditions[] = "(CAST(Task.start_date AS DATE)) >= '$start_date'";
298 + $advanced_conditions[] = $wpdb->prepare("(CAST(Task.start_date AS DATE)) >= %s", $start_date);
286 299 }
287 300 // End Date
288 301 if (!empty($advanced_filter['end_date'])) {
289 302 $end_date = sanitize_text_field($advanced_filter['end_date']);
290 - $advanced_conditions[] = "(CAST(Task.end_date AS DATE)) <= '$end_date'";
303 + $advanced_conditions[] = $wpdb->prepare("(CAST(Task.end_date AS DATE)) <= %s", $end_date);
291 304 }
292 305 if (!empty($advanced_conditions)) {
293 306 $wppm_tl_filter .= " AND " . implode(" AND ", $advanced_conditions);
294 307 }
308 +// Subtasks are shown only within their parent task, never as their own row in the task list.
309 +$wppm_tl_filter .= " AND (Task.parent_task_id = 0 OR Task.parent_task_id IS NULL)";
295 310 //setcookie('wppm_advanced_filters',wp_json_encode( $advanced_filter ),time() + 3600);
296 311 if(!empty($wppm_hide_task_statuses_from_frontend) && is_array($wppm_hide_task_statuses_from_frontend) && ((isset($_POST['is_frontend'])) && (sanitize_text_field(wp_unslash($_POST['is_frontend']))==1))){
297 312 foreach($wppm_hide_task_statuses_from_frontend as $status){
298 313 $wppm_tl_filter .= " AND Task.status != '$status'";
@@ -990,8 +1005,12 @@
990 1005 </div>
991 1006 </td>
992 1007 <td onmouseover="link=true;">
993 1008 <?php echo esc_html($task->task_name) ?>
1009 + <?php $wppm_row_subtask_progress = $wppmfunction->get_subtask_progress($task->id);
1010 + if($wppm_row_subtask_progress['total'] > 0){ ?>
1011 + <span class="wppm_subtask_badge" title="<?php esc_attr_e('Subtasks','taskbuilder'); ?>"><?php echo esc_html($wppm_row_subtask_progress['completed'].'/'.$wppm_row_subtask_progress['total']); ?></span>
1012 + <?php } ?>
994 1013 </td>
995 1014 <td onmouseover="link=true;">
996 1015 <?php if(!empty($project->project_name)){
997 1016 echo esc_html($project->project_name);