Plugin Directory

Changeset 3312666


Ignore:
Timestamp:
06/16/2025 04:46:56 PM (10 months ago)
Author:
taskbuilder
Message:

version change

Location:
taskbuilder
Files:
14 added
34 edited
1 copied

Legend:

Unmodified
Added
Removed
  • taskbuilder/tags/4.0.4/asset/css/admin.css

    r3254059 r3312666  
    254254  background-color: #5067c5;
    255255  color:#ffffff!important;
    256   border: 1px;
     256  border: 1px solid #8a8a8a !important;
    257257}
    258258.wppm-btn-cancel{
     
    299299}
    300300#wppm_task_table_container{
    301   padding:15px;
     301  padding: 0 15px 15px 15px;
    302302}
    303303.wppm_status{
     
    453453  margin-bottom:2px;
    454454}
    455 #wppm_project_table{
    456   margin: 15px;
    457   overflow-x: auto;
    458 }
     455
    459456.wppm_label{
    460457  font-size: 12px;
     
    475472}
    476473#wppm_project_search_filter_img, .wppm_task_search_filter_img{
    477   position: absolute;
     474  position: relative !important;
    478475  top: 10px;
    479   left: 18px;
     476  left: 30px;
    480477}
    481478.wppm_add_new_task_img, .wppm_task_list_image{
     
    783780  float: right;
    784781  border-radius: 4px;
    785   margin-right: 10px;
    786782  cursor: pointer;
    787783  font: 13px "Helvetica Neue",Helvetica,Arial,sans-serif;
    788784  color: #858c96;
    789   margin-top: 5px;
    790785}
    791786#wppm_select_user_role{
     
    14511446    display: flex;
    14521447    align-items: center;
    1453     margin-bottom: 20px;
    14541448}
    14551449.wppm-bulk-actions select {
     
    14841478    background-color: #fff;
    14851479    color: #707070;
     1480  margin-left: 10px !important;
    14861481}
    14871482.wppm-popover-menu-item:hover {
     
    15411536    max-width: 100%;
    15421537}
     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  
    4747
    4848#wppm_project_search_filter_img, .wppm_task_search_filter_img{
    49     position: absolute;
     49    position: relative !important;
    5050    top: 10px;
    51     left: 18px;
     51    left: 30px;
    5252    width:25px;
    5353    height:15px;
     
    6161    word-break: break-word;
    6262}
     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  
    1313$task_status = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_task_statuses ORDER BY $orderby_sql " );
    1414$wppm_task_time = get_option('wppm_task_time');
     15$wppm_date_setting = get_option('wppm_date_setting');
    1516$search_tag = isset($_POST['task_search']) ? sanitize_text_field($_POST['task_search']) : '';
    1617$filter_by = isset($_POST['wppm_task_filter']) ? sanitize_text_field($_POST['wppm_task_filter']) : "all";
     
    220221<form name="wppm_view_project_task" id="wppm_view_project_task">
    221222    <div class="row">
    222         <div class="col-sm-6">
     223        <div class="col-sm-12">
    223224            <?php
    224225            if($current_user->has_cap('manage_options') || $wppmfunction->has_permission('add_new_task',0) || $wppm_current_user_capability=='wppm_manager'|| ($flag==true)){
     
    233234            <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>
    234235        </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>
    239236    </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>
    272273            </div>
    273274        </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>
    274279    </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>
    279282    </div>
    280     <div class="wppm_task_container" id="wppm_task_container">
     283    <div class="wppm_task_container" id="wppm_task_container" style="display:flex;">
    281284        <?php
    282285        if(!empty($task_status)){
    283286            foreach($task_status as $status) {
    284287                ?>
    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;">
    288291                            <span class="wppm_status_name"><?php echo esc_html_e($status->name,'taskbuilder');?></span>
    289292                            <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>
     
    308311                                    if($wppm_task_time == 1){
    309312                                        $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                                        }
    310327                                    }elseif($wppm_task_time == 0){
    311328                                        $teDate = new DateTime($task->end_date);
    312329                                        $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                                        }
    313351                                    }
    314352                                    if(!empty($task->id)){
     
    326364                                        ?>
    327365                                        <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>
    330368                                                    <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>
    331369                                                </div>
    332                                                 <div class="wppm_card_task_action col-sm-6">
     370                                                <div class="wppm_card_task_action">
    333371                                                    <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>
    334372                                                    <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>
     
    339377                                                </div>
    340378                                            </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>
    344382                                                    <span class="wppm_proj_name_grid_view">(<?php echo isset($project_data['project_name']) ? esc_html_e($project_data['project_name'],'taskbuilder'):"";?>)</span>
    345383                                                </div>
    346384                                            </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;">
    349387                                                <?php $style = ($task->status!=4 && $task->end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; ?>
    350388                                                    <small style="<?php echo esc_attr($style); ?>"><?php echo (isset($task_end_date))? esc_html_e($task_end_date,'taskbuilder') :"" ?></small>
    351389                                                </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;">
    353391                                                    <?php
    354392                                                    $task_users = explode(',',$task->users);
     
    390428                    if($task_per_status==false){
    391429                        ?>
    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;">
    394432                                <?php echo esc_html_e('Empty','taskbuilder'); ?>
    395433                            </div>
  • taskbuilder/tags/4.0.4/includes/admin/projects/projects.php

    r3079882 r3312666  
    44}
    55$settings = get_option("wppm-ap-modal");
     6global $wpdb,$wppmfunction,$current_user;
    67?>
     8<?php echo $wppmfunction->wppm_load_setting_header_html(); ?>
    79<div class="wppm_bootstrap">
    810  <div id="wppm_project_container">
  • taskbuilder/tags/4.0.4/includes/admin/projects/projects_list.php

    r3226189 r3312666  
    77$categories = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_project_categories" );
    88$appearance_settings = get_option("wppm-ap-project-list");
     9$wppm_date_setting = get_option('wppm_date_setting');
    910$wppm_current_user_capability = get_user_meta( $current_user->ID, 'wppm_capability', true );
    1011$proj_per_page = 20;
     
    137138    <div id="wppm_project_list_container" class="wppm_bootstrap">
    138139      <div class="row">
    139         <div class="col-sm-6" id="wppm_heading_inline">
     140        <div class="col-sm-12" id="wppm_heading_inline">
    140141          <span class="wppm-heading-inline">
    141142            <?php echo esc_html_e('Projects','taskbuilder');?>
     
    145146          <?php } ?>
    146147        </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>
    151148      </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>
    170193            </div>
    171194          </div>
    172195        </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>
    201200      </div>
    202201      <script>
     
    276275                  }
    277276                  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                    }
    280308                  } elseif($wppm_project_time == 0){
    281309                      $psDate = new DateTime($project->start_date);
     
    283311                      $proj_start_date = $psDate->format('Y-m-d');
    284312                      $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                    }
    285349                  }
    286350                  ?>
  • taskbuilder/tags/4.0.4/includes/admin/projects/wppm_open_project.php

    r3254059 r3312666  
    1212$wppm_rich_text_editor = get_option('wppm_rich_text_editor');
    1313$wppm_toolbar_actions = get_option('wppm_toolbar_actions');
     14$wppm_date_setting = get_option('wppm_date_setting');
    1415$wppm_current_user_capability = get_user_meta( $current_user->ID, 'wppm_capability', true );
    1516$current_date = date('Y-m-d');
     
    4849}
    4950if($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  }
    5282} elseif($wppm_project_time == 0){
    5383  $psDate = isset($project->start_date) ? new DateTime($project->start_date): "";
    5484  $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  }
    57123}
    58124$project_data = $wppmfunction->get_project($id);
     
    101167                <span class="wppm_project_details_label"><?php echo esc_html_e('Created On:','taskbuilder');?></span>
    102168              </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>
    105193              </div>
    106194            </div>
  • taskbuilder/tags/4.0.4/includes/admin/settings/wppm_get_general_settings.php

    r3174963 r3312666  
    1212$wppm_ap_settings = get_option("wppm-ap-settings");
    1313$wppm_edit_tasks_permission = get_option('wppm_default_edit_tasks_permission');
     14$wppm_date_setting = get_option('wppm_date_setting');
    1415$project_statuses = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}wppm_project_statuses");
    1516$task_statuses = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}wppm_task_statuses");
     
    8283    <hr>
    8384    <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>
    8498      <label><?php echo esc_html_e('Allow co-workers to edit tasks','taskbuilder');?></label>
    8599    </span><br>
  • taskbuilder/tags/4.0.4/includes/admin/settings/wppm_set_add_category.php

    r3210469 r3312666  
    1616$values=array(
    1717    'name'=>esc_sql($cat_name),
    18     'load_order'=> esc_sql(++$load_order)
     18    'load_order'=> isset($load_order) ? esc_sql(++$load_order) :""
    1919);
    2020$wpdb->insert($wpdb->prefix.'wppm_project_categories',$values);
  • taskbuilder/tags/4.0.4/includes/admin/settings/wppm_set_general_settings.php

    r3174963 r3312666  
    3131$wppm_tinymce_visibility_open_task = isset($_POST) && isset(($_POST['wppm_tinymce_visibility_open_task'])) ? sanitize_text_field($_POST['wppm_tinymce_visibility_open_task']) : '1';
    3232update_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';
     34update_option('wppm_date_setting',$wppm_date_setting);
    3335do_action('wppm_set_general_settings');
    3436
  • taskbuilder/tags/4.0.4/includes/admin/tasks/open_task/wppm_open_task.php

    r3286301 r3312666  
    1414$wppm_rich_text_editor = get_option('wppm_rich_text_editor');
    1515$wppm_toolbar_actions = get_option('wppm_toolbar_actions');
     16$wppm_date_setting = get_option('wppm_date_setting');
    1617$url_auth = false;
    1718$auth_id = $wppmfunction->wppm_get_auth_code($id);
     
    6667
    6768if($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  }
    70100} 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  }
    75142}
    76143$flag = false;
     
    154221            <span class="wppm_task_details_label"><?php echo esc_html_e('Created On:','taskbuilder');?></span>
    155222          </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>
    158247          </div>
    159248        </div>
  • taskbuilder/tags/4.0.4/includes/admin/tasks/wppm_tasks.php

    r3254059 r3312666  
    55$wppm_default_task_list_view = get_option('wppm_default_task_list_view');
    66$settings = get_option("wppm-ap-modal");
    7 ?>
     7global $wpdb,$wppmfunction,$current_user;
     8echo $wppmfunction->wppm_load_setting_header_html(); ?>
    89<div class="wppm_bootstrap">
    910  <div id="wppm_task_container">
  • taskbuilder/tags/4.0.4/includes/admin/tasks/wppm_tasks_list.php

    r3286301 r3312666  
    1616$wppm_create_tasks_coworkers_permission = get_option('wppm_allow_coworkers_create_task');
    1717$orderby_proj_sql = esc_sql(sanitize_sql_orderby( "project_name" ));
     18$wppm_date_setting = get_option('wppm_date_setting');
    1819$proj_attr = esc_sql($proj_attr);
    1920$is_frontend = 0;
     
    245246?>
    246247<form id="wppm_task_list_frm">
    247   <div id="wppm_task_list_container">
     248  <div id="wppm_task_list_container" class="wppm_bootstrap">
    248249    <div class="row">
    249       <div class="col-sm-6">
     250      <div class="col-sm-12" id="wppm_heading_inline">
    250251        <span class="wppm-heading-inline"> <?php echo esc_html_e('Tasks','taskbuilder');?> </span>
    251252        <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>
    252253      </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>
    257254    </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;">
    296259            <button
    297260              id="wppm-task-bulk-actions-btn"
    298261              class="wppm-button small secondary"
    299262              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;"
    301264              data-popover="wppm-task-bulk-actions">
    302265              <?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">
     
    312275                <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>
    313276              </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>
    314291            </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) : "" ?>">
    315317        </div>
    316318      </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>
    320319    </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>
    321324  <script>
    322325    jQuery('#wppm-more-actions-btn, #wppm-task-bulk-actions-btn').gpopover({width: 200});
    323326  </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;">
    325328      <table id="wppm_task_table" class="wppm_table table">
    326329        <thead>
     
    408411                  }
    409412                  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                    }
    412444                  } elseif($wppm_task_time == 0){
    413445                      $tsDate = new DateTime($task->start_date);
     
    415447                      $task_start_date = $tsDate->format('Y-m-d');
    416448                      $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                      }
    417485                  }
    418486                  $url = $wppmfunction->get_task_url( $task->id, $is_frontend );
  • taskbuilder/tags/4.0.4/includes/class-wppm-admin.php

    r3254059 r3312666  
    292292          array($this,'wppm_addons')
    293293        );
     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       
    294304      }
     305
    295306      if(current_user_can('wppm_admin') && !current_user_can('manage_options')){
    296307        add_submenu_page(
     
    355366      include WPPM_ABSPATH.'includes/admin/licenses.php';
    356367    }
     368
     369    public function wppm_other_plugin(){
     370      include WPPM_ABSPATH.'includes/admin/wppm_other_plugin.php';
     371    }
    357372   
    358373    public function wppm_open_project(){
     
    819834    public function wppm_addons(){
    820835      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';
    821840    }
    822841
  • taskbuilder/tags/4.0.4/includes/class-wppm-functions.php

    r3254059 r3312666  
    11021102            return $toolbar;
    11031103        }
     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        }
    11041130    }
    11051131endif;
  • taskbuilder/tags/4.0.4/includes/wppm-install.php

    r3254059 r3312666  
    457457            );
    458458        }
     459
     460        if($installed_version < '4.0.4'){
     461            update_option('wppm_date_setting','Y-m-d h:i:sa');
     462        }
     463
    459464        // update wppm_version option to plugin version
    460465        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 ===
    22Contributors: taskbuilder
    33Donate link: https://taskbuilder.net
     
    55Requires at least: 4.4
    66Tested up to: 6.8.1
    7 Stable tag: 4.0.3
     7Stable tag: 4.0.4
    88License: GPL v3
    99
     
    1212== Description ==
    1313
    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!
     14Taskbuilder 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!
    1515Taskbuilder 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.
    1616
     
    5858* [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.
    5959* [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.
    6161
    6262## 👨‍💻 DOCUMENTATION AND SUPPORT ##
     
    115115
    116116== 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
    117121= V 4.0.3(May 2, 2025) =
    118122* 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  
    33 * Plugin Name: Taskbuilder
    44 * 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.3
     5 * Description: Wordpress Project Management & Task Management plugin. Easy to keep track of projects & tasks!
     6 * Version: 4.0.4
    77 * Author: Taskbuilder Team
    88 * Author URI: https://taskbuilder.net/
     
    2020 
    2121  final class WP_Taskbuilder {
    22     public $version    = '4.0.3';
     22    public $version    = '4.0.4';
    2323    public function __construct() {
    2424      // define global constants
  • taskbuilder/trunk/asset/css/admin.css

    r3254059 r3312666  
    254254  background-color: #5067c5;
    255255  color:#ffffff!important;
    256   border: 1px;
     256  border: 1px solid #8a8a8a !important;
    257257}
    258258.wppm-btn-cancel{
     
    299299}
    300300#wppm_task_table_container{
    301   padding:15px;
     301  padding: 0 15px 15px 15px;
    302302}
    303303.wppm_status{
     
    453453  margin-bottom:2px;
    454454}
    455 #wppm_project_table{
    456   margin: 15px;
    457   overflow-x: auto;
    458 }
     455
    459456.wppm_label{
    460457  font-size: 12px;
     
    475472}
    476473#wppm_project_search_filter_img, .wppm_task_search_filter_img{
    477   position: absolute;
     474  position: relative !important;
    478475  top: 10px;
    479   left: 18px;
     476  left: 30px;
    480477}
    481478.wppm_add_new_task_img, .wppm_task_list_image{
     
    783780  float: right;
    784781  border-radius: 4px;
    785   margin-right: 10px;
    786782  cursor: pointer;
    787783  font: 13px "Helvetica Neue",Helvetica,Arial,sans-serif;
    788784  color: #858c96;
    789   margin-top: 5px;
    790785}
    791786#wppm_select_user_role{
     
    14511446    display: flex;
    14521447    align-items: center;
    1453     margin-bottom: 20px;
    14541448}
    14551449.wppm-bulk-actions select {
     
    14841478    background-color: #fff;
    14851479    color: #707070;
     1480  margin-left: 10px !important;
    14861481}
    14871482.wppm-popover-menu-item:hover {
     
    15411536    max-width: 100%;
    15421537}
     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  
    4747
    4848#wppm_project_search_filter_img, .wppm_task_search_filter_img{
    49     position: absolute;
     49    position: relative !important;
    5050    top: 10px;
    51     left: 18px;
     51    left: 30px;
    5252    width:25px;
    5353    height:15px;
     
    6161    word-break: break-word;
    6262}
     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  
    1313$task_status = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_task_statuses ORDER BY $orderby_sql " );
    1414$wppm_task_time = get_option('wppm_task_time');
     15$wppm_date_setting = get_option('wppm_date_setting');
    1516$search_tag = isset($_POST['task_search']) ? sanitize_text_field($_POST['task_search']) : '';
    1617$filter_by = isset($_POST['wppm_task_filter']) ? sanitize_text_field($_POST['wppm_task_filter']) : "all";
     
    220221<form name="wppm_view_project_task" id="wppm_view_project_task">
    221222    <div class="row">
    222         <div class="col-sm-6">
     223        <div class="col-sm-12">
    223224            <?php
    224225            if($current_user->has_cap('manage_options') || $wppmfunction->has_permission('add_new_task',0) || $wppm_current_user_capability=='wppm_manager'|| ($flag==true)){
     
    233234            <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>
    234235        </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>
    239236    </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>
    272273            </div>
    273274        </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>
    274279    </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>
    279282    </div>
    280     <div class="wppm_task_container" id="wppm_task_container">
     283    <div class="wppm_task_container" id="wppm_task_container" style="display:flex;">
    281284        <?php
    282285        if(!empty($task_status)){
    283286            foreach($task_status as $status) {
    284287                ?>
    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;">
    288291                            <span class="wppm_status_name"><?php echo esc_html_e($status->name,'taskbuilder');?></span>
    289292                            <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>
     
    308311                                    if($wppm_task_time == 1){
    309312                                        $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                                        }
    310327                                    }elseif($wppm_task_time == 0){
    311328                                        $teDate = new DateTime($task->end_date);
    312329                                        $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                                        }
    313351                                    }
    314352                                    if(!empty($task->id)){
     
    326364                                        ?>
    327365                                        <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>
    330368                                                    <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>
    331369                                                </div>
    332                                                 <div class="wppm_card_task_action col-sm-6">
     370                                                <div class="wppm_card_task_action">
    333371                                                    <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>
    334372                                                    <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>
     
    339377                                                </div>
    340378                                            </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>
    344382                                                    <span class="wppm_proj_name_grid_view">(<?php echo isset($project_data['project_name']) ? esc_html_e($project_data['project_name'],'taskbuilder'):"";?>)</span>
    345383                                                </div>
    346384                                            </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;">
    349387                                                <?php $style = ($task->status!=4 && $task->end_date < $current_date) ? "color:#FF0000":"color:#2C3E50"; ?>
    350388                                                    <small style="<?php echo esc_attr($style); ?>"><?php echo (isset($task_end_date))? esc_html_e($task_end_date,'taskbuilder') :"" ?></small>
    351389                                                </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;">
    353391                                                    <?php
    354392                                                    $task_users = explode(',',$task->users);
     
    390428                    if($task_per_status==false){
    391429                        ?>
    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;">
    394432                                <?php echo esc_html_e('Empty','taskbuilder'); ?>
    395433                            </div>
  • taskbuilder/trunk/includes/admin/projects/projects.php

    r3079882 r3312666  
    44}
    55$settings = get_option("wppm-ap-modal");
     6global $wpdb,$wppmfunction,$current_user;
    67?>
     8<?php echo $wppmfunction->wppm_load_setting_header_html(); ?>
    79<div class="wppm_bootstrap">
    810  <div id="wppm_project_container">
  • taskbuilder/trunk/includes/admin/projects/projects_list.php

    r3226189 r3312666  
    77$categories = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_project_categories" );
    88$appearance_settings = get_option("wppm-ap-project-list");
     9$wppm_date_setting = get_option('wppm_date_setting');
    910$wppm_current_user_capability = get_user_meta( $current_user->ID, 'wppm_capability', true );
    1011$proj_per_page = 20;
     
    137138    <div id="wppm_project_list_container" class="wppm_bootstrap">
    138139      <div class="row">
    139         <div class="col-sm-6" id="wppm_heading_inline">
     140        <div class="col-sm-12" id="wppm_heading_inline">
    140141          <span class="wppm-heading-inline">
    141142            <?php echo esc_html_e('Projects','taskbuilder');?>
     
    145146          <?php } ?>
    146147        </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>
    151148      </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>
    170193            </div>
    171194          </div>
    172195        </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>
    201200      </div>
    202201      <script>
     
    276275                  }
    277276                  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                    }
    280308                  } elseif($wppm_project_time == 0){
    281309                      $psDate = new DateTime($project->start_date);
     
    283311                      $proj_start_date = $psDate->format('Y-m-d');
    284312                      $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                    }
    285349                  }
    286350                  ?>
  • taskbuilder/trunk/includes/admin/projects/wppm_open_project.php

    r3254059 r3312666  
    1212$wppm_rich_text_editor = get_option('wppm_rich_text_editor');
    1313$wppm_toolbar_actions = get_option('wppm_toolbar_actions');
     14$wppm_date_setting = get_option('wppm_date_setting');
    1415$wppm_current_user_capability = get_user_meta( $current_user->ID, 'wppm_capability', true );
    1516$current_date = date('Y-m-d');
     
    4849}
    4950if($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  }
    5282} elseif($wppm_project_time == 0){
    5383  $psDate = isset($project->start_date) ? new DateTime($project->start_date): "";
    5484  $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  }
    57123}
    58124$project_data = $wppmfunction->get_project($id);
     
    101167                <span class="wppm_project_details_label"><?php echo esc_html_e('Created On:','taskbuilder');?></span>
    102168              </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>
    105193              </div>
    106194            </div>
  • taskbuilder/trunk/includes/admin/settings/wppm_get_general_settings.php

    r3174963 r3312666  
    1212$wppm_ap_settings = get_option("wppm-ap-settings");
    1313$wppm_edit_tasks_permission = get_option('wppm_default_edit_tasks_permission');
     14$wppm_date_setting = get_option('wppm_date_setting');
    1415$project_statuses = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}wppm_project_statuses");
    1516$task_statuses = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}wppm_task_statuses");
     
    8283    <hr>
    8384    <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>
    8498      <label><?php echo esc_html_e('Allow co-workers to edit tasks','taskbuilder');?></label>
    8599    </span><br>
  • taskbuilder/trunk/includes/admin/settings/wppm_set_add_category.php

    r3210469 r3312666  
    1616$values=array(
    1717    'name'=>esc_sql($cat_name),
    18     'load_order'=> esc_sql(++$load_order)
     18    'load_order'=> isset($load_order) ? esc_sql(++$load_order) :""
    1919);
    2020$wpdb->insert($wpdb->prefix.'wppm_project_categories',$values);
  • taskbuilder/trunk/includes/admin/settings/wppm_set_general_settings.php

    r3174963 r3312666  
    3131$wppm_tinymce_visibility_open_task = isset($_POST) && isset(($_POST['wppm_tinymce_visibility_open_task'])) ? sanitize_text_field($_POST['wppm_tinymce_visibility_open_task']) : '1';
    3232update_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';
     34update_option('wppm_date_setting',$wppm_date_setting);
    3335do_action('wppm_set_general_settings');
    3436
  • taskbuilder/trunk/includes/admin/tasks/open_task/wppm_open_task.php

    r3286301 r3312666  
    1414$wppm_rich_text_editor = get_option('wppm_rich_text_editor');
    1515$wppm_toolbar_actions = get_option('wppm_toolbar_actions');
     16$wppm_date_setting = get_option('wppm_date_setting');
    1617$url_auth = false;
    1718$auth_id = $wppmfunction->wppm_get_auth_code($id);
     
    6667
    6768if($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  }
    70100} 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  }
    75142}
    76143$flag = false;
     
    154221            <span class="wppm_task_details_label"><?php echo esc_html_e('Created On:','taskbuilder');?></span>
    155222          </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>
    158247          </div>
    159248        </div>
  • taskbuilder/trunk/includes/admin/tasks/wppm_tasks.php

    r3254059 r3312666  
    55$wppm_default_task_list_view = get_option('wppm_default_task_list_view');
    66$settings = get_option("wppm-ap-modal");
    7 ?>
     7global $wpdb,$wppmfunction,$current_user;
     8echo $wppmfunction->wppm_load_setting_header_html(); ?>
    89<div class="wppm_bootstrap">
    910  <div id="wppm_task_container">
  • taskbuilder/trunk/includes/admin/tasks/wppm_tasks_list.php

    r3286301 r3312666  
    1616$wppm_create_tasks_coworkers_permission = get_option('wppm_allow_coworkers_create_task');
    1717$orderby_proj_sql = esc_sql(sanitize_sql_orderby( "project_name" ));
     18$wppm_date_setting = get_option('wppm_date_setting');
    1819$proj_attr = esc_sql($proj_attr);
    1920$is_frontend = 0;
     
    245246?>
    246247<form id="wppm_task_list_frm">
    247   <div id="wppm_task_list_container">
     248  <div id="wppm_task_list_container" class="wppm_bootstrap">
    248249    <div class="row">
    249       <div class="col-sm-6">
     250      <div class="col-sm-12" id="wppm_heading_inline">
    250251        <span class="wppm-heading-inline"> <?php echo esc_html_e('Tasks','taskbuilder');?> </span>
    251252        <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>
    252253      </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>
    257254    </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;">
    296259            <button
    297260              id="wppm-task-bulk-actions-btn"
    298261              class="wppm-button small secondary"
    299262              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;"
    301264              data-popover="wppm-task-bulk-actions">
    302265              <?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">
     
    312275                <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>
    313276              </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>
    314291            </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) : "" ?>">
    315317        </div>
    316318      </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>
    320319    </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>
    321324  <script>
    322325    jQuery('#wppm-more-actions-btn, #wppm-task-bulk-actions-btn').gpopover({width: 200});
    323326  </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;">
    325328      <table id="wppm_task_table" class="wppm_table table">
    326329        <thead>
     
    408411                  }
    409412                  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                    }
    412444                  } elseif($wppm_task_time == 0){
    413445                      $tsDate = new DateTime($task->start_date);
     
    415447                      $task_start_date = $tsDate->format('Y-m-d');
    416448                      $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                      }
    417485                  }
    418486                  $url = $wppmfunction->get_task_url( $task->id, $is_frontend );
  • taskbuilder/trunk/includes/class-wppm-admin.php

    r3254059 r3312666  
    292292          array($this,'wppm_addons')
    293293        );
     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       
    294304      }
     305
    295306      if(current_user_can('wppm_admin') && !current_user_can('manage_options')){
    296307        add_submenu_page(
     
    355366      include WPPM_ABSPATH.'includes/admin/licenses.php';
    356367    }
     368
     369    public function wppm_other_plugin(){
     370      include WPPM_ABSPATH.'includes/admin/wppm_other_plugin.php';
     371    }
    357372   
    358373    public function wppm_open_project(){
     
    819834    public function wppm_addons(){
    820835      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';
    821840    }
    822841
  • taskbuilder/trunk/includes/class-wppm-functions.php

    r3254059 r3312666  
    11021102            return $toolbar;
    11031103        }
     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        }
    11041130    }
    11051131endif;
  • taskbuilder/trunk/includes/wppm-install.php

    r3254059 r3312666  
    457457            );
    458458        }
     459
     460        if($installed_version < '4.0.4'){
     461            update_option('wppm_date_setting','Y-m-d h:i:sa');
     462        }
     463
    459464        // update wppm_version option to plugin version
    460465        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 ===
    22Contributors: taskbuilder
    33Donate link: https://taskbuilder.net
     
    55Requires at least: 4.4
    66Tested up to: 6.8.1
    7 Stable tag: 4.0.3
     7Stable tag: 4.0.4
    88License: GPL v3
    99
     
    1212== Description ==
    1313
    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!
     14Taskbuilder 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!
    1515Taskbuilder 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.
    1616
     
    5858* [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.
    5959* [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.
    6161
    6262## 👨‍💻 DOCUMENTATION AND SUPPORT ##
     
    115115
    116116== 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
    117121= V 4.0.3(May 2, 2025) =
    118122* 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  
    33 * Plugin Name: Taskbuilder
    44 * 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.3
     5 * Description: Wordpress Project Management & Task Management plugin. Easy to keep track of projects & tasks!
     6 * Version: 4.0.4
    77 * Author: Taskbuilder Team
    88 * Author URI: https://taskbuilder.net/
     
    2020 
    2121  final class WP_Taskbuilder {
    22     public $version    = '4.0.3';
     22    public $version    = '4.0.4';
    2323    public function __construct() {
    2424      // define global constants
Note: See TracChangeset for help on using the changeset viewer.