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

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