PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 5.0.3
Taskbuilder – Project Management & Task Management Tool With Kanban Board v5.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 5.0.3, at includes/frontend/wppm_tasks_shortcode.php

416 lines 17.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($_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($_REQUEST['auth-code'] )))){ ?>
111 wppm_open_task(<?php echo esc_js(sanitize_text_field($_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 <?php echo do_action('wppm_task_list_dataform');?>
124 dataform.append("page_no", page_no);
125 dataform.append("action", 'wppm_get_task_list');
126 dataform.append("is_frontend", '1');
127 dataform.append("page",'wppm-tasks');
128 <?php
129 if(!empty($this->shortcode_attr['project'])){
130 ?>
131 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
132 <?php } ?>
133 jQuery.ajax( {
134 url: wppm_admin.ajax_url,
135 type: 'POST',
136 data: dataform,
137 processData: false,
138 contentType: false
139 })
140 .done(function( response ) {
141 jQuery('#wppm_task_container').html(response);
142 });
143 }
144
145 function wppm_add_new_task(proj_id){
146 jQuery('#wppm_task_container').show();
147 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
148 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
149 <?php echo do_action('wppm_add_new_task_dataform');?>
150 dataform.append("proj_id", proj_id);
151 dataform.append("action", 'wppm_add_new_task');
152 jQuery.ajax( {
153 url: wppm_admin.ajax_url,
154 type: 'POST',
155 data: dataform,
156 processData: false,
157 contentType: false
158 })
159 .done(function( response ) {
160 jQuery('#wppm_task_container').html(response);
161 });
162 }
163
164 function wppm_apply_task_filter(){
165 wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val();
166 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
167 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
168 <?php echo do_action('wppm_apply_task_filter_dataform');?>
169 dataform.append("wppm_task_filter", wppm_task_filter);
170 dataform.append("is_frontend", '1');
171 dataform.append("action", 'wppm_get_task_list');
172 dataform.append("page",'wppm-tasks');
173 <?php if(!empty($this->shortcode_attr['project'])){ ?>
174 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
175 <?php } ?>
176 jQuery.ajax( {
177 url: wppm_admin.ajax_url,
178 type: 'POST',
179 data: dataform,
180 processData: false,
181 contentType: false
182 })
183 .done(function( response ) {
184 jQuery('#wppm_task_container').html(response);
185 });
186 }
187
188 function wppm_tl_reset_filter(){
189 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
190 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
191 dataform.append("action", 'wppm_get_task_list');
192 dataform.append("wppm_task_filter", 'all');
193 dataform.append("task_search", '');
194 dataform.append("sort_by", 'task_name');
195 dataform.append("order", 'ASC');
196 dataform.append("wppm_proj_filter",0);
197 dataform.append("is_frontend", '1');
198 dataform.append("page",'wppm-tasks');
199 <?php if(!empty($this->shortcode_attr['project'])){ ?>
200 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
201 <?php } ?>
202 <?php echo do_action('wppm_tl_reset_filter_dataform');?>
203 jQuery.ajax( {
204 url: wppm_admin.ajax_url,
205 type: 'POST',
206 data: dataform,
207 processData: false,
208 contentType: false
209 })
210 .done(function( response ) {
211 jQuery('#wppm_task_container').html(response);
212 });
213 }
214
215 function wppm_task_search_filter(){
216 var task_search = jQuery("#wppm_task_search_filter").val();
217 jQuery('#wppm_task_container').show();
218 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
219 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
220 <?php echo do_action('wppm_task_search_filter_dataform');?>
221 dataform.append("action", 'wppm_get_task_list');
222 dataform.append("is_frontend", '1');
223 dataform.append("page",'wppm-tasks');
224 <?php if(!empty($this->shortcode_attr['project'])){ ?>
225 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
226 <?php } ?>
227 dataform.append("task_search", task_search);
228 jQuery.ajax( {
229 url: wppm_admin.ajax_url,
230 type: 'POST',
231 data: dataform,
232 processData: false,
233 contentType: false
234 })
235 .done(function( response ) {
236 jQuery('#wppm_task_container').html(response);
237 });
238 }
239
240 function wppm_display_grid_view(){
241 var task_search = jQuery("#wppm_view_task_search_filter").val();
242 jQuery('#wppm_task_container').show();
243 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
244 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
245 <?php echo do_action('wppm_display_grid_view_dataform');?>
246 dataform.append("action", 'wppm_get_task_list_card_view');
247 dataform.append("task_search", task_search);
248 dataform.append("is_frontend", '1');
249 dataform.append("page",'wppm-tasks');
250 <?php if(!empty($this->shortcode_attr['project'])){ ?>
251 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
252 <?php } ?>
253 jQuery.ajax( {
254 url: wppm_admin.ajax_url,
255 type: 'POST',
256 data: dataform,
257 processData: false,
258 contentType: false
259 })
260 .done(function( response ) {
261 jQuery('#wppm_task_container').html(response);
262 });
263 }
264
265 function wppm_sort_up_task_list(sort_by,order){
266 jQuery('#wppm_task_container').show();
267 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
268 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
269 <?php echo do_action('wppm_sort_up_task_list_dataform');?>
270 dataform.append("action", 'wppm_get_task_list');
271 dataform.append("sort_by", sort_by);
272 dataform.append("order", order);
273 dataform.append("is_frontend", '1');
274 dataform.append("page",'wppm-tasks');
275 <?php if(!empty($this->shortcode_attr['project'])){ ?>
276 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
277 <?php } ?>
278 jQuery.ajax( {
279 url: wppm_admin.ajax_url,
280 type: 'POST',
281 data: dataform,
282 processData: false,
283 contentType: false
284 })
285 .done(function( response ) {
286 jQuery('#wppm_task_container').html(response);
287 });
288 }
289
290 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 }
297 jQuery('#wppm_task_container').show();
298 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
299 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
300 <?php echo do_action('wppm_view_task_search_filter_dataform');?>
301 dataform.append("action", 'wppm_get_task_list_card_view');
302 dataform.append("task_search", task_search);
303 dataform.append("page_no",page_no);
304 dataform.append("is_frontend", '1');
305 dataform.append("page",'wppm-tasks');
306 <?php if(!empty($this->shortcode_attr['project'])){ ?>
307 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
308 <?php } ?>
309 jQuery.ajax( {
310 url: wppm_admin.ajax_url,
311 type: 'POST',
312 data: dataform,
313 processData: false,
314 contentType: false
315 })
316 .done(function( response ) {
317 jQuery('#wppm_task_container').html(response);
318 });
319 }
320
321 function wppm_apply_task_filter_grid_view(){
322 wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val();
323 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
324 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
325 <?php echo do_action('wppm_apply_task_filter_grid_view_dataform');?>
326 dataform.append("action", 'wppm_view_project_tasks');
327 dataform.append("wppm_task_filter", wppm_task_filter);
328 dataform.append("is_frontend", '1');
329 dataform.append("page",'wppm-tasks');
330 <?php if(!empty($this->shortcode_attr['project'])){ ?>
331 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
332 <?php } ?>
333 jQuery.ajax( {
334 url: wppm_admin.ajax_url,
335 type: 'POST',
336 data: dataform,
337 processData: false,
338 contentType: false
339 })
340 .done(function( response ) {
341 jQuery('#wppm_task_container').html(response);
342 });
343 }
344
345 function wppm_tl_reset_grid_view_filter(){
346 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
347 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
348 <?php echo do_action('wppm_tl_reset_grid_view_filter_dataform');?>
349 dataform.append("action", 'wppm_view_project_tasks');
350 dataform.append("task_search", "");
351 dataform.append("wppm_task_filter", "all");
352 dataform.append("sort_by", "task_name");
353 dataform.append("order", "ASC");
354 dataform.append("wppm_proj_filter","0");
355 dataform.append("is_frontend", '1');
356 dataform.append("page",'wppm-tasks');
357 <?php if(!empty($this->shortcode_attr['project'])){ ?>
358 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
359 <?php } ?>
360 jQuery.ajax( {
361 url: wppm_admin.ajax_url,
362 type: 'POST',
363 data: dataform,
364 processData: false,
365 contentType: false
366 })
367 .done(function( response ) {
368 jQuery('#wppm_task_container').html(response);
369 });
370 }
371 function wppm_tasks_by_select_project(){
372 wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val();
373 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
374 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
375 <?php echo do_action('wppm_change_proj_tl_filter_dataform');?>
376 dataform.append("action", 'wppm_get_task_list');
377 dataform.append("wppm_proj_filter",wppm_proj_filter);
378 dataform.append("is_frontend", '1');
379 dataform.append("page",'wppm-tasks');
380 jQuery.ajax( {
381 url: wppm_admin.ajax_url,
382 type: 'POST',
383 data: dataform,
384 processData: false,
385 contentType: false
386 })
387 .done(function( response ) {
388 jQuery('#wppm_task_container').html(response);
389 });
390 }
391
392 function wppm_tasks_by_select_project_grid_view(){
393 wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val();
394 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
395 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
396 <?php echo do_action('wppm_change_proj_grid_view_filter_dataform');?>
397 dataform.append("action", 'wppm_view_project_tasks');
398 dataform.append("wppm_proj_filter",wppm_proj_filter);
399 dataform.append("is_frontend", '1');
400 dataform.append("page",'wppm-tasks');
401 jQuery.ajax( {
402 url: wppm_admin.ajax_url,
403 type: 'POST',
404 data: dataform,
405 processData: false,
406 contentType: false
407 })
408 .done(function( response ) {
409 jQuery('#wppm_task_container').html(response);
410 });
411 }
412 </script>
413 <?php }
414 }
415 endif;
416 $GLOBALS['wppmtaskshortcode'] = new WPPM_Tasks_Shortcode($attr);