PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 6.0.3
Taskbuilder – Project Management & Task Management Tool With Kanban Board v6.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 / frontend / wppm_tasks_shortcode.php

wppm_tasks_shortcode.php in Taskbuilder – Project Management & Task Management Tool With Kanban Board 6.0.3, at includes/frontend/wppm_tasks_shortcode.php

429 lines 18.8 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
6 if ( ! class_exists( 'WPPM_Tasks_Shortcode' ) ) :
7 final class WPPM_Tasks_Shortcode {
8 public $shortcode_attr ;
9 // constructor
10 public function __construct($attr) {
11 global $wppmfunction;
12 $this->shortcode_attr = !empty($attr)? $wppmfunction->sanitize_array($attr):array();
13 $shortcode_attr = $this->shortcode_attr;
14 $this->wppm_display_tasks();
15 add_action('wp_footer', array($this,'wppm_page_inline_script' ),999999999999999999);
16 }
17
18 public function wppm_display_tasks(){
19 global $wpdb, $wppmfunction;
20 wp_enqueue_script('jquery');
21 wp_enqueue_script('jquery-ui-core');
22 wp_enqueue_script('jquery-ui-sortable');
23 wp_enqueue_script('jquery-ui-datepicker' );
24 wp_enqueue_editor();
25 wp_enqueue_style('wppm-bootstrap-css');
26 wp_enqueue_style('wppm-jquery-ui');
27 wp_enqueue_style('wppm-public-css');
28 wp_enqueue_style('wppm-admin-css');
29 wp_enqueue_style('wppm-modal-css');
30 wp_enqueue_style('wppm-flatpickr-css');
31 wp_enqueue_style('wppm-select2-css');
32 wp_enqueue_style('wppm-gpopover-css');
33 wp_enqueue_style('wppm-dragula-css');
34 wp_enqueue_script('wppm-admin');
35 wp_enqueue_script('wppm-public');
36 wp_enqueue_script('wppm-modal');
37 wp_enqueue_script('wppm-flatpickr-js');
38 wp_enqueue_script('wppm-select2-js');
39 wp_enqueue_script('wppm-gpopover-js');
40 wp_enqueue_script('wppm-dragula-js');
41 $settings = get_option("wppm-ap-modal");
42 ?>
43 <div class="wppm_bootstrap">
44 <div id="wppm_task_container"></div>
45 <div id="wppm_alert_success" class="alert alert-success wppm_alert" style="display:none;" role="alert">
46 <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/success.svg'); ?>" alt="success"> <span class="wppm_alert_text"></span>
47 </div>
48 <div id="wppm_alert_error" class="alert alert-danger wppm_alert" style="display:none;" role="alert">
49 <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/warning-triangle.svg'); ?>" alt="warning-triangle"> <span class="wppm_alert_text"></span>
50 </div>
51 </div>
52 <!-- Pop-up snippet start -->
53 <div id="wppm_task_popup_background" style="display:none;"></div>
54 <div id="wppm_task_popup_container" style="display:none;">
55 <div class="wppm_bootstrap">
56 <div class="row">
57 <div id="wppm_task_popup" class="col-xs-10 col-xs-offset-1 col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3">
58 <div id="wppm_task_popup_title" class="row" ><h3><?php echo esc_html_e('Modal Title','taskbuilder');?></h3></div>
59 <div id="wppm_task_popup_body" class="row"><?php echo esc_html_e('I am body!','taskbuilder');?></div>
60 <div id="wppm_task_popup_footer" class="row">
61 <button type="button" class="btn wppm_task_popup_close"><?php echo esc_html_e('Close','taskbuilder');?></button>
62 <button type="button" class="btn wppm_task_popup_action"><?php echo esc_html_e('Save Changes','taskbuilder');?></button>
63 </div>
64 </div>
65 </div>
66 </div>
67 </div>
68 <style>
69 #wppm_task_popup_title{
70 background-color: <?php echo esc_attr($settings['header-bg-color'])?>;
71 }
72 #wppm_task_popup_title h3{
73 color:<?php echo esc_attr( $settings['header-text-color'])?>;
74 }
75 #wppm_task_popup_body{
76 background-color: <?php echo esc_attr($settings['body-bg-color'])?>!important;
77 }
78 #wppm_task_popup_body label{
79 color:<?php echo esc_attr( $settings['body-label-color'])?>;
80 }
81 #wppm_task_popup_body input{
82 color:<?php echo esc_attr( $settings['body-text-color'])?>;
83 }
84 #wppm_task_popup_body select{
85 color:<?php echo esc_attr( $settings['body-text-color'])?>;
86 }
87 #wppm_task_popup_body span {
88 color:<?php echo esc_attr( $settings['body-text-color'])?>;
89 }
90 #wppm_task_popup_body .select2-results__options {
91 color:<?php echo esc_attr( $settings['body-text-color'])?>;
92 }
93 </style>
94 <!-- Pop-up snippet end -->
95 <?php
96 do_action('wppm_after_task_shortcode_loaded');
97 }
98
99 public function wppm_page_inline_script() { ?>
100 <script type="text/javascript">
101 jQuery( document ).ready( function( jQuery ) {
102 <?php if(is_user_logged_in()){
103 if( (!((isset($_REQUEST['task-id'])) && (!empty(sanitize_text_field(wp_unslash($_REQUEST['auth-code'] ))))))){
104 if(get_option('wppm_default_task_list_view')==1){ ?>
105 wppm_get_task_list();
106 <?php } else{
107 ?> wppm_view_task_search_filter();
108 <?php }
109 }
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 <?php }
113 }
114 else{ ?>
115 wppm_task_sign_in();
116 <?php } ?>
117 });
118
119 function wppm_get_task_list(page_no){
120 jQuery('#wppm_task_container').show();
121 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
122 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
123 jQuery(document).trigger('wppm_task_list_dataform', [dataform]);
124 <?php //do_action('wppm_task_list_dataform');?>
125 dataform.append("page_no", page_no);
126 dataform.append("action", 'wppm_get_task_list');
127 dataform.append("is_frontend", '1');
128 dataform.append("page",'wppm-tasks');
129 <?php
130 if(!empty($this->shortcode_attr['project'])){
131 ?>
132 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
133 <?php } ?>
134 jQuery.ajax( {
135 url: wppm_admin.ajax_url,
136 type: 'POST',
137 data: dataform,
138 processData: false,
139 contentType: false
140 })
141 .done(function( response ) {
142 jQuery('#wppm_task_container').html(response);
143 });
144 }
145
146 function wppm_add_new_task(proj_id){
147 jQuery('#wppm_task_container').show();
148 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
149 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
150 jQuery(document).trigger('wppm_add_new_task_dataform', [dataform]);
151 dataform.append("proj_id", proj_id);
152 dataform.append("action", 'wppm_add_new_task');
153 jQuery.ajax( {
154 url: wppm_admin.ajax_url,
155 type: 'POST',
156 data: dataform,
157 processData: false,
158 contentType: false
159 })
160 .done(function( response ) {
161 jQuery('#wppm_task_container').html(response);
162 });
163 }
164
165 function wppm_apply_task_filter(){
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() || "";
176 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
177 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
178 jQuery(document).trigger('wppm_apply_task_filter_dataform', [dataform]);
179 dataform.append("wppm_task_filter", wppm_task_filter);
180 dataform.append("filters", JSON.stringify(listFilters));
181 dataform.append("is_frontend", '1');
182 dataform.append("action", 'wppm_get_task_list');
183 dataform.append("page",'wppm-tasks');
184 <?php if(!empty($this->shortcode_attr['project'])){ ?>
185 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
186 <?php } ?>
187 jQuery.ajax( {
188 url: wppm_admin.ajax_url,
189 type: 'POST',
190 data: dataform,
191 processData: false,
192 contentType: false
193 })
194 .done(function( response ) {
195 jQuery('#wppm_task_container').html(response);
196 setListFilterCookie(listFilters);
197 setTimeout(function(){
198 syncUIWithFilters(listFilters);
199 renderActiveFilters(listFilters);
200 }, 100);
201 });
202 }
203
204 function wppm_tl_reset_filter(){
205 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
206 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
207 dataform.append("action", 'wppm_get_task_list');
208 dataform.append("wppm_task_filter", 'all');
209 dataform.append("task_search", '');
210 dataform.append("sort_by", 'task_name');
211 dataform.append("order", 'ASC');
212 dataform.append("wppm_proj_filter",0);
213 dataform.append("is_frontend", '1');
214 dataform.append("page",'wppm-tasks');
215 <?php if(!empty($this->shortcode_attr['project'])){ ?>
216 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
217 <?php } ?>
218 jQuery(document).trigger('wppm_tl_reset_filter_dataform', [dataform]);
219 jQuery.ajax( {
220 url: wppm_admin.ajax_url,
221 type: 'POST',
222 data: dataform,
223 processData: false,
224 contentType: false
225 })
226 .done(function( response ) {
227 jQuery('#wppm_task_container').html(response);
228 });
229 resetFilters('list');
230 }
231
232 function wppm_task_search_filter(){
233 var task_search = jQuery("#wppm_task_search_filter").val();
234 jQuery('#wppm_task_container').show();
235 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
236 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
237 jQuery(document).trigger('wppm_task_search_filter_dataform', [dataform]);
238 dataform.append("action", 'wppm_get_task_list');
239 dataform.append("is_frontend", '1');
240 dataform.append("page",'wppm-tasks');
241 <?php if(!empty($this->shortcode_attr['project'])){ ?>
242 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
243 <?php } ?>
244 dataform.append("task_search", task_search);
245 jQuery.ajax( {
246 url: wppm_admin.ajax_url,
247 type: 'POST',
248 data: dataform,
249 processData: false,
250 contentType: false
251 })
252 .done(function( response ) {
253 jQuery('#wppm_task_container').html(response);
254 });
255 }
256
257 function wppm_display_grid_view(){
258 var task_search = jQuery("#wppm_view_task_search_filter").val() || '';
259 jQuery('#wppm_task_container').show();
260 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
261 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
262 jQuery(document).trigger('wppm_display_grid_view_dataform', [dataform]);
263 dataform.append("action", 'wppm_get_task_list_card_view');
264 dataform.append("task_search", task_search);
265 dataform.append("is_frontend", '1');
266 dataform.append("page",'wppm-tasks');
267 <?php if(!empty($this->shortcode_attr['project'])){ ?>
268 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
269 <?php } ?>
270 jQuery.ajax( {
271 url: wppm_admin.ajax_url,
272 type: 'POST',
273 data: dataform,
274 processData: false,
275 contentType: false
276 })
277 .done(function( response ) {
278 jQuery('#wppm_task_container').html(response);
279 });
280 }
281
282 function wppm_sort_up_task_list(sort_by,order){
283 jQuery('#wppm_task_container').show();
284 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
285 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
286 dataform.append("action", 'wppm_get_task_list');
287 dataform.append("sort_by", sort_by);
288 dataform.append("order", order);
289 dataform.append("is_frontend", '1');
290 jQuery(document).trigger('wppm_sort_up_task_list_dataform', [dataform]);
291 dataform.append("page",'wppm-tasks');
292 <?php if(!empty($this->shortcode_attr['project'])){ ?>
293 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
294 <?php } ?>
295 jQuery.ajax( {
296 url: wppm_admin.ajax_url,
297 type: 'POST',
298 data: dataform,
299 processData: false,
300 contentType: false
301 })
302 .done(function( response ) {
303 jQuery('#wppm_task_container').html(response);
304 });
305 }
306
307 function wppm_view_task_search_filter(page_no){
308 var task_search = jQuery("#wppm_view_task_search_filter").val() || '';
309 jQuery('#wppm_task_container').show();
310 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
311 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
312 jQuery(document).trigger('wppm_view_task_search_filter_dataform', [dataform]);
313 dataform.append("action", 'wppm_get_task_list_card_view');
314 dataform.append("task_search", task_search);
315 dataform.append("page_no",page_no);
316 dataform.append("is_frontend", '1');
317 dataform.append("page",'wppm-tasks');
318 <?php if(!empty($this->shortcode_attr['project'])){ ?>
319 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
320 <?php } ?>
321 jQuery.ajax( {
322 url: wppm_admin.ajax_url,
323 type: 'POST',
324 data: dataform,
325 processData: false,
326 contentType: false
327 })
328 .done(function( response ) {
329 jQuery('#wppm_task_container').html(response);
330 });
331 }
332
333 function wppm_apply_task_filter_grid_view(){
334 wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val();
335 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
336 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
337 jQuery(document).trigger('wppm_apply_task_filter_grid_view_dataform', [dataform]);
338 dataform.append("action", 'wppm_view_project_tasks');
339 dataform.append("wppm_task_filter", wppm_task_filter);
340 dataform.append("is_frontend", '1');
341 dataform.append("page",'wppm-tasks');
342 <?php if(!empty($this->shortcode_attr['project'])){ ?>
343 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
344 <?php } ?>
345 jQuery.ajax( {
346 url: wppm_admin.ajax_url,
347 type: 'POST',
348 data: dataform,
349 processData: false,
350 contentType: false
351 })
352 .done(function( response ) {
353 jQuery('#wppm_task_container').html(response);
354 });
355 }
356
357 function wppm_tl_reset_grid_view_filter(){
358 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
359 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
360 jQuery(document).trigger('wppm_tl_reset_grid_view_filter_dataform', [dataform]);
361 dataform.append("action", 'wppm_view_project_tasks');
362 dataform.append("task_search", "");
363 dataform.append("wppm_task_filter", "all");
364 dataform.append("sort_by", "task_name");
365 dataform.append("order", "ASC");
366 dataform.append("wppm_proj_filter","0");
367 dataform.append("is_frontend", '1');
368 dataform.append("page",'wppm-tasks');
369 <?php if(!empty($this->shortcode_attr['project'])){ ?>
370 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
371 <?php } ?>
372 jQuery.ajax( {
373 url: wppm_admin.ajax_url,
374 type: 'POST',
375 data: dataform,
376 processData: false,
377 contentType: false
378 })
379 .done(function( response ) {
380 jQuery('#wppm_task_container').html(response);
381 });
382 }
383
384 function wppm_tasks_by_select_project(){
385 wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val();
386 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
387 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
388 jQuery(document).trigger('wppm_change_proj_tl_filter_dataform', [dataform]);
389 dataform.append("action", 'wppm_get_task_list');
390 dataform.append("wppm_proj_filter",wppm_proj_filter);
391 dataform.append("is_frontend", '1');
392 dataform.append("page",'wppm-tasks');
393 jQuery.ajax( {
394 url: wppm_admin.ajax_url,
395 type: 'POST',
396 data: dataform,
397 processData: false,
398 contentType: false
399 })
400 .done(function( response ) {
401 jQuery('#wppm_task_container').html(response);
402 });
403 }
404
405 function wppm_tasks_by_select_project_grid_view(){
406 wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val();
407 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
408 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
409 jQuery(document).trigger('wppm_change_proj_grid_view_filter_dataform', [dataform]);
410 dataform.append("action", 'wppm_view_project_tasks');
411 dataform.append("wppm_proj_filter",wppm_proj_filter);
412 dataform.append("is_frontend", '1');
413 dataform.append("page",'wppm-tasks');
414 jQuery.ajax( {
415 url: wppm_admin.ajax_url,
416 type: 'POST',
417 data: dataform,
418 processData: false,
419 contentType: false
420 })
421 .done(function( response ) {
422 jQuery('#wppm_task_container').html(response);
423 });
424 }
425 </script>
426 <?php }
427 }
428 endif;
429 $GLOBALS['wppmtaskshortcode'] = new WPPM_Tasks_Shortcode($attr);