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

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