Changeset 3035644
- Timestamp:
- 02/14/2024 12:33:10 PM (2 years ago)
- Location:
- taskbuilder
- Files:
-
- 22 edited
- 1 copied
-
tags/2.0.8 (copied) (copied from taskbuilder/trunk)
-
tags/2.0.8/includes/admin/addons.php (modified) (1 diff)
-
tags/2.0.8/includes/admin/projects/open_project/wppm_view_project_tasks.php (modified) (4 diffs)
-
tags/2.0.8/includes/admin/projects/projects_list.php (modified) (1 diff)
-
tags/2.0.8/includes/admin/projects/wppm_open_project.php (modified) (2 diffs)
-
tags/2.0.8/includes/admin/settings/wppm_get_general_settings.php (modified) (2 diffs)
-
tags/2.0.8/includes/admin/settings/wppm_set_general_settings.php (modified) (1 diff)
-
tags/2.0.8/includes/admin/tasks/open_task/wppm_open_task.php (modified) (4 diffs)
-
tags/2.0.8/includes/admin/tasks/wppm_tasks_list.php (modified) (3 diffs)
-
tags/2.0.8/includes/wppm-install.php (modified) (1 diff)
-
tags/2.0.8/readme.txt (modified) (2 diffs)
-
tags/2.0.8/taskbuilder.php (modified) (2 diffs)
-
trunk/includes/admin/addons.php (modified) (1 diff)
-
trunk/includes/admin/projects/open_project/wppm_view_project_tasks.php (modified) (4 diffs)
-
trunk/includes/admin/projects/projects_list.php (modified) (1 diff)
-
trunk/includes/admin/projects/wppm_open_project.php (modified) (2 diffs)
-
trunk/includes/admin/settings/wppm_get_general_settings.php (modified) (2 diffs)
-
trunk/includes/admin/settings/wppm_set_general_settings.php (modified) (1 diff)
-
trunk/includes/admin/tasks/open_task/wppm_open_task.php (modified) (4 diffs)
-
trunk/includes/admin/tasks/wppm_tasks_list.php (modified) (3 diffs)
-
trunk/includes/wppm-install.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/taskbuilder.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
taskbuilder/tags/2.0.8/includes/admin/addons.php
r3019975 r3035644 22 22 <div class="pheader"> 23 23 <h3 class="title"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/calendar.svg'); ?>"><?php echo esc_html_e('Calendar','taskbuilder');?></h3> 24 <h4 class="subtitle">$1 4.99</h4>24 <h4 class="subtitle">$19.99</h4> 25 25 <div style="text-align:center"> 26 26 <small class="payment_freq"><?php echo esc_html_e('Per year','taskbuilder');?></small> -
taskbuilder/tags/2.0.8/includes/admin/projects/open_project/wppm_view_project_tasks.php
r3019975 r3035644 5 5 global $wpdb,$current_user, $wppmfunction; 6 6 $task_per_page = 20; 7 $total_no_of_rows = 0; 8 $totalrows_tasks = 0; 7 9 $page_no = isset($_POST['page_no']) ? intval(sanitize_text_field($_POST['page_no'])) : '0'; 8 10 $task_status = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_task_statuses ORDER BY load_order ASC" ); 11 $wppm_task_time = get_option('wppm_task_time'); 9 12 $search_tag = isset($_POST['task_search']) ? sanitize_text_field($_POST['task_search']) : ''; 10 13 $filter_by = isset($_POST['wppm_task_filter']) ? sanitize_text_field($_POST['wppm_task_filter']) : "all"; … … 46 49 $wppm_tl_filter = "(FIND_IN_SET('$current_user->ID',Task.users)>0)"; 47 50 } 48 if(!empty($search_tag)){ 49 $search_tag_text = '%'.$search_tag.'%'; 50 if($current_user->has_cap('manage_options')){ 51 $query = ("SELECT Task.* 51 if(!empty($task_status)){ 52 foreach($task_status as $status) { 53 if(!empty($search_tag)){ 54 $search_tag_text = '%'.$search_tag.'%'; 55 if($current_user->has_cap('manage_options')){ 56 $query = ("SELECT Task.* 57 FROM {$wpdb->prefix}wppm_task AS Task 58 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id 59 Left join {$wpdb->prefix}wppm_task_statuses task_statuses ON Task.status = task_statuses.id 60 Left join {$wpdb->prefix}wppm_task_priorities task_priorities ON Task.priority = task_priorities.id 61 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.id,Task.users)>0) AND user.display_name LIKE '$search_tag_text' 62 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 63 "); 64 $no_of_rows = ( "SELECT count(*) FROM ($query"); 65 $where = " where $wppm_tl_filter AND (Task.task_name LIKE '$search_tag_text' OR proj.project_name LIKE '$search_tag_text' OR task_statuses.name LIKE '$search_tag_text' OR task_priorities.name LIKE '$search_tag_text' OR user.display_name LIKE '$search_tag_text') AND Task.status= $status->id"; 66 } else{ 67 $query = ("SELECT Task.* 52 68 FROM {$wpdb->prefix}wppm_task AS Task 53 69 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id 54 70 Left join {$wpdb->prefix}wppm_task_statuses task_statuses ON Task.status = task_statuses.id 55 71 Left join {$wpdb->prefix}wppm_task_priorities task_priorities ON Task.priority = task_priorities.id 72 Left join {$wpdb->prefix}wppm_project_users proj_users ON Task.project = proj_users.proj_id 56 73 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.id,Task.users)>0) AND user.display_name LIKE '$search_tag_text' 57 74 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 75 "); 76 $no_of_rows = ( "SELECT count(*) FROM ($query"); 77 $where = " where $wppm_tl_filter 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)) AND (Task.task_name LIKE '$search_tag_text' OR proj.project_name LIKE '$search_tag_text' OR task_statuses.name LIKE '$search_tag_text' OR task_priorities.name LIKE '$search_tag_text' OR user.display_name LIKE '$search_tag_text')) AND Task.status= $status->id"; 78 } 79 }else{ 80 if($current_user->has_cap('manage_options')){ 81 $query = ( "SELECT Task.* FROM {$wpdb->prefix}wppm_task AS Task 82 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 58 83 "); 59 $no_of_rows = ( "SELECT count(*) FROM ($query"); 60 $where = " where $wppm_tl_filter AND (Task.task_name LIKE '$search_tag_text' OR proj.project_name LIKE '$search_tag_text' OR task_statuses.name LIKE '$search_tag_text' OR task_priorities.name LIKE '$search_tag_text' OR user.display_name LIKE '$search_tag_text')"; 61 } else{ 62 $query = ("SELECT Task.* 63 FROM {$wpdb->prefix}wppm_task AS Task 64 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id 65 Left join {$wpdb->prefix}wppm_task_statuses task_statuses ON Task.status = task_statuses.id 66 Left join {$wpdb->prefix}wppm_task_priorities task_priorities ON Task.priority = task_priorities.id 67 Left join {$wpdb->prefix}wppm_project_users proj_users ON Task.project = proj_users.proj_id 68 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.id,Task.users)>0) AND user.display_name LIKE '$search_tag_text' 69 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 70 "); 71 $no_of_rows = ( "SELECT count(*) FROM ($query"); 72 $where = " where $wppm_tl_filter 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)) AND (Task.task_name LIKE '$search_tag_text' OR proj.project_name LIKE '$search_tag_text' OR task_statuses.name LIKE '$search_tag_text' OR task_priorities.name LIKE '$search_tag_text' OR user.display_name LIKE '$search_tag_text'))"; 84 $no_of_rows = ( "SELECT count(*) FROM ($query"); 85 $where = " where $wppm_tl_filter AND Task.status= $status->id"; 86 }else{ 87 $query = ( "SELECT Task.* 88 FROM {$wpdb->prefix}wppm_task AS Task 89 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id 90 Left join {$wpdb->prefix}wppm_project_users proj_users ON Task.project = proj_users.proj_id 91 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 92 "); 93 $no_of_rows = ( "SELECT count(*) FROM ($query"); 94 $where = " where $wppm_tl_filter 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)) AND Task.status= $status->id"; 95 } 96 } 97 $no_of_rows = apply_filters('wppm_number_of_rows_query_for_grid_view',$no_of_rows); 98 $where = apply_filters('wppm_task_list_where_for_grid_view',$where,$wppm_tl_filter,$search_tag); 99 $no_of_rows .= $where; 100 $no_of_rows .= " Group by Task.id) AS Task"; 101 $no_of_rows = apply_filters('wppm_task_list_no_of_rows_for_grid_view',$no_of_rows); 102 $totalrows = $wpdb->get_var($no_of_rows); 103 $totalrows_tasks +=$totalrows; 104 if($total_no_of_rows > $totalrows){ 105 $totalrows = $total_no_of_rows; 106 }else{ 107 $total_no_of_rows = $totalrows; 108 } 109 $limit_start=$page_no*$task_per_page; 110 $limit="\n LIMIT ".$limit_start.",".$task_per_page." "; 111 $current_page=$page_no+1; 112 $query = apply_filters('wppm_tasks_grid_view_query',$query,$search_tag); 113 $where .= " Group by Task.id"; 114 $query .= $where; 115 $query = apply_filters('wppm_task_list_grid_view_query',$query); 116 $query = $query.$limit; 117 $wppm_task_fillter[] = $wpdb->get_results($query); 73 118 } 74 }else{ 75 if($current_user->has_cap('manage_options')){ 76 $query = ( "SELECT Task.* FROM {$wpdb->prefix}wppm_task AS Task 77 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 78 "); 79 $no_of_rows = ( "SELECT count(*) FROM ($query"); 80 $where = " where $wppm_tl_filter"; 81 }else{ 82 $query = ( "SELECT Task.* 83 FROM {$wpdb->prefix}wppm_task AS Task 84 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id 85 Left join {$wpdb->prefix}wppm_project_users proj_users ON Task.project = proj_users.proj_id 86 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 87 "); 88 $no_of_rows = ( "SELECT count(*) FROM ($query"); 89 $where = " where $wppm_tl_filter 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))"; 90 } 91 } 92 $no_of_rows = apply_filters('wppm_number_of_rows_query_for_grid_view',$no_of_rows); 93 $where = apply_filters('wppm_task_list_where_for_grid_view',$where,$wppm_tl_filter,$search_tag); 94 $no_of_rows .= $where; 95 $no_of_rows .= " Group by Task.id) AS Task"; 96 $no_of_rows = apply_filters('wppm_task_list_no_of_rows_for_grid_view',$no_of_rows); 97 $totalrows = $wpdb->get_var($no_of_rows); 98 $limit_start=$page_no*$task_per_page; 99 $limit="\n LIMIT ".$limit_start.",".$task_per_page." "; 100 $current_page=$page_no+1; 101 $query = apply_filters('wppm_tasks_grid_view_query',$query,$search_tag); 102 $where .= " Group by Task.id"; 103 $query .= $where; 104 $query = apply_filters('wppm_task_list_grid_view_query',$query); 105 $query = $query.$limit; 106 $wppm_task_fillter = $wpdb->get_results($query); 107 $total_pages=ceil($totalrows/$task_per_page); 108 $prev_page_no=$current_page-1; 109 $prev_class=(!$prev_page_no)?'disabled':''; 110 $next_page_no=($total_pages==$current_page)? $current_page-1:$current_page; 111 $next_class=($total_pages==$current_page)?'disabled':''; 119 $total_pages=ceil($total_no_of_rows/$task_per_page); 120 $prev_page_no=$current_page-1; 121 $prev_class=(!$prev_page_no)?'disabled':''; 122 $next_page_no=($total_pages==$current_page)? $current_page-1:$current_page; 123 $next_class=($total_pages==$current_page)?'disabled':''; 124 } 112 125 ?> 113 126 <form name="wppm_view_project_task" id="wppm_view_project_task"> … … 167 180 $total_tasks = 0; 168 181 if(!empty($wppm_task_fillter)){ 169 foreach($wppm_task_fillter as $task){ 170 $total_tasks++; 171 if((!empty($task)) && $task->status==$status->id){ 172 $task_per_status = true; 173 if(isset($task->priority)){ 174 $task_priority = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_task_priorities where id = $task->priority" ); 175 } 176 if(!empty($task->id)){ 177 $checklists = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_checklist where task_id = $task->id" ); 178 $total=$wpdb->get_var("SELECT COUNT(Items.id) AS check_id 179 FROM {$wpdb->prefix}wppm_checklist_items AS Items 180 Left join {$wpdb->prefix}wppm_checklist checklist ON Items.checklist_id = checklist.id 181 WHERE checklist.task_id = $task->id"); 182 $total_checked_items=$wpdb->get_var("SELECT COUNT(Items.id) AS check_id 183 FROM {$wpdb->prefix}wppm_checklist_items AS Items 184 Left join {$wpdb->prefix}wppm_checklist checklist ON Items.checklist_id = checklist.id 185 WHERE checklist.task_id = $task->id AND Items.checked=1"); 186 ?> 187 <div class="wppm_card_body" onclick="wppm_open_task(<?php echo esc_attr($task->id)?>)" id="wppm_draggable_card_<?php echo esc_attr($task->id)?>"> 188 <div class="row"> 189 <div class="col-sm-6"> 190 <span class="wppm_td_task_priority" style="background-color:<?php echo (!empty($task_priority->bg_color))? esc_attr($task_priority->bg_color):"";?>;color:<?php echo (!empty($task_priority->color))? esc_attr($task_priority->color):"";?>"><?php echo (!empty($task_priority->name))? esc_html($task_priority->name):"" ?></span> 182 foreach($wppm_task_fillter as $key=>$tasks){ 183 foreach($tasks as $task){ 184 $total_tasks++; 185 if((!empty($task)) && $task->status==$status->id){ 186 $task_per_status = true; 187 if(isset($task->priority)){ 188 $task_priority = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_task_priorities where id = $task->priority" ); 189 } 190 if($wppm_task_time == 1){ 191 $task_end_date = $task->end_date; 192 }elseif($wppm_task_time == 0){ 193 $teDate = new DateTime($task->end_date); 194 $task_end_date = $teDate->format('Y-m-d'); 195 } 196 if(!empty($task->id)){ 197 $checklists = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_checklist where task_id = $task->id" ); 198 $total=$wpdb->get_var("SELECT COUNT(Items.id) AS check_id 199 FROM {$wpdb->prefix}wppm_checklist_items AS Items 200 Left join {$wpdb->prefix}wppm_checklist checklist ON Items.checklist_id = checklist.id 201 WHERE checklist.task_id = $task->id"); 202 $total_checked_items=$wpdb->get_var("SELECT COUNT(Items.id) AS check_id 203 FROM {$wpdb->prefix}wppm_checklist_items AS Items 204 Left join {$wpdb->prefix}wppm_checklist checklist ON Items.checklist_id = checklist.id 205 WHERE checklist.task_id = $task->id AND Items.checked=1"); 206 ?> 207 <div class="wppm_card_body" onclick="wppm_open_task(<?php echo esc_attr($task->id)?>)" id="wppm_draggable_card_<?php echo esc_attr($task->id)?>"> 208 <div class="row"> 209 <div class="col-sm-6"> 210 <span class="wppm_td_task_priority" style="background-color:<?php echo (!empty($task_priority->bg_color))? esc_attr($task_priority->bg_color):"";?>;color:<?php echo (!empty($task_priority->color))? esc_attr($task_priority->color):"";?>"><?php echo (!empty($task_priority->name))? esc_html($task_priority->name):"" ?></span> 211 </div> 212 <div class="wppm_card_task_action col-sm-6"> 213 <span class="wppm_checklist_total_checked_item"><?php echo esc_html($total_checked_items.'/'.$total)?></span><span class="wppm_total_checked_item"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/checked.svg'); ?>" alt="checked"></span> 214 <span class="wppm_show_dropdown_menu" onclick="wppm_show_dropdown_menu(<?php echo esc_attr($task->id);?>)" data-popover="wppm-dropdown-menu-<?php echo esc_attr($task->id);?>" id="wppm_task_action_<?php echo esc_attr($task->id);?>"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/vertical_dot.svg'); ?>" alt="vertical_dot"></span> 215 <div class="gpopover" id="wppm-dropdown-menu-<?php echo esc_attr($task->id);?>"> 216 <a class="dropdown-item" href="#"><?php echo esc_html_e('Edit','taskbuilder');?></a> 217 <a class="dropdown-item" href="#"><?php echo esc_html_e('Delete','taskbuilder');?></a> 218 </div> 219 </div> 191 220 </div> 192 <div class="wppm_card_task_action col-sm-6"> 193 <span class="wppm_checklist_total_checked_item"><?php echo esc_html($total_checked_items.'/'.$total)?></span><span class="wppm_total_checked_item"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/checked.svg'); ?>" alt="checked"></span> 194 <span class="wppm_show_dropdown_menu" onclick="wppm_show_dropdown_menu(<?php echo esc_attr($task->id);?>)" data-popover="wppm-dropdown-menu-<?php echo esc_attr($task->id);?>" id="wppm_task_action_<?php echo esc_attr($task->id);?>"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/vertical_dot.svg'); ?>" alt="vertical_dot"></span> 195 <div class="gpopover" id="wppm-dropdown-menu-<?php echo esc_attr($task->id);?>"> 196 <a class="dropdown-item" href="#"><?php echo esc_html_e('Edit','taskbuilder');?></a> 197 <a class="dropdown-item" href="#"><?php echo esc_html_e('Delete','taskbuilder');?></a> 221 <div class="row"> 222 <div class="col-sm-12"> 223 <span class="wppm_task_name_grid_view"><?php echo esc_html_e($task->task_name,'taskbuilder');?></span> 224 </div> 225 </div> 226 <div class="row"> 227 <div class="col-sm-6 wppm_task_due_date_grid_view"> 228 <?php $style = ($task->status!=4 && $task->end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; ?> 229 <small style="<?php echo esc_attr($style); ?>"><?php echo (isset($task_end_date))? esc_html_e($task_end_date,'taskbuilder') :"" ?></small> 230 </div> 231 <div class="col-sm-6" class="wppm_card_task_users" style="text-align:right;"> 232 <?php 233 $task_users = explode(',',$task->users); 234 $i=0; 235 $project_data = $wppmfunction->get_project($task->project); 236 if(!empty($project_data['users'])){ 237 $proj_users = explode(',',$project_data['users']); 238 } 239 if(!empty($task_users)){ 240 foreach($task_users as $user){ 241 if( (!empty($proj_users)) && (in_array($user,$proj_users))){ 242 $i++; 243 if( $i <= 4 ){ 244 if(!empty($user)){ 245 $userdata = get_userdata( $user ); 246 ?> 247 <a href="#" title="<?php echo esc_attr($userdata->display_name)?>"> 248 <?php echo get_avatar($user, 25, "mysteryman");?> 249 </a> 250 <?php } 251 } 252 } 253 } 254 } 255 if($i > 4){ 256 ?> 257 <a href="#" class="wppm_avatar"> 258 <span id="wppm_avatar" style="background-color:black;" class="avatar">+<?php echo esc_html($i-4) ?></span> 259 </a> 260 <?php } ?> 198 261 </div> 199 262 </div> 200 263 </div> 201 <div class="row"> 202 <div class="col-sm-12"> 203 <span class="wppm_task_name_grid_view"><?php echo esc_html_e($task->task_name,'taskbuilder');?></span> 204 </div> 205 </div> 206 <div class="row"> 207 <div class="col-sm-6 wppm_task_due_date_grid_view"> 208 <small><?php echo (isset($task->end_date))? esc_html_e($task->end_date,'taskbuilder') :"" ?></small> 209 </div> 210 <div class="col-sm-6" class="wppm_card_task_users" style="text-align:right;"> 211 <?php 212 $task_users = explode(',',$task->users); 213 $i=0; 214 $project_data = $wppmfunction->get_project($task->project); 215 if(!empty($project_data['users'])){ 216 $proj_users = explode(',',$project_data['users']); 217 } 218 if(!empty($task_users)){ 219 foreach($task_users as $user){ 220 if( (!empty($proj_users)) && (in_array($user,$proj_users))){ 221 $i++; 222 if( $i <= 4 ){ 223 if(!empty($user)){ 224 $userdata = get_userdata( $user ); 225 ?> 226 <a href="#" title="<?php echo esc_attr($userdata->display_name)?>"> 227 <?php echo get_avatar($user, 25, "mysteryman");?> 228 </a> 229 <?php } 230 } 231 } 232 } 233 } 234 if($i > 4){ 235 ?> 236 <a href="#" class="wppm_avatar"> 237 <span id="wppm_avatar" style="background-color:black;" class="avatar">+<?php echo esc_html($i-4) ?></span> 238 </a> 239 <?php } ?> 240 </div> 241 </div> 242 </div> 243 <?php 264 <?php 265 } 244 266 } 245 267 } … … 265 287 <div class="row wppm_task_pagination_container"> 266 288 <div class="col-sm-4"> 267 <?php echo esc_html_e('Total:','taskbuilder'); ?> <?php echo esc_html($total_tasks); ?> <?php echo esc_html_e( 'of','taskbuilder') ?> <?php echo esc_html($totalrows ) ?> <?php echo esc_html_e('Tasks','taskbuilder')?>289 <?php echo esc_html_e('Total:','taskbuilder'); ?> <?php echo esc_html($total_tasks); ?> <?php echo esc_html_e( 'of','taskbuilder') ?> <?php echo esc_html($totalrows_tasks) ?> <?php echo esc_html_e('Tasks','taskbuilder')?> 268 290 </div> 269 291 <div class="wppm_task_pagination col-sm-4" style="<?php echo (esc_attr($total_pages)==0)? "display:none;":"display:flex;"?>"> -
taskbuilder/tags/2.0.8/includes/admin/projects/projects_list.php
r3019975 r3035644 260 260 <?php if($wppm_default_project_date==1){ ?> 261 261 <td class="wppm_table_td"><?php echo isset($proj_start_date) ? esc_html($proj_start_date): "" ?></td> 262 <td class="wppm_table_td"><?php echo isset($proj_end_date) ? esc_html($proj_end_date):"" ?></td> 262 <?php $style = ($project->status!=4 && $proj_end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; ?> 263 <td class="wppm_table_td"><span style="<?php echo esc_attr($style); ?>"><?php echo isset($proj_end_date) ? esc_html($proj_end_date):"" ?></td></span> 263 264 <?php } ?> 264 265 <td class="wppm_table_td"><?php echo isset($no_of_tasks) ? esc_html($no_of_tasks):"" ?></td> -
taskbuilder/tags/2.0.8/includes/admin/projects/wppm_open_project.php
r2951988 r3035644 7 7 $wppm_default_project_date = get_option('wppm_default_project_date'); 8 8 $wppm_public_projects_permission = get_option('wppm_public_projects_permission'); 9 $current_date = date('Y-m-d'); 9 10 $id = isset($_POST) && isset($_POST['id']) ? intval(sanitize_text_field($_POST['id'])) : 0; 10 11 if (!$id) {exit;} … … 83 84 </div> 84 85 <div class="col-sm-9"> 85 <span class="wppm_project_details"><?php echo (isset($proj_end_date))? esc_html($proj_end_date):"" ?></span> 86 <?php $style = ($project->status!=4 && $proj_end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; ?> 87 <span class="wppm_project_details" style="<?php echo esc_attr($style); ?>"><?php echo (isset($proj_end_date))? esc_html($proj_end_date):"" ?></span> 86 88 </div> 87 89 </div> -
taskbuilder/tags/2.0.8/includes/admin/settings/wppm_get_general_settings.php
r2951988 r3035644 9 9 $wppm_default_task_date = get_option('wppm_default_task_date'); 10 10 $wppm_project_time = get_option('wppm_project_time'); 11 $wppm_task_time = get_option('wppm_task_time'); 11 12 $wppm_edit_tasks_permission = get_option('wppm_default_edit_tasks_permission'); 12 13 ?> … … 34 35 echo '<option '.$selected.' value="1">'.__('Show','taskbuilder').'</option>'; 35 36 $selected = $wppm_project_time == '0' ? 'selected="selected"' : ''; 37 echo '<option '.$selected.' value="0">'.__('Hide','taskbuilder').'</option>'; 38 ?> 39 </select> 40 <hr> 41 <span> 42 <label><?php echo esc_html_e('Time in task start date and end date','taskbuilder');?></label> 43 </span><br> 44 <p class="help-block"><?php echo esc_html_e('Default show/hide time in start and end date of task.','taskbuilder');?></p> 45 <select class="form-control" name="wppm_task_time" id="wppm_task_time"> 46 <?php 47 $selected = $wppm_task_time == '1' ? 'selected="selected"' : ''; 48 echo '<option '.$selected.' value="1">'.__('Show','taskbuilder').'</option>'; 49 $selected = $wppm_task_time == '0' ? 'selected="selected"' : ''; 36 50 echo '<option '.$selected.' value="0">'.__('Hide','taskbuilder').'</option>'; 37 51 ?> -
taskbuilder/tags/2.0.8/includes/admin/settings/wppm_set_general_settings.php
r2951988 r3035644 18 18 $wppm_edit_tasks_permission = isset($_POST) && isset(($_POST['wppm_edit_tasks_permission'])) ? sanitize_text_field($_POST['wppm_edit_tasks_permission']) : '0'; 19 19 update_option('wppm_default_edit_tasks_permission',$wppm_edit_tasks_permission); 20 $wppm_task_time = isset($_POST) && isset(($_POST['wppm_task_time'])) ? sanitize_text_field($_POST['wppm_task_time']) : '1'; 21 update_option('wppm_task_time',$wppm_task_time); 20 22 do_action('wppm_set_general_settings'); 21 23 -
taskbuilder/tags/2.0.8/includes/admin/tasks/open_task/wppm_open_task.php
r2844010 r3035644 8 8 $task_list_view = get_option('wppm_default_task_list_view'); 9 9 $wppm_default_task_date = get_option('wppm_default_task_date'); 10 $wppm_task_time = get_option('wppm_task_time'); 10 11 if (!(($current_user->ID && $current_user->has_cap('manage_options')) || ($wppmfunction->has_permission('view_task',$id)))) {exit;} 11 12 $proj_id = isset($_POST) && isset($_POST['proj_id']) ? intval(sanitize_text_field($_POST['proj_id'])) : 0; 12 13 $auth_id = $wppmfunction->wppm_get_auth_code($id); 13 14 $auth_id = sanitize_text_field($auth_id); 15 $current_date = date('Y-m-d'); 14 16 if(!empty($id)){ 15 17 $task = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_task where id=".$id); … … 36 38 } 37 39 40 if($wppm_task_time == 1){ 41 $task_start_date = $task->start_date; 42 $task_end_date = $task->end_date; 43 } elseif($wppm_task_time == 0){ 44 $tsDate = new DateTime($task->start_date); 45 $teDate = new DateTime($task->end_date); 46 $task_start_date = $tsDate->format('Y-m-d'); 47 $task_end_date = $teDate->format('Y-m-d'); 48 } 38 49 ?> 39 50 <form id="wppm_open_task" method="post"> … … 99 110 </div> 100 111 <div class="col-sm-9"> 101 <span class="wppm_task_details"><?php echo (isset($task ->start_date))? esc_html($task->start_date):"" ?></span>112 <span class="wppm_task_details"><?php echo (isset($task_start_date))? esc_html($task_start_date):"" ?></span> 102 113 </div> 103 114 </div> … … 107 118 </div> 108 119 <div class="col-sm-9"> 109 <span class="wppm_task_details"><?php echo (isset($task->end_date))? esc_html($task->end_date):"" ?></span> 120 <?php $style = ($task->status!=4 && $task->end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; ?> 121 <span class="wppm_task_details" style="<?php echo esc_attr($style); ?>"><?php echo (isset($task_end_date))? esc_html($task_end_date):"" ?></span> 110 122 </div> 111 123 </div> -
taskbuilder/tags/2.0.8/includes/admin/tasks/wppm_tasks_list.php
r3019975 r3035644 11 11 $filter_by = isset($_POST['wppm_task_filter']) ? sanitize_text_field($_POST['wppm_task_filter']) : "all"; 12 12 $current_date = date('Y-m-d'); 13 $wppm_task_time = get_option('wppm_task_time'); 13 14 $filters = array( 14 15 'sort_by' => $sort_by, … … 247 248 $project = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_project where id = $task->project" ); 248 249 } 250 if($wppm_task_time == 1){ 251 $task_start_date = $task->start_date; 252 $task_end_date = $task->end_date; 253 } elseif($wppm_task_time == 0){ 254 $tsDate = new DateTime($task->start_date); 255 $teDate = new DateTime($task->end_date); 256 $task_start_date = $tsDate->format('Y-m-d'); 257 $task_end_date = $teDate->format('Y-m-d'); 258 } 249 259 ?> 250 260 <tr onclick= "if(link)wppm_open_task(<?php echo esc_attr($task->id) ?>)" > … … 270 280 <?php if($wppm_default_task_date == 1) { ?> 271 281 <td> 272 <?php if(!empty($task ->start_date)){ ?>273 <?php echo esc_html_e($task ->start_date,'taskbuilder');282 <?php if(!empty($task_start_date)){ ?> 283 <?php echo esc_html_e($task_start_date,'taskbuilder'); 274 284 } ?> 275 285 </td> 276 286 <td> 277 <?php if(!empty($task->end_date)){ ?> 278 <?php echo esc_html_e($task->end_date,'taskbuilder'); 287 <?php if(!empty($task_end_date)){ 288 $style = ($task->status!=4 && $task_end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; 289 ?> 290 <span style="<?php echo esc_attr($style); ?>"><?php echo esc_html_e($task_end_date,'taskbuilder');?></span><?php 279 291 } ?> 280 292 </td> -
taskbuilder/tags/2.0.8/includes/wppm-install.php
r2951988 r3035644 270 270 update_option('wppm_public_projects_permission',0); 271 271 } 272 if($installed_version < '2.0.8'){ 273 update_option('wppm_task_time',1); 274 } 272 275 // update wppm_version option to plugin version 273 276 update_option( 'wppm_version', WPPM_VERSION ); -
taskbuilder/tags/2.0.8/readme.txt
r3019975 r3035644 4 4 Tags: project,task,project management,task management,project manager,wordpress project management,task manager,CRM,Kanban board,management,bug tracker,issue tracker 5 5 Requires at least: 4.4 6 Tested up to: 6.4. 27 Stable tag: 2.0. 76 Tested up to: 6.4.3 7 Stable tag: 2.0.8 8 8 License: GPL v3 9 9 … … 98 98 99 99 == Changelog == 100 = V 2.0.8(Feb 14,2024) = 101 * New: Highlight due dates of projects and tasks in task list, project list. 102 * New: Setting given to hide/show time in start date and end date of task. 103 * Fix: Pagination issue fixed in grid view. 104 100 105 = V 2.0.7(Jan 10,2024) = 101 106 * New (Pro feature): Buddypress Integration add-on. -
taskbuilder/tags/2.0.8/taskbuilder.php
r3019975 r3035644 4 4 * Plugin URI: https://wordpress.org/plugins/taskbuilder/ 5 5 * Description: Wordpress Project & Task Management plugin. Easy to keep track of projects & tasks! 6 * Version: 2.0. 76 * Version: 2.0.8 7 7 * Author: Taskbuilder Team 8 8 * Author URI: https://taskbuilder.net/ 9 9 * Requires at least: 4.4 10 * Tested up to: 6.4. 210 * Tested up to: 6.4.3 11 11 * Text Domain: taskbuilder 12 12 * Domain Path: /lang … … 20 20 21 21 final class WP_Taskbuilder { 22 public $version = '2.0. 7';22 public $version = '2.0.8'; 23 23 public function __construct() { 24 24 // define global constants -
taskbuilder/trunk/includes/admin/addons.php
r3019975 r3035644 22 22 <div class="pheader"> 23 23 <h3 class="title"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/calendar.svg'); ?>"><?php echo esc_html_e('Calendar','taskbuilder');?></h3> 24 <h4 class="subtitle">$1 4.99</h4>24 <h4 class="subtitle">$19.99</h4> 25 25 <div style="text-align:center"> 26 26 <small class="payment_freq"><?php echo esc_html_e('Per year','taskbuilder');?></small> -
taskbuilder/trunk/includes/admin/projects/open_project/wppm_view_project_tasks.php
r3019975 r3035644 5 5 global $wpdb,$current_user, $wppmfunction; 6 6 $task_per_page = 20; 7 $total_no_of_rows = 0; 8 $totalrows_tasks = 0; 7 9 $page_no = isset($_POST['page_no']) ? intval(sanitize_text_field($_POST['page_no'])) : '0'; 8 10 $task_status = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_task_statuses ORDER BY load_order ASC" ); 11 $wppm_task_time = get_option('wppm_task_time'); 9 12 $search_tag = isset($_POST['task_search']) ? sanitize_text_field($_POST['task_search']) : ''; 10 13 $filter_by = isset($_POST['wppm_task_filter']) ? sanitize_text_field($_POST['wppm_task_filter']) : "all"; … … 46 49 $wppm_tl_filter = "(FIND_IN_SET('$current_user->ID',Task.users)>0)"; 47 50 } 48 if(!empty($search_tag)){ 49 $search_tag_text = '%'.$search_tag.'%'; 50 if($current_user->has_cap('manage_options')){ 51 $query = ("SELECT Task.* 51 if(!empty($task_status)){ 52 foreach($task_status as $status) { 53 if(!empty($search_tag)){ 54 $search_tag_text = '%'.$search_tag.'%'; 55 if($current_user->has_cap('manage_options')){ 56 $query = ("SELECT Task.* 57 FROM {$wpdb->prefix}wppm_task AS Task 58 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id 59 Left join {$wpdb->prefix}wppm_task_statuses task_statuses ON Task.status = task_statuses.id 60 Left join {$wpdb->prefix}wppm_task_priorities task_priorities ON Task.priority = task_priorities.id 61 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.id,Task.users)>0) AND user.display_name LIKE '$search_tag_text' 62 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 63 "); 64 $no_of_rows = ( "SELECT count(*) FROM ($query"); 65 $where = " where $wppm_tl_filter AND (Task.task_name LIKE '$search_tag_text' OR proj.project_name LIKE '$search_tag_text' OR task_statuses.name LIKE '$search_tag_text' OR task_priorities.name LIKE '$search_tag_text' OR user.display_name LIKE '$search_tag_text') AND Task.status= $status->id"; 66 } else{ 67 $query = ("SELECT Task.* 52 68 FROM {$wpdb->prefix}wppm_task AS Task 53 69 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id 54 70 Left join {$wpdb->prefix}wppm_task_statuses task_statuses ON Task.status = task_statuses.id 55 71 Left join {$wpdb->prefix}wppm_task_priorities task_priorities ON Task.priority = task_priorities.id 72 Left join {$wpdb->prefix}wppm_project_users proj_users ON Task.project = proj_users.proj_id 56 73 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.id,Task.users)>0) AND user.display_name LIKE '$search_tag_text' 57 74 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 75 "); 76 $no_of_rows = ( "SELECT count(*) FROM ($query"); 77 $where = " where $wppm_tl_filter 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)) AND (Task.task_name LIKE '$search_tag_text' OR proj.project_name LIKE '$search_tag_text' OR task_statuses.name LIKE '$search_tag_text' OR task_priorities.name LIKE '$search_tag_text' OR user.display_name LIKE '$search_tag_text')) AND Task.status= $status->id"; 78 } 79 }else{ 80 if($current_user->has_cap('manage_options')){ 81 $query = ( "SELECT Task.* FROM {$wpdb->prefix}wppm_task AS Task 82 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 58 83 "); 59 $no_of_rows = ( "SELECT count(*) FROM ($query"); 60 $where = " where $wppm_tl_filter AND (Task.task_name LIKE '$search_tag_text' OR proj.project_name LIKE '$search_tag_text' OR task_statuses.name LIKE '$search_tag_text' OR task_priorities.name LIKE '$search_tag_text' OR user.display_name LIKE '$search_tag_text')"; 61 } else{ 62 $query = ("SELECT Task.* 63 FROM {$wpdb->prefix}wppm_task AS Task 64 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id 65 Left join {$wpdb->prefix}wppm_task_statuses task_statuses ON Task.status = task_statuses.id 66 Left join {$wpdb->prefix}wppm_task_priorities task_priorities ON Task.priority = task_priorities.id 67 Left join {$wpdb->prefix}wppm_project_users proj_users ON Task.project = proj_users.proj_id 68 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.id,Task.users)>0) AND user.display_name LIKE '$search_tag_text' 69 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 70 "); 71 $no_of_rows = ( "SELECT count(*) FROM ($query"); 72 $where = " where $wppm_tl_filter 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)) AND (Task.task_name LIKE '$search_tag_text' OR proj.project_name LIKE '$search_tag_text' OR task_statuses.name LIKE '$search_tag_text' OR task_priorities.name LIKE '$search_tag_text' OR user.display_name LIKE '$search_tag_text'))"; 84 $no_of_rows = ( "SELECT count(*) FROM ($query"); 85 $where = " where $wppm_tl_filter AND Task.status= $status->id"; 86 }else{ 87 $query = ( "SELECT Task.* 88 FROM {$wpdb->prefix}wppm_task AS Task 89 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id 90 Left join {$wpdb->prefix}wppm_project_users proj_users ON Task.project = proj_users.proj_id 91 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 92 "); 93 $no_of_rows = ( "SELECT count(*) FROM ($query"); 94 $where = " where $wppm_tl_filter 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)) AND Task.status= $status->id"; 95 } 96 } 97 $no_of_rows = apply_filters('wppm_number_of_rows_query_for_grid_view',$no_of_rows); 98 $where = apply_filters('wppm_task_list_where_for_grid_view',$where,$wppm_tl_filter,$search_tag); 99 $no_of_rows .= $where; 100 $no_of_rows .= " Group by Task.id) AS Task"; 101 $no_of_rows = apply_filters('wppm_task_list_no_of_rows_for_grid_view',$no_of_rows); 102 $totalrows = $wpdb->get_var($no_of_rows); 103 $totalrows_tasks +=$totalrows; 104 if($total_no_of_rows > $totalrows){ 105 $totalrows = $total_no_of_rows; 106 }else{ 107 $total_no_of_rows = $totalrows; 108 } 109 $limit_start=$page_no*$task_per_page; 110 $limit="\n LIMIT ".$limit_start.",".$task_per_page." "; 111 $current_page=$page_no+1; 112 $query = apply_filters('wppm_tasks_grid_view_query',$query,$search_tag); 113 $where .= " Group by Task.id"; 114 $query .= $where; 115 $query = apply_filters('wppm_task_list_grid_view_query',$query); 116 $query = $query.$limit; 117 $wppm_task_fillter[] = $wpdb->get_results($query); 73 118 } 74 }else{ 75 if($current_user->has_cap('manage_options')){ 76 $query = ( "SELECT Task.* FROM {$wpdb->prefix}wppm_task AS Task 77 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 78 "); 79 $no_of_rows = ( "SELECT count(*) FROM ($query"); 80 $where = " where $wppm_tl_filter"; 81 }else{ 82 $query = ( "SELECT Task.* 83 FROM {$wpdb->prefix}wppm_task AS Task 84 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id 85 Left join {$wpdb->prefix}wppm_project_users proj_users ON Task.project = proj_users.proj_id 86 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Task.project = proj_meta.project_id 87 "); 88 $no_of_rows = ( "SELECT count(*) FROM ($query"); 89 $where = " where $wppm_tl_filter 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))"; 90 } 91 } 92 $no_of_rows = apply_filters('wppm_number_of_rows_query_for_grid_view',$no_of_rows); 93 $where = apply_filters('wppm_task_list_where_for_grid_view',$where,$wppm_tl_filter,$search_tag); 94 $no_of_rows .= $where; 95 $no_of_rows .= " Group by Task.id) AS Task"; 96 $no_of_rows = apply_filters('wppm_task_list_no_of_rows_for_grid_view',$no_of_rows); 97 $totalrows = $wpdb->get_var($no_of_rows); 98 $limit_start=$page_no*$task_per_page; 99 $limit="\n LIMIT ".$limit_start.",".$task_per_page." "; 100 $current_page=$page_no+1; 101 $query = apply_filters('wppm_tasks_grid_view_query',$query,$search_tag); 102 $where .= " Group by Task.id"; 103 $query .= $where; 104 $query = apply_filters('wppm_task_list_grid_view_query',$query); 105 $query = $query.$limit; 106 $wppm_task_fillter = $wpdb->get_results($query); 107 $total_pages=ceil($totalrows/$task_per_page); 108 $prev_page_no=$current_page-1; 109 $prev_class=(!$prev_page_no)?'disabled':''; 110 $next_page_no=($total_pages==$current_page)? $current_page-1:$current_page; 111 $next_class=($total_pages==$current_page)?'disabled':''; 119 $total_pages=ceil($total_no_of_rows/$task_per_page); 120 $prev_page_no=$current_page-1; 121 $prev_class=(!$prev_page_no)?'disabled':''; 122 $next_page_no=($total_pages==$current_page)? $current_page-1:$current_page; 123 $next_class=($total_pages==$current_page)?'disabled':''; 124 } 112 125 ?> 113 126 <form name="wppm_view_project_task" id="wppm_view_project_task"> … … 167 180 $total_tasks = 0; 168 181 if(!empty($wppm_task_fillter)){ 169 foreach($wppm_task_fillter as $task){ 170 $total_tasks++; 171 if((!empty($task)) && $task->status==$status->id){ 172 $task_per_status = true; 173 if(isset($task->priority)){ 174 $task_priority = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_task_priorities where id = $task->priority" ); 175 } 176 if(!empty($task->id)){ 177 $checklists = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_checklist where task_id = $task->id" ); 178 $total=$wpdb->get_var("SELECT COUNT(Items.id) AS check_id 179 FROM {$wpdb->prefix}wppm_checklist_items AS Items 180 Left join {$wpdb->prefix}wppm_checklist checklist ON Items.checklist_id = checklist.id 181 WHERE checklist.task_id = $task->id"); 182 $total_checked_items=$wpdb->get_var("SELECT COUNT(Items.id) AS check_id 183 FROM {$wpdb->prefix}wppm_checklist_items AS Items 184 Left join {$wpdb->prefix}wppm_checklist checklist ON Items.checklist_id = checklist.id 185 WHERE checklist.task_id = $task->id AND Items.checked=1"); 186 ?> 187 <div class="wppm_card_body" onclick="wppm_open_task(<?php echo esc_attr($task->id)?>)" id="wppm_draggable_card_<?php echo esc_attr($task->id)?>"> 188 <div class="row"> 189 <div class="col-sm-6"> 190 <span class="wppm_td_task_priority" style="background-color:<?php echo (!empty($task_priority->bg_color))? esc_attr($task_priority->bg_color):"";?>;color:<?php echo (!empty($task_priority->color))? esc_attr($task_priority->color):"";?>"><?php echo (!empty($task_priority->name))? esc_html($task_priority->name):"" ?></span> 182 foreach($wppm_task_fillter as $key=>$tasks){ 183 foreach($tasks as $task){ 184 $total_tasks++; 185 if((!empty($task)) && $task->status==$status->id){ 186 $task_per_status = true; 187 if(isset($task->priority)){ 188 $task_priority = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_task_priorities where id = $task->priority" ); 189 } 190 if($wppm_task_time == 1){ 191 $task_end_date = $task->end_date; 192 }elseif($wppm_task_time == 0){ 193 $teDate = new DateTime($task->end_date); 194 $task_end_date = $teDate->format('Y-m-d'); 195 } 196 if(!empty($task->id)){ 197 $checklists = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_checklist where task_id = $task->id" ); 198 $total=$wpdb->get_var("SELECT COUNT(Items.id) AS check_id 199 FROM {$wpdb->prefix}wppm_checklist_items AS Items 200 Left join {$wpdb->prefix}wppm_checklist checklist ON Items.checklist_id = checklist.id 201 WHERE checklist.task_id = $task->id"); 202 $total_checked_items=$wpdb->get_var("SELECT COUNT(Items.id) AS check_id 203 FROM {$wpdb->prefix}wppm_checklist_items AS Items 204 Left join {$wpdb->prefix}wppm_checklist checklist ON Items.checklist_id = checklist.id 205 WHERE checklist.task_id = $task->id AND Items.checked=1"); 206 ?> 207 <div class="wppm_card_body" onclick="wppm_open_task(<?php echo esc_attr($task->id)?>)" id="wppm_draggable_card_<?php echo esc_attr($task->id)?>"> 208 <div class="row"> 209 <div class="col-sm-6"> 210 <span class="wppm_td_task_priority" style="background-color:<?php echo (!empty($task_priority->bg_color))? esc_attr($task_priority->bg_color):"";?>;color:<?php echo (!empty($task_priority->color))? esc_attr($task_priority->color):"";?>"><?php echo (!empty($task_priority->name))? esc_html($task_priority->name):"" ?></span> 211 </div> 212 <div class="wppm_card_task_action col-sm-6"> 213 <span class="wppm_checklist_total_checked_item"><?php echo esc_html($total_checked_items.'/'.$total)?></span><span class="wppm_total_checked_item"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/checked.svg'); ?>" alt="checked"></span> 214 <span class="wppm_show_dropdown_menu" onclick="wppm_show_dropdown_menu(<?php echo esc_attr($task->id);?>)" data-popover="wppm-dropdown-menu-<?php echo esc_attr($task->id);?>" id="wppm_task_action_<?php echo esc_attr($task->id);?>"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/vertical_dot.svg'); ?>" alt="vertical_dot"></span> 215 <div class="gpopover" id="wppm-dropdown-menu-<?php echo esc_attr($task->id);?>"> 216 <a class="dropdown-item" href="#"><?php echo esc_html_e('Edit','taskbuilder');?></a> 217 <a class="dropdown-item" href="#"><?php echo esc_html_e('Delete','taskbuilder');?></a> 218 </div> 219 </div> 191 220 </div> 192 <div class="wppm_card_task_action col-sm-6"> 193 <span class="wppm_checklist_total_checked_item"><?php echo esc_html($total_checked_items.'/'.$total)?></span><span class="wppm_total_checked_item"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/checked.svg'); ?>" alt="checked"></span> 194 <span class="wppm_show_dropdown_menu" onclick="wppm_show_dropdown_menu(<?php echo esc_attr($task->id);?>)" data-popover="wppm-dropdown-menu-<?php echo esc_attr($task->id);?>" id="wppm_task_action_<?php echo esc_attr($task->id);?>"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/vertical_dot.svg'); ?>" alt="vertical_dot"></span> 195 <div class="gpopover" id="wppm-dropdown-menu-<?php echo esc_attr($task->id);?>"> 196 <a class="dropdown-item" href="#"><?php echo esc_html_e('Edit','taskbuilder');?></a> 197 <a class="dropdown-item" href="#"><?php echo esc_html_e('Delete','taskbuilder');?></a> 221 <div class="row"> 222 <div class="col-sm-12"> 223 <span class="wppm_task_name_grid_view"><?php echo esc_html_e($task->task_name,'taskbuilder');?></span> 224 </div> 225 </div> 226 <div class="row"> 227 <div class="col-sm-6 wppm_task_due_date_grid_view"> 228 <?php $style = ($task->status!=4 && $task->end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; ?> 229 <small style="<?php echo esc_attr($style); ?>"><?php echo (isset($task_end_date))? esc_html_e($task_end_date,'taskbuilder') :"" ?></small> 230 </div> 231 <div class="col-sm-6" class="wppm_card_task_users" style="text-align:right;"> 232 <?php 233 $task_users = explode(',',$task->users); 234 $i=0; 235 $project_data = $wppmfunction->get_project($task->project); 236 if(!empty($project_data['users'])){ 237 $proj_users = explode(',',$project_data['users']); 238 } 239 if(!empty($task_users)){ 240 foreach($task_users as $user){ 241 if( (!empty($proj_users)) && (in_array($user,$proj_users))){ 242 $i++; 243 if( $i <= 4 ){ 244 if(!empty($user)){ 245 $userdata = get_userdata( $user ); 246 ?> 247 <a href="#" title="<?php echo esc_attr($userdata->display_name)?>"> 248 <?php echo get_avatar($user, 25, "mysteryman");?> 249 </a> 250 <?php } 251 } 252 } 253 } 254 } 255 if($i > 4){ 256 ?> 257 <a href="#" class="wppm_avatar"> 258 <span id="wppm_avatar" style="background-color:black;" class="avatar">+<?php echo esc_html($i-4) ?></span> 259 </a> 260 <?php } ?> 198 261 </div> 199 262 </div> 200 263 </div> 201 <div class="row"> 202 <div class="col-sm-12"> 203 <span class="wppm_task_name_grid_view"><?php echo esc_html_e($task->task_name,'taskbuilder');?></span> 204 </div> 205 </div> 206 <div class="row"> 207 <div class="col-sm-6 wppm_task_due_date_grid_view"> 208 <small><?php echo (isset($task->end_date))? esc_html_e($task->end_date,'taskbuilder') :"" ?></small> 209 </div> 210 <div class="col-sm-6" class="wppm_card_task_users" style="text-align:right;"> 211 <?php 212 $task_users = explode(',',$task->users); 213 $i=0; 214 $project_data = $wppmfunction->get_project($task->project); 215 if(!empty($project_data['users'])){ 216 $proj_users = explode(',',$project_data['users']); 217 } 218 if(!empty($task_users)){ 219 foreach($task_users as $user){ 220 if( (!empty($proj_users)) && (in_array($user,$proj_users))){ 221 $i++; 222 if( $i <= 4 ){ 223 if(!empty($user)){ 224 $userdata = get_userdata( $user ); 225 ?> 226 <a href="#" title="<?php echo esc_attr($userdata->display_name)?>"> 227 <?php echo get_avatar($user, 25, "mysteryman");?> 228 </a> 229 <?php } 230 } 231 } 232 } 233 } 234 if($i > 4){ 235 ?> 236 <a href="#" class="wppm_avatar"> 237 <span id="wppm_avatar" style="background-color:black;" class="avatar">+<?php echo esc_html($i-4) ?></span> 238 </a> 239 <?php } ?> 240 </div> 241 </div> 242 </div> 243 <?php 264 <?php 265 } 244 266 } 245 267 } … … 265 287 <div class="row wppm_task_pagination_container"> 266 288 <div class="col-sm-4"> 267 <?php echo esc_html_e('Total:','taskbuilder'); ?> <?php echo esc_html($total_tasks); ?> <?php echo esc_html_e( 'of','taskbuilder') ?> <?php echo esc_html($totalrows ) ?> <?php echo esc_html_e('Tasks','taskbuilder')?>289 <?php echo esc_html_e('Total:','taskbuilder'); ?> <?php echo esc_html($total_tasks); ?> <?php echo esc_html_e( 'of','taskbuilder') ?> <?php echo esc_html($totalrows_tasks) ?> <?php echo esc_html_e('Tasks','taskbuilder')?> 268 290 </div> 269 291 <div class="wppm_task_pagination col-sm-4" style="<?php echo (esc_attr($total_pages)==0)? "display:none;":"display:flex;"?>"> -
taskbuilder/trunk/includes/admin/projects/projects_list.php
r3019975 r3035644 260 260 <?php if($wppm_default_project_date==1){ ?> 261 261 <td class="wppm_table_td"><?php echo isset($proj_start_date) ? esc_html($proj_start_date): "" ?></td> 262 <td class="wppm_table_td"><?php echo isset($proj_end_date) ? esc_html($proj_end_date):"" ?></td> 262 <?php $style = ($project->status!=4 && $proj_end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; ?> 263 <td class="wppm_table_td"><span style="<?php echo esc_attr($style); ?>"><?php echo isset($proj_end_date) ? esc_html($proj_end_date):"" ?></td></span> 263 264 <?php } ?> 264 265 <td class="wppm_table_td"><?php echo isset($no_of_tasks) ? esc_html($no_of_tasks):"" ?></td> -
taskbuilder/trunk/includes/admin/projects/wppm_open_project.php
r2951988 r3035644 7 7 $wppm_default_project_date = get_option('wppm_default_project_date'); 8 8 $wppm_public_projects_permission = get_option('wppm_public_projects_permission'); 9 $current_date = date('Y-m-d'); 9 10 $id = isset($_POST) && isset($_POST['id']) ? intval(sanitize_text_field($_POST['id'])) : 0; 10 11 if (!$id) {exit;} … … 83 84 </div> 84 85 <div class="col-sm-9"> 85 <span class="wppm_project_details"><?php echo (isset($proj_end_date))? esc_html($proj_end_date):"" ?></span> 86 <?php $style = ($project->status!=4 && $proj_end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; ?> 87 <span class="wppm_project_details" style="<?php echo esc_attr($style); ?>"><?php echo (isset($proj_end_date))? esc_html($proj_end_date):"" ?></span> 86 88 </div> 87 89 </div> -
taskbuilder/trunk/includes/admin/settings/wppm_get_general_settings.php
r2951988 r3035644 9 9 $wppm_default_task_date = get_option('wppm_default_task_date'); 10 10 $wppm_project_time = get_option('wppm_project_time'); 11 $wppm_task_time = get_option('wppm_task_time'); 11 12 $wppm_edit_tasks_permission = get_option('wppm_default_edit_tasks_permission'); 12 13 ?> … … 34 35 echo '<option '.$selected.' value="1">'.__('Show','taskbuilder').'</option>'; 35 36 $selected = $wppm_project_time == '0' ? 'selected="selected"' : ''; 37 echo '<option '.$selected.' value="0">'.__('Hide','taskbuilder').'</option>'; 38 ?> 39 </select> 40 <hr> 41 <span> 42 <label><?php echo esc_html_e('Time in task start date and end date','taskbuilder');?></label> 43 </span><br> 44 <p class="help-block"><?php echo esc_html_e('Default show/hide time in start and end date of task.','taskbuilder');?></p> 45 <select class="form-control" name="wppm_task_time" id="wppm_task_time"> 46 <?php 47 $selected = $wppm_task_time == '1' ? 'selected="selected"' : ''; 48 echo '<option '.$selected.' value="1">'.__('Show','taskbuilder').'</option>'; 49 $selected = $wppm_task_time == '0' ? 'selected="selected"' : ''; 36 50 echo '<option '.$selected.' value="0">'.__('Hide','taskbuilder').'</option>'; 37 51 ?> -
taskbuilder/trunk/includes/admin/settings/wppm_set_general_settings.php
r2951988 r3035644 18 18 $wppm_edit_tasks_permission = isset($_POST) && isset(($_POST['wppm_edit_tasks_permission'])) ? sanitize_text_field($_POST['wppm_edit_tasks_permission']) : '0'; 19 19 update_option('wppm_default_edit_tasks_permission',$wppm_edit_tasks_permission); 20 $wppm_task_time = isset($_POST) && isset(($_POST['wppm_task_time'])) ? sanitize_text_field($_POST['wppm_task_time']) : '1'; 21 update_option('wppm_task_time',$wppm_task_time); 20 22 do_action('wppm_set_general_settings'); 21 23 -
taskbuilder/trunk/includes/admin/tasks/open_task/wppm_open_task.php
r2844010 r3035644 8 8 $task_list_view = get_option('wppm_default_task_list_view'); 9 9 $wppm_default_task_date = get_option('wppm_default_task_date'); 10 $wppm_task_time = get_option('wppm_task_time'); 10 11 if (!(($current_user->ID && $current_user->has_cap('manage_options')) || ($wppmfunction->has_permission('view_task',$id)))) {exit;} 11 12 $proj_id = isset($_POST) && isset($_POST['proj_id']) ? intval(sanitize_text_field($_POST['proj_id'])) : 0; 12 13 $auth_id = $wppmfunction->wppm_get_auth_code($id); 13 14 $auth_id = sanitize_text_field($auth_id); 15 $current_date = date('Y-m-d'); 14 16 if(!empty($id)){ 15 17 $task = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_task where id=".$id); … … 36 38 } 37 39 40 if($wppm_task_time == 1){ 41 $task_start_date = $task->start_date; 42 $task_end_date = $task->end_date; 43 } elseif($wppm_task_time == 0){ 44 $tsDate = new DateTime($task->start_date); 45 $teDate = new DateTime($task->end_date); 46 $task_start_date = $tsDate->format('Y-m-d'); 47 $task_end_date = $teDate->format('Y-m-d'); 48 } 38 49 ?> 39 50 <form id="wppm_open_task" method="post"> … … 99 110 </div> 100 111 <div class="col-sm-9"> 101 <span class="wppm_task_details"><?php echo (isset($task ->start_date))? esc_html($task->start_date):"" ?></span>112 <span class="wppm_task_details"><?php echo (isset($task_start_date))? esc_html($task_start_date):"" ?></span> 102 113 </div> 103 114 </div> … … 107 118 </div> 108 119 <div class="col-sm-9"> 109 <span class="wppm_task_details"><?php echo (isset($task->end_date))? esc_html($task->end_date):"" ?></span> 120 <?php $style = ($task->status!=4 && $task->end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; ?> 121 <span class="wppm_task_details" style="<?php echo esc_attr($style); ?>"><?php echo (isset($task_end_date))? esc_html($task_end_date):"" ?></span> 110 122 </div> 111 123 </div> -
taskbuilder/trunk/includes/admin/tasks/wppm_tasks_list.php
r3019975 r3035644 11 11 $filter_by = isset($_POST['wppm_task_filter']) ? sanitize_text_field($_POST['wppm_task_filter']) : "all"; 12 12 $current_date = date('Y-m-d'); 13 $wppm_task_time = get_option('wppm_task_time'); 13 14 $filters = array( 14 15 'sort_by' => $sort_by, … … 247 248 $project = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_project where id = $task->project" ); 248 249 } 250 if($wppm_task_time == 1){ 251 $task_start_date = $task->start_date; 252 $task_end_date = $task->end_date; 253 } elseif($wppm_task_time == 0){ 254 $tsDate = new DateTime($task->start_date); 255 $teDate = new DateTime($task->end_date); 256 $task_start_date = $tsDate->format('Y-m-d'); 257 $task_end_date = $teDate->format('Y-m-d'); 258 } 249 259 ?> 250 260 <tr onclick= "if(link)wppm_open_task(<?php echo esc_attr($task->id) ?>)" > … … 270 280 <?php if($wppm_default_task_date == 1) { ?> 271 281 <td> 272 <?php if(!empty($task ->start_date)){ ?>273 <?php echo esc_html_e($task ->start_date,'taskbuilder');282 <?php if(!empty($task_start_date)){ ?> 283 <?php echo esc_html_e($task_start_date,'taskbuilder'); 274 284 } ?> 275 285 </td> 276 286 <td> 277 <?php if(!empty($task->end_date)){ ?> 278 <?php echo esc_html_e($task->end_date,'taskbuilder'); 287 <?php if(!empty($task_end_date)){ 288 $style = ($task->status!=4 && $task_end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; 289 ?> 290 <span style="<?php echo esc_attr($style); ?>"><?php echo esc_html_e($task_end_date,'taskbuilder');?></span><?php 279 291 } ?> 280 292 </td> -
taskbuilder/trunk/includes/wppm-install.php
r2951988 r3035644 270 270 update_option('wppm_public_projects_permission',0); 271 271 } 272 if($installed_version < '2.0.8'){ 273 update_option('wppm_task_time',1); 274 } 272 275 // update wppm_version option to plugin version 273 276 update_option( 'wppm_version', WPPM_VERSION ); -
taskbuilder/trunk/readme.txt
r3019975 r3035644 4 4 Tags: project,task,project management,task management,project manager,wordpress project management,task manager,CRM,Kanban board,management,bug tracker,issue tracker 5 5 Requires at least: 4.4 6 Tested up to: 6.4. 27 Stable tag: 2.0. 76 Tested up to: 6.4.3 7 Stable tag: 2.0.8 8 8 License: GPL v3 9 9 … … 98 98 99 99 == Changelog == 100 = V 2.0.8(Feb 14,2024) = 101 * New: Highlight due dates of projects and tasks in task list, project list. 102 * New: Setting given to hide/show time in start date and end date of task. 103 * Fix: Pagination issue fixed in grid view. 104 100 105 = V 2.0.7(Jan 10,2024) = 101 106 * New (Pro feature): Buddypress Integration add-on. -
taskbuilder/trunk/taskbuilder.php
r3019975 r3035644 4 4 * Plugin URI: https://wordpress.org/plugins/taskbuilder/ 5 5 * Description: Wordpress Project & Task Management plugin. Easy to keep track of projects & tasks! 6 * Version: 2.0. 76 * Version: 2.0.8 7 7 * Author: Taskbuilder Team 8 8 * Author URI: https://taskbuilder.net/ 9 9 * Requires at least: 4.4 10 * Tested up to: 6.4. 210 * Tested up to: 6.4.3 11 11 * Text Domain: taskbuilder 12 12 * Domain Path: /lang … … 20 20 21 21 final class WP_Taskbuilder { 22 public $version = '2.0. 7';22 public $version = '2.0.8'; 23 23 public function __construct() { 24 24 // define global constants
Note: See TracChangeset
for help on using the changeset viewer.