PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 2.0.3
Taskbuilder – Project Management & Task Management Tool With Kanban Board v2.0.3
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.3, at includes/admin/projects/projects_list.php

354 lines 23.2 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 $wppm_project_time = get_option('wppm_project_time');
50 $wppm_default_project_date = get_option('wppm_default_project_date');
51 if(!empty($search_tag)){
52 $search_tag_text = '%'.$search_tag.'%';
53 if($current_user->has_cap('manage_options')){
54 $query = ("SELECT Project.*
55 FROM {$wpdb->prefix}wppm_project AS Project
56 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
57 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
58 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.ID,Project.users)>0) AND (user.display_name LIKE '$search_tag_text')
59 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')
60 Group by Project.id ORDER BY $sort_by $order");
61 $no_of_rows = ("SELECT count(*) FROM
62 (SELECT Project.*
63 FROM {$wpdb->prefix}wppm_project AS Project
64 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
65 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
66 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.ID,Project.users)>0) AND (user.display_name LIKE '$search_tag_text')
67 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" );
68 }else{
69 $query = ("SELECT Project.*
70 FROM {$wpdb->prefix}wppm_project AS Project
71 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
72 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
73 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.ID,Project.users)>0) AND (user.display_name LIKE '$search_tag_text')
74 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)
75 Group by Project.id ORDER BY $sort_by $order");
76 $no_of_rows = ("SELECT count(*) FROM
77 (SELECT Project.*
78 FROM {$wpdb->prefix}wppm_project AS Project
79 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
80 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
81 Left join {$wpdb->base_prefix}users user ON (FIND_IN_SET(user.ID,Project.users)>0) AND (user.display_name LIKE '$search_tag_text')
82 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) Group by Project.id) AS Project" );
83 }
84 }else{
85 if($current_user->has_cap('manage_options')){
86 if($sort_by=='project_name'|| $sort_by=='start_date' || $sort_by=='end_date'){
87 $query = ( "SELECT * FROM {$wpdb->prefix}wppm_project ORDER BY $sort_by $order" );
88 $no_of_rows = ( "SELECT count(*) FROM {$wpdb->prefix}wppm_project" );
89 } else{
90 $query = ( "SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project
91 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
92 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
93 ORDER BY $sort_by $order ");
94 $no_of_rows = ( "SELECT count(*) FROM (SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project
95 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
96 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id) AS Project");
97 }
98
99 //$no_of_rows = ( "SELECT count(*) FROM {$wpdb->prefix}wppm_project" );
100 }else{
101 if($sort_by=='project_name'|| $sort_by=='start_date' || $sort_by=='end_date'){
102 $query = ( "SELECT * FROM {$wpdb->prefix}wppm_project
103 where (FIND_IN_SET('$current_user->ID',users)>0) ORDER BY $sort_by $order
104 ");
105 $no_of_rows = ( "SELECT count(*) FROM {$wpdb->prefix}wppm_project
106 where (FIND_IN_SET('$current_user->ID',users)>0)
107 ");
108 } else{
109 $query = ( "SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project
110 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
111 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id
112 where (FIND_IN_SET('$current_user->ID',Project.users)>0) ORDER BY $sort_by $order ");
113 $no_of_rows = ( "SELECT count(*) FROM (SELECT Project.* FROM {$wpdb->prefix}wppm_project AS Project
114 Left join {$wpdb->prefix}wppm_project_statuses proj_statuses ON Project.status = proj_statuses.id
115 Left join {$wpdb->prefix}wppm_project_categories proj_categories ON Project.cat_id = proj_categories.id where (FIND_IN_SET('$current_user->ID',Project.users)>0)) AS Project");
116 }
117 }
118 }
119 $no_of_rows = apply_filters('wppm_project_list_no_of_rows',$no_of_rows);
120 $totalrows = $wpdb->get_var( $no_of_rows );
121 $query = apply_filters('wppm_project_list_query',$query);
122 $limit_start=$page_no*$proj_per_page;
123 $limit="\n LIMIT ".$limit_start.",".$proj_per_page." ";
124 $query = $query.$limit;
125 $wppm_fillter = $wpdb->get_results($query);
126 ?>
127 <form id="wppm_project_list_frm">
128 <div id="wppm_project_list_container" class="wppm_bootstrap">
129 <div class="row">
130 <div class="col-sm-6" id="wppm_heading_inline">
131 <span class="wppm-heading-inline">
132 <?php echo esc_html_e('Projects','taskbuilder');?>
133 </span>
134 <?php if($current_user->has_cap('manage_options')){ ?>
135 <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">
136 <?php } ?>
137 </div>
138 <div id="wppm_project_and_task_search" class="col-sm-6">
139 <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">
140 <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) : "" ?>">
141 </div>
142 </div>
143 <div class="table-responsive">
144 <table id="wppm_project_table" class="wppm_table table">
145 <tr>
146 <th class="wppm_table_header">
147 <span id="wppm_proj_name_th"><?php echo esc_html_e('Project','taskbuilder'); ?></span>
148 <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">
149 <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">
150 </th>
151 <th class="wppm_table_header">
152 <span id="wppm_project_status_th"><?php echo esc_html_e('Status','taskbuilder'); ?></span>
153 <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">
154 <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">
155 </th>
156 <th class="wppm_table_header"><?php echo esc_html_e('Users','taskbuilder'); ?></th>
157 <th class="wppm_table_header">
158 <span id="wppm_project_category_th"><?php echo esc_html_e('Category','taskbuilder'); ?></span>
159 <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">
160 <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">
161 </th>
162 <?php if($wppm_default_project_date==1){ ?>
163 <th class="wppm_table_header">
164 <span id="wppm_project_start_date_th"><?php echo esc_html_e('Start Date','taskbuilder'); ?></span>
165 <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">
166 <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">
167 </th>
168 <th class="wppm_table_header">
169 <span id="wppm_project_end_date_th"><?php echo esc_html_e('End Date','taskbuilder'); ?></span>
170 <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">
171 <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">
172 </th>
173 <?php } ?>
174 <th class="wppm_table_header"><?php echo esc_html_e('No. of tasks','taskbuilder'); ?></th>
175 <th class="wppm_table_header"></th>
176 </tr>
177 <tbody>
178 <?php
179 $total_projects=0;
180 $users = array();
181 if(!empty($wppm_fillter)){
182 foreach( $wppm_fillter as $project ){
183 $total_projects++;
184 $status = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}wppm_project_statuses where id=$project->status" );
185 $users = explode(",",$project->users);
186 if(isset($project->cat_id)){
187 $category = $wpdb->get_var( "SELECT name FROM {$wpdb->prefix}wppm_project_categories where id=$project->cat_id" );
188 }
189 if(isset($project->id)){
190 if($current_user->has_cap('manage_options')){
191 $no_of_tasks = $wpdb->get_var("SELECT count(*) FROM {$wpdb->prefix}wppm_task WHERE project=$project->id ");
192 }else{
193 $query =("SELECT count(*) FROM
194 ( SELECT Task.*
195 FROM {$wpdb->prefix}wppm_task AS Task
196 Left join {$wpdb->prefix}wppm_project proj ON Task.project = proj.id
197 Left join {$wpdb->prefix}wppm_project_users proj_users ON Task.project = proj_users.proj_id
198 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 ))Group by Task.id ) AS Task");
199 $no_of_tasks = $wpdb->get_var($query);
200 }
201 }
202 if($wppm_project_time == 1){
203 $proj_start_date = $project->start_date;
204 $proj_end_date = $project->end_date;
205 } elseif($wppm_project_time == 0){
206 $psDate = new DateTime($project->start_date);
207 $peDate = new DateTime($project->end_date);
208 $proj_start_date = $psDate->format('Y-m-d');
209 $proj_end_date = $peDate->format('Y-m-d');
210 }
211 ?>
212 <tr onclick="wppm_open_project(<?php echo esc_attr($project->id) ?>)">
213 <td><?php echo esc_html_e($project->project_name,'taskbuilder') ?></td>
214 <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>
215 <td>
216 <?php
217 $i=0;
218 if(!empty(array_filter($users))){
219 foreach($users as $user){
220 $i++;
221 if( $i <= 4 ){
222 $user_info = get_user_by('id', $user );
223 if(!empty($user_info)){
224 ?>
225 <a href="#" title="<?php echo esc_html_e($user_info->display_name) ?>">
226 <?php echo get_avatar($user_info->ID, 25, "mysteryman");?>
227 </a> <?php
228 }
229 }
230 }
231 } else{
232 _e('None','wp_projects');
233 }
234 if($i > 4){
235 ?>
236 <a href="#" class="wppm_avatar">
237 <span id="wppm_avatar" style="background-color:black;" class="avatar">+<?php echo esc_html($i-4) ?></span>
238 </a>
239 <?php } ?>
240 </td>
241 <td class="wppm_table_td"><?php echo isset($category) ? esc_html_e($category,'taskbuilder'): "" ?></td>
242 <?php if($wppm_default_project_date==1){ ?>
243 <td class="wppm_table_td"><?php echo isset($proj_start_date) ? esc_html($proj_start_date): "" ?></td>
244 <td class="wppm_table_td"><?php echo isset($proj_end_date) ? esc_html($proj_end_date):"" ?></td>
245 <?php } ?>
246 <td class="wppm_table_td"><?php echo isset($no_of_tasks) ? esc_html($no_of_tasks):"" ?></td>
247 <td class="wppm_delete_action">
248 <?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"; ?>
249 <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>
250 <?php ?>
251 </td>
252 </tr>
253 <?php
254 }
255 }
256 ?>
257 </tbody>
258 </table>
259 <?php
260 $total_pages=ceil($totalrows/$proj_per_page);
261 $current_page=$page_no+1;
262 $prev_page_no=$current_page-1;
263 $prev_class=($prev_page_no==0)?'disabled':'';
264 $next_page_no=($total_pages==$current_page)? $current_page-1:$current_page;
265 $next_class=($total_pages==$current_page)?'disabled':'';
266 ?>
267 <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>
268 <hr style="<?php echo esc_attr($total_pages==0)? '':'display: none;';?>">
269 </div>
270 <div class="row wppm_proj_pagination_container">
271 <div class="col-sm-4">
272 <?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')?>
273 </div>
274 <div class="col-sm-4">
275 <div class="wppm_proj_pagination" style="<?php echo esc_attr($total_pages==0)? "display:none;":"display:flex;"?>">
276 <span class="wppm-pagination-txt">
277 <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>
278 </span>
279 <span
280 <?php echo esc_html($prev_class) ?>
281 style="<?php echo (isset($prev_class) && esc_attr($prev_class) == 'disabled') ? 'display:none;':'display:block;'?>">
282 <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>
283 </span>
284 <span
285 <?php echo esc_attr($next_class) ?>
286 style="<?php echo (isset($next_class) && $next_class == 'disabled')?'display:none;':'display:block;'?>cursor:pointer;">
287 <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>
288 </span>
289 </div>
290 </div>
291 </div>
292 </div>
293 </form>
294 <script type="text/javascript">
295 jQuery( document ).ready( function( jQuery ) {
296 jQuery("input[name='wppm_project_search_filter']").keypress(function(e) {
297 //Enter key
298 if (e.which == 13) {
299 wppm_project_search_filter();
300 }
301 });
302 jQuery("#wppm_proj_name_th").hover(function(){
303 jQuery('#wppm_chevron_sort_up_project_name_img').show();
304 jQuery('#wppm_chevron_sort_down_project_name_img').hide();
305 });
306 jQuery("#wppm_project_status_th").hover(function(){
307 jQuery('#wppm_chevron_sort_up_project_status_img').show();
308 jQuery('#wppm_chevron_sort_down_project_status_img').hide();
309 });
310 jQuery("#wppm_project_category_th").hover(function(){
311 jQuery('#wppm_chevron_sort_up_project_cat_img').show();
312 jQuery('#wppm_chevron_sort_down_project_cat_img').hide();
313 });
314 jQuery("#wppm_project_start_date_th").hover(function(){
315 jQuery('#wppm_chevron_sort_up_project_start_date_img').show();
316 jQuery('#wppm_chevron_sort_down_project_start_date_img').hide();
317 });
318 jQuery("#wppm_project_end_date_th").hover(function(){
319 jQuery('#wppm_chevron_sort_up_project_end_date_img').show();
320 jQuery('#wppm_chevron_sort_down_project_end_date_img').hide();
321 });
322 jQuery(".wppm_delete_action").on("click", function(e){
323 e.preventDefault();
324 return false;
325 });
326
327 jQuery('#wppm_project_list_frm').on('submit', function (e) {
328 var dataform = new FormData(jQuery('#wppm_project_list_frm')[0]);
329 jQuery.ajax({
330 url: wppm_admin.ajax_url,
331 type: 'POST',
332 data: dataform,
333 processData: false,
334 contentType: false,
335 success: function () {
336 alert('form was submitted');
337 }
338 });
339 });
340 });
341 </script>
342 <?php
343 add_action('wp_footer', 'wppm_page_inline_script', 99999999999999999999);
344 do_action('wppm_after_shortcode_loaded');
345 if(!function_exists('wppm_page_inline_script')) {
346 function wppm_page_inline_script() { ?>
347 <script type="text/javascript">
348 jQuery( document ).ready( function( jQuery ) {
349 wppm_get_project_list();
350 });
351 </script>
352 <?php }
353 }
354 ?>