PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 6.0.6
Taskbuilder – Project Management & Task Management Tool With Kanban Board v6.0.6
6.0.6 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 All 58 releases
← All changes | includes/frontend/wppm_tasks_shortcode.php +56 -24 5.0.36.0.6 View file →
@@ -99,9 +99,9 @@
99 99 public function wppm_page_inline_script() { ?>
100 100 <script type="text/javascript">
101 101 jQuery( document ).ready( function( jQuery ) {
102 102 <?php if(is_user_logged_in()){
103 - if( (!((isset($_REQUEST['task-id'])) && (!empty(sanitize_text_field($_REQUEST['auth-code'] )))))){
103 + if( (!((isset($_REQUEST['task-id'])) && (!empty(sanitize_text_field(wp_unslash($_REQUEST['auth-code'] ))))))){
104 104 if(get_option('wppm_default_task_list_view')==1){ ?>
105 105 wppm_get_task_list();
106 106 <?php } else{
107 107 ?> wppm_view_task_search_filter();
@@ -106,10 +106,10 @@
106 106 <?php } else{
107 107 ?> wppm_view_task_search_filter();
108 108 <?php }
109 109 }
110 - if((isset($_REQUEST['task-id'])) && (!empty(sanitize_text_field($_REQUEST['auth-code'] )))){ ?>
111 - wppm_open_task(<?php echo esc_js(sanitize_text_field($_REQUEST['task-id'])); ?>);
110 + if((isset($_REQUEST['task-id'])) && (!empty(sanitize_text_field(wp_unslash($_REQUEST['auth-code'] ))))){ ?>
111 + wppm_open_task(<?php echo (intval(wp_unslash($_REQUEST['task-id']))); ?>);
112 112 <?php }
113 113 }
114 114 else{ ?>
115 115 wppm_task_sign_in();
@@ -119,9 +119,10 @@
119 119 function wppm_get_task_list(page_no){
120 120 jQuery('#wppm_task_container').show();
121 121 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
122 122 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
123 - <?php echo do_action('wppm_task_list_dataform');?>
123 + jQuery(document).trigger('wppm_task_list_dataform', [dataform]);
124 + <?php //do_action('wppm_task_list_dataform');?>
124 125 dataform.append("page_no", page_no);
125 126 dataform.append("action", 'wppm_get_task_list');
126 127 dataform.append("is_frontend", '1');
127 128 dataform.append("page",'wppm-tasks');
@@ -145,9 +146,9 @@
145 146 function wppm_add_new_task(proj_id){
146 147 jQuery('#wppm_task_container').show();
147 148 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
148 149 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
149 - <?php echo do_action('wppm_add_new_task_dataform');?>
150 + jQuery(document).trigger('wppm_add_new_task_dataform', [dataform]);
150 151 dataform.append("proj_id", proj_id);
151 152 dataform.append("action", 'wppm_add_new_task');
152 153 jQuery.ajax( {
153 154 url: wppm_admin.ajax_url,
@@ -162,12 +163,22 @@
162 163 }
163 164
164 165 function wppm_apply_task_filter(){
165 166 wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val();
167 + var listFilters = {};
168 + listFilters.created_by = jQuery("#tb-created-by").val();
169 + listFilters.created_by = listFilters.created_by ? listFilters.created_by : [];
170 + listFilters.assigned = jQuery("#tb-assigned").val();
171 + listFilters.assigned = listFilters.assigned ? listFilters.assigned : [];
172 + listFilters.priority = jQuery("#tb-priority").val();
173 + listFilters.priority = listFilters.priority ? listFilters.priority : [];
174 + listFilters.start_date = jQuery("#tb-start-date").val() || "";
175 + listFilters.end_date = jQuery("#tb-end-date").val() || "";
166 176 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
167 177 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
168 - <?php echo do_action('wppm_apply_task_filter_dataform');?>
178 + jQuery(document).trigger('wppm_apply_task_filter_dataform', [dataform]);
169 179 dataform.append("wppm_task_filter", wppm_task_filter);
180 + dataform.append("filters", JSON.stringify(listFilters));
170 181 dataform.append("is_frontend", '1');
171 182 dataform.append("action", 'wppm_get_task_list');
172 183 dataform.append("page",'wppm-tasks');
173 184 <?php if(!empty($this->shortcode_attr['project'])){ ?>
@@ -181,12 +192,22 @@
181 192 contentType: false
182 193 })
183 194 .done(function( response ) {
184 195 jQuery('#wppm_task_container').html(response);
196 + setListFilterCookie(listFilters);
197 + setTimeout(function(){
198 + syncUIWithFilters(listFilters);
199 + renderActiveFilters(listFilters);
200 + }, 100);
185 201 });
186 202 }
187 203
188 204 function wppm_tl_reset_filter(){
205 + // clear advanced filters + cookie BEFORE requesting the list,
206 + // otherwise this request still sends the stale tb_list_filters
207 + // cookie and the reset only takes effect on the next click
208 + resetFilters('list');
209 +
189 210 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
190 211 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
191 212 dataform.append("action", 'wppm_get_task_list');
192 213 dataform.append("wppm_task_filter", 'all');
@@ -198,9 +219,9 @@
198 219 dataform.append("page",'wppm-tasks');
199 220 <?php if(!empty($this->shortcode_attr['project'])){ ?>
200 221 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
201 222 <?php } ?>
202 - <?php echo do_action('wppm_tl_reset_filter_dataform');?>
223 + jQuery(document).trigger('wppm_tl_reset_filter_dataform', [dataform]);
203 224 jQuery.ajax( {
204 225 url: wppm_admin.ajax_url,
205 226 type: 'POST',
206 227 data: dataform,
@@ -205,9 +226,9 @@
205 226 type: 'POST',
206 227 data: dataform,
207 228 processData: false,
208 229 contentType: false
209 - })
230 + })
210 231 .done(function( response ) {
211 232 jQuery('#wppm_task_container').html(response);
212 233 });
213 234 }
@@ -216,9 +237,9 @@
216 237 var task_search = jQuery("#wppm_task_search_filter").val();
217 238 jQuery('#wppm_task_container').show();
218 239 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
219 240 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
220 - <?php echo do_action('wppm_task_search_filter_dataform');?>
241 + jQuery(document).trigger('wppm_task_search_filter_dataform', [dataform]);
221 242 dataform.append("action", 'wppm_get_task_list');
222 243 dataform.append("is_frontend", '1');
223 244 dataform.append("page",'wppm-tasks');
224 245 <?php if(!empty($this->shortcode_attr['project'])){ ?>
@@ -237,13 +258,13 @@
237 258 });
238 259 }
239 260
240 261 function wppm_display_grid_view(){
241 - var task_search = jQuery("#wppm_view_task_search_filter").val();
262 + var task_search = jQuery("#wppm_view_task_search_filter").val() || '';
242 263 jQuery('#wppm_task_container').show();
243 264 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
244 265 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
245 - <?php echo do_action('wppm_display_grid_view_dataform');?>
266 + jQuery(document).trigger('wppm_display_grid_view_dataform', [dataform]);
246 267 dataform.append("action", 'wppm_get_task_list_card_view');
247 268 dataform.append("task_search", task_search);
248 269 dataform.append("is_frontend", '1');
249 270 dataform.append("page",'wppm-tasks');
@@ -265,13 +286,13 @@
265 286 function wppm_sort_up_task_list(sort_by,order){
266 287 jQuery('#wppm_task_container').show();
267 288 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
268 289 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
269 - <?php echo do_action('wppm_sort_up_task_list_dataform');?>
270 290 dataform.append("action", 'wppm_get_task_list');
271 291 dataform.append("sort_by", sort_by);
272 292 dataform.append("order", order);
273 293 dataform.append("is_frontend", '1');
294 + jQuery(document).trigger('wppm_sort_up_task_list_dataform', [dataform]);
274 295 dataform.append("page",'wppm-tasks');
275 296 <?php if(!empty($this->shortcode_attr['project'])){ ?>
276 297 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
277 298 <?php } ?>
@@ -287,18 +308,13 @@
287 308 });
288 309 }
289 310
290 311 function wppm_view_task_search_filter(page_no){
291 - var task_search = jQuery("#wppm_view_task_search_filter").val();
292 - if(typeof task_search == "undefined"){
293 - var task_search ="";
294 - }else{
295 - var task_search =jQuery("#wppm_view_task_search_filter").val();
296 - }
312 + var task_search = jQuery("#wppm_view_task_search_filter").val() || '';
297 313 jQuery('#wppm_task_container').show();
298 314 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
299 315 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
300 - <?php echo do_action('wppm_view_task_search_filter_dataform');?>
316 + jQuery(document).trigger('wppm_view_task_search_filter_dataform', [dataform]);
301 317 dataform.append("action", 'wppm_get_task_list_card_view');
302 318 dataform.append("task_search", task_search);
303 319 dataform.append("page_no",page_no);
304 320 dataform.append("is_frontend", '1');
@@ -321,9 +337,9 @@
321 337 function wppm_apply_task_filter_grid_view(){
322 338 wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val();
323 339 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
324 340 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
325 - <?php echo do_action('wppm_apply_task_filter_grid_view_dataform');?>
341 + jQuery(document).trigger('wppm_apply_task_filter_grid_view_dataform', [dataform]);
326 342 dataform.append("action", 'wppm_view_project_tasks');
327 343 dataform.append("wppm_task_filter", wppm_task_filter);
328 344 dataform.append("is_frontend", '1');
329 345 dataform.append("page",'wppm-tasks');
@@ -342,11 +358,26 @@
342 358 });
343 359 }
344 360
345 361 function wppm_tl_reset_grid_view_filter(){
362 + // clear advanced filters + cookie BEFORE requesting the list,
363 + // otherwise this request still sends the stale tb_filters cookie
364 + // and the advanced filters never actually get reset
365 + jQuery("#tb-created-by").val(null).trigger("change");
366 + jQuery("#tb-assigned").val(null).trigger("change");
367 + jQuery("#tb-priority").val(null).trigger("change");
368 + jQuery("#tb-start-date").val("");
369 + jQuery("#tb-end-date").val("");
370 + jQuery("#tb-advanced-panel").removeClass("tb-open");
371 + jQuery("#tb-backdrop").removeClass("active");
372 + jQuery("#tb-active-filters").html('');
373 + window.filters = { created_by: [], assigned: [], priority: [], start_date: "", end_date: "" };
374 + document.cookie = "tb_filters=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
375 + window.localStorage.removeItem('wppm_task_filter');
376 +
346 377 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
347 378 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
348 - <?php echo do_action('wppm_tl_reset_grid_view_filter_dataform');?>
379 + jQuery(document).trigger('wppm_tl_reset_grid_view_filter_dataform', [dataform]);
349 380 dataform.append("action", 'wppm_view_project_tasks');
350 381 dataform.append("task_search", "");
351 382 dataform.append("wppm_task_filter", "all");
352 383 dataform.append("sort_by", "task_name");
@@ -362,18 +393,19 @@
362 393 type: 'POST',
363 394 data: dataform,
364 395 processData: false,
365 396 contentType: false
366 - })
397 + })
367 398 .done(function( response ) {
368 399 jQuery('#wppm_task_container').html(response);
369 400 });
370 401 }
402 +
371 403 function wppm_tasks_by_select_project(){
372 404 wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val();
373 405 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
374 406 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
375 - <?php echo do_action('wppm_change_proj_tl_filter_dataform');?>
407 + jQuery(document).trigger('wppm_change_proj_tl_filter_dataform', [dataform]);
376 408 dataform.append("action", 'wppm_get_task_list');
377 409 dataform.append("wppm_proj_filter",wppm_proj_filter);
378 410 dataform.append("is_frontend", '1');
379 411 dataform.append("page",'wppm-tasks');
@@ -392,9 +424,9 @@
392 424 function wppm_tasks_by_select_project_grid_view(){
393 425 wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val();
394 426 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
395 427 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
396 - <?php echo do_action('wppm_change_proj_grid_view_filter_dataform');?>
428 + jQuery(document).trigger('wppm_change_proj_grid_view_filter_dataform', [dataform]);
397 429 dataform.append("action", 'wppm_view_project_tasks');
398 430 dataform.append("wppm_proj_filter",wppm_proj_filter);
399 431 dataform.append("is_frontend", '1');
400 432 dataform.append("page",'wppm-tasks');