Changeset 3312666
- Timestamp:
- 06/16/2025 04:46:56 PM (10 months ago)
- Location:
- taskbuilder
- Files:
-
- 14 added
- 34 edited
- 1 copied
-
tags/4.0.4 (copied) (copied from taskbuilder/trunk)
-
tags/4.0.4/asset/css/admin.css (modified) (8 diffs)
-
tags/4.0.4/asset/css/public.css (modified) (2 diffs)
-
tags/4.0.4/asset/images/help.svg (added)
-
tags/4.0.4/asset/images/help_icon.svg (added)
-
tags/4.0.4/asset/images/logo-header.png (added)
-
tags/4.0.4/asset/images/pro_features.svg (added)
-
tags/4.0.4/asset/images/support.svg (added)
-
tags/4.0.4/asset/images/taskbuilder_logo.png (added)
-
tags/4.0.4/includes/admin/projects/open_project/wppm_view_project_tasks.php (modified) (7 diffs)
-
tags/4.0.4/includes/admin/projects/projects.php (modified) (1 diff)
-
tags/4.0.4/includes/admin/projects/projects_list.php (modified) (5 diffs)
-
tags/4.0.4/includes/admin/projects/wppm_open_project.php (modified) (3 diffs)
-
tags/4.0.4/includes/admin/settings/wppm_get_general_settings.php (modified) (2 diffs)
-
tags/4.0.4/includes/admin/settings/wppm_set_add_category.php (modified) (1 diff)
-
tags/4.0.4/includes/admin/settings/wppm_set_general_settings.php (modified) (1 diff)
-
tags/4.0.4/includes/admin/tasks/open_task/wppm_open_task.php (modified) (3 diffs)
-
tags/4.0.4/includes/admin/tasks/wppm_tasks.php (modified) (1 diff)
-
tags/4.0.4/includes/admin/tasks/wppm_tasks_list.php (modified) (5 diffs)
-
tags/4.0.4/includes/admin/wppm_other_plugins.php (added)
-
tags/4.0.4/includes/class-wppm-admin.php (modified) (3 diffs)
-
tags/4.0.4/includes/class-wppm-functions.php (modified) (1 diff)
-
tags/4.0.4/includes/wppm-install.php (modified) (1 diff)
-
tags/4.0.4/readme.txt (modified) (5 diffs)
-
tags/4.0.4/taskbuilder.php (modified) (2 diffs)
-
trunk/asset/css/admin.css (modified) (8 diffs)
-
trunk/asset/css/public.css (modified) (2 diffs)
-
trunk/asset/images/help.svg (added)
-
trunk/asset/images/help_icon.svg (added)
-
trunk/asset/images/logo-header.png (added)
-
trunk/asset/images/pro_features.svg (added)
-
trunk/asset/images/support.svg (added)
-
trunk/asset/images/taskbuilder_logo.png (added)
-
trunk/includes/admin/projects/open_project/wppm_view_project_tasks.php (modified) (7 diffs)
-
trunk/includes/admin/projects/projects.php (modified) (1 diff)
-
trunk/includes/admin/projects/projects_list.php (modified) (5 diffs)
-
trunk/includes/admin/projects/wppm_open_project.php (modified) (3 diffs)
-
trunk/includes/admin/settings/wppm_get_general_settings.php (modified) (2 diffs)
-
trunk/includes/admin/settings/wppm_set_add_category.php (modified) (1 diff)
-
trunk/includes/admin/settings/wppm_set_general_settings.php (modified) (1 diff)
-
trunk/includes/admin/tasks/open_task/wppm_open_task.php (modified) (3 diffs)
-
trunk/includes/admin/tasks/wppm_tasks.php (modified) (1 diff)
-
trunk/includes/admin/tasks/wppm_tasks_list.php (modified) (5 diffs)
-
trunk/includes/admin/wppm_other_plugins.php (added)
-
trunk/includes/class-wppm-admin.php (modified) (3 diffs)
-
trunk/includes/class-wppm-functions.php (modified) (1 diff)
-
trunk/includes/wppm-install.php (modified) (1 diff)
-
trunk/readme.txt (modified) (5 diffs)
-
trunk/taskbuilder.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
taskbuilder/tags/4.0.4/asset/css/admin.css
r3254059 r3312666 254 254 background-color: #5067c5; 255 255 color:#ffffff!important; 256 border: 1px ;256 border: 1px solid #8a8a8a !important; 257 257 } 258 258 .wppm-btn-cancel{ … … 299 299 } 300 300 #wppm_task_table_container{ 301 padding: 15px;301 padding: 0 15px 15px 15px; 302 302 } 303 303 .wppm_status{ … … 453 453 margin-bottom:2px; 454 454 } 455 #wppm_project_table{ 456 margin: 15px; 457 overflow-x: auto; 458 } 455 459 456 .wppm_label{ 460 457 font-size: 12px; … … 475 472 } 476 473 #wppm_project_search_filter_img, .wppm_task_search_filter_img{ 477 position: absolute;474 position: relative !important; 478 475 top: 10px; 479 left: 18px;476 left: 30px; 480 477 } 481 478 .wppm_add_new_task_img, .wppm_task_list_image{ … … 783 780 float: right; 784 781 border-radius: 4px; 785 margin-right: 10px;786 782 cursor: pointer; 787 783 font: 13px "Helvetica Neue",Helvetica,Arial,sans-serif; 788 784 color: #858c96; 789 margin-top: 5px;790 785 } 791 786 #wppm_select_user_role{ … … 1451 1446 display: flex; 1452 1447 align-items: center; 1453 margin-bottom: 20px;1454 1448 } 1455 1449 .wppm-bulk-actions select { … … 1484 1478 background-color: #fff; 1485 1479 color: #707070; 1480 margin-left: 10px !important; 1486 1481 } 1487 1482 .wppm-popover-menu-item:hover { … … 1541 1536 max-width: 100%; 1542 1537 } 1538 1539 @media (max-width: 768px) { 1540 .wppm_task_list{ 1541 flex-basis: 50% !important; 1542 } 1543 } -
taskbuilder/tags/4.0.4/asset/css/public.css
r3079882 r3312666 47 47 48 48 #wppm_project_search_filter_img, .wppm_task_search_filter_img{ 49 position: absolute;49 position: relative !important; 50 50 top: 10px; 51 left: 18px;51 left: 30px; 52 52 width:25px; 53 53 height:15px; … … 61 61 word-break: break-word; 62 62 } 63 @media (max-width: 768px) { 64 .wppm_task_list{ 65 flex-basis: 100% !important; 66 } 67 } -
taskbuilder/tags/4.0.4/includes/admin/projects/open_project/wppm_view_project_tasks.php
r3286301 r3312666 13 13 $task_status = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_task_statuses ORDER BY $orderby_sql " ); 14 14 $wppm_task_time = get_option('wppm_task_time'); 15 $wppm_date_setting = get_option('wppm_date_setting'); 15 16 $search_tag = isset($_POST['task_search']) ? sanitize_text_field($_POST['task_search']) : ''; 16 17 $filter_by = isset($_POST['wppm_task_filter']) ? sanitize_text_field($_POST['wppm_task_filter']) : "all"; … … 220 221 <form name="wppm_view_project_task" id="wppm_view_project_task"> 221 222 <div class="row"> 222 <div class="col-sm- 6">223 <div class="col-sm-12"> 223 224 <?php 224 225 if($current_user->has_cap('manage_options') || $wppmfunction->has_permission('add_new_task',0) || $wppm_current_user_capability=='wppm_manager'|| ($flag==true)){ … … 233 234 <span class="wppm-add-new-btn btn-primary" style="background-color:<?php echo esc_attr($appearance_settings['menu-button-bg-color'])?>; id="wppm_task_list" onclick="wppm_get_task_list()" ><span><img class="wppm_task_list_image" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/list-symbol.svg'); ?>" alt="list"></span><span style="color:<?php echo esc_attr($appearance_settings['menu-button-text-color'])?>"><?php echo esc_html_e('Task List','taskbuilder');?></span></span> 234 235 </div> 235 <div id="wppm_task_search" class="col-sm-6">236 <input type="search" id="wppm_view_task_search_filter" name="wppm_view_task_search_filter" class="form-control form-control-sm" aria-controls="selection-datatable" placeholder="<?php echo esc_attr('Search','taskbuilder')?>" value="<?php echo (!empty($search_tag)) ? esc_attr($search_tag) : "" ?>">237 <span><img width="25" height="15" class="wppm_task_search_filter_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/search.svg'); ?>" alt="search"></span>238 </div>239 236 </div> 240 <div id="wppm_task_filter_container"> 241 <div class="wppm-filter-item"> 242 <label for="wppm_task_filter"> <?php echo esc_html_e('Filter','taskbuilder');?></label> 243 <select id="wppm_task_filter" name="wppm_task_filter" onchange="wppm_apply_task_filter_grid_view()"> 244 <option value="all"<?php echo ($filter_by == "all")? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 245 <option value="1" style="<?php echo $todo_status_style ?>" <?php echo ($filter_by == "1")? 'selected':""?>><?php echo esc_html_e($todo_status_name,'taskbuilder');?></option> 246 <option value="2" style="<?php echo $inp_status_style ?>" <?php echo ($filter_by == "2")? 'selected':""?>><?php echo esc_html_e($inp_status_name,'taskbuilder');?></option> 247 <option value="3" style="<?php echo $hold_status_style ?>" <?php echo ($filter_by == "3")? 'selected':""?>><?php echo esc_html_e($hold_status_name,'taskbuilder');?></option> 248 <option value="4" style="<?php echo $completed_status_style ?>" <?php echo ($filter_by == "4")? 'selected':""?>><?php echo esc_html_e($completed_status_name,'taskbuilder');?></option> 249 <option value="mine" <?php echo ($filter_by == "mine")? 'selected':""?>><?php echo esc_html_e('Mine','taskbuilder');?></option> 250 <option value="unassigned" <?php echo ($filter_by == "unassigned")? 'selected':""?>><?php echo esc_html_e('Unassigned','taskbuilder');?></option> 251 <option value="overdue" <?php echo ($filter_by == "overdue")? 'selected':""?>><?php echo esc_html_e('Overdue','taskbuilder');?></option> 252 </select> 253 </div> 254 <div class="wppm-filter-item wppm_project_autocomplete_container"> 255 <label for="wppm_task_list_proj_filter"> 256 <?php echo esc_html_e('Project','taskbuilder');?> 257 </label><br> 258 <select searchable="search here" onchange="wppm_tasks_by_select_project_grid_view()" class="form-control" size="40" name="wppm_task_list_proj_filter" id="wppm_task_list_proj_filter"> 259 <option value="0" <?php echo ($proj_filter == 0)? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 260 <?php 261 if(!empty($projects)){ 262 foreach($projects as $proj) { 263 ?> 264 <option value="<?php echo esc_attr($proj->id)?>" <?php echo ($proj_filter == $proj->id)? 'selected':""?>><?php echo esc_html_e($proj->project_name,'taskbuilder');?></option> 265 <?php } 266 } ?> 267 </select> 268 </div> 269 <div class="wppm_display_submit"> 270 <div class="wppm-filter-actions"> 271 <span class="wppm-link" onclick="wppm_tl_reset_grid_view_filter()"> <?php echo esc_html_e('Reset','taskbuilder');?></span> 237 <div style="display:flex;justify-content:space-between;margin-top: 20px;flex-wrap: wrap;"> 238 <div style="display:flex;flex-wrap: wrap;"> 239 <div id="wppm_task_filter_container"> 240 <div class="wppm-filter-item"> 241 <label for="wppm_task_filter"> <?php echo esc_html_e('Filter','taskbuilder');?></label> 242 <select id="wppm_task_filter" name="wppm_task_filter" onchange="wppm_apply_task_filter_grid_view()"> 243 <option value="all"<?php echo ($filter_by == "all")? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 244 <option value="1" style="<?php echo $todo_status_style ?>" <?php echo ($filter_by == "1")? 'selected':""?>><?php echo esc_html_e($todo_status_name,'taskbuilder');?></option> 245 <option value="2" style="<?php echo $inp_status_style ?>" <?php echo ($filter_by == "2")? 'selected':""?>><?php echo esc_html_e($inp_status_name,'taskbuilder');?></option> 246 <option value="3" style="<?php echo $hold_status_style ?>" <?php echo ($filter_by == "3")? 'selected':""?>><?php echo esc_html_e($hold_status_name,'taskbuilder');?></option> 247 <option value="4" style="<?php echo $completed_status_style ?>" <?php echo ($filter_by == "4")? 'selected':""?>><?php echo esc_html_e($completed_status_name,'taskbuilder');?></option> 248 <option value="mine" <?php echo ($filter_by == "mine")? 'selected':""?>><?php echo esc_html_e('Mine','taskbuilder');?></option> 249 <option value="unassigned" <?php echo ($filter_by == "unassigned")? 'selected':""?>><?php echo esc_html_e('Unassigned','taskbuilder');?></option> 250 <option value="overdue" <?php echo ($filter_by == "overdue")? 'selected':""?>><?php echo esc_html_e('Overdue','taskbuilder');?></option> 251 </select> 252 </div> 253 <div class="wppm-filter-item wppm_project_autocomplete_container"> 254 <label for="wppm_task_list_proj_filter"> 255 <?php echo esc_html_e('Project','taskbuilder');?> 256 </label><br> 257 <select searchable="search here" onchange="wppm_tasks_by_select_project_grid_view()" class="form-control" size="40" name="wppm_task_list_proj_filter" id="wppm_task_list_proj_filter"> 258 <option value="0" <?php echo ($proj_filter == 0)? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 259 <?php 260 if(!empty($projects)){ 261 foreach($projects as $proj) { 262 ?> 263 <option value="<?php echo esc_attr($proj->id)?>" <?php echo ($proj_filter == $proj->id)? 'selected':""?>><?php echo esc_html_e($proj->project_name,'taskbuilder');?></option> 264 <?php } 265 } ?> 266 </select> 267 </div> 268 <div class="wppm_display_submit"> 269 <div class="wppm-filter-actions"> 270 <span class="wppm-link" onclick="wppm_tl_reset_grid_view_filter()"> <?php echo esc_html_e('Reset','taskbuilder');?></span> 271 </div> 272 </div> 272 273 </div> 273 274 </div> 275 <div id="wppm_task_search" style="display:flex;justify-content:flex-end;"> 276 <img width="25px" height="15" class="wppm_task_search_filter_img" style="position: relative;top: 10px;left: 30px;" height="15px" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/search.svg'); ?>" alt="search"> 277 <input type="search" id="wppm_view_task_search_filter" style="margin-right:10px;" name="wppm_view_task_search_filter" class="form-control form-control-sm" aria-controls="selection-datatable" placeholder="<?php echo esc_attr__('Search','taskbuilder');?>" value="<?php echo (!empty($search_tag)) ? esc_attr($search_tag) : "" ?>"> 278 </div> 274 279 </div> 275 <div class="row"> 276 <div class="col-sm-12"> 277 <span id="wppm_list_view_btn" onclick="wppm_get_task_list()"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/listv.svg'); ?>" alt="list"><span style="margin-left:5px;"><?php echo esc_html_e('List view','taskbuilder');?></span></span> 278 </div> 280 <div style="display:flex;justify-content:flex-end;margin-right:10px;"> 281 <span id="wppm_list_view_btn" style="margin: 0 0 -30px 0;" onclick="wppm_get_task_list()"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/listv.svg'); ?>" alt="list"><span style="margin-left:5px;"><?php echo esc_html_e('List view','taskbuilder');?></span></span> 279 282 </div> 280 <div class="wppm_task_container" id="wppm_task_container" >283 <div class="wppm_task_container" id="wppm_task_container" style="display:flex;"> 281 284 <?php 282 285 if(!empty($task_status)){ 283 286 foreach($task_status as $status) { 284 287 ?> 285 <div class="wppm_task_list" id="wppm_task_list_<?php echo esc_attr($status->id)?>" >286 <div class="row">287 <div class="col-sm-12 wppm_card_header" style="background-color:<?php echo esc_attr($status->bg_color)?>;color:<?php echo esc_attr($status->color);?>;">288 <div class="wppm_task_list" id="wppm_task_list_<?php echo esc_attr($status->id)?>" style="display:flex;justify-content:space-between;flex-direction: column;flex-basis: 20%;"> 289 <div> 290 <div style="background-color:<?php echo esc_attr($status->bg_color)?>;color:<?php echo esc_attr($status->color);?>;padding:5px;"> 288 291 <span class="wppm_status_name"><?php echo esc_html_e($status->name,'taskbuilder');?></span> 289 292 <span class="wppm_add_new_icon" onclick="wppm_add_new_task()"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/add_new1.svg'); ?>" alt="add"></span> … … 308 311 if($wppm_task_time == 1){ 309 312 $task_end_date = $task->end_date; 313 $teDate = new DateTime($task->end_date); 314 if($task->end_date=='0000-00-00 00:00:00'){ 315 if($wppm_date_setting=='Y-m-d H:i:s'){ 316 $task_end_date = '0000-00-00 00:00:00'; 317 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 318 $task_end_date = '00-00-0000 00:00:00'; 319 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 320 $task_end_date = '00-00-0000 00:00:00'; 321 }else{ 322 $task_end_date = '0000-00-00 00:00:00'; 323 } 324 }else{ 325 $task_end_date = $teDate->format($wppm_date_setting); 326 } 310 327 }elseif($wppm_task_time == 0){ 311 328 $teDate = new DateTime($task->end_date); 312 329 $task_end_date = $teDate->format('Y-m-d'); 330 if($task->end_date=='0000-00-00 00:00:00'){ 331 if($wppm_date_setting=='Y-m-d H:i:s'){ 332 $task_end_date = '0000-00-00'; 333 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 334 $task_end_date = '00-00-0000'; 335 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 336 $task_end_date = '00-00-0000'; 337 }else{ 338 $task_end_date = '0000-00-00'; 339 } 340 }else{ 341 if($wppm_date_setting=='Y-m-d H:i:s'){ 342 $task_end_date = $teDate->format('Y-m-d'); 343 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 344 $task_end_date = $teDate->format('d-m-Y'); 345 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 346 $task_end_date = $teDate->format('m-d-Y'); 347 }else{ 348 $task_end_date = $teDate->format('Y-m-d'); 349 } 350 } 313 351 } 314 352 if(!empty($task->id)){ … … 326 364 ?> 327 365 <div class="wppm_card_body" style="background-color:<?php echo esc_attr($appearance_settings['grid-background-color'])?>!important;color:<?php echo esc_attr($appearance_settings['grid-header-text-color'])?>!important;" onclick="wppm_open_task(<?php echo esc_attr($task->id)?>)" id="wppm_draggable_card_<?php echo esc_attr($task->id)?>"> 328 <div class="row">329 <div class="col-sm-6">366 <div> 367 <div> 330 368 <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> 331 369 </div> 332 <div class="wppm_card_task_action col-sm-6">370 <div class="wppm_card_task_action"> 333 371 <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> 334 372 <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> … … 339 377 </div> 340 378 </div> 341 <div class="row">342 <div class="col-sm-12">343 <span class="wppm_task_name_grid_view" ><?php echo esc_html_e($task->task_name,'taskbuilder');?></span>379 <div> 380 <div> 381 <span class="wppm_task_name_grid_view" style="margin-left: 5px;"><?php echo esc_html_e($task->task_name,'taskbuilder');?></span> 344 382 <span class="wppm_proj_name_grid_view">(<?php echo isset($project_data['project_name']) ? esc_html_e($project_data['project_name'],'taskbuilder'):"";?>)</span> 345 383 </div> 346 384 </div> 347 <div class="row">348 <div class=" col-sm-6 wppm_task_due_date_grid_view">385 <div> 386 <div class="wppm_task_due_date_grid_view" style="margin-left: 5px;"> 349 387 <?php $style = ($task->status!=4 && $task->end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; ?> 350 388 <small style="<?php echo esc_attr($style); ?>"><?php echo (isset($task_end_date))? esc_html_e($task_end_date,'taskbuilder') :"" ?></small> 351 389 </div> 352 <div class=" col-sm-6" class="wppm_card_task_users" style="text-align:right;">390 <div class="wppm_card_task_users" style="text-align:right;"> 353 391 <?php 354 392 $task_users = explode(',',$task->users); … … 390 428 if($task_per_status==false){ 391 429 ?> 392 <div class="row">393 <div class="col-sm-12 wppm_empty_container">430 <div> 431 <div style="margin-left:5px;font-family: 'OpenSans-Semibold', 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 14px;"> 394 432 <?php echo esc_html_e('Empty','taskbuilder'); ?> 395 433 </div> -
taskbuilder/tags/4.0.4/includes/admin/projects/projects.php
r3079882 r3312666 4 4 } 5 5 $settings = get_option("wppm-ap-modal"); 6 global $wpdb,$wppmfunction,$current_user; 6 7 ?> 8 <?php echo $wppmfunction->wppm_load_setting_header_html(); ?> 7 9 <div class="wppm_bootstrap"> 8 10 <div id="wppm_project_container"> -
taskbuilder/tags/4.0.4/includes/admin/projects/projects_list.php
r3226189 r3312666 7 7 $categories = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_project_categories" ); 8 8 $appearance_settings = get_option("wppm-ap-project-list"); 9 $wppm_date_setting = get_option('wppm_date_setting'); 9 10 $wppm_current_user_capability = get_user_meta( $current_user->ID, 'wppm_capability', true ); 10 11 $proj_per_page = 20; … … 137 138 <div id="wppm_project_list_container" class="wppm_bootstrap"> 138 139 <div class="row"> 139 <div class="col-sm- 6" id="wppm_heading_inline">140 <div class="col-sm-12" id="wppm_heading_inline"> 140 141 <span class="wppm-heading-inline"> 141 142 <?php echo esc_html_e('Projects','taskbuilder');?> … … 145 146 <?php } ?> 146 147 </div> 147 <div id="wppm_project_and_task_search" class="col-sm-6">148 <img width="25px" id="wppm_project_search_filter_img" height="15px" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/search.svg'); ?>" alt="search">149 <input type="search" id="wppm_project_search_filter" name="wppm_project_search_filter" class="form-control form-control-sm" aria-controls="selection-datatable" placeholder="<?php echo esc_attr__('Search','taskbuilder');?>" value="<?php echo (!empty($search_tag)) ? esc_attr($search_tag) : "" ?>">150 </div>151 148 </div> 152 <div class="row"> 153 <div class="col-sm-6" id="wppm_project_filter_container"> 154 <div class="wppm-filter-item"> 155 <label for="wppm_project_filter"> <?php echo esc_html_e('Filter','taskbuilder');?></label> 156 <select id="wppm_project_filter" name="wppm_project_filter" onchange="wppm_apply_project_filter()"> 157 <option value="all"<?php echo ($filter_by == "all")? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 158 <option style="<?php echo $new_style ?>" value="1" <?php echo ($filter_by == "1")? 'selected':""?>><?php echo esc_html_e($new_status_name,'taskbuilder');?></option> 159 <option style="<?php echo $inp_status_style ?>" value="2" <?php echo ($filter_by == "2")? 'selected':""?>><?php echo esc_html_e($inp_status_name,'taskbuilder');?></option> 160 <option style="<?php echo $hold_status_style ?>" value="3" <?php echo ($filter_by == "3")? 'selected':""?>><?php echo esc_html_e($hold_status_name,'taskbuilder');?></option> 161 <option style="<?php echo $complete_status_style ?>" value="4" <?php echo ($filter_by == "4")? 'selected':""?>><?php echo esc_html_e($completed_status_name,'taskbuilder');?></option> 162 <option value="mine" <?php echo ($filter_by == "mine")? 'selected':""?>><?php echo esc_html_e('Mine','taskbuilder');?></option> 163 <option value="unassigned" <?php echo ($filter_by == "unassigned")? 'selected':""?>><?php echo esc_html_e('Unassigned','taskbuilder');?></option> 164 <option value="overdue" <?php echo ($filter_by == "overdue")? 'selected':""?>><?php echo esc_html_e('Overdue','taskbuilder');?></option> 165 </select> 166 </div> 167 <div class="wppm_display_submit"> 168 <div class="wppm-filter-actions"> 169 <span class="wppm-link" onclick="wppm_pl_reset_filter()"> <?php echo esc_html_e('Reset','taskbuilder');?></span> 149 <div style="display:flex;justify-content:space-between;margin-top:20px;flex-wrap: wrap;"> 150 <div style="display:flex;flex-wrap: wrap;"> 151 <div id="wppm_project_filter_container"> 152 <div class="wppm-bulk-actions" style="margin-bottom: 10px;"> 153 <button 154 id="wppm-bulk-actions-btn" 155 class="wppm-button small secondary" 156 type="button" 157 style="display:none;padding:14px;font: 13px Helvetica Neue, Arial, Helvetica, sans-serif !important" 158 data-popover="wppm-bulk-actions"> 159 <?php esc_attr_e( 'Bulk Actions ', 'taskbuilder' ); ?><img style="color:#313042" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/wppm_chevron_down_icon.svg'); ?>" alt="chevron_down"> 160 </button> 161 <div id="wppm-bulk-actions" class="gpopover wppm-popover-menu wppm-proj-bulk-actions"> 162 <div class="wppm-popover-menu-item" onclick="wppm_bulk_change_status('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_change_status' ) ); ?>');"> 163 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/gps-navigation.svg'); ?>" alt="status"><?php echo esc_html_e('Change Status','taskbuilder'); ?></span> 164 </div> 165 <div class="wppm-popover-menu-item" onclick="wppm_bulk_change_category('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_change_category' ) ); ?>');"> 166 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/tags.svg'); ?>" alt="category"><?php echo esc_html_e('Change Category','taskbuilder'); ?></span> 167 </div> 168 <div class="wppm-popover-menu-item" onclick="wppm_bulk_assign_users('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_assign_users' ) ); ?>');"> 169 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/users.svg'); ?>" alt="users"><?php echo esc_html_e('Assign Co-workers','taskbuilder'); ?></span> 170 </div> 171 <div class="wppm-popover-menu-item" onclick="wppm_bulk_delete_project('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_assign_users' ) ); ?>');"> 172 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/trash-alt-solid.svg'); ?>" alt="delete"><?php echo esc_html_e('Delete','taskbuilder'); ?></span> 173 </div> 174 </div> 175 </div> 176 <div class="wppm-filter-item"> 177 <label for="wppm_project_filter"> <?php echo esc_html_e('Filter','taskbuilder');?></label> 178 <select id="wppm_project_filter" name="wppm_project_filter" onchange="wppm_apply_project_filter()"> 179 <option value="all"<?php echo ($filter_by == "all")? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 180 <option style="<?php echo $new_style ?>" value="1" <?php echo ($filter_by == "1")? 'selected':""?>><?php echo esc_html_e($new_status_name,'taskbuilder');?></option> 181 <option style="<?php echo $inp_status_style ?>" value="2" <?php echo ($filter_by == "2")? 'selected':""?>><?php echo esc_html_e($inp_status_name,'taskbuilder');?></option> 182 <option style="<?php echo $hold_status_style ?>" value="3" <?php echo ($filter_by == "3")? 'selected':""?>><?php echo esc_html_e($hold_status_name,'taskbuilder');?></option> 183 <option style="<?php echo $complete_status_style ?>" value="4" <?php echo ($filter_by == "4")? 'selected':""?>><?php echo esc_html_e($completed_status_name,'taskbuilder');?></option> 184 <option value="mine" <?php echo ($filter_by == "mine")? 'selected':""?>><?php echo esc_html_e('Mine','taskbuilder');?></option> 185 <option value="unassigned" <?php echo ($filter_by == "unassigned")? 'selected':""?>><?php echo esc_html_e('Unassigned','taskbuilder');?></option> 186 <option value="overdue" <?php echo ($filter_by == "overdue")? 'selected':""?>><?php echo esc_html_e('Overdue','taskbuilder');?></option> 187 </select> 188 </div> 189 <div class="wppm_display_submit"> 190 <div class="wppm-filter-actions"> 191 <span class="wppm-link" onclick="wppm_pl_reset_filter()"> <?php echo esc_html_e('Reset','taskbuilder');?></span> 192 </div> 170 193 </div> 171 194 </div> 172 195 </div> 173 </div> 174 <div class="row"> 175 <div class="col-sm-12"> 176 <div class="wppm-bulk-actions"> 177 <button 178 id="wppm-bulk-actions-btn" 179 class="wppm-button small secondary" 180 type="button" 181 style="display:none" 182 data-popover="wppm-bulk-actions"> 183 <?php esc_attr_e( 'Bulk Actions ', 'taskbuilder' ); ?><img style="color:#313042" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/wppm_chevron_down_icon.svg'); ?>" alt="chevron_down"> 184 </button> 185 <div id="wppm-bulk-actions" class="gpopover wppm-popover-menu wppm-proj-bulk-actions"> 186 <div class="wppm-popover-menu-item" onclick="wppm_bulk_change_status('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_change_status' ) ); ?>');"> 187 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/gps-navigation.svg'); ?>" alt="status"><?php echo esc_html_e('Change Status','taskbuilder'); ?></span> 188 </div> 189 <div class="wppm-popover-menu-item" onclick="wppm_bulk_change_category('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_change_category' ) ); ?>');"> 190 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/tags.svg'); ?>" alt="category"><?php echo esc_html_e('Change Category','taskbuilder'); ?></span> 191 </div> 192 <div class="wppm-popover-menu-item" onclick="wppm_bulk_assign_users('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_assign_users' ) ); ?>');"> 193 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/users.svg'); ?>" alt="users"><?php echo esc_html_e('Assign Co-workers','taskbuilder'); ?></span> 194 </div> 195 <div class="wppm-popover-menu-item" onclick="wppm_bulk_delete_project('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_assign_users' ) ); ?>');"> 196 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/trash-alt-solid.svg'); ?>" alt="delete"><?php echo esc_html_e('Delete','taskbuilder'); ?></span> 197 </div> 198 </div> 199 </div> 200 </div> 196 <div id="wppm_project_and_task_search" style="display:flex;justify-content:flex-end;"> 197 <img width="25px" id="wppm_project_search_filter_img" style="position: relative;top: 10px;left: 30px;" height="15px" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/search.svg'); ?>" alt="search"> 198 <input type="search" id="wppm_project_search_filter" style="margin-right:10px;" name="wppm_project_search_filter" class="form-control form-control-sm" aria-controls="selection-datatable" placeholder="<?php echo esc_attr__('Search','taskbuilder');?>" value="<?php echo (!empty($search_tag)) ? esc_attr($search_tag) : "" ?>"> 199 </div> 201 200 </div> 202 201 <script> … … 276 275 } 277 276 if($wppm_project_time == 1){ 278 $proj_start_date = $project->start_date; 279 $proj_end_date = $project->end_date; 277 $psDate = new DateTime($project->start_date); 278 $peDate = new DateTime($project->end_date); 279 if($project->start_date=='0000-00-00 00:00:00'){ 280 if($wppm_date_setting=='Y-m-d H:i:s'){ 281 $proj_start_date = '0000-00-00 00:00:00'; 282 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 283 $proj_start_date = '00-00-0000 00:00:00'; 284 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 285 $proj_start_date = '00-00-0000 00:00:00'; 286 }else{ 287 $proj_start_date = '0000-00-00 00:00:00'; 288 } 289 }if($project->end_date=='0000-00-00 00:00:00'){ 290 if($wppm_date_setting=='Y-m-d H:i:s'){ 291 $proj_end_date = '0000-00-00 00:00:00'; 292 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 293 $proj_end_date = '00-00-0000 00:00:00'; 294 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 295 $proj_end_date = '00-00-0000 00:00:00'; 296 }else{ 297 $proj_end_date = '0000-00-00 00:00:00'; 298 } 299 }else{ 300 if(!empty($wppm_date_setting)){ 301 $proj_start_date = $psDate->format($wppm_date_setting); 302 $proj_end_date = $peDate->format($wppm_date_setting); 303 }else{ 304 $proj_start_date = isset($project->start_date)? $project->start_date:""; 305 $proj_end_date = isset($project->end_date) ? $project->end_date: "" ; 306 } 307 } 280 308 } elseif($wppm_project_time == 0){ 281 309 $psDate = new DateTime($project->start_date); … … 283 311 $proj_start_date = $psDate->format('Y-m-d'); 284 312 $proj_end_date = $peDate->format('Y-m-d'); 313 if($project->start_date=='0000-00-00 00:00:00'){ 314 if($wppm_date_setting=='Y-m-d H:i:s'){ 315 $proj_start_date = '0000-00-00'; 316 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 317 $proj_start_date = '00-00-0000'; 318 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 319 $proj_start_date = '00-00-0000'; 320 }else{ 321 $proj_start_date = '0000-00-00'; 322 } 323 } 324 if($project->end_date=='0000-00-00 00:00:00'){ 325 if($wppm_date_setting=='Y-m-d H:i:s'){ 326 $proj_end_date = '0000-00-00'; 327 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 328 $proj_end_date = '00-00-0000'; 329 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 330 $proj_end_date = '00-00-0000'; 331 }else{ 332 $proj_end_date = '0000-00-00'; 333 } 334 }else{ 335 if($wppm_date_setting=='Y-m-d H:i:s'){ 336 $proj_start_date = $psDate->format('Y-m-d'); 337 $proj_end_date = $peDate->format('Y-m-d'); 338 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 339 $proj_start_date = $psDate->format('d-m-Y'); 340 $proj_end_date = $peDate->format('d-m-Y'); 341 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 342 $proj_start_date = $psDate->format('m-d-Y'); 343 $proj_end_date = $peDate->format('m-d-Y'); 344 }else{ 345 $proj_start_date = $psDate->format('Y-m-d'); 346 $proj_end_date = $peDate->format('Y-m-d'); 347 } 348 } 285 349 } 286 350 ?> -
taskbuilder/tags/4.0.4/includes/admin/projects/wppm_open_project.php
r3254059 r3312666 12 12 $wppm_rich_text_editor = get_option('wppm_rich_text_editor'); 13 13 $wppm_toolbar_actions = get_option('wppm_toolbar_actions'); 14 $wppm_date_setting = get_option('wppm_date_setting'); 14 15 $wppm_current_user_capability = get_user_meta( $current_user->ID, 'wppm_capability', true ); 15 16 $current_date = date('Y-m-d'); … … 48 49 } 49 50 if($wppm_project_time == 1){ 50 $proj_start_date = isset($project->start_date)? $project->start_date:""; 51 $proj_end_date = isset($project->end_date) ? $project->end_date: "" ; 51 $psDate = new DateTime($project->start_date); 52 $peDate = new DateTime($project->end_date); 53 if($project->start_date=='0000-00-00 00:00:00'){ 54 if($wppm_date_setting=='Y-m-d H:i:s'){ 55 $proj_start_date = '0000-00-00 00:00:00'; 56 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 57 $proj_start_date = '00-00-0000 00:00:00'; 58 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 59 $proj_start_date = '00-00-0000 00:00:00'; 60 }else{ 61 $proj_start_date = '0000-00-00 00:00:00'; 62 } 63 }if($project->end_date=='0000-00-00 00:00:00'){ 64 if($wppm_date_setting=='Y-m-d H:i:s'){ 65 $proj_end_date = '0000-00-00 00:00:00'; 66 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 67 $proj_end_date = '00-00-0000 00:00:00'; 68 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 69 $proj_end_date = '00-00-0000 00:00:00'; 70 }else{ 71 $proj_end_date = '0000-00-00 00:00:00'; 72 } 73 }else{ 74 if(!empty($wppm_date_setting)){ 75 $proj_start_date = $psDate->format($wppm_date_setting); 76 $proj_end_date = $peDate->format($wppm_date_setting); 77 }else{ 78 $proj_start_date = isset($project->start_date)? $project->start_date:""; 79 $proj_end_date = isset($project->end_date) ? $project->end_date: "" ; 80 } 81 } 52 82 } elseif($wppm_project_time == 0){ 53 83 $psDate = isset($project->start_date) ? new DateTime($project->start_date): ""; 54 84 $peDate = isset($project->end_date) ? new DateTime($project->end_date):""; 55 $proj_start_date = !empty($psDate) ? $psDate->format('Y-m-d'):""; 56 $proj_end_date = !empty($peDate) ? $peDate->format('Y-m-d'):""; 85 $proj_start_date = !empty($psDate) ? $psDate->format( 'Y-m-d'):""; 86 $proj_end_date = !empty($peDate) ? $peDate->format( 'Y-m-d'):""; 87 if($project->start_date=='0000-00-00 00:00:00'){ 88 if($wppm_date_setting=='Y-m-d H:i:s'){ 89 $proj_start_date = '0000-00-00'; 90 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 91 $proj_start_date = '00-00-0000'; 92 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 93 $proj_start_date = '00-00-0000'; 94 }else{ 95 $proj_start_date = '0000-00-00'; 96 } 97 } 98 if($project->end_date=='0000-00-00 00:00:00'){ 99 if($wppm_date_setting=='Y-m-d H:i:s'){ 100 $proj_end_date = '0000-00-00'; 101 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 102 $proj_end_date = '00-00-0000'; 103 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 104 $proj_end_date = '00-00-0000'; 105 }else{ 106 $proj_end_date = '0000-00-00'; 107 } 108 }else{ 109 if($wppm_date_setting=='Y-m-d H:i:s'){ 110 $proj_start_date = $psDate->format('Y-m-d'); 111 $proj_end_date = $peDate->format('Y-m-d'); 112 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 113 $proj_start_date = $psDate->format('d-m-Y'); 114 $proj_end_date = $peDate->format('d-m-Y'); 115 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 116 $proj_start_date = $psDate->format('m-d-Y'); 117 $proj_end_date = $peDate->format('m-d-Y'); 118 }else{ 119 $proj_start_date = !empty($psDate) ? $psDate->format( 'Y-m-d'):""; 120 $proj_end_date = !empty($peDate) ? $peDate->format( 'Y-m-d'):""; 121 } 122 } 57 123 } 58 124 $project_data = $wppmfunction->get_project($id); … … 101 167 <span class="wppm_project_details_label"><?php echo esc_html_e('Created On:','taskbuilder');?></span> 102 168 </div> 103 <div class="col-sm-9"> 104 <span class="wppm_project_details"><?php echo isset($project->date_created) ? esc_html($project->date_created):"" ?></span> 169 <div class="col-sm-9"><?php 170 $pcDate = isset($project->date_created) ? new DateTime($project->date_created): ""; 171 if($wppm_project_time !=0){ 172 if($wppm_date_setting=='Y-m-d H:i:s'){ 173 $proj_create_date = !empty($pcDate) ? $pcDate->format('Y-m-d H:i:s'):""; 174 } elseif($wppm_date_setting=='d-m-Y H:i:s'){ 175 $proj_create_date = !empty($pcDate) ? $pcDate->format('d-m-Y H:i:s'):""; 176 } elseif($wppm_date_setting=='m-d-Y H:i:s'){ 177 $proj_create_date = !empty($pcDate) ? $pcDate->format('m-d-Y H:i:s'):""; 178 } else { 179 $proj_create_date = !empty($pcDate) ? $pcDate->format('Y-m-d H:i:s'):""; 180 } 181 } elseif($wppm_project_time == 0){ 182 if($wppm_date_setting=='Y-m-d H:i:s'){ 183 $proj_create_date = !empty($pcDate) ? $pcDate->format('Y-m-d'):""; 184 } elseif($wppm_date_setting=='d-m-Y H:i:s'){ 185 $proj_create_date = !empty($pcDate) ? $pcDate->format('d-m-Y'):""; 186 } elseif($wppm_date_setting=='m-d-Y H:i:s'){ 187 $proj_create_date = !empty($pcDate) ? $pcDate->format('m-d-Y'):""; 188 } else { 189 $proj_create_date = !empty($pcDate) ? $pcDate->format('Y-m-d'):""; 190 } 191 } ?> 192 <span class="wppm_project_details"><?php echo isset($proj_create_date) ? esc_html($proj_create_date):"" ?></span> 105 193 </div> 106 194 </div> -
taskbuilder/tags/4.0.4/includes/admin/settings/wppm_get_general_settings.php
r3174963 r3312666 12 12 $wppm_ap_settings = get_option("wppm-ap-settings"); 13 13 $wppm_edit_tasks_permission = get_option('wppm_default_edit_tasks_permission'); 14 $wppm_date_setting = get_option('wppm_date_setting'); 14 15 $project_statuses = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}wppm_project_statuses"); 15 16 $task_statuses = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}wppm_task_statuses"); … … 82 83 <hr> 83 84 <span> 85 <label><?php echo esc_html_e('Default date format','taskbuilder');?></label> 86 </span><br> 87 <select class="form-control" name="wppm_date_setting" id="wppm_date_setting"><?php 88 $selected = $wppm_date_setting == 'Y-m-d H:i:s' ? 'selected="selected"' : ''; 89 echo '<option '.$selected.' value="Y-m-d H:i:s">'. ('Y-m-d H:i:s').'</option>'; 90 $selected = $wppm_date_setting == 'd-m-Y H:i:s' ? 'selected="selected"' : ''; 91 echo '<option '.$selected.' value="d-m-Y H:i:s">'. ('d-m-Y H:i:s').'</option>'; 92 $selected = $wppm_date_setting == 'm-d-Y H:i:s' ? 'selected="selected"' : ''; 93 echo '<option '.$selected.' value="m-d-Y H:i:s">'. ('m-d-Y H:i:s').'</option>';?> 94 </select> 95 <br> 96 <hr> 97 <span> 84 98 <label><?php echo esc_html_e('Allow co-workers to edit tasks','taskbuilder');?></label> 85 99 </span><br> -
taskbuilder/tags/4.0.4/includes/admin/settings/wppm_set_add_category.php
r3210469 r3312666 16 16 $values=array( 17 17 'name'=>esc_sql($cat_name), 18 'load_order'=> esc_sql(++$load_order)18 'load_order'=> isset($load_order) ? esc_sql(++$load_order) :"" 19 19 ); 20 20 $wpdb->insert($wpdb->prefix.'wppm_project_categories',$values); -
taskbuilder/tags/4.0.4/includes/admin/settings/wppm_set_general_settings.php
r3174963 r3312666 31 31 $wppm_tinymce_visibility_open_task = isset($_POST) && isset(($_POST['wppm_tinymce_visibility_open_task'])) ? sanitize_text_field($_POST['wppm_tinymce_visibility_open_task']) : '1'; 32 32 update_option('wppm_tinymce_visibility_open_task',$wppm_tinymce_visibility_open_task); 33 $wppm_date_setting = isset($_POST) && isset(($_POST['wppm_date_setting'])) ? sanitize_text_field($_POST['wppm_date_setting']) : 'Y-m-d H:i:s'; 34 update_option('wppm_date_setting',$wppm_date_setting); 33 35 do_action('wppm_set_general_settings'); 34 36 -
taskbuilder/tags/4.0.4/includes/admin/tasks/open_task/wppm_open_task.php
r3286301 r3312666 14 14 $wppm_rich_text_editor = get_option('wppm_rich_text_editor'); 15 15 $wppm_toolbar_actions = get_option('wppm_toolbar_actions'); 16 $wppm_date_setting = get_option('wppm_date_setting'); 16 17 $url_auth = false; 17 18 $auth_id = $wppmfunction->wppm_get_auth_code($id); … … 66 67 67 68 if($wppm_task_time == 1){ 68 $task_start_date = $task->start_date; 69 $task_end_date = $task->end_date; 69 $tsDate = new DateTime($task->start_date); 70 $teDate = new DateTime($task->end_date); 71 if($task->start_date=='0000-00-00 00:00:00'){ 72 if($wppm_date_setting=='Y-m-d H:i:s'){ 73 $task_start_date = '0000-00-00 00:00:00'; 74 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 75 $task_start_date = '00-00-0000 00:00:00'; 76 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 77 $task_start_date = '00-00-0000 00:00:00'; 78 }else{ 79 $task_start_date = '0000-00-00 00:00:00'; 80 } 81 }if($task->end_date=='0000-00-00 00:00:00'){ 82 if($wppm_date_setting=='Y-m-d H:i:s'){ 83 $task_end_date = '0000-00-00 00:00:00'; 84 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 85 $task_end_date = '00-00-0000 00:00:00'; 86 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 87 $task_end_date = '00-00-0000 00:00:00'; 88 }else{ 89 $task_end_date = '0000-00-00 00:00:00'; 90 } 91 }else{ 92 if(!empty($wppm_date_setting)){ 93 $task_start_date = $tsDate->format($wppm_date_setting); 94 $task_end_date = $teDate->format($wppm_date_setting); 95 }else{ 96 $task_start_date = isset($task->start_date)? $task->start_date:""; 97 $task_end_date = isset($task->end_date) ? $task->end_date: "" ; 98 } 99 } 70 100 } elseif($wppm_task_time == 0){ 71 $tsDate = new DateTime($task->start_date); 72 $teDate = new DateTime($task->end_date); 73 $task_start_date = $tsDate->format('Y-m-d'); 74 $task_end_date = $teDate->format('Y-m-d'); 101 $tsDate = isset($task->start_date) ? new DateTime($task->start_date): ""; 102 $teDate = isset($task->end_date) ? new DateTime($task->end_date):""; 103 $task_start_date = !empty($tsDate) ? $tsDate->format( $wppm_date_setting):""; 104 $task_end_date = !empty($teDate) ? $teDate->format( $wppm_date_setting):""; 105 if($task->start_date=='0000-00-00 00:00:00'){ 106 if($wppm_date_setting=='Y-m-d H:i:s'){ 107 $task_start_date = '0000-00-00'; 108 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 109 $task_start_date = '00-00-0000'; 110 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 111 $task_start_date = '00-00-0000'; 112 }else{ 113 $task_start_date = '0000-00-00'; 114 } 115 } 116 if($task->end_date=='0000-00-00 00:00:00'){ 117 if($wppm_date_setting=='Y-m-d H:i:s'){ 118 $task_end_date = '0000-00-00'; 119 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 120 $task_end_date = '00-00-0000'; 121 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 122 $task_end_date = '00-00-0000'; 123 } 124 else{ 125 $task_end_date = '0000-00-00'; 126 } 127 }else{ 128 if($wppm_date_setting=='Y-m-d H:i:s'){ 129 $task_start_date = $tsDate->format('Y-m-d'); 130 $task_end_date = $teDate->format('Y-m-d'); 131 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 132 $task_start_date = $tsDate->format('d-m-Y'); 133 $task_end_date = $teDate->format('d-m-Y'); 134 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 135 $task_start_date = $tsDate->format('m-d-Y'); 136 $task_end_date = $teDate->format('m-d-Y'); 137 }else{ 138 $task_start_date = $tsDate->format('Y-m-d'); 139 $task_end_date = $teDate->format('Y-m-d'); 140 } 141 } 75 142 } 76 143 $flag = false; … … 154 221 <span class="wppm_task_details_label"><?php echo esc_html_e('Created On:','taskbuilder');?></span> 155 222 </div> 156 <div class="col-sm-9"> 157 <span class="wppm_task_details"><?php echo (isset($task->date_created))? esc_html($task->date_created):"" ?></span> 223 <div class="col-sm-9"><?php 224 $tcDate = isset($task->date_created) ? new DateTime($task->date_created): ""; 225 if($wppm_task_time !=0){ 226 if($wppm_date_setting=='Y-m-d H:i:s'){ 227 $task_create_date = !empty($tcDate) ? $tcDate->format('Y-m-d H:i:s'):""; 228 } elseif($wppm_date_setting=='d-m-Y H:i:s'){ 229 $task_create_date = !empty($tcDate) ? $tcDate->format('d-m-Y H:i:s'):""; 230 } elseif($wppm_date_setting=='m-d-Y H:i:s'){ 231 $task_create_date = !empty($tcDate) ? $tcDate->format('m-d-Y H:i:s'):""; 232 } else { 233 $task_create_date = !empty($tcDate) ? $tcDate->format('Y-m-d H:i:s'):""; 234 } 235 } elseif($wppm_task_time == 0){ 236 if($wppm_date_setting=='Y-m-d H:i:s'){ 237 $task_create_date = !empty($tcDate) ? $tcDate->format('Y-m-d'):""; 238 } elseif($wppm_date_setting=='d-m-Y H:i:s'){ 239 $task_create_date = !empty($tcDate) ? $tcDate->format('d-m-Y'):""; 240 } elseif($wppm_date_setting=='m-d-Y H:i:s'){ 241 $task_create_date = !empty($tcDate) ? $tcDate->format('m-d-Y'):""; 242 } else { 243 $task_create_date = !empty($tcDate) ? $tcDate->format('Y-m-d'):""; 244 } 245 } ?> 246 <span class="wppm_task_details"><?php echo (isset($task_create_date))? esc_html($task_create_date):"" ?></span> 158 247 </div> 159 248 </div> -
taskbuilder/tags/4.0.4/includes/admin/tasks/wppm_tasks.php
r3254059 r3312666 5 5 $wppm_default_task_list_view = get_option('wppm_default_task_list_view'); 6 6 $settings = get_option("wppm-ap-modal"); 7 ?> 7 global $wpdb,$wppmfunction,$current_user; 8 echo $wppmfunction->wppm_load_setting_header_html(); ?> 8 9 <div class="wppm_bootstrap"> 9 10 <div id="wppm_task_container"> -
taskbuilder/tags/4.0.4/includes/admin/tasks/wppm_tasks_list.php
r3286301 r3312666 16 16 $wppm_create_tasks_coworkers_permission = get_option('wppm_allow_coworkers_create_task'); 17 17 $orderby_proj_sql = esc_sql(sanitize_sql_orderby( "project_name" )); 18 $wppm_date_setting = get_option('wppm_date_setting'); 18 19 $proj_attr = esc_sql($proj_attr); 19 20 $is_frontend = 0; … … 245 246 ?> 246 247 <form id="wppm_task_list_frm"> 247 <div id="wppm_task_list_container" >248 <div id="wppm_task_list_container" class="wppm_bootstrap"> 248 249 <div class="row"> 249 <div class="col-sm- 6">250 <div class="col-sm-12" id="wppm_heading_inline"> 250 251 <span class="wppm-heading-inline"> <?php echo esc_html_e('Tasks','taskbuilder');?> </span> 251 252 <span class="wppm-add-new-btn btn-primary" id="wppm_add_new_task_btn_tl" style="background-color:<?php echo $appearance_settings['list-header-button-background-color']?>;color:<?php echo $appearance_settings['list-header-button-text-color']?>;<?php echo $style?>" onclick="wppm_add_new_task()"><img class="wppm_add_new_task_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/plus_icon.svg'); ?>" alt="add_icon"><?php echo esc_html_e('Add New','taskbuilder');?></span> 252 253 </div> 253 <div id="wppm_task_search" class="col-sm-6">254 <input type="search" id="wppm_task_search_filter" name="wppm_task_search_filter" class="form-control form-control-sm" aria-controls="selection-datatable" placeholder="<?php echo esc_attr__('Search','taskbuilder');?>" value="<?php echo (!empty($search_tag)) ? esc_attr($search_tag) : "" ?>">255 <img width="25" height="15" class="wppm_task_search_filter_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/search.svg'); ?>" alt="search">256 </div>257 254 </div> 258 <div id="wppm_task_filter_container"> 259 <div class="wppm-filter-item"> 260 <label for="wppm_task_filter"> <?php echo esc_html_e('Filter','taskbuilder');?></label> 261 <select id="wppm_task_filter" name="wppm_task_filter" onchange="wppm_apply_task_filter()"> 262 <option value="all"<?php echo ($filter_by == "all")? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 263 <option value="1" style="<?php echo $todo_status_style ?>" <?php echo ($filter_by == "1")? 'selected':""?>><?php echo esc_html_e($todo_status_name,'taskbuilder');?></option> 264 <option value="2" style="<?php echo $inp_status_style ?>" <?php echo ($filter_by == "2")? 'selected':""?>><?php echo esc_html_e($inp_status_name,'taskbuilder');?></option> 265 <option value="3" style="<?php echo $hold_status_style ?>" <?php echo ($filter_by == "3")? 'selected':""?>><?php echo esc_html_e($hold_status_name,'taskbuilder');?></option> 266 <option value="4" style="<?php echo $completed_status_style ?>" <?php echo ($filter_by == "4")? 'selected':""?>><?php echo esc_html_e($completed_status_name,'taskbuilder');?></option> 267 <option value="mine" <?php echo ($filter_by == "mine")? 'selected':""?>><?php echo esc_html_e('Mine','taskbuilder');?></option> 268 <option value="unassigned" <?php echo ($filter_by == "unassigned")? 'selected':""?>><?php echo esc_html_e('Unassigned','taskbuilder');?></option> 269 <option value="overdue" <?php echo ($filter_by == "overdue")? 'selected':""?>><?php echo esc_html_e('Overdue','taskbuilder');?></option> 270 </select> 271 </div> 272 <div class="wppm-filter-item wppm_project_autocomplete_container"> 273 <label for="wppm_task_list_proj_filter"> 274 <?php echo esc_html_e('Project','taskbuilder');?> 275 </label><br> 276 <select searchable="search here" onchange="wppm_tasks_by_select_project()" class="form-control" size="40" name="wppm_task_list_proj_filter" id="wppm_task_list_proj_filter" data-width="100%" style="width: 100%!important;"> 277 <option value="0" <?php echo ($proj_filter == 0)? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 278 <?php 279 if(!empty($projects)){ 280 foreach($projects as $proj) { 281 ?> 282 <option value="<?php echo esc_attr($proj->id)?>" <?php echo ($proj_filter == $proj->id)? 'selected':""?>><?php echo esc_html_e($proj->project_name,'taskbuilder');?></option> 283 <?php } 284 } ?> 285 </select> 286 </div> 287 <div class="wppm_display_submit"> 288 <div class="wppm-filter-actions"> 289 <span class="wppm-link" onclick="wppm_tl_reset_filter()"> <?php echo esc_html_e('Reset','taskbuilder');?></span> 290 </div> 291 </div> 292 </div> 293 <div class="row"> 294 <div class="col-sm-6"> 295 <div class="wppm-bulk-actions" style=" margin-left: -14px !important;"> 255 <div style="display:flex;justify-content:space-between;margin-top:20px;flex-wrap: wrap;"> 256 <div style="display:flex;flex-wrap: wrap;min-width: 0; max-width: 100%; "> 257 <div id="wppm_task_filter_container"> 258 <div class="wppm-bulk-actions"style="margin-left: -14px !important;"> 296 259 <button 297 260 id="wppm-task-bulk-actions-btn" 298 261 class="wppm-button small secondary" 299 262 type="button" 300 style="display:none "263 style="display:none;margin: 14px -20px 0px 22px; padding:14px;font: 13px Helvetica Neue, Arial, Helvetica, sans-serif !important;" 301 264 data-popover="wppm-task-bulk-actions"> 302 265 <?php esc_attr_e( 'Bulk Actions ', 'taskbuilder' ); ?><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/wppm_chevron_down_icon.svg'); ?>" alt="chevron_down"> … … 312 275 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/trash-alt-solid.svg'); ?>" alt="delete"><?php echo esc_html_e('Delete Tasks','taskbuilder'); ?></span> 313 276 </div> 277 </div> 278 <div class="wppm-filter-item"> 279 <label for="wppm_task_filter" style="margin-left:20px;"> <?php echo esc_html_e('Filter','taskbuilder');?></label> 280 <select id="wppm_task_filter" name="wppm_task_filter" onchange="wppm_apply_task_filter()" style="margin-left:20px;"> 281 <option value="all"<?php echo ($filter_by == "all")? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 282 <option value="1" style="<?php echo $todo_status_style ?>" <?php echo ($filter_by == "1")? 'selected':""?>><?php echo esc_html_e($todo_status_name,'taskbuilder');?></option> 283 <option value="2" style="<?php echo $inp_status_style ?>" <?php echo ($filter_by == "2")? 'selected':""?>><?php echo esc_html_e($inp_status_name,'taskbuilder');?></option> 284 <option value="3" style="<?php echo $hold_status_style ?>" <?php echo ($filter_by == "3")? 'selected':""?>><?php echo esc_html_e($hold_status_name,'taskbuilder');?></option> 285 <option value="4" style="<?php echo $completed_status_style ?>" <?php echo ($filter_by == "4")? 'selected':""?>><?php echo esc_html_e($completed_status_name,'taskbuilder');?></option> 286 <option value="mine" <?php echo ($filter_by == "mine")? 'selected':""?>><?php echo esc_html_e('Mine','taskbuilder');?></option> 287 <option value="unassigned" <?php echo ($filter_by == "unassigned")? 'selected':""?>><?php echo esc_html_e('Unassigned','taskbuilder');?></option> 288 <option value="overdue" <?php echo ($filter_by == "overdue")? 'selected':""?>><?php echo esc_html_e('Overdue','taskbuilder');?></option> 289 </select> 290 </div> 314 291 </div> 292 </div> 293 <div class="wppm-filter-item wppm_project_autocomplete_container" style="margin: 0 0 0 28px;"> 294 <label for="wppm_task_list_proj_filter"> 295 <?php echo esc_html_e('Project','taskbuilder');?> 296 </label><br> 297 <select searchable="search here" onchange="wppm_tasks_by_select_project()" class="form-control" size="40" name="wppm_task_list_proj_filter" id="wppm_task_list_proj_filter" data-width="100%" style="width: 100%!important;"> 298 <option value="0" <?php echo ($proj_filter == 0)? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 299 <?php 300 if(!empty($projects)){ 301 foreach($projects as $proj) { 302 ?> 303 <option value="<?php echo esc_attr($proj->id)?>" <?php echo ($proj_filter == $proj->id)? 'selected':""?>><?php echo esc_html_e($proj->project_name,'taskbuilder');?></option> 304 <?php } 305 } ?> 306 </select> 307 </div> 308 <div class="wppm_display_submit" style="margin: 0 0 -5px 10px;"> 309 <div class="wppm-filter-actions"> 310 <span class="wppm-link" onclick="wppm_tl_reset_filter()"> <?php echo esc_html_e('Reset','taskbuilder');?></span> 311 </div> 312 </div> 313 </div> 314 <div id="wppm_task_search" style="display:flex;justify-content:flex-end;"> 315 <img width="25px" height="15" class="wppm_task_search_filter_img" style="position: relative;top: 10px;left: 30px;" height="15px" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/search.svg'); ?>" alt="search"> 316 <input type="search" id="wppm_task_search_filter" style="margin-right:10px;" name="wppm_task_search_filter" class="form-control form-control-sm" aria-controls="selection-datatable" placeholder="<?php echo esc_attr__('Search','taskbuilder');?>" value="<?php echo (!empty($search_tag)) ? esc_attr($search_tag) : "" ?>"> 315 317 </div> 316 318 </div> 317 <div class="col-sm-6">318 <span id="wppm_grid_view_btn" onclick="wppm_view_task_search_filter(<?php echo esc_attr($page_no)?>)"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/grid_view.svg'); ?>" alt="grid_view"><span><?php echo esc_html_e('Grid view','taskbuilder');?></span></span>319 </div>320 319 </div> 320 <div style="display:flex;justify-content:flex-end;margin-right: 10px;"> 321 <span id="wppm_grid_view_btn" onclick="wppm_view_task_search_filter(<?php echo esc_attr($page_no)?>)"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/grid_view.svg'); ?>" alt="grid_view"><span><?php echo esc_html_e('Grid view','taskbuilder');?></span></span> 322 </div> 323 </div> 321 324 <script> 322 325 jQuery('#wppm-more-actions-btn, #wppm-task-bulk-actions-btn').gpopover({width: 200}); 323 326 </script> 324 <div id="wppm_task_table_container" class="wppm_task_table_container table-responsive" >327 <div id="wppm_task_table_container" class="wppm_task_table_container table-responsive" style="padding: 0 15px 15px 15px;"> 325 328 <table id="wppm_task_table" class="wppm_table table"> 326 329 <thead> … … 408 411 } 409 412 if($wppm_task_time == 1){ 410 $task_start_date = $task->start_date; 411 $task_end_date = $task->end_date; 413 $tsDate = new DateTime($task->start_date); 414 $teDate = new DateTime($task->end_date); 415 if($task->start_date=='0000-00-00 00:00:00'){ 416 if($wppm_date_setting=='Y-m-d H:i:s'){ 417 $task_start_date = '0000-00-00 00:00:00'; 418 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 419 $task_start_date = '00-00-0000 00:00:00'; 420 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 421 $task_start_date = '00-00-0000 00:00:00'; 422 }else{ 423 $task_start_date = '0000-00-00 00:00:00'; 424 } 425 }if($task->end_date=='0000-00-00 00:00:00'){ 426 if($wppm_date_setting=='Y-m-d H:i:s'){ 427 $task_end_date = '0000-00-00 00:00:00'; 428 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 429 $task_end_date = '00-00-0000 00:00:00'; 430 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 431 $task_end_date = '00-00-0000 00:00:00'; 432 }else{ 433 $task_end_date = '0000-00-00 00:00:00'; 434 } 435 }else{ 436 if(!empty($wppm_date_setting)){ 437 $task_start_date = $tsDate->format($wppm_date_setting); 438 $task_end_date = $teDate->format($wppm_date_setting); 439 } else { 440 $task_start_date = isset($task->start_date)? $task->start_date:""; 441 $task_end_date = isset($task->end_date) ? $task->end_date: "" ; 442 } 443 } 412 444 } elseif($wppm_task_time == 0){ 413 445 $tsDate = new DateTime($task->start_date); … … 415 447 $task_start_date = $tsDate->format('Y-m-d'); 416 448 $task_end_date = $teDate->format('Y-m-d'); 449 if($task->start_date=='0000-00-00 00:00:00'){ 450 if($wppm_date_setting=='Y-m-d H:i:s'){ 451 $task_start_date = '0000-00-00'; 452 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 453 $task_start_date = '00-00-0000'; 454 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 455 $task_start_date = '00-00-0000'; 456 }else{ 457 $task_start_date = '0000-00-00'; 458 } 459 } 460 if($task->end_date=='0000-00-00 00:00:00'){ 461 if($wppm_date_setting=='Y-m-d H:i:s'){ 462 $task_end_date = '0000-00-00'; 463 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 464 $task_end_date = '00-00-0000'; 465 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 466 $task_end_date = '00-00-0000'; 467 }else{ 468 $task_end_date = '0000-00-00'; 469 } 470 }else{ 471 if($wppm_date_setting=='Y-m-d H:i:s'){ 472 $task_start_date = $tsDate->format('Y-m-d'); 473 $task_end_date = $teDate->format('Y-m-d'); 474 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 475 $task_start_date = $tsDate->format('d-m-Y'); 476 $task_end_date = $teDate->format('d-m-Y'); 477 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 478 $task_start_date = $tsDate->format('m-d-Y'); 479 $task_end_date = $teDate->format('m-d-Y'); 480 }else{ 481 $task_start_date = $tsDate->format('Y-m-d'); 482 $task_end_date = $teDate->format('Y-m-d'); 483 } 484 } 417 485 } 418 486 $url = $wppmfunction->get_task_url( $task->id, $is_frontend ); -
taskbuilder/tags/4.0.4/includes/class-wppm-admin.php
r3254059 r3312666 292 292 array($this,'wppm_addons') 293 293 ); 294 295 add_submenu_page( 296 'wppm-projects', 297 __('Other Plugins', 'taskbuilder' ), 298 __('Other Plugins', 'taskbuilder' ), 299 'manage_options', 300 'wppm-other-plugins', 301 array($this,'wppm_other_plugins') 302 ); 303 294 304 } 305 295 306 if(current_user_can('wppm_admin') && !current_user_can('manage_options')){ 296 307 add_submenu_page( … … 355 366 include WPPM_ABSPATH.'includes/admin/licenses.php'; 356 367 } 368 369 public function wppm_other_plugin(){ 370 include WPPM_ABSPATH.'includes/admin/wppm_other_plugin.php'; 371 } 357 372 358 373 public function wppm_open_project(){ … … 819 834 public function wppm_addons(){ 820 835 include WPPM_ABSPATH.'includes/admin/addons.php'; 836 } 837 838 public function wppm_other_plugins(){ 839 include WPPM_ABSPATH.'includes/admin/wppm_other_plugins.php'; 821 840 } 822 841 -
taskbuilder/tags/4.0.4/includes/class-wppm-functions.php
r3254059 r3312666 1102 1102 return $toolbar; 1103 1103 } 1104 1105 public static function wppm_load_setting_header_html() { 1106 ?> 1107 <div class="wppm-header" style="padding-left:20px;margin:10px 0 10px 0;display: flex; justify-content: space-between; align-items: center; position: sticky;top: 0;background: #fff !important;z-index: 9999;width:99%; left: 0; "> 1108 <div class="wppm-header-title" style="display: flex; align-items: center; gap: 3px;"> 1109 <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/taskbuilder_logo.png'); ?>" class="wppm-header-icon" alt="taskbuilder Icon" style="width: 33px; height: 33px;margin-right:10px !important;"/> 1110 <h2 style="font-size: 30px; font-weight: 600; color: #333; margin: 0; font: 22px OpenSans-Light, Helvetica, Arial, sans-serif;"><?php esc_html_e( 'Taskbuilder', 'taskbuilder' )?></h2> 1111 </div> 1112 <div class="wppm-header-button" style="display: flex; justify-content: flex-end; gap: 3px;"> 1113 <div class="wppm-btn 1114 " style="background-color: #0052CC; color: #fff; padding: 8px 10px;margin: 35px 0px 14px 0px;text-decoration: none;border-radius: 5px;transition: background 0.3s ease;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);"> 1115 <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/help.svg'); ?>" class="wppm-header-icon" alt="taskbuilder Icon" style="width: 20px; height: 19px;margin-bottom: -5px;"/> 1116 <a href="https://taskbuilder.net/help/" target="__blank" style="color:#fff"><?php esc_html_e( 'Help', 'taskbuilder' )?></a> 1117 </div> 1118 <div class="wppm-btn" style="background-color: #0052CC; color: #fff; padding: 8px 10px;margin: 35px 0px 14px 0px;text-decoration: none;border-radius: 5px;transition: background 0.3s ease;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);"> 1119 <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/support.svg'); ?>" class="wppm-header-icon" alt="taskbuilder Icon" style="width: 15px; height: 19px;margin-bottom: -5px;"/> 1120 <a href="https://taskbuilder.net/support/?wpsc-section=ticket-list" target="__blank" style="color:#fff"><?php esc_html_e( 'Support', 'taskbuilder' )?></a> 1121 </div> 1122 <div class="wppm-btn" style="background-color: #0052CC; color: #fff; padding: 8px 10px;margin: 35px 10px 14px 0px;text-decoration: none;border-radius: 5px;transition: background 0.3s ease;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);"> 1123 <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/pro_features.svg'); ?>" class="wppm-header-icon" alt="taskbuilder Icon" style="width: 15px; height: 19px;margin-bottom: -5px;"/> 1124 <a href="https://taskbuilder.net/pricing/" target="__blank" style="color:#fff"><?php esc_html_e( 'Get pro', 'taskbuilder' )?></a> 1125 </div> 1126 </div> 1127 </div> 1128 <?php 1129 } 1104 1130 } 1105 1131 endif; -
taskbuilder/tags/4.0.4/includes/wppm-install.php
r3254059 r3312666 457 457 ); 458 458 } 459 460 if($installed_version < '4.0.4'){ 461 update_option('wppm_date_setting','Y-m-d h:i:sa'); 462 } 463 459 464 // update wppm_version option to plugin version 460 465 update_option( 'wppm_version', WPPM_VERSION ); -
taskbuilder/tags/4.0.4/readme.txt
r3286314 r3312666 1 === Taskbuilder - WordPress Project & Task Management plugin===1 === Taskbuilder - Project Management, Task Management, Kanban Board, Goal Tracking,Team Collaboration === 2 2 Contributors: taskbuilder 3 3 Donate link: https://taskbuilder.net … … 5 5 Requires at least: 4.4 6 6 Tested up to: 6.8.1 7 Stable tag: 4.0. 37 Stable tag: 4.0.4 8 8 License: GPL v3 9 9 … … 12 12 == Description == 13 13 14 Taskbuilder is the easy, flexible and free way to organize tasks, projects & more. This plugin adds to WordPress the features of a complete project and task management system. It is the only project & task management plugin that can match the feature set of Trello or Bitrix24. Create Task and manage them in a beautiful modern drag and drop UI (Kanban view). Move Task cards between Boards. This feature designed to help visualize work and make management of tasks easier!14 Taskbuilder is the easy, flexible and free way to organize tasks, projects & more. This plugin adds to WordPress the features of a complete project management and task management system. It is the only project management & task management plugin that can match the feature set of Trello or Bitrix24. Create Task and manage them in a beautiful modern drag and drop UI (Kanban view). Move Task cards between Boards. This feature designed to help visualize work and make management of tasks easier! 15 15 Taskbuilder is built with simplicity, flexibility, and power in mind, so that you can focus on the work that matters most. Taskbuilder is integrated with Top wordpress plugins like Buddypress as well as WooCommerce. We aim to keep the plugin simple, secure, and feature-rich through continuous improvement and innovation. 16 16 … … 58 58 * [Due Date Reminder](https://taskbuilder.net/due-date-reminder/) - Due date reminder are super helpful for keeping your team on track to hit deadlines. Email notification will send to customer before due date of task. 59 59 * [Usergroup](https://taskbuilder.net/usergroup/) - Using usergroup add-on you can assign group of users to project and those group assign to project can be assign to tasks of project. 60 * [Recurrent Task] (https://taskbuilder.net/recurrent-task/) - Recurrent Tasks add-on allow administrators to effortlessly schedule recurring tasks for routine tasks The system automatically generates these tasks at the defined times, providing a streamlined approach to essential and repetitive processes. With versatile recurrence periods, customizable scheduling options, and the ability to set start and end dates.60 * [Recurrent Task] (https://taskbuilder.net/recurrent-task/) - Recurrent Tasks add-on allow administrators to effortlessly schedule recurring tasks for routine tasks The system automatically generates these tasks at the defined times, providing a streamlined approach to essential and repetitive processes. With versatile recurrence periods, customizable scheduling options, and the ability to set start and end dates. 61 61 62 62 ## 👨💻 DOCUMENTATION AND SUPPORT ## … … 115 115 116 116 == Changelog == 117 = V 4.0.4(June 16, 2025) = 118 * New: Date Format Setting added (Dashboard > Projects > Settings > General > Default date format). 119 * New: UI Changes. 120 117 121 = V 4.0.3(May 2, 2025) = 118 122 * New: Public project's shortcode. You can use [wppm_public_projects_tasks] shortcode to display public project's tasks from frontend. -
taskbuilder/tags/4.0.4/taskbuilder.php
r3286301 r3312666 3 3 * Plugin Name: Taskbuilder 4 4 * Plugin URI: https://wordpress.org/plugins/taskbuilder/ 5 * Description: Wordpress Project & Task Management plugin. Easy to keep track of projects & tasks!6 * Version: 4.0. 35 * Description: Wordpress Project Management & Task Management plugin. Easy to keep track of projects & tasks! 6 * Version: 4.0.4 7 7 * Author: Taskbuilder Team 8 8 * Author URI: https://taskbuilder.net/ … … 20 20 21 21 final class WP_Taskbuilder { 22 public $version = '4.0. 3';22 public $version = '4.0.4'; 23 23 public function __construct() { 24 24 // define global constants -
taskbuilder/trunk/asset/css/admin.css
r3254059 r3312666 254 254 background-color: #5067c5; 255 255 color:#ffffff!important; 256 border: 1px ;256 border: 1px solid #8a8a8a !important; 257 257 } 258 258 .wppm-btn-cancel{ … … 299 299 } 300 300 #wppm_task_table_container{ 301 padding: 15px;301 padding: 0 15px 15px 15px; 302 302 } 303 303 .wppm_status{ … … 453 453 margin-bottom:2px; 454 454 } 455 #wppm_project_table{ 456 margin: 15px; 457 overflow-x: auto; 458 } 455 459 456 .wppm_label{ 460 457 font-size: 12px; … … 475 472 } 476 473 #wppm_project_search_filter_img, .wppm_task_search_filter_img{ 477 position: absolute;474 position: relative !important; 478 475 top: 10px; 479 left: 18px;476 left: 30px; 480 477 } 481 478 .wppm_add_new_task_img, .wppm_task_list_image{ … … 783 780 float: right; 784 781 border-radius: 4px; 785 margin-right: 10px;786 782 cursor: pointer; 787 783 font: 13px "Helvetica Neue",Helvetica,Arial,sans-serif; 788 784 color: #858c96; 789 margin-top: 5px;790 785 } 791 786 #wppm_select_user_role{ … … 1451 1446 display: flex; 1452 1447 align-items: center; 1453 margin-bottom: 20px;1454 1448 } 1455 1449 .wppm-bulk-actions select { … … 1484 1478 background-color: #fff; 1485 1479 color: #707070; 1480 margin-left: 10px !important; 1486 1481 } 1487 1482 .wppm-popover-menu-item:hover { … … 1541 1536 max-width: 100%; 1542 1537 } 1538 1539 @media (max-width: 768px) { 1540 .wppm_task_list{ 1541 flex-basis: 50% !important; 1542 } 1543 } -
taskbuilder/trunk/asset/css/public.css
r3079882 r3312666 47 47 48 48 #wppm_project_search_filter_img, .wppm_task_search_filter_img{ 49 position: absolute;49 position: relative !important; 50 50 top: 10px; 51 left: 18px;51 left: 30px; 52 52 width:25px; 53 53 height:15px; … … 61 61 word-break: break-word; 62 62 } 63 @media (max-width: 768px) { 64 .wppm_task_list{ 65 flex-basis: 100% !important; 66 } 67 } -
taskbuilder/trunk/includes/admin/projects/open_project/wppm_view_project_tasks.php
r3286301 r3312666 13 13 $task_status = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_task_statuses ORDER BY $orderby_sql " ); 14 14 $wppm_task_time = get_option('wppm_task_time'); 15 $wppm_date_setting = get_option('wppm_date_setting'); 15 16 $search_tag = isset($_POST['task_search']) ? sanitize_text_field($_POST['task_search']) : ''; 16 17 $filter_by = isset($_POST['wppm_task_filter']) ? sanitize_text_field($_POST['wppm_task_filter']) : "all"; … … 220 221 <form name="wppm_view_project_task" id="wppm_view_project_task"> 221 222 <div class="row"> 222 <div class="col-sm- 6">223 <div class="col-sm-12"> 223 224 <?php 224 225 if($current_user->has_cap('manage_options') || $wppmfunction->has_permission('add_new_task',0) || $wppm_current_user_capability=='wppm_manager'|| ($flag==true)){ … … 233 234 <span class="wppm-add-new-btn btn-primary" style="background-color:<?php echo esc_attr($appearance_settings['menu-button-bg-color'])?>; id="wppm_task_list" onclick="wppm_get_task_list()" ><span><img class="wppm_task_list_image" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/list-symbol.svg'); ?>" alt="list"></span><span style="color:<?php echo esc_attr($appearance_settings['menu-button-text-color'])?>"><?php echo esc_html_e('Task List','taskbuilder');?></span></span> 234 235 </div> 235 <div id="wppm_task_search" class="col-sm-6">236 <input type="search" id="wppm_view_task_search_filter" name="wppm_view_task_search_filter" class="form-control form-control-sm" aria-controls="selection-datatable" placeholder="<?php echo esc_attr('Search','taskbuilder')?>" value="<?php echo (!empty($search_tag)) ? esc_attr($search_tag) : "" ?>">237 <span><img width="25" height="15" class="wppm_task_search_filter_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/search.svg'); ?>" alt="search"></span>238 </div>239 236 </div> 240 <div id="wppm_task_filter_container"> 241 <div class="wppm-filter-item"> 242 <label for="wppm_task_filter"> <?php echo esc_html_e('Filter','taskbuilder');?></label> 243 <select id="wppm_task_filter" name="wppm_task_filter" onchange="wppm_apply_task_filter_grid_view()"> 244 <option value="all"<?php echo ($filter_by == "all")? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 245 <option value="1" style="<?php echo $todo_status_style ?>" <?php echo ($filter_by == "1")? 'selected':""?>><?php echo esc_html_e($todo_status_name,'taskbuilder');?></option> 246 <option value="2" style="<?php echo $inp_status_style ?>" <?php echo ($filter_by == "2")? 'selected':""?>><?php echo esc_html_e($inp_status_name,'taskbuilder');?></option> 247 <option value="3" style="<?php echo $hold_status_style ?>" <?php echo ($filter_by == "3")? 'selected':""?>><?php echo esc_html_e($hold_status_name,'taskbuilder');?></option> 248 <option value="4" style="<?php echo $completed_status_style ?>" <?php echo ($filter_by == "4")? 'selected':""?>><?php echo esc_html_e($completed_status_name,'taskbuilder');?></option> 249 <option value="mine" <?php echo ($filter_by == "mine")? 'selected':""?>><?php echo esc_html_e('Mine','taskbuilder');?></option> 250 <option value="unassigned" <?php echo ($filter_by == "unassigned")? 'selected':""?>><?php echo esc_html_e('Unassigned','taskbuilder');?></option> 251 <option value="overdue" <?php echo ($filter_by == "overdue")? 'selected':""?>><?php echo esc_html_e('Overdue','taskbuilder');?></option> 252 </select> 253 </div> 254 <div class="wppm-filter-item wppm_project_autocomplete_container"> 255 <label for="wppm_task_list_proj_filter"> 256 <?php echo esc_html_e('Project','taskbuilder');?> 257 </label><br> 258 <select searchable="search here" onchange="wppm_tasks_by_select_project_grid_view()" class="form-control" size="40" name="wppm_task_list_proj_filter" id="wppm_task_list_proj_filter"> 259 <option value="0" <?php echo ($proj_filter == 0)? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 260 <?php 261 if(!empty($projects)){ 262 foreach($projects as $proj) { 263 ?> 264 <option value="<?php echo esc_attr($proj->id)?>" <?php echo ($proj_filter == $proj->id)? 'selected':""?>><?php echo esc_html_e($proj->project_name,'taskbuilder');?></option> 265 <?php } 266 } ?> 267 </select> 268 </div> 269 <div class="wppm_display_submit"> 270 <div class="wppm-filter-actions"> 271 <span class="wppm-link" onclick="wppm_tl_reset_grid_view_filter()"> <?php echo esc_html_e('Reset','taskbuilder');?></span> 237 <div style="display:flex;justify-content:space-between;margin-top: 20px;flex-wrap: wrap;"> 238 <div style="display:flex;flex-wrap: wrap;"> 239 <div id="wppm_task_filter_container"> 240 <div class="wppm-filter-item"> 241 <label for="wppm_task_filter"> <?php echo esc_html_e('Filter','taskbuilder');?></label> 242 <select id="wppm_task_filter" name="wppm_task_filter" onchange="wppm_apply_task_filter_grid_view()"> 243 <option value="all"<?php echo ($filter_by == "all")? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 244 <option value="1" style="<?php echo $todo_status_style ?>" <?php echo ($filter_by == "1")? 'selected':""?>><?php echo esc_html_e($todo_status_name,'taskbuilder');?></option> 245 <option value="2" style="<?php echo $inp_status_style ?>" <?php echo ($filter_by == "2")? 'selected':""?>><?php echo esc_html_e($inp_status_name,'taskbuilder');?></option> 246 <option value="3" style="<?php echo $hold_status_style ?>" <?php echo ($filter_by == "3")? 'selected':""?>><?php echo esc_html_e($hold_status_name,'taskbuilder');?></option> 247 <option value="4" style="<?php echo $completed_status_style ?>" <?php echo ($filter_by == "4")? 'selected':""?>><?php echo esc_html_e($completed_status_name,'taskbuilder');?></option> 248 <option value="mine" <?php echo ($filter_by == "mine")? 'selected':""?>><?php echo esc_html_e('Mine','taskbuilder');?></option> 249 <option value="unassigned" <?php echo ($filter_by == "unassigned")? 'selected':""?>><?php echo esc_html_e('Unassigned','taskbuilder');?></option> 250 <option value="overdue" <?php echo ($filter_by == "overdue")? 'selected':""?>><?php echo esc_html_e('Overdue','taskbuilder');?></option> 251 </select> 252 </div> 253 <div class="wppm-filter-item wppm_project_autocomplete_container"> 254 <label for="wppm_task_list_proj_filter"> 255 <?php echo esc_html_e('Project','taskbuilder');?> 256 </label><br> 257 <select searchable="search here" onchange="wppm_tasks_by_select_project_grid_view()" class="form-control" size="40" name="wppm_task_list_proj_filter" id="wppm_task_list_proj_filter"> 258 <option value="0" <?php echo ($proj_filter == 0)? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 259 <?php 260 if(!empty($projects)){ 261 foreach($projects as $proj) { 262 ?> 263 <option value="<?php echo esc_attr($proj->id)?>" <?php echo ($proj_filter == $proj->id)? 'selected':""?>><?php echo esc_html_e($proj->project_name,'taskbuilder');?></option> 264 <?php } 265 } ?> 266 </select> 267 </div> 268 <div class="wppm_display_submit"> 269 <div class="wppm-filter-actions"> 270 <span class="wppm-link" onclick="wppm_tl_reset_grid_view_filter()"> <?php echo esc_html_e('Reset','taskbuilder');?></span> 271 </div> 272 </div> 272 273 </div> 273 274 </div> 275 <div id="wppm_task_search" style="display:flex;justify-content:flex-end;"> 276 <img width="25px" height="15" class="wppm_task_search_filter_img" style="position: relative;top: 10px;left: 30px;" height="15px" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/search.svg'); ?>" alt="search"> 277 <input type="search" id="wppm_view_task_search_filter" style="margin-right:10px;" name="wppm_view_task_search_filter" class="form-control form-control-sm" aria-controls="selection-datatable" placeholder="<?php echo esc_attr__('Search','taskbuilder');?>" value="<?php echo (!empty($search_tag)) ? esc_attr($search_tag) : "" ?>"> 278 </div> 274 279 </div> 275 <div class="row"> 276 <div class="col-sm-12"> 277 <span id="wppm_list_view_btn" onclick="wppm_get_task_list()"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/listv.svg'); ?>" alt="list"><span style="margin-left:5px;"><?php echo esc_html_e('List view','taskbuilder');?></span></span> 278 </div> 280 <div style="display:flex;justify-content:flex-end;margin-right:10px;"> 281 <span id="wppm_list_view_btn" style="margin: 0 0 -30px 0;" onclick="wppm_get_task_list()"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/listv.svg'); ?>" alt="list"><span style="margin-left:5px;"><?php echo esc_html_e('List view','taskbuilder');?></span></span> 279 282 </div> 280 <div class="wppm_task_container" id="wppm_task_container" >283 <div class="wppm_task_container" id="wppm_task_container" style="display:flex;"> 281 284 <?php 282 285 if(!empty($task_status)){ 283 286 foreach($task_status as $status) { 284 287 ?> 285 <div class="wppm_task_list" id="wppm_task_list_<?php echo esc_attr($status->id)?>" >286 <div class="row">287 <div class="col-sm-12 wppm_card_header" style="background-color:<?php echo esc_attr($status->bg_color)?>;color:<?php echo esc_attr($status->color);?>;">288 <div class="wppm_task_list" id="wppm_task_list_<?php echo esc_attr($status->id)?>" style="display:flex;justify-content:space-between;flex-direction: column;flex-basis: 20%;"> 289 <div> 290 <div style="background-color:<?php echo esc_attr($status->bg_color)?>;color:<?php echo esc_attr($status->color);?>;padding:5px;"> 288 291 <span class="wppm_status_name"><?php echo esc_html_e($status->name,'taskbuilder');?></span> 289 292 <span class="wppm_add_new_icon" onclick="wppm_add_new_task()"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/add_new1.svg'); ?>" alt="add"></span> … … 308 311 if($wppm_task_time == 1){ 309 312 $task_end_date = $task->end_date; 313 $teDate = new DateTime($task->end_date); 314 if($task->end_date=='0000-00-00 00:00:00'){ 315 if($wppm_date_setting=='Y-m-d H:i:s'){ 316 $task_end_date = '0000-00-00 00:00:00'; 317 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 318 $task_end_date = '00-00-0000 00:00:00'; 319 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 320 $task_end_date = '00-00-0000 00:00:00'; 321 }else{ 322 $task_end_date = '0000-00-00 00:00:00'; 323 } 324 }else{ 325 $task_end_date = $teDate->format($wppm_date_setting); 326 } 310 327 }elseif($wppm_task_time == 0){ 311 328 $teDate = new DateTime($task->end_date); 312 329 $task_end_date = $teDate->format('Y-m-d'); 330 if($task->end_date=='0000-00-00 00:00:00'){ 331 if($wppm_date_setting=='Y-m-d H:i:s'){ 332 $task_end_date = '0000-00-00'; 333 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 334 $task_end_date = '00-00-0000'; 335 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 336 $task_end_date = '00-00-0000'; 337 }else{ 338 $task_end_date = '0000-00-00'; 339 } 340 }else{ 341 if($wppm_date_setting=='Y-m-d H:i:s'){ 342 $task_end_date = $teDate->format('Y-m-d'); 343 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 344 $task_end_date = $teDate->format('d-m-Y'); 345 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 346 $task_end_date = $teDate->format('m-d-Y'); 347 }else{ 348 $task_end_date = $teDate->format('Y-m-d'); 349 } 350 } 313 351 } 314 352 if(!empty($task->id)){ … … 326 364 ?> 327 365 <div class="wppm_card_body" style="background-color:<?php echo esc_attr($appearance_settings['grid-background-color'])?>!important;color:<?php echo esc_attr($appearance_settings['grid-header-text-color'])?>!important;" onclick="wppm_open_task(<?php echo esc_attr($task->id)?>)" id="wppm_draggable_card_<?php echo esc_attr($task->id)?>"> 328 <div class="row">329 <div class="col-sm-6">366 <div> 367 <div> 330 368 <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> 331 369 </div> 332 <div class="wppm_card_task_action col-sm-6">370 <div class="wppm_card_task_action"> 333 371 <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> 334 372 <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> … … 339 377 </div> 340 378 </div> 341 <div class="row">342 <div class="col-sm-12">343 <span class="wppm_task_name_grid_view" ><?php echo esc_html_e($task->task_name,'taskbuilder');?></span>379 <div> 380 <div> 381 <span class="wppm_task_name_grid_view" style="margin-left: 5px;"><?php echo esc_html_e($task->task_name,'taskbuilder');?></span> 344 382 <span class="wppm_proj_name_grid_view">(<?php echo isset($project_data['project_name']) ? esc_html_e($project_data['project_name'],'taskbuilder'):"";?>)</span> 345 383 </div> 346 384 </div> 347 <div class="row">348 <div class=" col-sm-6 wppm_task_due_date_grid_view">385 <div> 386 <div class="wppm_task_due_date_grid_view" style="margin-left: 5px;"> 349 387 <?php $style = ($task->status!=4 && $task->end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; ?> 350 388 <small style="<?php echo esc_attr($style); ?>"><?php echo (isset($task_end_date))? esc_html_e($task_end_date,'taskbuilder') :"" ?></small> 351 389 </div> 352 <div class=" col-sm-6" class="wppm_card_task_users" style="text-align:right;">390 <div class="wppm_card_task_users" style="text-align:right;"> 353 391 <?php 354 392 $task_users = explode(',',$task->users); … … 390 428 if($task_per_status==false){ 391 429 ?> 392 <div class="row">393 <div class="col-sm-12 wppm_empty_container">430 <div> 431 <div style="margin-left:5px;font-family: 'OpenSans-Semibold', 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 14px;"> 394 432 <?php echo esc_html_e('Empty','taskbuilder'); ?> 395 433 </div> -
taskbuilder/trunk/includes/admin/projects/projects.php
r3079882 r3312666 4 4 } 5 5 $settings = get_option("wppm-ap-modal"); 6 global $wpdb,$wppmfunction,$current_user; 6 7 ?> 8 <?php echo $wppmfunction->wppm_load_setting_header_html(); ?> 7 9 <div class="wppm_bootstrap"> 8 10 <div id="wppm_project_container"> -
taskbuilder/trunk/includes/admin/projects/projects_list.php
r3226189 r3312666 7 7 $categories = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_project_categories" ); 8 8 $appearance_settings = get_option("wppm-ap-project-list"); 9 $wppm_date_setting = get_option('wppm_date_setting'); 9 10 $wppm_current_user_capability = get_user_meta( $current_user->ID, 'wppm_capability', true ); 10 11 $proj_per_page = 20; … … 137 138 <div id="wppm_project_list_container" class="wppm_bootstrap"> 138 139 <div class="row"> 139 <div class="col-sm- 6" id="wppm_heading_inline">140 <div class="col-sm-12" id="wppm_heading_inline"> 140 141 <span class="wppm-heading-inline"> 141 142 <?php echo esc_html_e('Projects','taskbuilder');?> … … 145 146 <?php } ?> 146 147 </div> 147 <div id="wppm_project_and_task_search" class="col-sm-6">148 <img width="25px" id="wppm_project_search_filter_img" height="15px" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/search.svg'); ?>" alt="search">149 <input type="search" id="wppm_project_search_filter" name="wppm_project_search_filter" class="form-control form-control-sm" aria-controls="selection-datatable" placeholder="<?php echo esc_attr__('Search','taskbuilder');?>" value="<?php echo (!empty($search_tag)) ? esc_attr($search_tag) : "" ?>">150 </div>151 148 </div> 152 <div class="row"> 153 <div class="col-sm-6" id="wppm_project_filter_container"> 154 <div class="wppm-filter-item"> 155 <label for="wppm_project_filter"> <?php echo esc_html_e('Filter','taskbuilder');?></label> 156 <select id="wppm_project_filter" name="wppm_project_filter" onchange="wppm_apply_project_filter()"> 157 <option value="all"<?php echo ($filter_by == "all")? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 158 <option style="<?php echo $new_style ?>" value="1" <?php echo ($filter_by == "1")? 'selected':""?>><?php echo esc_html_e($new_status_name,'taskbuilder');?></option> 159 <option style="<?php echo $inp_status_style ?>" value="2" <?php echo ($filter_by == "2")? 'selected':""?>><?php echo esc_html_e($inp_status_name,'taskbuilder');?></option> 160 <option style="<?php echo $hold_status_style ?>" value="3" <?php echo ($filter_by == "3")? 'selected':""?>><?php echo esc_html_e($hold_status_name,'taskbuilder');?></option> 161 <option style="<?php echo $complete_status_style ?>" value="4" <?php echo ($filter_by == "4")? 'selected':""?>><?php echo esc_html_e($completed_status_name,'taskbuilder');?></option> 162 <option value="mine" <?php echo ($filter_by == "mine")? 'selected':""?>><?php echo esc_html_e('Mine','taskbuilder');?></option> 163 <option value="unassigned" <?php echo ($filter_by == "unassigned")? 'selected':""?>><?php echo esc_html_e('Unassigned','taskbuilder');?></option> 164 <option value="overdue" <?php echo ($filter_by == "overdue")? 'selected':""?>><?php echo esc_html_e('Overdue','taskbuilder');?></option> 165 </select> 166 </div> 167 <div class="wppm_display_submit"> 168 <div class="wppm-filter-actions"> 169 <span class="wppm-link" onclick="wppm_pl_reset_filter()"> <?php echo esc_html_e('Reset','taskbuilder');?></span> 149 <div style="display:flex;justify-content:space-between;margin-top:20px;flex-wrap: wrap;"> 150 <div style="display:flex;flex-wrap: wrap;"> 151 <div id="wppm_project_filter_container"> 152 <div class="wppm-bulk-actions" style="margin-bottom: 10px;"> 153 <button 154 id="wppm-bulk-actions-btn" 155 class="wppm-button small secondary" 156 type="button" 157 style="display:none;padding:14px;font: 13px Helvetica Neue, Arial, Helvetica, sans-serif !important" 158 data-popover="wppm-bulk-actions"> 159 <?php esc_attr_e( 'Bulk Actions ', 'taskbuilder' ); ?><img style="color:#313042" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/wppm_chevron_down_icon.svg'); ?>" alt="chevron_down"> 160 </button> 161 <div id="wppm-bulk-actions" class="gpopover wppm-popover-menu wppm-proj-bulk-actions"> 162 <div class="wppm-popover-menu-item" onclick="wppm_bulk_change_status('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_change_status' ) ); ?>');"> 163 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/gps-navigation.svg'); ?>" alt="status"><?php echo esc_html_e('Change Status','taskbuilder'); ?></span> 164 </div> 165 <div class="wppm-popover-menu-item" onclick="wppm_bulk_change_category('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_change_category' ) ); ?>');"> 166 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/tags.svg'); ?>" alt="category"><?php echo esc_html_e('Change Category','taskbuilder'); ?></span> 167 </div> 168 <div class="wppm-popover-menu-item" onclick="wppm_bulk_assign_users('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_assign_users' ) ); ?>');"> 169 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/users.svg'); ?>" alt="users"><?php echo esc_html_e('Assign Co-workers','taskbuilder'); ?></span> 170 </div> 171 <div class="wppm-popover-menu-item" onclick="wppm_bulk_delete_project('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_assign_users' ) ); ?>');"> 172 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/trash-alt-solid.svg'); ?>" alt="delete"><?php echo esc_html_e('Delete','taskbuilder'); ?></span> 173 </div> 174 </div> 175 </div> 176 <div class="wppm-filter-item"> 177 <label for="wppm_project_filter"> <?php echo esc_html_e('Filter','taskbuilder');?></label> 178 <select id="wppm_project_filter" name="wppm_project_filter" onchange="wppm_apply_project_filter()"> 179 <option value="all"<?php echo ($filter_by == "all")? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 180 <option style="<?php echo $new_style ?>" value="1" <?php echo ($filter_by == "1")? 'selected':""?>><?php echo esc_html_e($new_status_name,'taskbuilder');?></option> 181 <option style="<?php echo $inp_status_style ?>" value="2" <?php echo ($filter_by == "2")? 'selected':""?>><?php echo esc_html_e($inp_status_name,'taskbuilder');?></option> 182 <option style="<?php echo $hold_status_style ?>" value="3" <?php echo ($filter_by == "3")? 'selected':""?>><?php echo esc_html_e($hold_status_name,'taskbuilder');?></option> 183 <option style="<?php echo $complete_status_style ?>" value="4" <?php echo ($filter_by == "4")? 'selected':""?>><?php echo esc_html_e($completed_status_name,'taskbuilder');?></option> 184 <option value="mine" <?php echo ($filter_by == "mine")? 'selected':""?>><?php echo esc_html_e('Mine','taskbuilder');?></option> 185 <option value="unassigned" <?php echo ($filter_by == "unassigned")? 'selected':""?>><?php echo esc_html_e('Unassigned','taskbuilder');?></option> 186 <option value="overdue" <?php echo ($filter_by == "overdue")? 'selected':""?>><?php echo esc_html_e('Overdue','taskbuilder');?></option> 187 </select> 188 </div> 189 <div class="wppm_display_submit"> 190 <div class="wppm-filter-actions"> 191 <span class="wppm-link" onclick="wppm_pl_reset_filter()"> <?php echo esc_html_e('Reset','taskbuilder');?></span> 192 </div> 170 193 </div> 171 194 </div> 172 195 </div> 173 </div> 174 <div class="row"> 175 <div class="col-sm-12"> 176 <div class="wppm-bulk-actions"> 177 <button 178 id="wppm-bulk-actions-btn" 179 class="wppm-button small secondary" 180 type="button" 181 style="display:none" 182 data-popover="wppm-bulk-actions"> 183 <?php esc_attr_e( 'Bulk Actions ', 'taskbuilder' ); ?><img style="color:#313042" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/wppm_chevron_down_icon.svg'); ?>" alt="chevron_down"> 184 </button> 185 <div id="wppm-bulk-actions" class="gpopover wppm-popover-menu wppm-proj-bulk-actions"> 186 <div class="wppm-popover-menu-item" onclick="wppm_bulk_change_status('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_change_status' ) ); ?>');"> 187 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/gps-navigation.svg'); ?>" alt="status"><?php echo esc_html_e('Change Status','taskbuilder'); ?></span> 188 </div> 189 <div class="wppm-popover-menu-item" onclick="wppm_bulk_change_category('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_change_category' ) ); ?>');"> 190 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/tags.svg'); ?>" alt="category"><?php echo esc_html_e('Change Category','taskbuilder'); ?></span> 191 </div> 192 <div class="wppm-popover-menu-item" onclick="wppm_bulk_assign_users('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_assign_users' ) ); ?>');"> 193 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/users.svg'); ?>" alt="users"><?php echo esc_html_e('Assign Co-workers','taskbuilder'); ?></span> 194 </div> 195 <div class="wppm-popover-menu-item" onclick="wppm_bulk_delete_project('<?php echo esc_attr( wp_create_nonce( 'wppm_bulk_assign_users' ) ); ?>');"> 196 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/trash-alt-solid.svg'); ?>" alt="delete"><?php echo esc_html_e('Delete','taskbuilder'); ?></span> 197 </div> 198 </div> 199 </div> 200 </div> 196 <div id="wppm_project_and_task_search" style="display:flex;justify-content:flex-end;"> 197 <img width="25px" id="wppm_project_search_filter_img" style="position: relative;top: 10px;left: 30px;" height="15px" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/search.svg'); ?>" alt="search"> 198 <input type="search" id="wppm_project_search_filter" style="margin-right:10px;" name="wppm_project_search_filter" class="form-control form-control-sm" aria-controls="selection-datatable" placeholder="<?php echo esc_attr__('Search','taskbuilder');?>" value="<?php echo (!empty($search_tag)) ? esc_attr($search_tag) : "" ?>"> 199 </div> 201 200 </div> 202 201 <script> … … 276 275 } 277 276 if($wppm_project_time == 1){ 278 $proj_start_date = $project->start_date; 279 $proj_end_date = $project->end_date; 277 $psDate = new DateTime($project->start_date); 278 $peDate = new DateTime($project->end_date); 279 if($project->start_date=='0000-00-00 00:00:00'){ 280 if($wppm_date_setting=='Y-m-d H:i:s'){ 281 $proj_start_date = '0000-00-00 00:00:00'; 282 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 283 $proj_start_date = '00-00-0000 00:00:00'; 284 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 285 $proj_start_date = '00-00-0000 00:00:00'; 286 }else{ 287 $proj_start_date = '0000-00-00 00:00:00'; 288 } 289 }if($project->end_date=='0000-00-00 00:00:00'){ 290 if($wppm_date_setting=='Y-m-d H:i:s'){ 291 $proj_end_date = '0000-00-00 00:00:00'; 292 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 293 $proj_end_date = '00-00-0000 00:00:00'; 294 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 295 $proj_end_date = '00-00-0000 00:00:00'; 296 }else{ 297 $proj_end_date = '0000-00-00 00:00:00'; 298 } 299 }else{ 300 if(!empty($wppm_date_setting)){ 301 $proj_start_date = $psDate->format($wppm_date_setting); 302 $proj_end_date = $peDate->format($wppm_date_setting); 303 }else{ 304 $proj_start_date = isset($project->start_date)? $project->start_date:""; 305 $proj_end_date = isset($project->end_date) ? $project->end_date: "" ; 306 } 307 } 280 308 } elseif($wppm_project_time == 0){ 281 309 $psDate = new DateTime($project->start_date); … … 283 311 $proj_start_date = $psDate->format('Y-m-d'); 284 312 $proj_end_date = $peDate->format('Y-m-d'); 313 if($project->start_date=='0000-00-00 00:00:00'){ 314 if($wppm_date_setting=='Y-m-d H:i:s'){ 315 $proj_start_date = '0000-00-00'; 316 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 317 $proj_start_date = '00-00-0000'; 318 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 319 $proj_start_date = '00-00-0000'; 320 }else{ 321 $proj_start_date = '0000-00-00'; 322 } 323 } 324 if($project->end_date=='0000-00-00 00:00:00'){ 325 if($wppm_date_setting=='Y-m-d H:i:s'){ 326 $proj_end_date = '0000-00-00'; 327 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 328 $proj_end_date = '00-00-0000'; 329 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 330 $proj_end_date = '00-00-0000'; 331 }else{ 332 $proj_end_date = '0000-00-00'; 333 } 334 }else{ 335 if($wppm_date_setting=='Y-m-d H:i:s'){ 336 $proj_start_date = $psDate->format('Y-m-d'); 337 $proj_end_date = $peDate->format('Y-m-d'); 338 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 339 $proj_start_date = $psDate->format('d-m-Y'); 340 $proj_end_date = $peDate->format('d-m-Y'); 341 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 342 $proj_start_date = $psDate->format('m-d-Y'); 343 $proj_end_date = $peDate->format('m-d-Y'); 344 }else{ 345 $proj_start_date = $psDate->format('Y-m-d'); 346 $proj_end_date = $peDate->format('Y-m-d'); 347 } 348 } 285 349 } 286 350 ?> -
taskbuilder/trunk/includes/admin/projects/wppm_open_project.php
r3254059 r3312666 12 12 $wppm_rich_text_editor = get_option('wppm_rich_text_editor'); 13 13 $wppm_toolbar_actions = get_option('wppm_toolbar_actions'); 14 $wppm_date_setting = get_option('wppm_date_setting'); 14 15 $wppm_current_user_capability = get_user_meta( $current_user->ID, 'wppm_capability', true ); 15 16 $current_date = date('Y-m-d'); … … 48 49 } 49 50 if($wppm_project_time == 1){ 50 $proj_start_date = isset($project->start_date)? $project->start_date:""; 51 $proj_end_date = isset($project->end_date) ? $project->end_date: "" ; 51 $psDate = new DateTime($project->start_date); 52 $peDate = new DateTime($project->end_date); 53 if($project->start_date=='0000-00-00 00:00:00'){ 54 if($wppm_date_setting=='Y-m-d H:i:s'){ 55 $proj_start_date = '0000-00-00 00:00:00'; 56 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 57 $proj_start_date = '00-00-0000 00:00:00'; 58 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 59 $proj_start_date = '00-00-0000 00:00:00'; 60 }else{ 61 $proj_start_date = '0000-00-00 00:00:00'; 62 } 63 }if($project->end_date=='0000-00-00 00:00:00'){ 64 if($wppm_date_setting=='Y-m-d H:i:s'){ 65 $proj_end_date = '0000-00-00 00:00:00'; 66 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 67 $proj_end_date = '00-00-0000 00:00:00'; 68 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 69 $proj_end_date = '00-00-0000 00:00:00'; 70 }else{ 71 $proj_end_date = '0000-00-00 00:00:00'; 72 } 73 }else{ 74 if(!empty($wppm_date_setting)){ 75 $proj_start_date = $psDate->format($wppm_date_setting); 76 $proj_end_date = $peDate->format($wppm_date_setting); 77 }else{ 78 $proj_start_date = isset($project->start_date)? $project->start_date:""; 79 $proj_end_date = isset($project->end_date) ? $project->end_date: "" ; 80 } 81 } 52 82 } elseif($wppm_project_time == 0){ 53 83 $psDate = isset($project->start_date) ? new DateTime($project->start_date): ""; 54 84 $peDate = isset($project->end_date) ? new DateTime($project->end_date):""; 55 $proj_start_date = !empty($psDate) ? $psDate->format('Y-m-d'):""; 56 $proj_end_date = !empty($peDate) ? $peDate->format('Y-m-d'):""; 85 $proj_start_date = !empty($psDate) ? $psDate->format( 'Y-m-d'):""; 86 $proj_end_date = !empty($peDate) ? $peDate->format( 'Y-m-d'):""; 87 if($project->start_date=='0000-00-00 00:00:00'){ 88 if($wppm_date_setting=='Y-m-d H:i:s'){ 89 $proj_start_date = '0000-00-00'; 90 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 91 $proj_start_date = '00-00-0000'; 92 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 93 $proj_start_date = '00-00-0000'; 94 }else{ 95 $proj_start_date = '0000-00-00'; 96 } 97 } 98 if($project->end_date=='0000-00-00 00:00:00'){ 99 if($wppm_date_setting=='Y-m-d H:i:s'){ 100 $proj_end_date = '0000-00-00'; 101 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 102 $proj_end_date = '00-00-0000'; 103 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 104 $proj_end_date = '00-00-0000'; 105 }else{ 106 $proj_end_date = '0000-00-00'; 107 } 108 }else{ 109 if($wppm_date_setting=='Y-m-d H:i:s'){ 110 $proj_start_date = $psDate->format('Y-m-d'); 111 $proj_end_date = $peDate->format('Y-m-d'); 112 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 113 $proj_start_date = $psDate->format('d-m-Y'); 114 $proj_end_date = $peDate->format('d-m-Y'); 115 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 116 $proj_start_date = $psDate->format('m-d-Y'); 117 $proj_end_date = $peDate->format('m-d-Y'); 118 }else{ 119 $proj_start_date = !empty($psDate) ? $psDate->format( 'Y-m-d'):""; 120 $proj_end_date = !empty($peDate) ? $peDate->format( 'Y-m-d'):""; 121 } 122 } 57 123 } 58 124 $project_data = $wppmfunction->get_project($id); … … 101 167 <span class="wppm_project_details_label"><?php echo esc_html_e('Created On:','taskbuilder');?></span> 102 168 </div> 103 <div class="col-sm-9"> 104 <span class="wppm_project_details"><?php echo isset($project->date_created) ? esc_html($project->date_created):"" ?></span> 169 <div class="col-sm-9"><?php 170 $pcDate = isset($project->date_created) ? new DateTime($project->date_created): ""; 171 if($wppm_project_time !=0){ 172 if($wppm_date_setting=='Y-m-d H:i:s'){ 173 $proj_create_date = !empty($pcDate) ? $pcDate->format('Y-m-d H:i:s'):""; 174 } elseif($wppm_date_setting=='d-m-Y H:i:s'){ 175 $proj_create_date = !empty($pcDate) ? $pcDate->format('d-m-Y H:i:s'):""; 176 } elseif($wppm_date_setting=='m-d-Y H:i:s'){ 177 $proj_create_date = !empty($pcDate) ? $pcDate->format('m-d-Y H:i:s'):""; 178 } else { 179 $proj_create_date = !empty($pcDate) ? $pcDate->format('Y-m-d H:i:s'):""; 180 } 181 } elseif($wppm_project_time == 0){ 182 if($wppm_date_setting=='Y-m-d H:i:s'){ 183 $proj_create_date = !empty($pcDate) ? $pcDate->format('Y-m-d'):""; 184 } elseif($wppm_date_setting=='d-m-Y H:i:s'){ 185 $proj_create_date = !empty($pcDate) ? $pcDate->format('d-m-Y'):""; 186 } elseif($wppm_date_setting=='m-d-Y H:i:s'){ 187 $proj_create_date = !empty($pcDate) ? $pcDate->format('m-d-Y'):""; 188 } else { 189 $proj_create_date = !empty($pcDate) ? $pcDate->format('Y-m-d'):""; 190 } 191 } ?> 192 <span class="wppm_project_details"><?php echo isset($proj_create_date) ? esc_html($proj_create_date):"" ?></span> 105 193 </div> 106 194 </div> -
taskbuilder/trunk/includes/admin/settings/wppm_get_general_settings.php
r3174963 r3312666 12 12 $wppm_ap_settings = get_option("wppm-ap-settings"); 13 13 $wppm_edit_tasks_permission = get_option('wppm_default_edit_tasks_permission'); 14 $wppm_date_setting = get_option('wppm_date_setting'); 14 15 $project_statuses = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}wppm_project_statuses"); 15 16 $task_statuses = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}wppm_task_statuses"); … … 82 83 <hr> 83 84 <span> 85 <label><?php echo esc_html_e('Default date format','taskbuilder');?></label> 86 </span><br> 87 <select class="form-control" name="wppm_date_setting" id="wppm_date_setting"><?php 88 $selected = $wppm_date_setting == 'Y-m-d H:i:s' ? 'selected="selected"' : ''; 89 echo '<option '.$selected.' value="Y-m-d H:i:s">'. ('Y-m-d H:i:s').'</option>'; 90 $selected = $wppm_date_setting == 'd-m-Y H:i:s' ? 'selected="selected"' : ''; 91 echo '<option '.$selected.' value="d-m-Y H:i:s">'. ('d-m-Y H:i:s').'</option>'; 92 $selected = $wppm_date_setting == 'm-d-Y H:i:s' ? 'selected="selected"' : ''; 93 echo '<option '.$selected.' value="m-d-Y H:i:s">'. ('m-d-Y H:i:s').'</option>';?> 94 </select> 95 <br> 96 <hr> 97 <span> 84 98 <label><?php echo esc_html_e('Allow co-workers to edit tasks','taskbuilder');?></label> 85 99 </span><br> -
taskbuilder/trunk/includes/admin/settings/wppm_set_add_category.php
r3210469 r3312666 16 16 $values=array( 17 17 'name'=>esc_sql($cat_name), 18 'load_order'=> esc_sql(++$load_order)18 'load_order'=> isset($load_order) ? esc_sql(++$load_order) :"" 19 19 ); 20 20 $wpdb->insert($wpdb->prefix.'wppm_project_categories',$values); -
taskbuilder/trunk/includes/admin/settings/wppm_set_general_settings.php
r3174963 r3312666 31 31 $wppm_tinymce_visibility_open_task = isset($_POST) && isset(($_POST['wppm_tinymce_visibility_open_task'])) ? sanitize_text_field($_POST['wppm_tinymce_visibility_open_task']) : '1'; 32 32 update_option('wppm_tinymce_visibility_open_task',$wppm_tinymce_visibility_open_task); 33 $wppm_date_setting = isset($_POST) && isset(($_POST['wppm_date_setting'])) ? sanitize_text_field($_POST['wppm_date_setting']) : 'Y-m-d H:i:s'; 34 update_option('wppm_date_setting',$wppm_date_setting); 33 35 do_action('wppm_set_general_settings'); 34 36 -
taskbuilder/trunk/includes/admin/tasks/open_task/wppm_open_task.php
r3286301 r3312666 14 14 $wppm_rich_text_editor = get_option('wppm_rich_text_editor'); 15 15 $wppm_toolbar_actions = get_option('wppm_toolbar_actions'); 16 $wppm_date_setting = get_option('wppm_date_setting'); 16 17 $url_auth = false; 17 18 $auth_id = $wppmfunction->wppm_get_auth_code($id); … … 66 67 67 68 if($wppm_task_time == 1){ 68 $task_start_date = $task->start_date; 69 $task_end_date = $task->end_date; 69 $tsDate = new DateTime($task->start_date); 70 $teDate = new DateTime($task->end_date); 71 if($task->start_date=='0000-00-00 00:00:00'){ 72 if($wppm_date_setting=='Y-m-d H:i:s'){ 73 $task_start_date = '0000-00-00 00:00:00'; 74 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 75 $task_start_date = '00-00-0000 00:00:00'; 76 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 77 $task_start_date = '00-00-0000 00:00:00'; 78 }else{ 79 $task_start_date = '0000-00-00 00:00:00'; 80 } 81 }if($task->end_date=='0000-00-00 00:00:00'){ 82 if($wppm_date_setting=='Y-m-d H:i:s'){ 83 $task_end_date = '0000-00-00 00:00:00'; 84 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 85 $task_end_date = '00-00-0000 00:00:00'; 86 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 87 $task_end_date = '00-00-0000 00:00:00'; 88 }else{ 89 $task_end_date = '0000-00-00 00:00:00'; 90 } 91 }else{ 92 if(!empty($wppm_date_setting)){ 93 $task_start_date = $tsDate->format($wppm_date_setting); 94 $task_end_date = $teDate->format($wppm_date_setting); 95 }else{ 96 $task_start_date = isset($task->start_date)? $task->start_date:""; 97 $task_end_date = isset($task->end_date) ? $task->end_date: "" ; 98 } 99 } 70 100 } elseif($wppm_task_time == 0){ 71 $tsDate = new DateTime($task->start_date); 72 $teDate = new DateTime($task->end_date); 73 $task_start_date = $tsDate->format('Y-m-d'); 74 $task_end_date = $teDate->format('Y-m-d'); 101 $tsDate = isset($task->start_date) ? new DateTime($task->start_date): ""; 102 $teDate = isset($task->end_date) ? new DateTime($task->end_date):""; 103 $task_start_date = !empty($tsDate) ? $tsDate->format( $wppm_date_setting):""; 104 $task_end_date = !empty($teDate) ? $teDate->format( $wppm_date_setting):""; 105 if($task->start_date=='0000-00-00 00:00:00'){ 106 if($wppm_date_setting=='Y-m-d H:i:s'){ 107 $task_start_date = '0000-00-00'; 108 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 109 $task_start_date = '00-00-0000'; 110 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 111 $task_start_date = '00-00-0000'; 112 }else{ 113 $task_start_date = '0000-00-00'; 114 } 115 } 116 if($task->end_date=='0000-00-00 00:00:00'){ 117 if($wppm_date_setting=='Y-m-d H:i:s'){ 118 $task_end_date = '0000-00-00'; 119 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 120 $task_end_date = '00-00-0000'; 121 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 122 $task_end_date = '00-00-0000'; 123 } 124 else{ 125 $task_end_date = '0000-00-00'; 126 } 127 }else{ 128 if($wppm_date_setting=='Y-m-d H:i:s'){ 129 $task_start_date = $tsDate->format('Y-m-d'); 130 $task_end_date = $teDate->format('Y-m-d'); 131 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 132 $task_start_date = $tsDate->format('d-m-Y'); 133 $task_end_date = $teDate->format('d-m-Y'); 134 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 135 $task_start_date = $tsDate->format('m-d-Y'); 136 $task_end_date = $teDate->format('m-d-Y'); 137 }else{ 138 $task_start_date = $tsDate->format('Y-m-d'); 139 $task_end_date = $teDate->format('Y-m-d'); 140 } 141 } 75 142 } 76 143 $flag = false; … … 154 221 <span class="wppm_task_details_label"><?php echo esc_html_e('Created On:','taskbuilder');?></span> 155 222 </div> 156 <div class="col-sm-9"> 157 <span class="wppm_task_details"><?php echo (isset($task->date_created))? esc_html($task->date_created):"" ?></span> 223 <div class="col-sm-9"><?php 224 $tcDate = isset($task->date_created) ? new DateTime($task->date_created): ""; 225 if($wppm_task_time !=0){ 226 if($wppm_date_setting=='Y-m-d H:i:s'){ 227 $task_create_date = !empty($tcDate) ? $tcDate->format('Y-m-d H:i:s'):""; 228 } elseif($wppm_date_setting=='d-m-Y H:i:s'){ 229 $task_create_date = !empty($tcDate) ? $tcDate->format('d-m-Y H:i:s'):""; 230 } elseif($wppm_date_setting=='m-d-Y H:i:s'){ 231 $task_create_date = !empty($tcDate) ? $tcDate->format('m-d-Y H:i:s'):""; 232 } else { 233 $task_create_date = !empty($tcDate) ? $tcDate->format('Y-m-d H:i:s'):""; 234 } 235 } elseif($wppm_task_time == 0){ 236 if($wppm_date_setting=='Y-m-d H:i:s'){ 237 $task_create_date = !empty($tcDate) ? $tcDate->format('Y-m-d'):""; 238 } elseif($wppm_date_setting=='d-m-Y H:i:s'){ 239 $task_create_date = !empty($tcDate) ? $tcDate->format('d-m-Y'):""; 240 } elseif($wppm_date_setting=='m-d-Y H:i:s'){ 241 $task_create_date = !empty($tcDate) ? $tcDate->format('m-d-Y'):""; 242 } else { 243 $task_create_date = !empty($tcDate) ? $tcDate->format('Y-m-d'):""; 244 } 245 } ?> 246 <span class="wppm_task_details"><?php echo (isset($task_create_date))? esc_html($task_create_date):"" ?></span> 158 247 </div> 159 248 </div> -
taskbuilder/trunk/includes/admin/tasks/wppm_tasks.php
r3254059 r3312666 5 5 $wppm_default_task_list_view = get_option('wppm_default_task_list_view'); 6 6 $settings = get_option("wppm-ap-modal"); 7 ?> 7 global $wpdb,$wppmfunction,$current_user; 8 echo $wppmfunction->wppm_load_setting_header_html(); ?> 8 9 <div class="wppm_bootstrap"> 9 10 <div id="wppm_task_container"> -
taskbuilder/trunk/includes/admin/tasks/wppm_tasks_list.php
r3286301 r3312666 16 16 $wppm_create_tasks_coworkers_permission = get_option('wppm_allow_coworkers_create_task'); 17 17 $orderby_proj_sql = esc_sql(sanitize_sql_orderby( "project_name" )); 18 $wppm_date_setting = get_option('wppm_date_setting'); 18 19 $proj_attr = esc_sql($proj_attr); 19 20 $is_frontend = 0; … … 245 246 ?> 246 247 <form id="wppm_task_list_frm"> 247 <div id="wppm_task_list_container" >248 <div id="wppm_task_list_container" class="wppm_bootstrap"> 248 249 <div class="row"> 249 <div class="col-sm- 6">250 <div class="col-sm-12" id="wppm_heading_inline"> 250 251 <span class="wppm-heading-inline"> <?php echo esc_html_e('Tasks','taskbuilder');?> </span> 251 252 <span class="wppm-add-new-btn btn-primary" id="wppm_add_new_task_btn_tl" style="background-color:<?php echo $appearance_settings['list-header-button-background-color']?>;color:<?php echo $appearance_settings['list-header-button-text-color']?>;<?php echo $style?>" onclick="wppm_add_new_task()"><img class="wppm_add_new_task_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/plus_icon.svg'); ?>" alt="add_icon"><?php echo esc_html_e('Add New','taskbuilder');?></span> 252 253 </div> 253 <div id="wppm_task_search" class="col-sm-6">254 <input type="search" id="wppm_task_search_filter" name="wppm_task_search_filter" class="form-control form-control-sm" aria-controls="selection-datatable" placeholder="<?php echo esc_attr__('Search','taskbuilder');?>" value="<?php echo (!empty($search_tag)) ? esc_attr($search_tag) : "" ?>">255 <img width="25" height="15" class="wppm_task_search_filter_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/search.svg'); ?>" alt="search">256 </div>257 254 </div> 258 <div id="wppm_task_filter_container"> 259 <div class="wppm-filter-item"> 260 <label for="wppm_task_filter"> <?php echo esc_html_e('Filter','taskbuilder');?></label> 261 <select id="wppm_task_filter" name="wppm_task_filter" onchange="wppm_apply_task_filter()"> 262 <option value="all"<?php echo ($filter_by == "all")? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 263 <option value="1" style="<?php echo $todo_status_style ?>" <?php echo ($filter_by == "1")? 'selected':""?>><?php echo esc_html_e($todo_status_name,'taskbuilder');?></option> 264 <option value="2" style="<?php echo $inp_status_style ?>" <?php echo ($filter_by == "2")? 'selected':""?>><?php echo esc_html_e($inp_status_name,'taskbuilder');?></option> 265 <option value="3" style="<?php echo $hold_status_style ?>" <?php echo ($filter_by == "3")? 'selected':""?>><?php echo esc_html_e($hold_status_name,'taskbuilder');?></option> 266 <option value="4" style="<?php echo $completed_status_style ?>" <?php echo ($filter_by == "4")? 'selected':""?>><?php echo esc_html_e($completed_status_name,'taskbuilder');?></option> 267 <option value="mine" <?php echo ($filter_by == "mine")? 'selected':""?>><?php echo esc_html_e('Mine','taskbuilder');?></option> 268 <option value="unassigned" <?php echo ($filter_by == "unassigned")? 'selected':""?>><?php echo esc_html_e('Unassigned','taskbuilder');?></option> 269 <option value="overdue" <?php echo ($filter_by == "overdue")? 'selected':""?>><?php echo esc_html_e('Overdue','taskbuilder');?></option> 270 </select> 271 </div> 272 <div class="wppm-filter-item wppm_project_autocomplete_container"> 273 <label for="wppm_task_list_proj_filter"> 274 <?php echo esc_html_e('Project','taskbuilder');?> 275 </label><br> 276 <select searchable="search here" onchange="wppm_tasks_by_select_project()" class="form-control" size="40" name="wppm_task_list_proj_filter" id="wppm_task_list_proj_filter" data-width="100%" style="width: 100%!important;"> 277 <option value="0" <?php echo ($proj_filter == 0)? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 278 <?php 279 if(!empty($projects)){ 280 foreach($projects as $proj) { 281 ?> 282 <option value="<?php echo esc_attr($proj->id)?>" <?php echo ($proj_filter == $proj->id)? 'selected':""?>><?php echo esc_html_e($proj->project_name,'taskbuilder');?></option> 283 <?php } 284 } ?> 285 </select> 286 </div> 287 <div class="wppm_display_submit"> 288 <div class="wppm-filter-actions"> 289 <span class="wppm-link" onclick="wppm_tl_reset_filter()"> <?php echo esc_html_e('Reset','taskbuilder');?></span> 290 </div> 291 </div> 292 </div> 293 <div class="row"> 294 <div class="col-sm-6"> 295 <div class="wppm-bulk-actions" style=" margin-left: -14px !important;"> 255 <div style="display:flex;justify-content:space-between;margin-top:20px;flex-wrap: wrap;"> 256 <div style="display:flex;flex-wrap: wrap;min-width: 0; max-width: 100%; "> 257 <div id="wppm_task_filter_container"> 258 <div class="wppm-bulk-actions"style="margin-left: -14px !important;"> 296 259 <button 297 260 id="wppm-task-bulk-actions-btn" 298 261 class="wppm-button small secondary" 299 262 type="button" 300 style="display:none "263 style="display:none;margin: 14px -20px 0px 22px; padding:14px;font: 13px Helvetica Neue, Arial, Helvetica, sans-serif !important;" 301 264 data-popover="wppm-task-bulk-actions"> 302 265 <?php esc_attr_e( 'Bulk Actions ', 'taskbuilder' ); ?><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/wppm_chevron_down_icon.svg'); ?>" alt="chevron_down"> … … 312 275 <span><img style="margin-right:5px;" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/trash-alt-solid.svg'); ?>" alt="delete"><?php echo esc_html_e('Delete Tasks','taskbuilder'); ?></span> 313 276 </div> 277 </div> 278 <div class="wppm-filter-item"> 279 <label for="wppm_task_filter" style="margin-left:20px;"> <?php echo esc_html_e('Filter','taskbuilder');?></label> 280 <select id="wppm_task_filter" name="wppm_task_filter" onchange="wppm_apply_task_filter()" style="margin-left:20px;"> 281 <option value="all"<?php echo ($filter_by == "all")? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 282 <option value="1" style="<?php echo $todo_status_style ?>" <?php echo ($filter_by == "1")? 'selected':""?>><?php echo esc_html_e($todo_status_name,'taskbuilder');?></option> 283 <option value="2" style="<?php echo $inp_status_style ?>" <?php echo ($filter_by == "2")? 'selected':""?>><?php echo esc_html_e($inp_status_name,'taskbuilder');?></option> 284 <option value="3" style="<?php echo $hold_status_style ?>" <?php echo ($filter_by == "3")? 'selected':""?>><?php echo esc_html_e($hold_status_name,'taskbuilder');?></option> 285 <option value="4" style="<?php echo $completed_status_style ?>" <?php echo ($filter_by == "4")? 'selected':""?>><?php echo esc_html_e($completed_status_name,'taskbuilder');?></option> 286 <option value="mine" <?php echo ($filter_by == "mine")? 'selected':""?>><?php echo esc_html_e('Mine','taskbuilder');?></option> 287 <option value="unassigned" <?php echo ($filter_by == "unassigned")? 'selected':""?>><?php echo esc_html_e('Unassigned','taskbuilder');?></option> 288 <option value="overdue" <?php echo ($filter_by == "overdue")? 'selected':""?>><?php echo esc_html_e('Overdue','taskbuilder');?></option> 289 </select> 290 </div> 314 291 </div> 292 </div> 293 <div class="wppm-filter-item wppm_project_autocomplete_container" style="margin: 0 0 0 28px;"> 294 <label for="wppm_task_list_proj_filter"> 295 <?php echo esc_html_e('Project','taskbuilder');?> 296 </label><br> 297 <select searchable="search here" onchange="wppm_tasks_by_select_project()" class="form-control" size="40" name="wppm_task_list_proj_filter" id="wppm_task_list_proj_filter" data-width="100%" style="width: 100%!important;"> 298 <option value="0" <?php echo ($proj_filter == 0)? 'selected':""?>><?php echo esc_html_e('All','taskbuilder');?></option> 299 <?php 300 if(!empty($projects)){ 301 foreach($projects as $proj) { 302 ?> 303 <option value="<?php echo esc_attr($proj->id)?>" <?php echo ($proj_filter == $proj->id)? 'selected':""?>><?php echo esc_html_e($proj->project_name,'taskbuilder');?></option> 304 <?php } 305 } ?> 306 </select> 307 </div> 308 <div class="wppm_display_submit" style="margin: 0 0 -5px 10px;"> 309 <div class="wppm-filter-actions"> 310 <span class="wppm-link" onclick="wppm_tl_reset_filter()"> <?php echo esc_html_e('Reset','taskbuilder');?></span> 311 </div> 312 </div> 313 </div> 314 <div id="wppm_task_search" style="display:flex;justify-content:flex-end;"> 315 <img width="25px" height="15" class="wppm_task_search_filter_img" style="position: relative;top: 10px;left: 30px;" height="15px" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/search.svg'); ?>" alt="search"> 316 <input type="search" id="wppm_task_search_filter" style="margin-right:10px;" name="wppm_task_search_filter" class="form-control form-control-sm" aria-controls="selection-datatable" placeholder="<?php echo esc_attr__('Search','taskbuilder');?>" value="<?php echo (!empty($search_tag)) ? esc_attr($search_tag) : "" ?>"> 315 317 </div> 316 318 </div> 317 <div class="col-sm-6">318 <span id="wppm_grid_view_btn" onclick="wppm_view_task_search_filter(<?php echo esc_attr($page_no)?>)"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/grid_view.svg'); ?>" alt="grid_view"><span><?php echo esc_html_e('Grid view','taskbuilder');?></span></span>319 </div>320 319 </div> 320 <div style="display:flex;justify-content:flex-end;margin-right: 10px;"> 321 <span id="wppm_grid_view_btn" onclick="wppm_view_task_search_filter(<?php echo esc_attr($page_no)?>)"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/grid_view.svg'); ?>" alt="grid_view"><span><?php echo esc_html_e('Grid view','taskbuilder');?></span></span> 322 </div> 323 </div> 321 324 <script> 322 325 jQuery('#wppm-more-actions-btn, #wppm-task-bulk-actions-btn').gpopover({width: 200}); 323 326 </script> 324 <div id="wppm_task_table_container" class="wppm_task_table_container table-responsive" >327 <div id="wppm_task_table_container" class="wppm_task_table_container table-responsive" style="padding: 0 15px 15px 15px;"> 325 328 <table id="wppm_task_table" class="wppm_table table"> 326 329 <thead> … … 408 411 } 409 412 if($wppm_task_time == 1){ 410 $task_start_date = $task->start_date; 411 $task_end_date = $task->end_date; 413 $tsDate = new DateTime($task->start_date); 414 $teDate = new DateTime($task->end_date); 415 if($task->start_date=='0000-00-00 00:00:00'){ 416 if($wppm_date_setting=='Y-m-d H:i:s'){ 417 $task_start_date = '0000-00-00 00:00:00'; 418 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 419 $task_start_date = '00-00-0000 00:00:00'; 420 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 421 $task_start_date = '00-00-0000 00:00:00'; 422 }else{ 423 $task_start_date = '0000-00-00 00:00:00'; 424 } 425 }if($task->end_date=='0000-00-00 00:00:00'){ 426 if($wppm_date_setting=='Y-m-d H:i:s'){ 427 $task_end_date = '0000-00-00 00:00:00'; 428 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 429 $task_end_date = '00-00-0000 00:00:00'; 430 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 431 $task_end_date = '00-00-0000 00:00:00'; 432 }else{ 433 $task_end_date = '0000-00-00 00:00:00'; 434 } 435 }else{ 436 if(!empty($wppm_date_setting)){ 437 $task_start_date = $tsDate->format($wppm_date_setting); 438 $task_end_date = $teDate->format($wppm_date_setting); 439 } else { 440 $task_start_date = isset($task->start_date)? $task->start_date:""; 441 $task_end_date = isset($task->end_date) ? $task->end_date: "" ; 442 } 443 } 412 444 } elseif($wppm_task_time == 0){ 413 445 $tsDate = new DateTime($task->start_date); … … 415 447 $task_start_date = $tsDate->format('Y-m-d'); 416 448 $task_end_date = $teDate->format('Y-m-d'); 449 if($task->start_date=='0000-00-00 00:00:00'){ 450 if($wppm_date_setting=='Y-m-d H:i:s'){ 451 $task_start_date = '0000-00-00'; 452 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 453 $task_start_date = '00-00-0000'; 454 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 455 $task_start_date = '00-00-0000'; 456 }else{ 457 $task_start_date = '0000-00-00'; 458 } 459 } 460 if($task->end_date=='0000-00-00 00:00:00'){ 461 if($wppm_date_setting=='Y-m-d H:i:s'){ 462 $task_end_date = '0000-00-00'; 463 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 464 $task_end_date = '00-00-0000'; 465 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 466 $task_end_date = '00-00-0000'; 467 }else{ 468 $task_end_date = '0000-00-00'; 469 } 470 }else{ 471 if($wppm_date_setting=='Y-m-d H:i:s'){ 472 $task_start_date = $tsDate->format('Y-m-d'); 473 $task_end_date = $teDate->format('Y-m-d'); 474 }elseif($wppm_date_setting=='d-m-Y H:i:s'){ 475 $task_start_date = $tsDate->format('d-m-Y'); 476 $task_end_date = $teDate->format('d-m-Y'); 477 }elseif($wppm_date_setting=='m-d-Y H:i:s'){ 478 $task_start_date = $tsDate->format('m-d-Y'); 479 $task_end_date = $teDate->format('m-d-Y'); 480 }else{ 481 $task_start_date = $tsDate->format('Y-m-d'); 482 $task_end_date = $teDate->format('Y-m-d'); 483 } 484 } 417 485 } 418 486 $url = $wppmfunction->get_task_url( $task->id, $is_frontend ); -
taskbuilder/trunk/includes/class-wppm-admin.php
r3254059 r3312666 292 292 array($this,'wppm_addons') 293 293 ); 294 295 add_submenu_page( 296 'wppm-projects', 297 __('Other Plugins', 'taskbuilder' ), 298 __('Other Plugins', 'taskbuilder' ), 299 'manage_options', 300 'wppm-other-plugins', 301 array($this,'wppm_other_plugins') 302 ); 303 294 304 } 305 295 306 if(current_user_can('wppm_admin') && !current_user_can('manage_options')){ 296 307 add_submenu_page( … … 355 366 include WPPM_ABSPATH.'includes/admin/licenses.php'; 356 367 } 368 369 public function wppm_other_plugin(){ 370 include WPPM_ABSPATH.'includes/admin/wppm_other_plugin.php'; 371 } 357 372 358 373 public function wppm_open_project(){ … … 819 834 public function wppm_addons(){ 820 835 include WPPM_ABSPATH.'includes/admin/addons.php'; 836 } 837 838 public function wppm_other_plugins(){ 839 include WPPM_ABSPATH.'includes/admin/wppm_other_plugins.php'; 821 840 } 822 841 -
taskbuilder/trunk/includes/class-wppm-functions.php
r3254059 r3312666 1102 1102 return $toolbar; 1103 1103 } 1104 1105 public static function wppm_load_setting_header_html() { 1106 ?> 1107 <div class="wppm-header" style="padding-left:20px;margin:10px 0 10px 0;display: flex; justify-content: space-between; align-items: center; position: sticky;top: 0;background: #fff !important;z-index: 9999;width:99%; left: 0; "> 1108 <div class="wppm-header-title" style="display: flex; align-items: center; gap: 3px;"> 1109 <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/taskbuilder_logo.png'); ?>" class="wppm-header-icon" alt="taskbuilder Icon" style="width: 33px; height: 33px;margin-right:10px !important;"/> 1110 <h2 style="font-size: 30px; font-weight: 600; color: #333; margin: 0; font: 22px OpenSans-Light, Helvetica, Arial, sans-serif;"><?php esc_html_e( 'Taskbuilder', 'taskbuilder' )?></h2> 1111 </div> 1112 <div class="wppm-header-button" style="display: flex; justify-content: flex-end; gap: 3px;"> 1113 <div class="wppm-btn 1114 " style="background-color: #0052CC; color: #fff; padding: 8px 10px;margin: 35px 0px 14px 0px;text-decoration: none;border-radius: 5px;transition: background 0.3s ease;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);"> 1115 <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/help.svg'); ?>" class="wppm-header-icon" alt="taskbuilder Icon" style="width: 20px; height: 19px;margin-bottom: -5px;"/> 1116 <a href="https://taskbuilder.net/help/" target="__blank" style="color:#fff"><?php esc_html_e( 'Help', 'taskbuilder' )?></a> 1117 </div> 1118 <div class="wppm-btn" style="background-color: #0052CC; color: #fff; padding: 8px 10px;margin: 35px 0px 14px 0px;text-decoration: none;border-radius: 5px;transition: background 0.3s ease;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);"> 1119 <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/support.svg'); ?>" class="wppm-header-icon" alt="taskbuilder Icon" style="width: 15px; height: 19px;margin-bottom: -5px;"/> 1120 <a href="https://taskbuilder.net/support/?wpsc-section=ticket-list" target="__blank" style="color:#fff"><?php esc_html_e( 'Support', 'taskbuilder' )?></a> 1121 </div> 1122 <div class="wppm-btn" style="background-color: #0052CC; color: #fff; padding: 8px 10px;margin: 35px 10px 14px 0px;text-decoration: none;border-radius: 5px;transition: background 0.3s ease;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);"> 1123 <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/pro_features.svg'); ?>" class="wppm-header-icon" alt="taskbuilder Icon" style="width: 15px; height: 19px;margin-bottom: -5px;"/> 1124 <a href="https://taskbuilder.net/pricing/" target="__blank" style="color:#fff"><?php esc_html_e( 'Get pro', 'taskbuilder' )?></a> 1125 </div> 1126 </div> 1127 </div> 1128 <?php 1129 } 1104 1130 } 1105 1131 endif; -
taskbuilder/trunk/includes/wppm-install.php
r3254059 r3312666 457 457 ); 458 458 } 459 460 if($installed_version < '4.0.4'){ 461 update_option('wppm_date_setting','Y-m-d h:i:sa'); 462 } 463 459 464 // update wppm_version option to plugin version 460 465 update_option( 'wppm_version', WPPM_VERSION ); -
taskbuilder/trunk/readme.txt
r3286314 r3312666 1 === Taskbuilder - WordPress Project & Task Management plugin===1 === Taskbuilder - Project Management, Task Management, Kanban Board, Goal Tracking,Team Collaboration === 2 2 Contributors: taskbuilder 3 3 Donate link: https://taskbuilder.net … … 5 5 Requires at least: 4.4 6 6 Tested up to: 6.8.1 7 Stable tag: 4.0. 37 Stable tag: 4.0.4 8 8 License: GPL v3 9 9 … … 12 12 == Description == 13 13 14 Taskbuilder is the easy, flexible and free way to organize tasks, projects & more. This plugin adds to WordPress the features of a complete project and task management system. It is the only project & task management plugin that can match the feature set of Trello or Bitrix24. Create Task and manage them in a beautiful modern drag and drop UI (Kanban view). Move Task cards between Boards. This feature designed to help visualize work and make management of tasks easier!14 Taskbuilder is the easy, flexible and free way to organize tasks, projects & more. This plugin adds to WordPress the features of a complete project management and task management system. It is the only project management & task management plugin that can match the feature set of Trello or Bitrix24. Create Task and manage them in a beautiful modern drag and drop UI (Kanban view). Move Task cards between Boards. This feature designed to help visualize work and make management of tasks easier! 15 15 Taskbuilder is built with simplicity, flexibility, and power in mind, so that you can focus on the work that matters most. Taskbuilder is integrated with Top wordpress plugins like Buddypress as well as WooCommerce. We aim to keep the plugin simple, secure, and feature-rich through continuous improvement and innovation. 16 16 … … 58 58 * [Due Date Reminder](https://taskbuilder.net/due-date-reminder/) - Due date reminder are super helpful for keeping your team on track to hit deadlines. Email notification will send to customer before due date of task. 59 59 * [Usergroup](https://taskbuilder.net/usergroup/) - Using usergroup add-on you can assign group of users to project and those group assign to project can be assign to tasks of project. 60 * [Recurrent Task] (https://taskbuilder.net/recurrent-task/) - Recurrent Tasks add-on allow administrators to effortlessly schedule recurring tasks for routine tasks The system automatically generates these tasks at the defined times, providing a streamlined approach to essential and repetitive processes. With versatile recurrence periods, customizable scheduling options, and the ability to set start and end dates.60 * [Recurrent Task] (https://taskbuilder.net/recurrent-task/) - Recurrent Tasks add-on allow administrators to effortlessly schedule recurring tasks for routine tasks The system automatically generates these tasks at the defined times, providing a streamlined approach to essential and repetitive processes. With versatile recurrence periods, customizable scheduling options, and the ability to set start and end dates. 61 61 62 62 ## 👨💻 DOCUMENTATION AND SUPPORT ## … … 115 115 116 116 == Changelog == 117 = V 4.0.4(June 16, 2025) = 118 * New: Date Format Setting added (Dashboard > Projects > Settings > General > Default date format). 119 * New: UI Changes. 120 117 121 = V 4.0.3(May 2, 2025) = 118 122 * New: Public project's shortcode. You can use [wppm_public_projects_tasks] shortcode to display public project's tasks from frontend. -
taskbuilder/trunk/taskbuilder.php
r3286301 r3312666 3 3 * Plugin Name: Taskbuilder 4 4 * Plugin URI: https://wordpress.org/plugins/taskbuilder/ 5 * Description: Wordpress Project & Task Management plugin. Easy to keep track of projects & tasks!6 * Version: 4.0. 35 * Description: Wordpress Project Management & Task Management plugin. Easy to keep track of projects & tasks! 6 * Version: 4.0.4 7 7 * Author: Taskbuilder Team 8 8 * Author URI: https://taskbuilder.net/ … … 20 20 21 21 final class WP_Taskbuilder { 22 public $version = '4.0. 3';22 public $version = '4.0.4'; 23 23 public function __construct() { 24 24 // define global constants
Note: See TracChangeset
for help on using the changeset viewer.