PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 6.0.6
Taskbuilder – Project Management & Task Management Tool With Kanban Board v6.0.6
6.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 All 58 releases
taskbuilder / includes / frontend / shortcode.php

shortcode.php in Taskbuilder – Project Management & Task Management Tool With Kanban Board 6.0.6, at includes/frontend/shortcode.php

283 lines 11.4 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 wp_enqueue_script('jquery');
6 wp_enqueue_script('jquery-ui-core');
7 wp_enqueue_script('jquery-ui-sortable');
8 wp_enqueue_script('jquery-ui-datepicker' );
9 wp_enqueue_editor();
10
11 wp_enqueue_style('wppm-bootstrap-css');
12 wp_enqueue_style('wppm-jquery-ui');
13 wp_enqueue_style('wppm-public-css');
14 wp_enqueue_style('wppm-admin-css');
15 wp_enqueue_style('wppm-modal-css');
16 wp_enqueue_style('wppm-flatpickr-css');
17 wp_enqueue_style('wppm-select2-css');
18 wp_enqueue_style('wppm-gpopover-css');
19 wp_enqueue_style('wppm-dragula-css');
20
21 wp_enqueue_script('wppm-admin');
22 wp_enqueue_script('wppm-public');
23 wp_enqueue_script('wppm-modal');
24 wp_enqueue_script('wppm-flatpickr-js');
25 wp_enqueue_script('wppm-select2-js');
26 wp_enqueue_script('wppm-gpopover-js');
27 wp_enqueue_script('wppm-dragula-js');
28 wp_enqueue_script('wppm-datatable-js');
29 wp_enqueue_script('wppm-datatable-css');
30 $settings = get_option("wppm-ap-modal");
31 ?>
32 <div class="wppm_bootstrap">
33 <div id="wppm_project_container"></div>
34 <div id="wppm_alert_success" class="alert alert-success wppm_alert" style="display:none;" role="alert">
35 <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/success.svg'); ?>" alt="success"> <span class="wppm_alert_text"></span>
36 </div>
37 <div id="wppm_alert_error" class="alert alert-danger wppm_alert" style="display:none;" role="alert">
38 <img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/warning-triangle.svg'); ?>" alt="warning-triangle"> <span class="wppm_alert_text"></span>
39 </div>
40 </div>
41 <!-- Pop-up snippet start -->
42 <div id="wppm_popup_background" style="display:none;"></div>
43 <div id="wppm_popup_container" style="display:none;">
44 <div class="wppm_bootstrap">
45 <div class="row">
46 <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">
47 <div id="wppm_popup_title" class="row" ><h3><?php echo esc_html_e('Modal Title','taskbuilder');?></h3></div>
48 <div id="wppm_popup_body" class="row"><?php echo esc_html_e('I am body!','taskbuilder');?></div>
49 <div id="wppm_popup_footer" class="row">
50 <button type="button" class="btn wppm_popup_close"><?php echo esc_html_e('Close','taskbuilder');?></button>
51 <button type="button" class="btn wppm_popup_action"><?php echo esc_html_e('Save Changes','taskbuilder');?></button>
52 </div>
53 </div>
54 </div>
55 </div>
56 </div>
57 <style>
58 #wppm_popup_title{
59 background-color: <?php echo esc_attr($settings['header-bg-color'])?>;
60 }
61 #wppm_popup_title h3{
62 color:<?php echo esc_attr( $settings['header-text-color'])?>;
63 }
64 #wppm_popup_body{
65 background-color: <?php echo esc_attr($settings['body-bg-color'])?>!important;
66 }
67 #wppm_popup_body label{
68 color:<?php echo esc_attr( $settings['body-label-color'])?>;
69 }
70 #wppm_popup_body input{
71 color:<?php echo esc_attr( $settings['body-text-color'])?>;
72 }
73 #wppm_popup_body select{
74 color:<?php echo esc_attr( $settings['body-text-color'])?>;
75 }
76 #wppm_popup_body span {
77 color:<?php echo esc_attr( $settings['body-text-color'])?>;
78 }
79 #wppm_popup_body .select2-results__options {
80 color:<?php echo esc_attr( $settings['body-text-color'])?>;
81 }
82 #wppm_popup_footer{
83 background-color: <?php echo esc_attr($settings['footer-bg-color'])?>!important;
84 }
85 .wppm_popup_action{
86 background-color: <?php echo esc_attr($settings['action-btn-bg-color'])?>!important;
87 color:<?php echo esc_attr( $settings['action-btn-text-color'])?>!important;
88 }
89 </style>
90 <!-- Pop-up snippet end -->
91 <?php
92 add_action('wp_footer', 'wppm_page_inline_script', 999999999999999999);
93 do_action('wppm_after_shortcode_loaded');
94 if(!function_exists('wppm_page_inline_script')) {
95 function wppm_page_inline_script() { ?>
96 <script type="text/javascript">
97 jQuery( document ).ready( function( jQuery ) {
98 <?php if(is_user_logged_in()){
99 if((!((isset($_REQUEST['project-id'])) && (!empty(sanitize_text_field(wp_unslash($_REQUEST['auth-code'] ))))))){
100 ?>
101 wppm_get_project_list();
102 <?php }
103 if((isset($_REQUEST['project-id'])) && (!empty(sanitize_text_field($_REQUEST['auth-code'] )))){ ?>
104 wppm_open_project(<?php echo (intval(wp_unslash($_REQUEST['project-id']))); ?>);
105 <?php }
106 }
107 else{ ?>
108 wppm_sign_in();
109 <?php }?>
110 });
111
112 function wppm_get_project_list(page_no){
113 jQuery('#wppm_project_container').show();
114 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
115 var dataform=new FormData(jQuery('#wppm_project_list_frm')[0]);
116 jQuery(document).trigger('wppm_project_list_dataform', [dataform]);
117 dataform.append("page_no", page_no);
118 dataform.append("action", 'wppm_get_project_list');
119 dataform.append('page', wppm_admin.page);
120 dataform.append("is_frontend", '1');
121 jQuery.ajax( {
122 url: wppm_admin.ajax_url,
123 type: 'POST',
124 data: dataform,
125 processData: false,
126 contentType: false
127 })
128 .done(function( response ) {
129 jQuery('#wppm_project_container').html(response);
130 });
131 }
132
133 function wppm_pl_reset_filter(is_archieved){
134 // clear advanced filter UI + cookie BEFORE requesting the list,
135 // otherwise this request still sends the stale tb_proj_list_filters
136 // cookie and the reset only takes effect on the next click
137 jQuery("#tb-created-by").val(null).trigger("change");
138 jQuery("#tb-assigned").val(null).trigger("change");
139 jQuery("#tb-category").val(null).trigger("change");
140 jQuery("#tb-start-date").val("");
141 jQuery("#tb-end-date").val("");
142 jQuery("#tb-advanced-panel").removeClass("tb-open");
143 jQuery("#tb-backdrop").removeClass("active");
144 jQuery("#tb-active-filters").html('');
145 window.projectFilters = { created_by: [], assigned: [], category: [], start_date: "", end_date: "" };
146 document.cookie = "tb_proj_list_filters=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
147
148 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
149 var dataform=new FormData(jQuery('#wppm_project_list_frm')[0]);
150 dataform.append("action", 'wppm_get_project_list');
151 dataform.append("wppm_project_filter", 'all');
152 dataform.append("project_search", '');
153 dataform.append("sort_by", 'project_name');
154 dataform.append("order", 'ASC');
155 dataform.append("is_frontend", '1');
156 dataform.append("page", wppm_admin.page);
157 dataform.append("is_archieved",is_archieved);
158 // send explicit empty filters so the server doesn't fall back to
159 // the (possibly not-yet-expired) tb_proj_list_filters cookie
160 dataform.append("filters", JSON.stringify({}));
161 jQuery(document).trigger('wppm_reset_project_dataform', [dataform]);
162 jQuery.ajax( {
163 url: wppm_admin.ajax_url,
164 type: 'POST',
165 data: dataform,
166 processData: false,
167 contentType: false
168 })
169 .done(function( response ) {
170 jQuery('#wppm_project_container').html(response);
171 });
172 }
173
174 function wppm_add_new_project(){
175 jQuery('#wppm_project_container').show();
176 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
177 var dataform=new FormData(jQuery('#wppm_add_new_project')[0]);
178 jQuery(document).trigger('wppm_add_new_project_dataform', [dataform]);
179 dataform.append("action", 'wppm_add_new_project');
180 jQuery.ajax( {
181 url: wppm_admin.ajax_url,
182 type: 'POST',
183 data: dataform,
184 processData: false,
185 contentType: false
186 })
187 .done(function( response ) {
188 jQuery('#wppm_project_container').html(response);
189 });
190 }
191
192 function wppm_apply_project_filter(is_archieved){
193 wppm_project_filter = jQuery('#wppm_project_filter').find(":selected").val();
194 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
195 var dataform=new FormData(jQuery('#wppm_project_list_frm')[0]);
196 jQuery(document).trigger('wppm_apply_project_filter_dataform', [dataform]);
197 dataform.append("action", 'wppm_get_project_list');
198 dataform.append("wppm_project_filter", wppm_project_filter);
199 dataform.append("is_frontend", '1');
200 dataform.append("page", wppm_admin.page);
201 dataform.append("is_archieved",is_archieved);
202 jQuery.ajax( {
203 url: wppm_admin.ajax_url,
204 type: 'POST',
205 data: dataform,
206 processData: false,
207 contentType: false
208 })
209 .done(function( response ) {
210 jQuery('#wppm_project_container').html(response);
211 });
212 }
213
214 function wppm_project_search_filter(is_archieved){
215 var project_search = jQuery("#wppm_project_search_filter").val() || '';
216 jQuery('#wppm_project_container').show();
217 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
218 var dataform=new FormData(jQuery('#wppm_project_list_frm')[0]);
219 jQuery(document).trigger('wppm_project_search_filter_dataform', [dataform]);
220 dataform.append("action", 'wppm_get_project_list');
221 dataform.append("project_search", project_search);
222 dataform.append("is_frontend", '1');
223 dataform.append("page", wppm_admin.page);
224 dataform.append("is_archieved",is_archieved);
225 jQuery.ajax( {
226 url: wppm_admin.ajax_url,
227 type: 'POST',
228 data: dataform,
229 processData: false,
230 contentType: false
231 })
232 .done(function( response ) {
233 jQuery('#wppm_project_container').html(response);
234 });
235 }
236
237 function wppm_sort_up_project_list(sort_by,order){
238 jQuery('#wppm_project_container').show();
239 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
240 var dataform=new FormData(jQuery('#wppm_project_list_frm')[0]);
241 jQuery(document).trigger('wppm_sort_up_project_list_dataform', [dataform]);
242 dataform.append("action", 'wppm_get_project_list');
243 dataform.append("sort_by", sort_by);
244 dataform.append("order", order);
245 dataform.append("is_frontend", '1');
246 dataform.append("page", wppm_admin.page);
247 jQuery.ajax( {
248 url: wppm_admin.ajax_url,
249 type: 'POST',
250 data: dataform,
251 processData: false,
252 contentType: false
253 })
254 .done(function( response ) {
255 jQuery('#wppm_project_container').html(response);
256 });
257 }
258
259 function wppm_get_project_tasks(id){
260 wppm_modal_open('Tasks');
261 var dataform=new FormData(jQuery('#wppm_get_project_tasks_frm')[0]);
262 jQuery(document).trigger('wppm_get_project_tasks_dataform', [dataform]);
263 dataform.append("action", 'wppm_get_project_tasks');
264 dataform.append("id",id);
265 dataform.append("is_frontend", '1');
266 dataform.append("_ajax_nonce", wppm_admin.nonce);
267 jQuery.ajax( {
268 url: wppm_admin.ajax_url,
269 type: 'POST',
270 data: dataform,
271 processData: false,
272 contentType: false
273 })
274 .done(function( response_str ) {
275 var response = JSON.parse(response_str);
276 jQuery('#wppm_popup_body').html(response.body);
277 jQuery('#wppm_popup_footer').html(response.footer);
278 });
279 }
280 </script>
281 <?php }
282 }
283 ?>