PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 2.0.5
Taskbuilder – Project Management & Task Management Tool With Kanban Board v2.0.5
6.0.5 6.0.2 6.0.3 6.0.4 6.0.1 6.0.0 5.0.8 5.0.9 4.0.9 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 All 57 releases
taskbuilder / includes / admin / projects / projects_list.php

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

363 lines 25.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit; // Exit if accessed directly
4 }
5 global $wpdb,$wppmfunction,$current_user;
6 $status = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_project_statuses" );
7 $categories = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_project_categories" );
8 $proj_per_page = 20;
9 $page_no = (isset($_POST['page_no'])) ? intval(sanitize_text_field($_POST['page_no'])): '0';
10 $search_tag = isset($_POST['project_search']) ? sanitize_text_field($_POST['project_search']) : '';
11 $order = isset($_POST['order']) ? sanitize_text_field($_POST['order']) :"ASC";
12 $sort_by = isset($_POST['sort_by']) ? sanitize_text_field($_POST['sort_by']):"project_name";
13 $filters = array(
14 'sort_by' => $sort_by,
15 'order' => $order,
16 'search' => $search_tag
17 );
18 $pl_filters = isset( $_COOKIE['wppm_proj_filters'] ) ? sanitize_text_field( wp_unslash( $_COOKIE['wppm_proj_filters'] ) ) : $filters;
19 if(!is_array($pl_filters)){
20 $pl_filters = json_decode($pl_filters);
21 $pl_filters_arr = (array) $pl_filters;
22 } else{
23 $pl_filters_arr = $filters;
24 }
25 $search_tag = isset($_POST['project_search']) ? sanitize_text_field($_POST['project_search']) : $pl_filters_arr['search'];
26 $order = isset($_POST['order']) ? sanitize_text_field($_POST['order']) :$pl_filters_arr['order'];
27 $sort_by = isset($_POST['sort_by']) ? sanitize_text_field($_POST['sort_by']):$pl_filters_arr['sort_by'];
28 if($sort_by == ""){
29 $sort_by = 'project_name';
30 }
31 $filters = array(
32 'sort_by' => $sort_by,
33 'order' => $order,
34 'search'=>$search_tag
35 );
36 setcookie('wppm_proj_filters',wp_json_encode( $filters ),time() + 3600);
37 if($pl_filters_arr['sort_by']=='status'){
38 $sort_by = 'proj_statuses.name';
39 }
40 if($pl_filters_arr['sort_by']=='category'){
41 $sort_by = 'proj_categories.name';
42 }
43 if($pl_filters_arr['sort_by']=='start_date'){
44 $sort_by = 'start_date';
45 }
46 if($pl_filters_arr['sort_by']=='end_date'){
47 $sort_by = 'end_date';
48 }
49 if($sort_by=='category'){
50 $sort_by = 'proj_categories.name';
51 }
52 $wppm_project_time = get_option('wppm_project_time');
53 $wppm_default_project_date = get_option('wppm_default_project_date');
54 if(!empty($search_tag)){
55 $search_tag_text = '%'.$search_tag.'%';
56 if($current_user->has_cap('manage_options')){
57 $query = ("SELECT Project.*
58 FROM {$wpdb->prefix}wppm_project AS Project
59 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
60 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
61 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.ID,Project.users)>0) AND (user.display_name LIKE '$search_tag_text')
62 where Project.project_name LIKE '$search_tag_text' OR proj_statuses.name LIKE '$search_tag_text' OR proj_categories.name LIKE '$search_tag_text' OR ( user.display_name LIKE '$search_tag_text')
63 Group by Project.id ORDER BY $sort_by $order");
64 $no_of_rows = ("SELECT count(*) FROM
65 (SELECT Project.*
66 FROM {$wpdb->prefix}wppm_project AS Project
67 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
68 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
69 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.ID,Project.users)>0) AND (user.display_name LIKE '$search_tag_text')
70 where Project.project_name LIKE '$search_tag_text' OR proj_statuses.name LIKE '$search_tag_text' OR proj_categories.name LIKE '$search_tag_text' OR ( user.display_name LIKE '$search_tag_text') Group by Project.id) AS Project" );
71 }else{
72 $query = ("SELECT Project.*
73 FROM {$wpdb->prefix}wppm_project AS Project
74 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
75 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
76 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.ID,Project.users)>0) AND (user.display_name LIKE '$search_tag_text')
77 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Project.id = proj_meta.project_id
78 where (Project.project_name LIKE '$search_tag_text' OR proj_statuses.name LIKE '$search_tag_text' OR proj_categories.name LIKE '$search_tag_text' OR ( user.display_name LIKE '$search_tag_text')) AND ((FIND_IN_SET('$current_user->ID',Project.users)>0) OR (Project.id = proj_meta.project_id AND proj_meta.meta_key='public_project' AND proj_meta.meta_value=1))
79 Group by Project.id ORDER BY $sort_by $order");
80 $no_of_rows = ("SELECT count(*) FROM
81 (SELECT Project.*
82 FROM {$wpdb->prefix}wppm_project AS Project
83 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
84 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
85 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.ID,Project.users)>0) AND (user.display_name LIKE '$search_tag_text')
86 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Project.id = proj_meta.project_id
87 where (Project.project_name LIKE '$search_tag_text' OR proj_statuses.name LIKE '$search_tag_text' OR proj_categories.name LIKE '$search_tag_text' OR ( user.display_name LIKE '$search_tag_text')) AND ((FIND_IN_SET('$current_user->ID',Project.users)>0) OR (Project.id = proj_meta.project_id AND proj_meta.meta_key='public_project' AND proj_meta.meta_value=1)) Group by Project.id) AS Project" );
88 }
89 }else{
90 if($current_user->has_cap('manage_options')){
91 if($sort_by=='project_name'|| $sort_by=='start_date' || $sort_by=='end_date'){
92 $query = ( "SELECT * FROM {$wpdb->prefix}wppm_project ORDER BY $sort_by $order" );
93 $no_of_rows = ( "SELECT count(*) FROM {$wpdb->prefix}wppm_project" );
94 } else{
95 $query = ( "SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project
96 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
97 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
98 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Project.id = proj_meta.project_id
99 Group by Project.id ORDER BY $sort_by $order ");
100 $no_of_rows = ( "SELECT count(*) FROM (SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project
101 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
102 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
103 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Project.id = proj_meta.project_id Group by Project.id) AS Project");
104 }
105 }else{
106 if($sort_by=='project_name'|| $sort_by=='start_date' || $sort_by=='end_date'){
107 $query = ( "SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project
108 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Project.id = proj_meta.project_id
109 where ((FIND_IN_SET('$current_user->ID',Project.users)>0 OR (Project.id = proj_meta.project_id AND proj_meta.meta_key='public_project' AND proj_meta.meta_value=1))) Group by Project.id ORDER BY $sort_by $order ");
110 $no_of_rows = ( "SELECT count(*) FROM (SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project
111 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Project.id = proj_meta.project_id
112 where ((FIND_IN_SET('$current_user->ID',Project.users)>0 OR (Project.id = proj_meta.project_id AND proj_meta.meta_key='public_project' AND proj_meta.meta_value=1))) Group by Project.id) AS Project");
113 } else{
114 $query = ( "SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project
115 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
116 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
117 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Project.id = proj_meta.project_id
118 where ((FIND_IN_SET('$current_user->ID',Project.users)>0 OR (Project.id = proj_meta.project_id AND proj_meta.meta_key='public_project' AND proj_meta.meta_value=1))) Group by Project.id ORDER BY $sort_by $order ");
119 $no_of_rows = ( "SELECT count(*) FROM (SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project
120 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
121 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
122 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Project.id = proj_meta.project_id
123 where ((FIND_IN_SET('$current_user->ID',Project.users)>0 OR (Project.id = proj_meta.project_id AND proj_meta.meta_key='public_project' AND proj_meta.meta_value=1))) Group by Project.id) AS Project");
124 }
125 }
126 }
127 $no_of_rows = apply_filters('wppm_project_list_no_of_rows',$no_of_rows);
128 $totalrows = $wpdb->get_var( $no_of_rows );
129 $query = apply_filters('wppm_project_list_query',$query);
130 $limit_start=$page_no*$proj_per_page;
131 $limit="\n LIMIT ".$limit_start.",".$proj_per_page." ";
132 $query = $query.$limit;
133 $wppm_fillter = $wpdb->get_results($query);
134 ?>
135 <form id="wppm_project_list_frm">
136 <div id="wppm_project_list_container" class="wppm_bootstrap">
137 <div class="row">
138 <div class="col-sm-6" id="wppm_heading_inline">
139 <span class="wppm-heading-inline">
140 <?php echo esc_html_e('Projects','taskbuilder');?>
141 </span>
142 <?php if($current_user->has_cap('manage_options')){ ?>
143 <img width="25" height="30" id="wppm_add_new_project_btn" class="wppm_add_new_project_btn" onclick="wppm_add_new_project()" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/add.svg'); ?>" alt="add">
144 <?php } ?>
145 </div>
146 <div id="wppm_project_and_task_search" class="col-sm-6">
147 <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">
148 <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) : "" ?>">
149 </div>
150 </div>
151 <div class="table-responsive">
152 <table id="wppm_project_table" class="wppm_table table">
153 <tr>
154 <th class="wppm_table_header">
155 <span id="wppm_proj_name_th"><?php echo esc_html_e('Project','taskbuilder'); ?></span>
156 <img width="16" height="16" onclick="wppm_sort_up_project_list('project_name','ASC')" style = "<?php echo ($sort_by == 'project_name' && $order == 'DESC') ? 'display:inline': 'display:none;'?>" class="wppm_chevron_img" id="wppm_chevron_sort_up_project_name_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/sort_up_icon.svg'); ?>" alt="chevron_sort_up_icon">
157 <img width="16" height="16" onclick="wppm_sort_up_project_list('project_name','DESC')" style = "<?php echo ($sort_by == 'project_name' && $order == 'ASC') ? 'display:inline': 'display:none;'?>" class="wppm_chevron_img" id="wppm_chevron_sort_down_project_name_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/sort_down_icon.svg'); ?>" alt="chevron_sort_down_icon">
158 </th>
159 <th class="wppm_table_header">
160 <span id="wppm_project_status_th"><?php echo esc_html_e('Status','taskbuilder'); ?></span>
161 <img width="16" height="16" onclick="wppm_sort_up_project_list('status','ASC')" style = "<?php echo ($sort_by == 'proj_statuses.name' && $order == 'DESC') ? 'display:inline': 'display:none;'?>" class="wppm_chevron_img" id="wppm_chevron_sort_up_project_status_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/sort_up_icon.svg'); ?>" alt="chevron_sort_up_icon">
162 <img width="16" height="16" onclick="wppm_sort_up_project_list('status','DESC')" style = "<?php echo ($sort_by == 'proj_statuses.name' && $order == 'ASC') ? 'display:inline': 'display:none;'?>" class="wppm_chevron_img" id="wppm_chevron_sort_down_project_status_img" class="wppm_chevron_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/sort_down_icon.svg'); ?>" alt="chevron_sort_down_icon">
163 </th>
164 <th class="wppm_table_header"><?php echo esc_html_e('Users','taskbuilder'); ?></th>
165 <th class="wppm_table_header">
166 <span id="wppm_project_category_th"><?php echo esc_html_e('Category','taskbuilder'); ?></span>
167 <img width="16" height="16" onclick="wppm_sort_up_project_list('category','ASC')" style = "<?php echo ($sort_by == 'proj_categories.name' && $order == 'DESC') ? 'display:inline': 'display:none;'?>" class="wppm_chevron_img" id="wppm_chevron_sort_up_project_cat_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/sort_up_icon.svg'); ?>" alt="chevron_sort_up_icon">
168 <img width="16" height="16" onclick="wppm_sort_up_project_list('category','DESC')" style = "<?php echo ($sort_by == 'proj_categories.name' && $order == 'ASC') ? 'display:inline': 'display:none;'?>" class="wppm_chevron_img" id="wppm_chevron_sort_down_project_cat_img" class="wppm_chevron_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/sort_down_icon.svg'); ?>" alt="chevron_sort_down_icon">
169 </th>
170 <?php if($wppm_default_project_date==1){ ?>
171 <th class="wppm_table_header">
172 <span id="wppm_project_start_date_th"><?php echo esc_html_e('Start Date','taskbuilder'); ?></span>
173 <img width="16" height="16" onclick="wppm_sort_up_project_list('start_date','ASC')" style = "<?php echo ($sort_by == 'start_date' && $order == 'DESC') ? 'display:inline': 'display:none;'?>" class="wppm_chevron_img" id="wppm_chevron_sort_up_project_start_date_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/sort_up_icon.svg'); ?>" alt="chevron_sort_up_icon">
174 <img width="16" height="16" onclick="wppm_sort_up_project_list('start_date','DESC')" style = "<?php echo ($sort_by == 'start_date' && $order == 'ASC') ? 'display:inline': 'display:none;'?>" class="wppm_chevron_img" id="wppm_chevron_sort_down_project_start_date_img" class="wppm_chevron_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/sort_down_icon.svg'); ?>" alt="chevron_sort_down_icon">
175 </th>
176 <th class="wppm_table_header">
177 <span id="wppm_project_end_date_th"><?php echo esc_html_e('End Date','taskbuilder'); ?></span>
178 <img width="16" height="16" onclick="wppm_sort_up_project_list('end_date','ASC')" style = "<?php echo ($sort_by == 'end_date' && $order == 'DESC') ? 'display:inline': 'display:none;'?>" class="wppm_chevron_img" id="wppm_chevron_sort_up_project_end_date_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/sort_up_icon.svg'); ?>" alt="chevron_sort_up_icon">
179 <img width="16" height="16" onclick="wppm_sort_up_project_list('end_date','DESC')" style = "<?php echo ($sort_by == 'end_date' && $order == 'ASC') ? 'display:inline': 'display:none;'?>" class="wppm_chevron_img" id="wppm_chevron_sort_down_project_end_date_img" class="wppm_chevron_img" src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/sort_down_icon.svg'); ?>" alt="chevron_sort_down_icon">
180 </th>
181 <?php } ?>
182 <th class="wppm_table_header"><?php echo esc_html_e('No. of tasks','taskbuilder'); ?></th>
183 <th class="wppm_table_header"></th>
184 </tr>
185 <tbody>
186 <?php
187 $total_projects=0;
188 $users = array();
189 if(!empty($wppm_fillter)){
190 foreach( $wppm_fillter as $project ){
191 $total_projects++;
192 $status = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_project_statuses where id=$project->status" );
193 $users = explode(",",$project->users);
194 if(isset($project->cat_id)){
195 $category = $wpdb->get_var( "SELECT name FROM {$wpdb->prefix}wppm_project_categories where id=$project->cat_id" );
196 }
197 if(isset($project->id)){
198 if($current_user->has_cap('manage_options')){
199 $no_of_tasks = $wpdb->get_var("SELECT count(*) FROM {$wpdb->prefix}wppm_task WHERE project=$project->id ");
200 }else{
201 $query =("SELECT count(*) FROM
202 ( SELECT Task.*
203 FROM {$wpdb->prefix}wppm_task AS Task
204 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id
205 Left join {$wpdb->prefix}wppm_project_users proj_users ON Task.project = proj_users.proj_id
206 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON proj.id = proj_meta.project_id
207 where Task.project = $project->id AND ((FIND_IN_SET('$current_user->ID',Task.users)>0) OR (Task.created_by= '$current_user->ID') OR (proj_users.user_id = '$current_user->ID' AND proj_users.role_id = 1 ) OR (proj.id = proj_meta.project_id AND proj_meta.meta_key='public_project' AND proj_meta.meta_value=1)) Group by Task.id ) AS Task");
208 $no_of_tasks = $wpdb->get_var($query);
209 }
210 }
211 if($wppm_project_time == 1){
212 $proj_start_date = $project->start_date;
213 $proj_end_date = $project->end_date;
214 } elseif($wppm_project_time == 0){
215 $psDate = new DateTime($project->start_date);
216 $peDate = new DateTime($project->end_date);
217 $proj_start_date = $psDate->format('Y-m-d');
218 $proj_end_date = $peDate->format('Y-m-d');
219 }
220 ?>
221 <tr onclick="wppm_open_project(<?php echo esc_attr($project->id) ?>)">
222 <td><?php echo esc_html_e($project->project_name,'taskbuilder') ?></td>
223 <td><span class="wppm_td_project_status" style="background-color:<?php echo esc_attr($status->bg_color);?>; color: <?php echo esc_attr($status->color); ?>"><?php echo esc_html_e($status->name,'taskbuilder') ?></span></td>
224 <td>
225 <?php
226 $i=0;
227 if(!empty(array_filter($users))){
228 foreach($users as $user){
229 $i++;
230 if( $i <= 4 ){
231 $user_info = get_user_by('id', $user );
232 if(!empty($user_info)){
233 ?>
234 <a href="#" title="<?php echo esc_html_e($user_info->display_name) ?>">
235 <?php echo get_avatar($user_info->ID, 25, "mysteryman");?>
236 </a> <?php
237 }
238 }
239 }
240 } else{
241 _e('None','wp_projects');
242 }
243 if($i > 4){
244 ?>
245 <a href="#" class="wppm_avatar">
246 <span id="wppm_avatar" style="background-color:black;" class="avatar">+<?php echo esc_html($i-4) ?></span>
247 </a>
248 <?php } ?>
249 </td>
250 <td class="wppm_table_td"><?php echo isset($category) ? esc_html_e($category,'taskbuilder'): "" ?></td>
251 <?php if($wppm_default_project_date==1){ ?>
252 <td class="wppm_table_td"><?php echo isset($proj_start_date) ? esc_html($proj_start_date): "" ?></td>
253 <td class="wppm_table_td"><?php echo isset($proj_end_date) ? esc_html($proj_end_date):"" ?></td>
254 <?php } ?>
255 <td class="wppm_table_td"><?php echo isset($no_of_tasks) ? esc_html($no_of_tasks):"" ?></td>
256 <td class="wppm_delete_action">
257 <?php $style = (($current_user->ID && $current_user->has_cap('manage_options')) || ($wppmfunction->has_project_permission('delete_project',esc_attr($project->id))))? "display:inline":"display:none"; ?>
258 <span style="<?php echo esc_attr($style); ?>" onclick="wppm_delete_project(<?php echo esc_attr($project->id) ?>)"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/trash.svg'); ?>" alt="delete"></span>
259 <?php ?>
260 </td>
261 </tr>
262 <?php
263 }
264 }
265 ?>
266 </tbody>
267 </table>
268 <?php
269 $total_pages=ceil($totalrows/$proj_per_page);
270 $current_page=$page_no+1;
271 $prev_page_no=$current_page-1;
272 $prev_class=($prev_page_no==0)?'disabled':'';
273 $next_page_no=($total_pages==$current_page)? $current_page-1:$current_page;
274 $next_class=($total_pages==$current_page)?'disabled':'';
275 ?>
276 <div class="wppm_project_result" style="<?php echo esc_attr($total_pages==0)? '':'display: none;';?>"><?php echo esc_html_e('Your search request returned no results.','taskbuilder');?></div>
277 <hr style="<?php echo esc_attr($total_pages==0)? '':'display: none;';?>">
278 </div>
279 <div class="row wppm_proj_pagination_container">
280 <div class="col-sm-4">
281 <?php echo esc_html_e('Total:','taskbuilder'); ?>&nbsp;<?php echo esc_html($total_projects) ?>&nbsp;<?php echo esc_html_e('of','taskbuilder') ?>&nbsp;<?php echo esc_html($totalrows) ?>&nbsp;<?php echo esc_html_e('Projects','taskbuilder')?>
282 </div>
283 <div class="col-sm-4">
284 <div class="wppm_proj_pagination" style="<?php echo esc_attr($total_pages==0)? "display:none;":"display:flex;"?>">
285 <span class="wppm-pagination-txt">
286 <span><?php echo esc_html($current_page); ?>&nbsp;<?php echo esc_html_e('of','taskbuilder');?>&nbsp;<?php echo esc_html($total_pages); ?>&nbsp;<?php echo esc_html_e('Page','taskbuilder'); ?></span>
287 </span>
288 <span
289 <?php echo esc_html($prev_class) ?>
290 style="<?php echo (isset($prev_class) && esc_attr($prev_class) == 'disabled') ? 'display:none;':'display:block;'?>">
291 <a class="wppm_pagination_prev" onclick="return wppm_load_prev_page(<?php echo esc_attr($prev_page_no) ?>,<?php echo esc_attr($page_no) ?>,'<?php echo esc_attr($sort_by)?>','<?php echo esc_attr($order) ?>');"><?php echo esc_html_e('PREV','taskbuilder');?></a>
292 </span>
293 <span
294 <?php echo esc_attr($next_class) ?>
295 style="<?php echo (isset($next_class) && $next_class == 'disabled')?'display:none;':'display:block;'?>cursor:pointer;">
296 <a class="wppm_pagination_next" onclick="return wppm_load_next_page('<?php echo esc_attr($next_page_no) ?>','<?php echo esc_attr($page_no) ?>','<?php echo esc_attr($sort_by)?>','<?php echo esc_attr($order) ?>');"><?php echo esc_html_e('NEXT','taskbuilder');?></a>
297 </span>
298 </div>
299 </div>
300 </div>
301 </div>
302 </form>
303 <script type="text/javascript">
304 jQuery( document ).ready( function( jQuery ) {
305 jQuery("input[name='wppm_project_search_filter']").keypress(function(e) {
306 //Enter key
307 if (e.which == 13) {
308 wppm_project_search_filter();
309 }
310 });
311 jQuery("#wppm_proj_name_th").hover(function(){
312 jQuery('#wppm_chevron_sort_up_project_name_img').show();
313 jQuery('#wppm_chevron_sort_down_project_name_img').hide();
314 });
315 jQuery("#wppm_project_status_th").hover(function(){
316 jQuery('#wppm_chevron_sort_up_project_status_img').show();
317 jQuery('#wppm_chevron_sort_down_project_status_img').hide();
318 });
319 jQuery("#wppm_project_category_th").hover(function(){
320 jQuery('#wppm_chevron_sort_up_project_cat_img').show();
321 jQuery('#wppm_chevron_sort_down_project_cat_img').hide();
322 });
323 jQuery("#wppm_project_start_date_th").hover(function(){
324 jQuery('#wppm_chevron_sort_up_project_start_date_img').show();
325 jQuery('#wppm_chevron_sort_down_project_start_date_img').hide();
326 });
327 jQuery("#wppm_project_end_date_th").hover(function(){
328 jQuery('#wppm_chevron_sort_up_project_end_date_img').show();
329 jQuery('#wppm_chevron_sort_down_project_end_date_img').hide();
330 });
331 jQuery(".wppm_delete_action").on("click", function(e){
332 e.preventDefault();
333 return false;
334 });
335
336 jQuery('#wppm_project_list_frm').on('submit', function (e) {
337 var dataform = new FormData(jQuery('#wppm_project_list_frm')[0]);
338 jQuery.ajax({
339 url: wppm_admin.ajax_url,
340 type: 'POST',
341 data: dataform,
342 processData: false,
343 contentType: false,
344 success: function () {
345 alert('form was submitted');
346 }
347 });
348 });
349 });
350 </script>
351 <?php
352 add_action('wp_footer', 'wppm_page_inline_script', 999999999999999999);
353 do_action('wppm_after_shortcode_loaded');
354 if(!function_exists('wppm_page_inline_script')) {
355 function wppm_page_inline_script() { ?>
356 <script type="text/javascript">
357 jQuery( document ).ready( function( jQuery ) {
358 wppm_get_project_list();
359 });
360 </script>
361 <?php }
362 }
363 ?>