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

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