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

387 lines 16.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_popup_background" style="display:none;"></div>
54 <div id="wppm_popup_container" style="display:none;">
55 <div class="wppm_bootstrap">
56 <div class="row">
57 <div id="wppm_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_popup_title" class="row" ><h3><?php echo esc_html_e('Modal Title','taskbuilder');?></h3></div>
59 <div id="wppm_popup_body" class="row"><?php echo esc_html_e('I am body!','taskbuilder');?></div>
60 <div id="wppm_popup_footer" class="row">
61 <button type="button" class="btn wppm_popup_close"><?php echo esc_html_e('Close','taskbuilder');?></button>
62 <button type="button" class="btn wppm_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_popup_title{
70 background-color: <?php echo esc_attr($settings['header-bg-color'])?>;
71 }
72 #wppm_popup_title h3{
73 color:<?php echo esc_attr( $settings['header-text-color'])?>;
74 }
75 #wppm_popup_body{
76 background-color: <?php echo esc_attr($settings['body-bg-color'])?>!important;
77 }
78 #wppm_popup_body label{
79 color:<?php echo esc_attr( $settings['body-label-color'])?>;
80 }
81 #wppm_popup_body input{
82 color:<?php echo esc_attr( $settings['body-text-color'])?>;
83 }
84 #wppm_popup_body select{
85 color:<?php echo esc_attr( $settings['body-text-color'])?>;
86 }
87 #wppm_popup_body span {
88 color:<?php echo esc_attr( $settings['body-text-color'])?>;
89 }
90 #wppm_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(get_option('wppm_default_task_list_view')==1){ ?>
104 wppm_get_task_list();
105 <?php } else{ ?>
106 wppm_view_task_search_filter();
107 <?php }
108 } else{ ?>
109 wppm_task_sign_in();
110 <?php }?>
111 });
112
113 function wppm_get_task_list(page_no){
114 jQuery('#wppm_task_container').show();
115 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
116 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
117 <?php echo do_action('wppm_task_list_dataform');?>
118 dataform.append("page_no", page_no);
119 dataform.append("action", 'wppm_get_task_list');
120 <?php
121 if(!empty($this->shortcode_attr['project'])){
122 ?>
123 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
124 <?php } ?>
125 jQuery.ajax( {
126 url: wppm_admin.ajax_url,
127 type: 'POST',
128 data: dataform,
129 processData: false,
130 contentType: false
131 })
132 .done(function( response ) {
133 jQuery('#wppm_task_container').html(response);
134 });
135 }
136
137 function wppm_add_new_task(proj_id){
138 jQuery('#wppm_task_container').show();
139 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
140 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
141 <?php echo do_action('wppm_add_new_task_dataform');?>
142 dataform.append("proj_id", proj_id);
143 dataform.append("action", 'wppm_add_new_task');
144 jQuery.ajax( {
145 url: wppm_admin.ajax_url,
146 type: 'POST',
147 data: dataform,
148 processData: false,
149 contentType: false
150 })
151 .done(function( response ) {
152 jQuery('#wppm_task_container').html(response);
153 });
154 }
155
156 function wppm_apply_task_filter(){
157 wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val();
158 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
159 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
160 <?php echo do_action('wppm_apply_task_filter_dataform');?>
161 dataform.append("wppm_task_filter", wppm_task_filter);
162 dataform.append("action", 'wppm_get_task_list');
163 <?php if(!empty($this->shortcode_attr['project'])){ ?>
164 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
165 <?php } ?>
166 jQuery.ajax( {
167 url: wppm_admin.ajax_url,
168 type: 'POST',
169 data: dataform,
170 processData: false,
171 contentType: false
172 })
173 .done(function( response ) {
174 jQuery('#wppm_task_container').html(response);
175 });
176 }
177 function wppm_tl_reset_filter(){
178 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
179 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
180 dataform.append("action", 'wppm_get_task_list');
181 dataform.append("wppm_task_filter", 'all');
182 dataform.append("task_search", '');
183 dataform.append("sort_by", 'task_name');
184 dataform.append("order", 'ASC');
185 dataform.append("wppm_proj_filter",0);
186 <?php if(!empty($this->shortcode_attr['project'])){ ?>
187 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
188 <?php } ?>
189 <?php echo do_action('wppm_tl_reset_filter_dataform');?>
190 jQuery.ajax( {
191 url: wppm_admin.ajax_url,
192 type: 'POST',
193 data: dataform,
194 processData: false,
195 contentType: false
196 })
197 .done(function( response ) {
198 jQuery('#wppm_task_container').html(response);
199 });
200 }
201
202 function wppm_task_search_filter(){
203 var task_search = jQuery("#wppm_task_search_filter").val();
204 jQuery('#wppm_task_container').show();
205 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
206 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
207 <?php echo do_action('wppm_task_search_filter_dataform');?>
208 dataform.append("action", 'wppm_get_task_list');
209 <?php if(!empty($this->shortcode_attr['project'])){ ?>
210 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
211 <?php } ?>
212 dataform.append("task_search", task_search);
213 jQuery.ajax( {
214 url: wppm_admin.ajax_url,
215 type: 'POST',
216 data: dataform,
217 processData: false,
218 contentType: false
219 })
220 .done(function( response ) {
221 jQuery('#wppm_task_container').html(response);
222 });
223 }
224
225 function wppm_display_grid_view(){
226 var task_search = jQuery("#wppm_view_task_search_filter").val();
227 jQuery('#wppm_task_container').show();
228 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
229 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
230 <?php echo do_action('wppm_display_grid_view_dataform');?>
231 dataform.append("action", 'wppm_get_task_list_card_view');
232 dataform.append("task_search", task_search);
233 <?php if(!empty($this->shortcode_attr['project'])){ ?>
234 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
235 <?php } ?>
236 jQuery.ajax( {
237 url: wppm_admin.ajax_url,
238 type: 'POST',
239 data: dataform,
240 processData: false,
241 contentType: false
242 })
243 .done(function( response ) {
244 jQuery('#wppm_task_container').html(response);
245 });
246 }
247
248 function wppm_sort_up_task_list(sort_by,order){
249 jQuery('#wppm_task_container').show();
250 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
251 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
252 <?php echo do_action('wppm_sort_up_task_list_dataform');?>
253 dataform.append("action", 'wppm_get_task_list');
254 dataform.append("sort_by", sort_by);
255 dataform.append("order", order);
256 <?php if(!empty($this->shortcode_attr['project'])){ ?>
257 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
258 <?php } ?>
259 jQuery.ajax( {
260 url: wppm_admin.ajax_url,
261 type: 'POST',
262 data: dataform,
263 processData: false,
264 contentType: false
265 })
266 .done(function( response ) {
267 jQuery('#wppm_task_container').html(response);
268 });
269 }
270
271 function wppm_view_task_search_filter(page_no){
272 var task_search = jQuery("#wppm_view_task_search_filter").val();
273 if(typeof task_search == "undefined"){
274 var task_search ="";
275 }else{
276 var task_search =jQuery("#wppm_view_task_search_filter").val();
277 }
278 jQuery('#wppm_task_container').show();
279 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
280 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
281 <?php echo do_action('wppm_view_task_search_filter_dataform');?>
282 dataform.append("action", 'wppm_get_task_list_card_view');
283 dataform.append("task_search", task_search);
284 dataform.append("page_no",page_no);
285 <?php if(!empty($this->shortcode_attr['project'])){ ?>
286 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
287 <?php } ?>
288 jQuery.ajax( {
289 url: wppm_admin.ajax_url,
290 type: 'POST',
291 data: dataform,
292 processData: false,
293 contentType: false
294 })
295 .done(function( response ) {
296 jQuery('#wppm_task_container').html(response);
297 });
298 }
299
300 function wppm_apply_task_filter_grid_view(){
301 wppm_task_filter = jQuery('#wppm_task_filter').find(":selected").val();
302 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
303 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
304 <?php echo do_action('wppm_apply_task_filter_grid_view_dataform');?>
305 dataform.append("action", 'wppm_view_project_tasks');
306 dataform.append("wppm_task_filter", wppm_task_filter);
307 <?php if(!empty($this->shortcode_attr['project'])){ ?>
308 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
309 <?php } ?>
310 jQuery.ajax( {
311 url: wppm_admin.ajax_url,
312 type: 'POST',
313 data: dataform,
314 processData: false,
315 contentType: false
316 })
317 .done(function( response ) {
318 jQuery('#wppm_task_container').html(response);
319 });
320 }
321
322 function wppm_tl_reset_grid_view_filter(){
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_tl_reset_grid_view_filter_dataform');?>
326 dataform.append("action", 'wppm_view_project_tasks');
327 dataform.append("task_search", "");
328 dataform.append("wppm_task_filter", "all");
329 dataform.append("sort_by", "task_name");
330 dataform.append("order", "ASC");
331 dataform.append("wppm_proj_filter","0");
332 <?php if(!empty($this->shortcode_attr['project'])){ ?>
333 dataform.append("wppm_project_attr","<?php echo esc_attr($this->shortcode_attr['project']); ?>");
334 <?php } ?>
335 jQuery.ajax( {
336 url: wppm_admin.ajax_url,
337 type: 'POST',
338 data: dataform,
339 processData: false,
340 contentType: false
341 })
342 .done(function( response ) {
343 jQuery('#wppm_task_container').html(response);
344 });
345 }
346 function wppm_tasks_by_select_project(){
347 wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val();
348 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
349 var dataform=new FormData(jQuery('#wppm_task_list_frm')[0]);
350 <?php echo do_action('wppm_change_proj_tl_filter_dataform');?>
351 dataform.append("action", 'wppm_get_task_list');
352 dataform.append("wppm_proj_filter",wppm_proj_filter);
353 jQuery.ajax( {
354 url: wppm_admin.ajax_url,
355 type: 'POST',
356 data: dataform,
357 processData: false,
358 contentType: false
359 })
360 .done(function( response ) {
361 jQuery('#wppm_task_container').html(response);
362 });
363 }
364
365 function wppm_tasks_by_select_project_grid_view(){
366 wppm_proj_filter = jQuery('#wppm_task_list_proj_filter').find(":selected").val();
367 jQuery('#wppm_task_container').html(wppm_admin.loading_html);
368 var dataform=new FormData(jQuery('#wppm_view_project_task')[0]);
369 <?php echo do_action('wppm_change_proj_grid_view_filter_dataform');?>
370 dataform.append("action", 'wppm_view_project_tasks');
371 dataform.append("wppm_proj_filter",wppm_proj_filter);
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 </script>
384 <?php }
385 }
386 endif;
387 $GLOBALS['wppmtaskshortcode'] = new WPPM_Tasks_Shortcode($attr);